Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static function X2AbilityTemplate PlasmaQuake()
- {
- local X2AbilityTemplate Template;
- local X2AbilityCost_ActionPoints ActionPointCost;
- local X2AbilityTarget_Cursor CursorTarget;
- local X2AbilityMultiTarget_Radius RadiusMultiTarget;
- local X2AbilityTrigger_PlayerInput InputTrigger;
- local X2AbilityCooldown Cooldown;
- local X2Effect_Knockback KnockbackEffect;
- local X2Effect_ApplyWeaponDamage DamageEffect;
- local X2Effect_ApplyFireToWorld FireToWorldEffect;
- local X2AbilityToHitCalc_StatCheck_UnitVsUnit StatContest;
- local X2Effect_Stunned StunnedEffect;
- `CREATE_X2ABILITY_TEMPLATE(Template, 'PlasmaQuake');
- Template.bDontDisplayInAbilitySummary = false;
- ActionPointCost = new class'X2AbilityCost_ActionPoints';
- ActionPointCost.iNumPoints = 1;
- ActionPointCost.bConsumeAllPoints = true;
- Template.AbilityCosts.AddItem(ActionPointCost);
- // This will be a stat contest
- StatContest = new class'X2AbilityToHitCalc_StatCheck_UnitVsUnit';
- StatContest.AttackerStat = eStat_Strength;
- Template.AbilityToHitCalc = StatContest;
- // Stunned effect for 3 or 4 unblocked hit
- StunnedEffect = class'X2StatusEffects'.static.CreateStunnedStatusEffect(2, 100, false);
- StunnedEffect.MinStatContestResult = 3;
- StunnedEffect.MaxStatContestResult = 4;
- StunnedEffect.MultiTargetStatContestInfo.MaxNumberAllowed = 1; // Max number of stunned units allowed from this ability
- StunnedEffect.bRemoveWhenSourceDies = false;
- Template.AddMultiTargetEffect(StunnedEffect);
- // damage effect
- DamageEffect = new class'X2Effect_ApplyWeaponDamage';
- DamageEffect.EffectDamageValue = default.PLASMA_QUAKE_DAMAGE;
- DamageEffect.bApplyWorldEffectsForEachTargetLocation = true;
- Template.AddMultiTargetEffect(DamageEffect);
- Template.AddMultiTargetEffect(class'X2StatusEffects'.static.CreateBurningStatusEffect(2, 1));
- FireToWorldEffect = new class'X2Effect_ApplyFireToWorld';
- Template.AddMultiTargetEffect(FireToWorldEffect);
- // knockback effect
- KnockbackEffect = new class'X2Effect_Knockback';
- KnockbackEffect.KnockbackDistance = 3;
- Template.AddMultiTargetEffect(KnockbackEffect);
- // Multi Targets
- Template.AbilityMultiTargetConditions.AddItem(default.LivingTargetUnitOnlyProperty);
- CursorTarget = new class'X2AbilityTarget_Cursor';
- Template.AbilityTargetStyle = CursorTarget;
- RadiusMultiTarget = new class'X2AbilityMultiTarget_Radius';
- RadiusMultiTarget.bUseWeaponRadius = false;
- RadiusMultiTarget.fTargetRadius = 6;
- RadiusMultiTarget.bExcludeSelfAsTargetIfWithinRadius = true;
- Template.AbilityMultiTargetStyle = RadiusMultiTarget;
- Template.TargetingMethod = class'X2TargetingMethod_PathTarget';
- // shooter conditions
- Template.AbilityShooterConditions.AddItem(default.LivingShooterProperty);
- // trigger
- InputTrigger = new class'X2AbilityTrigger_PlayerInput';
- Template.AbilityTriggers.AddItem(InputTrigger);
- Template.AbilitySourceName = 'eAbilitySource_Standard';
- Template.eAbilityIconBehaviorHUD = EAbilityIconBehavior_AlwaysShow;
- Template.IconImage = "img:///UILIB_Omega.UIPerk_PlasmaQuake";
- // Cooldown on the ability
- Cooldown = new class'X2AbilityCooldown';
- Cooldown.iNumTurns = 5;
- Template.AbilityCooldown = Cooldown;
- Template.bSkipMoveStop = true;
- Template.CustomFireAnim = 'FF_Quake';
- Template.CustomMovingFireAnim = 'MV_Quake';
- Template.CustomMovingTurnLeftFireAnim = 'MV_RunTun90LeftQuake';
- Template.CustomMovingTurnRightFireAnim = 'MV_RunTun90RightQuake';
- // This action is considered 'hostile' and can be interrupted!
- Template.Hostility = eHostility_Offensive;
- Template.BuildNewGameStateFn = TypicalMoveEndAbility_BuildGameState;
- Template.BuildInterruptGameStateFn = TypicalMoveEndAbility_BuildInterruptGameState;
- Template.BuildVisualizationFn = TypicalAbility_BuildVisualization;
- Template.CinescriptCameraType = "BerserkerQueen_Quake";
- Template.bShowActivation = true;
- Template.LostSpawnIncreasePerUse = class'X2AbilityTemplateManager'.default.HeavyWeaponLostSpawnIncreasePerUse;
- //BEGIN AUTOGENERATED CODE: Template Overrides 'Quake'
- Template.bFrameEvenWhenUnitIsHidden = true;
- //END AUTOGENERATED CODE: Template Overrides 'Quake'
- return Template;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement