Skip to content

Instantly share code, notes, and snippets.

@tobmaps
Created August 16, 2011 11:15
Show Gist options
  • Save tobmaps/1148873 to your computer and use it in GitHub Desktop.
Save tobmaps/1148873 to your computer and use it in GitHub Desktop.
Amplify Magic, Dampgen Magic, Pyrobuffet fix
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 379af2e..f934527 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -10860,16 +10860,16 @@ uint32 Unit::SpellDamageBonus(Unit* victim, SpellInfo const* spellProto, uint32
coeff = DotFactor;
}
- float coeff2 = CalculateLevelPenalty(spellProto) * stack;
- if (spellProto->SpellFamilyName) // TODO: fix this
- TakenTotal+= int32(TakenAdvertisedBenefit * coeff * coeff2);
+ float factorMod = CalculateLevelPenalty(spellProto) * stack;
+ // level penalty still applied on Taken bonus - is it blizzlike?
+ TakenTotal+= int32(TakenAdvertisedBenefit * factorMod);
if (Player* modOwner = GetSpellModOwner())
{
coeff *= 100.0f;
modOwner->ApplySpellMod(spellProto->Id, SPELLMOD_BONUS_MULTIPLIER, coeff);
coeff /= 100.0f;
}
- DoneTotal += int32(DoneAdvertisedBenefit * coeff * coeff2);
+ DoneTotal += int32(DoneAdvertisedBenefit * coeff * factorMod);
}
// Some spells don't benefit from done mods
@@ -11419,7 +11419,8 @@ uint32 Unit::SpellHealingBonus(Unit* victim, SpellInfo const* spellProto, uint32
}
factorMod *= CalculateLevelPenalty(spellProto) * stack;
- TakenTotal += int32(TakenAdvertisedBenefit * coeff * factorMod);
+ // level penalty still applied on Taken bonus - is it blizzlike?
+ TakenTotal += int32(TakenAdvertisedBenefit * factorMod);
if (Player* modOwner = GetSpellModOwner())
{
coeff *= 100.0f;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment