aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellAuras.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-08-23 22:09:43 -0500
committermegamage <none@none>2009-08-23 22:09:43 -0500
commit1ee90e1022a235859316e55356ea8a3d2f456c9b (patch)
treeb3db14f5e81ac865bb3fe92158b8837eb9b0ca5f /src/game/SpellAuras.cpp
parente71f5e474e2d935f2bfd8520dbf62a6f4b552a18 (diff)
*Update vehicle system. Make vehicle a seperate class from creature.
--HG-- branch : trunk
Diffstat (limited to 'src/game/SpellAuras.cpp')
-rw-r--r--src/game/SpellAuras.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 837b8323a60..344dd7f733a 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -4487,8 +4487,8 @@ void AuraEffect::HandleAuraPeriodicDummy(bool apply, bool Real, bool changeAmoun
if(m_target->GetAuras().count(62399) >= (m_target->GetMap()->IsHeroic() ? 4 : 2))
{
m_target->CastSpell(m_target, 62475, true); // System Shutdown
- if(m_target->m_Vehicle)
- m_target->m_Vehicle->CastSpell(m_target, 62475, true);
+ if(Unit *veh = m_target->GetVehicleBase())
+ veh->CastSpell(m_target, 62475, true);
}
}
break;
@@ -6619,27 +6619,25 @@ void AuraEffect::HandleAuraControlVehicle(bool apply, bool Real, bool /*changeAm
if(!Real)
return;
- if(m_target->GetTypeId() != TYPEID_UNIT || !((Creature*)m_target)->isVehicle())
+ if(!m_target->IsVehicle())
return;
Unit *caster = GetSource();
if(!caster || caster == m_target)
return;
- Vehicle * const vehicle = dynamic_cast<Vehicle * const>(m_target);
-
if (apply)
{
//if(caster->GetTypeId() == TYPEID_PLAYER)
// if(Pet *pet = ((Player*)caster)->GetPet())
// pet->Remove(PET_SAVE_AS_CURRENT);
- caster->EnterVehicle(vehicle, m_amount - 1);
+ caster->EnterVehicle(m_target->GetVehicleKit(), m_amount - 1);
}
else
{
if(GetId() == 53111) // Devour Humanoid
{
- vehicle->Kill(caster);
+ m_target->Kill(caster);
if(caster->GetTypeId() == TYPEID_UNIT)
((Creature*)caster)->RemoveCorpse();
}