aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTartalo <none@none>2010-06-20 04:34:58 +0200
committerTartalo <none@none>2010-06-20 04:34:58 +0200
commitbd599aea170762fb030d4167bfd0a31c0fad0dc7 (patch)
tree714acb33c11e0bc0fbbc95ff6ce1e4e0e7b278ab
parent1f709c7d1972f12555fc0adb3c9d059db6bfc8f7 (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.cpp21
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())
{