Remove Hack detecting spell 61988 in HasAura()
Correctly cast 61988/61987 after casting Avenging Wrath/Divine Shield respectively (This will correctly show both spells disabled state) Don't allow casting Lay on Hands on self when aura 61988 is present (ie. after using Avenging Wrath) --HG-- branch : trunk
This commit is contained in:
@@ -1419,6 +1419,12 @@ void Spell::DoTriggersOnSpellHit(Unit *unit)
|
||||
// Cast Avenging Wrath Marker
|
||||
m_caster->CastSpell(unit,61987, true, m_CastItem);
|
||||
}
|
||||
// Avenging Wrath Marker
|
||||
else if (m_preCastSpell==61987)
|
||||
{
|
||||
// Cast unknown spell (client will use to determine if Divine Shield is castable)
|
||||
m_caster->CastSpell(unit,61988, true, m_CastItem);
|
||||
}
|
||||
else if (sSpellStore.LookupEntry(m_preCastSpell))
|
||||
m_caster->CastSpell(unit,m_preCastSpell, true, m_CastItem);
|
||||
}
|
||||
@@ -4511,6 +4517,11 @@ SpellCastResult Spell::CheckCast(bool strict)
|
||||
else
|
||||
return SPELL_FAILED_BAD_TARGETS;
|
||||
}
|
||||
// Lay on Hands - cannot be casted on paladin after using Avenging Wrath
|
||||
if (m_spellInfo->SpellFamilyName == SPELLFAMILY_PALADIN
|
||||
&& m_spellInfo->SpellFamilyFlags[0] & 0x0008000)
|
||||
if (target->HasAura(61988)) // Avenging Wrath Marker (Not existing spell)
|
||||
return SPELL_FAILED_TARGET_AURASTATE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -746,6 +746,7 @@ bool SpellMgr::_isPositiveEffect(uint32 spellId, uint32 effIndex, bool deep) con
|
||||
//case 37675: // Chaos Blast removed from mangos
|
||||
case 34700: // Allergic Reaction
|
||||
case 61987: // Avenging Wrath Marker
|
||||
case 61988: // Divine Shield exclude aura
|
||||
case 50524: // Runic Power Feed
|
||||
return false;
|
||||
case 12042: // Arcane Power
|
||||
|
||||
@@ -4532,10 +4532,6 @@ bool Unit::HasAuraEffect(uint32 spellId, uint8 effIndex, uint64 caster) const
|
||||
|
||||
bool Unit::HasAura(uint32 spellId, uint64 caster, uint8 reqEffMask) const
|
||||
{
|
||||
//Special case for non existing spell
|
||||
if (spellId==61988)
|
||||
return HasAura(61987, caster, reqEffMask) || HasAura(25771, caster, reqEffMask);
|
||||
|
||||
if (GetAuraApplication(spellId, caster, reqEffMask))
|
||||
return true;
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user