aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/Totem.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/game/Totem.cpp b/src/game/Totem.cpp
index aba3550ab5a..0b621e56edf 100644
--- a/src/game/Totem.cpp
+++ b/src/game/Totem.cpp
@@ -91,6 +91,39 @@ void Totem::InitSummon()
if(m_type == TOTEM_PASSIVE)
CastSpell(this, GetSpell(), true);
+
+ // Stoneclaw Totem
+ case 55328: // Rank 1
+ case 55329: // Rank 2
+ case 55330: // Rank 3
+ case 55332: // Rank 4
+ case 55333: // Rank 5
+ case 55335: // Rank 6
+ case 55278: // Rank 7
+ case 58589: // Rank 8
+ case 58590: // Rank 9
+ case 58591: // Rank 10
+ {
+ int32 basepoints0 = damage;
+ // Cast Absorb on totems
+ for(uint8 slot = SUMMON_SLOT_TOTEM; slot < MAX_TOTEM_SLOT; ++slot)
+ {
+ if(!unitTarget->m_SummonSlot[slot])
+ continue;
+
+ Creature* totem = unitTarget->GetMap()->GetCreature(unitTarget->m_SummonSlot[slot]);
+ if(totem && totem->isTotem())
+ m_caster->CastCustomSpell(totem, 55277, &basepoints0, NULL, NULL, true);
+ }
+ // Glyph of Stoneclaw Totem
+ if (AuraEffect *aur=unitTarget->GetAuraEffect(63298, 0))
+ {
+ basepoints0 *= aur->GetAmount();
+ m_caster->CastCustomSpell(unitTarget, 55277, &basepoints0, NULL, NULL, true);
+ }
+ break;
+ }
+
// Some totems can have both instant effect and passive spell
if (GetSpell(1))
CastSpell(this, GetSpell(1), true);