Add text fix, polish to Controlled Burn

This commit is contained in:
JovialFeline
2023-08-18 09:25:20 -04:00
committed by Matthias Mailänder
parent 64ec6eef0a
commit 8b3e7bec2a
3 changed files with 35 additions and 6 deletions

View File

@@ -100,6 +100,7 @@ GroundWavesDelays =
normal = 3, normal = 3,
hard = 2 hard = 2
} }
GroundWavesDelay = GroundWavesDelays[Difficulty]
GroundWaves = function() GroundWaves = function()
if not ForwardCommand.IsDead then if not ForwardCommand.IsDead then
@@ -107,7 +108,7 @@ GroundWaves = function()
local units = Reinforcements.Reinforce(BadGuy, Utils.Random(GroundAttackUnits), path) local units = Reinforcements.Reinforce(BadGuy, Utils.Random(GroundAttackUnits), path)
Utils.Do(units, IdleHunt) Utils.Do(units, IdleHunt)
Trigger.AfterDelay(DateTime.Minutes(GroundWavesDelays), GroundWaves) Trigger.AfterDelay(DateTime.Minutes(GroundWavesDelay), GroundWaves)
end end
end end
@@ -132,8 +133,6 @@ ProduceAircraft = function()
end end
ActivateAI = function() ActivateAI = function()
GroundWavesDelays = GroundWavesDelays[Difficulty]
local buildings = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == USSR and self.HasProperty("StartBuildingRepairs") end) local buildings = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == USSR and self.HasProperty("StartBuildingRepairs") end)
Utils.Do(buildings, function(actor) Utils.Do(buildings, function(actor)
Trigger.OnDamaged(actor, function(building) Trigger.OnDamaged(actor, function(building)
@@ -146,6 +145,6 @@ ActivateAI = function()
ProduceBadGuyInfantry() ProduceBadGuyInfantry()
ProduceUSSRInfantry() ProduceUSSRInfantry()
ProduceVehicles() ProduceVehicles()
Trigger.AfterDelay(DateTime.Minutes(GroundWavesDelays), GroundWaves) Trigger.AfterDelay(DateTime.Minutes(GroundWavesDelay), GroundWaves)
Trigger.AfterDelay(DateTime.Minutes(5), ProduceAircraft) Trigger.AfterDelay(DateTime.Minutes(5), ProduceAircraft)
end end

View File

@@ -66,14 +66,21 @@ SetupTriggers = function()
Trigger.OnAllKilledOrCaptured(SarinPlants, function() Trigger.OnAllKilledOrCaptured(SarinPlants, function()
Greece.MarkCompletedObjective(CaptureSarin) Greece.MarkCompletedObjective(CaptureSarin)
end) end)
Trigger.OnEnteredProximityTrigger(AlliesMove.CenterPosition, WDist.FromCells(3), function(actor, id)
if actor.Owner == Greece then
Trigger.RemoveProximityTrigger(id)
Media.PlaySpeechNotification(Greece, "SignalFlareSouth")
end
end)
end end
MCVArrived = false MCVArrived = false
MCVArrivedTick = false MCVArrivedTick = false
PowerDownTeslas = function() PowerDownTeslas = function()
if not MCVArrived then if not MCVArrived then
CaptureSarin = Greece.AddObjective("capture-sarin-plants-intact") CaptureSarin = AddPrimaryObjective(Greece, "capture-sarin-plants-intact")
KillBase = Greece.AddObjective("destroy-enemy-compound") KillBase = AddPrimaryObjective(Greece, "destroy-enemy-compound")
Greece.MarkCompletedObjective(TakeOutPower) Greece.MarkCompletedObjective(TakeOutPower)
Media.PlaySpeechNotification(Greece, "ReinforcementsArrived") Media.PlaySpeechNotification(Greece, "ReinforcementsArrived")
Reinforcements.Reinforce(Greece, MCVReinforcements[Difficulty], { AlliesSpawn.Location, AlliesMove.Location }) Reinforcements.Reinforce(Greece, MCVReinforcements[Difficulty], { AlliesSpawn.Location, AlliesMove.Location })
@@ -85,6 +92,7 @@ PowerDownTeslas = function()
Trigger.AfterDelay(DateTime.Seconds(1), function() Trigger.AfterDelay(DateTime.Seconds(1), function()
MCVArrivedTick = true MCVArrivedTick = true
PrepareFinishingHunt(USSR)
end) end)
Trigger.AfterDelay(DateTime.Seconds(60), function() Trigger.AfterDelay(DateTime.Seconds(60), function()
@@ -99,6 +107,25 @@ PowerDownTeslas = function()
end end
end end
PrepareFinishingHunt = function(player)
local buildings = GetBaseBuildings(player)
Trigger.OnAllKilledOrCaptured(buildings, function()
Utils.Do(player.GetGroundAttackers(), function(actor)
actor.Stop()
IdleHunt(actor)
end)
end)
end
GetBaseBuildings = function(player)
-- Excludes the unrepairable sarin plants, which is desired anyway.
local buildings = Utils.Where(player.GetActors(), function(actor)
return actor.HasProperty("StartBuildingRepairs")
end)
return buildings
end
Tick = function() Tick = function()
USSR.Cash = 10000 USSR.Cash = 10000
BadGuy.Cash = 10000 BadGuy.Cash = 10000

View File

@@ -19,6 +19,9 @@ Player:
PlayerResources: PlayerResources:
DefaultCash: 7500 DefaultCash: 7500
HARV:
-MustBeDestroyed:
APC: APC:
Buildable: Buildable:
Prerequisites: ~vehicles.allies Prerequisites: ~vehicles.allies