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