diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/SpellEffects.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index ed8beaaf4a3..6a0ffebfea4 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -5691,6 +5691,35 @@ void Spell::EffectScriptEffect(uint32 effIndex) m_caster->CastSpell(m_caster,uiSpells[uiRandom],true); break; } + case 45668: // Ultra-Advanced Proto-Typical Shortening Blaster + { + if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT) + return; + + if (roll_chance_i(50)) // chance unknown, using 50 + return; + + static uint32 const spellPlayer[5] = + { + 45674, // Bigger! + 45675, // Shrunk + 45678, // Yellow + 45682, // Ghost + 45684 // Polymorph + }; + + static uint32 const spellTarget[5] = { + 45673, // Bigger! + 45672, // Shrunk + 45677, // Yellow + 45681, // Ghost + 45683 // Polymorph + }; + + m_caster->CastSpell(m_caster, spellPlayer[urand(0,4)], true); + unitTarget->CastSpell(unitTarget, spellTarget[urand(0,4)], true); + break; + } } break; } |