aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <none@none>2010-09-06 13:54:17 +0200
committerShauren <none@none>2010-09-06 13:54:17 +0200
commit588092960bf6378b89bf1d82c4dbc9217f0a0ac4 (patch)
treebc4d9bca21ce7a33aaf9ec0ab4292bb9c5857657 /src
parent1b10bd5d057c9a3e44ae9b937fa2b31b1b39591d (diff)
Core/Spells: Implemented effect for Tiny Abomination in a Jar trinket, original patch by Stryker
Closes issue #2716. --HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp40
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;
}