mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 01:15:35 +01:00
Core/Vehicles: define vehicle seat attachment id's and name the first of them that is suposed to invert the vehicle seat orientation
This commit is contained in:
@@ -639,6 +639,37 @@ enum VehicleSeatFlagsB
|
||||
VEHICLE_SEAT_FLAG_B_VEHICLE_PLAYERFRAME_UI = 0x80000000 // Lua_UnitHasVehiclePlayerFrameUI - actually checked for flagsb &~ 0x80000000
|
||||
};
|
||||
|
||||
enum VehicleAttachmentIds
|
||||
{
|
||||
VEHICLE_ATTACHMENT_ID_UNK0 = -1,
|
||||
VEHICLE_ATTACHMENT_ID_UNK1 = 0,
|
||||
VEHICLE_ATTACHMENT_ID_UNK2 = 1,
|
||||
VEHICLE_ATTACHMENT_ID_INVERT_SEAT_ANGLE = 2,
|
||||
VEHICLE_ATTACHMENT_ID_UNK3 = 3,
|
||||
VEHICLE_ATTACHMENT_ID_UNK4 = 4,
|
||||
VEHICLE_ATTACHMENT_ID_UNK5 = 5,
|
||||
VEHICLE_ATTACHMENT_ID_UNK6 = 6,
|
||||
VEHICLE_ATTACHMENT_ID_UNK7 = 7,
|
||||
VEHICLE_ATTACHMENT_ID_UNK8 = 8,
|
||||
VEHICLE_ATTACHMENT_ID_UNK9 = 9,
|
||||
VEHICLE_ATTACHMENT_ID_UNK10 = 10,
|
||||
VEHICLE_ATTACHMENT_ID_UNK11 = 11,
|
||||
VEHICLE_ATTACHMENT_ID_UNK12 = 12,
|
||||
VEHICLE_ATTACHMENT_ID_UNK13 = 13,
|
||||
VEHICLE_ATTACHMENT_ID_UNK14 = 14,
|
||||
VEHICLE_ATTACHMENT_ID_UNK15 = 15,
|
||||
VEHICLE_ATTACHMENT_ID_UNK16 = 16,
|
||||
VEHICLE_ATTACHMENT_ID_UNK17 = 17,
|
||||
VEHICLE_ATTACHMENT_ID_UNK18 = 18,
|
||||
VEHICLE_ATTACHMENT_ID_UNK19 = 19,
|
||||
VEHICLE_ATTACHMENT_ID_UNK20 = 20,
|
||||
VEHICLE_ATTACHMENT_ID_UNK21 = 21,
|
||||
VEHICLE_ATTACHMENT_ID_UNK22 = 22,
|
||||
VEHICLE_ATTACHMENT_ID_UNK23 = 23,
|
||||
VEHICLE_ATTACHMENT_ID_UNK24 = 24,
|
||||
VEHICLE_ATTACHMENT_ID_UNK25 = 25
|
||||
};
|
||||
|
||||
// CurrencyTypes.dbc
|
||||
enum CurrencyTypes
|
||||
{
|
||||
|
||||
@@ -876,7 +876,15 @@ bool VehicleJoinEvent::Execute(uint64, uint32)
|
||||
if (veSeat->HasFlag(VEHICLE_SEAT_FLAG_PASSENGER_NOT_SELECTABLE))
|
||||
Passenger->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
|
||||
Passenger->m_movementInfo.transport.pos.Relocate(veSeat->m_attachmentOffsetX, veSeat->m_attachmentOffsetY, veSeat->m_attachmentOffsetZ);
|
||||
float o = 0.0f;
|
||||
if (veSeat->m_attachmentID == VEHICLE_ATTACHMENT_ID_INVERT_SEAT_ANGLE)
|
||||
o += float(M_PI);
|
||||
|
||||
float x = veSeat->m_attachmentOffsetX;
|
||||
float y = veSeat->m_attachmentOffsetY;
|
||||
float z = veSeat->m_attachmentOffsetZ;
|
||||
|
||||
Passenger->m_movementInfo.transport.pos.Relocate(x, y, z, o);
|
||||
Passenger->m_movementInfo.transport.time = 0;
|
||||
Passenger->m_movementInfo.transport.seat = Seat->first;
|
||||
Passenger->m_movementInfo.transport.guid = Target->GetBase()->GetGUID();
|
||||
@@ -898,8 +906,8 @@ bool VehicleJoinEvent::Execute(uint64, uint32)
|
||||
|
||||
Movement::MoveSplineInit init(Passenger);
|
||||
init.DisableTransportPathTransformations();
|
||||
init.MoveTo(veSeat->m_attachmentOffsetX, veSeat->m_attachmentOffsetY, veSeat->m_attachmentOffsetZ, false, true);
|
||||
init.SetFacing(0.0f);
|
||||
init.MoveTo(x, y, z, false, true);
|
||||
init.SetFacing(o);
|
||||
init.SetTransportEnter();
|
||||
init.Launch();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user