fix (Core/Unit) Apply Capacitor cooldown on trigger proc instead of on stack add (#18189)
fix capacitor cooldown
This commit is contained in:
parent
b872f6a8b8
commit
4cfad0ffac
1 changed files with 8 additions and 5 deletions
|
|
@ -9253,20 +9253,23 @@ bool Unit::HandleProcTriggerSpell(Unit* victim, uint32 damage, AuraEffect* trigg
|
|||
break;
|
||||
}
|
||||
|
||||
if (cooldown && GetTypeId() == TYPEID_PLAYER)
|
||||
if (cooldown && ToPlayer()->HasSpellCooldown(stack_spell_id))
|
||||
{
|
||||
if (ToPlayer()->HasSpellCooldown(stack_spell_id))
|
||||
return false;
|
||||
|
||||
ToPlayer()->AddSpellCooldown(stack_spell_id, 0, cooldown);
|
||||
return false;
|
||||
}
|
||||
|
||||
CastSpell(this, stack_spell_id, true, nullptr, triggeredByAura);
|
||||
|
||||
Aura* dummy = GetAura(stack_spell_id);
|
||||
if (!dummy || dummy->GetStackAmount() < triggerAmount)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (cooldown)
|
||||
{
|
||||
ToPlayer()->AddSpellCooldown(stack_spell_id, 0, cooldown);
|
||||
}
|
||||
RemoveAurasDueToSpell(stack_spell_id);
|
||||
CastSpell(victim, trigger_spell_id, true, nullptr, triggeredByAura);
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue