fix resistbuffs and damageshields spell type checks

This commit is contained in:
nytmyr
2024-11-26 13:16:58 -06:00
parent 484b88ddbc
commit 4702d74722
3 changed files with 4 additions and 22 deletions
+2 -19
View File
@@ -3214,14 +3214,6 @@ bool IsResistanceOnlySpell(uint16 spell_id) {
}
bool IsDamageShieldOnlySpell(uint16 spell_id) {
if (SpellEffectsCount(spell_id) == 1 && IsEffectInSpell(spell_id, SE_DamageShield)) {
return true;
}
return false;
}
bool IsDamageShieldAndResistanceSpellOnly(uint16 spell_id) {
if (!IsValidSpell(spell_id)) {
return false;
}
@@ -3234,19 +3226,10 @@ bool IsDamageShieldAndResistanceSpellOnly(uint16 spell_id) {
}
if (
spell.effect_id[i] == SE_DamageShield ||
spell.effect_id[i] == SE_ResistFire ||
spell.effect_id[i] == SE_ResistCold ||
spell.effect_id[i] == SE_ResistPoison ||
spell.effect_id[i] == SE_ResistDisease ||
spell.effect_id[i] == SE_ResistMagic ||
spell.effect_id[i] == SE_ResistCorruption ||
spell.effect_id[i] == SE_ResistAll
spell.effect_id[i] != SE_DamageShield
) {
continue;
return false;
}
return false;
}
return true;
-1
View File
@@ -1726,6 +1726,5 @@ bool IsResurrectSpell(uint16 spell_id);
bool RequiresStackCheck(uint16 spellType);
bool IsResistanceOnlySpell(uint16 spell_id);
bool IsDamageShieldOnlySpell(uint16 spell_id);
bool IsDamageShieldAndResistanceSpellOnly(uint16 spell_id);
#endif
+2 -2
View File
@@ -10953,7 +10953,7 @@ bool Bot::IsValidSpellTypeBySpellID(uint16 spellType, uint16 spell_id) {
switch (spellType) {
case BotSpellTypes::Buff:
case BotSpellTypes::PetBuffs:
if (IsResistanceOnlySpell(spell_id) || IsDamageShieldOnlySpell(spell_id) || IsDamageShieldAndResistanceSpellOnly(spell_id)) {
if (IsResistanceOnlySpell(spell_id) || IsDamageShieldOnlySpell(spell_id)) {
return false;
}
@@ -10967,7 +10967,7 @@ bool Bot::IsValidSpellTypeBySpellID(uint16 spellType, uint16 spell_id) {
return false;
case BotSpellTypes::DamageShields:
case BotSpellTypes::PetDamageShields:
if (IsDamageShieldOnlySpell(spell_id) || IsDamageShieldAndResistanceSpellOnly(spell_id)) {
if (IsDamageShieldOnlySpell(spell_id)) {
return true;
}