18#ifndef __TRINITY_VEHICLEDEFINES_H
19#define __TRINITY_VEHICLEDEFINES_H
178 float inx = x, iny = y, inz = z;
182 x = transX + inx * std::cos(transO) - iny * std::sin(transO);
183 y = transY + iny * std::cos(transO) + inx * std::sin(transO);
187 static void CalculatePassengerOffset(
float& x,
float& y,
float& z,
float* o,
float transX,
float transY,
float transZ,
float transO)
195 float inx = x, iny = y;
196 y = (iny - inx * std::tan(transO)) / (std::cos(transO) + std::sin(transO) * std::tan(transO));
197 x = (inx + iny * std::tan(transO)) / (std::cos(transO) + std::sin(transO) * std::tan(transO));
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
@ 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)
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