Fail Allies01/Allies02 if the extraction helicopter is destroyed

This commit is contained in:
Scott_NZ
2012-08-14 19:45:32 +12:00
parent 6c79b454bf
commit c41fcb15b0
2 changed files with 24 additions and 13 deletions

View File

@@ -156,19 +156,26 @@ namespace OpenRA.Mods.RA.Missions
FlyEinsteinFromExtractionLZ();
}
}
if (einsteinChinook != null && !einsteinChinook.IsDead() && !world.Map.IsInMap(einsteinChinook.Location) && einsteinChinook.Trait<Cargo>().Passengers.Contains(einstein))
if (einsteinChinook != null)
{
if (einsteinChinook.Destroyed)
{
MissionFailed("The extraction helicopter was destroyed.");
}
else if (!world.Map.IsInMap(einsteinChinook.Location) && einsteinChinook.Trait<Cargo>().Passengers.Contains(einstein))
{
MissionAccomplished("Einstein was rescued.");
}
if (einstein.Destroyed)
{
MissionFailed("Einstein was killed.");
}
}
if (tanya.Destroyed)
{
MissionFailed("Tanya was killed.");
}
else if (einstein != null && einstein.Destroyed)
{
MissionFailed("Einstein was killed.");
}
ManageSovietOre();
}

View File

@@ -133,10 +133,6 @@ namespace OpenRA.Mods.RA.Missions
{
BuildSovietUnits();
}
if (!world.Actors.Any(a => a.IsInWorld && a.HasTrait<Building>() && a.Owner == allies2))
{
MissionFailed("The Allied reinforcements have been defeated.");
}
if (!engineerMiss.Destroyed && engineer == null && AlliesControlMiss())
{
SpawnEngineerAtMiss();
@@ -153,9 +149,13 @@ namespace OpenRA.Mods.RA.Missions
SendChinook();
}
}
else if (currentObjective == 1)
else if (currentObjective == 1 && einsteinChinook != null)
{
if (einsteinChinook != null && !einsteinChinook.IsDead() && !world.Map.IsInMap(einsteinChinook.Location) && einsteinChinook.Trait<Cargo>().Passengers.Contains(einstein))
if (einsteinChinook.Destroyed)
{
MissionFailed("The extraction helicopter was destroyed.");
}
else if (!world.Map.IsInMap(einsteinChinook.Location) && einsteinChinook.Trait<Cargo>().Passengers.Contains(einstein))
{
MissionAccomplished("Einstein was rescued.");
}
@@ -164,10 +164,14 @@ namespace OpenRA.Mods.RA.Missions
{
MissionFailed("Tanya was killed.");
}
if (einstein.Destroyed)
else if (einstein.Destroyed)
{
MissionFailed("Einstein was killed.");
}
else if (!world.Actors.Any(a => a.IsInWorld && a.HasTrait<Building>() && a.Owner == allies2))
{
MissionFailed("The Allied reinforcements have been defeated.");
}
}
void BuildSovietUnits()