aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellAuras.cpp
diff options
context:
space:
mode:
authorTrazom62 <none@none>2010-05-20 20:09:18 +0200
committerTrazom62 <none@none>2010-05-20 20:09:18 +0200
commitd2cad4b14e27c8c7b7ba5be7449dbb908f34497d (patch)
tree722ed1fb40c1b90ff5668cbe8be6063d2233026b /src/game/SpellAuras.cpp
parentce7886aeb0df0257aa953bdf83ef51c4251a6ebf (diff)
Script HoR instance. 1st part.
Fixes issue #1311. - Intro event. - 10 waves including Falric and Marwyn. - Script based on proposal of Synric on trinitycore forum (submitted by Skarabex on GC). --HG-- branch : trunk
Diffstat (limited to 'src/game/SpellAuras.cpp')
-rw-r--r--src/game/SpellAuras.cpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index a531f24922e..1b2e0f5b6fd 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -1089,9 +1089,26 @@ void Aura::HandleAuraSpecificMods(AuraApplication const * aurApp, Unit * caster,
switch(GetSpellProto()->SpellFamilyName)
{
case SPELLFAMILY_GENERIC:
- // Remove the immunity shield marker on Avenging Wrath removal if Forbearance is not present
- if (GetId() == 61987 && target->HasAura(61988) && !target->HasAura(25771))
- target->RemoveAura(61988);
+ switch(GetId())
+ {
+ case 61987: // Avenging Wrath
+ // Remove the immunity shield marker on Avenging Wrath removal if Forbearance is not present
+ if (target->HasAura(61988) && !target->HasAura(25771))
+ target->RemoveAura(61988);
+ break;
+ case 72368: // Shared Suffering
+ case 72369:
+ if (caster)
+ {
+ if (AuraEffect* aurEff = GetEffect(0))
+ {
+ int32 remainingDamage = aurEff->GetAmount() * (aurEff->GetTotalTicks() - aurEff->GetTickNumber());
+ if (remainingDamage > 0)
+ caster->CastCustomSpell(caster, 72373, NULL, &remainingDamage, NULL, true);
+ }
+ }
+ break;
+ }
break;
case SPELLFAMILY_MAGE:
switch(GetId())