From bbdf5ca8ebeadb6ed5d51e67ce249dd1c2c53b1a Mon Sep 17 00:00:00 2001 From: DiSlord Date: Sat, 31 Jan 2009 01:34:20 +0300 Subject: [PATCH] [7204] Fixed type conversion in spell bonuses calc (fixed huge damage in some cases) Signed-off-by: DiSlord --- src/game/Unit.cpp | 12 ++++++------ src/shared/revision_nr.h | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 4d935440d..069eb957b 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -7619,13 +7619,13 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3 break; } } - int DotTicks = 6; + int32 DotTicks = 6; if(spellProto->EffectAmplitude[x] != 0) DotTicks = DotDuration / spellProto->EffectAmplitude[x]; if(DotTicks) { - DoneAdvertisedBenefit /= DotTicks*stack; - TakenAdvertisedBenefit /= DotTicks*stack; + DoneAdvertisedBenefit /= DotTicks*int32(stack); + TakenAdvertisedBenefit /= DotTicks*int32(stack); } } } @@ -8032,13 +8032,13 @@ uint32 Unit::SpellHealingBonus(Unit *pVictim, SpellEntry const *spellProto, uint break; } } - int DotTicks = 6; + int32 DotTicks = 6; if(spellProto->EffectAmplitude[x] != 0) DotTicks = DotDuration / spellProto->EffectAmplitude[x]; if(DotTicks) { - DoneAdvertisedBenefit /= DotTicks; - TakenAdvertisedBenefit /= DotTicks; + DoneAdvertisedBenefit /= DotTicks*int32(stack); + TakenAdvertisedBenefit /= DotTicks*int32(stack); } } } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index eb88814b6..991632ee0 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "7203" + #define REVISION_NR "7204" #endif // __REVISION_NR_H__