aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <none@none>2010-07-11 20:30:53 +0200
committerShauren <none@none>2010-07-11 20:30:53 +0200
commitaebbdcebc2e02710fbe468cffcb03e44b52a8686 (patch)
tree631a991bcd8f0b4f93f517361a740eeb83845a88
parent63179eb772b39792b087207c0b1b6fdc8bc0e063 (diff)
This should fix Savage Defense related crashes
--HG-- branch : trunk
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index d990ae397af..d52554fabf6 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -1801,9 +1801,8 @@ void Unit::CalcAbsorbResist(Unit *pVictim, SpellSchoolMask schoolMask, DamageEff
if (RemainingDamage < currentAbsorb)
currentAbsorb = RemainingDamage;
- // don't use up the aura if we don't absorb anything
- if (currentAbsorb > 0)
- (*i)->GetBase()->DropCharge();
+ (*i)->SetAmount(0); // guarantee removal
+ existExpired = true; // maybe hacky but not crashy
RemainingDamage -= currentAbsorb;
continue;