diff options
author | Tartalo <none@none> | 2010-06-20 04:34:58 +0200 |
---|---|---|
committer | Tartalo <none@none> | 2010-06-20 04:34:58 +0200 |
commit | bd599aea170762fb030d4167bfd0a31c0fad0dc7 (patch) | |
tree | 714acb33c11e0bc0fbbc95ff6ce1e4e0e7b278ab | |
parent | 1f709c7d1972f12555fc0adb3c9d059db6bfc8f7 (diff) |
Fix spells 48129, 60320 & 60321 (Scrolls of Recall I, II & III)
Now they buff Lost! and stop teleporting if they are used beyond max safe
level
Lost! buff is not fixed so there is no random teleport penalty yet
--HG--
branch : trunk
-rw-r--r-- | src/server/game/Spells/Auras/SpellEffects.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/server/game/Spells/Auras/SpellEffects.cpp b/src/server/game/Spells/Auras/SpellEffects.cpp index e6e181815a1..a922686d2c4 100644 --- a/src/server/game/Spells/Auras/SpellEffects.cpp +++ b/src/server/game/Spells/Auras/SpellEffects.cpp @@ -2553,6 +2553,27 @@ void Spell::EffectTeleportUnits(uint32 /*i*/) if (!unitTarget || unitTarget->isInFlight()) return; + // Pre effects + uint8 uiMaxSafeLevel = 0; + switch (m_spellInfo->Id) + { + case 48129: // Scroll of Recall + uiMaxSafeLevel = 40; + case 60320: // Scroll of Recall II + if (!uiMaxSafeLevel) + uiMaxSafeLevel = 70; + case 60321: // Scroll of Recal III + if (!uiMaxSafeLevel) + uiMaxSafeLevel = 80; + + if (unitTarget->getLevel() > uiMaxSafeLevel) + { + unitTarget->AddAura(60444,unitTarget); //Apply Lost! Aura + return; + } + break; + } + // If not exist data for dest location - return if (!m_targets.HasDst()) { |