Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static function X2AbilityTemplate ObeyTheSCP()
- {
- local X2AbilityTemplate Template;
- local X2AbilityCost_ActionPoints ActionPointCost;
- local X2Condition_UnitProperty UnitPropertyCondition;
- local X2Effect_MindControl MindControlEffect;
- local X2Effect_StunRecover StunRecoverEffect;
- local X2Condition_UnitEffects EffectCondition;
- local X2AbilityCharges Charges;
- local X2AbilityCost_Charges ChargeCost;
- local X2AbilityCooldown Cooldown;
- local X2Condition_UnitImmunities UnitImmunityCondition;
- local X2AbilityToHitCalc_StatCheck_UnitVsUnit StatCheck;
- local X2Condition_HackingTarget HackingTargetCondition;
- // local XComGameState_Unit TargetUnit, SourceUnit;
- // TargetUnit = XComGameState_Unit(kTarget);
- `CREATE_X2ABILITY_TEMPLATE(Template, 'ObeyTheSCP');
- Template.IconImage = "img:///UILibrary_PerkIcons.UIPerk_domination";
- Template.AbilitySourceName = 'eAbilitySource_Perk';
- Template.ShotHUDPriority = class'UIUtilities_Tactical'.const.CLASS_MAJOR_PRIORITY;
- Template.Hostility = eHostility_Offensive;
- ActionPointCost = new class'X2AbilityCost_ActionPoints';
- ActionPointCost.iNumPoints = 1;
- ActionPointCost.bConsumeAllPoints = true;
- Template.AbilityCosts.AddItem(ActionPointCost);
- Charges = new class'X2AbilityCharges';
- Charges.InitialCharges = 0;
- Template.AbilityCharges = Charges;
- ChargeCost = new class'X2AbilityCost_Charges';
- ChargeCost.NumCharges = 0;
- ChargeCost.bOnlyOnHit = true;
- Template.AbilityCosts.AddItem(ChargeCost);
- Cooldown = new class'X2AbilityCooldown';
- Cooldown.iNumTurns = 2;
- Cooldown.bDoNotApplyOnHit = false;
- Template.AbilityCooldown = Cooldown;
- //StatCheck = new class'X2AbilityToHitCalc_StatCheck_UnitVsUnit';
- //StatCheck.BaseValue = 50;
- Template.AbilityToHitCalc = Default.Deadeye;
- Template.AbilityShooterConditions.AddItem(default.LivingShooterProperty);
- Template.AddShooterEffectExclusions();
- Template.AbilityTargetConditions.AddItem(HackingTargetCondition);
- HackingTargetCondition = new class'X2Condition_HackingTarget';
- //UnitPropertyCondition = new class'X2Condition_UnitProperty';
- //UnitPropertyCondition.ExcludeDead = true;
- //UnitPropertyCondition.ExcludeFriendlyToSource = true;
- //UnitPropertyCondition.IsRobotic = true;
- //UnitPropertyCondition.ExcludeNotRobotic = true;
- //UnitPropertyCondition.IncludeWeakAgainstTechLikeRobot = true;
- //UnitPropertyCondition.FailOnNonUnits = true;
- //Template.AbilityTargetConditions.AddItem(UnitPropertyCondition);
- Template.AbilityTargetConditions.AddItem(default.GameplayVisibilityCondition);
- EffectCondition = new class'X2Condition_UnitEffects';
- EffectCondition.AddExcludeEffect(class'X2Effect_MindControl'.default.EffectName, 'AA_UnitIsMindControlled');
- Template.AbilityTargetConditions.AddItem(EffectCondition);
- //UnitImmunityCondition = new class'X2Condition_UnitImmunities';
- //UnitImmunityCondition.AddExcludeDamageType('Mental');
- //UnitImmunityCondition.bOnlyOnCharacterTemplate = true;
- //Template.AbilityTargetConditions.AddItem(UnitImmunityCondition);
- // mind control target
- MindControlEffect = class'X2StatusEffects'.static.CreateMindControlStatusEffect(1, false, true);
- Template.AddTargetEffect(MindControlEffect);
- StunRecoverEffect = class'X2StatusEffects'.static.CreateStunRecoverEffect();
- Template.AddTargetEffect(StunRecoverEffect);
- Template.AddTargetEffect(class'X2StatusEffects'.static.CreateMindControlRemoveEffects());
- Template.AbilityTargetStyle = default.SimpleSingleTarget;
- Template.AbilityTriggers.AddItem(default.PlayerInputTrigger);
- Template.ActivationSpeech = 'Domination';
- Template.SourceMissSpeech = 'SoldierFailsControl';
- Template.CustomFireAnim = 'HL_Psi_MindControl';
- Template.BuildNewGameStateFn = TypicalAbility_BuildGameState;
- Template.BuildVisualizationFn = TypicalAbility_BuildVisualization;
- Template.BuildInterruptGameStateFn = TypicalAbility_BuildInterruptGameState;
- Template.CinescriptCameraType = "Psionic_FireAtUnit";
- Template.SuperConcealmentLoss = class'X2AbilityTemplateManager'.default.SuperConcealmentStandardShotLoss;
- Template.ChosenActivationIncreasePerUse = class'X2AbilityTemplateManager'.default.StandardShotChosenActivationIncreasePerUse;
- Template.LostSpawnIncreasePerUse = class'X2AbilityTemplateManager'.default.StandardShotLostSpawnIncreasePerUse;
- //BEGIN AUTOGENERATED CODE: Template Overrides 'Domination'
- Template.bFrameEvenWhenUnitIsHidden = true;
- Template.AbilityConfirmSound = "TacticalUI_ActivateAbility";
- //END AUTOGENERATED CODE: Template Overrides 'Domination'
- return Template;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement