Advertisement
Guest User

Untitled

a guest
May 20th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class X2Effect_Slag extends X2Effect_Persistent;
  2.  
  3. var X2Effect_Burning BurnEffect;
  4.  
  5. function int GetAttackingDamageModifier(XComGameState_Effect EffectState, XComGameState_Unit Attacker, Damageable TargetDamageable, XComGameState_Ability AbilityState, const out EffectAppliedData AppliedData, const int CurrentDamage, optional XComGameState NewGameState)
  6. {
  7.     local XComGameStateContext_Ability  AbilityContext;
  8.     local XComGameState_Unit TargetUnit;
  9.     local XComGameState_Item SourceWeapon;
  10.     local PostEffectVisWrapper  Wrapper;
  11.  
  12.     if (NewGameState != none)
  13.     {
  14.         TargetUnit = XComGameState_Unit(TargetDamageable);
  15.         SourceWeapon = AbilityState.GetSourceWeapon();
  16.         AbilityContext = XComGameStateContext_Ability(NewGameState.GetContext());
  17.  
  18.         //if (`SYNC_RAND_STATIC(100) < default.SLAG_TRIGGER_CHANCE)
  19.  
  20.         //  we're shooting at a unit with a weapon from which the Slag effect originates from
  21.         if (TargetUnit != none && class'XComGameStateContext_Ability'.static.IsHitResultHit(AppliedData.AbilityResultContext.HitResult)
  22.             && SourceWeapon != none && SourceWeapon.ObjectID == EffectState.ApplyEffectParameters.ItemStateObjectRef.ObjectID)
  23.         {
  24.             TargetUnit = XComGameState_Unit(NewGameState.ModifyStateObject(class'XComGameState_Unit', TargetUnit.ObjectID));
  25.             if (BurnEffect.ApplyEffect(AppliedData, TargetUnit, NewGameState) == 'AA_Success')
  26.             {
  27.                 `log(`showvar(TargetUnit),, 'IRISINGE');
  28.                 `log(`showvar(TargetUnit.AffectedByEffectNames.Find('Burning')),, 'IRISINGE');
  29.  
  30.                 Wrapper = new class'PostEffectVisWrapper';
  31.                 Wrapper.Effect = BurnEffect;
  32.                 Wrapper.TargetRef = TargetUnit.GetReference();
  33.                 AbilityContext.PostBuildVisualizationFn.AddItem(Wrapper.BuildVisualization);
  34.             }
  35.         }
  36.     }
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement