Implement more commanded types properly, move shadownight hate to hateline type...

Add incapacitated checks to casting logic and checks.
Add candocombat zone check, summon other's corpse for bot, in/out combat spell checks, mute checks, level restriction
This commit is contained in:
nytmyr
2024-11-27 13:51:37 -06:00
parent b200bdd04e
commit 10effce2a6
10 changed files with 588 additions and 248 deletions
+60 -6
View File
@@ -8898,6 +8898,9 @@ std::string Mob::GetSpellTypeNameByID(uint16 spellType) {
case BotSpellTypes::PetResistBuffs:
spellTypeName = "Pet Resist Buff";
break;
case BotSpellTypes::HateLine:
spellTypeName = "Hate Line";
break;
case BotSpellTypes::Lull:
spellTypeName = "Lull";
break;
@@ -9113,6 +9116,9 @@ std::string Mob::GetSpellTypeShortNameByID(uint16 spellType) {
case BotSpellTypes::PetResistBuffs:
spellTypeName = "petresistbuffs";
break;
case BotSpellTypes::HateLine:
spellTypeName = "hateline";
break;
case BotSpellTypes::Lull:
spellTypeName = "lull";
break;
@@ -9231,8 +9237,11 @@ bool Mob::GetDefaultSpellHold(uint16 spellType, uint8 stance) {
case BotSpellTypes::AEFear:
case BotSpellTypes::Fear:
return true;
case BotSpellTypes::Mez:
case BotSpellTypes::AEMez:
case BotSpellTypes::Debuff:
case BotSpellTypes::AEDebuff:
case BotSpellTypes::Slow:
case BotSpellTypes::AESlow:
case BotSpellTypes::HateRedux:
switch (stance) {
@@ -9249,12 +9258,7 @@ bool Mob::GetDefaultSpellHold(uint16 spellType, uint8 stance) {
case Stance::Assist:
return true;
default:
if (GetClass() == Class::Wizard) {
return true;
}
else {
return false;
}
return false;
}
case BotSpellTypes::InCombatBuffSong:
case BotSpellTypes::OutOfCombatBuffSong:
@@ -9265,6 +9269,55 @@ bool Mob::GetDefaultSpellHold(uint16 spellType, uint8 stance) {
else {
return true;
}
case BotSpellTypes::HateLine:
if (GetClass() == Class::ShadowKnight || GetClass() == Class::Paladin) {
switch (stance) {
case Stance::Aggressive:
return false;
default:
return true;
}
}
else {
return true;
}
case BotSpellTypes::Cure:
case BotSpellTypes::GroupCures:
switch (stance) {
case Stance::Aggressive:
case Stance::AEBurn:
case Stance::Burn:
return true;
default:
return false;
}
case BotSpellTypes::GroupCompleteHeals:
case BotSpellTypes::GroupHeals:
case BotSpellTypes::GroupHoTHeals:
case BotSpellTypes::HoTHeals:
case BotSpellTypes::CompleteHeal:
case BotSpellTypes::PetCompleteHeals:
case BotSpellTypes::PetFastHeals:
case BotSpellTypes::PetHoTHeals:
case BotSpellTypes::PetRegularHeals:
case BotSpellTypes::PetVeryFastHeals:
case BotSpellTypes::RegularHeal:
switch (stance) {
case Stance::Aggressive:
case Stance::AEBurn:
case Stance::Burn:
return true;
default:
return false;
}
case BotSpellTypes::FastHeals:
case BotSpellTypes::VeryFastHeals:
case BotSpellTypes::Pet:
case BotSpellTypes::Escape:
case BotSpellTypes::Lifetap:
case BotSpellTypes::Buff:
case BotSpellTypes::InCombatBuff:
case BotSpellTypes::PreCombatBuff:
default:
return false;
}
@@ -9487,6 +9540,7 @@ uint8 Mob::GetDefaultSpellMaxThreshold(uint16 spellType, uint8 stance) {
case BotSpellTypes::PetResistBuffs:
case BotSpellTypes::ResistBuffs:
case BotSpellTypes::Resurrect:
case BotSpellTypes::HateLine:
return 100;
case BotSpellTypes::GroupHoTHeals:
case BotSpellTypes::HoTHeals: