From b7087136cb082e6b667d07a12dda781a9a9e2694 Mon Sep 17 00:00:00 2001 From: alzeih Date: Thu, 18 Mar 2010 21:41:23 +1300 Subject: [PATCH] Nuke (cnc and ra). Still needs smoke anim in cnc. --- OpenRA.Game/Traits/SupportPowers/NukePower.cs | 12 +++---- .../Traits/SupportPowers/SupportPower.cs | 8 ++++- mods/cnc/sequences.xml | 6 ++++ mods/cnc/structures.yaml | 1 + mods/cnc/system.yaml | 12 +++++++ mods/cnc/weapons.ini | 32 +++++++++++++++++++ mods/ra/rules.yaml | 4 +++ 7 files changed, 68 insertions(+), 7 deletions(-) diff --git a/OpenRA.Game/Traits/SupportPowers/NukePower.cs b/OpenRA.Game/Traits/SupportPowers/NukePower.cs index 19ec54ad9b..ba9d3079de 100644 --- a/OpenRA.Game/Traits/SupportPowers/NukePower.cs +++ b/OpenRA.Game/Traits/SupportPowers/NukePower.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. @@ -32,13 +32,13 @@ namespace OpenRA.Traits class NukePower : SupportPower, IResolveOrder { public NukePower(Actor self, NukePowerInfo info) : base(self, info) { } - - protected override void OnBeginCharging() { Sound.PlayToPlayer(Owner, "aprep1.aud"); } - protected override void OnFinishCharging() { Sound.PlayToPlayer(Owner, "aready1.aud"); } + + protected override void OnBeginCharging() { Sound.PlayToPlayer(Owner, Info.BeginChargeSound); } + protected override void OnFinishCharging() { Sound.PlayToPlayer(Owner, Info.EndChargeSound); } protected override void OnActivate() { Game.controller.orderGenerator = new SelectTarget(); - Sound.Play("slcttgt1.aud"); + Sound.Play(Info.SelectTargetSound); } public void ResolveOrder(Actor self, Order order) @@ -55,7 +55,7 @@ namespace OpenRA.Traits { // Play to everyone but the current player if (Owner != Owner.World.LocalPlayer) - Sound.Play("alaunch1.aud"); + Sound.Play(Info.LaunchSound); //FIRE ZE MISSILES w.Add(new NukeLaunch(silo, Info.MissileWeapon, order.TargetLocation)); diff --git a/OpenRA.Game/Traits/SupportPowers/SupportPower.cs b/OpenRA.Game/Traits/SupportPowers/SupportPower.cs index ab3a6e19c4..162841947f 100644 --- a/OpenRA.Game/Traits/SupportPowers/SupportPower.cs +++ b/OpenRA.Game/Traits/SupportPowers/SupportPower.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. @@ -34,6 +34,12 @@ namespace OpenRA.Traits public readonly int TechLevel = -1; public readonly bool GivenAuto = true; public readonly string MissileWeapon = ""; + + public readonly string BeginChargeSound = null; + public readonly string EndChargeSound = null; + public readonly string SelectTargetSound = null; + public readonly string LaunchSound = null; + public abstract object Create(Actor self); } diff --git a/mods/cnc/sequences.xml b/mods/cnc/sequences.xml index a382ac0546..fc5daf31c3 100644 --- a/mods/cnc/sequences.xml +++ b/mods/cnc/sequences.xml @@ -48,6 +48,12 @@ + + + + + + diff --git a/mods/cnc/structures.yaml b/mods/cnc/structures.yaml index 7244ee41fd..b51dd65c0d 100644 --- a/mods/cnc/structures.yaml +++ b/mods/cnc/structures.yaml @@ -333,6 +333,7 @@ TMPL: Armor: light Crewed: yes Sight: 4 + NukeSilo: OBLI: RequiresPower: diff --git a/mods/cnc/system.yaml b/mods/cnc/system.yaml index ec0fa154fd..17c90b06fb 100644 --- a/mods/cnc/system.yaml +++ b/mods/cnc/system.yaml @@ -1,6 +1,18 @@ Player: ProductionQueue: PlaceBuilding: + NukePower: + Image: atomicnh + ChargeTime: 13 + Description: Atom Bomb + LongDesc: Launches a nuclear missile at a target location. + Prerequisites: TMPL + TechLevel: 12 + MissileWeapon: atomic + BeginChargeSound: + EndChargeSound: nukavail.aud + SelectTargetSound: select1.aud + LaunchSound: nukemisl.aud World: ScreenShaker: diff --git a/mods/cnc/weapons.ini b/mods/cnc/weapons.ini index 1e96c8d16b..7054f968b8 100644 --- a/mods/cnc/weapons.ini +++ b/mods/cnc/weapons.ini @@ -26,6 +26,7 @@ Napalm Laser Nike HonestJohn +Atomic [UnitExplode] Damage=500 @@ -33,6 +34,12 @@ Speed=100 Projectile=Invisible Warhead=UnitExplodeWarhead +;Nuke (special case for Nuclear missile) +[Atomic] +Damage=1000 +Projectile=NukeDown +Warhead=Nuke + ; sniper rifle [Sniper] Damage=100 @@ -302,6 +309,18 @@ AAMissile Lobbed Bomblet BallisticP +NukeDown +NukeUp + +; Nuclear missile, flying down +[NukeDown] +High=yes +Image=ATOMICDN + +; Nuclear missile, flying up +[NukeUp] +High=yes +Image=ATOMICUP ; invisible flight to target [Invisible] @@ -375,6 +394,19 @@ AP Fire HollowPoint Super +Nuke + +; Nuclear warhead (same as fire) +[Nuke] +Spread=6 +Wall=yes +Wood=yes +Ore=yes +Verses=90%,100%,60%,25%,50% +Explosion=6 +InfDeath=4 +SmudgeType=Scorch +SmudgeSize=5,4 [UnitExplodeWarhead] Spread=10 diff --git a/mods/ra/rules.yaml b/mods/ra/rules.yaml index 9610490aaa..b5a963079e 100644 --- a/mods/ra/rules.yaml +++ b/mods/ra/rules.yaml @@ -50,6 +50,10 @@ Player: Prerequisites: MSLO TechLevel: 12 MissileWeapon: atomic + BeginChargeSound: aprep1.aud + EndChargeSound: aready1.aud + SelectTargetSound: slcttgt1.aud + LaunchSound: alaunch1.aud SonarPulsePower: Image: sonricon ChargeTime: 10