Fix shroud bug in Monster Tank Madness
This commit is contained in:
@@ -281,13 +281,23 @@ namespace OpenRA.Mods.RA.Missions
|
|||||||
void OnSuperTankDomeInfiltrated(Actor spy)
|
void OnSuperTankDomeInfiltrated(Actor spy)
|
||||||
{
|
{
|
||||||
if (superTankDomeInfiltratedTick != -1) return;
|
if (superTankDomeInfiltratedTick != -1) return;
|
||||||
|
|
||||||
superTankDome.QueueActivity(new Transform(superTankDome, "dome") { SkipMakeAnims = true });
|
superTankDome.QueueActivity(new Transform(superTankDome, "dome") { SkipMakeAnims = true });
|
||||||
|
|
||||||
|
world.AddFrameEndTask(_ =>
|
||||||
|
{
|
||||||
|
superTanks.Do(world.Remove);
|
||||||
turkey.Stances[greece] = turkey.Stances[neutral] = Stance.Ally;
|
turkey.Stances[greece] = turkey.Stances[neutral] = Stance.Ally;
|
||||||
greece.Stances[turkey] = neutral.Stances[turkey] = Stance.Ally;
|
greece.Stances[turkey] = neutral.Stances[turkey] = Stance.Ally;
|
||||||
greece.Shroud.ExploreAll(world);
|
greece.Shroud.ExploreAll(world);
|
||||||
|
superTanks.Do(world.Add);
|
||||||
|
});
|
||||||
|
|
||||||
foreach (var tank in superTanks.Where(t => !t.IsDead() && t.IsInWorld))
|
foreach (var tank in superTanks.Where(t => !t.IsDead() && t.IsInWorld))
|
||||||
MissionUtils.AttackNearestLandActor(false, tank, ussr);
|
MissionUtils.AttackNearestLandActor(false, tank, ussr);
|
||||||
|
|
||||||
superTankDomeInfiltratedTick = world.FrameNumber;
|
superTankDomeInfiltratedTick = world.FrameNumber;
|
||||||
|
|
||||||
objectives[InfiltrateRadarDomeID].Status = ObjectiveStatus.Completed;
|
objectives[InfiltrateRadarDomeID].Status = ObjectiveStatus.Completed;
|
||||||
OnObjectivesUpdated(true);
|
OnObjectivesUpdated(true);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user