aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rwxr-xr-xsrc/server/game/Entities/Player/Player.cpp4
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp10
2 files changed, 6 insertions, 8 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 738ff2abd97..0ec4de19dd7 100755
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -19630,6 +19630,10 @@ void Player::RemoveSpellMods(Spell * spell)
void Player::DropModCharge(SpellModifier * mod, Spell * spell)
{
+ // this mod shouldn't be removed here
+ if (mod->op == SPELLMOD_CRIT_DAMAGE_BONUS)
+ return;
+
if (spell && mod->ownerAura && mod->charges > 0)
{
--mod->charges;
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 78d23dfe870..61133625cfd 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -7908,17 +7908,11 @@ bool Unit::HandleAuraProc(Unit * pVictim, uint32 damage, Aura * triggeredByAura,
//last charge and crit
if (triggeredByAura->GetCharges() <= 1 && (procEx & PROC_EX_CRITICAL_HIT))
- {
- RemoveAurasDueToSpell(28682); //-> remove Combustion auras
return true; // charge counting (will removed)
- }
- // This function can be called twice during one spell hit (Area of Effect spells)
- // Make sure 28682 wasn't already removed by previous call
- if (HasAura(28682))
- this->CastSpell(this, 28682, true);
+ CastSpell(this, 28682, true);
- return false; // ordinary chrages will be removed during crit chance computations.
+ return (procEx & PROC_EX_CRITICAL_HIT) ? true : false;
}
// Empowered Fire
case 31656: