-
Notifications
You must be signed in to change notification settings - Fork 2
New Enum Definitions
New weapon slots were added for 8 slots in total In addition to PRIMARY, SECONDARY, TERTIARY, you can use
WEAPON_FOURWEAPON_FIVEWEAPON_SIXWEAPON_SEVENWEAPON_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.
(no special logic attached, can be used for any weapon)
SONICACIDJET_BOMBANTI_TANK_GUNANTI_TANK_MISSILEANTI_AIR_GUNANTI_AIR_MISSILEARTILLERYSEISMICRAD_BEAMTESLA
-
CHRONO_GUN- Disables units and removes them after a health treshold is reached. Uses parameters from GameData. TODO: detailed tutorial
CHRONO
These kindofs have some hardcoded functions attached to them and should not be used for general classification.
-
CAN_RETALIATE- required for DRONE units to bypass hardcoded cannot_retaliate behavior -
ENABLE_INFANTRY_LIGHTING- Enables infantry ambient lighting for non-infantry -
DISABLE_INFANTRY_LIGHTING- Disables infantry ambient lighting for infantry -
TELEPORTER- Used with TeleportAIUpdate module. Required for pathfinding tweaks. -
SHOW_PROGRESS_BAR- Allows the object to show progress bar above healthbar (used for EnergyShields) -
NO_ATTACK_WARNING- Suppresses the "under attack" EVA/radar alarm event when this object is attacked.
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:
-
NO_BATTLE_PLAN(note: this still needs to be added as invalidKindof) VTOLLARGE_AIRCRAFTMEDIUM_AIRCRAFTSMALL_AIRCRAFTARTILLERYHEAVY_ARTILLERYANTI_AIRSCOUTCOMMANDOHEAVY_INFANTRYSUPERHEAVY_VEHICLEEXTRA1EXTRA2EXTRA3EXTRA4EXTRA5EXTRA6EXTRA7EXTRA8EXTRA9EXTRA10EXTRA11EXTRA12EXTRA13EXTRA14EXTRA15EXTRA16
New radius cursor types were added, usable in RadiusCursorType = fields (Weapon/SpecialPower):
-
JUMPJET- used for Jumpjet-related abilities -
ATTACK_DAMAGE_AREA2,ATTACK_DAMAGE_AREA3,ATTACK_DAMAGE_AREA4- extra tiers alongside the vanillaATTACK_DAMAGE_AREA, for weapons/powers that need more than one distinctly-styled damage-area cursor.
-
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.
Added new ArmorSetFlags:
PLAYER_UPGRADE2PLAYER_UPGRADE3PLAYER_UPGRADE4
Added new WeaponSetFlags that can be manually used for upgrades:
PLAYER_UPGRADE2PLAYER_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 structure -
CONTAINED- If a unit has a weaponset with this flag, it will be chosen when the unit is contained inside a transport
For each new WeaponSetFlag there is a corresponding ConditionState
WEAPONSET_PLAYER_UPGRADE2WEAPONSET_PLAYER_UPGRADE3WEAPONSET_PLAYER_UPGRADE4
Conditionstates that are used for VTOL aircraft (i.e. JetAIUpdate with NeedsRunway = No)
TAKEOFFLANDING
Conditionstate used for TeleporterAIUpdate
TELEPORT_RECOVER
Added new WeaponBonus types for the following conditions:
-
CONTAINED- this bonus is applied to passengers in TransportContain (similar to GARRISONED) -
FRENZY_FOUR,FRENZY_FIVE- extra tiers above the vanilla FRENZY_ONE/TWO/THREE -
BOOST_ONE,BOOST_TWO,BOOST_THREE- generic "boost" bonus tiers, for use with theBuffTemplateWeaponBonusFlagModifier (see BuffSystem) -
DEMORALIZED_ONE,DEMORALIZED_TWO,DEMORALIZED_THREE- generic "demoralized" penalty tiers -
TARGET_PAINT_ONE,TARGET_PAINT_TWO,TARGET_PAINT_THREE- bonus applied to a target that has been "painted" (e.g. by a target designator) -
CRYO_ONE,CRYO_TWO,CRYO_THREE- generic "cryo/slow" penalty tiers (used e.g. by the Cryo Bomb buff example in BuffSystem) -
VETERANCY_FOUR,VETERANCY_FIVE- bonus tiers matching the newLEVEL_FOUR/LEVEL_FIVEveterancy ranks -
BATTLEPLAN_BOMBARDMENT_TWO,BATTLEPLAN_HOLDTHELINE_TWO,BATTLEPLAN_SEARCHANDDESTROY_TWO- second-tier battle plan bonuses -
EXTRA1...EXTRA8- free-to-use slots reserved for mods
Bonus values can be defined in GameData.ini (no bonus by default). Example:
WeaponBonus = CONTAINED RANGE 125%
Added two extra veterancy levels above HEROIC, for a total of 6 (REGULAR, VETERAN, ELITE, HEROIC, LEVEL_FOUR, LEVEL_FIVE).
LEVEL_FOURLEVEL_FIVE
Used by the object veterancy parameters (MaxVeterancyLevel, ExperienceRequired, ExperienceValue, SkillPointValue), the SetMaxVeterancyLevel upgrade, and the HealthBonus_Four / HealthBonus_Five GameData parameters.
Extended RiderChangeContain from 8 to 16 rider slots. Corresponding enums were added for the new slots (9-16):
- ArmorSetFlags:
RIDER9...RIDER16 - WeaponSetFlags:
RIDER9...RIDER16 - ModelConditions:
RIDER9...RIDER16 - ObjectStatus:
STATUS_RIDER9...STATUS_RIDER16
See RiderChangeContain.
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 units IRRADIATEDPOISONED-
GAINING_SUBDUAL_DAMAGE- Used for units being disabled -
FRENZY- Used for Frenzy SHIELDEDDEMORALIZEDBOOST-
TELEPORT_RECOVER- Chrono Legionnaire-style teleport recovery tint -
DISABLED_CHRONO- see GameData ChronoGun parameters -
GAINING_CHRONO_DAMAGE- see GameData ChronoGun parameters FORCE_FIELDIRON_CURTAINFROZENEXTRA1EXTRA2EXTRA3EXTRA4EXTRA5EXTRA6EXTRA7EXTRA8EXTRA9EXTRA10