18#ifndef __TRINITY_VEHICLEDEFINES_H
19#define __TRINITY_VEHICLEDEFINES_H
179 float inx = x, iny = y, inz = z;
183 x = transX + inx * std::cos(transO) - iny * std::sin(transO);
184 y = transY + iny * std::cos(transO) + inx * std::sin(transO);
188 static void CalculatePassengerOffset(
float& x,
float& y,
float& z,
float* o,
float transX,
float transY,
float transZ,
float transO)
196 float inx = x, iny = y;
197 y = (iny - inx * std::tan(transO)) / (std::cos(transO) + std::sin(transO) * std::tan(transO));
198 x = (inx + iny * std::tan(transO)) / (std::cos(transO) + std::sin(transO) * std::tan(transO));
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
std::optional< T > Optional
Optional helper class to wrap optional values within.
@ POWER_SHADOWFLAME_ENERGY
@ POWER_PYROCLASTIC_FRENZY
std::map< int8, VehicleSeat > SeatMap
std::map< ObjectGuid::LowType, VehicleAccessoryList > VehicleAccessoryContainer
@ VEHICLE_SPELL_PARACHUTE
@ VEHICLE_SPELL_RIDE_HARDCODED
@ VEHICLE_FLAG_NO_JUMPING
@ VEHICLE_FLAG_ADJUST_AIM_ANGLE
@ VEHICLE_FLAG_FIXED_POSITION
@ VEHICLE_FLAG_FULLSPEEDTURNING
@ VEHICLE_FLAG_ALLOW_PITCHING
@ VEHICLE_FLAG_CUSTOM_PITCH
@ VEHICLE_FLAG_ADJUST_AIM_POWER
@ VEHICLE_FLAG_FULLSPEEDPITCHING
std::vector< VehicleAccessory > VehicleAccessoryList
std::map< uint32, VehicleAccessoryList > VehicleAccessoryTemplateContainer
virtual ObjectGuid GetTransportGUID() const =0
virtual void CalculatePassengerPosition(float &x, float &y, float &z, float *o=nullptr) const =0
This method transforms supplied transport offsets into global coordinates.
void UpdatePassengerPosition(Map *map, WorldObject *passenger, float x, float y, float z, float o, bool setHomePosition)
virtual float GetTransportOrientation() const =0
static void CalculatePassengerPosition(float &x, float &y, float &z, float *o, float transX, float transY, float transZ, float transO)
virtual int32 GetMapIdForSpawning() const =0
virtual TransportBase * RemovePassenger(WorldObject *passenger)=0
virtual void CalculatePassengerOffset(float &x, float &y, float &z, float *o=nullptr) const =0
This method transforms supplied global coordinates into local offsets.
virtual void AddPassenger(WorldObject *passenger)=0
static void CalculatePassengerOffset(float &x, float &y, float &z, float *o, float transX, float transY, float transZ, float transO)
static float NormalizeOrientation(float o)
VehicleAccessory(uint32 entry, int8 seatId, bool isMinion, uint8 summonType, uint32 summonTime, Optional< uint32 > rideSpellID)
Optional< uint32 > RideSpellID
float SeatOrientationOffset
VehicleSeatAddon(float orientatonOffset, float exitX, float exitY, float exitZ, float exitO, uint8 param)
VehicleExitParameters ExitParameter
VehicleSeatAddon const * SeatAddon
VehicleSeat(VehicleSeatEntry const *seatInfo, VehicleSeatAddon const *seatAddon)
VehicleSeatEntry const * SeatInfo
Milliseconds DespawnDelay