diff --git a/mods/ts/rules/defaults.yaml b/mods/ts/rules/defaults.yaml index b344357523..b0e98a2e10 100644 --- a/mods/ts/rules/defaults.yaml +++ b/mods/ts/rules/defaults.yaml @@ -141,6 +141,13 @@ CloakDelay: 90 MustBeDestroyed: +^BuildingPlug: + Building: + BuildSounds: place2.aud + KillsSelf: + RemoveInstead: true + RenderSprites: + ^Infantry: AppearsOnRadar: Health: diff --git a/mods/ts/rules/structures.yaml b/mods/ts/rules/structures.yaml index 1dead3b5a8..62aca5e90f 100644 --- a/mods/ts/rules/structures.yaml +++ b/mods/ts/rules/structures.yaml @@ -430,7 +430,7 @@ GAWALL: Inherits: ^Wall Buildable: Queue: Defense - BuildPaletteOrder: 1001 + BuildPaletteOrder: 20 Prerequisites: ~structures.gdi SoundOnDamageTransition: DamagedSounds: @@ -910,14 +910,13 @@ NASTLH: Selectable: Bounds: 124, 64, 15, 13 -#TODO: Placeholder, replace with Component Tower + Vulcan Upgrade -GAVULC: +GACTWR: Inherits: ^Building Valued: Cost: 600 Tooltip: - Name: Vulcan Tower - Description: Basic base defense. \nRequires no power to operate.\n Strong vs infantry and light armor\n Cannot target Aircraft + Name: Component Tower + Description: Modular tower for base defenses. Buildable: Queue: Defense BuildPaletteOrder: 30 @@ -938,26 +937,60 @@ GAVULC: RenderRangeCircle: RenderDetectionCircle: DetectCloaked: + UpgradeTypes: tower + UpgradeMinEnabledLevel: 1 Range: 5 AutoTarget: Turreted: ROT: 10 InitialFacing: 50 AttackTurreted: - WithTurret: + UpgradeTypes: tower + UpgradeMinEnabledLevel: 1 + CanPowerDown: + WithTurret@VULC: + UpgradeTypes: tower.vulcan + UpgradeMinEnabledLevel: 1 Recoils: no - Armament@PRIMARY: + Sequence: turret-vulcan + WithTurret@ROCKET: + UpgradeTypes: tower.rocket + UpgradeMinEnabledLevel: 1 + Recoils: no + Sequence: turret-rocket + WithTurret@SAM: + UpgradeTypes: tower.sam + UpgradeMinEnabledLevel: 1 + Recoils: no + Sequence: turret-sam + Armament@VULCPRIMARY: + UpgradeTypes: tower.vulcan + UpgradeMinEnabledLevel: 1 Weapon: VulcanTower LocalOffset: 768,85,512 MuzzleSequence: muzzle MuzzleSplitFacings: 8 - Armament@SECONDARY: + Armament@VULCSECONDARY: + UpgradeTypes: tower.vulcan + UpgradeMinEnabledLevel: 1 Name: secondary Weapon: VulcanTower LocalOffset: 768,-85,512 MuzzleSequence: muzzle MuzzleSplitFacings: 8 + Armament@ROCKET: + UpgradeTypes: tower.rocket + UpgradeMinEnabledLevel: 1 + Weapon: RPGTower + LocalOffset: 512,-128,512 + Armament@SAM: + UpgradeTypes: tower.sam + UpgradeMinEnabledLevel: 1 + Weapon: SAMTower + LocalOffset: 512,0,512 WithMuzzleFlash: + UpgradeTypes: tower.vulcan + UpgradeMinEnabledLevel: 1 WithIdleOverlay@LIGHTS: Sequence: idle-lights LineBuildNode: @@ -965,106 +998,67 @@ GAVULC: -RenderBuilding: RenderBuildingWall: Type: wall + Power@base: + Amount: -10 + Power@turrets: + UpgradeTypes: tower + UpgradeMinEnabledLevel: 1 + Amount: -20 + Power@samextra: + UpgradeTypes: tower.sam + UpgradeMinEnabledLevel: 1 + Amount: -10 + Pluggable: + Upgrades: + tower.vulcan: tower, tower.vulcan + tower.rocket: tower, tower.rocket + tower.sam: tower, tower.sam + +GAVULC: + Inherits: ^BuildingPlug + Valued: + Cost: 150 + Tooltip: + Name: Vulcan Tower + Description: Basic base defense. \nRequires no power to operate.\n Strong vs infantry and light armor\n Cannot target Aircraft + Buildable: + Queue: Defense + BuildPaletteOrder: 40 + Prerequisites: gactwr, gapile, ~structures.gdi + Plug: + Type: tower.vulcan Power: Amount: -20 -#TODO: Placeholder, replace with Component Tower + RPG Upgrade GAROCK: - Inherits: ^Building + Inherits: ^BuildingPlug Valued: - Cost: 1000 + Cost: 600 Tooltip: - Name: RPG Tower + Name: RPG Upgrade Description: GDI Advanced base defense.\nRequires power to operate.\n Strong vs armored ground units\n Cannot target Aircraft Buildable: Queue: Defense BuildPaletteOrder: 40 - Prerequisites: gapile, ~structures.gdi - Building: - Selectable: - Bounds: 48, 48, 0, -12 - RequiresPower: - DisabledOverlay: - -GivesBuildableArea: - Health: - HP: 500 - Armor: - Type: Light - RevealsShroud: - Range: 6c0 - BodyOrientation: - QuantizedFacings: 32 - RenderRangeCircle: - RenderDetectionCircle: - DetectCloaked: - Range: 5 - AutoTarget: - Turreted: - ROT: 10 - InitialFacing: 50 - AttackTurreted: - WithTurret: - Recoils: no - Armament: - Weapon: RPGTower - LocalOffset: 512,-128,512 - WithIdleOverlay@LIGHTS: - Sequence: idle-lights - LineBuildNode: - Types: turret - -RenderBuilding: - RenderBuildingWall: - Type: wall + Prerequisites: gactwr, gapile, ~structures.gdi + Plug: + Type: tower.rocket Power: - Amount: -50 + Amount: -20 -#TODO: Placeholder, replace with Component Tower + SAM Upgrade GACSAM: - Inherits: ^Building + Inherits: ^BuildingPlug Valued: - Cost: 600 + Cost: 300 Tooltip: - Name: S.A.M. Tower + Name: SAM. Upgrade Description: GDI Anti-Air base defense. \nRequires power to operate.\n Strong vs all Aircraft\n Cannot target ground units Buildable: Queue: Defense - BuildPaletteOrder: 60 - Prerequisites: garadr, ~structures.gdi - Building: - Selectable: - Bounds: 48, 48, 0, -12 - RequiresPower: - DisabledOverlay: - -GivesBuildableArea: - Health: - HP: 500 - Armor: - Type: Light - RevealsShroud: - Range: 6c0 - BodyOrientation: - QuantizedFacings: 32 - RenderRangeCircle: - RenderDetectionCircle: - DetectCloaked: - Range: 5 - AutoTarget: - Turreted: - ROT: 10 - InitialFacing: 50 - AttackTurreted: - WithTurret: - Recoils: no - Armament: - Weapon: SAMTower - LocalOffset: 512,0,512 - WithIdleOverlay@LIGHTS: - Sequence: idle-lights - LineBuildNode: - Types: turret - -RenderBuilding: - RenderBuildingWall: - Type: wall + BuildPaletteOrder: 40 + Prerequisites: gactwr, garadr, ~structures.gdi + Plug: + Type: tower.sam Power: Amount: -30 diff --git a/mods/ts/sequences/structures.yaml b/mods/ts/sequences/structures.yaml index 2ba5c581c6..033d8bb621 100644 --- a/mods/ts/sequences/structures.yaml +++ b/mods/ts/sequences/structures.yaml @@ -654,7 +654,7 @@ nastlh: Offset: 0, 0 UseTilesetCode: false -gavulc: +gactwr: Defaults: Offset: 0, -12 UseTilesetCode: true @@ -667,7 +667,21 @@ gavulc: Start: 2 ShadowStart: 5 Tick: 400 - turret: gtctwr_b + idle-lights: gtctwr_a + Length: 6 + Tick: 200 + damaged-idle-lights: gtctwr_a + Length: 6 + Tick: 200 + make: gtctwrmk + Length: 11 + ShadowStart: 11 + turret-vulcan: gtctwr_b + Facings: 32 + turret-rocket: gtctwr_c + Facings: 32 + UseTilesetCode: false + turret-sam: gtctwr_d Facings: 32 muzzle0: mgun-n Length: * @@ -693,74 +707,18 @@ gavulc: muzzle7: mgun-ne Length: * UseTilesetCode: false - idle-lights: gtctwr_a - Length: 6 - Tick: 200 - damaged-idle-lights: gtctwr_a - Length: 6 - Tick: 200 - make: gtctwrmk - Length: 11 - ShadowStart: 11 - icon: twr1icon + icon: towricon Offset: 0, 0 UseTilesetCode: false +gavulc: + icon: twr1icon + garock: - Defaults: - Offset: 0, -12 - UseTilesetCode: true - idle: gtctwr - ShadowStart: 3 - damaged-idle: gtctwr - Start: 1 - ShadowStart: 4 - dead: gtctwr - Start: 2 - ShadowStart: 5 - Tick: 400 - turret: gtctwr_c - Facings: 32 - idle-lights: gtctwr_a - Length: 6 - Tick: 200 - damaged-idle-lights: gtctwr_a - Length: 6 - Tick: 200 - make: gtctwrmk - Length: 11 - ShadowStart: 11 icon: twr2icon - Offset: 0, 0 - UseTilesetCode: false gacsam: - Defaults: - Offset: 0, -12 - UseTilesetCode: true - idle: gtctwr - ShadowStart: 3 - damaged-idle: gtctwr - Start: 1 - ShadowStart: 4 - dead: gtctwr - Start: 2 - ShadowStart: 5 - Tick: 400 - turret: gtctwr_d - Facings: 32 - idle-lights: gtctwr_a - Length: 6 - Tick: 200 - damaged-idle-lights: gtctwr_a - Length: 6 - Tick: 200 - make: gtctwrmk - Length: 11 - ShadowStart: 11 icon: twr3icon - Offset: 0, 0 - UseTilesetCode: false gahpad: Defaults: