diff options
| -rw-r--r-- | sql/updates/world/2011_05_10_04_world_spell_linked_spell.sql | 2 | ||||
| -rwxr-xr-x | src/server/game/Entities/Player/Player.cpp | 4 | ||||
| -rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 10 |
3 files changed, 8 insertions, 8 deletions
diff --git a/sql/updates/world/2011_05_10_04_world_spell_linked_spell.sql b/sql/updates/world/2011_05_10_04_world_spell_linked_spell.sql new file mode 100644 index 00000000000..3bb1f90dbb0 --- /dev/null +++ b/sql/updates/world/2011_05_10_04_world_spell_linked_spell.sql @@ -0,0 +1,2 @@ +DELETE FROM `spell_linked_spell` WHERE `spell_trigger` = -11129; +INSERT INTO `spell_linked_spell` VALUES (-11129, -28682, 0, 'Combustion'); 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: |
