Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class X2Effect_Slag extends X2Effect_Persistent;
- 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;
- local EffectAppliedData EffectData;
- local X2Effect_IRI_Burning BurnEffect;
- 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(none, TargetUnit.ObjectID));
- //BurnEffect = X2Effect_Burning(class'XComEngine'.static.GetClassDefaultObject(class'X2Effect_IRI_Burning'));
- BurnEffect = X2Effect_IRI_Burning(class'X2Effect_IRI_Burning'.static.StaticGet());
- EffectData = AppliedData;
- EffectData.EffectRef.LookupType = TELT_PersistantEffect;
- EffectData.EffectRef.SourceTemplateName = class'X2Effect_IRI_Burning'.Name;
- if (BurnEffect.ApplyEffect(EffectData, 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