Don't break the order stream if a frozen actor refers to a bogus player.
This commit is contained in:
@@ -107,15 +107,18 @@ namespace OpenRA
|
||||
|
||||
case TargetType.FrozenActor:
|
||||
{
|
||||
var playerActorID = r.ReadUInt32();
|
||||
var frozenActorID = r.ReadUInt32();
|
||||
|
||||
Actor playerActor;
|
||||
if (world == null || !TryGetActorFromUInt(world, r.ReadUInt32(), out playerActor))
|
||||
if (world == null || !TryGetActorFromUInt(world, playerActorID, out playerActor))
|
||||
break;
|
||||
|
||||
var frozenLayer = playerActor.TraitOrDefault<FrozenActorLayer>();
|
||||
if (frozenLayer == null)
|
||||
break;
|
||||
|
||||
var frozen = frozenLayer.FromID(r.ReadUInt32());
|
||||
var frozen = frozenLayer.FromID(frozenActorID);
|
||||
if (frozen != null)
|
||||
target = Target.FromFrozenActor(frozen);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user