diff options
author | thenecromancer <none@none> | 2010-03-15 18:03:43 +0100 |
---|---|---|
committer | thenecromancer <none@none> | 2010-03-15 18:03:43 +0100 |
commit | a81ad6986c65f966bb3af100b60a4ad1794f6aed (patch) | |
tree | 2227850674fefdeb36548dd525b35af2851a040b /src | |
parent | 3ba08629266146e6fbe5534443a0fefd16230d8e (diff) |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Spell.cpp | 11 | ||||
-rw-r--r-- | src/game/SpellMgr.cpp | 1 | ||||
-rw-r--r-- | src/game/Unit.cpp | 4 |
3 files changed, 12 insertions, 4 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 85c9c17e07c..88d22b63164 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -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; } } diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index aed3fc4789f..0b77f1b51e9 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -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 diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index ba4f49f6691..a758e836845 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -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; |