diff --git a/.gitignore b/.gitignore index 2f52ce6544..7ee386257e 100644 --- a/.gitignore +++ b/.gitignore @@ -62,4 +62,7 @@ OpenRA.Launcher.Mac/OpenRA.xcodeproj/*.mode1v3 # auto-generated documentation DOCUMENTATION.md -*.html +*.html + +# StyleCop +*.Cache \ No newline at end of file diff --git a/OpenRA.Editor/Settings.StyleCop b/OpenRA.Editor/Settings.StyleCop new file mode 100644 index 0000000000..2e3436170c --- /dev/null +++ b/OpenRA.Editor/Settings.StyleCop @@ -0,0 +1,334 @@ + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file diff --git a/OpenRA.FileFormats/Settings.StyleCop b/OpenRA.FileFormats/Settings.StyleCop new file mode 100644 index 0000000000..2e3436170c --- /dev/null +++ b/OpenRA.FileFormats/Settings.StyleCop @@ -0,0 +1,334 @@ + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file diff --git a/OpenRA.Game/Settings.StyleCop b/OpenRA.Game/Settings.StyleCop new file mode 100644 index 0000000000..2e3436170c --- /dev/null +++ b/OpenRA.Game/Settings.StyleCop @@ -0,0 +1,334 @@ + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file diff --git a/OpenRA.Mods.Cnc/Settings.StyleCop b/OpenRA.Mods.Cnc/Settings.StyleCop new file mode 100644 index 0000000000..2e3436170c --- /dev/null +++ b/OpenRA.Mods.Cnc/Settings.StyleCop @@ -0,0 +1,334 @@ + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file diff --git a/OpenRA.Mods.D2k/Settings.StyleCop b/OpenRA.Mods.D2k/Settings.StyleCop new file mode 100644 index 0000000000..2e3436170c --- /dev/null +++ b/OpenRA.Mods.D2k/Settings.StyleCop @@ -0,0 +1,334 @@ + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file diff --git a/OpenRA.Mods.RA/Missions/FortLonestarScript.cs b/OpenRA.Mods.RA/Missions/FortLonestarScript.cs index 9aebdad818..4d8958590f 100644 --- a/OpenRA.Mods.RA/Missions/FortLonestarScript.cs +++ b/OpenRA.Mods.RA/Missions/FortLonestarScript.cs @@ -20,360 +20,360 @@ using OpenRA.Widgets; namespace OpenRA.Mods.RA.Missions { - class FortLonestarScriptInfo : TraitInfo, Requires { } + class FortLonestarScriptInfo : TraitInfo, Requires { } - class FortLonestarScript : IWorldLoaded, ITick - { - Player multi0; - Player soviets; + class FortLonestarScript : IWorldLoaded, ITick + { + Player multi0; + Player soviets; - Actor entry1; - Actor entry2; - Actor entry3; - Actor entry4; - Actor entry5; - Actor entry6; - Actor entry7; - Actor entry8; - CPos[] sovietEntryPoints; - Actor paradrop1; - Actor paradrop2; - Actor paradrop3; - Actor paradrop4; - Actor patrol1; - Actor patrol2; - Actor patrol3; - Actor patrol4; - World world; - - int WaveNumber = 0; - InfoWidget evacuateWidget; - 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" }; - const string tank = "3tnk"; - const string v2 = "v2rl"; - const string boss = "4tnk"; + Actor entry1; + Actor entry2; + Actor entry3; + Actor entry4; + Actor entry5; + Actor entry6; + Actor entry7; + Actor entry8; + CPos[] sovietEntryPoints; + Actor paradrop1; + Actor paradrop2; + Actor paradrop3; + Actor paradrop4; + Actor patrol1; + Actor patrol2; + Actor patrol3; + Actor patrol4; + World world; + + int WaveNumber = 0; + InfoWidget evacuateWidget; + 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" }; + const string tank = "3tnk"; + const string v2 = "v2rl"; + const string boss = "4tnk"; - const int TimerTicks = 1; + const int TimerTicks = 1; - int AttackSquad = 6; - int AttackSquadCount = 1; - int VehicleSquad = 2; - int VehicleSquadCount = 1; + int AttackSquad = 6; + int AttackSquadCount = 1; + int VehicleSquad = 2; + int VehicleSquadCount = 1; - int patrolAttackFrame; - int patrolattackAtFrameIncrement; - int WaveAttackFrame; - int WaveAttackAtFrameIncrement; - int VehicleAttackFrame; - int VehicleAttackAtFrameIncrement; + int patrolAttackFrame; + int patrolattackAtFrameIncrement; + int WaveAttackFrame; + int WaveAttackAtFrameIncrement; + int VehicleAttackFrame; + int VehicleAttackAtFrameIncrement; - void MissionAccomplished(string text) - { - MissionUtils.CoopMissionAccomplished(world, text, multi0); - } + void MissionAccomplished(string text) + { + MissionUtils.CoopMissionAccomplished(world, text, multi0); + } - void AttackNearestAlliedActor(Actor self) - { - var enemies = world.Actors.Where(u => u.IsInWorld && !u.IsDead() && (u.Owner == multi0) - && ((u.HasTrait() && !u.HasTrait()))); - var targetEnemy = enemies.OrderBy(u => (self.CenterLocation - u.CenterLocation).LengthSquared).FirstOrDefault(); - if (targetEnemy != null) - { - self.QueueActivity(new AttackMove.AttackMoveActivity(self, new Attack(Target.FromActor(targetEnemy), WRange.FromCells(6)))); - } - } + void AttackNearestAlliedActor(Actor self) + { + var enemies = world.Actors.Where(u => u.IsInWorld && !u.IsDead() && (u.Owner == multi0) + && ((u.HasTrait() && !u.HasTrait()))); + var targetEnemy = enemies.OrderBy(u => (self.CenterLocation - u.CenterLocation).LengthSquared).FirstOrDefault(); + if (targetEnemy != null) + { + self.QueueActivity(new AttackMove.AttackMoveActivity(self, new Attack(Target.FromActor(targetEnemy), WRange.FromCells(6)))); + } + } - void SendVehicles() - { - if (SpawnVehicles == true) - { - for (int i = 1; i <= VehicleSquadCount; i++) - { - var route = world.SharedRandom.Next(sovietEntryPoints.Length); - var spawnPoint = sovietEntryPoints[route]; - for (int r = 1; r <= VehicleSquad; r++) - { - var squad = world.CreateActor(Vehicles.Random(world.SharedRandom), - new TypeDictionary - { - new LocationInit(spawnPoint), - new OwnerInit(soviets) - }); - squad.QueueActivity(new AttackMove.AttackMoveActivity(squad, new Move.Move(paradrop1.Location, 3))); - } - } - } - } + void SendVehicles() + { + if (SpawnVehicles == true) + { + for (int i = 1; i <= VehicleSquadCount; i++) + { + var route = world.SharedRandom.Next(sovietEntryPoints.Length); + var spawnPoint = sovietEntryPoints[route]; + for (int r = 1; r <= VehicleSquad; r++) + { + var squad = world.CreateActor(Vehicles.Random(world.SharedRandom), + new TypeDictionary + { + new LocationInit(spawnPoint), + new OwnerInit(soviets) + }); + squad.QueueActivity(new AttackMove.AttackMoveActivity(squad, new Move.Move(paradrop1.Location, 3))); + } + } + } + } - void SendWave() - { - if (SpawnWave == true) - { - for (int i = 1; i <= AttackSquadCount; i++) - { - world.Actors.Where(u => u.IsInWorld && !u.IsDead() && (u.Owner == soviets) - && !u.HasTrait()); - var route = world.SharedRandom.Next(sovietEntryPoints.Length); - var spawnPoint = sovietEntryPoints[route]; - for (int r = 1; r < AttackSquad; r++) - { - var squad = world.CreateActor(Infantry.Random(world.SharedRandom), - new TypeDictionary - { - new LocationInit(spawnPoint), - new OwnerInit(soviets) - }); - squad.QueueActivity(new AttackMove.AttackMoveActivity(squad, new Move.Move(paradrop1.Location, 3))); - var scatteredUnits = world.FindAliveCombatantActorsInCircle(Util.CenterOfCell(paradrop1.Location), 15) - .Where(unit => unit.IsIdle && unit.HasTrait() && unit.Owner == soviets); - foreach (var unit in scatteredUnits) - { - AttackNearestAlliedActor(unit); - } - } - } - } - } + void SendWave() + { + if (SpawnWave == true) + { + for (int i = 1; i <= AttackSquadCount; i++) + { + world.Actors.Where(u => u.IsInWorld && !u.IsDead() && (u.Owner == soviets) + && !u.HasTrait()); + var route = world.SharedRandom.Next(sovietEntryPoints.Length); + var spawnPoint = sovietEntryPoints[route]; + for (int r = 1; r < AttackSquad; r++) + { + var squad = world.CreateActor(Infantry.Random(world.SharedRandom), + new TypeDictionary + { + new LocationInit(spawnPoint), + new OwnerInit(soviets) + }); + squad.QueueActivity(new AttackMove.AttackMoveActivity(squad, new Move.Move(paradrop1.Location, 3))); + var scatteredUnits = world.FindAliveCombatantActorsInCircle(Util.CenterOfCell(paradrop1.Location), 15) + .Where(unit => unit.IsIdle && unit.HasTrait() && unit.Owner == soviets); + foreach (var unit in scatteredUnits) + { + AttackNearestAlliedActor(unit); + } + } + } + } + } - void SendPatrol(string[] squad, Player owner, CPos location, CPos move) - { - if (SpawnPatrol) - { - for (int i = 0; i < squad.Length; i++) - { - var actor = world.CreateActor(squad[i], new TypeDictionary - { - new OwnerInit(owner), - new LocationInit(location) - }); - actor.QueueActivity(new AttackMove.AttackMoveActivity(actor, new Move.Move(move, 3))); - AttackNearestAlliedActor(actor); - } - } - } + void SendPatrol(string[] squad, Player owner, CPos location, CPos move) + { + if (SpawnPatrol) + { + for (int i = 0; i < squad.Length; i++) + { + var actor = world.CreateActor(squad[i], new TypeDictionary + { + new OwnerInit(owner), + new LocationInit(location) + }); + actor.QueueActivity(new AttackMove.AttackMoveActivity(actor, new Move.Move(move, 3))); + AttackNearestAlliedActor(actor); + } + } + } - void SendBoss(string unit) - { - var route = world.SharedRandom.Next(sovietEntryPoints.Length); - var spawnPoint = sovietEntryPoints[route]; - var actor = world.CreateActor(unit, new TypeDictionary - { - new OwnerInit(soviets), - new LocationInit(spawnPoint) - }); - if (multi0 != null) - { - AttackNearestAlliedActor(actor); - } - } + void SendBoss(string unit) + { + var route = world.SharedRandom.Next(sovietEntryPoints.Length); + var spawnPoint = sovietEntryPoints[route]; + var actor = world.CreateActor(unit, new TypeDictionary + { + new OwnerInit(soviets), + new LocationInit(spawnPoint) + }); + if (multi0 != null) + { + AttackNearestAlliedActor(actor); + } + } - void Wave(string text) - { - Game.AddChatLine(Color.Cyan, "Wave Sequence", text); - } + void Wave(string text) + { + Game.AddChatLine(Color.Cyan, "Wave Sequence", text); + } - public void Tick(Actor self) - { - if (multi0.WinState != WinState.Undefined) return; + public void Tick(Actor self) + { + if (multi0.WinState != WinState.Undefined) return; - if (world.FrameNumber == patrolAttackFrame) - { - patrolAttackFrame += patrolattackAtFrameIncrement; - patrolattackAtFrameIncrement = Math.Max(patrolattackAtFrameIncrement - 5, 100); - SendPatrol(Patrol, soviets, patrol1.Location, paradrop1.Location); - SendPatrol(Patrol, soviets, patrol2.Location, paradrop2.Location); - SendPatrol(Patrol, soviets, patrol3.Location, paradrop3.Location); - SendPatrol(Patrol, soviets, patrol4.Location, paradrop4.Location); - } - if (world.FrameNumber == WaveAttackFrame) - { - WaveAttackFrame += WaveAttackAtFrameIncrement; - WaveAttackAtFrameIncrement = Math.Max(WaveAttackAtFrameIncrement - 5, 100); - SendWave(); - } - if (world.FrameNumber == VehicleAttackFrame) - { - VehicleAttackFrame += VehicleAttackAtFrameIncrement; - VehicleAttackAtFrameIncrement = Math.Max(VehicleAttackAtFrameIncrement - 5, 100); - SendVehicles(); - } - if (world.FrameNumber == TimerTicks) - { - evacuateWidget = new InfoWidget(""); - Ui.Root.AddChild(evacuateWidget); - WaveNumber++; - Wave("One Initializing"); - UpdateWaveSequence(); - } - if (world.FrameNumber == 1500 * 2) - { - WaveNumber++; - Wave("Two Initializing"); - SpawnPatrol = false; - AttackSquad = 7; - AttackSquadCount = 2; - UpdateWaveSequence(); - MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location); - MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location + new CVec(0, -2)); - } - if (world.FrameNumber == 1500 * 4) - { - WaveNumber++; - Wave("Three Initializing"); - UpdateWaveSequence(); - AttackSquad = 8; - } - if (world.FrameNumber == 1500 * 6) - { - WaveNumber++; - Wave("Four Initializing"); - UpdateWaveSequence(); - AttackSquad = 9; - MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location); - MissionUtils.Parabomb(world, soviets, entry2.Location, paradrop3.Location); - AttackSquadCount = 3; - VehicleSquad = 3; - } - if (world.FrameNumber == 1500 * 8) - { - WaveNumber++; - Wave("Five Initializing"); - UpdateWaveSequence(); - AttackSquad = 10; - VehicleSquad = 4; - VehicleSquadCount = 2; - SendBoss(tank); - } - if (world.FrameNumber == 1500 * 11) - { - WaveNumber++; - Wave("Six Initializing"); - UpdateWaveSequence(); - AttackSquad = 11; - AttackSquadCount = 4; - MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location); - MissionUtils.Parabomb(world, soviets, entry4.Location, paradrop1.Location); - MissionUtils.Parabomb(world, soviets, entry6.Location, paradrop3.Location); - MissionUtils.Parabomb(world, soviets, entry5.Location, paradrop3.Location); - SendBoss(tank); - SendBoss(tank); - } - if (world.FrameNumber == 1500 * 14) - { - WaveNumber++; - Wave("Seven Initializing"); - UpdateWaveSequence(); - AttackSquad = 12; - VehicleSquad = 5; - VehicleSquadCount = 3; - SendBoss(v2); - } - if (world.FrameNumber == 1500 * 17) - { - SpawnVehicles = true; - WaveNumber++; - Wave("Eight Initializing"); - UpdateWaveSequence(); - AttackSquad = 13; - AttackSquadCount = 5; - MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location); - MissionUtils.Parabomb(world, soviets, entry4.Location, paradrop1.Location); - MissionUtils.Parabomb(world, soviets, entry6.Location, paradrop3.Location); - MissionUtils.Parabomb(world, soviets, entry5.Location, paradrop3.Location); - MissionUtils.Parabomb(world, soviets, entry2.Location, paradrop2.Location); - MissionUtils.Parabomb(world, soviets, entry3.Location, paradrop2.Location); - SendBoss(v2); - SendBoss(tank); - SendBoss(v2); - } - if (world.FrameNumber == 1500 * 21) - { - WaveNumber++; - Wave("Nine Initializing"); - UpdateWaveSequence(); - AttackSquad = 14; - VehicleSquad = 6; - VehicleSquadCount = 4; - SendBoss(v2); - SendBoss(tank); - SendBoss(tank); - } - if (world.FrameNumber == 1500 * 25) - { - WaveNumber++; - Wave("Ten Initializing"); - UpdateWaveSequence(); - AttackSquad = 15; - AttackSquadCount = 6; - for (int i = 0; i < 2; i++) - { - MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location + new CVec(0, -2)); - MissionUtils.Parabomb(world, soviets, entry2.Location, paradrop3.Location + new CVec(0, -2)); - MissionUtils.Parabomb(world, soviets, entry4.Location, paradrop2.Location + new CVec(0, -2)); - MissionUtils.Parabomb(world, soviets, entry5.Location, paradrop4.Location + new CVec(0, -2)); - MissionUtils.Parabomb(world, soviets, entry2.Location, paradrop1.Location + new CVec(0, 2)); - MissionUtils.Parabomb(world, soviets, entry4.Location, paradrop3.Location + new CVec(0, 2)); - MissionUtils.Parabomb(world, soviets, entry3.Location, paradrop2.Location + new CVec(0, 2)); - MissionUtils.Parabomb(world, soviets, entry5.Location, paradrop4.Location + new CVec(0, 2)); - } - SendBoss(boss); - } - if (world.FrameNumber == 1500 * 30) - { - SpawnWave = false; - SpawnVehicles = false; - } - if (world.FrameNumber == 1500 * 31) - { - MissionAccomplished("You and your mates have Survived the Onslaught!"); - } - } + if (world.FrameNumber == patrolAttackFrame) + { + patrolAttackFrame += patrolattackAtFrameIncrement; + patrolattackAtFrameIncrement = Math.Max(patrolattackAtFrameIncrement - 5, 100); + SendPatrol(Patrol, soviets, patrol1.Location, paradrop1.Location); + SendPatrol(Patrol, soviets, patrol2.Location, paradrop2.Location); + SendPatrol(Patrol, soviets, patrol3.Location, paradrop3.Location); + SendPatrol(Patrol, soviets, patrol4.Location, paradrop4.Location); + } + if (world.FrameNumber == WaveAttackFrame) + { + WaveAttackFrame += WaveAttackAtFrameIncrement; + WaveAttackAtFrameIncrement = Math.Max(WaveAttackAtFrameIncrement - 5, 100); + SendWave(); + } + if (world.FrameNumber == VehicleAttackFrame) + { + VehicleAttackFrame += VehicleAttackAtFrameIncrement; + VehicleAttackAtFrameIncrement = Math.Max(VehicleAttackAtFrameIncrement - 5, 100); + SendVehicles(); + } + if (world.FrameNumber == TimerTicks) + { + evacuateWidget = new InfoWidget(""); + Ui.Root.AddChild(evacuateWidget); + WaveNumber++; + Wave("One Initializing"); + UpdateWaveSequence(); + } + if (world.FrameNumber == 1500 * 2) + { + WaveNumber++; + Wave("Two Initializing"); + SpawnPatrol = false; + AttackSquad = 7; + AttackSquadCount = 2; + UpdateWaveSequence(); + MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location); + MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location + new CVec(0, -2)); + } + if (world.FrameNumber == 1500 * 4) + { + WaveNumber++; + Wave("Three Initializing"); + UpdateWaveSequence(); + AttackSquad = 8; + } + if (world.FrameNumber == 1500 * 6) + { + WaveNumber++; + Wave("Four Initializing"); + UpdateWaveSequence(); + AttackSquad = 9; + MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location); + MissionUtils.Parabomb(world, soviets, entry2.Location, paradrop3.Location); + AttackSquadCount = 3; + VehicleSquad = 3; + } + if (world.FrameNumber == 1500 * 8) + { + WaveNumber++; + Wave("Five Initializing"); + UpdateWaveSequence(); + AttackSquad = 10; + VehicleSquad = 4; + VehicleSquadCount = 2; + SendBoss(tank); + } + if (world.FrameNumber == 1500 * 11) + { + WaveNumber++; + Wave("Six Initializing"); + UpdateWaveSequence(); + AttackSquad = 11; + AttackSquadCount = 4; + MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location); + MissionUtils.Parabomb(world, soviets, entry4.Location, paradrop1.Location); + MissionUtils.Parabomb(world, soviets, entry6.Location, paradrop3.Location); + MissionUtils.Parabomb(world, soviets, entry5.Location, paradrop3.Location); + SendBoss(tank); + SendBoss(tank); + } + if (world.FrameNumber == 1500 * 14) + { + WaveNumber++; + Wave("Seven Initializing"); + UpdateWaveSequence(); + AttackSquad = 12; + VehicleSquad = 5; + VehicleSquadCount = 3; + SendBoss(v2); + } + if (world.FrameNumber == 1500 * 17) + { + SpawnVehicles = true; + WaveNumber++; + Wave("Eight Initializing"); + UpdateWaveSequence(); + AttackSquad = 13; + AttackSquadCount = 5; + MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location); + MissionUtils.Parabomb(world, soviets, entry4.Location, paradrop1.Location); + MissionUtils.Parabomb(world, soviets, entry6.Location, paradrop3.Location); + MissionUtils.Parabomb(world, soviets, entry5.Location, paradrop3.Location); + MissionUtils.Parabomb(world, soviets, entry2.Location, paradrop2.Location); + MissionUtils.Parabomb(world, soviets, entry3.Location, paradrop2.Location); + SendBoss(v2); + SendBoss(tank); + SendBoss(v2); + } + if (world.FrameNumber == 1500 * 21) + { + WaveNumber++; + Wave("Nine Initializing"); + UpdateWaveSequence(); + AttackSquad = 14; + VehicleSquad = 6; + VehicleSquadCount = 4; + SendBoss(v2); + SendBoss(tank); + SendBoss(tank); + } + if (world.FrameNumber == 1500 * 25) + { + WaveNumber++; + Wave("Ten Initializing"); + UpdateWaveSequence(); + AttackSquad = 15; + AttackSquadCount = 6; + for (int i = 0; i < 2; i++) + { + MissionUtils.Parabomb(world, soviets, entry1.Location, paradrop1.Location + new CVec(0, -2)); + MissionUtils.Parabomb(world, soviets, entry2.Location, paradrop3.Location + new CVec(0, -2)); + MissionUtils.Parabomb(world, soviets, entry4.Location, paradrop2.Location + new CVec(0, -2)); + MissionUtils.Parabomb(world, soviets, entry5.Location, paradrop4.Location + new CVec(0, -2)); + MissionUtils.Parabomb(world, soviets, entry2.Location, paradrop1.Location + new CVec(0, 2)); + MissionUtils.Parabomb(world, soviets, entry4.Location, paradrop3.Location + new CVec(0, 2)); + MissionUtils.Parabomb(world, soviets, entry3.Location, paradrop2.Location + new CVec(0, 2)); + MissionUtils.Parabomb(world, soviets, entry5.Location, paradrop4.Location + new CVec(0, 2)); + } + SendBoss(boss); + } + if (world.FrameNumber == 1500 * 30) + { + SpawnWave = false; + SpawnVehicles = false; + } + if (world.FrameNumber == 1500 * 31) + { + MissionAccomplished("You and your mates have Survived the Onslaught!"); + } + } - void UpdateWaveSequence() - { - evacuateWidget.Text = ShortEvacuateTemplate.F(WaveNumber); - } + void UpdateWaveSequence() + { + evacuateWidget.Text = ShortEvacuateTemplate.F(WaveNumber); + } - bool SpawnPatrol = true; + bool SpawnPatrol = true; - bool SpawnWave = true; + bool SpawnWave = true; - bool SpawnVehicles = true; + bool SpawnVehicles = true; - public void WorldLoaded(World w) - { - world = w; - soviets = w.Players.Single(p => p.InternalName == "Soviets"); - multi0 = w.Players.Single(p => p.InternalName == "Multi0"); - patrolAttackFrame = 750; - patrolattackAtFrameIncrement = 750; - WaveAttackFrame = 500; - WaveAttackAtFrameIncrement = 500; - VehicleAttackFrame = 2000; - VehicleAttackAtFrameIncrement = 2000; - var actors = w.WorldActor.Trait().Actors; - entry1 = actors["Entry1"]; - entry2 = actors["Entry2"]; - entry3 = actors["Entry3"]; - entry4 = actors["Entry4"]; - entry5 = actors["Entry5"]; - entry6 = actors["Entry6"]; - entry7 = actors["Entry7"]; - entry8 = actors["Entry8"]; - sovietEntryPoints = new[] { entry1, entry2, entry3, entry4, entry5, entry6, entry7, entry8 }.Select(p => p.Location).ToArray(); - paradrop1 = actors["Paradrop1"]; - paradrop2 = actors["Paradrop2"]; - paradrop3 = actors["Paradrop3"]; - paradrop4 = actors["Paradrop4"]; - patrol1 = actors["Patrol1"]; - patrol2 = actors["Patrol2"]; - patrol3 = actors["Patrol3"]; - patrol4 = actors["Patrol4"]; - MissionUtils.PlayMissionMusic(); - Game.AddChatLine(Color.Cyan, "Mission", "Defend Fort LoneStar At All costs!"); - } - } + public void WorldLoaded(World w) + { + world = w; + soviets = w.Players.Single(p => p.InternalName == "Soviets"); + multi0 = w.Players.Single(p => p.InternalName == "Multi0"); + patrolAttackFrame = 750; + patrolattackAtFrameIncrement = 750; + WaveAttackFrame = 500; + WaveAttackAtFrameIncrement = 500; + VehicleAttackFrame = 2000; + VehicleAttackAtFrameIncrement = 2000; + var actors = w.WorldActor.Trait().Actors; + entry1 = actors["Entry1"]; + entry2 = actors["Entry2"]; + entry3 = actors["Entry3"]; + entry4 = actors["Entry4"]; + entry5 = actors["Entry5"]; + entry6 = actors["Entry6"]; + entry7 = actors["Entry7"]; + entry8 = actors["Entry8"]; + sovietEntryPoints = new[] { entry1, entry2, entry3, entry4, entry5, entry6, entry7, entry8 }.Select(p => p.Location).ToArray(); + paradrop1 = actors["Paradrop1"]; + paradrop2 = actors["Paradrop2"]; + paradrop3 = actors["Paradrop3"]; + paradrop4 = actors["Paradrop4"]; + patrol1 = actors["Patrol1"]; + patrol2 = actors["Patrol2"]; + patrol3 = actors["Patrol3"]; + patrol4 = actors["Patrol4"]; + MissionUtils.PlayMissionMusic(); + Game.AddChatLine(Color.Cyan, "Mission", "Defend Fort LoneStar At All costs!"); + } + } } diff --git a/OpenRA.Mods.RA/Missions/Survival02Script.cs b/OpenRA.Mods.RA/Missions/Survival02Script.cs index bfb8861f6e..8e53caf5a1 100644 --- a/OpenRA.Mods.RA/Missions/Survival02Script.cs +++ b/OpenRA.Mods.RA/Missions/Survival02Script.cs @@ -23,387 +23,387 @@ using OpenRA.Scripting; namespace OpenRA.Mods.RA.Missions { - class Survival02ScriptInfo : TraitInfo, Requires { } + class Survival02ScriptInfo : TraitInfo, Requires { } - class Survival02Script : IHasObjectives, IWorldLoaded, ITick - { - public event Action OnObjectivesUpdated = notify => { }; + class Survival02Script : IHasObjectives, IWorldLoaded, ITick + { + public event Action OnObjectivesUpdated = notify => { }; - public IEnumerable Objectives { get { return objectives.Values; } } + public IEnumerable Objectives { get { return objectives.Values; } } - Dictionary objectives = new Dictionary + Dictionary objectives = new Dictionary { { maintainPresenceID, new Objective(ObjectiveType.Primary, maintainPresence, ObjectiveStatus.InProgress) }, - { destroySovietsID, new Objective(ObjectiveType.Primary, destroySoviets, ObjectiveStatus.Inactive) }, + { destroySovietsID, new Objective(ObjectiveType.Primary, destroySoviets, ObjectiveStatus.Inactive) }, }; - const int destroySovietsID = 0; - const string destroySoviets = "Excellent work Commander! We have reinforced our position enough to initiate a counter-attack. Destroy the remaining Soviet forces in the area!"; - const int maintainPresenceID = 1; - const string maintainPresence = "Commander! The Soviets have rendered us useless... Reports indicate Soviet reinforcements are coming to finish us off... the situation looks bleak..."; - - Player allies; - Player soviets; + const int destroySovietsID = 0; + const string destroySoviets = "Excellent work Commander! We have reinforced our position enough to initiate a counter-attack. Destroy the remaining Soviet forces in the area!"; + const int maintainPresenceID = 1; + const string maintainPresence = "Commander! The Soviets have rendered us useless... Reports indicate Soviet reinforcements are coming to finish us off... the situation looks bleak..."; + + Player allies; + Player soviets; - Actor sovietEntry1; - Actor sovietEntry2; - Actor sovietEntry3; - CPos[] sovietentrypoints; - CPos[] newsovietentrypoints; + Actor sovietEntry1; + Actor sovietEntry2; + Actor sovietEntry3; + CPos[] sovietentrypoints; + CPos[] newsovietentrypoints; - Actor sovietrally; - Actor sovietrally1; - Actor sovietrally2; - Actor sovietrally3; - Actor sovietrally4; - Actor sovietrally5; - Actor sovietrally6; - Actor sovietrally8; - CPos[] sovietrallypoints; - CPos[] newsovietrallypoints; + Actor sovietrally; + Actor sovietrally1; + Actor sovietrally2; + Actor sovietrally3; + Actor sovietrally4; + Actor sovietrally5; + Actor sovietrally6; + Actor sovietrally8; + CPos[] sovietrallypoints; + CPos[] newsovietrallypoints; - Actor sovietparadrop1; - Actor sovietparadrop2; - Actor sovietparadrop3; - Actor sovietparadropEntry; + Actor sovietparadrop1; + Actor sovietparadrop2; + Actor sovietparadrop3; + Actor sovietparadropEntry; - Actor alliesbase; - Actor factory; - Actor barrack1; + Actor alliesbase; + Actor factory; + Actor barrack1; - Actor drum1; - Actor drum2; - Actor drum3; - Actor FranceEntry; - Actor FranceRally; - Actor FranceparaEntry1; - Actor FranceparaEntry2; - Actor FranceparaEntry3; + Actor drum1; + Actor drum2; + Actor drum3; + Actor FranceEntry; + Actor FranceRally; + Actor FranceparaEntry1; + Actor FranceparaEntry2; + Actor FranceparaEntry3; - World world; + World world; - CountdownTimer survivalTimer; - CountdownTimerWidget survivalTimerWidget; + CountdownTimer survivalTimer; + CountdownTimerWidget survivalTimerWidget; - const int timerTicks = 1500 * 10; - const int attackTicks = 1500 * 1; - const int sovietAttackGroupSize = 7; - const int SovietGroupSize = 4; + const int timerTicks = 1500 * 10; + const int attackTicks = 1500 * 1; + const int sovietAttackGroupSize = 7; + const int SovietGroupSize = 4; - const string Camera = "Camera"; - const string InfantryQueueName = "Infantry"; - const string Flare = "flare"; + const string Camera = "Camera"; + const string InfantryQueueName = "Infantry"; + const string Flare = "flare"; - static readonly string[] FrenchSquad = { "2tnk", "2tnk", "mcv" }; - static readonly string[] SovietInfantry = { "e1", "e4", "e2" }; - static readonly string[] SovietVehicles = { "3tnk", "3tnk", "v2rl" }; - static readonly string[] SovietTanks = { "3tnk", "3tnk", "3tnk" }; - static readonly string[] squad = { "e1", "e1", "e2", "e4", "e4" }; - static readonly string[] platoon = { "e1", "e1", "e2", "e4", "e4", "e1", "e1", "e2", "e4", "e4" }; + static readonly string[] FrenchSquad = { "2tnk", "2tnk", "mcv" }; + static readonly string[] SovietInfantry = { "e1", "e4", "e2" }; + static readonly string[] SovietVehicles = { "3tnk", "3tnk", "v2rl" }; + static readonly string[] SovietTanks = { "3tnk", "3tnk", "3tnk" }; + static readonly string[] squad = { "e1", "e1", "e2", "e4", "e4" }; + static readonly string[] platoon = { "e1", "e1", "e2", "e4", "e4", "e1", "e1", "e2", "e4", "e4" }; - int ProduceAtFrame; - int ProduceAtFrameIncrement; - int attackAtFrame; - int attackAtFrameIncrement; + int ProduceAtFrame; + int ProduceAtFrameIncrement; + int attackAtFrame; + int attackAtFrameIncrement; - void MissionAccomplished(string text) - { - MissionUtils.CoopMissionAccomplished(world, text, allies); - } + void MissionAccomplished(string text) + { + MissionUtils.CoopMissionAccomplished(world, text, allies); + } - void MissionFailed(string text) - { - MissionUtils.CoopMissionFailed(world, text, allies); - } + void MissionFailed(string text) + { + MissionUtils.CoopMissionFailed(world, text, allies); + } - void Message(string text) - { - Game.AddChatLine(Color.Aqua, "Incoming Report", text); - } + void Message(string text) + { + Game.AddChatLine(Color.Aqua, "Incoming Report", text); + } - void SetSovietUnitsToDefensiveStance() - { - foreach (var actor in world.Actors.Where(a => a.IsInWorld && a.Owner == soviets && !a.IsDead() && a.HasTrait())) - actor.Trait().stance = UnitStance.Defend; - } + void SetSovietUnitsToDefensiveStance() + { + foreach (var actor in world.Actors.Where(a => a.IsInWorld && a.Owner == soviets && !a.IsDead() && a.HasTrait())) + actor.Trait().stance = UnitStance.Defend; + } - Actor FirstUnshroudedOrDefault(IEnumerable actors, World world, int shroudRange) - { - return actors.FirstOrDefault(u => world.FindAliveCombatantActorsInCircle(u.CenterLocation, shroudRange).All(a => !a.HasTrait())); - } + Actor FirstUnshroudedOrDefault(IEnumerable actors, World world, int shroudRange) + { + return actors.FirstOrDefault(u => world.FindAliveCombatantActorsInCircle(u.CenterLocation, shroudRange).All(a => !a.HasTrait())); + } - void AttackNearestAlliedActor(Actor self) - { - var enemies = world.Actors.Where(u => u.AppearsHostileTo(self) && (u.Owner == allies) - && ((u.HasTrait() && !u.HasTrait()) || u.HasTrait()) && u.IsInWorld && !u.IsDead()); + void AttackNearestAlliedActor(Actor self) + { + var enemies = world.Actors.Where(u => u.AppearsHostileTo(self) && (u.Owner == allies) + && ((u.HasTrait() && !u.HasTrait()) || u.HasTrait()) && u.IsInWorld && !u.IsDead()); - var enemy = FirstUnshroudedOrDefault(enemies.OrderBy(u => (self.CenterLocation - u.CenterLocation).LengthSquared), world, 20); - if (enemy != null) + var enemy = FirstUnshroudedOrDefault(enemies.OrderBy(u => (self.CenterLocation - u.CenterLocation).LengthSquared), world, 20); + if (enemy != null) self.QueueActivity(new AttackMove.AttackMoveActivity(self, new Attack(Target.FromActor(enemy), WRange.FromCells(3)))); - } + } - void SpawnAndAttack(string[] squad, Player owner, CPos location) - { - for (int i = 0; i < squad.Length; i++) - { - var actor = world.CreateActor(squad[i], new TypeDictionary { new OwnerInit(owner), new LocationInit(location) }); - AttackNearestAlliedActor(actor); - } - } + void SpawnAndAttack(string[] squad, Player owner, CPos location) + { + for (int i = 0; i < squad.Length; i++) + { + var actor = world.CreateActor(squad[i], new TypeDictionary { new OwnerInit(owner), new LocationInit(location) }); + AttackNearestAlliedActor(actor); + } + } - void SpawnFlare(Player owner, Actor location) - { - world.CreateActor(Flare, new TypeDictionary { new OwnerInit(owner), new LocationInit(location.Location) }); - } + void SpawnFlare(Player owner, Actor location) + { + world.CreateActor(Flare, new TypeDictionary { new OwnerInit(owner), new LocationInit(location.Location) }); + } - void FinalAttack() - { - SpawnAndAttack(SovietTanks, soviets, sovietEntry1.Location); - SpawnAndAttack(SovietTanks, soviets, sovietEntry1.Location); - SpawnAndAttack(SovietTanks, soviets, sovietEntry2.Location); - SpawnAndAttack(platoon, soviets, sovietEntry1.Location); - SpawnAndAttack(platoon, soviets, sovietEntry2.Location); - } + void FinalAttack() + { + SpawnAndAttack(SovietTanks, soviets, sovietEntry1.Location); + SpawnAndAttack(SovietTanks, soviets, sovietEntry1.Location); + SpawnAndAttack(SovietTanks, soviets, sovietEntry2.Location); + SpawnAndAttack(platoon, soviets, sovietEntry1.Location); + SpawnAndAttack(platoon, soviets, sovietEntry2.Location); + } - void FrenchReinforcements() - { - Game.MoveViewport(sovietrally1.Location.ToFloat2()); - MissionUtils.Parabomb(world, allies, FranceparaEntry1.Location, drum3.Location); - MissionUtils.Parabomb(world, allies, FranceparaEntry3.Location, drum2.Location); - MissionUtils.Parabomb(world, allies, FranceparaEntry2.Location, drum1.Location); - for (int i = 0; i < FrenchSquad.Length; i++) - { - var actor = world.CreateActor(FrenchSquad[i], new TypeDictionary { new OwnerInit(allies), new LocationInit(FranceEntry.Location) }); - actor.QueueActivity(new Move.Move(FranceRally.Location)); - } - } + void FrenchReinforcements() + { + Game.MoveViewport(sovietrally1.Location.ToFloat2()); + MissionUtils.Parabomb(world, allies, FranceparaEntry1.Location, drum3.Location); + MissionUtils.Parabomb(world, allies, FranceparaEntry3.Location, drum2.Location); + MissionUtils.Parabomb(world, allies, FranceparaEntry2.Location, drum1.Location); + for (int i = 0; i < FrenchSquad.Length; i++) + { + var actor = world.CreateActor(FrenchSquad[i], new TypeDictionary { new OwnerInit(allies), new LocationInit(FranceEntry.Location) }); + actor.QueueActivity(new Move.Move(FranceRally.Location)); + } + } - public void Tick(Actor self) - { - if (allies.WinState != WinState.Undefined) - return; + public void Tick(Actor self) + { + if (allies.WinState != WinState.Undefined) + return; - survivalTimer.Tick(); - if (allies != null) - { - ManageSovietUnits(); - } + survivalTimer.Tick(); + if (allies != null) + { + ManageSovietUnits(); + } - var unitsAndBuildings = world.Actors.Where(a => !a.IsDead() && a.IsInWorld && (a.HasTrait() || (a.HasTrait() && !a.HasTrait()))); - if (!unitsAndBuildings.Any(a => a.Owner == soviets)) - { - objectives[destroySovietsID].Status = ObjectiveStatus.Completed; - MissionAccomplished("We have destroyed the remaining Soviet presence!"); - } + var unitsAndBuildings = world.Actors.Where(a => !a.IsDead() && a.IsInWorld && (a.HasTrait() || (a.HasTrait() && !a.HasTrait()))); + if (!unitsAndBuildings.Any(a => a.Owner == soviets)) + { + objectives[destroySovietsID].Status = ObjectiveStatus.Completed; + MissionAccomplished("We have destroyed the remaining Soviet presence!"); + } - if (world.FrameNumber == ProduceAtFrame) - { - ProduceAtFrame += ProduceAtFrameIncrement; - ProduceAtFrameIncrement = Math.Max(ProduceAtFrameIncrement - 5, 100); - InitializeSovietFactories(barrack1, sovietrally.Location); - BuildSovietUnits(factory, barrack1); - } - if (world.FrameNumber == attackAtFrame) - { - attackAtFrame += attackAtFrameIncrement; - attackAtFrameIncrement = Math.Max(attackAtFrameIncrement - 5, 100); - ManageSovietVehicles(); - if (producing) - { - BuildSovietVehicles(sovietentrypoints, sovietrallypoints); - } - else - BuildSovietVehicles(newsovietentrypoints, newsovietrallypoints); - } - if (world.FrameNumber == attackTicks) - { - SpawnAndAttack(squad, soviets, sovietrally5.Location); - SpawnAndAttack(squad, soviets, sovietrally6.Location); - } - if (world.FrameNumber == attackTicks * 3) - { - SpawnFlare(soviets, sovietparadrop3); - MissionUtils.Paradrop(world, soviets, squad, sovietparadropEntry.Location, sovietparadrop3.Location); - SpawnAndAttack(squad, soviets, sovietrally2.Location); - SpawnAndAttack(platoon, soviets, sovietrally5.Location); - SpawnAndAttack(platoon, soviets, sovietrally6.Location); - } - if (world.FrameNumber == attackTicks * 5) - { - SpawnFlare(soviets, sovietparadrop2); - MissionUtils.Paradrop(world, soviets, squad, sovietparadropEntry.Location, sovietparadrop2.Location); - } - if (world.FrameNumber == attackTicks * 7) - { - SpawnFlare(soviets, sovietparadrop1); - MissionUtils.Paradrop(world, soviets, squad, sovietparadropEntry.Location, sovietparadrop1.Location); - } - if (world.FrameNumber == attackTicks * 10) - { - SpawnFlare(soviets, sovietparadrop1); - MissionUtils.Paradrop(world, soviets, squad, sovietparadropEntry.Location, sovietparadrop1.Location); - ManageSovietUnits(); - } - if (world.FrameNumber == attackTicks * 12) - { - Sound.Play("reinfor1.aud"); - FrenchReinforcements(); - } - } + if (world.FrameNumber == ProduceAtFrame) + { + ProduceAtFrame += ProduceAtFrameIncrement; + ProduceAtFrameIncrement = Math.Max(ProduceAtFrameIncrement - 5, 100); + InitializeSovietFactories(barrack1, sovietrally.Location); + BuildSovietUnits(factory, barrack1); + } + if (world.FrameNumber == attackAtFrame) + { + attackAtFrame += attackAtFrameIncrement; + attackAtFrameIncrement = Math.Max(attackAtFrameIncrement - 5, 100); + ManageSovietVehicles(); + if (producing) + { + BuildSovietVehicles(sovietentrypoints, sovietrallypoints); + } + else + BuildSovietVehicles(newsovietentrypoints, newsovietrallypoints); + } + if (world.FrameNumber == attackTicks) + { + SpawnAndAttack(squad, soviets, sovietrally5.Location); + SpawnAndAttack(squad, soviets, sovietrally6.Location); + } + if (world.FrameNumber == attackTicks * 3) + { + SpawnFlare(soviets, sovietparadrop3); + MissionUtils.Paradrop(world, soviets, squad, sovietparadropEntry.Location, sovietparadrop3.Location); + SpawnAndAttack(squad, soviets, sovietrally2.Location); + SpawnAndAttack(platoon, soviets, sovietrally5.Location); + SpawnAndAttack(platoon, soviets, sovietrally6.Location); + } + if (world.FrameNumber == attackTicks * 5) + { + SpawnFlare(soviets, sovietparadrop2); + MissionUtils.Paradrop(world, soviets, squad, sovietparadropEntry.Location, sovietparadrop2.Location); + } + if (world.FrameNumber == attackTicks * 7) + { + SpawnFlare(soviets, sovietparadrop1); + MissionUtils.Paradrop(world, soviets, squad, sovietparadropEntry.Location, sovietparadrop1.Location); + } + if (world.FrameNumber == attackTicks * 10) + { + SpawnFlare(soviets, sovietparadrop1); + MissionUtils.Paradrop(world, soviets, squad, sovietparadropEntry.Location, sovietparadrop1.Location); + ManageSovietUnits(); + } + if (world.FrameNumber == attackTicks * 12) + { + Sound.Play("reinfor1.aud"); + FrenchReinforcements(); + } + } - void StartCountDownTimer() - { - Sound.Play("timergo1.aud"); - survivalTimer = new CountdownTimer(timerTicks, CountDownTimerExpired, true); - survivalTimerWidget = new CountdownTimerWidget(survivalTimer, "Time Until Soviet Reinforcements Arrive: {0}"); - Ui.Root.AddChild(survivalTimerWidget); - } + void StartCountDownTimer() + { + Sound.Play("timergo1.aud"); + survivalTimer = new CountdownTimer(timerTicks, CountDownTimerExpired, true); + survivalTimerWidget = new CountdownTimerWidget(survivalTimer, "Time Until Soviet Reinforcements Arrive: {0}"); + Ui.Root.AddChild(survivalTimerWidget); + } - void CountDownTimerExpired(CountdownTimer countDownTimer) - { - survivalTimerWidget.Visible = false; - Message("The Soviet reinforcements are approuching!"); - BuildSovietVehicles(newsovietentrypoints, newsovietrallypoints); - FinalAttack(); - producing = false; - objectives[maintainPresenceID].Status = ObjectiveStatus.Completed; - objectives[destroySovietsID].Status = ObjectiveStatus.InProgress; - OnObjectivesUpdated(true); - } + void CountDownTimerExpired(CountdownTimer countDownTimer) + { + survivalTimerWidget.Visible = false; + Message("The Soviet reinforcements are approuching!"); + BuildSovietVehicles(newsovietentrypoints, newsovietrallypoints); + FinalAttack(); + producing = false; + objectives[maintainPresenceID].Status = ObjectiveStatus.Completed; + objectives[destroySovietsID].Status = ObjectiveStatus.InProgress; + OnObjectivesUpdated(true); + } - void InitializeSovietFactories(Actor tent, CPos rally) - { - if (tent.IsInWorld && !tent.IsDead()) - { - var sbrp = tent.Trait(); - sbrp.rallyPoint = rally; - sbrp.nearEnough = 6; - } - } + void InitializeSovietFactories(Actor tent, CPos rally) + { + if (tent.IsInWorld && !tent.IsDead()) + { + var sbrp = tent.Trait(); + sbrp.rallyPoint = rally; + sbrp.nearEnough = 6; + } + } - void BuildSovietUnit(string category, string unit) - { - var queueTent = MissionUtils.FindQueues(world, soviets, category).FirstOrDefault(q => q.CurrentItem() == null); - if (queueTent == null) return; - queueTent.ResolveOrder(queueTent.self, Order.StartProduction(queueTent.self, unit, 1)); - } + void BuildSovietUnit(string category, string unit) + { + var queueTent = MissionUtils.FindQueues(world, soviets, category).FirstOrDefault(q => q.CurrentItem() == null); + if (queueTent == null) return; + queueTent.ResolveOrder(queueTent.self, Order.StartProduction(queueTent.self, unit, 1)); + } - void BuildSovietUnits(Actor factory, Actor tent) - { - if (barrack1.IsInWorld && !barrack1.IsDead()) - { - BuildSovietUnit(InfantryQueueName, SovietInfantry.Random(world.SharedRandom)); - } - } + void BuildSovietUnits(Actor factory, Actor tent) + { + if (barrack1.IsInWorld && !barrack1.IsDead()) + { + BuildSovietUnit(InfantryQueueName, SovietInfantry.Random(world.SharedRandom)); + } + } - void ManageSovietUnits() - { - var units = world.FindAliveCombatantActorsInCircle(sovietrally.CenterLocation, 3) - .Where(u => u.IsIdle && u.HasTrait() && u.HasTrait() && u.Owner == soviets); - if (units.Count() >= sovietAttackGroupSize) - { - foreach (var unit in units) - { - var route = world.SharedRandom.Next(sovietrallypoints.Length); - unit.QueueActivity(new Move.Move(sovietrally3.Location)); - unit.QueueActivity(new Wait(300)); - unit.QueueActivity(new Move.Move(sovietrallypoints[route])); - AttackNearestAlliedActor(unit); - } - } - } + void ManageSovietUnits() + { + var units = world.FindAliveCombatantActorsInCircle(sovietrally.CenterLocation, 3) + .Where(u => u.IsIdle && u.HasTrait() && u.HasTrait() && u.Owner == soviets); + if (units.Count() >= sovietAttackGroupSize) + { + foreach (var unit in units) + { + var route = world.SharedRandom.Next(sovietrallypoints.Length); + unit.QueueActivity(new Move.Move(sovietrally3.Location)); + unit.QueueActivity(new Wait(300)); + unit.QueueActivity(new Move.Move(sovietrallypoints[route])); + AttackNearestAlliedActor(unit); + } + } + } - void BuildSovietVehicles(CPos[] spawnpoints, CPos[] rallypoints) - { - var route = world.SharedRandom.Next(spawnpoints.Length); - var spawnPoint = spawnpoints[route]; - var rally = world.SharedRandom.Next(rallypoints.Length); - var rallyPoint = rallypoints[rally]; - var unit = world.CreateActor(SovietVehicles.Random(world.SharedRandom), - new TypeDictionary + void BuildSovietVehicles(CPos[] spawnpoints, CPos[] rallypoints) + { + var route = world.SharedRandom.Next(spawnpoints.Length); + var spawnPoint = spawnpoints[route]; + var rally = world.SharedRandom.Next(rallypoints.Length); + var rallyPoint = rallypoints[rally]; + var unit = world.CreateActor(SovietVehicles.Random(world.SharedRandom), + new TypeDictionary { new LocationInit(spawnPoint), new OwnerInit(soviets) }); - unit.QueueActivity(new AttackMove.AttackMoveActivity(unit, new Move.Move(rallyPoint, 3))); - } + unit.QueueActivity(new AttackMove.AttackMoveActivity(unit, new Move.Move(rallyPoint, 3))); + } - void ManageSovietVehicles() - { - foreach (var rallyPoint in sovietrallypoints) - { - var units = world.FindAliveCombatantActorsInCircle(Util.CenterOfCell(rallyPoint), 10) - .Where(u => u.IsIdle && u.HasTrait() && u.HasTrait() && u.Owner == soviets); - if (units.Count() >= SovietGroupSize) - { - foreach (var unit in units) - AttackNearestAlliedActor(unit); - } - } + void ManageSovietVehicles() + { + foreach (var rallyPoint in sovietrallypoints) + { + var units = world.FindAliveCombatantActorsInCircle(Util.CenterOfCell(rallyPoint), 10) + .Where(u => u.IsIdle && u.HasTrait() && u.HasTrait() && u.Owner == soviets); + if (units.Count() >= SovietGroupSize) + { + foreach (var unit in units) + AttackNearestAlliedActor(unit); + } + } - var scatteredUnits = world.Actors.Where(u => u.IsInWorld && !u.IsDead() && u.HasTrait() && u.IsIdle && u.Owner == soviets) - .Except(world.WorldActor.Trait().Actors.Values) - .Except(sovietrallypoints.SelectMany(rp => world.FindAliveCombatantActorsInCircle(Util.CenterOfCell(rp), 10))); + var scatteredUnits = world.Actors.Where(u => u.IsInWorld && !u.IsDead() && u.HasTrait() && u.IsIdle && u.Owner == soviets) + .Except(world.WorldActor.Trait().Actors.Values) + .Except(sovietrallypoints.SelectMany(rp => world.FindAliveCombatantActorsInCircle(Util.CenterOfCell(rp), 10))); - foreach (var unit in scatteredUnits) - AttackNearestAlliedActor(unit); - } - - bool producing = true; + foreach (var unit in scatteredUnits) + AttackNearestAlliedActor(unit); + } + + bool producing = true; - public void WorldLoaded(World w) - { - world = w; - allies = w.Players.SingleOrDefault(p => p.InternalName == "Allies"); - if (allies != null) - { - ProduceAtFrame = 300; - ProduceAtFrameIncrement = 300; - attackAtFrame = 450; - attackAtFrameIncrement = 450; - } - soviets = w.Players.Single(p => p.InternalName == "Soviets"); - var actors = w.WorldActor.Trait().Actors; - sovietEntry1 = actors["SovietEntry1"]; - sovietEntry2 = actors["SovietEntry2"]; - sovietEntry3 = actors["SovietEntry3"]; - sovietentrypoints = new[] { sovietEntry1, sovietEntry2, sovietEntry3 }.Select(p => p.Location).ToArray(); - sovietrally = actors["SovietRally"]; - sovietrally1 = actors["SovietRally1"]; - sovietrally2 = actors["SovietRally2"]; - sovietrally3 = actors["SovietRally3"]; - sovietrally4 = actors["SovietRally4"]; - sovietrally5 = actors["SovietRally5"]; - sovietrally6 = actors["SovietRally6"]; - sovietrally8 = actors["SovietRally8"]; - sovietrallypoints = new[] { sovietrally2, sovietrally4, sovietrally5, sovietrally6 }.Select(p => p.Location).ToArray(); - alliesbase = actors["AlliesBase"]; - sovietparadropEntry = actors["SovietParaDropEntry"]; - sovietparadrop1 = actors["SovietParaDrop1"]; - sovietparadrop2 = actors["SovietParaDrop2"]; - sovietparadrop3 = actors["SovietParaDrop3"]; - barrack1 = actors["barrack1"]; - factory = actors["Factory"]; - drum1 = actors["drum1"]; - drum2 = actors["drum2"]; - drum3 = actors["drum3"]; - FranceEntry = actors["FranceEntry"]; - FranceRally = actors["FranceRally"]; - FranceparaEntry1 = actors["FranceparaEntry1"]; - FranceparaEntry2 = actors["FranceparaEntry2"]; - FranceparaEntry3 = actors["FranceparaEntry3"]; - newsovietentrypoints = new[] { sovietparadropEntry, sovietEntry3 }.Select(p => p.Location).ToArray(); - newsovietrallypoints = new[] { sovietrally3, sovietrally4, sovietrally8 }.Select(p => p.Location).ToArray(); - Game.MoveViewport(alliesbase.Location.ToFloat2()); - StartCountDownTimer(); - SetSovietUnitsToDefensiveStance(); - world.CreateActor(Camera, new TypeDictionary + public void WorldLoaded(World w) + { + world = w; + allies = w.Players.SingleOrDefault(p => p.InternalName == "Allies"); + if (allies != null) + { + ProduceAtFrame = 300; + ProduceAtFrameIncrement = 300; + attackAtFrame = 450; + attackAtFrameIncrement = 450; + } + soviets = w.Players.Single(p => p.InternalName == "Soviets"); + var actors = w.WorldActor.Trait().Actors; + sovietEntry1 = actors["SovietEntry1"]; + sovietEntry2 = actors["SovietEntry2"]; + sovietEntry3 = actors["SovietEntry3"]; + sovietentrypoints = new[] { sovietEntry1, sovietEntry2, sovietEntry3 }.Select(p => p.Location).ToArray(); + sovietrally = actors["SovietRally"]; + sovietrally1 = actors["SovietRally1"]; + sovietrally2 = actors["SovietRally2"]; + sovietrally3 = actors["SovietRally3"]; + sovietrally4 = actors["SovietRally4"]; + sovietrally5 = actors["SovietRally5"]; + sovietrally6 = actors["SovietRally6"]; + sovietrally8 = actors["SovietRally8"]; + sovietrallypoints = new[] { sovietrally2, sovietrally4, sovietrally5, sovietrally6 }.Select(p => p.Location).ToArray(); + alliesbase = actors["AlliesBase"]; + sovietparadropEntry = actors["SovietParaDropEntry"]; + sovietparadrop1 = actors["SovietParaDrop1"]; + sovietparadrop2 = actors["SovietParaDrop2"]; + sovietparadrop3 = actors["SovietParaDrop3"]; + barrack1 = actors["barrack1"]; + factory = actors["Factory"]; + drum1 = actors["drum1"]; + drum2 = actors["drum2"]; + drum3 = actors["drum3"]; + FranceEntry = actors["FranceEntry"]; + FranceRally = actors["FranceRally"]; + FranceparaEntry1 = actors["FranceparaEntry1"]; + FranceparaEntry2 = actors["FranceparaEntry2"]; + FranceparaEntry3 = actors["FranceparaEntry3"]; + newsovietentrypoints = new[] { sovietparadropEntry, sovietEntry3 }.Select(p => p.Location).ToArray(); + newsovietrallypoints = new[] { sovietrally3, sovietrally4, sovietrally8 }.Select(p => p.Location).ToArray(); + Game.MoveViewport(alliesbase.Location.ToFloat2()); + StartCountDownTimer(); + SetSovietUnitsToDefensiveStance(); + world.CreateActor(Camera, new TypeDictionary { new OwnerInit(allies), new LocationInit(sovietrally1.Location), }); - MissionUtils.PlayMissionMusic(); - } - } + MissionUtils.PlayMissionMusic(); + } + } } diff --git a/OpenRA.Mods.RA/Settings.StyleCop b/OpenRA.Mods.RA/Settings.StyleCop new file mode 100644 index 0000000000..2e3436170c --- /dev/null +++ b/OpenRA.Mods.RA/Settings.StyleCop @@ -0,0 +1,334 @@ + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file diff --git a/OpenRA.Renderer.Cg/Settings.StyleCop b/OpenRA.Renderer.Cg/Settings.StyleCop new file mode 100644 index 0000000000..2e3436170c --- /dev/null +++ b/OpenRA.Renderer.Cg/Settings.StyleCop @@ -0,0 +1,334 @@ + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file diff --git a/OpenRA.Renderer.Embedded/Settings.StyleCop b/OpenRA.Renderer.Embedded/Settings.StyleCop new file mode 100644 index 0000000000..2e3436170c --- /dev/null +++ b/OpenRA.Renderer.Embedded/Settings.StyleCop @@ -0,0 +1,334 @@ + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file diff --git a/OpenRA.Renderer.Gl/Settings.StyleCop b/OpenRA.Renderer.Gl/Settings.StyleCop new file mode 100644 index 0000000000..2e3436170c --- /dev/null +++ b/OpenRA.Renderer.Gl/Settings.StyleCop @@ -0,0 +1,334 @@ + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file diff --git a/OpenRA.Renderer.Null/Settings.StyleCop b/OpenRA.Renderer.Null/Settings.StyleCop new file mode 100644 index 0000000000..2e3436170c --- /dev/null +++ b/OpenRA.Renderer.Null/Settings.StyleCop @@ -0,0 +1,334 @@ + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file diff --git a/OpenRA.Renderer.SdlCommon/Settings.StyleCop b/OpenRA.Renderer.SdlCommon/Settings.StyleCop new file mode 100644 index 0000000000..2e3436170c --- /dev/null +++ b/OpenRA.Renderer.SdlCommon/Settings.StyleCop @@ -0,0 +1,334 @@ + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file diff --git a/OpenRA.TilesetBuilder/Settings.StyleCop b/OpenRA.TilesetBuilder/Settings.StyleCop new file mode 100644 index 0000000000..2e3436170c --- /dev/null +++ b/OpenRA.TilesetBuilder/Settings.StyleCop @@ -0,0 +1,334 @@ + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file diff --git a/OpenRA.Utility/Settings.StyleCop b/OpenRA.Utility/Settings.StyleCop new file mode 100644 index 0000000000..2e3436170c --- /dev/null +++ b/OpenRA.Utility/Settings.StyleCop @@ -0,0 +1,334 @@ + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file diff --git a/RALint/Settings.StyleCop b/RALint/Settings.StyleCop new file mode 100644 index 0000000000..2e3436170c --- /dev/null +++ b/RALint/Settings.StyleCop @@ -0,0 +1,334 @@ + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file