Core/Vehicles: defined another inverted angle attachment type and added check for VEHICLE_SEAT_FLAG_B_USABLE_FORCED_4 in order to prevent some issues with vehicles that have those attachment types but should not use inverted angles

This commit is contained in:
Ovahlord
2018-08-21 03:36:28 +02:00
parent 032a5dc84a
commit bdba5e6164
2 changed files with 29 additions and 28 deletions

View File

@@ -641,33 +641,33 @@ enum VehicleSeatFlagsB
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
VEHICLE_ATTACHMENT_ID_UNK0 = -1,
VEHICLE_ATTACHMENT_ID_UNK1 = 0,
VEHICLE_ATTACHMENT_ID_UNK2 = 1,
VEHICLE_ATTACHMENT_ID_INVERT_SEAT_ANGLE_1 = 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_INVERT_SEAT_ANGLE_2 = 16,
VEHICLE_ATTACHMENT_ID_UNK16 = 17,
VEHICLE_ATTACHMENT_ID_UNK17 = 18,
VEHICLE_ATTACHMENT_ID_UNK18 = 19,
VEHICLE_ATTACHMENT_ID_UNK19 = 20,
VEHICLE_ATTACHMENT_ID_UNK20 = 21,
VEHICLE_ATTACHMENT_ID_UNK21 = 22,
VEHICLE_ATTACHMENT_ID_UNK22 = 23,
VEHICLE_ATTACHMENT_ID_UNK23 = 24,
VEHICLE_ATTACHMENT_ID_UNK24 = 25
};
// CurrencyTypes.dbc

View File

@@ -877,7 +877,8 @@ bool VehicleJoinEvent::Execute(uint64, uint32)
Passenger->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
float o = 0.0f;
if (veSeat->m_attachmentID == VEHICLE_ATTACHMENT_ID_INVERT_SEAT_ANGLE)
if ((veSeat->m_attachmentID == VEHICLE_ATTACHMENT_ID_INVERT_SEAT_ANGLE_1 || veSeat->m_attachmentID == VEHICLE_ATTACHMENT_ID_INVERT_SEAT_ANGLE_2)
&& veSeat->HasFlag(VEHICLE_SEAT_FLAG_B_USABLE_FORCED_4)) // This flag is common in all vehicles that use inverted orientation in combination with the attachment IDs
o += float(M_PI);
float x = veSeat->m_attachmentOffsetX;