![]() |
TrinityCore
|
Inheritance diagram for VehicleJoinEvent:Public Member Functions | |
| VehicleJoinEvent (Vehicle *v, Unit *u) | |
| bool | Execute (uint64, uint32) override |
| Actually adds the passenger @Passenger to vehicle @Target. | |
| void | Abort (uint64) override |
| Aborts the event. Implies that unit @Passenger will not be boarding vehicle @Target after all. | |
Public Member Functions inherited from BasicEvent | |
| BasicEvent () | |
| virtual | ~BasicEvent () |
| virtual bool | IsDeletable () const |
| void | ScheduleAbort () |
Public Attributes | |
| Vehicle * | Target |
| Unit * | Passenger |
| SeatMap::iterator | Seat |
Definition at line 37 of file Vehicle.cpp.
Definition at line 40 of file Vehicle.cpp.
|
overridevirtual |
Aborts the event. Implies that unit @Passenger will not be boarding vehicle @Target after all.
| parameter1 | Unused |
Check if the Vehicle was already uninstalled, in which case all auras were removed already
Remove the pending event when Abort was called on the event directly
@SPELL_AURA_CONTROL_VEHICLE auras can be applied even when the passenger is not (yet) on the vehicle. When this code is triggered it means that something went wrong in @Vehicle::AddVehiclePassenger, and we should remove the aura manually.
Reimplemented from BasicEvent.
Definition at line 949 of file Vehicle.cpp.
References Creature::DespawnOrUnsummon(), Vehicle::GetBase(), BaseEntity::GetGUID(), Unit::HasUnitTypeMask(), BaseEntity::IsInWorld(), Passenger, Unit::RemoveAurasByType(), Vehicle::RemovePendingEvent(), Seat, SPELL_AURA_CONTROL_VEHICLE, Target, TC_LOG_DEBUG, Object::ToCreature(), ObjectGuid::ToString(), and UNIT_MASK_ACCESSORY.
Referenced by Execute().
Actually adds the passenger @Passenger to vehicle @Target.
| parameter1 | Unused |
| parameter2 | Unused. |
Reimplemented from BasicEvent.
Definition at line 813 of file Vehicle.cpp.
References Abort(), ASSERT, VehicleSeatEntry::AttachmentOffset, CHARM_TYPE_VEHICLE, CURRENT_AUTOREPEAT_SPELL, CURRENT_GENERIC_SPELL, EVENT_VEHICLE_BOARD, Unit::ExitVehicle(), Aura::GetApplicationOfTarget(), Unit::GetAuraEffectsByType(), Vehicle::GetBase(), AuraApplication::GetBase(), BaseEntity::GetGUID(), Unit::GetMotionMaster(), AuraApplication::GetRemoveMode(), ThreatManager::GetThreatenedByMeList(), Unit::GetThreatManager(), BaseEntity::GetTypeId(), Unit::GetVehicle(), Vehicle::GetVehicleInfo(), MovementInfo::TransportInfo::guid, VehicleSeatEntry::HasFlag(), Unit::HasUnitMovementFlag(), Unit::HasUnitTypeMask(), VehicleEntry::ID, Unit::InterruptSpell(), Unit::IsAlive(), BaseEntity::IsInWorld(), Unit::IsUninteractible(), MotionMaster::LaunchMoveSpline(), WorldObject::m_movementInfo, MOTION_PRIORITY_HIGHEST, Mount, MOVEMENTFLAG_DISABLE_GRAVITY, Passenger, MovementInfo::TransportInfo::pos, Position::Relocate(), Unit::RemoveAurasByType(), Unit::RemoveAurasWithInterruptFlags(), Unit::RemoveNpcFlag(), Vehicle::RemovePendingEventsForPassenger(), Vehicle::RemovePendingEventsForSeat(), MovementInfo::TransportInfo::seat, Seat, VehicleSeatAddon::SeatOrientationOffset, Unit::SendClearTarget(), Player::SendOnCancelExpectedVehicleRideAura(), Unit::SetCharmedBy(), Unit::SetControlled(), Unit::SetDisableGravity(), Unit::SetVehicle(), SPELL_AURA_CONTROL_VEHICLE, SPELL_AURA_MOUNTED, sScriptMgr, Standing, Player::StopCastingBindSight(), Player::StopCastingCharm(), Target, MovementInfo::TransportInfo::time, Object::ToCreature(), Object::ToPlayer(), MovementInfo::transport, TYPEID_PLAYER, TYPEID_UNIT, UNIT_MASK_ACCESSORY, UNIT_NPC_FLAG_PLAYER_VEHICLE, UNIT_NPC_FLAG_SPELLCLICK, UNIT_STATE_ROOT, Player::UnsummonPetTemporaryIfAny(), Vehicle::UsableSeatNum, VEHICLE_SEAT_FLAG_B_KEEP_PET, VEHICLE_SEAT_FLAG_CAN_CONTROL, VEHICLE_SEAT_FLAG_DISABLE_GRAVITY, MovementInfo::TransportInfo::vehicleId, DBCPosition3D::X, DBCPosition3D::Y, and DBCPosition3D::Z.
| Unit* VehicleJoinEvent::Passenger |
Definition at line 45 of file Vehicle.cpp.
| SeatMap::iterator VehicleJoinEvent::Seat |
Definition at line 46 of file Vehicle.cpp.
Referenced by Abort(), Vehicle::AddVehiclePassenger(), and Execute().
| Vehicle* VehicleJoinEvent::Target |
Definition at line 44 of file Vehicle.cpp.
Referenced by Abort(), Execute(), and Vehicle::RemoveAllPassengers().