From aba9ffe93e10ae31319ff7cae8439ad0fcdf4e69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Thu, 25 Dec 2014 15:44:04 +0100 Subject: [PATCH 1/4] remove unused sequence --- mods/ra/sequences/misc.yaml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/mods/ra/sequences/misc.yaml b/mods/ra/sequences/misc.yaml index 547869035d..4e6f14d2a4 100644 --- a/mods/ra/sequences/misc.yaml +++ b/mods/ra/sequences/misc.yaml @@ -414,14 +414,6 @@ bomblet: Start: 0 Length: * -nuke: - up: atomicup - Start: 0 - Length: * - down: atomicdn - Start: 0 - Length: * - parabomb: open: Start: 0 From fc16990c05d56ebcdfa645869dae1c222388a370 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Thu, 25 Dec 2014 20:17:33 +0100 Subject: [PATCH 2/4] unhardcode and self-document --- OpenRA.Mods.Cnc/Traits/SupportPowers/IonCannonPower.cs | 4 +++- OpenRA.Mods.Common/Traits/SupportPowers/NukePower.cs | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.Cnc/Traits/SupportPowers/IonCannonPower.cs b/OpenRA.Mods.Cnc/Traits/SupportPowers/IonCannonPower.cs index 7d0c42a258..b129f2374b 100644 --- a/OpenRA.Mods.Cnc/Traits/SupportPowers/IonCannonPower.cs +++ b/OpenRA.Mods.Cnc/Traits/SupportPowers/IonCannonPower.cs @@ -35,6 +35,7 @@ namespace OpenRA.Mods.Cnc.Traits [Desc("Apply the weapon impact this many ticks into the effect")] public readonly int WeaponDelay = 7; + public readonly string Cursor = "ioncannon"; public override object Create(ActorInitializer init) { return new IonCannonPower(init.Self, this); } } @@ -45,7 +46,8 @@ namespace OpenRA.Mods.Cnc.Traits public override IOrderGenerator OrderGenerator(string order, SupportPowerManager manager) { Sound.PlayToPlayer(manager.Self.Owner, Info.SelectTargetSound); - return new SelectGenericPowerTarget(order, manager, "ioncannon", MouseButton.Left); + var info = Info as IonCannonPowerInfo; + return new SelectGenericPowerTarget(order, manager, info.Cursor, MouseButton.Left); } public override void Activate(Actor self, Order order, SupportPowerManager manager) diff --git a/OpenRA.Mods.Common/Traits/SupportPowers/NukePower.cs b/OpenRA.Mods.Common/Traits/SupportPowers/NukePower.cs index 3efdae40cf..7c0d0cc6ce 100644 --- a/OpenRA.Mods.Common/Traits/SupportPowers/NukePower.cs +++ b/OpenRA.Mods.Common/Traits/SupportPowers/NukePower.cs @@ -45,6 +45,8 @@ namespace OpenRA.Mods.Common.Traits [Desc("Amount of time after detonation to remove the camera")] public readonly int CameraRemoveDelay = 25; + public readonly string Cursor = "nuke"; + public override object Create(ActorInitializer init) { return new NukePower(init.Self, this); } } @@ -61,7 +63,8 @@ namespace OpenRA.Mods.Common.Traits public override IOrderGenerator OrderGenerator(string order, SupportPowerManager manager) { Sound.PlayToPlayer(manager.Self.Owner, Info.SelectTargetSound); - return new SelectGenericPowerTarget(order, manager, "nuke", MouseButton.Left); + var info = Info as NukePowerInfo; + return new SelectGenericPowerTarget(order, manager, info.Cursor, MouseButton.Left); } public override void Activate(Actor self, Order order, SupportPowerManager manager) From d7c9a6cbc83f89f9db9c61d0136d00b5b37c4a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Thu, 25 Dec 2014 15:44:12 +0100 Subject: [PATCH 3/4] add the Nod Missile Silo and Cluster Missile --- mods/ts/cursors.yaml | 4 +- mods/ts/rules/misc.yaml | 12 +++++ mods/ts/rules/structures.yaml | 53 ++++++++++++++++++++ mods/ts/sequences/misc.yaml | 14 ++++++ mods/ts/sequences/structures.yaml | 38 ++++++++++++++ mods/ts/weapons.yaml | 82 +++++++++++++++++++++++++++++++ 6 files changed, 201 insertions(+), 2 deletions(-) diff --git a/mods/ts/cursors.yaml b/mods/ts/cursors.yaml index 791f002be8..a3e65b093c 100644 --- a/mods/ts/cursors.yaml +++ b/mods/ts/cursors.yaml @@ -147,8 +147,8 @@ Cursors: Start: 213 Length: 1 nuke: - Start: 90 - Length: 7 + Start: 279 + Length: 20 sell: Start: 129 Length: 10 diff --git a/mods/ts/rules/misc.yaml b/mods/ts/rules/misc.yaml index a2dfd32804..3c5d96021a 100644 --- a/mods/ts/rules/misc.yaml +++ b/mods/ts/rules/misc.yaml @@ -10,3 +10,15 @@ waypoint: RenderEditorOnly: BodyOrientation: +CAMERA: + Immobile: + OccupiesSpace: false + Health: + HP: 1000 + RevealsShroud: + Range: 10c0 + ProximityCaptor: + Types: Camera + BodyOrientation: + DetectCloaked: + Range: 10 \ No newline at end of file diff --git a/mods/ts/rules/structures.yaml b/mods/ts/rules/structures.yaml index 36c6a70560..f2b1bba078 100644 --- a/mods/ts/rules/structures.yaml +++ b/mods/ts/rules/structures.yaml @@ -1288,6 +1288,59 @@ NAPULS: Power: Amount: -150 +NAMISL: + Inherits: ^Building + Buildable: + Queue: Defense + BuildPaletteOrder: 100 + Owner: nod + Prerequisites: natech + BuildLimit: 1 + Valued: + Cost: 1300 + Tooltip: + Name: Nod Missile Silo + Description: Launches a devastating missile\nat a target location.\nRequires power to operate. + ProvidesCustomPrerequisite: + Prerequisite: tech + Building: + Footprint: xx xx + Dimensions: 2,2 + Selectable: + Bounds: 75,48 + Health: + HP: 1000 + Armor: + Type: Wood + RevealsShroud: + Range: 4c0 + WithIdleOverlay@LIGHTS: + Sequence: idle-lights + Power: + Amount: -50 + CanPowerDown: + RequiresPower: + DisabledOverlay: + SupportPowerChargeBar: + NukePower: + Icon: clustermissile + ChargeTime: 540 + Description: Cluster Missile + LongDesc: Launches a conventional warhead\nat a target location. + BeginChargeSound: + EndChargeSound: 00-i154.aud + SelectTargetSound: + InsufficientPowerSound: + IncomingSound: 00-i150.aud + LaunchSound: icbm1.aud + MissileWeapon: ClusterMissile + SpawnOffset: 0,427,0 + DisplayTimer: False + DisplayBeacon: False + DisplayRadarPing: True + BeaconPoster: + CameraActor: camera + ANYPOWER: Tooltip: Name: Power Plant diff --git a/mods/ts/sequences/misc.yaml b/mods/ts/sequences/misc.yaml index 320c52464b..61e0955b58 100644 --- a/mods/ts/sequences/misc.yaml +++ b/mods/ts/sequences/misc.yaml @@ -537,3 +537,17 @@ largecraters: cr12: crater12 Length: 1 Offset: 0, -24 + +icon: + clustermissile: mltiicon + Start: 0 + ioncannon: ioncicon + Start: 0 + +clustermissile: + up: null # TODO + Start: 0 + Length: * + down: null # TODO + Start: 0 + Length: * \ No newline at end of file diff --git a/mods/ts/sequences/structures.yaml b/mods/ts/sequences/structures.yaml index ea4cbb68d0..2c357d8caa 100644 --- a/mods/ts/sequences/structures.yaml +++ b/mods/ts/sequences/structures.yaml @@ -1307,3 +1307,41 @@ gadept: Offset: 0, -36 icon: fixicon Start: 0 + +namisl: + idle: ntmisl + Start: 0 + Offset: 0, -24 + damaged-idle: ntmisl + Start: 1 + Offset: 0, -24 + critical-idle: ntmisl + Start: 2 + Offset: 0, -24 + idle-lights: ntmisl_b + Start: 0 + Length: 10 + Tick: 120 + Offset: 0, -24 + damaged-idle-lights: ntmisl_b + Start: 10 + Length: 10 + Tick: 120 + Offset: 0, -24 + make: ntmislmk + Start: 0 + Length: 18 + ShadowStart: 18 + Offset: 0, -24 + active: ntmisl_a + Start: 0 + Length: 10 + Tick: 80 + Offset: 0, -24 + damaged-active: ntmisl_a + Start: 10 + Length: 10 + Tick: 80 + Offset: 0, -24 + icon: msslicon + Start: 0 diff --git a/mods/ts/weapons.yaml b/mods/ts/weapons.yaml index bb5aca0cf0..6b9747ef0e 100644 --- a/mods/ts/weapons.yaml +++ b/mods/ts/weapons.yaml @@ -1182,3 +1182,85 @@ TiberiumExplosion: Explosion: large_explosion ImpactSound: expnew09.aud +ClusterMissile: + ValidTargets: Ground, Water, Air + Warhead@ImpactDamage0: SpreadDamage + Spread: 1c0 + Damage: 150 + Falloff: 1000, 368, 135, 50, 18, 7, 0 + DeathType: 5 + ValidTargets: Ground, Water, Air + Versus: + Concrete: 25 + Warhead@SoundEffect0: CreateEffect + Explosion: large_explosion + ImpactSound: expnew19.aud + Warhead@ResourceDestruction0: DestroyResource + Size: 1 + Warhead@ClusterSmudges0: LeaveSmudge + SmudgeType: LargeCrater + Size: 1 + Warhead@ClusterDamage1: SpreadDamage + Spread: 2c0 + Damage: 60 + Falloff: 1000, 368, 135, 50, 18, 7, 0 + DeathType: 5 + Delay: 5 + ValidTargets: Ground, Water, Air + Versus: + Concrete: 25 + Warhead@ResourceDestruction1: DestroyResource + Size: 2 + Delay: 5 + Warhead@ClusterSmudges1: LeaveSmudge + SmudgeType: LargeScorch + Size: 2 + Delay: 5 + Warhead@ClusterDamage2: SpreadDamage + Spread: 3c0 + Damage: 60 + Falloff: 1000, 368, 135, 50, 18, 7, 0 + DeathType: 5 + Delay: 10 + ValidTargets: Ground, Water, Air + Versus: + Concrete: 25 + Warhead@ResourceDestruction2: DestroyResource + Size: 3 + Delay: 10 + Warhead@ClusterSmudges2: LeaveSmudge + SmudgeType: LargeScorch + Size: 3 + Delay: 10 + Warhead@ClusterDamage3: SpreadDamage + Spread: 4c0 + Damage: 60 + Falloff: 1000, 368, 135, 50, 18, 7, 0 + DeathType: 5 + Delay: 15 + ValidTargets: Ground, Water, Air + Versus: + Concrete: 25 + Warhead@ResourceDestruction3: DestroyResource + Size: 4 + Delay: 15 + Warhead@ClusterSmudges3: LeaveSmudge + SmudgeType: MediumScorch + Size: 4 + Delay: 15 + Warhead@ClusterDamage4: SpreadDamage + Spread: 5c0 + Damage: 60 + Falloff: 1000, 368, 135, 50, 18, 7, 0 + DeathType: 5 + Delay: 20 + ValidTargets: Ground, Water, Air + Versus: + Concrete: 25 + Warhead@ResourceDestruction4: DestroyResource + Size: 5 + Delay: 20 + Warhead@ClusterSmudges4: LeaveSmudge + SmudgeType: SmallScorch + Size: 5 + Delay: 20 From 26202520a1a58ae0392a78709f983c028b5269eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Thu, 25 Dec 2014 20:17:22 +0100 Subject: [PATCH 4/4] add the GDI Upgrade Center and Ion Cannon --- mods/ts/cursors.yaml | 3 ++ mods/ts/rules/structures.yaml | 49 +++++++++++++++++++++++++++++ mods/ts/sequences/misc.yaml | 9 ++++-- mods/ts/sequences/structures.yaml | 51 +++++++++++++++++++++++++++++++ mods/ts/weapons.yaml | 3 +- 5 files changed, 112 insertions(+), 3 deletions(-) diff --git a/mods/ts/cursors.yaml b/mods/ts/cursors.yaml index a3e65b093c..60d5264acb 100644 --- a/mods/ts/cursors.yaml +++ b/mods/ts/cursors.yaml @@ -149,6 +149,9 @@ Cursors: nuke: Start: 279 Length: 20 + ioncannon: + Start: 319 + Length: 9 sell: Start: 129 Length: 10 diff --git a/mods/ts/rules/structures.yaml b/mods/ts/rules/structures.yaml index f2b1bba078..99aef35c01 100644 --- a/mods/ts/rules/structures.yaml +++ b/mods/ts/rules/structures.yaml @@ -1341,6 +1341,55 @@ NAMISL: BeaconPoster: CameraActor: camera +GAPLUG: + Inherits: ^Building + Valued: + Cost: 1800 + Tooltip: + Name: GDI Upgrade Center + Description: Provides the Orbital Ion Cannon support power.\nRequires power to operate. + Selectable: + Bounds: 115,120,0,-20 + Buildable: + BuildPaletteOrder: 100 + Prerequisites: proc, gatech + Queue: Defense + Building: + Footprint: xxx xxx + Dimensions: 2,3 + RequiresPower: + CanPowerDown: + DisabledOverlay: + RenderBuilding: + WithIdleOverlay@DISH: + Sequence: idle-dish + WithIdleOverlay@LIGHTS: + Sequence: idle-lights + WithIdleOverlay@STRIP: + Sequence: idle-strip + Health: + HP: 1000 + Armor: + Type: Wood + RevealsShroud: + Range: 6c0 + IonCannonPower: + Icon: ioncannon + Effect: ionbeam + ChargeTime: 180 + Description: Ion Cannon + LongDesc: Initiate an Ion Cannon strike.\nApplies instant damage to a small area. + BeginChargeSound: + EndChargeSound: 00-i156.aud + LaunchSound: + SelectTargetSound: + InsufficientPowerSound: + DisplayRadarPing: True + CameraActor: camera + SupportPowerChargeBar: + Power: + Amount: -150 + ANYPOWER: Tooltip: Name: Power Plant diff --git a/mods/ts/sequences/misc.yaml b/mods/ts/sequences/misc.yaml index 61e0955b58..56c003c6b6 100644 --- a/mods/ts/sequences/misc.yaml +++ b/mods/ts/sequences/misc.yaml @@ -157,7 +157,6 @@ explosion: ionring: ring1 Start: 0 Length: * - Tick: 160 pulse_explosion: pulsefx2 Start: 0 Length: * @@ -550,4 +549,10 @@ clustermissile: Length: * down: null # TODO Start: 0 - Length: * \ No newline at end of file + Length: * +ionbeam: + idle: + Start: 0 + Length: * + Offset: 0, -78 + ZOffset: 1 diff --git a/mods/ts/sequences/structures.yaml b/mods/ts/sequences/structures.yaml index 2c357d8caa..86872dd2c3 100644 --- a/mods/ts/sequences/structures.yaml +++ b/mods/ts/sequences/structures.yaml @@ -1345,3 +1345,54 @@ namisl: Offset: 0, -24 icon: msslicon Start: 0 + +gaplug: + idle: gaplug + Start: 0 + ShadowStart: 3 + Offset: 12, -30 + damaged-idle: gaplug + Start: 1 + ShadowStart: 4 + Offset: 12, -30 + critical-idle: gaplug + Start: 2 + ShadowStart: 5 + Offset: 12, -30 + idle-dish: gaplug_a + Start: 0 + Length: 20 + Tick: 120 + Offset: 12, -30 + damaged-idle-dish: gaplug_a + Start: 20 + Length: 20 + Tick: 120 + Offset: 12, -30 + idle-lights: gaplug_b + Start: 0 + Length: 20 + Tick: 120 + Offset: 12, -30 + damaged-idle-lights: gaplug_b + Start: 20 + Length: 20 + Tick: 120 + Offset: 12, -30 + idle-strip: gaplug_c + Start: 0 + Length: 8 + Tick: 120 + Offset: 12, -30 + damaged-idle-strip: gaplug_c + Start: 8 + Length: 8 + Tick: 120 + Offset: 12, -30 + make: gtplugmk + Start: 0 + Length: 17 + ShadowStart: 17 + Offset: 12, -30 + icon: plugicon + Start: 0 diff --git a/mods/ts/weapons.yaml b/mods/ts/weapons.yaml index 6b9747ef0e..d32b5d4e2a 100644 --- a/mods/ts/weapons.yaml +++ b/mods/ts/weapons.yaml @@ -1024,7 +1024,8 @@ IonCannon: ProneModifier: 100 ValidTargets: Ground, Air Warhead@2Eff_impact: CreateEffect - Explosion: ring1 + Explosion: ionring + ImpactSound: ion1.aud Warhead@3Dam_area: PerCellDamage Size: 2 Damage: 250