diff options
| author | QAston <none@none> | 2009-03-22 22:21:25 +0100 |
|---|---|---|
| committer | QAston <none@none> | 2009-03-22 22:21:25 +0100 |
| commit | 36ccfd416820ca87ac6bf0ce7c59b52eace0884e (patch) | |
| tree | 902fd9af2188b1f92e1519d825b95f5058616d97 /src/game/SpellAuras.cpp | |
| parent | 25c13e0d62ad9987eb9bf5a3d863791e6f148d33 (diff) | |
*Fix kill command-by pasdVn.
*Fix tidal force.
--HG--
branch : trunk
Diffstat (limited to 'src/game/SpellAuras.cpp')
| -rw-r--r-- | src/game/SpellAuras.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 5f39e3f585c..9313b7e6fd4 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -1162,6 +1162,7 @@ void Aura::HandleAddModifier(bool apply, bool Real) case 57761: // Fireball! SetAuraCharges(1); break; + } SpellModifier *mod = new SpellModifier; @@ -1955,6 +1956,44 @@ void Aura::HandleAuraDummy(bool apply, bool Real) if(caster) caster->CastSpell(caster,13138,true,NULL,this); return; + case 34026: // kill command + { + Unit * pet = m_target->GetPet(); + if (!pet) + return; + + m_target->CastSpell(m_target,34027,true,NULL,this); + + // set 3 stacks and 3 charges (to make all auras not disappear at once) + Aura* owner_aura = m_target->GetAura(34027,0); + Aura* pet_aura = pet->GetAura(58914,0); + if( owner_aura ) + { + owner_aura->SetStackAmount(owner_aura->GetSpellProto()->StackAmount); + } + if( pet_aura ) + { + pet_aura->SetAuraCharges(0); + pet_aura->SetStackAmount(owner_aura->GetSpellProto()->StackAmount); + } + return; + } + case 55198: // Tidal Force + { + m_target->CastSpell(m_target,55166,true,NULL,this); + // set 3 stacks and 3 charges (to make all auras not disappear at once) + Aura* owner_aura = m_target->GetAura(55166,0); + if( owner_aura ) + { + // This aura lasts 2 sec, need this hack to properly proc spells + // TODO: drop aura charges for ApplySpellMod in ProcDamageAndSpell + SetAuraDuration(owner_aura->GetAuraDuration()); + // Make aura be not charged-this prevents removing charge on not crit spells + owner_aura->SetAuraCharges(0); + owner_aura->SetStackAmount(owner_aura->GetSpellProto()->StackAmount); + } + return; + } case 39850: // Rocket Blast if(roll_chance_i(20)) // backfire stun m_target->CastSpell(m_target, 51581, true, NULL, this); |
