diff --git a/mods/ts/languages/rules/en.ftl b/mods/ts/languages/rules/en.ftl index 7b47d5d389..7586ea9f77 100644 --- a/mods/ts/languages/rules/en.ftl +++ b/mods/ts/languages/rules/en.ftl @@ -637,6 +637,12 @@ actor-stnk = Strong vs Vehicles, Aircraft Weak vs Infantry +actor-sgen = + .name = Mobile Stealth Generator + .deployed--name = Mobile Stealth Generator (deployed) + .description = Can cloak units when deployed. + Unarmed + ## shared-infantry.yaml actor-e1 = .description = General-purpose infantry. diff --git a/mods/ts/rules/nod-structures.yaml b/mods/ts/rules/nod-structures.yaml index ae1ca4c6b2..ab8135f139 100644 --- a/mods/ts/rules/nod-structures.yaml +++ b/mods/ts/rules/nod-structures.yaml @@ -408,6 +408,7 @@ NASTLH: BuildPaletteOrder: 100 Prerequisites: proc, natech, ~structures.nod, ~techlevel.high Description: actor-nastlh.description + ProvidesPrerequisite@buildingname: Building: Footprint: xxx XXX Dimensions: 3,2 diff --git a/mods/ts/rules/nod-vehicles.yaml b/mods/ts/rules/nod-vehicles.yaml index ecff7c2bc0..b47c2beb3e 100644 --- a/mods/ts/rules/nod-vehicles.yaml +++ b/mods/ts/rules/nod-vehicles.yaml @@ -549,3 +549,88 @@ STNK: Explodes@ELITE: RequiresCondition: rank-elite Weapon: UnitExplode + +SGEN: + Inherits: ^Tank + Inherits@VOXELS: ^VoxelActor + Inherits@selection: ^SelectableSupportUnit + -AppearsOnRadar: + Buildable: + Queue: Vehicle + BuildPaletteOrder: 130 + Prerequisites: ~naweap, nastlh + Description: actor-sgen.description + Valued: + Cost: 1600 + Tooltip: + Name: actor-sgen.name + RequiresCondition: !deployed + Tooltip@DEPLOYED: + Name: actor-sgen.deployed--name + RequiresCondition: deployed + Selectable: + Bounds: 1206, 1768, 0, -603 + Health: + HP: 20000 + Armor: + Type: Light + Voiced: + VoiceSet: Spy + Mobile: + Speed: 85 + TurnSpeed: 20 + ImmovableCondition: !undeployed + RequireForceMoveCondition: !undeployed + RevealsShroud: + RequiresCondition: !inside-tunnel && undeployed + Range: 5c0 + MaxHeightDelta: 3 + RevealsShroud@DEPLOYED: + RequiresCondition: inside-tunnel || deployed + Range: 6c0 + MaxHeightDelta: 3 + WithMakeAnimation: + GrantCondition@PREVIEWWORKAROUND: + Condition: real-actor + RenderSprites: + Image: mstl + PlayerPalette: playertem + GrantConditionOnDeploy: + PauseOnCondition: empdisable || being-captured + DeployedCondition: deployed + UndeployedCondition: undeployed + UndeployOnMove: true + UndeployOnPickup: true + Facing: 384 + AllowedTerrainTypes: Clear, Road, DirtRoad, Rough + DeploySounds: place2.aud + UndeploySounds: clicky1.aud + Voice: Move + EntersTunnels: + RequireForceMoveCondition: !undeployed + Repairable: + RequireForceMoveCondition: !undeployed + Passenger: + RequireForceMoveCondition: !undeployed + WithVoxelBody: + RequiresCondition: undeployed + WithSpriteBody@deployed: + RequiresCondition: !undeployed && real-actor + WithIdleOverlay@LIGHTS: + RequiresCondition: deployed && real-actor && !empdisable + Sequence: idle-lights + Palette: player-nobright + IsPlayerPalette: True + RenderVoxels: + Scale: 11.5 + ProximityExternalCondition: + RequiresCondition: deployed && !empdisable + Condition: cloakgenerator + Range: 6c0 + EnableSound: cloak5.aud + DisableSound: cloak5.aud + AffectsParent: true + WithRangeCircle: + Range: 6c0 + Type: cloakgenerator + RequiresCondition: deployed && !empdisable diff --git a/mods/ts/sequences/vehicles.yaml b/mods/ts/sequences/vehicles.yaml index 3e4af63734..dbefb2df43 100644 --- a/mods/ts/sequences/vehicles.yaml +++ b/mods/ts/sequences/vehicles.yaml @@ -372,3 +372,22 @@ traincar: cargocar: Inherits: ^VehicleOverlays + +mstl: + Inherits: ^VehicleOverlays + icon: + Filename: mstlicon.shp + idle: + Filename: mstl.shp + ShadowStart: 3 + Offset: 0, -15, 15 + idle-lights: + Filename: mstl_a.shp + Length: 10 + ShadowStart: 10 + Offset: 0, -15, 15 + make: + Filename: mstlmk.shp + Length: 20 + ShadowStart: 20 + Offset: 0, -15, 15 diff --git a/mods/ts/sequences/voxels.yaml b/mods/ts/sequences/voxels.yaml index 6668ae05f9..d6dcca83b1 100644 --- a/mods/ts/sequences/voxels.yaml +++ b/mods/ts/sequences/voxels.yaml @@ -177,3 +177,6 @@ mobilemp: dpod: idle: + +sgen: + idle: