Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class X2Effect_Slag extends X2Effect_Persistent;
- var X2Effect_Burning BurnEffect;
- function int GetAttackingDamageModifier(XComGameState_Effect EffectState, XComGameState_Unit Attacker, Damageable TargetDamageable, XComGameState_Ability AbilityState, const out EffectAppliedData AppliedData, const int CurrentDamage, optional XComGameState NewGameState)
- {
- local XComGameStateContext_Ability AbilityContext;
- local XComGameState_Unit TargetUnit;
- local XComGameState_Item SourceWeapon;
- local PostEffectVisWrapper Wrapper;
- if (NewGameState != none)
- {
- TargetUnit = XComGameState_Unit(TargetDamageable);
- SourceWeapon = AbilityState.GetSourceWeapon();
- AbilityContext = XComGameStateContext_Ability(NewGameState.GetContext());
- //if (`SYNC_RAND_STATIC(100) < default.SLAG_TRIGGER_CHANCE)
- // we're shooting at a unit with a weapon from which the Slag effect originates from
- if (TargetUnit != none && class'XComGameStateContext_Ability'.static.IsHitResultHit(AppliedData.AbilityResultContext.HitResult)
- && SourceWeapon != none && SourceWeapon.ObjectID == EffectState.ApplyEffectParameters.ItemStateObjectRef.ObjectID)
- {
- TargetUnit = XComGameState_Unit(NewGameState.ModifyStateObject(class'XComGameState_Unit', TargetUnit.ObjectID));
- if (BurnEffect.ApplyEffect(AppliedData, TargetUnit, NewGameState) == 'AA_Success')
- {
- `log(`showvar(TargetUnit),, 'IRISINGE');
- `log(`showvar(TargetUnit.AffectedByEffectNames.Find('Burning')),, 'IRISINGE');
- Wrapper = new class'PostEffectVisWrapper';
- Wrapper.Effect = BurnEffect;
- Wrapper.TargetRef = TargetUnit.GetReference();
- AbilityContext.PostBuildVisualizationFn.AddItem(Wrapper.BuildVisualization);
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement