diff --git a/OpenRA.Mods.RA/Missions/FortScript.cs b/OpenRA.Mods.RA/Missions/FortScript.cs index 0e310707ee..763135170d 100644 --- a/OpenRA.Mods.RA/Missions/FortScript.cs +++ b/OpenRA.Mods.RA/Missions/FortScript.cs @@ -20,6 +20,9 @@ namespace OpenRA.Mods.RA.Missions class FortScript : IWorldLoaded, ITick { Player multi0; + Player multi1; + Player multi2; + Player multi3; Player soviets; Actor entry1; @@ -46,7 +49,7 @@ namespace OpenRA.Mods.RA.Missions const string ShortEvacuateTemplate = "Wave {0}"; static readonly string[] Patrol = { "e1", "e2", "e1" }; static readonly string[] Infantry = { "e4", "e1", "e1", "e2", "e1", "e2" }; - static readonly string[] Vehicles = { "arty", "ftrk", "ftrk", "apc", "apc", }; + static readonly string[] Vehicles = { "arty", "ftrk", "ftrk", "apc", "apc" }; const string tank = "3tnk"; const string v2 = "v2rl"; const string boss = "4tnk"; @@ -172,6 +175,8 @@ namespace OpenRA.Mods.RA.Missions public void Tick(Actor self) { + if (multi0.WinState != WinState.Undefined) return; + if (world.FrameNumber == patrolAttackFrame) { patrolAttackFrame += patrolattackAtFrameIncrement; @@ -341,6 +346,9 @@ namespace OpenRA.Mods.RA.Missions world = w; soviets = w.Players.Single(p => p.InternalName == "Soviets"); multi0 = w.Players.Single(p => p.InternalName == "Multi0"); + multi1 = w.Players.SingleOrDefault(p => p.InternalName == "Multi1"); + multi2 = w.Players.SingleOrDefault(p => p.InternalName == "Multi2"); + multi3 = w.Players.SingleOrDefault(p => p.InternalName == "Multi3"); patrolAttackFrame = 750; patrolattackAtFrameIncrement = 750; WaveAttackFrame = 500; diff --git a/mods/ra/maps/Fort-Lonestar/map.yaml b/mods/ra/maps/Fort-Lonestar/map.yaml index f6fac8e0e6..2db891079e 100644 --- a/mods/ra/maps/Fort-Lonestar/map.yaml +++ b/mods/ra/maps/Fort-Lonestar/map.yaml @@ -314,9 +314,6 @@ Actors: Actor42: t16 Location: 53,19 Owner: Neutral - Actor70: t16 - Location: 20,45 - Owner: Neutral Actor68: tc05 Location: 35,7 Owner: Neutral @@ -521,6 +518,18 @@ Rules: OILB: Health: HP: 3000 + Armor: + Type: Wood + Bib: + RevealsShroud: + Range: 3 + Capturable: + CapturableBar: + EngineerRepairable: + -MustBeDestroyed: + CashTrickler: + Period: 250 + Amount: 50 BARR: Buildable: Owner: allies,soviet @@ -530,6 +539,7 @@ Rules: HP: 1000 Production: Produces: Defense,Infantry + -Sellable: FTUR: Building: Power: 0 @@ -739,7 +749,6 @@ Rules: Hotkey: h Valued: Cost: 1150 - Health: HP: 700 Armor: @@ -767,7 +776,7 @@ Rules: LeavesHusk: HuskActor: 3TNK.Husk Selectable: - Bounds: 30,30 + Bounds: 30,30 MECH: Buildable: Owner: None @@ -786,11 +795,11 @@ Rules: SNIPER: Inherits: ^Infantry Valued: - Cost: 300 + Cost: 200 Buildable: Queue: Infantry BuildPaletteOrder: 80 - Owner: soviet + Owner: soviet, allies Prerequisites: barr,oilb Hotkey: n Selectable: @@ -813,7 +822,7 @@ Rules: Queue: Infantry BuildPaletteOrder: 60 Prerequisites: barr,oilb - Owner: allies, soviets + Owner: allies, soviet Valued: Cost: 300 Selectable: @@ -843,7 +852,7 @@ Rules: Cost: 600 Health: HP: 150 - Armor: + Armor: Type: Light Mobile: ROT: 10 @@ -918,10 +927,8 @@ Rules: AutoTarget: V2RL: Inherits: ^Vehicle - Valued: - Cost: 700 Health: - HP: 150 + HP: 100 Armor: Type: Light Mobile: @@ -1156,7 +1163,7 @@ Weapons: High: true Warhead: Spread: 5 - Versus: + Versus: None: 35% Wood: 30% Light: 30% @@ -1166,7 +1173,7 @@ Weapons: Damage: 25 SCUD: ROF: 280 - Range: 10 + Range: 7 MinRange: 3 Report: MISSILE1 Projectile: Bullet @@ -1181,7 +1188,7 @@ Weapons: Angle: .1 Warhead: Spread: 20 - Versus: + Versus: None: 100% Wood: 90% Light: 80% diff --git a/mods/ra/maps/suffrage.oramap b/mods/ra/maps/suffrage.oramap new file mode 100644 index 0000000000..6f91932925 Binary files /dev/null and b/mods/ra/maps/suffrage.oramap differ