aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellEffects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/SpellEffects.cpp')
-rw-r--r--src/game/SpellEffects.cpp18
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())