I fixed it. There's the code:
// Deathbringer's Will Normal
case 71519:
// Deathbringer's Will Heroic
case 71562:
{
if (((Player*)this)->HasSpellCooldown(dummySpell->Id))
return SPELL_AURA_PROC_FAILED;
switch (getClass())
{
case CLASS_WARRIOR:
case CLASS_PALADIN:
case CLASS_DEATH_KNIGHT:
{
uint32 proc_spells[] = {71491, 71492, 71484, 71559, 71560, 71561};
triggered_spell_id = (dummySpell->Id) == 71519 ? proc_spells[urand(0, 2)] : proc_spells[urand(3, 5)];
break;
}
case CLASS_ROGUE:
case CLASS_SHAMAN:
{
uint32 proc_spells[] = {71485, 71486, 71492, 71556, 71558, 71560};
triggered_spell_id = (dummySpell->Id) == 71519 ? proc_spells[urand(0, 2)] : proc_spells[urand(3, 5)];
break;
}
case CLASS_HUNTER:
{
uint32 proc_spells[] = {71485, 71486, 71491, 71556, 71558, 71559};
triggered_spell_id = (dummySpell->Id) == 71519 ? proc_spells[urand(0, 2)] : proc_spells[urand(3, 5)];
break;
}
case CLASS_DRUID:
{
uint32 proc_spells[] = {71485, 71492, 71484, 71556, 71560, 71561};
triggered_spell_id = (dummySpell->Id) == 71519 ? proc_spells[urand(0, 2)] : proc_spells[urand(3, 5)];
break;
}
default:
return SPELL_AURA_PROC_FAILED;
}
target = this;
((Player*)this)->AddSpellCooldown(dummySpell->Id, 0, time(NULL) + cooldown);
break;
}
if someone need it add this code to UnitAuraProcHandler.cpp this function:
SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAura, SpellEntry const * procSpell, uint32 procFlag, uint32 procEx, uint32 cooldown)