diff --git a/OpenRA.Mods.RA/Scripting/LuaScriptInterface.cs b/OpenRA.Mods.RA/Scripting/LuaScriptInterface.cs index 8f6b45605a..56b8671d15 100644 --- a/OpenRA.Mods.RA/Scripting/LuaScriptInterface.cs +++ b/OpenRA.Mods.RA/Scripting/LuaScriptInterface.cs @@ -278,6 +278,12 @@ namespace OpenRA.Mods.RA.Scripting actor.QueueActivity(new FlyAttack(Target.FromCell(location))); } + [LuaGlobal] + public void HeliFlyToPos(Actor actor, WPos pos) + { + actor.QueueActivity(new HeliFly(actor, Target.FromPos(pos))); + } + [LuaGlobal] public void SetUnitStance(Actor actor, string stance) { diff --git a/mods/common/lua/actor.lua b/mods/common/lua/actor.lua index da9a5c4c96..a676f16db2 100644 --- a/mods/common/lua/actor.lua +++ b/mods/common/lua/actor.lua @@ -29,7 +29,7 @@ end Actor.ScriptedMove = function(actor, location) if Actor.HasTrait(actor, "Helicopter") then - actor:QueueActivity(OpenRA.New("HeliFly", { location.CenterPosition })) + Internal.HeliFlyToPos(actor, location.CenterPosition) else actor:QueueActivity(OpenRA.New("Move", { location })) end @@ -52,7 +52,7 @@ Actor.AttackMove = function(actor, location) end Actor.HeliFly = function(actor, position) - actor:QueueActivity(OpenRA.New("HeliFly", { position })) + Internal.HeliFlyToPos(actor, position) end Actor.HeliLand = function(actor, requireSpace)