SHARE
TWEET

Bountygiver Example 1

a guest Oct 21st, 2019 106 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class X2Ability_WOTC_APA_AssaultAbilitySet extends X2Ability_WOTC_APA_Utilities config(WOTC_APA_AssaultSkills);
  2.  
  3. // CQB Dominance Proficiency Level Variables
  4. var config float            CQB_DOMINANCE_I_BASE_RADIUS;
  5. var config float            CQB_DOMINANCE_II_BONUS_RADIUS;
  6. var config float            CQB_DOMINANCE_III_BONUS_RADIUS;
  7. var config float            CQB_DOMINANCE_BULLPUP_BONUS_RADIUS;
  8.  
  9.  
  10. var config int              CQB_DOMINANCE_I_STAT_BONUS;
  11. var config int              CQB_DOMINANCE_II_STAT_BONUS;
  12. var config int              CQB_DOMINANCE_III_STAT_BONUS;
  13.  
  14. var name                    CQB_DOMINANCE_RADIUS_NAME;
  15.  
  16. var localized string        strCQBDominance1Name;
  17. var localized string        strCQBDominance1Desc;
  18. var localized string        strCQBDominance2Name;
  19. var localized string        strCQBDominance2Desc;
  20. var localized string        strCQBDominance3Name;
  21. var localized string        strCQBDominance3Desc;
  22. var localized string        strCQBDominanceRadius;
  23.  
  24. // Ability Variables
  25. var config int              RUN_AND_GUN_BASE_COOLDOWN;
  26. var name                    RUN_AND_GUN_COOLDOWN_NAME;
  27. var config int              RUN_AND_GUN_LIGHT_WEAPON_COOLDOWN_REDUCTION;
  28. var config array<name>      RUN_AND_GUN_LIGHT_PRIMARY_WEAPONS;
  29. var config array<name>      RUN_AND_GUN_LIGHT_SECONDARY_WEAPONS;
  30.  
  31. var localized string        strRunAndGunMobilityName;
  32. var localized string        strRunAndGunMobilityDesc;
  33. var localized string        strRunAndGunMobilityIcon;
  34. var localized string        strRunAndGunArmorName;
  35. var localized string        strRunAndGunArmorDesc;
  36. var localized string        strRunAndGunArmorIcon;
  37. var localized string        strRunAndGunDamageName;
  38. var localized string        strRunAndGunDamageDesc;
  39. var localized string        strRunAndGunDamageIcon;
  40. var localized string        strRunAndGunActionName;
  41. var localized string        strRunAndGunActionDesc;
  42. var localized string        strRunAndGunActionIcon;
  43.  
  44.  
  45. var config float            PREP_FOR_ENTRY_RANGE_MULTIPLIER;
  46. var config int              PREP_FOR_ENTRY_COOLDOWN;
  47. var config int              ZONE_CONTROL_AIM_PENALTY;
  48. var config int              ZONE_CONTROL_MOBILITY_PENALTY;
  49. var config int              HONED_EDGE_BONUS_AIM;
  50. var config int              HONED_EDGE_BONUS_CRIT;
  51. var config float            LARGE_PARTIAL_MOVE_MOBILITY_MULTIPLIER;
  52. var config float            SMALL_PARTIAL_MOVE_MOBILITY_MULTIPLIER;
  53. var config int              DEEP_RESERVES_COOLDOWN_MODIFIER;
  54. var config int              DEEP_RESERVES_MOBILITY_BONUS;
  55. var config int              LIGHTNING_REFLEXES_REACTION_FIRE_DEFENSE;
  56. var config int              BATTERING_RAM_ARMOR_BONUS;
  57. var config int              BATTERING_RAM_CONDITIONAL_ARMOR_BONUS;
  58. var config int              SHOCK_AND_MAUL_DAMAGE_BONUS;
  59. var config int              SHOCK_AND_MAUL_CONDITIONAL_DAMAGE_BONUS;
  60. var config int              KILLER_INSTINCT_DAMAGE_BONUS;
  61. var config float            KILLER_INSTINCT_CRITICAL_DAMAGE_MULTIPLIER;
  62. var config int              RUTHLESS_DAMAGE_BONUS;
  63. var config int              RUTHLESS_CRIT_CHANCE;
  64. var config int              CONCUSSION_GRENADES_CHARGE_BONUS;
  65. var config array<name>      CONCUSSION_GRENADES_CHARGE_GRENADE_TYPES;
  66. var config int              NON_MOVE_ACTION_ACTIVATION_LIMIT;
  67.  
  68. var name                    SLIP_INTO_POSITION_BONUS_NAME;
  69. var config float            SLIP_INTO_POSITION_DETECTION_RANGE_BONUS_1;
  70. var config float            SLIP_INTO_POSITION_DETECTION_RANGE_BONUS_2;
  71. var config int              EVASIVE_DODGE_BONUS_PER_TILE;
  72. var config int              EVASIVE_DODGE_BONUS_TILE_CAP;
  73.  
  74.  
  75. static function array<X2DataTemplate> CreateTemplates()
  76. {
  77.     local array<X2DataTemplate> Templates;
  78.  
  79.     /**/`Log("WOTC_APA_Assault - Begin Adding Templates");
  80.  
  81.     Templates.AddItem(WOTC_APA_CQBDominance());
  82.     /*»»»*/  Templates.AddItem(WOTC_APA_CQBDominanceBullpupBonus());
  83.     /*»»»*/  Templates.AddItem(WOTC_APA_CQBDominanceShowRange());
  84.     Templates.AddItem(WOTC_APA_RunAndGun());
  85.     /*»»»*/  Templates.AddItem(WOTC_APA_RunAndGunActive());
  86.     Templates.AddItem(WOTC_APA_SwordSlice());
  87.  
  88.     Templates.AddItem(WOTC_APA_PrepForEntry());
  89.     Templates.AddItem(WOTC_APA_ZoneOfControl());
  90.     Templates.AddItem(WOTC_APA_HonedEdge());
  91.  
  92.     Templates.AddItem(WOTC_APA_BreachingManeuver());
  93.     Templates.AddItem(WOTC_APA_DeepReserves());
  94.     Templates.AddItem(WOTC_APA_Breakthrough());
  95.     /*»»»*/  Templates.AddItem(WOTC_APA_LargePartialMovementActionMobilityPenalty());
  96.     /*»»»*/  Templates.AddItem(WOTC_APA_SmallPartialMovementActionMobilityPenalty());
  97.  
  98.     Templates.AddItem(WOTC_APA_LightningReflexes());
  99.     Templates.AddItem(WOTC_APA_BatteringRam());
  100.     // Combatives:          LW2 Secondaries Ability
  101.  
  102.     Templates.AddItem(WOTC_APA_ShockAndMaul());
  103.     Templates.AddItem(WOTC_APA_KillerInstinct());
  104.     Templates.AddItem(WOTC_APA_Ruthless());
  105.  
  106.     Templates.AddItem(WOTC_APA_ConcussionGrenades());
  107.     Templates.AddItem(WOTC_APA_ZoneDefense());
  108.     /*»»»*/  Templates.AddItem(WOTC_APA_ZoneDefenseTrigger());
  109.     /*»»»*/  Templates.AddItem(WOTC_APA_ZoneDefenseAttack());
  110.     // Untouchable:         Base-game Ability
  111.    
  112.     Templates.AddItem(WOTC_APA_SweepAndClear());
  113.     Templates.AddItem(WOTC_APA_RovingWarrior());
  114.     Templates.AddItem(WOTC_APA_Relentless());
  115.  
  116.     Templates.AddItem(WOTC_APA_TakeCover());
  117.     /*»»»*/  Templates.AddItem(WOTC_APA_TakeCoverEVOverride());
  118.     Templates.AddItem(WOTC_APA_SlipIntoPosition());
  119.     Templates.AddItem(WOTC_APA_Evasive());
  120.    
  121.     /**/`Log("WOTC_APA_Assault - Finished Adding Templates");
  122.  
  123.     return Templates;
  124. }
  125.  
  126.  
  127. // CQB Dominance - Base Class Proficiency Ability
  128. static function X2AbilityTemplate WOTC_APA_CQBDominance()
  129. {
  130.    
  131.     local X2AbilityTemplate                                     Template;
  132.     local X2Condition_WOTC_APA_Class_TargetRankRequirement      RankCondition1, RankCondition2, RankCondition3;
  133.     local X2Effect_SetUnitValue                                 SetUnitValue1, SetUnitValue2, SetUnitValue3;
  134.     local X2Effect_WOTC_APA_CQBDominance                        StatBoost1, StatBoost2, StatBoost3;
  135.    
  136.    
  137.     `CREATE_X2ABILITY_TEMPLATE(Template, 'WOTC_APA_CQBDominance');
  138.     Template.IconImage = "img:///UILibrary_WOTC_APA_Class_Pack.perk_CQBDominance";
  139.     Template.AbilitySourceName = 'eAbilitySource_Perk';
  140.     Template.eAbilityIconBehaviorHUD = EAbilityIconBehavior_NeverShow;
  141.     Template.Hostility = eHostility_Neutral;
  142.     Template.AbilityToHitCalc = default.DeadEye;
  143.     Template.AbilityTargetStyle = default.SelfTarget;
  144.     Template.AbilityTriggers.AddItem(default.UnitPostBeginPlayTrigger);
  145.     Template.AdditionalAbilities.AddItem('WOTC_APA_RunAndGun');
  146.     Template.bCrossClassEligible = false;
  147.    
  148.    
  149.     // Establish Rank conditions for each Proficiency Level effect:
  150.     RankCondition1 = new class 'X2Condition_WOTC_APA_Class_TargetRankRequirement';
  151.     RankCondition1.iMinRank = -1;   // No minimum rank for level 1 bonuses
  152.     RankCondition1.iMaxRank = 2;    // Max rank is 1 below minimum rank for level 2 bonuses
  153.     RankCondition1.LogEffectName = "CQB Dominance 1";   // EffectName to use in logs
  154.     RankCondition1.ExcludeProject = 'WOTC_APA_AssaultUnlock1';
  155.  
  156.     RankCondition2 = new class 'X2Condition_WOTC_APA_Class_TargetRankRequirement';
  157.     RankCondition2.iMinRank = 3;
  158.     RankCondition2.iMaxRank = 5;
  159.     RankCondition2.LogEffectName = "CQB Dominance 2";
  160.     RankCondition2.ExcludeProject = 'WOTC_APA_AssaultUnlock2';
  161.     RankCondition2.GiveProject = 'WOTC_APA_AssaultUnlock1';
  162.    
  163.     RankCondition3 = new class 'X2Condition_WOTC_APA_Class_TargetRankRequirement';
  164.     RankCondition3.iMinRank = 6;
  165.     RankCondition3.iMaxRank = -1;   // No max rank for level 3 bonuses
  166.     RankCondition3.LogEffectName = "CQB Dominance 3";
  167.     RankCondition3.GiveProject = 'WOTC_APA_AssaultUnlock2';
  168.    
  169.  
  170.     // Set CQB Range according to rank conditions
  171.     SetUnitValue1 = new class'X2Effect_SetUnitValue';
  172.     SetUnitValue1.UnitName = default.CQB_DOMINANCE_RADIUS_NAME;
  173.     SetUnitValue1.NewValueToSet = default.CQB_DOMINANCE_I_BASE_RADIUS;
  174.     SetUnitValue1.CleanupType = eCleanup_BeginTactical;
  175.     SetUnitValue1.TargetConditions.AddItem(RankCondition1);
  176.     Template.AddTargetEffect(SetUnitValue1);
  177.  
  178.     SetUnitValue2 = new class'X2Effect_SetUnitValue';
  179.     SetUnitValue2.UnitName = default.CQB_DOMINANCE_RADIUS_NAME;
  180.     SetUnitValue2.NewValueToSet = default.CQB_DOMINANCE_I_BASE_RADIUS + default.CQB_DOMINANCE_II_BONUS_RADIUS;
  181.     SetUnitValue2.CleanupType = eCleanup_BeginTactical;
  182.     SetUnitValue2.TargetConditions.AddItem(RankCondition2);
  183.     Template.AddTargetEffect(SetUnitValue2);
  184.  
  185.     SetUnitValue3 = new class'X2Effect_SetUnitValue';
  186.     SetUnitValue3.UnitName = default.CQB_DOMINANCE_RADIUS_NAME;
  187.     SetUnitValue3.NewValueToSet = default.CQB_DOMINANCE_I_BASE_RADIUS + default.CQB_DOMINANCE_II_BONUS_RADIUS + default.CQB_DOMINANCE_III_BONUS_RADIUS;
  188.     SetUnitValue3.CleanupType = eCleanup_BeginTactical;
  189.     SetUnitValue3.TargetConditions.AddItem(RankCondition3);
  190.     Template.AddTargetEffect(SetUnitValue3);
  191.  
  192.  
  193.     // Add the stat bonuses within CQB Range and setup the passive icons for each rank
  194.     StatBoost1 = new class'X2Effect_WOTC_APA_CQBDominance';
  195.     StatBoost1.BonusAmount = default.CQB_DOMINANCE_I_STAT_BONUS;
  196.     StatBoost1.BuildPersistentEffect (1, true, false, false);
  197.     StatBoost1.SetDisplayInfo(ePerkBuff_Passive, default.strCQBDominance1Name, default.strCQBDominance1Desc, "img:///UILibrary_WOTC_APA_Class_Pack.perk_CQBDominance1", true,, Template.AbilitySourceName);
  198.     StatBoost1.TargetConditions.AddItem(RankCondition1);
  199.     Template.AddTargetEffect(StatBoost1);
  200.  
  201.     StatBoost2 = new class'X2Effect_WOTC_APA_CQBDominance';
  202.     StatBoost2.BonusAmount = default.CQB_DOMINANCE_I_STAT_BONUS + default.CQB_DOMINANCE_II_STAT_BONUS;
  203.     StatBoost2.BuildPersistentEffect (1, true, false, false);
  204.     StatBoost2.SetDisplayInfo(ePerkBuff_Passive, default.strCQBDominance2Name, default.strCQBDominance2Desc, "img:///UILibrary_WOTC_APA_Class_Pack.perk_CQBDominance2", true,, Template.AbilitySourceName);
  205.     StatBoost2.TargetConditions.AddItem(RankCondition2);
  206.     Template.AddTargetEffect(StatBoost2);
  207.  
  208.     StatBoost3 = new class'X2Effect_WOTC_APA_CQBDominance';
  209.     StatBoost3.BonusAmount = default.CQB_DOMINANCE_I_STAT_BONUS + default.CQB_DOMINANCE_II_STAT_BONUS + default.CQB_DOMINANCE_III_STAT_BONUS;
  210.     StatBoost3.BuildPersistentEffect (1, true, false, false);
  211.     StatBoost3.SetDisplayInfo(ePerkBuff_Passive, default.strCQBDominance3Name, default.strCQBDominance3Desc, "img:///UILibrary_WOTC_APA_Class_Pack.perk_CQBDominance3", true,, Template.AbilitySourceName);
  212.     StatBoost3.TargetConditions.AddItem(RankCondition3);
  213.     Template.AddTargetEffect(StatBoost3);
  214.  
  215.  
  216.     Template.AdditionalAbilities.AddItem('WOTC_APA_CQBDominanceBullpupBonus');
  217.     //Template.AdditionalAbilities.AddItem('WOTC_APA_CQBDominanceShowRange');
  218.  
  219.  
  220.     Template.BuildNewGameStateFn = TypicalAbility_BuildGameState;
  221.     return Template;
  222. }
  223.  
  224. // CQB Dominance - Bullpup Bonus Radius: CQB Dominance radius is increased by [default: +3] tiles when equipping the Bullpup
  225. static function X2AbilityTemplate WOTC_APA_CQBDominanceBullpupBonus()
  226. {
  227.  
  228.     local X2AbilityTemplate                                     Template;
  229.     local X2Condition_WOTC_APA_Class_ValidWeaponCategory        WeaponCondition;
  230.     local X2Effect_IncrementUnitValue                           IncrementUnitValue;
  231.    
  232.  
  233.     Template = CreatePassiveAbility('WOTC_APA_CQBDominanceBullpupBonus', "img:///UILibrary_WOTC_APA_Class_Pack.perk_CQBDominance", 'WOTC_APA_CQBDominanceBullpupBonus_Icon', false);
  234.  
  235.  
  236.     // Require a bullpup to grant the bonus
  237.     WeaponCondition = new class'X2Condition_WOTC_APA_Class_ValidWeaponCategory';
  238.     WeaponCondition.AllowedWeaponCategories.AddItem('bullpup');
  239.     WeaponCondition.bCheckSpecificSlot = true;
  240.     WeaponCondition.SpecificSlot = eInvSlot_PrimaryWeapon;
  241.  
  242.  
  243.     IncrementUnitValue = new class'X2Effect_IncrementUnitValue';
  244.     IncrementUnitValue.UnitName = default.CQB_DOMINANCE_RADIUS_NAME;
  245.     IncrementUnitValue.NewValueToSet = default.CQB_DOMINANCE_BULLPUP_BONUS_RADIUS;
  246.     IncrementUnitValue.CleanupType = eCleanup_BeginTactical;
  247.     IncrementUnitValue.TargetConditions.AddItem(WeaponCondition);
  248.     Template.AddTargetEffect(IncrementUnitValue);
  249.  
  250.  
  251.     return Template;
  252. }
  253.  
  254. // CQB Dominance - Show Range: Active ability the does nothing, but will show the
  255. static function X2AbilityTemplate WOTC_APA_CQBDominanceShowRange()
  256. {
  257.  
  258.     local X2AbilityTemplate                                     Template;
  259.     local X2AbilityCost_ActionPoints                            ActionPointCost;
  260.     local X2AbilityMultiTarget_WOTC_APA_CQBRadius               RadiusMultiTarget;
  261.    
  262.  
  263.     Template = CreateSelfActiveAbility('WOTC_APA_CQBDominanceShowRange', "img:///UILibrary_WOTC_APA_Class_Pack.perk_CQBDominance", false);
  264.     Template.ShotHUDPriority = 1900;
  265.  
  266.  
  267.     ActionPointCost = new class'X2AbilityCost_ActionPoints';
  268.     ActionPointCost.iNumPoints = 1;
  269.     ActionPointCost.bFreeCost = true;
  270.     Template.AbilityCosts.AddItem(ActionPointCost);
  271.  
  272.     RadiusMultiTarget = new class'X2AbilityMultiTarget_WOTC_APA_CQBRadius';
  273.     RadiusMultiTarget.bIgnoreBlockingCover = true;
  274.     Template.AbilityMultiTargetStyle = RadiusMultiTarget;
  275.  
  276.  
  277.     Template.BuildNewGameStateFn = none;
  278.     Template.BuildVisualizationFn = none;
  279.     return Template;
  280. }
  281.  
  282.  
  283. // Run and Gun -  Passive: Grants Run and Gun and sets up the passive effects
  284. static function X2AbilityTemplate WOTC_APA_RunAndGun()
  285. {
  286.  
  287.     local X2AbilityTemplate                                     Template;
  288.     local X2Effect_SetUnitValue                                 SetUnitValue;
  289.     local X2Condition_WOTC_APA_Class_ValidWeaponCategory        WeaponCondition1, WeaponCondition2;
  290.     local X2Effect_IncrementUnitValue                           ModifyUnitValue1, ModifyUnitValue2;
  291.  
  292.  
  293.     Template = CreatePassiveAbility('WOTC_APA_RunAndGun', "img:///UILibrary_PerkIcons.UIPerk_runandgun",, false);
  294.    
  295.  
  296.     // Set the base Cooldown UnitVale
  297.     SetUnitValue = new class'X2Effect_SetUnitValue';
  298.     SetUnitValue.UnitName = default.RUN_AND_GUN_COOLDOWN_NAME;
  299.     SetUnitValue.NewValueToSet = default.RUN_AND_GUN_BASE_COOLDOWN;
  300.     SetUnitValue.CleanupType = eCleanup_BeginTactical;
  301.     Template.AddTargetEffect(SetUnitValue);
  302.  
  303.  
  304.     // Setup Cooldown reductions for light weapons
  305.     WeaponCondition1 = new class'X2Condition_WOTC_APA_Class_ValidWeaponCategory';
  306.     WeaponCondition1.AllowedWeaponCategories = default.RUN_AND_GUN_LIGHT_PRIMARY_WEAPONS;
  307.     WeaponCondition1.bCheckSpecificSlot = true;
  308.     WeaponCondition1.SpecificSlot = eInvSlot_PrimaryWeapon;
  309.  
  310.     ModifyUnitValue1 = new class'X2Effect_IncrementUnitValue';
  311.     ModifyUnitValue1.UnitName = default.RUN_AND_GUN_COOLDOWN_NAME;
  312.     ModifyUnitValue1.NewValueToSet = -default.RUN_AND_GUN_LIGHT_WEAPON_COOLDOWN_REDUCTION;
  313.     ModifyUnitValue1.CleanupType = eCleanup_BeginTactical;
  314.     ModifyUnitValue1.TargetConditions.AddItem(WeaponCondition1);
  315.     Template.AddTargetEffect(ModifyUnitValue1);
  316.  
  317.     WeaponCondition2 = new class'X2Condition_WOTC_APA_Class_ValidWeaponCategory';
  318.     WeaponCondition2.AllowedWeaponCategories = default.RUN_AND_GUN_LIGHT_SECONDARY_WEAPONS;
  319.     WeaponCondition2.bCheckSpecificSlot = true;
  320.     WeaponCondition2.SpecificSlot = eInvSlot_SecondaryWeapon;
  321.  
  322.     ModifyUnitValue2 = new class'X2Effect_IncrementUnitValue';
  323.     ModifyUnitValue2.UnitName = default.RUN_AND_GUN_COOLDOWN_NAME;
  324.     ModifyUnitValue2.NewValueToSet = -default.RUN_AND_GUN_LIGHT_WEAPON_COOLDOWN_REDUCTION;
  325.     ModifyUnitValue2.CleanupType = eCleanup_BeginTactical;
  326.     ModifyUnitValue2.TargetConditions.AddItem(WeaponCondition2);
  327.     Template.AddTargetEffect(ModifyUnitValue2);
  328.  
  329.  
  330.     // Add the Activatible Run and Gun ability
  331.     Template.AdditionalAbilities.AddItem('WOTC_APA_RunAndGunActive');
  332.     Template.AdditionalAbilities.AddItem('WOTC_APA_CQBDominance');
  333.  
  334.     return Template;
  335. }
  336.  
  337. // Run and Gun - Active: Activate to gain an additional non-movement action
  338. static function X2AbilityTemplate WOTC_APA_RunAndGunActive()
  339. {
  340.  
  341.     local X2AbilityTemplate                                     Template;
  342.     local X2AbilityCooldown_WOTC_APA_Class_UnitValue            Cooldown;
  343.     local X2AbilityCost_ActionPoints                            ActionPointCost;
  344.     local X2Effect_GrantActionPoints                            ActionPointEffect;
  345.     local X2Condition_WOTC_APA_Class_AbilityRequirement         MobilityCondition, ArmorCondition, DamageCondition, ShotCondition;
  346.     local X2Effect_PersistentStatChange                         MobilityEffect, ArmorEffect;
  347.     local X2Effect_WOTC_APA_Class_BonusDamage                   DamageEffect;
  348.     local X2Effect_Persistent                                   ShotEffect;
  349.    
  350.    
  351.     Template = CreateSelfActiveAbility('WOTC_APA_RunAndGunActive', "img:///UILibrary_PerkIcons.UIPerk_runandgun");
  352.  
  353.     Template.ShotHUDPriority = class'UIUtilities_Tactical'.const.CLASS_LIEUTENANT_PRIORITY;
  354.     Template.AbilityConfirmSound = "TacticalUI_Activate_Ability_Run_N_Gun";
  355.     //Template.ActivationSpeech = 'RunAndGun';
  356.     //Template.ActivationSpeech = 'CloseCombatSpecialist';
  357.     Template.ActivationSpeech = 'CombatStim';
  358.     Template.ConcealmentRule = eConceal_Never;
  359.     Template.bSkipFireAction = true;
  360.  
  361.  
  362.     // Set ability costs, cooldowns, and restrictions
  363.     Cooldown = new class'X2AbilityCooldown_WOTC_APA_Class_UnitValue';
  364.     Cooldown.UnitName = default.RUN_AND_GUN_COOLDOWN_NAME;
  365.     Cooldown.iNumTurns = default.RUN_AND_GUN_BASE_COOLDOWN;
  366.     Template.AbilityCooldown = Cooldown;
  367.  
  368.     ActionPointCost = new class'X2AbilityCost_ActionPoints';
  369.     ActionPointCost.iNumPoints = 1;
  370.     ActionPointCost.bFreeCost = true;
  371.     Template.AbilityCosts.AddItem(ActionPointCost);
  372.  
  373.  
  374.     // Add the additional action point to the target
  375.     ActionPointEffect = new class'X2Effect_GrantActionPoints';
  376.     ActionPointEffect.NumActionPoints = 1;
  377.     ActionPointEffect.PointType = class'X2CharacterTemplateManager'.default.RunAndGunActionPoint;
  378.     Template.AddTargetEffect(ActionPointEffect);
  379.  
  380.  
  381.     // Add the bonus to Mobility if Deep Reserves is present
  382.     MobilityCondition = new class'X2Condition_WOTC_APA_Class_AbilityRequirement';
  383.     MobilityCondition.RequiredAbilityNames.AddItem('WOTC_APA_DeepReserves');
  384.  
  385.     MobilityEffect = new class'X2Effect_PersistentStatChange';
  386.     MobilityEffect.EffectName = 'WOTC_APA_DeepReserves_ConditionalMobility';
  387.     MobilityEffect.AddPersistentStatChange(eStat_Mobility, default.DEEP_RESERVES_MOBILITY_BONUS);
  388.     MobilityEffect.SetDisplayInfo(ePerkBuff_Bonus, default.strRunAndGunMobilityName, default.strRunAndGunMobilityDesc, default.strRunAndGunMobilityIcon);
  389.     MobilityEffect.BuildPersistentEffect(1, false, false, false, eGameRule_PlayerTurnBegin);
  390.     MobilityEffect.DuplicateResponse = eDupe_Ignore;
  391.     MobilityEffect.TargetConditions.AddItem(MobilityCondition);
  392.     Template.AddTargetEffect(MobilityEffect);
  393.  
  394.  
  395.     // Add the bonus point of Armor if Battering Ram is present
  396.     ArmorCondition = new class'X2Condition_WOTC_APA_Class_AbilityRequirement';
  397.     ArmorCondition.RequiredAbilityNames.AddItem('WOTC_APA_BatteringRam');
  398.  
  399.     ArmorEffect = new class'X2Effect_PersistentStatChange';
  400.     ArmorEffect.EffectName = 'WOTC_APA_BatteringRam_ConditionalArmor';
  401.     ArmorEffect.AddPersistentStatChange(eStat_ArmorMitigation, default.BATTERING_RAM_CONDITIONAL_ARMOR_BONUS);
  402.     ArmorEffect.SetDisplayInfo(ePerkBuff_Bonus, default.strRunAndGunArmorName, default.strRunAndGunArmorDesc, default.strRunAndGunArmorIcon);
  403.     ArmorEffect.BuildPersistentEffect(1, false, false, false, eGameRule_PlayerTurnBegin);
  404.     ArmorEffect.DuplicateResponse = eDupe_Ignore;
  405.     ArmorEffect.TargetConditions.AddItem(ArmorCondition);
  406.     Template.AddTargetEffect(ArmorEffect);
  407.  
  408.  
  409.     // Add the bonus damage if Killer Instinct is present
  410.     DamageCondition = new class'X2Condition_WOTC_APA_Class_AbilityRequirement';
  411.     DamageCondition.RequiredAbilityNames.AddItem('WOTC_APA_KillerInstinct');
  412.  
  413.     DamageEffect = new class'X2Effect_WOTC_APA_Class_BonusDamage';
  414.     DamageEffect.EffectName = 'WOTC_APA_KillerInstinct_ConditionalDamage';
  415.     DamageEffect.BonusDmg = default.KILLER_INSTINCT_DAMAGE_BONUS;
  416.     DamageEffect.fBonusCritDmgMultiplier = default.KILLER_INSTINCT_CRITICAL_DAMAGE_MULTIPLIER;
  417.     DamageEffect.bApplyToPrimary = true;
  418.     DamageEffect.bApplyToSecondary = true;
  419.     DamageEffect.SetDisplayInfo(ePerkBuff_Bonus, default.strRunAndGunDamageName, default.strRunAndGunDamageDesc, default.strRunAndGunDamageIcon);
  420.     DamageEffect.BuildPersistentEffect(1, false, false, false, eGameRule_PlayerTurnBegin);
  421.     DamageEffect.DuplicateResponse = eDupe_Ignore;
  422.     DamageEffect.TargetConditions.AddItem(DamageCondition);
  423.     Template.AddTargetEffect(DamageEffect);
  424.  
  425.  
  426.     // Add the effect making standard shots no longer end the turn if Roving Warrior is present
  427.     ShotCondition = new class'X2Condition_WOTC_APA_Class_AbilityRequirement';
  428.     ShotCondition.RequiredAbilityNames.AddItem('WOTC_APA_RovingWarrior');
  429.  
  430.     ShotEffect = new class'X2Effect_Persistent';
  431.     ShotEffect.EffectName = 'WOTC_APA_RunAndGun_NonTurnEndingShots';
  432.     ShotEffect.SetDisplayInfo(ePerkBuff_Bonus, default.strRunAndGunActionName, default.strRunAndGunActionDesc, default.strRunAndGunActionIcon);
  433.     ShotEffect.BuildPersistentEffect(1, false, false, false, eGameRule_PlayerTurnBegin);
  434.     ShotEffect.DuplicateResponse = eDupe_Ignore;
  435.     ShotEffect.TargetConditions.AddItem(ShotCondition);
  436.     Template.AddTargetEffect(ShotEffect);
  437.  
  438.  
  439.     return Template;
  440. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top