diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj
index ae61fd5e55..3d073ffd22 100644
--- a/OpenRA.Game/OpenRA.Game.csproj
+++ b/OpenRA.Game/OpenRA.Game.csproj
@@ -238,7 +238,6 @@
-
diff --git a/OpenRA.Game/Traits/Building.cs b/OpenRA.Game/Traits/Building.cs
index 089f9139bc..2e1aa3836a 100644
--- a/OpenRA.Game/Traits/Building.cs
+++ b/OpenRA.Game/Traits/Building.cs
@@ -51,7 +51,8 @@ namespace OpenRA.Traits
public readonly string[] BuildSounds = {"placbldg.aud", "build5.aud"};
public readonly string[] SellSounds = {"cashturn.aud"};
-
+ public readonly string DamagedSound = "kaboom1.aud";
+ public readonly string DestroyedSound = "kaboom22.aud";
public object Create(Actor self) { return new Building(self); }
}
@@ -95,7 +96,7 @@ namespace OpenRA.Traits
if (e.DamageState == DamageState.Dead)
{
self.World.WorldActor.traits.Get().AddEffect(10, self.CenterLocation, 1);
- Sound.Play("kaboom22.aud");
+ Sound.Play(Info.DestroyedSound);
}
}
diff --git a/OpenRA.Game/Traits/Render/RenderBuilding.cs b/OpenRA.Game/Traits/Render/RenderBuilding.cs
index 78142dbf25..7265ac0559 100644
--- a/OpenRA.Game/Traits/Render/RenderBuilding.cs
+++ b/OpenRA.Game/Traits/Render/RenderBuilding.cs
@@ -114,7 +114,7 @@ namespace OpenRA.Traits
break;
case DamageState.Half:
anim.ReplaceAnim("damaged-idle");
- Sound.Play("kaboom1.aud");
+ Sound.Play(self.Info.Traits.Get().DamagedSound);
break;
case DamageState.Dead:
DoBib(self, true);
diff --git a/OpenRA.Game/Traits/Render/RenderBuildingTurreted.cs b/OpenRA.Game/Traits/Render/RenderBuildingTurreted.cs
index bb031c1f97..02283baebd 100644
--- a/OpenRA.Game/Traits/Render/RenderBuildingTurreted.cs
+++ b/OpenRA.Game/Traits/Render/RenderBuildingTurreted.cs
@@ -1,4 +1,4 @@
-#region Copyright & License Information
+#region Copyright & License Information
/*
* Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
* This file is part of OpenRA.
@@ -48,7 +48,7 @@ namespace OpenRA.Traits
break;
case DamageState.Half:
anim.Play( "damaged-idle" );
- Sound.Play("kaboom1.aud");
+ Sound.Play(self.Info.Traits.Get().DamagedSound);
break;
}
}
diff --git a/OpenRA.Game/Traits/Render/RenderBuildingWall.cs b/OpenRA.Game/Traits/Render/RenderBuildingWall.cs
index bf27e730d3..ec81026f40 100644
--- a/OpenRA.Game/Traits/Render/RenderBuildingWall.cs
+++ b/OpenRA.Game/Traits/Render/RenderBuildingWall.cs
@@ -57,13 +57,13 @@ namespace OpenRA.Traits
break;
case DamageState.Half:
seqName = "damaged-idle";
- Sound.Play("kaboom1.aud");
+ Sound.Play(self.Info.Traits.Get().DamagedSound);
break;
case DamageState.Quarter:
if (damageStates >= 3)
{
seqName = "critical-idle";
- Sound.Play("kaboom1.aud");
+ Sound.Play(self.Info.Traits.Get().DamagedSound);
}
break;
}
diff --git a/OpenRA.Game/Traits/Modifiers/Cloak.cs b/OpenRA.Mods.Cnc/Cloak.cs
similarity index 87%
rename from OpenRA.Game/Traits/Modifiers/Cloak.cs
rename to OpenRA.Mods.Cnc/Cloak.cs
index e60c041a43..583162a33c 100644
--- a/OpenRA.Game/Traits/Modifiers/Cloak.cs
+++ b/OpenRA.Mods.Cnc/Cloak.cs
@@ -1,4 +1,4 @@
-#region Copyright & License Information
+#region Copyright & License Information
/*
* Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
* This file is part of OpenRA.
@@ -20,14 +20,16 @@
using System.Collections.Generic;
using System.Linq;
+using OpenRA.Traits;
-namespace OpenRA.Traits
+
+namespace OpenRA.Mods.Cnc
{
class CloakInfo : ITraitInfo
{
public readonly float CloakDelay = 1.2f; // Seconds
- public readonly string CloakSound = "ironcur9.aud";
- public readonly string UncloakSound = "ironcur9.aud";
+ public readonly string CloakSound = "appear1.aud";
+ public readonly string UncloakSound = "appear1.aud";
public object Create(Actor self) { return new Cloak(self); }
}
diff --git a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj
index 774499c592..50d4330025 100644
--- a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj
+++ b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj
@@ -1,4 +1,4 @@
-
+
Debug
@@ -48,6 +48,7 @@
+
@@ -63,7 +64,7 @@
OpenRA.Mods.RA
-
+
-
+
@@ -100,7 +100,7 @@
-
+
@@ -136,5 +136,5 @@
- -->
-
+
+
diff --git a/mods/cnc/vehicles.yaml b/mods/cnc/vehicles.yaml
index 6c54f1be46..3c0f95a483 100644
--- a/mods/cnc/vehicles.yaml
+++ b/mods/cnc/vehicles.yaml
@@ -256,6 +256,110 @@ MTNK:
RenderUnitTurreted:
AutoTarget:
+HTNK:
+ Inherits: ^Vehicle
+ Buildable:
+ Icon: htnkicnh
+ TechLevel: 5
+ Prerequisites: weap, fix
+ Owner: gdi
+ Cost: 1500
+ Description: Mammoth Tank
+ LongDesc: Heavily armored GDI Tank.\n Strong vs Everything
+ Unit:
+ HP: 600
+ Armor: heavy
+ Crewed: yes
+ Sight: 4
+ Speed: 12
+ Mobile:
+ MovementType: Track
+ Turreted:
+ ROT: 5
+ AttackTurreted:
+ PrimaryWeapon: 120mmAPR
+ SecondaryWeapon: MissilePack
+ Recoil: 3
+ RenderUnitTurreted:
+ AutoTarget:
+
+MSAM:
+ Inherits: ^Vehicle
+ Buildable:
+ Icon: msamicnh
+ TechLevel: 7
+ Prerequisites: weap, eye
+ Owner: gdi
+ Cost: 800
+ Description: Rocket Launcher
+ LongDesc: Long range artillery.\n Strong vs Infantry, Buildings\n Weak vs Tanks, Aircraft
+ Unit:
+ HP: 100
+ Armor: light
+ Crewed: yes
+ Sight: 4
+ Speed: 18
+ Mobile:
+ MovementType: Track
+ Turreted:
+ ROT: 5
+ AttackTurreted:
+ PrimaryWeapon: 227mm
+ PrimaryOffset: 0,5,0,0
+ Recoil: 3
+ RenderUnitTurreted:
+ AutoTarget:
+
+MLRS:
+ Inherits: ^Vehicle
+ Buildable:
+ Icon: mlrsicnh
+ TechLevel: 7
+# Prerequisites: afld, atwr
+ Owner: nod
+ Cost: 750
+ Description: SSM Launcher
+ LongDesc: Long range artillery.\n Strong vs Infantry, Buildings\n Weak vs Tanks, Aircraft
+ Unit:
+ HP: 120
+ Armor: light
+ Crewed: yes
+ Sight: 4
+ Speed: 18
+ Mobile:
+ MovementType: Track
+ Turreted:
+ ROT: 5
+ AttackTurreted:
+ PrimaryWeapon: HonestJohn
+ PrimaryOffset: 0,5,0,0
+ RenderUnitTurreted:
+ AutoTarget:
+
+STNK:
+ Inherits: ^Vehicle
+ Buildable:
+ Icon: stnkicnh
+ TechLevel: 5
+ Prerequisites: afld, hq
+ Owner: nod
+ Cost: 900
+ Description: Stealth Tank
+ LongDesc: TODO
+ Unit:
+ HP: 110
+ Armor: light
+ Crewed: yes
+ Sight: 4
+ Speed: 30
+ Cloak:
+ Mobile:
+ MovementType: Track
+ AttackBase:
+ PrimaryWeapon: Rockets
+ RenderUnit:
+ AutoTarget:
+
TRAN:
Inherits: ^Plane
Buildable:
diff --git a/mods/cnc/weapons.ini b/mods/cnc/weapons.ini
index cda2580273..7e27c9cbfb 100644
--- a/mods/cnc/weapons.ini
+++ b/mods/cnc/weapons.ini
@@ -1,14 +1,31 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
[WeaponTypes]
UnitExplode
-MachineGun
-Laser
+Sniper
HighV
-120mm
-70mm
+Pistol
+M16
Rockets
-Ballistic
+Flamethrower
BigFlamer
+Chemspray
+Grenade
+70mm
+105mm
+120mmAPR
+TurretGun
+MissilePack
+227mm
+Ballistic
+MachineGun
+BoatMissile
+Tomahawk
+Napalm
+Laser
+Nike
+HonestJohn
[UnitExplode]
Damage=500
@@ -16,67 +33,173 @@ Speed=100
Projectile=Invisible
Warhead=UnitExplodeWarhead
-; NOTE: WEAPON PROPERTIES ARE NOT EXPOSED BY TIBED; THESE ARE ALL MADE UP
-[MachineGun]
-Damage=40
+; sniper rifle
+[Sniper]
+Damage=100
ROF=40
-Range=5
+Range=5.5
+Projectile=Invisible
+Speed=100
+Warhead=HollowPoint
+Report=RAMGUN2
+;Explosion=1
+
+; rapid fire machine gun
+[HighV]
+Damage=25
+ROF=50
+Range=4
+Projectile=Invisible
+Speed=100
+Warhead=HE
+Report=GUN8
+;Explosion=2
+;Anim=MINIGUN
+
+; civilian pistol
+[Pistol]
+Damage=1
+ROF=7
+Range=1.75
Projectile=Invisible
Speed=100
Warhead=SA
-Report=GUN13
+Report=GUN18
+;Explosion=2
-[Laser]
-Damage=100
-ROF=120
-Range=8.5
+; rifle soldier weapons (multiple shots)
+[M16]
+Damage=15
+ROF=20
+Range=2
Projectile=Invisible
Speed=100
-Warhead=Super
-Report=obelray1
-Charges=yes
-RenderAsLaser=true
-BeamRadius=1
-UsePlayerColor=true
+Warhead=SA
+Report=MGUN2
+;Explosion=2
-[HighV]
-Damage=40
+; man-packed anti-tank missile (bazooka type)
+[Rockets]
+Damage=30
ROF=60
Range=4
Projectile=HeatSeeker
-Speed=30
+Speed=25
Warhead=AP
-Report=rocket2
+Report=BAZOOK1
+;Explosion=5
-[Rockets]
-Damage=30
+; hand-held flame thrower type
+[Flamethrower]
+Damage=35
+ROF=50
+Range=2
+Projectile=Invisible
+Speed=100
+Warhead=Fire
+Report=FLAMER2
+
+; tank flame thrower
+[BigFlamer]
+Damage=50
+ROF=50
+Range=2
+Projectile=Invisible
+Speed=100
+Warhead=Fire
+Report=FLAMER2
+
+; hand-held chemical spray
+[Chemspray]
+Damage=80
ROF=70
-Range=4
-Projectile=HeatSeeker
-Speed=30
-Warhead=AP
-Report=rocket2
-Burst=2
+Range=2
+Projectile=Invisible
+Speed=100
+Warhead=HE
+Report=FLAMER2
+; hand grenade
+[Grenade]
+Damage=50
+ROF=50
+Range=3.25
+Projectile=Lobbed
+Speed=5
+Warhead=HE
+;Explosion=5
+
+; small anti-armor cannon
[70mm]
Damage=25
-ROF=40
+ROF=60
Range=4
Projectile=Cannon
Speed=40
Warhead=AP
-Report=CANNON2
+Report=TNKFIRE3
+;Explosion=4
+;Anim=GUNFIRE
-[120mm]
+; medium anti-armor cannon
+[105mm]
+Damage=30
+ROF=50
+Range=4.75
+Projectile=Cannon
+Speed=40
+Warhead=AP
+Report=TNKFIRE4
+;Explosion=4
+;Anim=GUNFIRE
+
+; large anti-armor cannon
+[120mmAPR]
Damage=40
ROF=80
Range=4.75
Projectile=Cannon
Speed=40
Warhead=AP
-Report=CANNON1
-Burst=2
+Report=TNKFIRE6
+;Explosion=4
+;Anim=GUNFIRE
+; turret cannon
+[TurretGun]
+Damage=40
+ROF=60
+Range=6
+Projectile=Cannon
+Speed=40
+Warhead=AP
+Report=TNKFIRE6
+;Explosion=4
+;Anim=GUNFIRE
+
+; Vehicle carried anti-tank missile
+[MissilePack]
+Damage=75
+ROF=80
+Range=5
+Projectile=HeatSeeker
+Speed=30
+Warhead=HE
+Report=ROCKET1
+;Explosion=4
+
+; long-range missile
+[227mm]
+Damage=75
+ROF=80
+Range=6
+Projectile=HeatSeeker
+Speed=20
+Warhead=HE
+Report=ROCKET1
+;Explosion=4
+
+; artillery cannon
[Ballistic]
Damage=150
ROF=65
@@ -84,92 +207,226 @@ Range=6
Projectile=BallisticP
Speed=12
Warhead=HE
-Report=TANK5
+Report=TNKFIRE2
+;Explosion=5
+;Anim=GUNFIRE
-[BigFlamer]
-Damage=125
-ROF=50
+; vehicle mounted machine gun
+[MachineGun]
+Damage=15
+ROF=30
Range=4
Projectile=Invisible
-Speed=12
+Speed=100
+Warhead=SA
+Report=MGUN11
+;Explosion=2
+;Anim=MINIGUN
+
+; long range missile for gunboat
+[BoatMissile]
+Damage=60
+ROF=35
+Range=8
+Projectile=HeatSeeker
+Speed=20
+Warhead=HE
+Report=ROCKET2
+;Explosion=4
+
+; long range missile for guard tower
+[Tomahawk]
+Damage=60
+ROF=40
+Range=6
+Projectile=HeatSeeker
+Speed=25
+Warhead=HE
+Report=ROCKET2
+;Explosion=4
+;Anim=GUNFIRE
+
+; napalm bomblets (dropped from plane)
+[Napalm]
+Damage=100
+ROF=5
+Range=4.5
+Projectile=Bomblet
+Speed=5
Warhead=Fire
+;Explosion=3
+
+; obelisk laser
+[Laser]
+Damage=200
+ROF=90
+Range=7.5
+Projectile=Invisible
+Speed=100
+Warhead=Super
+Report=OBELRAY1
+Charges=yes
+RenderAsLaser=true
+BeamRadius=1
+UsePlayerColor=true
+
+; anti-aircraft missile (fired from SAM site)
+[Nike]
+Damage=50
+ROF=50
+Range=15
+Projectile=AAMissile
+Speed=40
+Warhead=AP
+Report=ROCKET2
+;Explosion=6
+;Anim=SAMFIRE
+
+; extreme-range napalm rocket
+[HonestJohn]
+Damage=100
+ROF=200
+Range=10
+Projectile=FROG
+Speed=15
+Warhead=Fire
+Report=ROCKET1
+;Explosion=3
[ProjectileTypes]
Invisible
-HeatSeeker
Cannon
+FROG
+HeatSeeker
+AAMissile
+Lobbed
+Bomblet
BallisticP
+; invisible flight to target
[Invisible]
+; straight high-speed ballistic shot
+[Cannon]
+Image=120MM
+
+; Free Rocket Over Ground
+[FROG]
+Arm=10
+High=yes
+Shadow=no
+Proximity=yes
+;Animates=yes
+;Ranged=yes
+Inaccurate=yes
+Image=MISSILE
+Rotates=yes
+
+; small homing missile (targets vehicles best)
[HeatSeeker]
Arm=2
High=yes
Shadow=no
Proximity=yes
-Trail=smokey
+;Animates=yes
+;Ranged=yes
Inaccurate=yes
AA=yes
Image=DRAGON
ROT=5
Rotates=yes
-RangeLimit=20
-[Cannon]
-Image=120MM
+; anti aircraft missile
+[AAMissile]
+Arm=3
+High=yes
+Shadow=no
+Proximity=yes
+;Animates=yes
+;Ranged=yes
+AA=yes
+Image=MISSILE
+ROT=20
+Rotates=yes
+; lobbed tumbling grenade
+[Lobbed]
+High=yes
+Arcing=yes
+Inaccurate=yes
+Image=BOMB
+;Frames=8
+
+; dropped from plane tumbling object
+[Bomblet]
+Arm=24
+RangeLimit=24
+High=yes
+;Dropping=yes
+Image=BOMBLET
+;Frames=7
+
+; arcing ballistic projectile
[BallisticP]
High=yes
Arcing=yes
Inaccurate=yes
Image=120MM
+
[WarheadTypes]
UnitExplodeWarhead
SA
-Super
-AP
HE
+AP
Fire
+HollowPoint
+Super
[UnitExplodeWarhead]
Spread=10
Verses=90%,75%,60%,25%,100%
-Explosion=8
+;Explosion=8
InfDeath=3
-ImpactSound=kaboom15
-
+ImpactSound=xplos
+; general multiple small arms fire
[SA]
Spread=3
-Verses=100%,50%,60%,25%,25%
-Explosion=2
+Verses=100%,50%,50%,25%,25%
InfDeath=1
-[Super]
-Spread=1
-Verses=100%,100%,100%,100%,100%
-InfDeath=5
-
-[AP]
-Spread=3
-Wall=yes
-Wood=yes
-Verses=30%,75%,75%,100%,50%
-Explosion=4
-InfDeath=3
-
+; high explosive (shrapnel)
[HE]
Spread=6
Wall=yes
Wood=yes
Verses=90%,75%,60%,25%,100%
-Explosion=5
InfDeath=2
+; armor piercing (discarding sabot, narrow effect)
+[AP]
+Spread=3
+Wall=yes
+Wood=yes
+Verses=30%,75%,75%,100%,50%
+InfDeath=3
+
+; napalm and fire in general
[Fire]
Spread=8
Wood=yes
Verses=90%,100%,60%,25%,50%
-Explosion=3
-InfDeath=4
\ No newline at end of file
+InfDeath=4
+
+; anti-infantry rifle bullet (single shot -- very effective verses infantry)
+[HollowPoint]
+Spread=1
+Verses=100%,5%,5%,5%,5%
+InfDeath=1
+
+; special case damage effect (do not use for regular weapons)
+[Super]
+Spread=1
+Verses=100%,100%,100%,100%,100%
+InfDeath=4