Advertisement
Guest User

Domination thing broke

a guest
Sep 27th, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. static function X2AbilityTemplate ObeyTheSCP()
  2. {
  3.     local X2AbilityTemplate             Template;
  4.     local X2AbilityCost_ActionPoints    ActionPointCost;
  5.     local X2Condition_UnitProperty      UnitPropertyCondition;
  6.     local X2Effect_MindControl          MindControlEffect;
  7.     local X2Effect_StunRecover          StunRecoverEffect;
  8.     local X2Condition_UnitEffects       EffectCondition;
  9.     local X2AbilityCharges              Charges;
  10.     local X2AbilityCost_Charges         ChargeCost;
  11.     local X2AbilityCooldown             Cooldown;
  12.     local X2Condition_UnitImmunities    UnitImmunityCondition;
  13.     local X2AbilityToHitCalc_StatCheck_UnitVsUnit StatCheck;
  14.     local X2Condition_HackingTarget         HackingTargetCondition;
  15. //  local XComGameState_Unit TargetUnit, SourceUnit;
  16.    
  17.     // TargetUnit = XComGameState_Unit(kTarget);
  18.  
  19.     `CREATE_X2ABILITY_TEMPLATE(Template, 'ObeyTheSCP');
  20.  
  21.     Template.IconImage = "img:///UILibrary_PerkIcons.UIPerk_domination";
  22.     Template.AbilitySourceName = 'eAbilitySource_Perk';
  23.     Template.ShotHUDPriority = class'UIUtilities_Tactical'.const.CLASS_MAJOR_PRIORITY;
  24.     Template.Hostility = eHostility_Offensive;
  25.  
  26.     ActionPointCost = new class'X2AbilityCost_ActionPoints';
  27.     ActionPointCost.iNumPoints = 1;
  28.     ActionPointCost.bConsumeAllPoints = true;
  29.     Template.AbilityCosts.AddItem(ActionPointCost);
  30.  
  31.     Charges = new class'X2AbilityCharges';
  32.     Charges.InitialCharges = 0;
  33.     Template.AbilityCharges = Charges;
  34.  
  35.     ChargeCost = new class'X2AbilityCost_Charges';
  36.     ChargeCost.NumCharges = 0;
  37.     ChargeCost.bOnlyOnHit = true;
  38.     Template.AbilityCosts.AddItem(ChargeCost);
  39.  
  40.     Cooldown = new class'X2AbilityCooldown';
  41.     Cooldown.iNumTurns = 2;
  42.     Cooldown.bDoNotApplyOnHit = false;
  43.     Template.AbilityCooldown = Cooldown;
  44.    
  45.     //StatCheck = new class'X2AbilityToHitCalc_StatCheck_UnitVsUnit';
  46.     //StatCheck.BaseValue = 50;
  47.     Template.AbilityToHitCalc = Default.Deadeye;
  48.  
  49.     Template.AbilityShooterConditions.AddItem(default.LivingShooterProperty);
  50.     Template.AddShooterEffectExclusions();
  51.     Template.AbilityTargetConditions.AddItem(HackingTargetCondition);
  52.     HackingTargetCondition = new class'X2Condition_HackingTarget';
  53.  
  54.     //UnitPropertyCondition = new class'X2Condition_UnitProperty';
  55.     //UnitPropertyCondition.ExcludeDead = true;
  56.     //UnitPropertyCondition.ExcludeFriendlyToSource = true;
  57.     //UnitPropertyCondition.IsRobotic = true;
  58.     //UnitPropertyCondition.ExcludeNotRobotic = true;
  59.     //UnitPropertyCondition.IncludeWeakAgainstTechLikeRobot = true;
  60.     //UnitPropertyCondition.FailOnNonUnits = true;
  61.     //Template.AbilityTargetConditions.AddItem(UnitPropertyCondition); 
  62.     Template.AbilityTargetConditions.AddItem(default.GameplayVisibilityCondition);
  63.  
  64.     EffectCondition = new class'X2Condition_UnitEffects';
  65.     EffectCondition.AddExcludeEffect(class'X2Effect_MindControl'.default.EffectName, 'AA_UnitIsMindControlled');
  66.     Template.AbilityTargetConditions.AddItem(EffectCondition);
  67.  
  68.     //UnitImmunityCondition = new class'X2Condition_UnitImmunities';
  69.     //UnitImmunityCondition.AddExcludeDamageType('Mental');
  70.     //UnitImmunityCondition.bOnlyOnCharacterTemplate = true;
  71.     //Template.AbilityTargetConditions.AddItem(UnitImmunityCondition);
  72.  
  73.     //  mind control target
  74.     MindControlEffect = class'X2StatusEffects'.static.CreateMindControlStatusEffect(1, false, true);
  75.     Template.AddTargetEffect(MindControlEffect);
  76.  
  77.     StunRecoverEffect = class'X2StatusEffects'.static.CreateStunRecoverEffect();
  78.     Template.AddTargetEffect(StunRecoverEffect);
  79.  
  80.     Template.AddTargetEffect(class'X2StatusEffects'.static.CreateMindControlRemoveEffects());
  81.  
  82.     Template.AbilityTargetStyle = default.SimpleSingleTarget;
  83.     Template.AbilityTriggers.AddItem(default.PlayerInputTrigger);
  84.  
  85.     Template.ActivationSpeech = 'Domination';
  86.     Template.SourceMissSpeech = 'SoldierFailsControl';
  87.  
  88.     Template.CustomFireAnim = 'HL_Psi_MindControl';
  89.     Template.BuildNewGameStateFn = TypicalAbility_BuildGameState;
  90.     Template.BuildVisualizationFn = TypicalAbility_BuildVisualization;
  91.     Template.BuildInterruptGameStateFn = TypicalAbility_BuildInterruptGameState;
  92.     Template.CinescriptCameraType = "Psionic_FireAtUnit";
  93.  
  94.     Template.SuperConcealmentLoss = class'X2AbilityTemplateManager'.default.SuperConcealmentStandardShotLoss;
  95.     Template.ChosenActivationIncreasePerUse = class'X2AbilityTemplateManager'.default.StandardShotChosenActivationIncreasePerUse;
  96.     Template.LostSpawnIncreasePerUse = class'X2AbilityTemplateManager'.default.StandardShotLostSpawnIncreasePerUse;
  97. //BEGIN AUTOGENERATED CODE: Template Overrides 'Domination'
  98.     Template.bFrameEvenWhenUnitIsHidden = true;
  99.     Template.AbilityConfirmSound = "TacticalUI_ActivateAbility";
  100. //END AUTOGENERATED CODE: Template Overrides 'Domination'
  101.    
  102.     return Template;
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement