diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index ed97fbf077a..8fbec2eefb2 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -7156,6 +7156,46 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger basepoints0 = triggerAmount*damage/100; break; } + case 71406: // Tiny Abomination in a Jar + { + if (!pVictim || !pVictim->isAlive()) + return false; + + CastSpell(this, 71432, true, NULL, triggeredByAura); + + Aura const* dummy = GetAura(71432); + if (!dummy || dummy->GetStackAmount() < 8) + return false; + + RemoveAurasDueToSpell(71432); + triggered_spell_id = 71433; // default main hand attack + // roll if offhand + if (Player const* player = ToPlayer()) + if (player->GetWeaponForAttack(OFF_ATTACK, true) && urand(0, 1)) + triggered_spell_id = 71434; + target = pVictim; + break; + } + case 71545: // Tiny Abomination in a Jar (Heroic) + { + if (!pVictim || !pVictim->isAlive()) + return false; + + CastSpell(this, 71432, true, NULL, triggeredByAura); + + Aura const* dummy = GetAura(71432); + if (!dummy || dummy->GetStackAmount() < 7) + return false; + + RemoveAurasDueToSpell(71432); + triggered_spell_id = 71433; // default main hand attack + // roll if offhand + if (Player const* player = ToPlayer()) + if (player->GetWeaponForAttack(OFF_ATTACK, true) && urand(0, 1)) + triggered_spell_id = 71434; + target = pVictim; + break; + } } break; } |