mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-19 17:38:26 +00:00
fix resistbuffs and damageshields spell type checks
This commit is contained in:
+2
-19
@@ -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;
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user