Core/Vehicles: - Prevent client ejecting passengers from non-ejectable seats.
- Chart some more VehicleSeatFlags and VehicleSeatFlagsB. Research by linencloth
This commit is contained in:
@@ -423,6 +423,17 @@ void Vehicle::RemovePassenger(Unit *unit)
|
||||
sScriptMgr->OnRemovePassenger(this, unit);
|
||||
}
|
||||
|
||||
void Vehicle::EjectPassenger(Unit* passenger, Unit* controller)
|
||||
{
|
||||
SeatMap::const_iterator m_SeatsItr;
|
||||
for (m_SeatsItr = m_Seats.begin(); m_SeatsItr != m_Seats.end(); ++m_SeatsItr)
|
||||
if (m_SeatsItr->second.passenger == passenger)
|
||||
if (m_SeatsItr->second.seatInfo->IsEjectable())
|
||||
return passenger->ExitVehicle();
|
||||
else
|
||||
sLog->outError("Player %u attempted to eject unit GUID "UI64FMTD" from non-ejectable seat.", controller->GetGUIDLow(), passenger->GetGUID());
|
||||
}
|
||||
|
||||
void Vehicle::RelocatePassengers(float x, float y, float z, float ang)
|
||||
{
|
||||
Map *map = me->GetMap();
|
||||
|
||||
Reference in New Issue
Block a user