mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-17 07:18:37 +00:00
Move spelltype names, spell subtypes, category names and setting names to maps.
This commit is contained in:
+150
@@ -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
@@ -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
@@ -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
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user