mirror of
https://github.com/mangosfour/server.git
synced 2025-12-17 07:37:03 +00:00
[11385] Add support for static vehicle spawns
Signed-off-by: zergtmn <zerg@myisp.com>
This commit is contained in:
parent
75e1e7c3a3
commit
2835aa5f20
32 changed files with 115 additions and 331 deletions
|
|
@ -7927,27 +7927,31 @@ void Aura::HandleAuraControlVehicle(bool apply, bool Real)
|
|||
return;
|
||||
|
||||
Unit* target = GetTarget();
|
||||
if (target->GetTypeId() != TYPEID_UNIT || !((Creature*)target)->IsVehicle())
|
||||
if (!target->IsVehicle())
|
||||
return;
|
||||
Vehicle* vehicle = (Vehicle*)target;
|
||||
|
||||
// TODO: Check for free seat
|
||||
|
||||
Unit *caster = GetCaster();
|
||||
if (!caster || caster->GetTypeId() != TYPEID_PLAYER)
|
||||
if (!caster)
|
||||
return;
|
||||
|
||||
if (apply)
|
||||
{
|
||||
((Player*)caster)->RemovePet(PET_SAVE_AS_CURRENT);
|
||||
((Player*)caster)->EnterVehicle(vehicle);
|
||||
if (caster->GetTypeId() == TYPEID_PLAYER)
|
||||
((Player*)caster)->RemovePet(PET_SAVE_AS_CURRENT);
|
||||
|
||||
//caster->EnterVehicle(target);
|
||||
}
|
||||
else
|
||||
{
|
||||
SpellEntry const *spell = GetSpellProto();
|
||||
|
||||
// some SPELL_AURA_CONTROL_VEHICLE auras have a dummy effect on the player - remove them
|
||||
caster->RemoveAurasDueToSpell(spell->Id);
|
||||
caster->RemoveAurasDueToSpell(GetId());
|
||||
|
||||
((Player*)caster)->ExitVehicle(vehicle);
|
||||
//caster->ExitVehicle();
|
||||
|
||||
if (caster->GetTypeId() == TYPEID_PLAYER)
|
||||
((Player*)caster)->ResummonPetTemporaryUnSummonedIfAny();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue