fix: Fixes boat turning abandoning entities (#1878)

This commit is contained in:
Kamron Batman 2024-07-20 17:51:29 -07:00 committed by GitHub
parent b4611ab7eb
commit 428ae46bf4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 13 additions and 9 deletions

View file

@ -2088,10 +2088,11 @@ namespace Server.Multis
var xOffset = 0;
var yOffset = 0;
Movement.Movement.Offset(facing, ref xOffset, ref yOffset);
CalcMoves.Offset(facing, ref xOffset, ref yOffset);
var count = ((_facing - old) & 0x7) / 2;
using var queue = PooledRefQueue<IEntity>.Create();
foreach (var e in GetMovingEntities())
{
if (e == this)
@ -2099,15 +2100,18 @@ namespace Server.Multis
continue;
}
if (e is Item item)
{
item.Location = Rotate(item.Location, count);
}
else if (e is Mobile m)
if (e is Mobile m)
{
m.Direction = (m.Direction - old + facing) & Direction.Mask;
m.Location = Rotate(m.Location, count);
}
queue.Enqueue(e);
}
while (queue.Count > 0)
{
var e = queue.Dequeue();
e.Location = Rotate(e.Location, count);
}
if (TillerMan != null)