From 7084aa891cb5759308c19e35a0a20c06edd01e65 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sat, 10 Apr 2010 11:20:37 +1200 Subject: [PATCH] napalm wiring --- OpenRA.Mods.Cnc/CarpetBomb.cs | 34 +++++++++++++++++++++++++--------- mods/cnc/vehicles.yaml | 2 ++ mods/cnc/weapons.yaml | 7 +------ 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/OpenRA.Mods.Cnc/CarpetBomb.cs b/OpenRA.Mods.Cnc/CarpetBomb.cs index 66b1ea5e81..828f600e5e 100644 --- a/OpenRA.Mods.Cnc/CarpetBomb.cs +++ b/OpenRA.Mods.Cnc/CarpetBomb.cs @@ -1,22 +1,37 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using OpenRA.Traits; +#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. + * + * OpenRA is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OpenRA is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OpenRA. If not, see . + */ +#endregion + using OpenRA.GameRules; +using OpenRA.Traits; namespace OpenRA.Mods.Cnc { class CarpetBombInfo : ITraitInfo { public readonly string Weapon = null; - public readonly int Interval = 0; public readonly int Range = 0; public object Create(Actor self) { return new CarpetBomb(self); } } - class CarpetBomb : ITick + class CarpetBomb : ITick // todo: maybe integrate this better with the normal weapons system? { int2 Target; int dropDelay; @@ -38,7 +53,8 @@ namespace OpenRA.Mods.Cnc if (--dropDelay <= 0) { - dropDelay = info.Interval; + var weapon = Rules.Weapons[info.Weapon.ToLowerInvariant()]; + dropDelay = weapon.ROF; var args = new ProjectileArgs { @@ -48,7 +64,7 @@ namespace OpenRA.Mods.Cnc dest = self.CenterLocation.ToInt2(), facing = self.traits.Get().Facing, firedBy = self, - weapon = Rules.Weapons[info.Weapon.ToLowerInvariant()] + weapon = weapon }; self.World.Add(args.weapon.Projectile.Create(args)); diff --git a/mods/cnc/vehicles.yaml b/mods/cnc/vehicles.yaml index 4a6b756ca1..0740e30dc1 100644 --- a/mods/cnc/vehicles.yaml +++ b/mods/cnc/vehicles.yaml @@ -480,3 +480,5 @@ A10: WithShadow: LimitedAmmo: Ammo: 10 + CarpetBomb: + Weapon: Napalm diff --git a/mods/cnc/weapons.yaml b/mods/cnc/weapons.yaml index 91a66a5bd7..2e2be22895 100644 --- a/mods/cnc/weapons.yaml +++ b/mods/cnc/weapons.yaml @@ -409,12 +409,7 @@ Tomahawk: Napalm: ROF: 5 - Range: 4.5 - Bullet: - Speed: 5 - Arm: 24 - RangeLimit: 24 - High: yes + GravityBomb: Image: BOMBLET Warhead: Spread: 8