From 068b352dde503185bc81e89140fc0be90875489c Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sat, 6 Mar 2010 16:24:12 +1300 Subject: [PATCH 1/5] CNC: added E1 --- mods/cnc/infantry.yaml | 17 +++++++++++++++++ mods/cnc/sequences-infantry.xml | 24 +++++++++++++++++++----- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/mods/cnc/infantry.yaml b/mods/cnc/infantry.yaml index e69de29bb2..66fd4852e6 100644 --- a/mods/cnc/infantry.yaml +++ b/mods/cnc/infantry.yaml @@ -0,0 +1,17 @@ +E1: + Inherits: ^Infantry + Buildable: + TechLevel: 1 + Owner: gdi, nod + Cost: 100 + Description: Minigunner + LongDesc: General-purpose infantry. Strong vs Infantry\n Weak vs Vehicles + Icon: e1icnh + Selectable: + Bounds: 12,17,0,-9 + Unit: + HP: 50 + Speed: 4 + AttackBase: + PrimaryWeapon: M16 + TakeCover: \ No newline at end of file diff --git a/mods/cnc/sequences-infantry.xml b/mods/cnc/sequences-infantry.xml index b95c7315aa..4189c4d9f4 100644 --- a/mods/cnc/sequences-infantry.xml +++ b/mods/cnc/sequences-infantry.xml @@ -1,7 +1,21 @@  - - - - - + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 3a6746f405e5686c80d255e869ad87d2f180ce5e Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sat, 6 Mar 2010 16:26:06 +1300 Subject: [PATCH 2/5] CNC: tweaks to E1 --- mods/cnc/infantry.yaml | 2 +- mods/cnc/weapons.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/cnc/infantry.yaml b/mods/cnc/infantry.yaml index 66fd4852e6..90cf7227be 100644 --- a/mods/cnc/infantry.yaml +++ b/mods/cnc/infantry.yaml @@ -8,7 +8,7 @@ E1: LongDesc: General-purpose infantry. Strong vs Infantry\n Weak vs Vehicles Icon: e1icnh Selectable: - Bounds: 12,17,0,-9 + Bounds: 12,17,0,-6 Unit: HP: 50 Speed: 4 diff --git a/mods/cnc/weapons.ini b/mods/cnc/weapons.ini index 7e27c9cbfb..a7511ba4d5 100644 --- a/mods/cnc/weapons.ini +++ b/mods/cnc/weapons.ini @@ -71,7 +71,7 @@ Report=GUN18 [M16] Damage=15 ROF=20 -Range=2 +Range=4 Projectile=Invisible Speed=100 Warhead=SA From 5ae3f2c8140e75d305619f35fd6433c4571b723b Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sat, 6 Mar 2010 16:34:56 +1300 Subject: [PATCH 3/5] fix dumb crash in cnc --- OpenRA.Game/Traits/Render/RenderBuildingWarFactory.cs | 2 +- OpenRA.Game/Traits/World/UnitInfluence.cs | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/OpenRA.Game/Traits/Render/RenderBuildingWarFactory.cs b/OpenRA.Game/Traits/Render/RenderBuildingWarFactory.cs index 053ba3b9a3..969fba8f4c 100644 --- a/OpenRA.Game/Traits/Render/RenderBuildingWarFactory.cs +++ b/OpenRA.Game/Traits/Render/RenderBuildingWarFactory.cs @@ -53,7 +53,7 @@ namespace OpenRA.Traits public void Tick(Actor self) { if (isOpen && !self.World.WorldActor.traits.Get() - .GetUnitsAt(((1/24f) * self.CenterLocation).ToInt2()).Any()) + .GetUnitsAt(((1f/Game.CellSize) * self.CenterLocation).ToInt2()).Any()) { isOpen = false; roof.PlayBackwardsThen(GetPrefix(self) + "build-top", () => roof.Play(GetPrefix(self) + "idle-top")); diff --git a/OpenRA.Game/Traits/World/UnitInfluence.cs b/OpenRA.Game/Traits/World/UnitInfluence.cs index a3be7ef6a6..afaba57b49 100644 --- a/OpenRA.Game/Traits/World/UnitInfluence.cs +++ b/OpenRA.Game/Traits/World/UnitInfluence.cs @@ -22,6 +22,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using OpenRA.FileFormats; namespace OpenRA.Traits { @@ -33,10 +34,12 @@ namespace OpenRA.Traits public class UnitInfluence : ITick { List[,] influence; + Map map; public UnitInfluence( Actor self ) { - int size = self.World.Map.MapSize; + map = self.World.Map; + var size = self.World.Map.MapSize; influence = new List[size, size]; for (int i = 0; i < size; i++) for (int j = 0; j < size; j++) @@ -90,6 +93,7 @@ namespace OpenRA.Traits public IEnumerable GetUnitsAt( int2 a ) { + if (!map.IsInMap(a)) return null; return influence[ a.X, a.Y ]; } From 8d9bbbe2b4edf833e4e21a3c1568f74e2ed9482d Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sat, 6 Mar 2010 16:36:53 +1300 Subject: [PATCH 4/5] fixes fix in prev --- OpenRA.Game/Traits/World/UnitInfluence.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OpenRA.Game/Traits/World/UnitInfluence.cs b/OpenRA.Game/Traits/World/UnitInfluence.cs index afaba57b49..fc99253521 100644 --- a/OpenRA.Game/Traits/World/UnitInfluence.cs +++ b/OpenRA.Game/Traits/World/UnitInfluence.cs @@ -91,9 +91,10 @@ namespace OpenRA.Traits throw new InvalidOperationException( "UIM: Sanity check failed B" ); } + Actor[] noActors = { }; public IEnumerable GetUnitsAt( int2 a ) { - if (!map.IsInMap(a)) return null; + if (!map.IsInMap(a)) return noActors; return influence[ a.X, a.Y ]; } From 83257cce6a4bc7aab8a113b7e67691a085d5faf7 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sat, 6 Mar 2010 17:09:32 +1300 Subject: [PATCH 5/5] sequences for all infantry; E2/E3 work. trails added to rockets --- mods/cnc/infantry.yaml | 42 +++++++++++++++++- mods/cnc/sequences-infantry.xml | 77 ++++++++++++++++++++++++++++++--- mods/cnc/weapons.ini | 5 ++- 3 files changed, 114 insertions(+), 10 deletions(-) diff --git a/mods/cnc/infantry.yaml b/mods/cnc/infantry.yaml index 90cf7227be..7cd14831bc 100644 --- a/mods/cnc/infantry.yaml +++ b/mods/cnc/infantry.yaml @@ -14,4 +14,44 @@ E1: Speed: 4 AttackBase: PrimaryWeapon: M16 - TakeCover: \ No newline at end of file + TakeCover: + +E2: + Inherits: ^Infantry + Buildable: + TechLevel: 1 + Owner: gdi + Cost: 160 + Description: Grenadier + LongDesc: Infantry armed with grenades. \n Strong vs Buildings, Infantry\n Weak vs Vehicles + Icon: e2icnh + Selectable: + Bounds: 12,17,0,-6 + Unit: + HP: 50 + Speed: 4 + AttackBase: + PrimaryWeapon: Grenade + PrimaryOffset: 0,0,0,-10 + FireDelay: 15 + TakeCover: + +E3: + Inherits: ^Infantry + Buildable: + TechLevel: 2 + Owner: nod + Cost: 300 + Description: Rocket Soldier + LongDesc: Anti-tank/Anti-aircraft infantry. \n Strong vs Tanks, Aircraft\n Weak vs Infantry + Icon: e3icnh + Selectable: + Bounds: 12,17,0,-6 + Unit: + HP: 45 + Speed: 3 + AttackBase: + PrimaryWeapon: Rockets + PrimaryOffset: 0,0,0,-10 + FireDelay: 15 + TakeCover: \ No newline at end of file diff --git a/mods/cnc/sequences-infantry.xml b/mods/cnc/sequences-infantry.xml index 4189c4d9f4..fec15e2db2 100644 --- a/mods/cnc/sequences-infantry.xml +++ b/mods/cnc/sequences-infantry.xml @@ -5,17 +5,80 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mods/cnc/weapons.ini b/mods/cnc/weapons.ini index a7511ba4d5..ca4b5d71be 100644 --- a/mods/cnc/weapons.ini +++ b/mods/cnc/weapons.ini @@ -82,7 +82,7 @@ Report=MGUN2 [Rockets] Damage=30 ROF=60 -Range=4 +Range=6 Projectile=HeatSeeker Speed=25 Warhead=AP @@ -123,7 +123,7 @@ Report=FLAMER2 [Grenade] Damage=50 ROF=50 -Range=3.25 +Range=5 Projectile=Lobbed Speed=5 Warhead=HE @@ -335,6 +335,7 @@ AA=yes Image=DRAGON ROT=5 Rotates=yes +Trail=smokey ; anti aircraft missile [AAMissile]