ModEnc is currently in Maintenance Mode: Changes could occur at any given moment, without advance warning.

Locomotor: Difference between revisions

From ModEnc
Jump to navigation Jump to search
Testid123 (talk | contribs)
mNo edit summary
Testid123 (talk | contribs)
mNo edit summary
 
(5 intermediate revisions by the same user not shown)
Line 13: Line 13:
|rp=yes
|rp=yes
}}
}}
Locomotors handle the unit's movement and ensure the correct images are displayed in correct situations(walking, turning, firing, ...).
Locomotors handle the unit's movement and ensure the correct images are displayed in correct situations(walking, turning, firing, ...).


Line 49: Line 48:
;<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).  
:* If given to infantry,  
:* If given to infantry,  
::* in ''Tiberian Sun'', such infantry will hover, but, regardless of [[MovementZone]] and [[SpeedType]], are unable to travel across water like vehicles with this locomotor do.  
::* in '' '''Tiberian Sun+Red Alert 2+Yuri's Revenge''' '', such infantry will hover, but, regardless of [[MovementZone]] and [[SpeedType]], are unable to travel across water like vehicles with this locomotor do.  
:* If given to a vehicle,  
:* If given to a vehicle,  
::* in ''Red Alert 2'', 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.)
::* in ''Red Alert 2'', 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.
::*The shadow of a  [[VehicleTypes]],[[AircraftTypes]]'''(Voxel)''' will "tilt", but a [[VehicleTypes]],[[AircraftTypes]]'''(Voxel)''' That doesn't "tilt" according to the principles of reality.
::*Does not gain additional effects from {{f|Teleporter|yes|link}}.


;<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.
Line 60: Line 61:
: '''Note:''' Due to how it behaves, only when the distance between the current location and the target location is less than 17 leptons, it is considered as arrived, this Locomotor should not be used for fast ({{f|Speed|14|link}} or higher) infantry.
: '''Note:''' Due to how it behaves, only when the distance between the current location and the target location is less than 17 leptons, it is considered as arrived, this Locomotor should not be used for fast ({{f|Speed|14|link}} or higher) infantry.
:*But it's not necessarily the case. The specific algorithm is the same as Mech('''''{55D141B8-DB94-11d1-AC98-006008055BB5}'''''), see Mech for details.<br>
:*But it's not necessarily the case. The specific algorithm is the same as Mech('''''{55D141B8-DB94-11d1-AC98-006008055BB5}'''''), see Mech for details.<br>
*The shadow of a  [[VehicleTypes]]'''(Voxel)''' will "tilt", but a [[VehicleTypes]]'''(Voxel)''' That doesn't "tilt" according to the principles of reality.
*The shadow of a  [[VehicleTypes]],[[AircraftTypes]]'''(Voxel)''' will "tilt", but a [[VehicleTypes]],[[AircraftTypes]]'''(Voxel)''' That doesn't "tilt" according to the principles of reality.


;<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.
Line 78: Line 79:
:::* 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]].  
:::* 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]].  
:::*If <b><u> [[VehicleTypes]]</u></b> has <b><u>{{f|TurretSpins|yes|Link}}</u></b> tags, this will cause <b><u> [[VehicleTypes]]</u></b> [https://t.bilibili.com/668544108139118641 Rotates like a turret.]
:::*If <b><u> [[VehicleTypes]]</u></b> has <b><u>{{f|TurretSpins|yes|Link}}</u></b> tags, this will cause <b><u> [[VehicleTypes]]</u></b> [https://t.bilibili.com/668544108139118641 Rotates like a turret.]
:::*{{f|BalloonHover|yes|link}}that is used with [[VehicleTypes]] that can fly will be ignored+[[VehicleTypes]] that can fly Can land in water.
:::*Doesn't cause [[VehicleTypes]],[[AircraftTypes]] to tilt from the effects of {{f|Rocker|yes|link}},{{f|DirectRocker|yes|link}} only when stationary.


;<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]].<br>
;<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]].<br>
*For<b><u>[[Tiberian Sun]]</u></b> There will be no delay for warping Regardless of how far <b><u>[[VehicleTypes]]</u></b> and <b><u>[[InfantryTypes]]</u></b> travel.<br>
*For<b><u>[[Tiberian Sun]]</u></b> There will be no delay for warping Regardless of how far <b><u>[[VehicleTypes]]</u></b> and <b><u>[[InfantryTypes]]</u></b> travel.<br>
*The shadow of a  [[VehicleTypes]]'''(Voxel)''' will "tilt", but a [[VehicleTypes]]'''(Voxel)''' That doesn't "tilt" according to the principles of reality.
*The shadow of a  [[VehicleTypes]],[[AircraftTypes]]'''(Voxel)''' will "tilt", but a [[VehicleTypes]],[[AircraftTypes]]'''(Voxel)''' That doesn't "tilt" according to the principles of reality.
*Doesn't cause [[VehicleTypes]],[[AircraftTypes]] to tilt from the effects of {{f|Rocker|yes|link}},{{f|DirectRocker|yes|link}} only when stationary.
*Remove(repel) parasites from [[VehicleTypes]],[[AircraftTypes]] when moving to another location.


