Don't break the order stream if a frozen actor refers to a bogus player.

This commit is contained in:
Paul Chote
2018-01-01 12:37:15 +00:00
committed by ltem
parent 47fa9e496d
commit b3cde077fc

View File

@@ -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);