aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellEffects.cpp
diff options
context:
space:
mode:
authorMachiavelli <machiavelli.trinity@gmail.com>2011-08-18 20:24:46 +0200
committerMachiavelli <machiavelli.trinity@gmail.com>2011-08-18 20:28:07 +0200
commit917ffdffacde2e937be21d6659a66ee7ba312f7b (patch)
tree81bcdbf53351682845c46defc988d798a4fd5f7c /src/server/game/Spells/SpellEffects.cpp
parentb4ee9ebfc8149f0dcbfd3f741059d420bf61a46a (diff)
Core/Spells: More research on SPELL_ATTR6_ONLY_CAST_WHILE_POSSESSED and implement new research (original caster should be charmer or owner) and implement QAston's earlier research (only castable while possessed).
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rwxr-xr-xsrc/server/game/Spells/SpellEffects.cpp23
1 files changed, 7 insertions, 16 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 36244257d28..5b8e23697df 100755
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -5062,27 +5062,18 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
m_caster->ToPlayer()->learnSpell(discoveredSpell, false);
return;
}
- case 62428: // Load into Catapult
- {
- 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 (Unit* seat = m_caster->GetVehicleBase())
{
- if (Unit* passenger = seat->GetPassenger(1))
- if (Creature* oldContainer = passenger->ToCreature())
- oldContainer->DisappearAndDie();
-
- // TODO: a hack, range = 11, should after some time cast, otherwise too far
- m_caster->CastSpell(seat->GetBase(), 62496, true);
- unitTarget->EnterVehicle(m_caster, 1);
+ if (Unit* parent = seat->GetVehicleBase())
+ {
+ // TODO: a hack, range = 11, should after some time cast, otherwise too far
+ m_caster->CastSpell(parent, 62496, true);
+ unitTarget->CastSpell(parent, m_spellInfo->Effects[EFFECT_0].CalcValue());
+ }
}
}
return;