diff options
| author | tobmaps <spambot42@yandex.ru> | 2011-05-11 04:17:38 +0700 |
|---|---|---|
| committer | tobmaps <spambot42@yandex.ru> | 2011-05-11 04:17:38 +0700 |
| commit | 09fb6f555f5cd8bd41b396e3fcc58b7cdc071925 (patch) | |
| tree | 052b2f92a96ae7b696420b4d2dc7e2fec0f2aa69 /src | |
| parent | 492e6fd3da39f34e682b080d66bde992a4e4e160 (diff) | |
Core/Spells: More generic implementation of Combustion
Closes #60 & #78
Diffstat (limited to 'src')
| -rwxr-xr-x | src/server/game/Entities/Player/Player.cpp | 4 | ||||
| -rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 10 |
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: |
