diff options
Diffstat (limited to 'src/game/SpellEffects.cpp')
-rw-r--r-- | src/game/SpellEffects.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 35db1b0cc04..e0e84b7c2bb 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -5345,6 +5345,39 @@ void Spell::EffectScriptEffect(uint32 effIndex) ((TempSummon*)m_caster)->UnSummon(); return; } + // 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; + } } break; } |