Track projectile updates being sent by the server, instead of received by the server.
This commit is contained in:
commit
16d1cdd360
4 changed files with 79 additions and 25 deletions
|
|
@ -1622,6 +1622,32 @@ namespace TShockAPI
|
|||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
} else if (e.MsgId == PacketTypes.ProjectileNew)
|
||||
{
|
||||
if (e.number >= 0 && e.number < Main.projectile.Length)
|
||||
{
|
||||
var projectile = Main.projectile[e.number];
|
||||
if (projectile.active && projectile.owner >= 0 && GetDataHandlers.projectileCreatesLiquid.ContainsKey(projectile.type))
|
||||
{
|
||||
var player = Players[projectile.owner];
|
||||
if (player != null)
|
||||
{
|
||||
if (player.RecentlyCreatedProjectiles.Any(p => p.Index == e.number && p.Killed))
|
||||
{
|
||||
player.RecentlyCreatedProjectiles.RemoveAll(p => p.Index == e.number && p.Killed);
|
||||
}
|
||||
|
||||
if (!player.RecentlyCreatedProjectiles.Any(p => p.Index == e.number)) {
|
||||
player.RecentlyCreatedProjectiles.Add(new GetDataHandlers.ProjectileStruct()
|
||||
{
|
||||
Index = e.number,
|
||||
CreatedAt = DateTime.Now
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue