From bd599aea170762fb030d4167bfd0a31c0fad0dc7 Mon Sep 17 00:00:00 2001 From: Tartalo Date: Sun, 20 Jun 2010 04:34:58 +0200 Subject: 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 --- src/server/game/Spells/Auras/SpellEffects.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src') 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()) { -- cgit v1.2.3