From 15a92f443d6c823f6b74a4f9ed4ff8f395909a70 Mon Sep 17 00:00:00 2001 From: Smittytron Date: Sat, 16 May 2020 20:49:10 -0500 Subject: [PATCH] Replace paraprop power with scripted drops in Soviet01 --- mods/ra/maps/soviet-01/map.yaml | 2 +- mods/ra/maps/soviet-01/rules.yaml | 8 ++++++-- mods/ra/maps/soviet-01/soviet01.lua | 25 ++++++++++++++++++++++--- 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/mods/ra/maps/soviet-01/map.yaml b/mods/ra/maps/soviet-01/map.yaml index 93cb0e8db8..51384cfd40 100644 --- a/mods/ra/maps/soviet-01/map.yaml +++ b/mods/ra/maps/soviet-01/map.yaml @@ -339,7 +339,7 @@ Actors: Actor98: barl Location: 45,50 Owner: Germany - Actor99: v04 + ParaHut: v04 Location: 58,54 Owner: France Health: 41 diff --git a/mods/ra/maps/soviet-01/rules.yaml b/mods/ra/maps/soviet-01/rules.yaml index 73e305ae21..0c7d4879c2 100644 --- a/mods/ra/maps/soviet-01/rules.yaml +++ b/mods/ra/maps/soviet-01/rules.yaml @@ -13,6 +13,11 @@ V01: SpawnActorOnDeath: Actor: healcrate +powerproxy.paratroopers: + ParatroopersPower: + DisplayBeacon: False + DropItems: E1,E1,E1,E2,E2 + ^CivBuilding: MustBeDestroyed: @@ -35,8 +40,7 @@ AFLD: AirstrikePower@spyplane: Prerequisites: ~disabled ParatroopersPower@paratroopers: - ChargeInterval: 1500 - DropItems: E1,E1,E1,E2,E2 + Prerequisites: ~disabled -RallyPoint: -Sellable: Demolishable: diff --git a/mods/ra/maps/soviet-01/soviet01.lua b/mods/ra/maps/soviet-01/soviet01.lua index 9cc3f8d38f..8817df8a8e 100644 --- a/mods/ra/maps/soviet-01/soviet01.lua +++ b/mods/ra/maps/soviet-01/soviet01.lua @@ -24,9 +24,9 @@ end JeepDemolishingBridge = function() StartJeep.Move(StartJeepMovePoint.Location) - Trigger.OnIdle(StartJeep, function() - Trigger.ClearAll(StartJeep) - if not BridgeBarrel.IsDead then + Trigger.OnEnteredFootprint({ StartJeepMovePoint.Location }, function(actor, id) + if actor.Owner == france and not BridgeBarrel.IsDead then + Trigger.RemoveFootprintTrigger(id) BridgeBarrel.Kill() end @@ -39,6 +39,23 @@ JeepDemolishingBridge = function() end) end +Paratroopers = function() + Trigger.OnKilled(StartJeep, function() + Media.PlaySpeechNotification(player, "ReinforcementsArrived") + Paradrop.TargetParatroopers(StartJeepMovePoint.CenterPosition, Angle.East) + end) + + Trigger.OnKilled(Church, function() + Media.PlaySpeechNotification(player, "ReinforcementsArrived") + Paradrop.TargetParatroopers(StartJeepMovePoint.CenterPosition, Angle.East) + end) + + Trigger.OnKilled(ParaHut, function() + Media.PlaySpeechNotification(player, "ReinforcementsArrived") + Paradrop.TargetParatroopers(StartJeepMovePoint.CenterPosition, Angle.East) + end) +end + WorldLoaded = function() player = Player.GetPlayer("USSR") france = Player.GetPlayer("France") @@ -70,7 +87,9 @@ WorldLoaded = function() Media.PlaySpeechNotification(player, "MissionFailed") end) + Paradrop = Actor.Create("powerproxy.paratroopers", false, { Owner = player }) Trigger.AfterDelay(DateTime.Seconds(2), InsertYaks) + Paratroopers() end Tick = function()