Upgrades
Flag
Flag: | Upgrades |
File(s): | rules(md).ini |
Values: | Integer |
Special Values: | None |
Default: | 0 |
Applicable to: | BuildingTypes |
This flag specifies the max amount of upgrades this BuildingType can accept. See the tutorial section for more upgrade coding.
Tutorial
If you have ever played Tiberian Sun, you surely remember the upgrade system that GDI had. If you haven't, well, upgrades are buildings placed on top of other buildings that provide things like extra power or different weapons. This effect is fully recreateable in RA2/YR.
; Rules(md).ini [PARENT_BUILDING] Upgrades=3 ;how many upgrade slots does this building have? [UPGRADE_BUILDING] PowersUpBuilding=parent_building ;which building can be upgraded by this upgrade? Takes one building and one building only. PowersUpToLevel=-1 ;-1 means "take first available slot", whereas positive values specify the exact slot# to use. ; Art(md).ini [PARENT_BUILDING] PowerUp#Anim= ;The animation to add to this building when powered up by one level PowerUp#AnimDamaged= ;Damaged version of the animation to add to this building when powered up by one level PowerUp#LocX= ;The x offset from the buildings draw position for this powerup animation PowerUp#LocY= ;The x offset from the buildings draw position for this powerup animation PowerUp#LocZ= ;Adjustment to normal Z when rendering this animation. This could be used to make the animation appear behind the building. PowerUp#YSort= ;Amount to add to anims sorting position so that it renders in the correct order relative to other objects
Where # references a specific upgrade slot (numbered from 1 to rules(md).ini -> [PARENT] -> Upgrades= ). If the PowerUp#Anim(Damaged) is not specified, it will simply use [UPGRADE]Image= animation. The PowerUp#Anim(Damaged) should be omitted, because specifying the Image= on the upgrade itself is the correct way to do this. If the Location is unspecified (can be done on all 1x1 structures), (0,0,0) will be used.
Known upgrade problems:
- Upgrades can not act as Radars or Spy Satellites.
- Upgrades can not add/override the (Un)DeploysInto= on their parent building.
- Upgrades can not have two different weapons (both Primary= and Secondary= must point to the same weapon, if your upgrade is to provide it). If you set them to be two different weapons, they will fire only if both weapons can hit the target.