;<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).
Line 93: Line 98:
:* 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.
:*The shadow of a  [[VehicleTypes]],[[AircraftTypes]]'''(Voxel)''' will "tilt", but a [[VehicleTypes]],[[AircraftTypes]]'''(Voxel)''' That doesn't "tilt" according to the principles of reality.
*Doesn't cause [[VehicleTypes]],[[AircraftTypes]] to tilt from the effects of {{f|Rocker|yes|link}},{{f|DirectRocker|yes|link}}. But if there is {{f|Teleporter|yes|link}} it will show tilting when there is movement.


;<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.  
Line 102: Line 109:
:* If applied to an aircraft,  
:* 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.
::* 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.
::*The shadow of a  <b><u>[[VehicleTypes]](Voxel)</u></b> will "tilt", but a <b><u>[[VehicleTypes]](Voxel)</u></b> That doesn't "tilt" according to the principles of reality.
::*The shadow of a  <b><u>[[VehicleTypes]],[[AircraftTypes]](Voxel)</u></b> will "tilt", but a <b><u>[[VehicleTypes]],[[AircraftTypes]](Voxel)</u></b> That doesn't "tilt" according to the principles of reality.
::*Doesn't cause [[VehicleTypes]],[[AircraftTypes]] to tilt from the effects of {{f|Rocker|yes|link}},{{f|DirectRocker|yes|link}} only when stationary.


;<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.

Latest revision as of 03:26, 14 October 2024

On TechnoTypes

Tiberian Dawn The Covert Operations Red Alert Counterstrike Aftermath Tiberian Sun Firestorm HyperPatch Red Alert 2 Yuri's Revenge Ares Generals Zero Hour Tiberium Wars Kane's Wrath
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

Tiberian Dawn The Covert Operations Red Alert Counterstrike Aftermath Tiberian Sun Firestorm HyperPatch Red Alert 2 Yuri's Revenge Ares Generals Zero Hour Tiberium Wars Kane's Wrath
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.

VehicleTypes Can "tilt" on sloped terrain.
{4A582742-9839-11d1-B709-00A024DDAFD1}
Hover locomotor. Used by hovering VehicleTypes (e.g. Hover MLRS, Robot Tank).
  • If given to infantry,
  • in Tiberian Sun+Red Alert 2+Yuri's Revenge , such infantry will hover, but, regardless of MovementZone and SpeedType, are unable to travel across water like vehicles with this locomotor do.
  • If given to a vehicle,
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, only when the distance between the current location and the target location is less than 17 leptons, it is considered as arrived, this Locomotor should not be used for fast (Speed=14 or higher) infantry.
  • But it's not necessarily the case. The specific algorithm is the same as Mech({55D141B8-DB94-11d1-AC98-006008055BB5}), see Mech for details.
{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.
  • If VehicleTypes has TurretSpins=yes tags, this will cause VehicleTypes Rotates like a turret.
  • BalloonHover=yesthat is used with VehicleTypes that can fly will be ignored+VehicleTypes that can fly Can land in water.
  • Doesn't cause VehicleTypes,AircraftTypes to tilt from the effects of Rocker=yes,DirectRocker=yes only when stationary.
{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, only when the distance between the current location and the target location is less than 16 leptons, this Locomotor should not be used for fast (Speed=14 or higher) vehicles.
  • Indeed, values such as 20 and 21 are also available, but the vast majority of larger numbers starting from 14 are not available or can only be moved in a "continuous multiple teleportation" manner in a specific direction.
  • Only a very few number of values are work as normal as 1 to 13. However, when testing 8 directions performance every Speed=1 to 128 one by one, their arrangement is almost random.
  • Therefore, unless you are willing to waste time testing and summarizing the algorithm one by one, you only need to remember that<=13 is normal.
  • 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.
  • The shadow of a VehicleTypes,AircraftTypes(Voxel) will "tilt", but a VehicleTypes,AircraftTypes(Voxel) That doesn't "tilt" according to the principles of reality.
{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.
  • The shadow of a VehicleTypes,AircraftTypes(Voxel) will "tilt", but a VehicleTypes,AircraftTypes(Voxel) That doesn't "tilt" according to the principles of reality.
  • Doesn't cause VehicleTypes,AircraftTypes to tilt from the effects of Rocker=yes,DirectRocker=yes only when stationary.
{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.
VehicleTypes Can "tilt" on sloped terrain.
{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.
Give Armor=special_2+Immune=yes to InfantryTypes,VehicleTypes,AircraftTypes that use this locomotive (Although there is a tag Immune=yes but those InfantryTypes,VehicleTypes,AircraftTypes will still take damage from the tag. RadLevel=x+must have CellSpread that can deal wide area damage).

InfantryTypes,VehicleTypes,AircraftTypes that use this locomotive will receive special protection. This causes any weapon that has AG=yes but does not have AA=yes to be unable to attack.
An error will occur if VehicleTypes using the Teleporter=yes tag is destroyed.

See Also