Merge pull request #12162 from abcdefg30/heliHost

Fix HeliReturnToBase not exposing an host actor parameter
This commit is contained in:
reaperrr
2016-10-22 15:58:06 +02:00
committed by GitHub
3 changed files with 11 additions and 7 deletions

View File

@@ -21,12 +21,14 @@ namespace OpenRA.Mods.Common.Activities
readonly Aircraft heli; readonly Aircraft heli;
readonly bool alwaysLand; readonly bool alwaysLand;
readonly bool abortOnResupply; readonly bool abortOnResupply;
Actor dest;
public HeliReturnToBase(Actor self, bool abortOnResupply, bool alwaysLand = true) public HeliReturnToBase(Actor self, bool abortOnResupply, Actor dest = null, bool alwaysLand = true)
{ {
heli = self.Trait<Aircraft>(); heli = self.Trait<Aircraft>();
this.alwaysLand = alwaysLand; this.alwaysLand = alwaysLand;
this.abortOnResupply = abortOnResupply; this.abortOnResupply = abortOnResupply;
this.dest = dest;
} }
public Actor ChooseHelipad(Actor self) public Actor ChooseHelipad(Actor self)
@@ -41,7 +43,9 @@ namespace OpenRA.Mods.Common.Activities
if (IsCanceled) if (IsCanceled)
return NextActivity; return NextActivity;
var dest = ChooseHelipad(self); if (dest == null || Reservable.IsReserved(dest))
dest = ChooseHelipad(self);
var initialFacing = heli.Info.InitialFacing; var initialFacing = heli.Info.InitialFacing;
if (dest == null) if (dest == null)

View File

@@ -38,13 +38,13 @@ namespace OpenRA.Mods.Common.Scripting
} }
[ScriptActorPropertyActivity] [ScriptActorPropertyActivity]
[Desc("Return to the base, which is either the airfield given, or an auto-selected one otherwise.")] [Desc("Return to the base, which is either the destination given, or an auto-selected one otherwise.")]
public void ReturnToBase(Actor airfield = null) public void ReturnToBase(Actor destination = null)
{ {
if (isPlane) if (isPlane)
Self.QueueActivity(new ReturnToBase(Self, false, airfield)); Self.QueueActivity(new ReturnToBase(Self, false, destination));
else else
Self.QueueActivity(new HeliReturnToBase(Self, false)); Self.QueueActivity(new HeliReturnToBase(Self, false, destination));
} }
[ScriptActorPropertyActivity] [ScriptActorPropertyActivity]

View File

@@ -635,7 +635,7 @@ namespace OpenRA.Mods.Common.Traits
if (IsPlane) if (IsPlane)
self.QueueActivity(new ReturnToBase(self, Info.AbortOnResupply, null, false)); self.QueueActivity(new ReturnToBase(self, Info.AbortOnResupply, null, false));
else else
self.QueueActivity(new HeliReturnToBase(self, Info.AbortOnResupply, false)); self.QueueActivity(new HeliReturnToBase(self, Info.AbortOnResupply, null, false));
} }
} }