ModifyProjectileEnvironmentDamage
Tracking Issue: #1547
Tags: events
This event allows to modify the environmental damage a projectile event will deal to XComTileFracLevelActor actors, which are walls/floors that will fracture in chunks
If OverrideDamage is true, damage will be overridden by DamageAmount, if OverrideDamage is false, then DamageAmount will be added to the damage
ModifyProjectileEnvironmentDamage event
| Param | Value |
|---|---|
| EventID | ModifyProjectileEnvironmentDamage |
| EventData | XComLWTuple |
| EventSource | none |
| NewGameState | yes |
Tuple contents
| Index | Name | Type | Direction |
|---|---|---|---|
| 0 | OverrideDamage | bool | inout |
| 1 | DamageAmount | int | inout |
| 2 | AbilityStateObject | XComGameState_Ability | in |
Listener template
static function EventListenerReturn OnModifyProjectileEnvironmentDamage(Object EventData, Object EventSource, XComGameState GameState, Name EventID, Object CallbackObject)
{
local XComLWTuple Tuple;
local bool OverrideDamage;
local int DamageAmount;
local XComGameState_Ability AbilityStateObject;
Tuple = XComLWTuple(EventData);
OverrideDamage = Tuple.Data[0].b;
DamageAmount = Tuple.Data[1].i;
AbilityStateObject = XComGameState_Ability(Tuple.Data[2].o);
// Your code here
Tuple.Data[0].b = OverrideDamage;
Tuple.Data[1].i = DamageAmount;
return ELR_NoInterrupt;
}