diff --git a/mods/ts/rules/civilian-vehicles.yaml b/mods/ts/rules/civilian-vehicles.yaml index a8cf835c1a..21b1ed2465 100644 --- a/mods/ts/rules/civilian-vehicles.yaml +++ b/mods/ts/rules/civilian-vehicles.yaml @@ -10,7 +10,6 @@ Mobile: Speed: 56 TurnSpeed: 5 - Crushes: wall, crate, infantry Health: HP: 60000 Armor: diff --git a/mods/ts/rules/critters.yaml b/mods/ts/rules/critters.yaml index 11a3592b76..e1404fa105 100644 --- a/mods/ts/rules/critters.yaml +++ b/mods/ts/rules/critters.yaml @@ -69,7 +69,7 @@ VISC_SML: RenderSprites: Image: vissml Mobile: - Crushes: visceroid-fusing + Locomotor: smallvisc Crushable: CrushClasses: visceroid-fusing WarnProbability: 0 @@ -103,8 +103,6 @@ VISC_LRG: MaxMoveDelay: 50 WithAttackAnimation: AttackSequence: attack - Mobile: - Crushes: crate, infantry RenderSprites: Image: vislrg @@ -120,13 +118,7 @@ JFISH: Range: 5c0 Mobile: Speed: 72 - Crushes: crate - TerrainSpeeds: - Clear: 100 - Rail: 100 - DirtRoad: 100 - Rough: 100 - Water: 100 + Locomotor: hover Armament: Weapon: Tentacle FireDelay: 10 diff --git a/mods/ts/rules/defaults.yaml b/mods/ts/rules/defaults.yaml index c0e6d51bd1..20b7505eea 100644 --- a/mods/ts/rules/defaults.yaml +++ b/mods/ts/rules/defaults.yaml @@ -512,21 +512,7 @@ Mobile: Voice: Move Speed: 71 - Crushes: crate - SharesCell: true - TerrainSpeeds: - Clear: 90 - Road: 100 - Bridge: 100 - Rail: 90 - DirtRoad: 100 - Rough: 80 - Tiberium: 90 - PathingCost: 90 - BlueTiberium: 90 - PathingCost: 90 - Veins: 50 - TunnelCondition: inside-tunnel + Locomotor: foot WithTextControlGroupDecoration: SelectionDecorations: Palette: pips @@ -580,6 +566,8 @@ Radius: 128 EditorTilesetFilter: Categories: Infantry + GrantConditionOnTunnelLayer: + Condition: inside-tunnel ^RegularInfantryDeath: WithDeathAnimation@normal: @@ -697,22 +685,10 @@ Huntable: DrawLineToTarget: Mobile: - Crushes: crate - TerrainSpeeds: - Clear: 70 - Road: 100 - Bridge: 100 - Rail: 50 - DirtRoad: 90 - Rough: 40 - Tiberium: 50 - BlueTiberium: 50 - Veins: 50 - PathingCost: 90 TurnSpeed: 5 Voice: Move RequiresCondition: !empdisable - TunnelCondition: inside-tunnel + Locomotor: wheeled Selectable: Bounds: 40,24 WithTextControlGroupDecoration: @@ -771,21 +747,13 @@ HitShape: EditorTilesetFilter: Categories: Vehicle + GrantConditionOnTunnelLayer: + Condition: inside-tunnel ^Tank: Inherits: ^Vehicle Mobile: - Crushes: wall, crate, infantry - TerrainSpeeds: - Clear: 70 - Road: 100 - Bridge: 100 - Rail: 100 - DirtRoad: 90 - Rough: 60 - Tiberium: 70 - BlueTiberium: 70 - Veins: 70 + Locomotor: tracked ^VoxelActor: BodyOrientation: @@ -801,7 +769,7 @@ ^CivilianVoxelCrusher: Inherits: ^CivilianVoxelVehicle Mobile: - Crushes: wall, crate, infantry + Locomotor: heavywheeled ^Aircraft: Inherits@2: ^ExistsInWorld @@ -901,18 +869,7 @@ Mobile: Speed: 113 TurnSpeed: 16 - SharesCell: no - TerrainSpeeds: - Clear: 90 - Road: 100 - Bridge: 100 - Rail: 80 - DirtRoad: 90 - Rough: 70 - Tiberium: 100 - BlueTiberium: 100 - Veins: 100 - TunnelCondition: inside-tunnel + Locomotor: visceroid WithTextControlGroupDecoration: SelectionDecorations: Palette: pips @@ -933,6 +890,8 @@ VerticalTopOffset: 512 EditorTilesetFilter: Categories: Critter + GrantConditionOnTunnelLayer: + Condition: inside-tunnel ^BlossomTree: Inherits@1: ^SpriteActor @@ -1046,14 +1005,11 @@ WithVoxelBody: DrawLineToTarget: Mobile: - TerrainSpeeds: - Rail: 100 - Crushes: wall, crate, infantry TurnSpeed: 5 Voice: Move Speed: 113 RequiresCondition: !empdisable - TunnelCondition: inside-tunnel + Locomotor: train Cargo: Types: Infantry UnloadVoice: Unload @@ -1091,6 +1047,8 @@ HitShape: EditorTilesetFilter: Categories: Railway + GrantConditionOnTunnelLayer: + Condition: inside-tunnel ^TerrainOverlay: AlwaysVisible: diff --git a/mods/ts/rules/gdi-infantry.yaml b/mods/ts/rules/gdi-infantry.yaml index a2eb559163..aeb5d88c0b 100644 --- a/mods/ts/rules/gdi-infantry.yaml +++ b/mods/ts/rules/gdi-infantry.yaml @@ -87,11 +87,7 @@ JUMPJET: VoiceSet: JumpJet Mobile: Speed: 71 - Jumpjet: True - JumpjetTransitionCost: 100 - JumpjetCondition: airborne - TerrainSpeeds: - Jumpjet: 110 + Locomotor: jumpjet Health: HP: 12000 Armor: @@ -152,6 +148,8 @@ JUMPJET: RequiresCondition: !airborne WithShadow@airborne: RequiresCondition: airborne + GrantConditionOnJumpjetLayer: + Condition: airborne JUMPJET.Husk: RenderSprites: diff --git a/mods/ts/rules/gdi-vehicles.yaml b/mods/ts/rules/gdi-vehicles.yaml index d8997248a2..35e3dd4dfd 100644 --- a/mods/ts/rules/gdi-vehicles.yaml +++ b/mods/ts/rules/gdi-vehicles.yaml @@ -13,9 +13,8 @@ APC: Mobile: TurnSpeed: 5 Speed: 113 - TerrainSpeeds: - Water: 80 RequiresCondition: !empdisable && !loading + Locomotor: amphibious Health: HP: 20000 Armor: @@ -63,17 +62,8 @@ HVR: Description: Hovering vehicle armed with\nlong range missiles.\n Strong vs Vehicles, Aircraft\n Weak vs Infantry Mobile: Speed: 99 - TerrainSpeeds: - Clear: 100 - Road: 100 - Bridge: 100 - Rail: 100 - DirtRoad: 100 - Rough: 100 - Water: 100 - Tiberium: 100 - BlueTiberium: 100 - Veins: 100 + Locomotor: hover + RequiresCondition: !empdisable Health: HP: 23000 Armor: @@ -164,7 +154,6 @@ MMCH: Mobile: TurnSpeed: 5 Speed: 56 - Crushes: wall, crate, infantry Health: HP: 40000 Armor: @@ -225,7 +214,6 @@ HMEC: Mobile: TurnSpeed: 3 Speed: 42 - Crushes: wall, crate, infantry Health: HP: 80000 SelfHealing: @@ -272,7 +260,6 @@ SONIC: Mobile: TurnSpeed: 4 Speed: 56 - Crushes: wall, crate, infantry Health: HP: 50000 Armor: diff --git a/mods/ts/rules/nod-vehicles.yaml b/mods/ts/rules/nod-vehicles.yaml index 129360293a..24bfb01b62 100644 --- a/mods/ts/rules/nod-vehicles.yaml +++ b/mods/ts/rules/nod-vehicles.yaml @@ -98,7 +98,6 @@ TTNK: Mobile: TurnSpeed: 5 Speed: 85 - Crushes: wall, crate, infantry RequiresCondition: !empdisable && undeployed Health: HP: 35000 @@ -366,15 +365,7 @@ SAPC: TurnSpeed: 5 Speed: 71 RequiresCondition: !empdisable && !loading - Subterranean: true - SubterraneanCondition: submerged - SubterraneanTransitionTerrainTypes: Clear, Rough - SubterraneanTransitionCost: 120 - SubterraneanTransitionSound: subdril1.aud - SubterraneanTransitionImage: dig - SubterraneanTransitionSequence: idle - TerrainSpeeds: - Subterranean: 120 + Locomotor: subterranean Health: HP: 17500 Armor: @@ -394,6 +385,11 @@ SAPC: RequiresCondition: !submerged Targetable: RequiresCondition: !inside-tunnel && !submerged + GrantConditionOnSubterraneanLayer: + Condition: submerged + SubterraneanTransitionImage: dig + SubterraneanTransitionSequence: idle + SubterraneanTransitionSound: subdril1.aud SUBTANK: Inherits: ^Tank @@ -412,16 +408,7 @@ SUBTANK: Mobile: TurnSpeed: 6 Speed: 71 - Crushes: wall, crate, infantry - Subterranean: true - SubterraneanCondition: submerged - SubterraneanTransitionTerrainTypes: Clear, Rough - SubterraneanTransitionCost: 120 - SubterraneanTransitionSound: subdril1.aud - SubterraneanTransitionImage: dig - SubterraneanTransitionSequence: idle - TerrainSpeeds: - Subterranean: 120 + Locomotor: subterranean Health: HP: 30000 Armor: @@ -439,6 +426,11 @@ SUBTANK: RequiresCondition: !submerged Targetable: RequiresCondition: !inside-tunnel && !submerged + GrantConditionOnSubterraneanLayer: + Condition: submerged + SubterraneanTransitionImage: dig + SubterraneanTransitionSequence: idle + SubterraneanTransitionSound: subdril1.aud STNK: Inherits: ^Tank @@ -457,7 +449,6 @@ STNK: Mobile: TurnSpeed: 5 Speed: 85 - Crushes: wall, crate, infantry Health: HP: 18000 Armor: diff --git a/mods/ts/rules/shared-infantry.yaml b/mods/ts/rules/shared-infantry.yaml index 5473b24bb5..0b5905dda6 100644 --- a/mods/ts/rules/shared-infantry.yaml +++ b/mods/ts/rules/shared-infantry.yaml @@ -72,18 +72,8 @@ FLAMEGUY: Inherits@1: ^ExistsInWorld Inherits@2: ^SpriteActor Mobile: - Speed: 71 - SharesCell: true - TerrainSpeeds: - Clear: 45 - Road: 50 - Bridge: 50 - Rail: 45 - DirtRoad: 50 - Rough: 40 - Tiberium: 45 - BlueTiberium: 45 - Veins: 25 + Speed: 36 + Locomotor: flameguy HiddenUnderFog: WithInfantryBody: IdleSequences: run diff --git a/mods/ts/rules/shared-vehicles.yaml b/mods/ts/rules/shared-vehicles.yaml index abb2102569..ef39d31c05 100644 --- a/mods/ts/rules/shared-vehicles.yaml +++ b/mods/ts/rules/shared-vehicles.yaml @@ -69,16 +69,6 @@ HARV: DeliverVoice: Move Mobile: Speed: 71 - Crushes: wall, crate - TerrainSpeeds: - Clear: 90 - Rough: 70 - Road: 100 - Bridge: 100 - Beach: 70 - Tiberium: 80 - BlueTiberium: 80 - Veins: 80 Health: HP: 100000 SelfHealing: diff --git a/mods/ts/rules/world.yaml b/mods/ts/rules/world.yaml index 68bdc8917b..3c3201e187 100644 --- a/mods/ts/rules/world.yaml +++ b/mods/ts/rules/world.yaml @@ -11,6 +11,177 @@ UseExtendedIndex: true ShroudPalette: shroud FogPalette: shroud + Locomotor@FOOT: + Name: foot + Crushes: crate + SharesCell: true + TerrainSpeeds: + Clear: 90 + Road: 100 + Bridge: 100 + Rail: 90 + DirtRoad: 100 + Rough: 80 + Tiberium: 90 + BlueTiberium: 90 + Veins: 50 + Locomotor@FLAMEGUY: + Name: flameguy + SharesCell: true + TerrainSpeeds: + Clear: 90 + Road: 100 + Bridge: 100 + Rail: 90 + DirtRoad: 100 + Rough: 80 + Tiberium: 90 + BlueTiberium: 90 + Veins: 50 + JumpjetLocomotor@JUMPJET: + Name: jumpjet + Crushes: crate + SharesCell: true + JumpjetTransitionCost: 100 + TerrainSpeeds: + Clear: 90 + Road: 100 + Bridge: 100 + Rail: 90 + DirtRoad: 100 + Rough: 80 + Tiberium: 90 + BlueTiberium: 90 + Veins: 50 + Jumpjet: 110 + Locomotor@WHEELED: + Name: wheeled + Crushes: crate + TerrainSpeeds: + Clear: 70 + Road: 100 + Bridge: 100 + Rail: 50 + DirtRoad: 90 + Rough: 40 + Tiberium: 50 + BlueTiberium: 50 + Veins: 50 + PathingCost: 90 + Locomotor@HEAVYWHEELED: + Name: heavywheeled + Crushes: wall, crate, infantry + TerrainSpeeds: + Clear: 70 + Road: 100 + Bridge: 100 + Rail: 50 + DirtRoad: 90 + Rough: 40 + Tiberium: 50 + BlueTiberium: 50 + Veins: 50 + PathingCost: 90 + Locomotor@TRACKED: + Name: tracked + Crushes: wall, crate, infantry + TerrainSpeeds: + Clear: 70 + Road: 100 + Bridge: 100 + Rail: 100 + DirtRoad: 90 + Rough: 60 + Tiberium: 70 + BlueTiberium: 70 + Veins: 70 + Locomotor@AMPHIBIOUS: + Name: amphibious + Crushes: wall, crate, infantry + TerrainSpeeds: + Clear: 70 + Road: 100 + Bridge: 100 + Rail: 100 + DirtRoad: 90 + Rough: 60 + Tiberium: 70 + BlueTiberium: 70 + Veins: 70 + Water: 80 + SubterraneanLocomotor@SUBTERRANEAN: + Name: subterranean + Crushes: wall, crate, infantry + TerrainSpeeds: + Clear: 70 + Road: 100 + Bridge: 100 + Rail: 100 + DirtRoad: 90 + Rough: 60 + Tiberium: 70 + BlueTiberium: 70 + Veins: 70 + Subterranean: 120 + SubterraneanTransitionTerrainTypes: Clear, Rough + SubterraneanTransitionCost: 120 + Locomotor@HOVER: + Name: hover + Crushes: wall, crate, infantry + TerrainSpeeds: + Clear: 100 + Road: 100 + Bridge: 100 + Rail: 100 + DirtRoad: 100 + Rough: 100 + Water: 100 + Tiberium: 100 + BlueTiberium: 100 + Veins: 100 + Locomotor@SMALLVISC: + Name: smallvisc + Crushes: visceroid-fusing + TerrainSpeeds: + Clear: 90 + Road: 100 + Bridge: 100 + Rail: 80 + DirtRoad: 90 + Rough: 70 + Tiberium: 100 + BlueTiberium: 100 + Veins: 100 + Locomotor@VISCEROID: + Name: visceroid + Crushes: crate, infantry + TerrainSpeeds: + Clear: 90 + Road: 100 + Bridge: 100 + Rail: 80 + DirtRoad: 90 + Rough: 70 + Tiberium: 100 + BlueTiberium: 100 + Veins: 100 + Locomotor@CRITTER: + Name: critter + TerrainSpeeds: + Clear: 90 + Road: 100 + Bridge: 100 + Rail: 80 + DirtRoad: 90 + Rough: 70 + Tiberium: 100 + BlueTiberium: 100 + Veins: 100 + Locomotor@TRAIN: + Name: train + TerrainSpeeds: + Rail: 100 + Crushes: wall, crate, infantry Faction@Random: Name: Any InternalName: Random