Core/GameObjects: Transport (type 11) improvements

Port From (https://github.com/TrinityCore/TrinityCore/commit/630b60eb0dcd3d9ce41582664ab822b049365431)
This commit is contained in:
hondacrx
2022-06-03 16:20:41 -04:00
parent e65ce31742
commit 40444525b2
30 changed files with 807 additions and 377 deletions
@@ -303,10 +303,10 @@ namespace Game.Movement
owner.SetHomePosition(x, y, z, o);
else
{
Transport trans = owner.GetTransport();
if (trans)
ITransport trans = owner.GetTransport();
if (trans != null)
{
o -= trans.GetOrientation();
o -= trans.GetTransportOrientation();
owner.SetTransportHomePosition(x, y, z, o);
trans.CalculatePassengerPosition(ref x, ref y, ref z, ref o);
owner.SetHomePosition(x, y, z, o);
+7 -4
View File
@@ -222,11 +222,14 @@ namespace Game.Movement
if (args.TransformForTransport)
{
Unit vehicle = unit.GetVehicleBase();
Transport transport = unit.GetTransport();
if (vehicle != null)
angle -= vehicle.Orientation;
else if (transport != null)
angle -= transport.Orientation;
angle -= vehicle.GetOrientation();
else
{
ITransport transport = unit.GetTransport();
if (transport != null)
angle -= transport.GetTransportOrientation();
}
}
args.facing.angle = MathFunctions.wrap(angle, 0.0f, MathFunctions.TwoPi);