Fix alignment issues

This commit is contained in:
nytmyr
2025-01-23 12:21:45 -06:00
parent 400bf12795
commit fa69e4ac1a
3 changed files with 348 additions and 349 deletions
+249 -249
View File
@@ -627,269 +627,269 @@ enum ProcType
enum SpellTypes : uint32 enum SpellTypes : uint32
{ {
SpellType_Nuke = (1 << 0), SpellType_Nuke = (1 << 0),
SpellType_Heal = (1 << 1), SpellType_Heal = (1 << 1),
SpellType_Root = (1 << 2), SpellType_Root = (1 << 2),
SpellType_Buff = (1 << 3), SpellType_Buff = (1 << 3),
SpellType_Escape = (1 << 4), SpellType_Escape = (1 << 4),
SpellType_Pet = (1 << 5), SpellType_Pet = (1 << 5),
SpellType_Lifetap = (1 << 6), SpellType_Lifetap = (1 << 6),
SpellType_Snare = (1 << 7), SpellType_Snare = (1 << 7),
SpellType_DOT = (1 << 8), SpellType_DOT = (1 << 8),
SpellType_Dispel = (1 << 9), SpellType_Dispel = (1 << 9),
SpellType_InCombatBuff = (1 << 10), SpellType_InCombatBuff = (1 << 10),
SpellType_Mez = (1 << 11), SpellType_Mez = (1 << 11),
SpellType_Charm = (1 << 12), SpellType_Charm = (1 << 12),
SpellType_Slow = (1 << 13), SpellType_Slow = (1 << 13),
SpellType_Debuff = (1 << 14), SpellType_Debuff = (1 << 14),
SpellType_Cure = (1 << 15), SpellType_Cure = (1 << 15),
SpellType_Resurrect = (1 << 16), SpellType_Resurrect = (1 << 16),
SpellType_HateRedux = (1 << 17), SpellType_HateRedux = (1 << 17),
SpellType_InCombatBuffSong = (1 << 18), // bard in-combat group/ae buffs SpellType_InCombatBuffSong = (1 << 18), // bard in-combat group/ae buffs
SpellType_OutOfCombatBuffSong = (1 << 19), // bard out-of-combat group/ae buffs SpellType_OutOfCombatBuffSong = (1 << 19), // bard out-of-combat group/ae buffs
SpellType_PreCombatBuff = (1 << 20), SpellType_PreCombatBuff = (1 << 20),
SpellType_PreCombatBuffSong = (1 << 21) SpellType_PreCombatBuffSong = (1 << 21)
}; };
namespace BotSpellTypes namespace BotSpellTypes
{ {
constexpr uint16 Nuke = 0; constexpr uint16 Nuke = 0;
constexpr uint16 RegularHeal = 1; constexpr uint16 RegularHeal = 1;
constexpr uint16 Root = 2; constexpr uint16 Root = 2;
constexpr uint16 Buff = 3; constexpr uint16 Buff = 3;
constexpr uint16 Escape = 4; constexpr uint16 Escape = 4;
constexpr uint16 Pet = 5; constexpr uint16 Pet = 5;
constexpr uint16 Lifetap = 6; constexpr uint16 Lifetap = 6;
constexpr uint16 Snare = 7; constexpr uint16 Snare = 7;
constexpr uint16 DOT = 8; constexpr uint16 DOT = 8;
constexpr uint16 Dispel = 9; constexpr uint16 Dispel = 9;
constexpr uint16 InCombatBuff = 10; constexpr uint16 InCombatBuff = 10;
constexpr uint16 Mez = 11; constexpr uint16 Mez = 11;
constexpr uint16 Charm = 12; constexpr uint16 Charm = 12;
constexpr uint16 Slow = 13; constexpr uint16 Slow = 13;
constexpr uint16 Debuff = 14; constexpr uint16 Debuff = 14;
constexpr uint16 Cure = 15; constexpr uint16 Cure = 15;
constexpr uint16 Resurrect = 16; constexpr uint16 Resurrect = 16;
constexpr uint16 HateRedux = 17; constexpr uint16 HateRedux = 17;
constexpr uint16 InCombatBuffSong = 18; constexpr uint16 InCombatBuffSong = 18;
constexpr uint16 OutOfCombatBuffSong = 19; constexpr uint16 OutOfCombatBuffSong = 19;
constexpr uint16 PreCombatBuff = 20; constexpr uint16 PreCombatBuff = 20;
constexpr uint16 PreCombatBuffSong = 21; constexpr uint16 PreCombatBuffSong = 21;
constexpr uint16 Fear = 22; constexpr uint16 Fear = 22;
constexpr uint16 Stun = 23; constexpr uint16 Stun = 23;
constexpr uint16 HateLine = 24; constexpr uint16 HateLine = 24;
constexpr uint16 GroupCures = 25; constexpr uint16 GroupCures = 25;
constexpr uint16 CompleteHeal = 26; constexpr uint16 CompleteHeal = 26;
constexpr uint16 FastHeals = 27; constexpr uint16 FastHeals = 27;
constexpr uint16 VeryFastHeals = 28; constexpr uint16 VeryFastHeals = 28;
constexpr uint16 GroupHeals = 29; constexpr uint16 GroupHeals = 29;
constexpr uint16 GroupCompleteHeals = 30; constexpr uint16 GroupCompleteHeals = 30;
constexpr uint16 GroupHoTHeals = 31; constexpr uint16 GroupHoTHeals = 31;
constexpr uint16 HoTHeals = 32; constexpr uint16 HoTHeals = 32;
constexpr uint16 AENukes = 33; constexpr uint16 AENukes = 33;
constexpr uint16 AERains = 34; constexpr uint16 AERains = 34;
constexpr uint16 AEMez = 35; constexpr uint16 AEMez = 35;
constexpr uint16 AEStun = 36; constexpr uint16 AEStun = 36;
constexpr uint16 AEDebuff = 37; constexpr uint16 AEDebuff = 37;
constexpr uint16 AESlow = 38; constexpr uint16 AESlow = 38;
constexpr uint16 AESnare = 39; constexpr uint16 AESnare = 39;
constexpr uint16 AEFear = 40; constexpr uint16 AEFear = 40;
constexpr uint16 AEDispel = 41; constexpr uint16 AEDispel = 41;
constexpr uint16 AERoot = 42; constexpr uint16 AERoot = 42;
constexpr uint16 AEDoT = 43; constexpr uint16 AEDoT = 43;
constexpr uint16 AELifetap = 44; constexpr uint16 AELifetap = 44;
constexpr uint16 AEHateLine = 45; constexpr uint16 AEHateLine = 45;
constexpr uint16 PBAENuke = 46; constexpr uint16 PBAENuke = 46;
constexpr uint16 PetBuffs = 47; constexpr uint16 PetBuffs = 47;
constexpr uint16 PetRegularHeals = 48; constexpr uint16 PetRegularHeals = 48;
constexpr uint16 PetCompleteHeals = 49; constexpr uint16 PetCompleteHeals = 49;
constexpr uint16 PetFastHeals = 50; constexpr uint16 PetFastHeals = 50;
constexpr uint16 PetVeryFastHeals = 51; constexpr uint16 PetVeryFastHeals = 51;
constexpr uint16 PetHoTHeals = 52; constexpr uint16 PetHoTHeals = 52;
constexpr uint16 PetCures = 53; constexpr uint16 PetCures = 53;
constexpr uint16 DamageShields = 54; constexpr uint16 DamageShields = 54;
constexpr uint16 ResistBuffs = 55; constexpr uint16 ResistBuffs = 55;
constexpr uint16 PetDamageShields = 56; constexpr uint16 PetDamageShields = 56;
constexpr uint16 PetResistBuffs = 57; constexpr uint16 PetResistBuffs = 57;
// Command Spell Types // Command Spell Types
constexpr uint16 Teleport = 100; // this is handled by ^depart so uses other logic constexpr uint16 Teleport = 100; // this is handled by ^depart so uses other logic
constexpr uint16 Lull = 101; constexpr uint16 Lull = 101;
constexpr uint16 Succor = 102; constexpr uint16 Succor = 102;
constexpr uint16 BindAffinity = 103; constexpr uint16 BindAffinity = 103;
constexpr uint16 Identify = 104; constexpr uint16 Identify = 104;
constexpr uint16 Levitate = 105; constexpr uint16 Levitate = 105;
constexpr uint16 Rune = 106; constexpr uint16 Rune = 106;
constexpr uint16 WaterBreathing = 107; constexpr uint16 WaterBreathing = 107;
constexpr uint16 Size = 108; constexpr uint16 Size = 108;
constexpr uint16 Invisibility = 109; constexpr uint16 Invisibility = 109;
constexpr uint16 MovementSpeed = 110; constexpr uint16 MovementSpeed = 110;
constexpr uint16 SendHome = 111; constexpr uint16 SendHome = 111;
constexpr uint16 SummonCorpse = 112; constexpr uint16 SummonCorpse = 112;
constexpr uint16 AELull = 113; constexpr uint16 AELull = 113;
// Discipline Types // Discipline Types
constexpr uint16 Discipline = 200; constexpr uint16 Discipline = 200;
constexpr uint16 DiscAggressive = 201; constexpr uint16 DiscAggressive = 201;
constexpr uint16 DiscDefensive = 202; constexpr uint16 DiscDefensive = 202;
constexpr uint16 DiscUtility = 203; constexpr uint16 DiscUtility = 203;
constexpr uint16 START = BotSpellTypes::Nuke; // Do not remove or change this constexpr uint16 START = BotSpellTypes::Nuke; // Do not remove or change this
constexpr uint16 END = BotSpellTypes::PetResistBuffs; // Do not remove this, increment as needed constexpr uint16 END = BotSpellTypes::PetResistBuffs; // Do not remove this, increment as needed
constexpr uint16 COMMANDED_START = BotSpellTypes::Lull; // Do not remove or change this constexpr uint16 COMMANDED_START = BotSpellTypes::Lull; // Do not remove or change this
constexpr uint16 COMMANDED_END = BotSpellTypes::AELull; // Do not remove this, increment as needed constexpr uint16 COMMANDED_END = BotSpellTypes::AELull; // Do not remove this, increment as needed
constexpr uint16 DISCIPLINE_START = BotSpellTypes::Discipline; // Do not remove or change this constexpr uint16 DISCIPLINE_START = BotSpellTypes::Discipline; // Do not remove or change this
constexpr uint16 DISCIPLINE_END = BotSpellTypes::DiscUtility; // Do not remove this, increment as needed constexpr uint16 DISCIPLINE_END = BotSpellTypes::DiscUtility; // Do not remove this, increment as needed
} }
static std::map<uint16, std::string> spellType_names = { static std::map<uint16, std::string> spellType_names = {
{ BotSpellTypes::Nuke, "Nuke" }, { BotSpellTypes::Nuke, "Nuke" },
{ BotSpellTypes::RegularHeal, "Regular Heal" }, { BotSpellTypes::RegularHeal, "Regular Heal" },
{ BotSpellTypes::Root, "Root" }, { BotSpellTypes::Root, "Root" },
{ BotSpellTypes::Buff, "Buff" }, { BotSpellTypes::Buff, "Buff" },
{ BotSpellTypes::Escape, "Escape" }, { BotSpellTypes::Escape, "Escape" },
{ BotSpellTypes::Pet, "Pet" }, { BotSpellTypes::Pet, "Pet" },
{ BotSpellTypes::Lifetap, "Lifetap" }, { BotSpellTypes::Lifetap, "Lifetap" },
{ BotSpellTypes::Snare, "Snare" }, { BotSpellTypes::Snare, "Snare" },
{ BotSpellTypes::DOT, "DoT" }, { BotSpellTypes::DOT, "DoT" },
{ BotSpellTypes::Dispel, "Dispel" }, { BotSpellTypes::Dispel, "Dispel" },
{ BotSpellTypes::InCombatBuff, "In-Combat Buff" }, { BotSpellTypes::InCombatBuff, "In-Combat Buff" },
{ BotSpellTypes::Mez, "Mez" }, { BotSpellTypes::Mez, "Mez" },
{ BotSpellTypes::Charm, "Charm" }, { BotSpellTypes::Charm, "Charm" },
{ BotSpellTypes::Slow, "Slow" }, { BotSpellTypes::Slow, "Slow" },
{ BotSpellTypes::Debuff, "Debuff" }, { BotSpellTypes::Debuff, "Debuff" },
{ BotSpellTypes::Cure, "Cure" }, { BotSpellTypes::Cure, "Cure" },
{ BotSpellTypes::GroupCures, "Group Cure" }, { BotSpellTypes::GroupCures, "Group Cure" },
{ BotSpellTypes::PetCures, "Pet Cure" }, { BotSpellTypes::PetCures, "Pet Cure" },
{ BotSpellTypes::Resurrect, "Resurrect" }, { BotSpellTypes::Resurrect, "Resurrect" },
{ BotSpellTypes::HateRedux, "Hate Reduction" }, { BotSpellTypes::HateRedux, "Hate Reduction" },
{ BotSpellTypes::InCombatBuffSong, "In-Combat Buff Song" }, { BotSpellTypes::InCombatBuffSong, "In-Combat Buff Song" },
{ BotSpellTypes::OutOfCombatBuffSong, "Out-of-Combat Buff Song" }, { BotSpellTypes::OutOfCombatBuffSong, "Out-of-Combat Buff Song" },
{ BotSpellTypes::PreCombatBuff, "Pre-Combat Buff" }, { BotSpellTypes::PreCombatBuff, "Pre-Combat Buff" },
{ BotSpellTypes::PreCombatBuffSong, "Pre-Combat Buff Song" }, { BotSpellTypes::PreCombatBuffSong, "Pre-Combat Buff Song" },
{ BotSpellTypes::Fear, "Fear" }, { BotSpellTypes::Fear, "Fear" },
{ BotSpellTypes::Stun, "Stun" }, { BotSpellTypes::Stun, "Stun" },
{ BotSpellTypes::CompleteHeal, "Complete Heal" }, { BotSpellTypes::CompleteHeal, "Complete Heal" },
{ BotSpellTypes::FastHeals, "Fast Heal" }, { BotSpellTypes::FastHeals, "Fast Heal" },
{ BotSpellTypes::VeryFastHeals, "Very Fast Heal" }, { BotSpellTypes::VeryFastHeals, "Very Fast Heal" },
{ BotSpellTypes::GroupHeals, "Group Heal" }, { BotSpellTypes::GroupHeals, "Group Heal" },
{ BotSpellTypes::GroupCompleteHeals, "Group Complete Heal" }, { BotSpellTypes::GroupCompleteHeals, "Group Complete Heal" },
{ BotSpellTypes::GroupHoTHeals, "Group HoT Heal" }, { BotSpellTypes::GroupHoTHeals, "Group HoT Heal" },
{ BotSpellTypes::HoTHeals, "HoT Heal" }, { BotSpellTypes::HoTHeals, "HoT Heal" },
{ BotSpellTypes::AENukes, "AE Nuke" }, { BotSpellTypes::AENukes, "AE Nuke" },
{ BotSpellTypes::AERains, "AE Rain" }, { BotSpellTypes::AERains, "AE Rain" },
{ BotSpellTypes::AEMez, "AE Mez" }, { BotSpellTypes::AEMez, "AE Mez" },
{ BotSpellTypes::AEStun, "AE Stun" }, { BotSpellTypes::AEStun, "AE Stun" },
{ BotSpellTypes::AEDebuff, "AE Debuff" }, { BotSpellTypes::AEDebuff, "AE Debuff" },
{ BotSpellTypes::AESlow, "AE Slow" }, { BotSpellTypes::AESlow, "AE Slow" },
{ BotSpellTypes::AESnare, "AE Snare" }, { BotSpellTypes::AESnare, "AE Snare" },
{ BotSpellTypes::AEFear, "AE Fear" }, { BotSpellTypes::AEFear, "AE Fear" },
{ BotSpellTypes::AEDispel, "AE Dispel" }, { BotSpellTypes::AEDispel, "AE Dispel" },
{ BotSpellTypes::AERoot, "AE Root" }, { BotSpellTypes::AERoot, "AE Root" },
{ BotSpellTypes::AEDoT, "AE DoT" }, { BotSpellTypes::AEDoT, "AE DoT" },
{ BotSpellTypes::AELifetap, "AE Lifetap" }, { BotSpellTypes::AELifetap, "AE Lifetap" },
{ BotSpellTypes::PBAENuke, "PBAE Nuke" }, { BotSpellTypes::PBAENuke, "PBAE Nuke" },
{ BotSpellTypes::PetBuffs, "Pet Buff" }, { BotSpellTypes::PetBuffs, "Pet Buff" },
{ BotSpellTypes::PetRegularHeals, "Pet Regular Heal" }, { BotSpellTypes::PetRegularHeals, "Pet Regular Heal" },
{ BotSpellTypes::PetCompleteHeals, "Pet Complete Heal" }, { BotSpellTypes::PetCompleteHeals, "Pet Complete Heal" },
{ BotSpellTypes::PetFastHeals, "Pet Fast Heal" }, { BotSpellTypes::PetFastHeals, "Pet Fast Heal" },
{ BotSpellTypes::PetVeryFastHeals, "Pet Very Fast Heal" }, { BotSpellTypes::PetVeryFastHeals, "Pet Very Fast Heal" },
{ BotSpellTypes::PetHoTHeals, "Pet HoT Heal" }, { BotSpellTypes::PetHoTHeals, "Pet HoT Heal" },
{ BotSpellTypes::DamageShields, "Damage Shield" }, { BotSpellTypes::DamageShields, "Damage Shield" },
{ BotSpellTypes::ResistBuffs, "Resist Buff" }, { BotSpellTypes::ResistBuffs, "Resist Buff" },
{ BotSpellTypes::PetDamageShields, "Pet Damage Shield" }, { BotSpellTypes::PetDamageShields, "Pet Damage Shield" },
{ BotSpellTypes::PetResistBuffs, "Pet Resist Buff" }, { BotSpellTypes::PetResistBuffs, "Pet Resist Buff" },
{ BotSpellTypes::HateLine, "Hate Line" }, { BotSpellTypes::HateLine, "Hate Line" },
{ BotSpellTypes::AEHateLine, "AE Hate Line" }, { BotSpellTypes::AEHateLine, "AE Hate Line" },
{ BotSpellTypes::Lull, "Lull" }, { BotSpellTypes::Lull, "Lull" },
{ BotSpellTypes::Teleport, "Teleport" }, { BotSpellTypes::Teleport, "Teleport" },
{ BotSpellTypes::Succor, "Succor" }, { BotSpellTypes::Succor, "Succor" },
{ BotSpellTypes::BindAffinity, "Bind Affinity" }, { BotSpellTypes::BindAffinity, "Bind Affinity" },
{ BotSpellTypes::Identify, "Identify" }, { BotSpellTypes::Identify, "Identify" },
{ BotSpellTypes::Levitate, "Levitate" }, { BotSpellTypes::Levitate, "Levitate" },
{ BotSpellTypes::Rune, "Rune" }, { BotSpellTypes::Rune, "Rune" },
{ BotSpellTypes::WaterBreathing, "Water Breathing" }, { BotSpellTypes::WaterBreathing, "Water Breathing" },
{ BotSpellTypes::Size, "Size" }, { BotSpellTypes::Size, "Size" },
{ BotSpellTypes::Invisibility, "Invisibility" }, { BotSpellTypes::Invisibility, "Invisibility" },
{ BotSpellTypes::MovementSpeed, "Movement Speed" }, { BotSpellTypes::MovementSpeed, "Movement Speed" },
{ BotSpellTypes::SendHome, "Send Home" }, { BotSpellTypes::SendHome, "Send Home" },
{ BotSpellTypes::SummonCorpse, "Summon Corpse" }, { BotSpellTypes::SummonCorpse, "Summon Corpse" },
{ BotSpellTypes::AELull, "AE Lull" } { BotSpellTypes::AELull, "AE Lull" }
}; };
static std::map<uint16, std::string> spellType_shortNames = { static std::map<uint16, std::string> spellType_shortNames = {
{ BotSpellTypes::Nuke, "nukes" }, { BotSpellTypes::Nuke, "nukes" },
{ BotSpellTypes::RegularHeal, "regularheals" }, { BotSpellTypes::RegularHeal, "regularheals" },
{ BotSpellTypes::Root, "roots" }, { BotSpellTypes::Root, "roots" },
{ BotSpellTypes::Buff, "buffs" }, { BotSpellTypes::Buff, "buffs" },
{ BotSpellTypes::Escape, "escapes" }, { BotSpellTypes::Escape, "escapes" },
{ BotSpellTypes::Pet, "pets" }, { BotSpellTypes::Pet, "pets" },
{ BotSpellTypes::Lifetap, "lifetaps" }, { BotSpellTypes::Lifetap, "lifetaps" },
{ BotSpellTypes::Snare, "snares" }, { BotSpellTypes::Snare, "snares" },
{ BotSpellTypes::DOT, "dots" }, { BotSpellTypes::DOT, "dots" },
{ BotSpellTypes::Dispel, "dispels" }, { BotSpellTypes::Dispel, "dispels" },
{ BotSpellTypes::InCombatBuff, "incombatbuffs" }, { BotSpellTypes::InCombatBuff, "incombatbuffs" },
{ BotSpellTypes::Mez, "mez" }, { BotSpellTypes::Mez, "mez" },
{ BotSpellTypes::Charm, "charms" }, { BotSpellTypes::Charm, "charms" },
{ BotSpellTypes::Slow, "slows" }, { BotSpellTypes::Slow, "slows" },
{ BotSpellTypes::Debuff, "debuffs" }, { BotSpellTypes::Debuff, "debuffs" },
{ BotSpellTypes::Cure, "cures" }, { BotSpellTypes::Cure, "cures" },
{ BotSpellTypes::GroupCures, "groupcures" }, { BotSpellTypes::GroupCures, "groupcures" },
{ BotSpellTypes::PetCures, "petcure" }, { BotSpellTypes::PetCures, "petcure" },
{ BotSpellTypes::Resurrect, "resurrect" }, { BotSpellTypes::Resurrect, "resurrect" },
{ BotSpellTypes::HateRedux, "hateredux" }, { BotSpellTypes::HateRedux, "hateredux" },
{ BotSpellTypes::InCombatBuffSong, "incombatbuffsongs" }, { BotSpellTypes::InCombatBuffSong, "incombatbuffsongs" },
{ BotSpellTypes::OutOfCombatBuffSong, "outofcombatbuffsongs" }, { BotSpellTypes::OutOfCombatBuffSong, "outofcombatbuffsongs" },
{ BotSpellTypes::PreCombatBuff, "precombatbuffs" }, { BotSpellTypes::PreCombatBuff, "precombatbuffs" },
{ BotSpellTypes::PreCombatBuffSong, "precombatbuffsongs" }, { BotSpellTypes::PreCombatBuffSong, "precombatbuffsongs" },
{ BotSpellTypes::Fear, "fears" }, { BotSpellTypes::Fear, "fears" },
{ BotSpellTypes::Stun, "stuns" }, { BotSpellTypes::Stun, "stuns" },
{ BotSpellTypes::CompleteHeal, "completeheals" }, { BotSpellTypes::CompleteHeal, "completeheals" },
{ BotSpellTypes::FastHeals, "fastheals" }, { BotSpellTypes::FastHeals, "fastheals" },
{ BotSpellTypes::VeryFastHeals, "veryfastheals" }, { BotSpellTypes::VeryFastHeals, "veryfastheals" },
{ BotSpellTypes::GroupHeals, "groupheals" }, { BotSpellTypes::GroupHeals, "groupheals" },
{ BotSpellTypes::GroupCompleteHeals, "groupcompleteheals" }, { BotSpellTypes::GroupCompleteHeals, "groupcompleteheals" },
{ BotSpellTypes::GroupHoTHeals, "grouphotheals" }, { BotSpellTypes::GroupHoTHeals, "grouphotheals" },
{ BotSpellTypes::HoTHeals, "hotheals" }, { BotSpellTypes::HoTHeals, "hotheals" },
{ BotSpellTypes::AENukes, "aenukes" }, { BotSpellTypes::AENukes, "aenukes" },
{ BotSpellTypes::AERains, "aerains" }, { BotSpellTypes::AERains, "aerains" },
{ BotSpellTypes::AEMez, "aemez" }, { BotSpellTypes::AEMez, "aemez" },
{ BotSpellTypes::AEStun, "aestuns" }, { BotSpellTypes::AEStun, "aestuns" },
{ BotSpellTypes::AEDebuff, "aedebuffs" }, { BotSpellTypes::AEDebuff, "aedebuffs" },
{ BotSpellTypes::AESlow, "aeslows" }, { BotSpellTypes::AESlow, "aeslows" },
{ BotSpellTypes::AESnare, "aesnares" }, { BotSpellTypes::AESnare, "aesnares" },
{ BotSpellTypes::AEFear, "aefears" }, { BotSpellTypes::AEFear, "aefears" },
{ BotSpellTypes::AEDispel, "aedispels" }, { BotSpellTypes::AEDispel, "aedispels" },
{ BotSpellTypes::AERoot, "aeroots" }, { BotSpellTypes::AERoot, "aeroots" },
{ BotSpellTypes::AEDoT, "aedots" }, { BotSpellTypes::AEDoT, "aedots" },
{ BotSpellTypes::AELifetap, "aelifetaps" }, { BotSpellTypes::AELifetap, "aelifetaps" },
{ BotSpellTypes::PBAENuke, "pbaenukes" }, { BotSpellTypes::PBAENuke, "pbaenukes" },
{ BotSpellTypes::PetBuffs, "petbuffs" }, { BotSpellTypes::PetBuffs, "petbuffs" },
{ BotSpellTypes::PetRegularHeals, "petregularheals" }, { BotSpellTypes::PetRegularHeals, "petregularheals" },
{ BotSpellTypes::PetCompleteHeals, "petcompleteheals" }, { BotSpellTypes::PetCompleteHeals, "petcompleteheals" },
{ BotSpellTypes::PetFastHeals, "petfastheals" }, { BotSpellTypes::PetFastHeals, "petfastheals" },
{ BotSpellTypes::PetVeryFastHeals, "petveryfastheals" }, { BotSpellTypes::PetVeryFastHeals, "petveryfastheals" },
{ BotSpellTypes::PetHoTHeals, "pethotheals" }, { BotSpellTypes::PetHoTHeals, "pethotheals" },
{ BotSpellTypes::DamageShields, "damageshields" }, { BotSpellTypes::DamageShields, "damageshields" },
{ BotSpellTypes::ResistBuffs, "resistbuffs" }, { BotSpellTypes::ResistBuffs, "resistbuffs" },
{ BotSpellTypes::PetDamageShields, "petdamageshields" }, { BotSpellTypes::PetDamageShields, "petdamageshields" },
{ BotSpellTypes::PetResistBuffs, "petresistbuffs" }, { BotSpellTypes::PetResistBuffs, "petresistbuffs" },
{ BotSpellTypes::HateLine, "hateline" }, { BotSpellTypes::HateLine, "hateline" },
{ BotSpellTypes::AEHateLine, "aehateline" }, { BotSpellTypes::AEHateLine, "aehateline" },
{ BotSpellTypes::Lull, "lull" }, { BotSpellTypes::Lull, "lull" },
{ BotSpellTypes::Teleport, "teleport" }, { BotSpellTypes::Teleport, "teleport" },
{ BotSpellTypes::Succor, "succor" }, { BotSpellTypes::Succor, "succor" },
{ BotSpellTypes::BindAffinity, "bindaffinity" }, { BotSpellTypes::BindAffinity, "bindaffinity" },
{ BotSpellTypes::Identify, "identify" }, { BotSpellTypes::Identify, "identify" },
{ BotSpellTypes::Levitate, "levitate" }, { BotSpellTypes::Levitate, "levitate" },
{ BotSpellTypes::Rune, "rune" }, { BotSpellTypes::Rune, "rune" },
{ BotSpellTypes::WaterBreathing, "waterbreathing" }, { BotSpellTypes::WaterBreathing, "waterbreathing" },
{ BotSpellTypes::Size, "size" }, { BotSpellTypes::Size, "size" },
{ BotSpellTypes::Invisibility, "invisibility" }, { BotSpellTypes::Invisibility, "invisibility" },
{ BotSpellTypes::MovementSpeed, "movementspeed" }, { BotSpellTypes::MovementSpeed, "movementspeed" },
{ BotSpellTypes::SendHome, "sendhome" }, { BotSpellTypes::SendHome, "sendhome" },
{ BotSpellTypes::SummonCorpse, "summoncorpse" }, { BotSpellTypes::SummonCorpse, "summoncorpse" },
{ BotSpellTypes::AELull, "aelull" } { 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_DETRIMENTAL = (SpellType_Nuke | SpellType_Root | SpellType_Lifetap | SpellType_Snare | SpellType_DOT | SpellType_Dispel | SpellType_Mez | SpellType_Charm | SpellType_Debuff | SpellType_Slow);
+80 -80
View File
@@ -94,28 +94,28 @@ enum BotCastingChanceConditional : uint8
}; };
namespace BotSettingCategories { // Update GetBotSpellCategoryName as needed namespace BotSettingCategories { // Update GetBotSpellCategoryName as needed
constexpr uint8 BaseSetting = 0; constexpr uint8 BaseSetting = 0;
constexpr uint8 SpellHold = 1; constexpr uint8 SpellHold = 1;
constexpr uint8 SpellDelay = 2; constexpr uint8 SpellDelay = 2;
constexpr uint8 SpellMinThreshold = 3; constexpr uint8 SpellMinThreshold = 3;
constexpr uint8 SpellMaxThreshold = 4; constexpr uint8 SpellMaxThreshold = 4;
constexpr uint8 SpellTypeAggroCheck = 5; constexpr uint8 SpellTypeAggroCheck = 5;
constexpr uint8 SpellTypeMinManaPct = 6; constexpr uint8 SpellTypeMinManaPct = 6;
constexpr uint8 SpellTypeMaxManaPct = 7; constexpr uint8 SpellTypeMaxManaPct = 7;
constexpr uint8 SpellTypeMinHPPct = 8; constexpr uint8 SpellTypeMinHPPct = 8;
constexpr uint8 SpellTypeMaxHPPct = 9; constexpr uint8 SpellTypeMaxHPPct = 9;
constexpr uint8 SpellTypeIdlePriority = 10; constexpr uint8 SpellTypeIdlePriority = 10;
constexpr uint8 SpellTypeEngagedPriority = 11; constexpr uint8 SpellTypeEngagedPriority = 11;
constexpr uint8 SpellTypePursuePriority = 12; constexpr uint8 SpellTypePursuePriority = 12;
constexpr uint8 SpellTypeAEOrGroupTargetCount = 13; constexpr uint8 SpellTypeAEOrGroupTargetCount = 13;
constexpr uint8 SpellTypeRecastDelay = 14; constexpr uint8 SpellTypeRecastDelay = 14;
constexpr uint16 START = BotSettingCategories::BaseSetting; constexpr uint16 START = BotSettingCategories::BaseSetting;
constexpr uint16 START_NO_BASE = BotSettingCategories::SpellHold; constexpr uint16 START_NO_BASE = BotSettingCategories::SpellHold;
constexpr uint16 START_CLIENT = BotSettingCategories::SpellHold; constexpr uint16 START_CLIENT = BotSettingCategories::SpellHold;
constexpr uint16 END_CLIENT = BotSettingCategories::SpellMaxThreshold; constexpr uint16 END_CLIENT = BotSettingCategories::SpellMaxThreshold;
constexpr uint16 END = BotSettingCategories::SpellTypeAEOrGroupTargetCount; constexpr uint16 END = BotSettingCategories::SpellTypeAEOrGroupTargetCount;
constexpr uint16 END_FULL = BotSettingCategories::SpellTypeRecastDelay; constexpr uint16 END_FULL = BotSettingCategories::SpellTypeRecastDelay;
}; };
static std::map<uint8, std::string> botSpellCategory_names = { static std::map<uint8, std::string> botSpellCategory_names = {
@@ -137,81 +137,81 @@ static std::map<uint8, std::string> botSpellCategory_names = {
}; };
namespace BotPriorityCategories { // Update GetBotSpellCategoryName as needed namespace BotPriorityCategories { // Update GetBotSpellCategoryName as needed
constexpr uint8 Idle = 0; constexpr uint8 Idle = 0;
constexpr uint8 Engaged = 1; constexpr uint8 Engaged = 1;
constexpr uint8 Pursue = 2; constexpr uint8 Pursue = 2;
constexpr uint16 START = BotPriorityCategories::Idle; constexpr uint16 START = BotPriorityCategories::Idle;
constexpr uint16 END = BotPriorityCategories::Pursue; // Increment as needed constexpr uint16 END = BotPriorityCategories::Pursue; // Increment as needed
}; };
namespace BotBaseSettings { namespace BotBaseSettings {
constexpr uint16 ExpansionBitmask = 0; constexpr uint16 ExpansionBitmask = 0;
constexpr uint16 ShowHelm = 1; constexpr uint16 ShowHelm = 1;
constexpr uint16 FollowDistance = 2; constexpr uint16 FollowDistance = 2;
constexpr uint16 StopMeleeLevel = 3; constexpr uint16 StopMeleeLevel = 3;
constexpr uint16 EnforceSpellSettings = 4; constexpr uint16 EnforceSpellSettings = 4;
constexpr uint16 RangedSetting = 5; constexpr uint16 RangedSetting = 5;
constexpr uint16 PetSetTypeSetting = 6; constexpr uint16 PetSetTypeSetting = 6;
constexpr uint16 BehindMob = 7; constexpr uint16 BehindMob = 7;
constexpr uint16 DistanceRanged = 8; constexpr uint16 DistanceRanged = 8;
constexpr uint16 IllusionBlock = 9; constexpr uint16 IllusionBlock = 9;
constexpr uint16 MaxMeleeRange = 10; constexpr uint16 MaxMeleeRange = 10;
constexpr uint16 MedInCombat = 11; constexpr uint16 MedInCombat = 11;
constexpr uint16 SitHPPct = 12; constexpr uint16 SitHPPct = 12;
constexpr uint16 SitManaPct = 13; constexpr uint16 SitManaPct = 13;
constexpr uint16 START_ALL = ExpansionBitmask; constexpr uint16 START_ALL = ExpansionBitmask;
constexpr uint16 START = BotBaseSettings::ShowHelm; // Everything above this cannot be copied, changed or viewed by players constexpr uint16 START = BotBaseSettings::ShowHelm; // Everything above this cannot be copied, changed or viewed by players
constexpr uint16 END = BotBaseSettings::SitManaPct; // Increment as needed constexpr uint16 END = BotBaseSettings::SitManaPct; // Increment as needed
}; };
static std::map<uint16, std::string> botBaseSettings_names = { static std::map<uint16, std::string> botBaseSettings_names = {
{ BotBaseSettings::ExpansionBitmask, "ExpansionBitmask" }, { BotBaseSettings::ExpansionBitmask, "ExpansionBitmask" },
{ BotBaseSettings::ShowHelm, "ShowHelm" }, { BotBaseSettings::ShowHelm, "ShowHelm" },
{ BotBaseSettings::FollowDistance, "FollowDistance" }, { BotBaseSettings::FollowDistance, "FollowDistance" },
{ BotBaseSettings::StopMeleeLevel, "StopMeleeLevel" }, { BotBaseSettings::StopMeleeLevel, "StopMeleeLevel" },
{ BotBaseSettings::EnforceSpellSettings, "EnforceSpellSettings" }, { BotBaseSettings::EnforceSpellSettings, "EnforceSpellSettings" },
{ BotBaseSettings::RangedSetting, "RangedSetting" }, { BotBaseSettings::RangedSetting, "RangedSetting" },
{ BotBaseSettings::PetSetTypeSetting, "PetSetTypeSetting" }, { BotBaseSettings::PetSetTypeSetting, "PetSetTypeSetting" },
{ BotBaseSettings::BehindMob, "BehindMob" }, { BotBaseSettings::BehindMob, "BehindMob" },
{ BotBaseSettings::DistanceRanged, "DistanceRanged" }, { BotBaseSettings::DistanceRanged, "DistanceRanged" },
{ BotBaseSettings::IllusionBlock, "IllusionBlock" }, { BotBaseSettings::IllusionBlock, "IllusionBlock" },
{ BotBaseSettings::MaxMeleeRange, "MaxMeleeRange" }, { BotBaseSettings::MaxMeleeRange, "MaxMeleeRange" },
{ BotBaseSettings::MedInCombat, "MedInCombat" }, { BotBaseSettings::MedInCombat, "MedInCombat" },
{ BotBaseSettings::SitHPPct, "SitHPPct" }, { BotBaseSettings::SitHPPct, "SitHPPct" },
{ BotBaseSettings::SitManaPct, "SitManaPct" } { BotBaseSettings::SitManaPct, "SitManaPct" }
}; };
namespace CommandedSubTypes { namespace CommandedSubTypes {
constexpr uint16 SingleTarget = 1; constexpr uint16 SingleTarget = 1;
constexpr uint16 GroupTarget = 2; constexpr uint16 GroupTarget = 2;
constexpr uint16 AETarget = 3; constexpr uint16 AETarget = 3;
constexpr uint16 SeeInvis = 4; constexpr uint16 SeeInvis = 4;
constexpr uint16 Invis = 5; constexpr uint16 Invis = 5;
constexpr uint16 InvisUndead = 6; constexpr uint16 InvisUndead = 6;
constexpr uint16 InvisAnimals = 7; constexpr uint16 InvisAnimals = 7;
constexpr uint16 Shrink = 8; constexpr uint16 Shrink = 8;
constexpr uint16 Grow = 9; constexpr uint16 Grow = 9;
constexpr uint16 Selo = 10; constexpr uint16 Selo = 10;
constexpr uint16 START = CommandedSubTypes::SingleTarget; constexpr uint16 START = CommandedSubTypes::SingleTarget;
constexpr uint16 END = CommandedSubTypes::Selo; constexpr uint16 END = CommandedSubTypes::Selo;
}; };
static std::map<uint16, std::string> botSubType_names = { static std::map<uint16, std::string> botSubType_names = {
{ CommandedSubTypes::SingleTarget, "SingleTarget" }, { CommandedSubTypes::SingleTarget, "SingleTarget" },
{ CommandedSubTypes::GroupTarget, "GroupTarget" }, { CommandedSubTypes::GroupTarget, "GroupTarget" },
{ CommandedSubTypes::AETarget, "AETarget" }, { CommandedSubTypes::AETarget, "AETarget" },
{ CommandedSubTypes::SeeInvis, "SeeInvis" }, { CommandedSubTypes::SeeInvis, "SeeInvis" },
{ CommandedSubTypes::Invis, "Invis" }, { CommandedSubTypes::Invis, "Invis" },
{ CommandedSubTypes::InvisUndead, "InvisUndead" }, { CommandedSubTypes::InvisUndead, "InvisUndead" },
{ CommandedSubTypes::InvisAnimals, "InvisAnimals" }, { CommandedSubTypes::InvisAnimals, "InvisAnimals" },
{ CommandedSubTypes::Shrink, "Shrink" }, { CommandedSubTypes::Shrink, "Shrink" },
{ CommandedSubTypes::Grow, "Grow" }, { CommandedSubTypes::Grow, "Grow" },
{ CommandedSubTypes::Selo, "Selo" } { CommandedSubTypes::Selo, "Selo" }
}; };
class Bot : public NPC { class Bot : public NPC {
friend class Mob; friend class Mob;
public: public:
+19 -20
View File
@@ -93,26 +93,25 @@ struct AppearanceStruct {
uint8 texture = UINT8_MAX; uint8 texture = UINT8_MAX;
}; };
struct BotSpellSettings_Struct struct BotSpellSettings_Struct {
{ uint16 spellType; // type ID of bot category
uint16 spellType; // type ID of bot category std::string shortName; // type short name of bot category
std::string shortName; // type short name of bot category std::string name; // type name of bot category
std::string name; // type name of bot category bool hold; // 0 = allow spell type, 1 = hold spell type
bool hold; // 0 = allow spell type, 1 = hold spell type uint16 delay; // delay between casts of spell type, 1ms-60,000ms
uint16 delay; // delay between casts of spell type, 1ms-60,000ms uint8 minThreshold; // minimum target health threshold to allow casting of spell type
uint8 minThreshold; // minimum target health threshold to allow casting of spell type uint8 maxThreshold; // maximum target health threshold to allow casting of spell type
uint8 maxThreshold; // maximum target health threshold to allow casting of spell type uint16 resistLimit; // resist limit to skip spell type
uint16 resistLimit; // resist limit to skip spell type bool aggroCheck; // whether or not to check for possible aggro before casting
bool aggroCheck; // whether or not to check for possible aggro before casting uint8 minManaPct; // lower mana percentage limit to allow spell cast
uint8 minManaPct; // lower mana percentage limit to allow spell cast uint8 maxManaPct; // upper mana percentage limit to allow spell cast
uint8 maxManaPct; // upper mana percentage limit to allow spell cast uint8 minHPPct; // lower HP percentage limit to allow spell cast
uint8 minHPPct; // lower HP percentage limit to allow spell cast uint8 maxHPPct; // upper HP percentage limit to allow spell cast
uint8 maxHPPct; // upper HP percentage limit to allow spell cast uint16 idlePriority; // idle priority of the spell type
uint16 idlePriority; // idle priority of the spell type uint16 engagedPriority; // engaged priority of the spell type
uint16 engagedPriority; // engaged priority of the spell type uint16 pursuePriority; // pursue priority of the spell type
uint16 pursuePriority; // pursue priority of the spell type uint16 AEOrGroupTargetCount; // require target count to cast an AE or Group spell type
uint16 AEOrGroupTargetCount; // require target count to cast an AE or Group spell type Timer recastTimer; // recast timer based off delay
Timer recastTimer; // recast timer based off delay
}; };
class DataBucketKey; class DataBucketKey;