OverrideEffectIconColor
Tracking Issue: #1509
Tags: events
The OverrideEffectIconColor event allows mods to override the background and foreground
colors of icons from X2Effect_Persistent set as ePerkBuff_Passive.
The "background" color is hexadecimal string for the color of the icon itself, and normally varies
depending on the AbilitySourceName property set on the X2Effect_Persistent
The "foreground" color is normally always black.
Default colors used by the game can be found in the UIUtilities_Colors class.
Listeners should use the Effect's AbilitySourceName provided in the EventData as a filter
to ensure maximum compatibility.
Performance note: this event gets triggered a lot, so try to avoid complex computations in listeners to reduce the performance hit.
OverrideEffectIconColor event
| Param | Value |
|---|---|
| EventID | OverrideEffectIconColor |
| EventData | XComLWTuple |
| EventSource | none |
| NewGameState | none |
Tuple contents
| Index | Name | Type | Direction |
|---|---|---|---|
| 0 | AbilitySourceName | name | in |
| 1 | BackgroundColor | string | out |
| 2 | ForegroundColor | string | out |
Listener template
static function EventListenerReturn OnOverrideEffectIconColor(Object EventData, Object EventSource, XComGameState GameState, Name EventID, Object CallbackObject)
{
local XComLWTuple Tuple;
local name AbilitySourceName;
local string BackgroundColor;
local string ForegroundColor;
Tuple = XComLWTuple(EventData);
AbilitySourceName = Tuple.Data[0].n;
// Your code here
Tuple.Data[1].s = BackgroundColor;
Tuple.Data[2].s = ForegroundColor;
return ELR_NoInterrupt;
}