Upgradeable traits are notified whenever an upgrade of their declared types are granted or revoked. The traits maintain their own internal level counter, which is then used to enable or disable the trait functionality. A trait can register for multiple upgrade types which then all affect the internal level counter. IDisabledTrait for identifying (and filtering) disabled traits UpgradableTrait provides an abstract base for traits to support upgrade levels Added IDisabledTrait support to GlobalButtonOrderGenerator Includes rework by pchote with alterations.
659 lines
11 KiB
YAML
659 lines
11 KiB
YAML
E1:
|
|
Inherits: ^Infantry
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 10
|
|
Owner: gdi,nod
|
|
Valued:
|
|
Cost: 120
|
|
Tooltip:
|
|
Name: Light Infantry
|
|
Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles
|
|
Selectable:
|
|
Bounds: 12,17,0,-9
|
|
Health:
|
|
HP: 125
|
|
Mobile:
|
|
Speed: 71
|
|
Armament@PRIMARY:
|
|
Weapon: Minigun
|
|
UpgradeTypes: eliteweapon
|
|
UpgradeMaxEnabledLevel: 0
|
|
UpgradeMaxAcceptedLevel: 1
|
|
Armament@ELITE:
|
|
Weapon: M1Carbine
|
|
UpgradeTypes: eliteweapon
|
|
UpgradeMinEnabledLevel: 1
|
|
AttackFrontal:
|
|
TakeCover:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
E2:
|
|
Inherits: ^Infantry
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 10
|
|
Owner: gdi
|
|
Valued:
|
|
Cost: 200
|
|
Tooltip:
|
|
Name: Disc Thrower
|
|
Description: Infantry armed with grenades. \n Strong vs Buildings, Infantry\n Weak vs Vehicles
|
|
Selectable:
|
|
Bounds: 12,17,0,-9
|
|
Health:
|
|
HP: 150
|
|
Mobile:
|
|
Speed: 56
|
|
Armament:
|
|
Weapon: Grenade
|
|
LocalOffset: 0,0,555
|
|
FireDelay: 5
|
|
AttackFrontal:
|
|
TakeCover:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
E3:
|
|
Inherits: ^Infantry
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 20
|
|
Owner: nod
|
|
Valued:
|
|
Cost: 250
|
|
Tooltip:
|
|
Name: Rocket Infantry
|
|
Description: Anti-tank infantry.\n Strong vs Tanks\n Weak vs Infantry
|
|
Selectable:
|
|
Bounds: 12,17,0,-9
|
|
Voice: Rocket
|
|
Health:
|
|
HP: 100
|
|
Mobile:
|
|
Speed: 42
|
|
Armament@PRIMARY:
|
|
Weapon: Bazooka
|
|
LocalOffset: 128,0,640
|
|
AttackFrontal:
|
|
TakeCover:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
WEEDGUY:
|
|
Inherits: ^Infantry
|
|
Valued:
|
|
Cost: 300
|
|
Tooltip:
|
|
Name: Chem Spray Infantry
|
|
Description: Advanced Anti-infantry unit.\n Strong vs Infantry\n Weak vs Vehicles
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 50
|
|
Prerequisites: nahand
|
|
Owner: gdi
|
|
Hothey: c
|
|
Selectable:
|
|
Bounds: 12,17,0,-6
|
|
Voice: Weed
|
|
Mobile:
|
|
Speed: 42
|
|
Health:
|
|
HP: 130
|
|
Crushable:
|
|
CrushSound: squishy2.aud
|
|
Armament:
|
|
Weapon: FireballLauncher
|
|
LocalOffset: 85,0,384
|
|
AttackFrontal:
|
|
RenderInfantry:
|
|
TakeCover:
|
|
|
|
MEDIC:
|
|
Inherits: ^Infantry
|
|
Valued:
|
|
Cost: 600
|
|
Tooltip:
|
|
Name: Medic
|
|
Description: Heals nearby infantry.\n Strong vs Nothing\n Weak vs Everything
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 60
|
|
Prerequisites: gapile
|
|
Owner: gdi
|
|
Selectable:
|
|
Bounds: 12,17,0,-6
|
|
Voice: Medic
|
|
Mobile:
|
|
Speed: 56
|
|
Health:
|
|
HP: 125
|
|
Crushable:
|
|
CrushSound: squishy2.aud
|
|
Armament:
|
|
Weapon: Heal
|
|
AttackFrontal:
|
|
TakeCover:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
AttackAnimation: heal
|
|
SelfHealing:
|
|
Passenger:
|
|
PipType: Red
|
|
|
|
ENGINEER:
|
|
Inherits: ^Infantry
|
|
Valued:
|
|
Cost: 500
|
|
Tooltip:
|
|
Name: Engineer
|
|
Description: Infiltrates and captures enemy structures.\n Strong vs Nothing\n Weak vs Everything
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 30
|
|
Prerequisites: barracks
|
|
Owner: gdi, nod
|
|
Selectable:
|
|
Bounds: 12,17,0,-6
|
|
Voice: Engineer
|
|
Mobile:
|
|
Speed: 56
|
|
Health:
|
|
HP: 500
|
|
Passenger:
|
|
PipType: Yellow
|
|
EngineerRepair:
|
|
RepairsBridges:
|
|
Captures:
|
|
CaptureTypes: building
|
|
-AutoTarget:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
TakeCover:
|
|
-GainsExperience:
|
|
|
|
UMAGON:
|
|
Inherits: ^Infantry
|
|
Valued:
|
|
Cost: 400
|
|
Tooltip:
|
|
Name: Umagon
|
|
Description: Elite sniper infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 50
|
|
Prerequisites: gapile, gatech
|
|
Owner: gdi
|
|
Selectable:
|
|
Bounds: 12,17,0,-6
|
|
Voice: Umagon
|
|
Mobile:
|
|
Speed: 71
|
|
Health:
|
|
HP: 150
|
|
PoisonedByTiberium:
|
|
Weapon: TiberiumHeal
|
|
Passenger:
|
|
RevealsShroud:
|
|
Range: 7c0
|
|
Armament:
|
|
Weapon: Sniper
|
|
AttackFrontal:
|
|
TakeCover:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
GHOST:
|
|
Inherits: ^Infantry
|
|
Valued:
|
|
Cost: 1750
|
|
Tooltip:
|
|
Name: Ghost Stalker
|
|
Description: Elite commando infantry, armed with \ndual pistols and C4.\n Strong vs Infantry, Buildings\n Weak vs Vehicles\n Special Ability: Destroy Building with C4\n\nMaximum 1 can be trained
|
|
BuildLimit: 1
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 50
|
|
Prerequisites: gapile, gatech
|
|
Owner: gdi
|
|
Selectable:
|
|
Bounds: 12,17,0,-6
|
|
Voice: Ghost
|
|
Mobile:
|
|
Speed: 56
|
|
Health:
|
|
HP: 200
|
|
PoisonedByTiberium:
|
|
Weapon: TiberiumHeal
|
|
Passenger:
|
|
RevealsShroud:
|
|
Range: 6c0
|
|
Armament:
|
|
Weapon: LtRail
|
|
LocalOffset: 85,0,384
|
|
Crushable:
|
|
CrushSound: squishy2.aud
|
|
AttackFrontal:
|
|
C4Demolition:
|
|
C4Delay: 45
|
|
TakeCover:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
JUMPJET:
|
|
Inherits: ^Infantry
|
|
Valued:
|
|
Cost: 600
|
|
Tooltip:
|
|
Name: Jumpjet Infantry
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 50
|
|
Prerequisites: gapile, garadr
|
|
Owner: gdi
|
|
Selectable:
|
|
Bounds: 12,17,0,-6
|
|
Voice: JumpJet
|
|
Mobile:
|
|
Speed: 56
|
|
Health:
|
|
HP: 120
|
|
Armor:
|
|
Type: Light
|
|
Passenger:
|
|
PipType: Green
|
|
RevealsShroud:
|
|
Range: 6c0
|
|
Armament:
|
|
Weapon: JumpCannon
|
|
-Crushable:
|
|
AttackFrontal:
|
|
TakeCover:
|
|
RenderInfantry:
|
|
|
|
CHAMSPY:
|
|
Inherits: ^Infantry
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 60
|
|
Prerequisites: nahand, natech
|
|
Owner: nod
|
|
Valued:
|
|
Cost: 700
|
|
DisguiseToolTip:
|
|
Name: Chameleon Spy
|
|
Description: Infiltrates enemy structures to gather \nintelligence. Exact effect depends on the \nbuilding infiltrated.\n Strong vs Nothing\n Weak vs Everything\n Special Ability: Disguised
|
|
Selectable:
|
|
Voice: Spy
|
|
Bounds: 12,17,0,-9
|
|
Health:
|
|
HP: 120
|
|
Mobile:
|
|
Speed: 85
|
|
RevealsShroud:
|
|
Range: 9c0
|
|
Passenger:
|
|
TakeCover:
|
|
Disguise:
|
|
Infiltrates:
|
|
Types: SpyInfiltrate
|
|
-AutoTarget:
|
|
-RenderInfantry:
|
|
RenderDisguise:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
CYBORG:
|
|
Inherits: ^Infantry
|
|
Armor:
|
|
Type: Light
|
|
Valued:
|
|
Cost: 650
|
|
Tooltip:
|
|
Name: Cyborg Infantry
|
|
Description: Cybernetic infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 50
|
|
Prerequisites: nahand
|
|
Owner: nod
|
|
-Crushable:
|
|
Selectable:
|
|
Bounds: 14,30,0,-7
|
|
Voice: Cyborg
|
|
Mobile:
|
|
Speed: 56
|
|
Health:
|
|
HP: 300
|
|
PoisonedByTiberium:
|
|
Weapon: TiberiumHeal
|
|
Passenger:
|
|
RevealsShroud:
|
|
Range: 5c0
|
|
Armament:
|
|
Weapon: Vulcan3
|
|
AttackFrontal:
|
|
TakeCover:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
CYC2:
|
|
Inherits: ^Infantry
|
|
Armor:
|
|
Type: Heavy
|
|
Valued:
|
|
Cost: 2000
|
|
Tooltip:
|
|
Name: Cyborg Commando
|
|
Description: Elite cybernetic infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 50
|
|
Prerequisites: nahand, natech
|
|
Owner: nod
|
|
-Crushable:
|
|
Selectable:
|
|
Bounds: 14,30,0,-7
|
|
Voice: CyborgCommando
|
|
Mobile:
|
|
Speed: 56
|
|
Health:
|
|
HP: 500
|
|
PoisonedByTiberium:
|
|
Weapon: TiberiumHeal
|
|
Passenger:
|
|
RevealsShroud:
|
|
Range: 7c0
|
|
Armament:
|
|
Weapon: CyCannon
|
|
LocalOffset: 170,85,683
|
|
AttackFrontal:
|
|
TakeCover:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
MUTANT:
|
|
Inherits: ^Infantry
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 10
|
|
Valued:
|
|
Cost: 100
|
|
Tooltip:
|
|
Name: Mutant
|
|
Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles
|
|
Selectable:
|
|
Bounds: 12,17,0,-9
|
|
Voice: Mutant
|
|
Health:
|
|
HP: 50
|
|
PoisonedByTiberium:
|
|
Weapon: TiberiumHeal
|
|
Mobile:
|
|
Speed: 56
|
|
RevealsShroud:
|
|
Range: 4c0
|
|
Armament:
|
|
Weapon: Vulcan
|
|
AttackFrontal:
|
|
TakeCover:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
MWMN:
|
|
Inherits: ^Infantry
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 10
|
|
Valued:
|
|
Cost: 100
|
|
Tooltip:
|
|
Name: Mutant Soldier
|
|
Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles
|
|
Selectable:
|
|
Bounds: 12,17,0,-9
|
|
Voice: CivilianFemale
|
|
Health:
|
|
HP: 50
|
|
PoisonedByTiberium:
|
|
Weapon: TiberiumHeal
|
|
Mobile:
|
|
Speed: 56
|
|
RevealsShroud:
|
|
Range: 4c0
|
|
Armament:
|
|
Weapon: Vulcan
|
|
AttackFrontal:
|
|
TakeCover:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
MUTANT3:
|
|
Inherits: ^Infantry
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 10
|
|
Valued:
|
|
Cost: 100
|
|
Tooltip:
|
|
Name: Mutant Sergeant
|
|
Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles
|
|
Selectable:
|
|
Bounds: 12,17,0,-9
|
|
Voice: Mutant
|
|
Health:
|
|
HP: 50
|
|
PoisonedByTiberium:
|
|
Weapon: TiberiumHeal
|
|
Mobile:
|
|
Speed: 56
|
|
RevealsShroud:
|
|
Range: 4c0
|
|
Armament:
|
|
Weapon: Vulcan
|
|
AttackFrontal:
|
|
TakeCover:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
MHIJACK:
|
|
Inherits: ^Infantry
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 10
|
|
Prerequisites: nahand, natech # natech must be natmpl
|
|
Owner: nod
|
|
Valued:
|
|
Cost: 100
|
|
Tooltip:
|
|
Name: Mutant Hijacker
|
|
Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles
|
|
Selectable:
|
|
Bounds: 12,17,0,-9
|
|
Voice: Hijacker
|
|
Health:
|
|
HP: 300
|
|
PoisonedByTiberium:
|
|
Weapon: TiberiumHeal
|
|
Mobile:
|
|
Speed: 99
|
|
RevealsShroud:
|
|
Range: 6c0
|
|
-AutoTarget:
|
|
TakeCover:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
TRATOS:
|
|
Inherits: ^Infantry
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 10
|
|
Valued:
|
|
Cost: 100
|
|
Tooltip:
|
|
Name: Tratos
|
|
Selectable:
|
|
Bounds: 12,17,0,-9
|
|
Voice: Tratos
|
|
Health:
|
|
HP: 200
|
|
PoisonedByTiberium:
|
|
Weapon: TiberiumHeal
|
|
Mobile:
|
|
Speed: 71
|
|
RevealsShroud:
|
|
Range: 4c0
|
|
TakeCover:
|
|
-AutoTarget:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
OXANNA:
|
|
Inherits: ^Infantry
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 10
|
|
Valued:
|
|
Cost: 100
|
|
Tooltip:
|
|
Name: Oxanna
|
|
Selectable:
|
|
Bounds: 12,17,0,-9
|
|
Voice: Oxanna
|
|
Health:
|
|
HP: 50
|
|
Mobile:
|
|
Speed: 56
|
|
RevealsShroud:
|
|
Range: 4c0
|
|
TakeCover:
|
|
-AutoTarget:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
SLAV:
|
|
Inherits: ^Infantry
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 10
|
|
Valued:
|
|
Cost: 100
|
|
Tooltip:
|
|
Name: Slavick
|
|
Selectable:
|
|
Bounds: 12,17,0,-9
|
|
Voice: Slavick
|
|
Health:
|
|
HP: 300
|
|
Mobile:
|
|
Speed: 56
|
|
RevealsShroud:
|
|
Range: 4c0
|
|
TakeCover:
|
|
-AutoTarget:
|
|
RenderInfantry:
|
|
IdleAnimations: idle1,idle2
|
|
|
|
DOGGIE:
|
|
Inherits: ^Infantry
|
|
Tooltip:
|
|
Name: Tiberian Fiend
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 100
|
|
Health:
|
|
Radius: 213
|
|
HP: 250
|
|
PoisonedByTiberium:
|
|
Weapon: TiberiumHeal
|
|
Valued:
|
|
Cost: 100
|
|
Armor:
|
|
Type: Light
|
|
RevealsShroud:
|
|
Range: 4c0
|
|
Mobile:
|
|
Speed: 113
|
|
Selectable:
|
|
Voice: Fiend
|
|
TargetableUnit:
|
|
TargetTypes: Ground
|
|
Armament:
|
|
Weapon: FiendShard
|
|
AttackFrontal:
|
|
AttackWander:
|
|
|
|
VISSML:
|
|
Inherits: ^Infantry
|
|
Tooltip:
|
|
Name: Baby Visceroid
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 100
|
|
Health:
|
|
HP: 200
|
|
PoisonedByTiberium:
|
|
Weapon: TiberiumHeal
|
|
Valued:
|
|
Cost: 1
|
|
Armor:
|
|
Type: Light
|
|
RevealsShroud:
|
|
Range: 0c0
|
|
Mobile:
|
|
Speed: 113
|
|
ROT: 16
|
|
-Crushable:
|
|
Selectable:
|
|
Voice: Fiend
|
|
TargetableUnit:
|
|
TargetTypes: Ground
|
|
-AutoTarget:
|
|
-RenderInfantry:
|
|
RenderUnit:
|
|
-WithDeathAnimation:
|
|
|
|
VISLRG:
|
|
Inherits: ^Infantry
|
|
Tooltip:
|
|
Name: Adult Visceroid
|
|
Buildable:
|
|
Queue: Infantry
|
|
BuildPaletteOrder: 100
|
|
Health:
|
|
HP: 500
|
|
PoisonedByTiberium:
|
|
Weapon: TiberiumHeal
|
|
Valued:
|
|
Cost: 1
|
|
Armor:
|
|
Type: Light
|
|
RevealsShroud:
|
|
Range: 0c0
|
|
Mobile:
|
|
Speed: 113
|
|
ROT: 16
|
|
-Crushable:
|
|
Selectable:
|
|
Voice: Fiend
|
|
TargetableUnit:
|
|
TargetTypes: Ground
|
|
Armament:
|
|
Weapon: SlimeAttack
|
|
AttackFrontal:
|
|
AttackWander:
|
|
-RenderInfantry:
|
|
RenderUnit:
|
|
-WithDeathAnimation:
|
|
|
|
CIV1:
|
|
Inherits: ^CivilianInfantry
|
|
|
|
CIV2:
|
|
Inherits: ^CivilianInfantry
|
|
|
|
CIV3:
|
|
Inherits: ^CivilianInfantry
|
|
|