New Enum Definitions - Andreas-W/GeneralsGameCode_Modding GitHub Wiki
New Enum Values
Weapon Slots
New weapon slots were added for 8 slots in total In addition to PRIMARY, SECONDARY, TERTIARY, you can use
WEAPON_FOUR
WEAPON_FIVE
WEAPON_SIX
WEAPON_SEVEN
WEAPON_EIGHT
For conditionstates (e.g. FIRING_A) you can use the letters D-H for the new types.
For Stealth forbidden conditions, you can use "FIRING_WEAPON_FOUR", etc.
For synced weapons (AutoChooseSources) you can use "SYNC_TO_WEAPON_FOUR", etc.
DamageTypes
Generic DamageTypes
(no special logic attached, can be used for any weapon)
SONIC
ACID
JET_BOMB
ANTI_TANK_GUN
ANTI_TANK_MISSILE
ANTI_AIR_GUN
ANTI_AIR_MISSILE
ARTILLERY
SEISMIC
RAD_BEAM
TESLA
Functional DamageTypes
CHRONO_GUN
- Disables units and removes them after a health treshold is reached. Uses parameters from GameData. TODO: detailed tutorial
DeathTypes
CHRONO
KindOfs
Functional KindOfs
These kindofs have some hardcoded functions attached to them and should not be used for general classification.
TELEPORTER
- Used with TeleportAIUpdate module. Required for pathfinding tweaks.
Generic KindOfs
New generic kindofs were added. These do not serve any internal purposes beyond classification. You can use them in various combinations for Required or Forbidden kindofs in various modules:
VTOL
LARGE_AIRCRAFT
MEDIUM_AIRCRAFT
SMALL_AIRCRAFT
ARTILLERY
HEAVY_ARTILLERY
ANTI_AIR
SCOUT
COMMANDO
HEAVY_INFANTRY
SUPERHEAVY_VEHICLE
EXTRA1
EXTRA2
EXTRA3
EXTRA4
EXTRA5
EXTRA6
EXTRA7
EXTRA8
EXTRA9
EXTRA10
EXTRA11
EXTRA12
EXTRA13
EXTRA14
EXTRA15
EXTRA16
Locomotor Sets
LOCOMOTORSET_VTOL
- This is used for VTOL aircraft for takeoff and landing. This should be a HOVER (=helicopter) locomotor, so a jet with WINGS locomotor can properly land and take off.
ArmorSetFlags
Added new ArmorSetFlags:
PLAYER_UPGRADE2
PLAYER_UPGRADE3
PLAYER_UPGRADE4
WeaponSetFlags
Added new WeaponSetFlags that can be manually used for upgrades:
PLAYER_UPGRADE2
PLAYER_UPGRADE3
PLAYER_UPGRADE4
(Note: There will be more in the future)
Added new WeaponSetFlags for specific conditions:
GARRISONED
- If a unit has a weaponset with this flag, it will be chosen when the unit is garrisoned inside a structureCONTAINED
- If a unit has a weaponset with this flag, it will be chosen when the unit is contained inside a transport
ConditionStates
For each new WeaponSetFlag there is a corresponding ConditionState
WEAPONSET_PLAYER_UPGRADE2
WEAPONSET_PLAYER_UPGRADE3
WEAPONSET_PLAYER_UPGRADE4
Conditionstates that are used for VTOL aircraft (i.e. JetAIUpdate with NeedsRunway = No)
TAKEOFF
LANDING
Conditionstate used for TeleporterAIUpdate
TELEPORT_RECOVER
WeaponBonus types
Added new WeaponBonus types for the following conditions:
CONTAINED
- this bonus is applied to passengers in TransportContain (similar to GARRISONED)
Bonus values can be defined in GameData.ini (no bonus by default). Example:
WeaponBonus = CONTAINED RANGE 125%
New Enum Types
TintStatus Types
TintStatus is used to define color tint effects for various game mechanics (e.g. Frenzy). Most entries are unused by default.
The colors for each type can be defined in in GameData.ini. The TintStatus types that are used in vanilla ZH have their default values hardcoded, but they can be overriden in GameData.ini.
Values:
DISABLED
- Used for Disabled unitsIRRADIATED
POISONED
GAINING_SUBDUAL_DAMAGE
- Used for units being disabledFRENZY
- Used for FrenzySHIELDED
DEMORALIZED
BOOST
EXTRA1
EXTRA2
EXTRA3
EXTRA4
EXTRA5
EXTRA6
EXTRA7
EXTRA8