Делал по описанию с воввики (
http://www.wowwiki.com/Kel%27Thuzad_%28tactics%29):
Цитата:
Mana Detonation
A debuff randomly applied to a mana-using player. The player will explode after 5 seconds, dealing Arcane damage based on maximum mana to all players within 10 yards (not to himself). Mana-based melee will only deal ~10,000 damage, while holy Paladins and Priests can cause ~25,000 damage or more. It will also drain ~2,000 mana from the affected player. This spell has a 30-second cooldown.
|
Спелла, который "drain ~2,000 mana" не нашел, поэтому эта часть - вручную.
Код:
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index d44df94..3cd5169 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -1758,6 +1758,11 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList&
}
else
FillAreaTargets(targetUnitMap, m_targets.m_destX, m_targets.m_destY, radius, PUSH_DEST_CENTER, SPELL_TARGETS_FRIENDLY);
+ // Mana Detonation (Kel'Thuzad in Naxxramas) - should not damage caster
+ if (m_spellInfo->Id == 27820)
+ {
+ targetUnitMap.remove(m_caster);
+ }
break;
// TARGET_SINGLE_PARTY means that the spells can only be casted on a party member and not on the caster (some seals, fire shield from imp, etc..)
case TARGET_SINGLE_PARTY:
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 3ee1892..570d189 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -1680,8 +1680,14 @@ void Aura::TriggerSpell()
target->CastCustomSpell(target, 29879, &bpDamage, NULL, NULL, true, NULL, this, casterGUID);
return;
}
-// // Detonate Mana
-// case 27819: break;
+ // Detonate Mana (Kel'Thuzad in Naxxramas)
+ case 27819:
+ {
+ int32 bpDamage = m_target->GetMaxPower(POWER_MANA);
+ m_target->CastCustomSpell(m_target, 27820, &bpDamage , 0, 0, true);
+ m_target->ModifyPower(POWER_MANA, -2000);
+ return;
+ }
// // Controller Timer
// case 28095: break;
// // Stalagg Chain