diff options
Diffstat (limited to 'src/game/SpellEffects.cpp')
-rw-r--r-- | src/game/SpellEffects.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 433a677e019..1bf992f366d 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -5295,11 +5295,23 @@ void Spell::EffectScriptEffect(uint32 effIndex) return; } case 62428: // Load into Catapult - if(Unit *demolisher = m_caster->GetVehicleBase()) - if(Vehicle *seat = m_caster->GetVehicleKit()) - if(Unit *passenger = seat->GetPassenger(0)) + if(Vehicle *seat = m_caster->GetVehicleKit()) + if(Unit *passenger = seat->GetPassenger(0)) + if(Unit *demolisher = m_caster->GetVehicleBase()) passenger->CastSpell(demolisher, damage, true); return; + case 62482: // Grab Crate + if(unitTarget) + { + if(Vehicle *seat = m_caster->GetVehicleKit()) + { + if(Creature *oldContainer = dynamic_cast<Creature*>(seat->GetPassenger(1))) + oldContainer->DisappearAndDie(); + unitTarget->CastSpell(seat->GetBase(), 62473, true); + unitTarget->EnterVehicle(seat, 1); + } + } + return; case 60123: // Lightwell { if (m_caster->GetTypeId() != TYPEID_UNIT || !((Creature*)m_caster)->isSummon()) |