From 0a4669b9257b09f39a756b4533a2a3b4fb5fe7f5 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sun, 1 Jul 2012 14:05:21 +1200 Subject: [PATCH] Add SimpleTeleport for non-chrono jumps (used in scripts etc) --- OpenRA.Mods.Cnc/Missions/CncShellmapScript.cs | 2 +- OpenRA.Mods.RA/Activities/Teleport.cs | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/OpenRA.Mods.Cnc/Missions/CncShellmapScript.cs b/OpenRA.Mods.Cnc/Missions/CncShellmapScript.cs index 0e549a629f..7086c416cd 100755 --- a/OpenRA.Mods.Cnc/Missions/CncShellmapScript.cs +++ b/OpenRA.Mods.Cnc/Missions/CncShellmapScript.cs @@ -82,7 +82,7 @@ namespace OpenRA.Mods.RA { var mobile = self.Trait(); self.QueueActivity(mobile.ScriptedMove(left)); - self.QueueActivity(new Teleport(null, right, false)); + self.QueueActivity(new SimpleTeleport(right)); self.QueueActivity(new CallFunc(() => LoopTrack(self,left,right))); } } diff --git a/OpenRA.Mods.RA/Activities/Teleport.cs b/OpenRA.Mods.RA/Activities/Teleport.cs index 3cd1ed4939..5483e7c9be 100755 --- a/OpenRA.Mods.RA/Activities/Teleport.cs +++ b/OpenRA.Mods.RA/Activities/Teleport.cs @@ -45,4 +45,17 @@ namespace OpenRA.Mods.RA.Activities return NextActivity; } } + + public class SimpleTeleport : Activity + { + CPos destination; + + public SimpleTeleport(CPos destination) { this.destination = destination; } + + public override Activity Tick(Actor self) + { + self.Trait().SetPosition(self, destination); + return NextActivity; + } + } }