diff options
author | maximius <none@none> | 2009-09-14 12:09:22 -0700 |
---|---|---|
committer | maximius <none@none> | 2009-09-14 12:09:22 -0700 |
commit | 49b6e6b037fdeb79ee4504e699997d22affc081a (patch) | |
tree | 4fe0b94e0350d97b6406ab6dbf619d6f377eed86 | |
parent | 902f6a14e6970fe7aed8aeff758062d2778e5d7c (diff) |
*Stoneclaw Totem & Glyph of Stoneclaw Totem by Themris and thenecromancer
--HG--
branch : trunk
-rw-r--r-- | sql/updates/5654_world_creature_TDB.sql | 11 | ||||
-rw-r--r-- | src/game/Totem.cpp | 33 |
2 files changed, 44 insertions, 0 deletions
diff --git a/sql/updates/5654_world_creature_TDB.sql b/sql/updates/5654_world_creature_TDB.sql new file mode 100644 index 00000000000..e40ea32058b --- /dev/null +++ b/sql/updates/5654_world_creature_TDB.sql @@ -0,0 +1,11 @@ + +UPDATE `creature_template` SET `spell2`=55328 WHERE `entry`=3579; +UPDATE `creature_template` SET `spell2`=55329 WHERE `entry`=3911; +UPDATE `creature_template` SET `spell2`=55330 WHERE `entry`=3912; +UPDATE `creature_template` SET `spell2`=55332 WHERE `entry`=3913; +UPDATE `creature_template` SET `spell2`=55333 WHERE `entry`=7398; +UPDATE `creature_template` SET `spell2`=55335 WHERE `entry`=7399; +UPDATE `creature_template` SET `spell2`=55278 WHERE `entry`=15478; +UPDATE `creature_template` SET `spell2`=58589 WHERE `entry`=31120; +UPDATE `creature_template` SET `spell2`=58590 WHERE `entry`=31121; +UPDATE `creature_template` SET `spell2`=58591 WHERE `entry`=31122; 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); |