Type Conversion

To a limited extent, it is possible to change the type of a unit in certain conditions. Supported are only unit to unit, infantry to infantry, and aircraft to aircraft. This is not supported for buildings.

There is one rule to follow, which is easily stated but difficult to adhere to: a unit is not allowed to convert into another type that has a chance to currently be in a position where the new type cannot be. For example if an infantry unit gets bigger while inside a full open topped transport, the converted type not being allowed as passenger or occupant. This also works backwards: a vehicle cannot lose its ability to hold passengers.

A unit that has not been created with a temporal weapon, a mind control weapon, or a parasite weapon cannot gain such by changing the type.

The following are fully supported:

  • changing Strength will keep the units health the same
  • changing Armor
  • Ammo is reduced if new type has less Ammo
  • Cloakable is applied again
  • Spotlight is removed or created
  • AttachEffect on the type is removed or created
  • ROT and TurretROT are reset
  • All prerequisites are rechecked once a unit converts

Note

Converted units no longer count as original units for BuildLimit checks. As with all other prerequisite checks, units will not be disallowed to convert, even if it violates BuildLimit rules.

New in version 2.0.

On Promotion

The unit type can be changed by promotion, not only allowing for more than the usual three veterancy levels, but also allowing to change several of the unit’s attributes including their appearance.

Note that if the unit skips the veteran rank and becomes elite immediately, Veteran settings are not applied. Also note that this is not cascading: if a unit is promoted to elite and converts to a veteran version of another type, which in turn should convert to something else, no further conversion takes place.

[TechnoType]►Promote.VeteranType= (TechnoType)
If set, the unit converts into this type when being promoted to veteran rank. Defaults to none.
[TechnoType]►Promote.EliteType= (TechnoType)
If set, the unit converts into this type when being promoted to elite rank. Defaults to none.

The following tags can be used to promote a unit to a rookie of another type. Using -1.0 removes one rank, thus a unit becoming veteran gets one rank removed and essentially ends as a rookie of the converted type, while a unit becoming elite gets one rank removed and essentially becomes a veteran of the converted type. -2.0 would make the latter a rookie, too.

[TechnoType]►Promote.VeteranExperience= (double)
A value added to the experience when a unit type is converted using Promote.VeteranType. Defaults to 0.0.
[TechnoType]►Promote.EliteExperience= (double)
A value added to the experience when a unit type is converted using Promote.EliteType. Defaults to 0.0.

New in version 2.0.

Via IsSimpleDeployer

Unit can simple-deploy into another type. Unlike in the original game the unit will be movable after deploying, opposed to being locked in place like the original Siege Chopper.

DeployingAnim is optional. If not present, units will convert types immediately, without turning their facing to DeployDir. See DeployDir.

Ares extends IsSimpleDeployer logic to allow deploying units not on the ground. Also, DeployToLand has been extended to also work on units using the Hover locomotor. If yes, units will land, also respecting DeployDir.

Because this conversion always happens with the unit being present on the map and guaranteed to be standing still, settings like Locomotor and Size can be changed within reasonable limits.

[TechnoType]►Convert.Deploy= (TechnoType)
The type a IsSimpleDeployer=yes unit deploys into. This converts the type after deploying completed, and after the optional DeployingAnim has finished playing. Defaults to none.

New in version 2.0.

When Transitioning Between Land and Water

The tag WaterImage allows to render a unit differently when it is on water, which was used on the GDI APC in Tiberian Sun. The following settings allow to change a unit’s type. This way, the unit could change image, weapons, armor and so on.

Note

Water and Land units should not define a conversion to their own type, like a water unit converting into an other water unit.

[TechnoType]►Convert.Water= (TechnoType)
The type to convert to when a unit moves onto a beach or water cell. Defaults to none.
[TechnoType]►Convert.Land= (TechnoType)
The type to convert to when a unit moves onto a cell that’s neither beach nor water. Defaults to none.

New in version 2.0.

Triggered by Team Script

This tag generalizes the relationship that existed since Tiberian Sun, where team members of the hardcoded UnitTypes [TRUCKA] and [TRUCKB] could be converted between each other by two Team Scripts. This gave the impression of cargo trucks loading or unloading, which was the only purpose of this logic and limited to exactly this combination of types.

Ares allows to define a type to convert to for each individual type. See Convert Type Team Script for how to trigger the conversion.

[TechnoType]►Convert.Script= (TechnoType)
The type to convert an object to when executing the Convert Type Team Script. Defaults to none.

Because the type changes immediately when the conversion is triggered, you cannot generally assume the units to be standing still, idling. Thus, changing locomotors is not supported, while changing other movement settings or weapons might not work reliably. It is possible to change type settings unrelated to moving and firing, though: Add the ability to deploy, remove the restriction to manually unload, change the image or the Death Weapon, ...

New in version 3.0.