GameData - Andreas-W/GeneralsGameCode_Modding GitHub Wiki

GameData.ini

Diagonal Movement Speed Fix

All units now move with the same speed in all directions. In vanilla ZH, diagonal movement was faster.

Vanilla behavior can be restored with this parameter:

  • UseVanillaDiagonalMoveSpeed = Yes - (Default = No)

Color Tint (TintStatus) definitions

Colors for tint effects (E.g. frenzy) can be defined here. You can define multiple entries for different types.

  • TintStatus = <TintStatusType> <Tint Color> <Tint Color (Infantry)> <Fade in Frames> <Fade out Frames>

Example:

  • TintStatus = SHIELDED R:-0.1 G:-0.2 B:-0.2 R:-0.1 G:-0.2 B:-0.2 30 30

Notes:

  • Colors are defined separately for Infantry. Due to different shading it might be needed to finetune values for infantry.
  • Color are defined as decimal number (ranging from -1.0 to 1.0). Values > 1 will brighten the color, values < 1 will darken it.
  • Fade in/out frames define how long transition takes when applying or removing a color tint.

You can find a list of TintStatus types here.

ChronoGun parameters

These parameters configure behavior of CHRONO_GUN damage type, designed to replicate RA2 Chrono Legionnaire logic.

Tint Colors:

  • TintStatus = DISABLED_CHRONO R:-0.5 G:-0.5 B:2.0 R:-0.5 G:-0.5 B:2.0 10 10 ; Used when a target is currently being disabled/removed

  • TintStatus = GAINING_CHRONO_DAMAGE R:0.5 G:0.5 B:1.5 R:0.5 G:0.5 B:1.5 30 60 ; Used when a target is starting to get disabled/removed

  • ChronoDamageDisableThreshold = 10% ; CHRONO_GUN damage must reach this threshold of the unit's maxHP to disable it

  • ChronoDamageHealRate = 500 ; Interval (in ms) in which units recover from CHRONO_DAMAGE after not getting damaged

  • ChronoDamageHealAmountPercent = 10% ; "Chrono Health" in percent recovered per interval

  • ChronoDamageOpacityStart = 75% ; Visual opacity of the unit when it starts to be disabled by CHRONO_GUN damage

  • ChronoDamageOpacityEnd = 25% ; Visual opacity when the unit reaches critical CHRONO_GUN damage

  • ChronoDamageParticleSystemLarge = ChronoSparksLarge ; ParticleSystem applied to STRUCTURES. (BOX volume scales to unit geometry)

  • ChronoDamageParticleSystemMedium = ChronoSparksMedium ; ParticleSystem applied to everyting else. (BOX volume scales to unit geometry)

  • ChronoDamageParticleSystemSmall = ChronoSparksSmall ; ParticleSystem applied to INFANTRY. (BOX volume scales to unit geometry)

Default Excluded Death types

Example:

  • DefaultExcludedDeathTypes = CHRONO

This means the listed death types will be excluded from any Death module that uses "ALL -XXX" notation. It can be explicitly added by using "+" notation, e.g. "ALL +CHRONO". This can be used to define global exceptions without having to edit every existing death module.

MiscAudio.ini

The following new entries in MiscAudio.ini are available

*ChronoDisabledSoundAmbient = <AudioEvent> - (looping) audio to play when an object is being removed/disabled by a CHRONO_GUN

⚠️ **GitHub.com Fallback** ⚠️