Core/GameObjects: Transport (type 11) improvements
Port From (https://github.com/TrinityCore/TrinityCore/commit/630b60eb0dcd3d9ce41582664ab822b049365431)
This commit is contained in:
@@ -209,7 +209,7 @@ namespace Game.Entities
|
||||
|
||||
MoveSplineInit init = new(this);
|
||||
init.MoveTo(GetPositionX(), GetPositionY(), GetPositionZ(), false);
|
||||
if (GetTransport())
|
||||
if (GetTransport() != null)
|
||||
init.DisableTransportPathTransformations(); // It makes no sense to target global orientation
|
||||
init.SetFacing(ori);
|
||||
|
||||
@@ -1834,7 +1834,7 @@ namespace Game.Entities
|
||||
if (GetVehicle() != null)
|
||||
return GetVehicleBase().GetGUID();
|
||||
if (GetTransport() != null)
|
||||
return GetTransport().GetGUID();
|
||||
return GetTransport().GetTransportGUID();
|
||||
|
||||
return ObjectGuid.Empty;
|
||||
}
|
||||
|
||||
@@ -295,7 +295,7 @@ namespace Game.Entities
|
||||
return false;
|
||||
}
|
||||
|
||||
if (IsTypeId(TypeId.Player) && ToPlayer().GetTransport())
|
||||
if (IsPlayer() && ToPlayer().GetTransport() != null)
|
||||
{
|
||||
Log.outFatal(LogFilter.Unit, "Unit:SetCharmedBy: Player on transport is trying to charm {0} (GUID {1})", GetEntry(), GetGUID().ToString());
|
||||
return false;
|
||||
|
||||
@@ -1003,7 +1003,7 @@ namespace Game.Entities
|
||||
}
|
||||
|
||||
Cypher.Assert(!m_vehicle);
|
||||
vehicle.AddPassenger(this, seatId);
|
||||
vehicle.AddVehiclePassenger(this, seatId);
|
||||
}
|
||||
|
||||
public void ChangeSeat(sbyte seatId, bool next = true)
|
||||
@@ -1067,7 +1067,7 @@ namespace Game.Entities
|
||||
|
||||
// This should be done before dismiss, because there may be some aura removal
|
||||
VehicleSeatAddon seatAddon = m_vehicle.GetSeatAddonForSeatOfPassenger(this);
|
||||
Vehicle vehicle = m_vehicle.RemovePassenger(this);
|
||||
Vehicle vehicle = (Vehicle)m_vehicle.RemovePassenger(this);
|
||||
|
||||
if (vehicle == null)
|
||||
{
|
||||
@@ -1998,6 +1998,12 @@ namespace Game.Entities
|
||||
public void RemoveUnitFlag3(UnitFlags3 flags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Flags3), (uint)flags); }
|
||||
public void ReplaceAllUnitFlags3(UnitFlags3 flags) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Flags3), (uint)flags); }
|
||||
|
||||
public UnitDynFlags GetDynamicFlags() { return (UnitDynFlags)(uint)m_objectData.DynamicFlags; }
|
||||
public bool HasDynamicFlag(UnitDynFlags flag) { return (m_objectData.DynamicFlags & (uint)flag) != 0; }
|
||||
public void SetDynamicFlag(UnitDynFlags flag) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_objectData).ModifyValue(m_objectData.DynamicFlags), (uint)flag); }
|
||||
public void RemoveDynamicFlag(UnitDynFlags flag) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_objectData).ModifyValue(m_objectData.DynamicFlags), (uint)flag); }
|
||||
public void ReplaceAllDynamicFlags(UnitDynFlags flag) { SetUpdateFieldValue(m_values.ModifyValue(m_objectData).ModifyValue(m_objectData.DynamicFlags), (uint)flag); }
|
||||
|
||||
public void SetCreatedBySpell(uint spellId) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.CreatedBySpell), spellId); }
|
||||
|
||||
public Emote GetEmoteState() { return (Emote)(int)m_unitData.EmoteState; }
|
||||
|
||||
Reference in New Issue
Block a user