Difference between revisions of "Locomotor"
Speltercap (talk | contribs) |
|||
Line 1: | Line 1: | ||
− | |||
− | |||
=== On TechnoTypes === | === On TechnoTypes === | ||
Line 20: | Line 18: | ||
If you give the unit an invalid locomotor value or omit the Locomotor tag entirely, the unit will default to using the Chrono locomotor. | If you give the unit an invalid locomotor value or omit the Locomotor tag entirely, the unit will default to using the Chrono locomotor. | ||
− | '''Note:''' Although the rules' comment about Locomotors specifically uses "objects" instead of "units", and there is a default of "statue" that probably applies to BuildingTypes, setting a Locomotor on buildings does not seem to have any effect (positive or negative) whatsoever. Furthermore, the Guide's first sentence about Locomotors is "Should not be used on BuildingTypes". This, however, suggests something ''does'' happen. Either way it is assumed that Locomotors are parsed and valid on BuildingTypes, but simply do not have any effect. For the sake of the game's sanity, one should not set them. | + | '''Note:''' Although the rules' comment about Locomotors specifically uses "objects" instead of "units", and there is a default of "statue" that probably applies to BuildingTypes, setting a Locomotor on buildings does not seem to have any effect (positive or negative) whatsoever. Furthermore, the Guide's first sentence about Locomotors is "Should not be used on BuildingTypes". This, however, suggests something ''does'' happen. Either way it is assumed that Locomotors are parsed and valid on BuildingTypes, but simply do not have any effect. For the sake of the game's sanity, one should not set them. |
+ | |||
+ | In ''Red Alert 2'', using [[Phobos]], [https://phobos.readthedocs.io/en/latest/Miscellanous.html#semantic-locomotor-aliases it is now possible to write locomotor aliases instead of their CLSIDs in the Locomotor tag value]. | ||
=== On Warheads === | === On Warheads === | ||
Line 35: | Line 35: | ||
Describes which Locomotor to use for {{f|IsLocomotor|yes|link}} warheads. | Describes which Locomotor to use for {{f|IsLocomotor|yes|link}} warheads. | ||
− | == | + | == Locomotors == |
− | |||
A list of all locomotors and their purposes follows: | A list of all locomotors and their purposes follows: | ||
Line 45: | Line 44: | ||
: '''Note:''' This locomotor works in conjunction with the flag {{f|Jellyfish|link}}; the unit must have this flag enabled for some of these features to work properly. In addition, movement and behavior controls found in the section {{sl|LEVITATION}} apply. | : '''Note:''' This locomotor works in conjunction with the flag {{f|Jellyfish|link}}; the unit must have this flag enabled for some of these features to work properly. In addition, movement and behavior controls found in the section {{sl|LEVITATION}} apply. | ||
− | ;<tt>{4A582741-9839-11d1-B709-00A024DDAFD1}</tt> : Drive locomotor. Used by ground-based VehicleTypes. | + | ;<tt>{4A582741-9839-11d1-B709-00A024DDAFD1}</tt> : Drive locomotor. Used by ground-based VehicleTypes. |
− | ;<tt>{4A582742-9839-11d1-B709-00A024DDAFD1}</tt> : Hover locomotor. Used by [[hover|hovering]] VehicleTypes (e.g. Hover MLRS, Robot Tank). | + | |
+ | ;<tt>{4A582742-9839-11d1-B709-00A024DDAFD1}</tt> : Hover locomotor. Used by [[hover|hovering]] VehicleTypes (e.g. Hover MLRS, Robot Tank). | ||
+ | |||
: '''Note:''' Due to how it behaves, this Locomotor should not be used for fast ({{f|Speed|31|link}} or higher) vehicles. Other interesting side-effects can be observed here: https://www.youtube.com/watch?v=-XtU61OV0yw (Red Alert 2 Yuri's Revenge Amphibious Transports are broken.) | : '''Note:''' Due to how it behaves, this Locomotor should not be used for fast ({{f|Speed|31|link}} or higher) vehicles. Other interesting side-effects can be observed here: https://www.youtube.com/watch?v=-XtU61OV0yw (Red Alert 2 Yuri's Revenge Amphibious Transports are broken.) | ||
− | :This Locomotor should also not be used on {{f|IsTrain|yes|link}} vehicles; Hover Train locomotives can't crush Hover Train compartments, and they can't turn properly on corners without stopping and breaking the illusion of train-like behavior. | + | :This Locomotor should also not be used on {{f|IsTrain|yes|link}} vehicles; Hover Train locomotives can't crush Hover Train compartments, and they can't turn properly on corners without stopping and breaking the illusion of train-like behavior. |
+ | |||
;<tt>{4A582743-9839-11d1-B709-00A024DDAFD1}</tt> : Tunnel locomotor. Used by [[subterranean|burrowing]] VehicleTypes. | ;<tt>{4A582743-9839-11d1-B709-00A024DDAFD1}</tt> : Tunnel locomotor. Used by [[subterranean|burrowing]] VehicleTypes. | ||
:Unit will need {{f|MovementZone|Subterannean|link}} for the unit to actually go underground when origin and/or target location are part of [[TileSets]] with {{f|AllowBurrowing|no|link}}, else it'll drive. | :Unit will need {{f|MovementZone|Subterannean|link}} for the unit to actually go underground when origin and/or target location are part of [[TileSets]] with {{f|AllowBurrowing|no|link}}, else it'll drive. | ||
+ | |||
;<tt>{4A582744-9839-11d1-B709-00A024DDAFD1}</tt> : Walk locomotor. Used by [[InfantryTypes]]. | ;<tt>{4A582744-9839-11d1-B709-00A024DDAFD1}</tt> : Walk locomotor. Used by [[InfantryTypes]]. | ||
: '''Note:''' Due to how it behaves, this Locomotor should not be used for fast ({{f|Speed|31|link}} or higher) infantry. | : '''Note:''' Due to how it behaves, this Locomotor should not be used for fast ({{f|Speed|31|link}} or higher) infantry. | ||
+ | |||
;<tt>{4A582745-9839-11d1-B709-00A024DDAFD1}</tt> : Drop Pod locomotor (referred to as ballistic locomotor in {{tt|locos.tlb}}). Used by falling objects and Drop Pods. | ;<tt>{4A582745-9839-11d1-B709-00A024DDAFD1}</tt> : Drop Pod locomotor (referred to as ballistic locomotor in {{tt|locos.tlb}}). Used by falling objects and Drop Pods. | ||
:* When given to a warhead, VehicleTypes affected by it will disappear at their current location, appear in the air, and drop at an angle towards the position of the unit that originated the warhead, much like a Drop Pod falls towards the ground at an angle. If the firing unit is not moved out of the way before the falling vehicle impacts, the falling vehicle will hit and usually destroy the firing unit. | :* When given to a warhead, VehicleTypes affected by it will disappear at their current location, appear in the air, and drop at an angle towards the position of the unit that originated the warhead, much like a Drop Pod falls towards the ground at an angle. If the firing unit is not moved out of the way before the falling vehicle impacts, the falling vehicle will hit and usually destroy the firing unit. | ||
Line 58: | Line 62: | ||
;<tt>{4A582746-9839-11d1-B709-00A024DDAFD1}</tt> : Fly locomotor. Used by [[AircraftTypes]]. | ;<tt>{4A582746-9839-11d1-B709-00A024DDAFD1}</tt> : Fly locomotor. Used by [[AircraftTypes]]. | ||
− | : | + | :* If given to a vehicle, |
− | :* Vehicles will exit the gate of the War Factory, not the roof hatch, which is used by JumpJet vehicles in Red Alert 2 when leaving the War Factory. | + | ::there are several flaws, such as: |
− | :* After the vehicle has exited the War Factory, it will be "stuck" in the bib at the War Factory's gate, unable to move. The gate of the War Factory itself will not close again after the object exits, until it is in some way removed from the bib. Selling the War Factory will free the vehicle. | + | :::* Vehicles will exit the gate of the War Factory, not the roof hatch, which is used by JumpJet vehicles in Red Alert 2 when leaving the War Factory. |
− | :* The object's shadow will be drawn attached to it, ignoring height, instead of on the ground underneath if it is a voxel. | + | :::* After the vehicle has exited the War Factory, it will be "stuck" in the bib at the War Factory's gate, unable to move. The gate of the War Factory itself will not close again after the object exits, until it is in some way removed from the bib. Selling the War Factory will free the vehicle. |
− | :* Vehicles using this locomotor will be unable to use [[Harvester]] functions or [[DeploysInto|deploy]]. When given orders to attack a target outside the range of their weapon, they will often, but not always, not move towards the target in order to get into attack range, but instead remain stationary (and unable to fire) while staying in the attack mission. | + | :::* The object's shadow will be drawn attached to it, ignoring height, instead of on the ground underneath if it is a voxel. |
− | : On the other hand, such vehicles also have some unique functions that can potentially be turned to an advantage over AircraftTypes: | + | :::* Vehicles using this locomotor will be unable to use [[Harvester]] functions or [[DeploysInto|deploy]]. When given orders to attack a target outside the range of their weapon, they will often, but not always, not move towards the target in order to get into attack range, but instead remain stationary (and unable to fire) while staying in the attack mission. |
− | :* They are not forced to return to a docking structure after finishing a move or attack order and can circle an area indefinitely. | + | :: On the other hand, such vehicles also have some unique functions that can potentially be turned to an advantage over AircraftTypes: |
− | :* Combined with their ability to passively engage enemy units in the same manner as ground units (but contrary to aircraft, which only attack targets explicitly given to them), they can thus be used as "patrols". | + | :::* They are not forced to return to a docking structure after finishing a move or attack order and can circle an area indefinitely. |
− | :* Flying VehicleTypes are also able to engage other aerial targets, making them useful to simulate fighter aircraft, although this feature has lost its relative advantage through the addition of air-to-air combat by AircraftTypes in [[Ares]]. | + | :::* Combined with their ability to passively engage enemy units in the same manner as ground units (but contrary to aircraft, which only attack targets explicitly given to them), they can thus be used as "patrols". |
+ | :::* Flying VehicleTypes are also able to engage other aerial targets, making them useful to simulate fighter aircraft, although this feature has lost its relative advantage through the addition of air-to-air combat by AircraftTypes in [[Ares]]. | ||
+ | |||
+ | ;<tt>{4A582747-9839-11d1-B709-00A024DDAFD1}</tt> : Teleport locomotor. Used by teleporting VehicleTypes and InfantryTypes. Additional logic is activated if the VehicleType in question has [[Teleporter]] set. It will then drive to any location it is ordered to, but if ordered to [[Dock|dock]] with a structure with [[DockUnload]], it will teleport back to the [[Dock|dock]]. | ||
− | |||
;<tt>{55D141B8-DB94-11d1-AC98-006008055BB5}</tt> : Mech locomotor. Used by walker-like VehicleTypes (TibSun Titans, Mammoth Mk.II, Wolverine). | ;<tt>{55D141B8-DB94-11d1-AC98-006008055BB5}</tt> : Mech locomotor. Used by walker-like VehicleTypes (TibSun Titans, Mammoth Mk.II, Wolverine). | ||
: '''Note:''' Due to how it behaves, this Locomotor should not be used for fast ({{f|Speed|14|link}} or higher) vehicles. | : '''Note:''' Due to how it behaves, this Locomotor should not be used for fast ({{f|Speed|14|link}} or higher) vehicles. | ||
Line 75: | Line 81: | ||
:* Units with this locomotor are hardcoded ''not'' to [[IsTilter|tilt]]. | :* Units with this locomotor are hardcoded ''not'' to [[IsTilter|tilt]]. | ||
:* There's a minor visual bug related to the wobble, in that it changes the movement trajectory of the unit when moving in certain directions. [https://ppmforums.com/files/walk_locomotor3_137.gif See this example]. This bug is more pronounced on very low unit [[Speed|speeds]].In addition, this is a hard coded behavior. Even if it uses voxels, it will be displayed [https://t.bilibili.com/746197069772881955 See this example]. In other words, if the number of SHP vehicle surfaces is small enough, this problem is completely invisible. | :* There's a minor visual bug related to the wobble, in that it changes the movement trajectory of the unit when moving in certain directions. [https://ppmforums.com/files/walk_locomotor3_137.gif See this example]. This bug is more pronounced on very low unit [[Speed|speeds]].In addition, this is a hard coded behavior. Even if it uses voxels, it will be displayed [https://t.bilibili.com/746197069772881955 See this example]. In other words, if the number of SHP vehicle surfaces is small enough, this problem is completely invisible. | ||
− | :* Controversially, this is '''not''' used by the Terror Drone. It uses Drive Locomotor. | + | :* Controversially, this is '''not''' used by the Terror Drone. It uses Drive Locomotor. |
− | ;<tt>{92612C46-F71F-11d1-AC9F-006008055BB5}</tt> : Jump jet locomotor. Used by [[Jumpjet]] VehicleTypes and InfantryTypes. | + | |
+ | ;<tt>{92612C46-F71F-11d1-AC9F-006008055BB5}</tt> : Jump jet locomotor. Used by [[Jumpjet]] VehicleTypes and InfantryTypes. | ||
+ | :* Applied to infantry in vanilla ''Tiberian Sun'' and ''Red Alert 2'', resulting in the JumpJet Infantry and Rocketeer. | ||
+ | :* If applied to a vehicle, | ||
+ | ::* in ''Tiberian Sun'', this makes such a vehicle immune to direct-hit damage when in the air (although line damage from railguns still seems to damage such vehicles). | ||
+ | :: in ''Red Alert 2'', useable (and used) by [[VehicleTypes]], producing the behavior seen on the NightHawk, Kirov, and Flying Saucer. | ||
+ | :* If applied to an aircraft, | ||
+ | ::* in ''Tiberian Sun'', when such an aircraft is destroyed, it will not explode or crash, but instead slowly drift to the ground and "land". In this state, it can be selected, whereupon its HP bar will show one remaining red pip, and issued orders by its owner (both of which will be acknowledged with the normal audio responses), but the colored line drawn between a unit and the target of a command (green for movement, red for attack) will not be drawn, and it will not act upon any commands given to it. It can be moved through by other units and while it can be targeted, units given attack orders on it will never move into range, or attack it. | ||
+ | |||
;<tt>{2BEA74E1-7CCA-11d3-BE14-00104B62A16C}</tt> : Used by ships. Once thought to cause them to "tilt" when destroyed, but that is false. Any VehicleType can be made to sink if it weighs more than [[ShipSinkingWeight]], no matter what Locomotor it uses. Even the Amphibious Transports using Hover locomotion will "tilt"/sink if they weigh enough. | ;<tt>{2BEA74E1-7CCA-11d3-BE14-00104B62A16C}</tt> : Used by ships. Once thought to cause them to "tilt" when destroyed, but that is false. Any VehicleType can be made to sink if it weighs more than [[ShipSinkingWeight]], no matter what Locomotor it uses. Even the Amphibious Transports using Hover locomotion will "tilt"/sink if they weigh enough. | ||
− | ;<tt>{B7B49766-E576-11d3-9BD9-00104B972FE8}</tt> : Used by [[Spawned Missiles]] (V3, Dreadnought, Boomer). Giving this to a buildable item from AircraftTypes will turn it into such a missile, and once targeted, it won't accept other orders, and hit the target kamikaze-style. | + | ;<tt>{B7B49766-E576-11d3-9BD9-00104B972FE8}</tt> : Used by [[Spawned Missiles]] (V3, Dreadnought, Boomer). Giving this to a buildable item from AircraftTypes will turn it into such a missile, and once targeted, it won't accept other orders, and hit the target kamikaze-style. |
+ | |||
==See Also== | ==See Also== | ||
− | [[SpeedType]] | + | * [[SpeedType]] |
− | + | * [[MovementZone]] | |
− | [[MovementZone]] | ||
− |
Revision as of 13:18, 6 January 2024
On TechnoTypes
Flag: | Locomotor |
File(s): | rules(md).ini |
Values: | Strings: Normal text. (Limited to: CLSID, see below) |
Special Values: | None |
Default: | teleport |
Applicable to: | TechnoTypes:
AircraftTypes, BuildingTypes, InfantryTypes and VehicleTypes |
Locomotors handle the unit's movement and ensure the correct images are displayed in correct situations(walking, turning, firing, ...).
If you give the unit an invalid locomotor value or omit the Locomotor tag entirely, the unit will default to using the Chrono locomotor.
Note: Although the rules' comment about Locomotors specifically uses "objects" instead of "units", and there is a default of "statue" that probably applies to BuildingTypes, setting a Locomotor on buildings does not seem to have any effect (positive or negative) whatsoever. Furthermore, the Guide's first sentence about Locomotors is "Should not be used on BuildingTypes". This, however, suggests something does happen. Either way it is assumed that Locomotors are parsed and valid on BuildingTypes, but simply do not have any effect. For the sake of the game's sanity, one should not set them.
In Red Alert 2, using Phobos, it is now possible to write locomotor aliases instead of their CLSIDs in the Locomotor tag value.
On Warheads
Flag: | Locomotor |
File(s): | rules(md).ini |
Values: | Strings: Normal text. (Limited to: CLSID, see below) |
Special Values: | None |
Default: | statue |
Applicable to: | Warheads |
Describes which Locomotor to use for IsLocomotor=yes warheads.
Locomotors
A list of all locomotors and their purposes follows:
- {3DC0B295-6546-11D3-80B0-00902792494C}
- Levitate locomotor. Only available in Firestorm. Used by VehicleTypes, has several hardcoded features:
- The unit will periodically move in a random direction unless given a specific movement or attack command, similar to Visceroids.
- The unit will move like a jellyfish or squid, propelling itself forward while expelling gas in the form of a particle system of the type [GasPuffSys].
- ROF, Speed and Range of the unit's weapon(s) are ignored. The unit will attempt to hug the target and if successful, deals the weapon's Damage every few seconds. It will also attack any enemies that happen on its path while simultaneously moving towards the main target.
- Note: This locomotor works in conjunction with the flag Jellyfish; the unit must have this flag enabled for some of these features to work properly. In addition, movement and behavior controls found in the section [LEVITATION] apply.
- {4A582741-9839-11d1-B709-00A024DDAFD1}
- Drive locomotor. Used by ground-based VehicleTypes.
- {4A582742-9839-11d1-B709-00A024DDAFD1}
- Hover locomotor. Used by hovering VehicleTypes (e.g. Hover MLRS, Robot Tank).
- Note: Due to how it behaves, this Locomotor should not be used for fast (Speed=31 or higher) vehicles. Other interesting side-effects can be observed here: https://www.youtube.com/watch?v=-XtU61OV0yw (Red Alert 2 Yuri's Revenge Amphibious Transports are broken.)
- This Locomotor should also not be used on IsTrain=yes vehicles; Hover Train locomotives can't crush Hover Train compartments, and they can't turn properly on corners without stopping and breaking the illusion of train-like behavior.
- {4A582743-9839-11d1-B709-00A024DDAFD1}
- Tunnel locomotor. Used by burrowing VehicleTypes.
- Unit will need MovementZone=Subterannean for the unit to actually go underground when origin and/or target location are part of TileSets with AllowBurrowing=no, else it'll drive.
- {4A582744-9839-11d1-B709-00A024DDAFD1}
- Walk locomotor. Used by InfantryTypes.
- Note: Due to how it behaves, this Locomotor should not be used for fast (Speed=31 or higher) infantry.
- {4A582745-9839-11d1-B709-00A024DDAFD1}
- Drop Pod locomotor (referred to as ballistic locomotor in locos.tlb). Used by falling objects and Drop Pods.
- When given to a warhead, VehicleTypes affected by it will disappear at their current location, appear in the air, and drop at an angle towards the position of the unit that originated the warhead, much like a Drop Pod falls towards the ground at an angle. If the firing unit is not moved out of the way before the falling vehicle impacts, the falling vehicle will hit and usually destroy the firing unit.
- Giving this to a buildable or spawned object in Red Alert 2 will cause an Internal Error upon the object being created. This may be related to this locomotor pointing to animations to attach to the object in question, but these animations are not present in that game.
- {4A582746-9839-11d1-B709-00A024DDAFD1}
- Fly locomotor. Used by AircraftTypes.
- If given to a vehicle,
- there are several flaws, such as:
- Vehicles will exit the gate of the War Factory, not the roof hatch, which is used by JumpJet vehicles in Red Alert 2 when leaving the War Factory.
- After the vehicle has exited the War Factory, it will be "stuck" in the bib at the War Factory's gate, unable to move. The gate of the War Factory itself will not close again after the object exits, until it is in some way removed from the bib. Selling the War Factory will free the vehicle.
- The object's shadow will be drawn attached to it, ignoring height, instead of on the ground underneath if it is a voxel.
- Vehicles using this locomotor will be unable to use Harvester functions or deploy. When given orders to attack a target outside the range of their weapon, they will often, but not always, not move towards the target in order to get into attack range, but instead remain stationary (and unable to fire) while staying in the attack mission.
- On the other hand, such vehicles also have some unique functions that can potentially be turned to an advantage over AircraftTypes:
- They are not forced to return to a docking structure after finishing a move or attack order and can circle an area indefinitely.
- Combined with their ability to passively engage enemy units in the same manner as ground units (but contrary to aircraft, which only attack targets explicitly given to them), they can thus be used as "patrols".
- Flying VehicleTypes are also able to engage other aerial targets, making them useful to simulate fighter aircraft, although this feature has lost its relative advantage through the addition of air-to-air combat by AircraftTypes in Ares.
- {4A582747-9839-11d1-B709-00A024DDAFD1}
- Teleport locomotor. Used by teleporting VehicleTypes and InfantryTypes. Additional logic is activated if the VehicleType in question has Teleporter set. It will then drive to any location it is ordered to, but if ordered to dock with a structure with DockUnload, it will teleport back to the dock.
- {55D141B8-DB94-11d1-AC98-006008055BB5}
- Mech locomotor. Used by walker-like VehicleTypes (TibSun Titans, Mammoth Mk.II, Wolverine).
- Note: Due to how it behaves, this Locomotor should not be used for fast (Speed=14 or higher) vehicles.
- Has a hardcoded wobble added to the unit while it's moving, simulating the wobble caused by walking.
- Ignores acceleration. The unit will accelerate and decelerate instantly.
- Units with this locomotor are hardcoded not to tilt.
- There's a minor visual bug related to the wobble, in that it changes the movement trajectory of the unit when moving in certain directions. See this example. This bug is more pronounced on very low unit speeds.In addition, this is a hard coded behavior. Even if it uses voxels, it will be displayed See this example. In other words, if the number of SHP vehicle surfaces is small enough, this problem is completely invisible.
- Controversially, this is not used by the Terror Drone. It uses Drive Locomotor.
- {92612C46-F71F-11d1-AC9F-006008055BB5}
- Jump jet locomotor. Used by Jumpjet VehicleTypes and InfantryTypes.
- Applied to infantry in vanilla Tiberian Sun and Red Alert 2, resulting in the JumpJet Infantry and Rocketeer.
- If applied to a vehicle,
- in Tiberian Sun, this makes such a vehicle immune to direct-hit damage when in the air (although line damage from railguns still seems to damage such vehicles).
- in Red Alert 2, useable (and used) by VehicleTypes, producing the behavior seen on the NightHawk, Kirov, and Flying Saucer.
- If applied to an aircraft,
- in Tiberian Sun, when such an aircraft is destroyed, it will not explode or crash, but instead slowly drift to the ground and "land". In this state, it can be selected, whereupon its HP bar will show one remaining red pip, and issued orders by its owner (both of which will be acknowledged with the normal audio responses), but the colored line drawn between a unit and the target of a command (green for movement, red for attack) will not be drawn, and it will not act upon any commands given to it. It can be moved through by other units and while it can be targeted, units given attack orders on it will never move into range, or attack it.
- {2BEA74E1-7CCA-11d3-BE14-00104B62A16C}
- Used by ships. Once thought to cause them to "tilt" when destroyed, but that is false. Any VehicleType can be made to sink if it weighs more than ShipSinkingWeight, no matter what Locomotor it uses. Even the Amphibious Transports using Hover locomotion will "tilt"/sink if they weigh enough.
- {B7B49766-E576-11d3-9BD9-00104B972FE8}
- Used by Spawned Missiles (V3, Dreadnought, Boomer). Giving this to a buildable item from AircraftTypes will turn it into such a missile, and once targeted, it won't accept other orders, and hit the target kamikaze-style.