Merge pull request #12162 from abcdefg30/heliHost
Fix HeliReturnToBase not exposing an host actor parameter
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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]
|
||||||
|
|||||||
@@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user