add aehateline spell type

This commit is contained in:
nytmyr
2024-11-27 20:50:21 -06:00
parent f6cb63a89b
commit df6c6c3ea0
6 changed files with 41 additions and 23 deletions
+1
View File
@@ -2844,6 +2844,7 @@ bool BOT_SPELL_TYPES_DETRIMENTAL(uint16 spellType, uint8 cls) {
case BotSpellTypes::PBAENuke: case BotSpellTypes::PBAENuke:
case BotSpellTypes::Lull: case BotSpellTypes::Lull:
case BotSpellTypes::HateLine: case BotSpellTypes::HateLine:
case BotSpellTypes::AEHateLine:
return true; return true;
default: default:
return false; return false;
+2 -1
View File
@@ -709,6 +709,7 @@ namespace BotSpellTypes
constexpr uint16 PetDamageShields = 53; constexpr uint16 PetDamageShields = 53;
constexpr uint16 PetResistBuffs = 54; constexpr uint16 PetResistBuffs = 54;
constexpr uint16 HateLine = 55; constexpr uint16 HateLine = 55;
constexpr uint16 AEHateLine = 56;
// 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
@@ -726,7 +727,7 @@ namespace BotSpellTypes
constexpr uint16 SummonCorpse = 112; constexpr uint16 SummonCorpse = 112;
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::HateLine; // Do not remove this, increment as needed constexpr uint16 END = BotSpellTypes::AEHateLine; // 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::SummonCorpse; // Do not remove this, increment as needed constexpr uint16 COMMANDED_END = BotSpellTypes::SummonCorpse; // Do not remove this, increment as needed
} }
+28 -21
View File
@@ -10576,48 +10576,50 @@ uint16 Bot::GetDefaultSpellTypeEngagedPriority(uint16 spellType, uint8 botClass,
return 20; return 20;
case BotSpellTypes::Mez: case BotSpellTypes::Mez:
return 21; return 21;
case BotSpellTypes::HateLine: case BotSpellTypes::AEHateLine:
return 22; return 22;
case BotSpellTypes::AEDispel: case BotSpellTypes::HateLine:
return 23; return 23;
case BotSpellTypes::Dispel: case BotSpellTypes::AEDispel:
return 24; return 24;
case BotSpellTypes::AEDebuff: case BotSpellTypes::Dispel:
return 25; return 25;
case BotSpellTypes::Debuff: case BotSpellTypes::AEDebuff:
return 26; return 26;
case BotSpellTypes::AESnare: case BotSpellTypes::Debuff:
return 27; return 27;
case BotSpellTypes::Snare: case BotSpellTypes::AESnare:
return 28; return 28;
case BotSpellTypes::AESlow: case BotSpellTypes::Snare:
return 29; return 29;
case BotSpellTypes::Slow: case BotSpellTypes::AESlow:
return 30; return 30;
case BotSpellTypes::AERoot: case BotSpellTypes::Slow:
return 31; return 31;
case BotSpellTypes::Root: case BotSpellTypes::AERoot:
return 32; return 32;
case BotSpellTypes::AEDoT: case BotSpellTypes::Root:
return 33; return 33;
case BotSpellTypes::DOT: case BotSpellTypes::AEDoT:
return 34; return 34;
case BotSpellTypes::AEStun: case BotSpellTypes::DOT:
return 35; return 35;
case BotSpellTypes::PBAENuke: case BotSpellTypes::AEStun:
return 36; return 36;
case BotSpellTypes::AENukes: case BotSpellTypes::PBAENuke:
return 37; return 37;
case BotSpellTypes::AERains: case BotSpellTypes::AENukes:
return 38; return 38;
case BotSpellTypes::Stun: case BotSpellTypes::AERains:
return 39; return 39;
case BotSpellTypes::Nuke: case BotSpellTypes::Stun:
return 40; return 40;
case BotSpellTypes::InCombatBuff: case BotSpellTypes::Nuke:
return 41; return 41;
case BotSpellTypes::InCombatBuffSong: case BotSpellTypes::InCombatBuff:
return 42; return 42;
case BotSpellTypes::InCombatBuffSong:
return 43;
default: default:
return 0; return 0;
} }
@@ -11027,6 +11029,7 @@ uint16 Bot::GetSpellListSpellType(uint16 spellType) {
case BotSpellTypes::Escape: case BotSpellTypes::Escape:
case BotSpellTypes::HateRedux: case BotSpellTypes::HateRedux:
case BotSpellTypes::HateLine: case BotSpellTypes::HateLine:
case BotSpellTypes::AEHateLine:
case BotSpellTypes::InCombatBuff: case BotSpellTypes::InCombatBuff:
case BotSpellTypes::InCombatBuffSong: case BotSpellTypes::InCombatBuffSong:
case BotSpellTypes::OutOfCombatBuffSong: case BotSpellTypes::OutOfCombatBuffSong:
@@ -11404,6 +11407,10 @@ bool Bot::HasValidAETarget(Bot* botCaster, uint16 spell_id, uint16 spellType, Mo
} }
break; break;
case BotSpellTypes::AEHateLine:
if (!m->IsNPC()) {
continue;
}
default: default:
break; break;
} }
+1 -1
View File
@@ -407,7 +407,7 @@ void bot_command_cast(Client* c, const Seperator* sep)
TODO bot rewrite - TODO bot rewrite -
FIX: Depart FIX: Depart
Group Cures, Precombat Group Cures, Precombat
NEED TO CHECK: precombat, AE Dispel, AE Lifetap NEED TO CHECK: precombat
*/ */
if (bot_iter->GetBotStance() == Stance::Passive || bot_iter->GetHoldFlag() || bot_iter->GetAppearance() == eaDead || bot_iter->IsFeared() || bot_iter->IsSilenced() || bot_iter->IsAmnesiad() || bot_iter->GetHP() < 0) { if (bot_iter->GetBotStance() == Stance::Passive || bot_iter->GetHoldFlag() || bot_iter->GetAppearance() == eaDead || bot_iter->IsFeared() || bot_iter->IsSilenced() || bot_iter->IsAmnesiad() || bot_iter->GetHP() < 0) {
continue; continue;
+1
View File
@@ -2076,6 +2076,7 @@ uint8 Bot::GetChanceToCastBySpellType(uint16 spellType)
case BotSpellTypes::AELifetap: case BotSpellTypes::AELifetap:
case BotSpellTypes::AERoot: case BotSpellTypes::AERoot:
case BotSpellTypes::PBAENuke: case BotSpellTypes::PBAENuke:
case BotSpellTypes::AEHateLine:
return RuleI(Bots, PercentChanceToCastAEs); return RuleI(Bots, PercentChanceToCastAEs);
case BotSpellTypes::GroupHeals: case BotSpellTypes::GroupHeals:
case BotSpellTypes::GroupCompleteHeals: case BotSpellTypes::GroupCompleteHeals:
+8
View File
@@ -8901,6 +8901,9 @@ std::string Mob::GetSpellTypeNameByID(uint16 spellType) {
case BotSpellTypes::HateLine: case BotSpellTypes::HateLine:
spellTypeName = "Hate Line"; spellTypeName = "Hate Line";
break; break;
case BotSpellTypes::AEHateLine:
spellTypeName = "AE Hate Line";
break;
case BotSpellTypes::Lull: case BotSpellTypes::Lull:
spellTypeName = "Lull"; spellTypeName = "Lull";
break; break;
@@ -9119,6 +9122,9 @@ std::string Mob::GetSpellTypeShortNameByID(uint16 spellType) {
case BotSpellTypes::HateLine: case BotSpellTypes::HateLine:
spellTypeName = "hateline"; spellTypeName = "hateline";
break; break;
case BotSpellTypes::AEHateLine:
spellTypeName = "aehateline";
break;
case BotSpellTypes::Lull: case BotSpellTypes::Lull:
spellTypeName = "lull"; spellTypeName = "lull";
break; break;
@@ -9236,6 +9242,7 @@ bool Mob::GetDefaultSpellHold(uint16 spellType, uint8 stance) {
case BotSpellTypes::Dispel: case BotSpellTypes::Dispel:
case BotSpellTypes::AEFear: case BotSpellTypes::AEFear:
case BotSpellTypes::Fear: case BotSpellTypes::Fear:
case BotSpellTypes::AEHateLine:
return true; return true;
case BotSpellTypes::Mez: case BotSpellTypes::Mez:
case BotSpellTypes::AEMez: case BotSpellTypes::AEMez:
@@ -9541,6 +9548,7 @@ uint8 Mob::GetDefaultSpellMaxThreshold(uint16 spellType, uint8 stance) {
case BotSpellTypes::ResistBuffs: case BotSpellTypes::ResistBuffs:
case BotSpellTypes::Resurrect: case BotSpellTypes::Resurrect:
case BotSpellTypes::HateLine: case BotSpellTypes::HateLine:
case BotSpellTypes::AEHateLine:
return 100; return 100;
case BotSpellTypes::GroupHoTHeals: case BotSpellTypes::GroupHoTHeals:
case BotSpellTypes::HoTHeals: case BotSpellTypes::HoTHeals: