AllowOnCovertActionCompleteAnalytics
Tracking Issue: #752
Tags: events
Allows mods to prevent CA completion from counting towards campaign stats.
This event is triggered from AnalyticsManager::OnCoverActionComplete and passes all
original listener arguments in the tuple.
AllowOnCovertActionCompleteAnalytics event
| Param | Value |
|---|---|
| EventID | AllowOnCovertActionCompleteAnalytics |
| EventData | XComLWTuple |
| EventSource | none |
| NewGameState | none |
Tuple contents
| Index | Name | Type | Direction |
|---|---|---|---|
| 0 | bAllow | bool | inout |
| 1 | OriginalEventData | Object | in |
| 2 | OriginalEventSource | Object | in |
| 3 | OriginalGameState | XComGameState | in |
| 4 | OriginalEvent | name | in |
| 5 | OriginalCallbackData | Object | in |
Listener template
static function EventListenerReturn OnAllowOnCovertActionCompleteAnalytics(Object EventData, Object EventSource, XComGameState GameState, Name EventID, Object CallbackObject)
{
local XComLWTuple Tuple;
local bool bAllow;
local Object OriginalEventData;
local Object OriginalEventSource;
local XComGameState OriginalGameState;
local name OriginalEvent;
local Object OriginalCallbackData;
Tuple = XComLWTuple(EventData);
bAllow = Tuple.Data[0].b;
OriginalEventData = Tuple.Data[1].o;
OriginalEventSource = Tuple.Data[2].o;
OriginalGameState = XComGameState(Tuple.Data[3].o);
OriginalEvent = Tuple.Data[4].n;
OriginalCallbackData = Tuple.Data[5].o;
// Your code here
Tuple.Data[0].b = bAllow;
return ELR_NoInterrupt;
}
Note 1: The OriginalEventSource should be the XComGameState_CovertAction that was
just completed, although the AnalyticsManager code does not validate that.
Note 2: you must subscribe with ELD_Immediate deferral to modify bAllow