Move spelltype names, spell subtypes, category names and setting names to maps.

This commit is contained in:
nytmyr
2024-12-30 22:58:37 -06:00
parent 61a3987d25
commit e994d14418
4 changed files with 228 additions and 557 deletions
+150
View File
@@ -742,6 +742,156 @@ namespace BotSpellTypes
constexpr uint16 DISCIPLINE_END = BotSpellTypes::DiscUtility; // Do not remove this, increment as needed
}
static std::map<uint16, std::string> spellType_names = {
{ BotSpellTypes::Nuke, "Nuke" },
{ BotSpellTypes::RegularHeal, "Regular Heal" },
{ BotSpellTypes::Root, "Root" },
{ BotSpellTypes::Buff, "Buff" },
{ BotSpellTypes::Escape, "Escape" },
{ BotSpellTypes::Pet, "Pet" },
{ BotSpellTypes::Lifetap, "Lifetap" },
{ BotSpellTypes::Snare, "Snare" },
{ BotSpellTypes::DOT, "DoT" },
{ BotSpellTypes::Dispel, "Dispel" },
{ BotSpellTypes::InCombatBuff, "In-Combat Buff" },
{ BotSpellTypes::Mez, "Mez" },
{ BotSpellTypes::Charm, "Charm" },
{ BotSpellTypes::Slow, "Slow" },
{ BotSpellTypes::Debuff, "Debuff" },
{ BotSpellTypes::Cure, "Cure" },
{ BotSpellTypes::GroupCures, "Group Cure" },
{ BotSpellTypes::PetCures, "Pet Cure" },
{ BotSpellTypes::Resurrect, "Resurrect" },
{ BotSpellTypes::HateRedux, "Hate Reduction" },
{ BotSpellTypes::InCombatBuffSong, "In-Combat Buff Song" },
{ BotSpellTypes::OutOfCombatBuffSong, "Out-of-Combat Buff Song" },
{ BotSpellTypes::PreCombatBuff, "Pre-Combat Buff" },
{ BotSpellTypes::PreCombatBuffSong, "Pre-Combat Buff Song" },
{ BotSpellTypes::Fear, "Fear" },
{ BotSpellTypes::Stun, "Stun" },
{ BotSpellTypes::CompleteHeal, "Complete Heal" },
{ BotSpellTypes::FastHeals, "Fast Heal" },
{ BotSpellTypes::VeryFastHeals, "Very Fast Heal" },
{ BotSpellTypes::GroupHeals, "Group Heal" },
{ BotSpellTypes::GroupCompleteHeals, "Group Complete Heal" },
{ BotSpellTypes::GroupHoTHeals, "Group HoT Heal" },
{ BotSpellTypes::HoTHeals, "HoT Heal" },
{ BotSpellTypes::AENukes, "AE Nuke" },
{ BotSpellTypes::AERains, "AE Rain" },
{ BotSpellTypes::AEMez, "AE Mez" },
{ BotSpellTypes::AEStun, "AE Stun" },
{ BotSpellTypes::AEDebuff, "AE Debuff" },
{ BotSpellTypes::AESlow, "AE Slow" },
{ BotSpellTypes::AESnare, "AE Snare" },
{ BotSpellTypes::AEFear, "AE Fear" },
{ BotSpellTypes::AEDispel, "AE Dispel" },
{ BotSpellTypes::AERoot, "AE Root" },
{ BotSpellTypes::AEDoT, "AE DoT" },
{ BotSpellTypes::AELifetap, "AE Lifetap" },
{ BotSpellTypes::PBAENuke, "PBAE Nuke" },
{ BotSpellTypes::PetBuffs, "Pet Buff" },
{ BotSpellTypes::PetRegularHeals, "Pet Regular Heal" },
{ BotSpellTypes::PetCompleteHeals, "Pet Complete Heal" },
{ BotSpellTypes::PetFastHeals, "Pet Fast Heal" },
{ BotSpellTypes::PetVeryFastHeals, "Pet Very Fast Heal" },
{ BotSpellTypes::PetHoTHeals, "Pet HoT Heal" },
{ BotSpellTypes::DamageShields, "Damage Shield" },
{ BotSpellTypes::ResistBuffs, "Resist Buff" },
{ BotSpellTypes::PetDamageShields, "Pet Damage Shield" },
{ BotSpellTypes::PetResistBuffs, "Pet Resist Buff" },
{ BotSpellTypes::HateLine, "Hate Line" },
{ BotSpellTypes::AEHateLine, "AE Hate Line" },
{ BotSpellTypes::Lull, "Lull" },
{ BotSpellTypes::Teleport, "Teleport" },
{ BotSpellTypes::Succor, "Succor" },
{ BotSpellTypes::BindAffinity, "Bind Affinity" },
{ BotSpellTypes::Identify, "Identify" },
{ BotSpellTypes::Levitate, "Levitate" },
{ BotSpellTypes::Rune, "Rune" },
{ BotSpellTypes::WaterBreathing, "Water Breathing" },
{ BotSpellTypes::Size, "Size" },
{ BotSpellTypes::Invisibility, "Invisibility" },
{ BotSpellTypes::MovementSpeed, "Movement Speed" },
{ BotSpellTypes::SendHome, "Send Home" },
{ BotSpellTypes::SummonCorpse, "Summon Corpse" },
{ BotSpellTypes::AELull, "AE Lull" }
};
static std::map<uint16, std::string> spellType_shortNames = {
{ BotSpellTypes::Nuke, "nukes" },
{ BotSpellTypes::RegularHeal, "regularheals" },
{ BotSpellTypes::Root, "roots" },
{ BotSpellTypes::Buff, "buffs" },
{ BotSpellTypes::Escape, "escapes" },
{ BotSpellTypes::Pet, "pets" },
{ BotSpellTypes::Lifetap, "lifetaps" },
{ BotSpellTypes::Snare, "snares" },
{ BotSpellTypes::DOT, "dots" },
{ BotSpellTypes::Dispel, "dispels" },
{ BotSpellTypes::InCombatBuff, "incombatbuffs" },
{ BotSpellTypes::Mez, "mez" },
{ BotSpellTypes::Charm, "charms" },
{ BotSpellTypes::Slow, "slows" },
{ BotSpellTypes::Debuff, "debuffs" },
{ BotSpellTypes::Cure, "cures" },
{ BotSpellTypes::GroupCures, "groupcures" },
{ BotSpellTypes::PetCures, "petcure" },
{ BotSpellTypes::Resurrect, "resurrect" },
{ BotSpellTypes::HateRedux, "hateredux" },
{ BotSpellTypes::InCombatBuffSong, "incombatbuffsongs" },
{ BotSpellTypes::OutOfCombatBuffSong, "outofcombatbuffsongs" },
{ BotSpellTypes::PreCombatBuff, "precombatbuffs" },
{ BotSpellTypes::PreCombatBuffSong, "precombatbuffsongs" },
{ BotSpellTypes::Fear, "fears" },
{ BotSpellTypes::Stun, "stuns" },
{ BotSpellTypes::CompleteHeal, "completeheals" },
{ BotSpellTypes::FastHeals, "fastheals" },
{ BotSpellTypes::VeryFastHeals, "veryfastheals" },
{ BotSpellTypes::GroupHeals, "groupheals" },
{ BotSpellTypes::GroupCompleteHeals, "groupcompleteheals" },
{ BotSpellTypes::GroupHoTHeals, "grouphotheals" },
{ BotSpellTypes::HoTHeals, "hotheals" },
{ BotSpellTypes::AENukes, "aenukes" },
{ BotSpellTypes::AERains, "aerains" },
{ BotSpellTypes::AEMez, "aemez" },
{ BotSpellTypes::AEStun, "aestuns" },
{ BotSpellTypes::AEDebuff, "aedebuffs" },
{ BotSpellTypes::AESlow, "aeslows" },
{ BotSpellTypes::AESnare, "aesnares" },
{ BotSpellTypes::AEFear, "aefears" },
{ BotSpellTypes::AEDispel, "aedispels" },
{ BotSpellTypes::AERoot, "aeroots" },
{ BotSpellTypes::AEDoT, "aedots" },
{ BotSpellTypes::AELifetap, "aelifetaps" },
{ BotSpellTypes::PBAENuke, "pbaenukes" },
{ BotSpellTypes::PetBuffs, "petbuffs" },
{ BotSpellTypes::PetRegularHeals, "petregularheals" },
{ BotSpellTypes::PetCompleteHeals, "petcompleteheals" },
{ BotSpellTypes::PetFastHeals, "petfastheals" },
{ BotSpellTypes::PetVeryFastHeals, "petveryfastheals" },
{ BotSpellTypes::PetHoTHeals, "pethotheals" },
{ BotSpellTypes::DamageShields, "damageshields" },
{ BotSpellTypes::ResistBuffs, "resistbuffs" },
{ BotSpellTypes::PetDamageShields, "petdamageshields" },
{ BotSpellTypes::PetResistBuffs, "petresistbuffs" },
{ BotSpellTypes::HateLine, "hateline" },
{ BotSpellTypes::AEHateLine, "aehateline" },
{ BotSpellTypes::Lull, "lull" },
{ BotSpellTypes::Teleport, "teleport" },
{ BotSpellTypes::Succor, "succor" },
{ BotSpellTypes::BindAffinity, "bindaffinity" },
{ BotSpellTypes::Identify, "identify" },
{ BotSpellTypes::Levitate, "levitate" },
{ BotSpellTypes::Rune, "rune" },
{ BotSpellTypes::WaterBreathing, "waterbreathing" },
{ BotSpellTypes::Size, "size" },
{ BotSpellTypes::Invisibility, "invisibility" },
{ BotSpellTypes::MovementSpeed, "movementspeed" },
{ BotSpellTypes::SendHome, "sendhome" },
{ BotSpellTypes::SummonCorpse, "summoncorpse" },
{ BotSpellTypes::AELull, "aelull" }
};
const uint32 SPELL_TYPES_DETRIMENTAL = (SpellType_Nuke | SpellType_Root | SpellType_Lifetap | SpellType_Snare | SpellType_DOT | SpellType_Dispel | SpellType_Mez | SpellType_Charm | SpellType_Debuff | SpellType_Slow);
const uint32 SPELL_TYPES_BENEFICIAL = (SpellType_Heal | SpellType_Buff | SpellType_Escape | SpellType_Pet | SpellType_InCombatBuff | SpellType_Cure | SpellType_HateRedux | SpellType_InCombatBuffSong | SpellType_OutOfCombatBuffSong | SpellType_PreCombatBuff | SpellType_PreCombatBuffSong);
const uint32 SPELL_TYPES_INNATE = (SpellType_Nuke | SpellType_Lifetap | SpellType_DOT | SpellType_Dispel | SpellType_Mez | SpellType_Slow | SpellType_Debuff | SpellType_Charm | SpellType_Root);
+53 -1
View File
@@ -114,7 +114,26 @@ namespace BotSettingCategories { // Update GetBotSpellCategoryName as needed
constexpr uint16 START_NO_BASE = BotSettingCategories::SpellHold;
constexpr uint16 START_CLIENT = BotSettingCategories::SpellHold;
constexpr uint16 END_CLIENT = BotSettingCategories::SpellMaxThreshold;
constexpr uint16 END = BotSettingCategories::SpellTypeAEOrGroupTargetCount; // Increment as needed
constexpr uint16 END = BotSettingCategories::SpellTypeAEOrGroupTargetCount;
constexpr uint16 END_FULL = BotSettingCategories::SpellTypeRecastDelay;
};
static std::map<uint8, std::string> botSpellCategory_names = {
{ BotSettingCategories::BaseSetting, "BaseSetting" },
{ BotSettingCategories::SpellHold, "SpellHolds" },
{ BotSettingCategories::SpellDelay, "SpellDelays" },
{ BotSettingCategories::SpellMinThreshold, "SpellMinThresholds" },
{ BotSettingCategories::SpellMaxThreshold, "SpellMaxThresholds" },
{ BotSettingCategories::SpellTypeAggroCheck, "SpellAggroChecks" },
{ BotSettingCategories::SpellTypeMinManaPct, "SpellMinManaPct" },
{ BotSettingCategories::SpellTypeMaxManaPct, "SpellMaxManaPct" },
{ BotSettingCategories::SpellTypeMinHPPct, "SpellMinHPPct" },
{ BotSettingCategories::SpellTypeMaxHPPct, "SpellMaxHPPct" },
{ BotSettingCategories::SpellTypeIdlePriority, "SpellIdlePriority" },
{ BotSettingCategories::SpellTypeEngagedPriority, "SpellEngagedPriority" },
{ BotSettingCategories::SpellTypePursuePriority, "SpellPursuePriority" },
{ BotSettingCategories::SpellTypeAEOrGroupTargetCount, "SpellTargetCounts" },
{ BotSettingCategories::SpellTypeRecastDelay, "SpellRecastDelay" }
};
namespace BotPriorityCategories { // Update GetBotSpellCategoryName as needed
@@ -147,6 +166,23 @@ namespace BotBaseSettings {
constexpr uint16 END = BotBaseSettings::SitManaPct; // Increment as needed
};
static std::map<uint16, std::string> botBaseSettings_names = {
{ BotBaseSettings::ExpansionBitmask, "ExpansionBitmask" },
{ BotBaseSettings::ShowHelm, "ShowHelm" },
{ BotBaseSettings::FollowDistance, "FollowDistance" },
{ BotBaseSettings::StopMeleeLevel, "StopMeleeLevel" },
{ BotBaseSettings::EnforceSpellSettings, "EnforceSpellSettings" },
{ BotBaseSettings::RangedSetting, "RangedSetting" },
{ BotBaseSettings::PetSetTypeSetting, "PetSetTypeSetting" },
{ BotBaseSettings::BehindMob, "BehindMob" },
{ BotBaseSettings::DistanceRanged, "DistanceRanged" },
{ BotBaseSettings::IllusionBlock, "IllusionBlock" },
{ BotBaseSettings::MaxMeleeRange, "MaxMeleeRange" },
{ BotBaseSettings::MedInCombat, "MedInCombat" },
{ BotBaseSettings::SitHPPct, "SitHPPct" },
{ BotBaseSettings::SitManaPct, "SitManaPct" }
};
namespace CommandedSubTypes {
constexpr uint16 SingleTarget = 1;
constexpr uint16 GroupTarget = 2;
@@ -158,8 +194,24 @@ namespace CommandedSubTypes {
constexpr uint16 Shrink = 8;
constexpr uint16 Grow = 9;
constexpr uint16 Selo = 10;
constexpr uint16 START = CommandedSubTypes::SingleTarget;
constexpr uint16 END = CommandedSubTypes::Selo;
};
static std::map<uint16, std::string> botSubType_names = {
{ CommandedSubTypes::SingleTarget, "SingleTarget" },
{ CommandedSubTypes::GroupTarget, "GroupTarget" },
{ CommandedSubTypes::AETarget, "AETarget" },
{ CommandedSubTypes::SeeInvis, "SeeInvis" },
{ CommandedSubTypes::Invis, "Invis" },
{ CommandedSubTypes::InvisUndead, "InvisUndead" },
{ CommandedSubTypes::InvisAnimals, "InvisAnimals" },
{ CommandedSubTypes::Shrink, "Shrink" },
{ CommandedSubTypes::Grow, "Grow" },
{ CommandedSubTypes::Selo, "Selo" }
};
class Bot : public NPC {
friend class Mob;
public:
+20 -555
View File
@@ -8764,43 +8764,12 @@ uint16 Mob::GetSpellTypeIDByShortName(std::string spellTypeString) {
return UINT16_MAX;
}
std::string Mob::GetBotSpellCategoryName(uint8 setting_type) {
switch (setting_type) {
case BotSettingCategories::BaseSetting:
return "BaseSetting";
case BotSettingCategories::SpellHold:
return "SpellHolds";
case BotSettingCategories::SpellDelay:
return "SpellDelays";
case BotSettingCategories::SpellMinThreshold:
return "SpellMinThresholds";
case BotSettingCategories::SpellMaxThreshold:
return "SpellMaxThresholds";
case BotSettingCategories::SpellTypeAggroCheck:
return "SpellAggroChecks";
case BotSettingCategories::SpellTypeMinManaPct:
return "SpellMinManaPct";
case BotSettingCategories::SpellTypeMaxManaPct:
return "SpellMaxManaPct";
case BotSettingCategories::SpellTypeMinHPPct:
return "SpellMinHPPct";
case BotSettingCategories::SpellTypeMaxHPPct:
return "SpellMaxHPPct";
case BotSettingCategories::SpellTypeIdlePriority:
return "SpellIdlePriority";
case BotSettingCategories::SpellTypeEngagedPriority:
return "SpellEngagedPriority";
case BotSettingCategories::SpellTypePursuePriority:
return "SpellPursuePriority";
case BotSettingCategories::SpellTypeAEOrGroupTargetCount:
return "SpellTargetCounts";
case BotSettingCategories::SpellTypeRecastDelay:
return "SpellRecastDelay";
default:
return "Null";
}
bool Mob::IsValidBotSpellCategory(uint8 setting_type) {
return (setting_type >= BotSettingCategories::START && setting_type <= BotSettingCategories::END_FULL);
}
return "Null";
std::string Mob::GetBotSpellCategoryName(uint8 setting_type) {
return IsValidBotBaseSetting(setting_type) ? botSpellCategory_names[setting_type] : "UNKNOWN CATEGORY";
}
uint16 Mob::GetBotSpellCategoryIDByShortName(std::string settingString) {
@@ -8813,41 +8782,12 @@ uint16 Mob::GetBotSpellCategoryIDByShortName(std::string settingString) {
return UINT16_MAX;
}
std::string Mob::GetBotSettingCategoryName(uint8 setting_type) {
switch (setting_type) {
case BotBaseSettings::ExpansionBitmask:
return "ExpansionBitmask";
case BotBaseSettings::ShowHelm:
return "ShowHelm";
case BotBaseSettings::FollowDistance:
return "FollowDistance";
case BotBaseSettings::StopMeleeLevel:
return "StopMeleeLevel";
case BotBaseSettings::EnforceSpellSettings:
return "EnforceSpellSettings";
case BotBaseSettings::RangedSetting:
return "RangedSetting";
case BotBaseSettings::PetSetTypeSetting:
return "PetSetTypeSetting";
case BotBaseSettings::BehindMob:
return "BehindMob";
case BotBaseSettings::DistanceRanged:
return "DistanceRanged";
case BotBaseSettings::IllusionBlock:
return "IllusionBlock";
case BotBaseSettings::MaxMeleeRange:
return "MaxMeleeRange";
case BotBaseSettings::MedInCombat:
return "MedInCombat";
case BotBaseSettings::SitHPPct:
return "SitHPPct";
case BotBaseSettings::SitManaPct:
return "SitManaPct";
default:
return "Null";
}
bool Mob::IsValidBotBaseSetting(uint16 setting_type) {
return (setting_type >= BotBaseSettings::START_ALL && setting_type <= BotBaseSettings::END);
}
return "Null";
std::string Mob::GetBotSettingCategoryName(uint16 setting_type) {
return IsValidBotBaseSetting(setting_type) ? botBaseSettings_names[setting_type] : "UNKNOWN SETTING";
}
uint16 Mob::GetBaseSettingIDByShortName(std::string settingString) {
@@ -8860,499 +8800,24 @@ uint16 Mob::GetBaseSettingIDByShortName(std::string settingString) {
return UINT16_MAX;
}
std::string Mob::GetSpellTypeNameByID(uint16 spellType) {
std::string spellTypeName = "null";
switch (spellType) {
case BotSpellTypes::Nuke:
spellTypeName = "Nuke";
break;
case BotSpellTypes::RegularHeal:
spellTypeName = "Regular Heal";
break;
case BotSpellTypes::Root:
spellTypeName = "Root";
break;
case BotSpellTypes::Buff:
spellTypeName = "Buff";
break;
case BotSpellTypes::Escape:
spellTypeName = "Escape";
break;
case BotSpellTypes::Pet:
spellTypeName = "Pet";
break;
case BotSpellTypes::Lifetap:
spellTypeName = "Lifetap";
break;
case BotSpellTypes::Snare:
spellTypeName = "Snare";
break;
case BotSpellTypes::DOT:
spellTypeName = "DoT";
break;
case BotSpellTypes::Dispel:
spellTypeName = "Dispel";
break;
case BotSpellTypes::InCombatBuff:
spellTypeName = "In-Combat Buff";
break;
case BotSpellTypes::Mez:
spellTypeName = "Mez";
break;
case BotSpellTypes::Charm:
spellTypeName = "Charm";
break;
case BotSpellTypes::Slow:
spellTypeName = "Slow";
break;
case BotSpellTypes::Debuff:
spellTypeName = "Debuff";
break;
case BotSpellTypes::Cure:
spellTypeName = "Cure";
break;
case BotSpellTypes::GroupCures:
spellTypeName = "Group Cure";
break;
case BotSpellTypes::PetCures:
spellTypeName = "Pet Cure";
break;
case BotSpellTypes::Resurrect:
spellTypeName = "Resurrect";
break;
case BotSpellTypes::HateRedux:
spellTypeName = "Hate Reduction";
break;
case BotSpellTypes::InCombatBuffSong:
spellTypeName = "In-Combat Buff Song";
break;
case BotSpellTypes::OutOfCombatBuffSong:
spellTypeName = "Out-of-Combat Buff Song";
break;
case BotSpellTypes::PreCombatBuff:
spellTypeName = "Pre-Combat Buff";
break;
case BotSpellTypes::PreCombatBuffSong:
spellTypeName = "Pre-Combat Buff Song";
break;
case BotSpellTypes::Fear:
spellTypeName = "Fear";
break;
case BotSpellTypes::Stun:
spellTypeName = "Stun";
break;
case BotSpellTypes::CompleteHeal:
spellTypeName = "Complete Heal";
break;
case BotSpellTypes::FastHeals:
spellTypeName = "Fast Heal";
break;
case BotSpellTypes::VeryFastHeals:
spellTypeName = "Very Fast Heal";
break;
case BotSpellTypes::GroupHeals:
spellTypeName = "Group Heal";
break;
case BotSpellTypes::GroupCompleteHeals:
spellTypeName = "Group Complete Heal";
break;
case BotSpellTypes::GroupHoTHeals:
spellTypeName = "Group HoT Heal";
break;
case BotSpellTypes::HoTHeals:
spellTypeName = "HoT Heal";
break;
case BotSpellTypes::AENukes:
spellTypeName = "AE Nuke";
break;
case BotSpellTypes::AERains:
spellTypeName = "AE Rain";
break;
case BotSpellTypes::AEMez:
spellTypeName = "AE Mez";
break;
case BotSpellTypes::AEStun:
spellTypeName = "AE Stun";
break;
case BotSpellTypes::AEDebuff:
spellTypeName = "AE Debuff";
break;
case BotSpellTypes::AESlow:
spellTypeName = "AE Slow";
break;
case BotSpellTypes::AESnare:
spellTypeName = "AE Snare";
break;
case BotSpellTypes::AEFear:
spellTypeName = "AE Fear";
break;
case BotSpellTypes::AEDispel:
spellTypeName = "AE Dispel";
break;
case BotSpellTypes::AERoot:
spellTypeName = "AE Root";
break;
case BotSpellTypes::AEDoT:
spellTypeName = "AE DoT";
break;
case BotSpellTypes::AELifetap:
spellTypeName = "AE Lifetap";
break;
case BotSpellTypes::PBAENuke:
spellTypeName = "PBAE Nuke";
break;
case BotSpellTypes::PetBuffs:
spellTypeName = "Pet Buff";
break;
case BotSpellTypes::PetRegularHeals:
spellTypeName = "Pet Regular Heal";
break;
case BotSpellTypes::PetCompleteHeals:
spellTypeName = "Pet Complete Heal";
break;
case BotSpellTypes::PetFastHeals:
spellTypeName = "Pet Fast Heal";
break;
case BotSpellTypes::PetVeryFastHeals:
spellTypeName = "Pet Very Fast Heal";
break;
case BotSpellTypes::PetHoTHeals:
spellTypeName = "Pet HoT Heal";
break;
case BotSpellTypes::DamageShields:
spellTypeName = "Damage Shield";
break;
case BotSpellTypes::ResistBuffs:
spellTypeName = "Resist Buff";
break;
case BotSpellTypes::PetDamageShields:
spellTypeName = "Pet Damage Shield";
break;
case BotSpellTypes::PetResistBuffs:
spellTypeName = "Pet Resist Buff";
break;
case BotSpellTypes::HateLine:
spellTypeName = "Hate Line";
break;
case BotSpellTypes::AEHateLine:
spellTypeName = "AE Hate Line";
break;
case BotSpellTypes::Lull:
spellTypeName = "Lull";
break;
case BotSpellTypes::Teleport:
spellTypeName = "Teleport";
break;
case BotSpellTypes::Succor:
spellTypeName = "Succor";
break;
case BotSpellTypes::BindAffinity:
spellTypeName = "Bind Affinity";
break;
case BotSpellTypes::Identify:
spellTypeName = "Identify";
break;
case BotSpellTypes::Levitate:
spellTypeName = "Levitate";
break;
case BotSpellTypes::Rune:
spellTypeName = "Rune";
break;
case BotSpellTypes::WaterBreathing:
spellTypeName = "Water Breathing";
break;
case BotSpellTypes::Size:
spellTypeName = "Size";
break;
case BotSpellTypes::Invisibility:
spellTypeName = "Invisibility";
break;
case BotSpellTypes::MovementSpeed:
spellTypeName = "Movement Speed";
break;
case BotSpellTypes::SendHome:
spellTypeName = "Send Home";
break;
case BotSpellTypes::SummonCorpse:
spellTypeName = "Summon Corpse";
break;
case BotSpellTypes::AELull:
spellTypeName = "AE Lull";
break;
default:
break;
}
return spellTypeName;
bool Mob::IsValidSpellType(uint16 spellType) {
return (spellType >= BotSpellTypes::START && spellType <= BotSpellTypes::END) || (spellType >= BotSpellTypes::COMMANDED_START && spellType <= BotSpellTypes::COMMANDED_END);
}
std::string Mob::GetSpellTypeShortNameByID(uint16 spellType) {
std::string spellTypeName = "null";
return IsValidSpellType(spellType) ? spellType_shortNames[spellType] : "UNKNOWN SPELLTYPE";
}
switch (spellType) {
case BotSpellTypes::Nuke:
spellTypeName = "nukes";
break;
case BotSpellTypes::RegularHeal:
spellTypeName = "regularheals";
break;
case BotSpellTypes::Root:
spellTypeName = "roots";
break;
case BotSpellTypes::Buff:
spellTypeName = "buffs";
break;
case BotSpellTypes::Escape:
spellTypeName = "escapes";
break;
case BotSpellTypes::Pet:
spellTypeName = "pets";
break;
case BotSpellTypes::Lifetap:
spellTypeName = "lifetaps";
break;
case BotSpellTypes::Snare:
spellTypeName = "snares";
break;
case BotSpellTypes::DOT:
spellTypeName = "dots";
break;
case BotSpellTypes::Dispel:
spellTypeName = "dispels";
break;
case BotSpellTypes::InCombatBuff:
spellTypeName = "incombatbuffs";
break;
case BotSpellTypes::Mez:
spellTypeName = "mez";
break;
case BotSpellTypes::Charm:
spellTypeName = "charms";
break;
case BotSpellTypes::Slow:
spellTypeName = "slows";
break;
case BotSpellTypes::Debuff:
spellTypeName = "debuffs";
break;
case BotSpellTypes::Cure:
spellTypeName = "cures";
break;
case BotSpellTypes::GroupCures:
spellTypeName = "groupcures";
break;
case BotSpellTypes::PetCures:
spellTypeName = "petcure";
break;
case BotSpellTypes::Resurrect:
spellTypeName = "resurrect";
break;
case BotSpellTypes::HateRedux:
spellTypeName = "hateredux";
break;
case BotSpellTypes::InCombatBuffSong:
spellTypeName = "incombatbuffsongs";
break;
case BotSpellTypes::OutOfCombatBuffSong:
spellTypeName = "outofcombatbuffsongs";
break;
case BotSpellTypes::PreCombatBuff:
spellTypeName = "precombatbuffs";
break;
case BotSpellTypes::PreCombatBuffSong:
spellTypeName = "precombatbuffsongs";
break;
case BotSpellTypes::Fear:
spellTypeName = "fears";
break;
case BotSpellTypes::Stun:
spellTypeName = "stuns";
break;
case BotSpellTypes::CompleteHeal:
spellTypeName = "completeheals";
break;
case BotSpellTypes::FastHeals:
spellTypeName = "fastheals";
break;
case BotSpellTypes::VeryFastHeals:
spellTypeName = "veryfastheals";
break;
case BotSpellTypes::GroupHeals:
spellTypeName = "groupheals";
break;
case BotSpellTypes::GroupCompleteHeals:
spellTypeName = "groupcompleteheals";
break;
case BotSpellTypes::GroupHoTHeals:
spellTypeName = "grouphotheals";
break;
case BotSpellTypes::HoTHeals:
spellTypeName = "hotheals";
break;
case BotSpellTypes::AENukes:
spellTypeName = "aenukes";
break;
case BotSpellTypes::AERains:
spellTypeName = "aerains";
break;
case BotSpellTypes::AEMez:
spellTypeName = "aemez";
break;
case BotSpellTypes::AEStun:
spellTypeName = "aestuns";
break;
case BotSpellTypes::AEDebuff:
spellTypeName = "aedebuffs";
break;
case BotSpellTypes::AESlow:
spellTypeName = "aeslows";
break;
case BotSpellTypes::AESnare:
spellTypeName = "aesnares";
break;
case BotSpellTypes::AEFear:
spellTypeName = "aefears";
break;
case BotSpellTypes::AEDispel:
spellTypeName = "aedispels";
break;
case BotSpellTypes::AERoot:
spellTypeName = "aeroots";
break;
case BotSpellTypes::AEDoT:
spellTypeName = "aedots";
break;
case BotSpellTypes::AELifetap:
spellTypeName = "aelifetaps";
break;
case BotSpellTypes::PBAENuke:
spellTypeName = "pbaenukes";
break;
case BotSpellTypes::PetBuffs:
spellTypeName = "petbuffs";
break;
case BotSpellTypes::PetRegularHeals:
spellTypeName = "petregularheals";
break;
case BotSpellTypes::PetCompleteHeals:
spellTypeName = "petcompleteheals";
break;
case BotSpellTypes::PetFastHeals:
spellTypeName = "petfastheals";
break;
case BotSpellTypes::PetVeryFastHeals:
spellTypeName = "petveryfastheals";
break;
case BotSpellTypes::PetHoTHeals:
spellTypeName = "pethotheals";
break;
case BotSpellTypes::DamageShields:
spellTypeName = "damageshields";
break;
case BotSpellTypes::ResistBuffs:
spellTypeName = "resistbuffs";
break;
case BotSpellTypes::PetDamageShields:
spellTypeName = "petdamageshields";
break;
case BotSpellTypes::PetResistBuffs:
spellTypeName = "petresistbuffs";
break;
case BotSpellTypes::HateLine:
spellTypeName = "hateline";
break;
case BotSpellTypes::AEHateLine:
spellTypeName = "aehateline";
break;
case BotSpellTypes::Lull:
spellTypeName = "lull";
break;
case BotSpellTypes::Teleport:
spellTypeName = "teleport";
break;
case BotSpellTypes::Succor:
spellTypeName = "succor";
break;
case BotSpellTypes::BindAffinity:
spellTypeName = "bindaffinity";
break;
case BotSpellTypes::Identify:
spellTypeName = "identify";
break;
case BotSpellTypes::Levitate:
spellTypeName = "levitate";
break;
case BotSpellTypes::Rune:
spellTypeName = "rune";
break;
case BotSpellTypes::WaterBreathing:
spellTypeName = "waterbreathing";
break;
case BotSpellTypes::Size:
spellTypeName = "size";
break;
case BotSpellTypes::Invisibility:
spellTypeName = "invisibility";
break;
case BotSpellTypes::MovementSpeed:
spellTypeName = "movementspeed";
break;
case BotSpellTypes::SendHome:
spellTypeName = "sendhome";
break;
case BotSpellTypes::SummonCorpse:
spellTypeName = "summoncorpse";
break;
case BotSpellTypes::AELull:
spellTypeName = "aelull";
break;
default:
break;
}
std::string Mob::GetSpellTypeNameByID(uint16 spellType) {
return IsValidSpellType(spellType) ? spellType_names[spellType] : "UNKNOWN SPELLTYPE";
}
return spellTypeName;
bool Mob::IsValidSubType(uint16 subType) {
return (subType >= CommandedSubTypes::START && subType <= CommandedSubTypes::END);
}
std::string Mob::GetSubTypeNameByID(uint16 subType) {
std::string subTypeName = "null";
switch (subType) {
case CommandedSubTypes::SingleTarget:
subTypeName = "SingleTarget";
break;
case CommandedSubTypes::GroupTarget:
subTypeName = "GroupTarget";
break;
case CommandedSubTypes::AETarget:
subTypeName = "AETarget";
break;
case CommandedSubTypes::SeeInvis:
subTypeName = "SeeInvis";
break;
case CommandedSubTypes::Invis:
subTypeName = "Invis";
break;
case CommandedSubTypes::InvisUndead:
subTypeName = "InvisUndead";
break;
case CommandedSubTypes::InvisAnimals:
subTypeName = "InvisAnimals";
break;
case CommandedSubTypes::Shrink:
subTypeName = "Shrink";
break;
case CommandedSubTypes::Grow:
subTypeName = "Grow";
break;
case CommandedSubTypes::Selo:
subTypeName = "Selo";
break;
default:
break;
}
return subTypeName;
return IsValidSpellType(subType) ? botSubType_names[subType] : "UNKNOWN SUBTYPE";
}
bool Mob::GetDefaultSpellHold(uint16 spellType, uint8 stance) {
+5 -1
View File
@@ -436,12 +436,16 @@ public:
uint16 GetSpellTypeIDByShortName(std::string spellTypeString);
bool IsValidBotSpellCategory(uint8 setting_type);
std::string GetBotSpellCategoryName(uint8 setting_type);
uint16 GetBotSpellCategoryIDByShortName(std::string settingString);
std::string GetBotSettingCategoryName(uint8 setting_type);
bool IsValidBotBaseSetting(uint16 setting_type);
std::string GetBotSettingCategoryName(uint16 setting_type);
uint16 GetBaseSettingIDByShortName(std::string settingString);
bool IsValidSpellType(uint16 spellType);
std::string GetSpellTypeNameByID(uint16 spellType);
std::string GetSpellTypeShortNameByID(uint16 spellType);
bool IsValidSubType(uint16 subType);
std::string GetSubTypeNameByID(uint16 subType);
bool GetDefaultSpellHold(uint16 spellType, uint8 stance = Stance::Balanced);