*Fix kill command-by pasdVn.
*Fix tidal force. --HG-- branch : trunk
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
DELETE FROM `spell_proc_event` WHERE `entry` IN (55198, 34026);
|
||||
INSERT INTO `spell_proc_event` VALUES
|
||||
-- Tidial Force
|
||||
(55198, 0x00, 11, 0x000001C0, 0x00000000, 0x00000000, 0x00004000, 0x00000002, 0.000000, 0.000000, 0),
|
||||
-- Kill Command
|
||||
(34026, 0x00, 9, 0x00000000, 0x10000000, 0x00000000, 0x0000000, 0x00000000, 0.000000, 0.000000, 0);
|
||||
@@ -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);
|
||||
|
||||
@@ -2395,11 +2395,6 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
if(spellInfo->SpellFamilyFlags[2] & 0x100)
|
||||
spellInfo->MaxAffectedTargets = 2;
|
||||
break;
|
||||
case SPELLFAMILY_PRIEST:
|
||||
// Penance
|
||||
if (spellInfo->SpellFamilyFlags[1] & 0x800000)
|
||||
spellInfo->AttributesEx5 |= SPELL_ATTR_EX5_START_PERIODIC_AT_APPLY;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+21
-1
@@ -5388,6 +5388,18 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
|
||||
target = this;
|
||||
break;
|
||||
}
|
||||
// Kill command
|
||||
case 58914:
|
||||
{
|
||||
// Remove aura stack from pet
|
||||
RemoveSingleSpellAurasFromStack(58914);
|
||||
Unit* owner = GetOwner();
|
||||
if(!owner)
|
||||
return true;
|
||||
// reduce the owner's aura stack
|
||||
owner->RemoveSingleSpellAurasFromStack(34027);
|
||||
return true;
|
||||
}
|
||||
// Vampiric Touch (generic, used by some boss)
|
||||
case 52723:
|
||||
case 60501:
|
||||
@@ -6345,8 +6357,16 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
|
||||
triggered_spell_id = 16086;
|
||||
break;
|
||||
}
|
||||
// Tidal Force
|
||||
case 55198:
|
||||
{
|
||||
// Remove aura stack from caster
|
||||
RemoveSingleSpellAurasFromStack(55166);
|
||||
// drop charges
|
||||
return false;
|
||||
}
|
||||
// Totemic Power (The Earthshatterer set)
|
||||
case 28823:
|
||||
case 28823:
|
||||
{
|
||||
if( !pVictim )
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user