Merge pull request #9036 from reaperrr/heli-reserve
Improve aircraft unreserving of structures
This commit is contained in:
@@ -194,6 +194,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
public void RemovedFromWorld(Actor self)
|
public void RemovedFromWorld(Actor self)
|
||||||
{
|
{
|
||||||
|
UnReserve();
|
||||||
self.World.ActorMap.RemoveInfluence(self, this);
|
self.World.ActorMap.RemoveInfluence(self, this);
|
||||||
self.World.ActorMap.RemovePosition(self, this);
|
self.World.ActorMap.RemovePosition(self, this);
|
||||||
self.World.ScreenMap.Remove(self);
|
self.World.ScreenMap.Remove(self);
|
||||||
|
|||||||
@@ -133,8 +133,10 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
if (firstTick)
|
if (firstTick)
|
||||||
{
|
{
|
||||||
firstTick = false;
|
firstTick = false;
|
||||||
if (!self.HasTrait<FallsToEarth>()) // TODO: Aircraft husks don't properly unreserve.
|
if (self.HasTrait<FallsToEarth>()) // TODO: Aircraft husks don't properly unreserve.
|
||||||
ReserveSpawnBuilding();
|
return;
|
||||||
|
|
||||||
|
ReserveSpawnBuilding();
|
||||||
|
|
||||||
var host = GetActorBelow();
|
var host = GetActorBelow();
|
||||||
if (host == null)
|
if (host == null)
|
||||||
|
|||||||
@@ -43,8 +43,10 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
if (firstTick)
|
if (firstTick)
|
||||||
{
|
{
|
||||||
firstTick = false;
|
firstTick = false;
|
||||||
if (!self.HasTrait<FallsToEarth>()) // TODO: Aircraft husks don't properly unreserve.
|
if (self.HasTrait<FallsToEarth>()) // TODO: Aircraft husks don't properly unreserve.
|
||||||
ReserveSpawnBuilding();
|
return;
|
||||||
|
|
||||||
|
ReserveSpawnBuilding();
|
||||||
|
|
||||||
var host = GetActorBelow();
|
var host = GetActorBelow();
|
||||||
if (host == null)
|
if (host == null)
|
||||||
@@ -93,7 +95,8 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
}
|
}
|
||||||
else if (order.OrderString == "Enter")
|
else if (order.OrderString == "Enter")
|
||||||
{
|
{
|
||||||
if (Reservable.IsReserved(order.TargetActor)) return;
|
if (Reservable.IsReserved(order.TargetActor))
|
||||||
|
return;
|
||||||
|
|
||||||
UnReserve();
|
UnReserve();
|
||||||
|
|
||||||
@@ -111,7 +114,8 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
else if (order.OrderString == "ReturnToBase")
|
else if (order.OrderString == "ReturnToBase")
|
||||||
{
|
{
|
||||||
var airfield = ReturnToBase.ChooseAirfield(self, true);
|
var airfield = ReturnToBase.ChooseAirfield(self, true);
|
||||||
if (airfield == null) return;
|
if (airfield == null)
|
||||||
|
return;
|
||||||
|
|
||||||
UnReserve();
|
UnReserve();
|
||||||
self.CancelActivity();
|
self.CancelActivity();
|
||||||
|
|||||||
Reference in New Issue
Block a user