Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class X2Ability_WOTC_APA_AssaultAbilitySet extends X2Ability_WOTC_APA_Utilities config(WOTC_APA_AssaultSkills);
- // CQB Dominance Proficiency Level Variables
- var config float CQB_DOMINANCE_I_BASE_RADIUS;
- var config float CQB_DOMINANCE_II_BONUS_RADIUS;
- var config float CQB_DOMINANCE_III_BONUS_RADIUS;
- var config float CQB_DOMINANCE_BULLPUP_BONUS_RADIUS;
- var config int CQB_DOMINANCE_I_STAT_BONUS;
- var config int CQB_DOMINANCE_II_STAT_BONUS;
- var config int CQB_DOMINANCE_III_STAT_BONUS;
- var name CQB_DOMINANCE_RADIUS_NAME;
- var localized string strCQBDominance1Name;
- var localized string strCQBDominance1Desc;
- var localized string strCQBDominance2Name;
- var localized string strCQBDominance2Desc;
- var localized string strCQBDominance3Name;
- var localized string strCQBDominance3Desc;
- var localized string strCQBDominanceRadius;
- // Ability Variables
- var config int RUN_AND_GUN_BASE_COOLDOWN;
- var name RUN_AND_GUN_COOLDOWN_NAME;
- var config int RUN_AND_GUN_LIGHT_WEAPON_COOLDOWN_REDUCTION;
- var config array<name> RUN_AND_GUN_LIGHT_PRIMARY_WEAPONS;
- var config array<name> RUN_AND_GUN_LIGHT_SECONDARY_WEAPONS;
- var localized string strRunAndGunMobilityName;
- var localized string strRunAndGunMobilityDesc;
- var localized string strRunAndGunMobilityIcon;
- var localized string strRunAndGunArmorName;
- var localized string strRunAndGunArmorDesc;
- var localized string strRunAndGunArmorIcon;
- var localized string strRunAndGunDamageName;
- var localized string strRunAndGunDamageDesc;
- var localized string strRunAndGunDamageIcon;
- var localized string strRunAndGunActionName;
- var localized string strRunAndGunActionDesc;
- var localized string strRunAndGunActionIcon;
- var config float PREP_FOR_ENTRY_RANGE_MULTIPLIER;
- var config int PREP_FOR_ENTRY_COOLDOWN;
- var config int ZONE_CONTROL_AIM_PENALTY;
- var config int ZONE_CONTROL_MOBILITY_PENALTY;
- var config int HONED_EDGE_BONUS_AIM;
- var config int HONED_EDGE_BONUS_CRIT;
- var config float LARGE_PARTIAL_MOVE_MOBILITY_MULTIPLIER;
- var config float SMALL_PARTIAL_MOVE_MOBILITY_MULTIPLIER;
- var config int DEEP_RESERVES_COOLDOWN_MODIFIER;
- var config int DEEP_RESERVES_MOBILITY_BONUS;
- var config int LIGHTNING_REFLEXES_REACTION_FIRE_DEFENSE;
- var config int BATTERING_RAM_ARMOR_BONUS;
- var config int BATTERING_RAM_CONDITIONAL_ARMOR_BONUS;
- var config int SHOCK_AND_MAUL_DAMAGE_BONUS;
- var config int SHOCK_AND_MAUL_CONDITIONAL_DAMAGE_BONUS;
- var config int KILLER_INSTINCT_DAMAGE_BONUS;
- var config float KILLER_INSTINCT_CRITICAL_DAMAGE_MULTIPLIER;
- var config int RUTHLESS_DAMAGE_BONUS;
- var config int RUTHLESS_CRIT_CHANCE;
- var config int CONCUSSION_GRENADES_CHARGE_BONUS;
- var config array<name> CONCUSSION_GRENADES_CHARGE_GRENADE_TYPES;
- var config int NON_MOVE_ACTION_ACTIVATION_LIMIT;
- var name SLIP_INTO_POSITION_BONUS_NAME;
- var config float SLIP_INTO_POSITION_DETECTION_RANGE_BONUS_1;
- var config float SLIP_INTO_POSITION_DETECTION_RANGE_BONUS_2;
- var config int EVASIVE_DODGE_BONUS_PER_TILE;
- var config int EVASIVE_DODGE_BONUS_TILE_CAP;
- static function array<X2DataTemplate> CreateTemplates()
- {
- local array<X2DataTemplate> Templates;
- /**/`Log("WOTC_APA_Assault - Begin Adding Templates");
- Templates.AddItem(WOTC_APA_CQBDominance());
- /*»»»*/ Templates.AddItem(WOTC_APA_CQBDominanceBullpupBonus());
- /*»»»*/ Templates.AddItem(WOTC_APA_CQBDominanceShowRange());
- Templates.AddItem(WOTC_APA_RunAndGun());
- /*»»»*/ Templates.AddItem(WOTC_APA_RunAndGunActive());
- Templates.AddItem(WOTC_APA_SwordSlice());
- Templates.AddItem(WOTC_APA_PrepForEntry());
- Templates.AddItem(WOTC_APA_ZoneOfControl());
- Templates.AddItem(WOTC_APA_HonedEdge());
- Templates.AddItem(WOTC_APA_BreachingManeuver());
- Templates.AddItem(WOTC_APA_DeepReserves());
- Templates.AddItem(WOTC_APA_Breakthrough());
- /*»»»*/ Templates.AddItem(WOTC_APA_LargePartialMovementActionMobilityPenalty());
- /*»»»*/ Templates.AddItem(WOTC_APA_SmallPartialMovementActionMobilityPenalty());
- Templates.AddItem(WOTC_APA_LightningReflexes());
- Templates.AddItem(WOTC_APA_BatteringRam());
- // Combatives: LW2 Secondaries Ability
- Templates.AddItem(WOTC_APA_ShockAndMaul());
- Templates.AddItem(WOTC_APA_KillerInstinct());
- Templates.AddItem(WOTC_APA_Ruthless());
- Templates.AddItem(WOTC_APA_ConcussionGrenades());
- Templates.AddItem(WOTC_APA_ZoneDefense());
- /*»»»*/ Templates.AddItem(WOTC_APA_ZoneDefenseTrigger());
- /*»»»*/ Templates.AddItem(WOTC_APA_ZoneDefenseAttack());
- // Untouchable: Base-game Ability
- Templates.AddItem(WOTC_APA_SweepAndClear());
- Templates.AddItem(WOTC_APA_RovingWarrior());
- Templates.AddItem(WOTC_APA_Relentless());
- Templates.AddItem(WOTC_APA_TakeCover());
- /*»»»*/ Templates.AddItem(WOTC_APA_TakeCoverEVOverride());
- Templates.AddItem(WOTC_APA_SlipIntoPosition());
- Templates.AddItem(WOTC_APA_Evasive());
- /**/`Log("WOTC_APA_Assault - Finished Adding Templates");
- return Templates;
- }
- // CQB Dominance - Base Class Proficiency Ability
- static function X2AbilityTemplate WOTC_APA_CQBDominance()
- {
- local X2AbilityTemplate Template;
- local X2Condition_WOTC_APA_Class_TargetRankRequirement RankCondition1, RankCondition2, RankCondition3;
- local X2Effect_SetUnitValue SetUnitValue1, SetUnitValue2, SetUnitValue3;
- local X2Effect_WOTC_APA_CQBDominance StatBoost1, StatBoost2, StatBoost3;
- `CREATE_X2ABILITY_TEMPLATE(Template, 'WOTC_APA_CQBDominance');
- Template.IconImage = "img:///UILibrary_WOTC_APA_Class_Pack.perk_CQBDominance";
- Template.AbilitySourceName = 'eAbilitySource_Perk';
- Template.eAbilityIconBehaviorHUD = EAbilityIconBehavior_NeverShow;
- Template.Hostility = eHostility_Neutral;
- Template.AbilityToHitCalc = default.DeadEye;
- Template.AbilityTargetStyle = default.SelfTarget;
- Template.AbilityTriggers.AddItem(default.UnitPostBeginPlayTrigger);
- Template.AdditionalAbilities.AddItem('WOTC_APA_RunAndGun');
- Template.bCrossClassEligible = false;
- // Establish Rank conditions for each Proficiency Level effect:
- RankCondition1 = new class 'X2Condition_WOTC_APA_Class_TargetRankRequirement';
- RankCondition1.iMinRank = -1; // No minimum rank for level 1 bonuses
- RankCondition1.iMaxRank = 2; // Max rank is 1 below minimum rank for level 2 bonuses
- RankCondition1.LogEffectName = "CQB Dominance 1"; // EffectName to use in logs
- RankCondition1.ExcludeProject = 'WOTC_APA_AssaultUnlock1';
- RankCondition2 = new class 'X2Condition_WOTC_APA_Class_TargetRankRequirement';
- RankCondition2.iMinRank = 3;
- RankCondition2.iMaxRank = 5;
- RankCondition2.LogEffectName = "CQB Dominance 2";
- RankCondition2.ExcludeProject = 'WOTC_APA_AssaultUnlock2';
- RankCondition2.GiveProject = 'WOTC_APA_AssaultUnlock1';
- RankCondition3 = new class 'X2Condition_WOTC_APA_Class_TargetRankRequirement';
- RankCondition3.iMinRank = 6;
- RankCondition3.iMaxRank = -1; // No max rank for level 3 bonuses
- RankCondition3.LogEffectName = "CQB Dominance 3";
- RankCondition3.GiveProject = 'WOTC_APA_AssaultUnlock2';
- // Set CQB Range according to rank conditions
- SetUnitValue1 = new class'X2Effect_SetUnitValue';
- SetUnitValue1.UnitName = default.CQB_DOMINANCE_RADIUS_NAME;
- SetUnitValue1.NewValueToSet = default.CQB_DOMINANCE_I_BASE_RADIUS;
- SetUnitValue1.CleanupType = eCleanup_BeginTactical;
- SetUnitValue1.TargetConditions.AddItem(RankCondition1);
- Template.AddTargetEffect(SetUnitValue1);
- SetUnitValue2 = new class'X2Effect_SetUnitValue';
- SetUnitValue2.UnitName = default.CQB_DOMINANCE_RADIUS_NAME;
- SetUnitValue2.NewValueToSet = default.CQB_DOMINANCE_I_BASE_RADIUS + default.CQB_DOMINANCE_II_BONUS_RADIUS;
- SetUnitValue2.CleanupType = eCleanup_BeginTactical;
- SetUnitValue2.TargetConditions.AddItem(RankCondition2);
- Template.AddTargetEffect(SetUnitValue2);
- SetUnitValue3 = new class'X2Effect_SetUnitValue';
- SetUnitValue3.UnitName = default.CQB_DOMINANCE_RADIUS_NAME;
- SetUnitValue3.NewValueToSet = default.CQB_DOMINANCE_I_BASE_RADIUS + default.CQB_DOMINANCE_II_BONUS_RADIUS + default.CQB_DOMINANCE_III_BONUS_RADIUS;
- SetUnitValue3.CleanupType = eCleanup_BeginTactical;
- SetUnitValue3.TargetConditions.AddItem(RankCondition3);
- Template.AddTargetEffect(SetUnitValue3);
- // Add the stat bonuses within CQB Range and setup the passive icons for each rank
- StatBoost1 = new class'X2Effect_WOTC_APA_CQBDominance';
- StatBoost1.BonusAmount = default.CQB_DOMINANCE_I_STAT_BONUS;
- StatBoost1.BuildPersistentEffect (1, true, false, false);
- StatBoost1.SetDisplayInfo(ePerkBuff_Passive, default.strCQBDominance1Name, default.strCQBDominance1Desc, "img:///UILibrary_WOTC_APA_Class_Pack.perk_CQBDominance1", true,, Template.AbilitySourceName);
- StatBoost1.TargetConditions.AddItem(RankCondition1);
- Template.AddTargetEffect(StatBoost1);
- StatBoost2 = new class'X2Effect_WOTC_APA_CQBDominance';
- StatBoost2.BonusAmount = default.CQB_DOMINANCE_I_STAT_BONUS + default.CQB_DOMINANCE_II_STAT_BONUS;
- StatBoost2.BuildPersistentEffect (1, true, false, false);
- StatBoost2.SetDisplayInfo(ePerkBuff_Passive, default.strCQBDominance2Name, default.strCQBDominance2Desc, "img:///UILibrary_WOTC_APA_Class_Pack.perk_CQBDominance2", true,, Template.AbilitySourceName);
- StatBoost2.TargetConditions.AddItem(RankCondition2);
- Template.AddTargetEffect(StatBoost2);
- StatBoost3 = new class'X2Effect_WOTC_APA_CQBDominance';
- StatBoost3.BonusAmount = default.CQB_DOMINANCE_I_STAT_BONUS + default.CQB_DOMINANCE_II_STAT_BONUS + default.CQB_DOMINANCE_III_STAT_BONUS;
- StatBoost3.BuildPersistentEffect (1, true, false, false);
- StatBoost3.SetDisplayInfo(ePerkBuff_Passive, default.strCQBDominance3Name, default.strCQBDominance3Desc, "img:///UILibrary_WOTC_APA_Class_Pack.perk_CQBDominance3", true,, Template.AbilitySourceName);
- StatBoost3.TargetConditions.AddItem(RankCondition3);
- Template.AddTargetEffect(StatBoost3);
- Template.AdditionalAbilities.AddItem('WOTC_APA_CQBDominanceBullpupBonus');
- //Template.AdditionalAbilities.AddItem('WOTC_APA_CQBDominanceShowRange');
- Template.BuildNewGameStateFn = TypicalAbility_BuildGameState;
- return Template;
- }
- // CQB Dominance - Bullpup Bonus Radius: CQB Dominance radius is increased by [default: +3] tiles when equipping the Bullpup
- static function X2AbilityTemplate WOTC_APA_CQBDominanceBullpupBonus()
- {
- local X2AbilityTemplate Template;
- local X2Condition_WOTC_APA_Class_ValidWeaponCategory WeaponCondition;
- local X2Effect_IncrementUnitValue IncrementUnitValue;
- Template = CreatePassiveAbility('WOTC_APA_CQBDominanceBullpupBonus', "img:///UILibrary_WOTC_APA_Class_Pack.perk_CQBDominance", 'WOTC_APA_CQBDominanceBullpupBonus_Icon', false);
- // Require a bullpup to grant the bonus
- WeaponCondition = new class'X2Condition_WOTC_APA_Class_ValidWeaponCategory';
- WeaponCondition.AllowedWeaponCategories.AddItem('bullpup');
- WeaponCondition.bCheckSpecificSlot = true;
- WeaponCondition.SpecificSlot = eInvSlot_PrimaryWeapon;
- IncrementUnitValue = new class'X2Effect_IncrementUnitValue';
- IncrementUnitValue.UnitName = default.CQB_DOMINANCE_RADIUS_NAME;
- IncrementUnitValue.NewValueToSet = default.CQB_DOMINANCE_BULLPUP_BONUS_RADIUS;
- IncrementUnitValue.CleanupType = eCleanup_BeginTactical;
- IncrementUnitValue.TargetConditions.AddItem(WeaponCondition);
- Template.AddTargetEffect(IncrementUnitValue);
- return Template;
- }
- // CQB Dominance - Show Range: Active ability the does nothing, but will show the
- static function X2AbilityTemplate WOTC_APA_CQBDominanceShowRange()
- {
- local X2AbilityTemplate Template;
- local X2AbilityCost_ActionPoints ActionPointCost;
- local X2AbilityMultiTarget_WOTC_APA_CQBRadius RadiusMultiTarget;
- Template = CreateSelfActiveAbility('WOTC_APA_CQBDominanceShowRange', "img:///UILibrary_WOTC_APA_Class_Pack.perk_CQBDominance", false);
- Template.ShotHUDPriority = 1900;
- ActionPointCost = new class'X2AbilityCost_ActionPoints';
- ActionPointCost.iNumPoints = 1;
- ActionPointCost.bFreeCost = true;
- Template.AbilityCosts.AddItem(ActionPointCost);
- RadiusMultiTarget = new class'X2AbilityMultiTarget_WOTC_APA_CQBRadius';
- RadiusMultiTarget.bIgnoreBlockingCover = true;
- Template.AbilityMultiTargetStyle = RadiusMultiTarget;
- Template.BuildNewGameStateFn = none;
- Template.BuildVisualizationFn = none;
- return Template;
- }
- // Run and Gun - Passive: Grants Run and Gun and sets up the passive effects
- static function X2AbilityTemplate WOTC_APA_RunAndGun()
- {
- local X2AbilityTemplate Template;
- local X2Effect_SetUnitValue SetUnitValue;
- local X2Condition_WOTC_APA_Class_ValidWeaponCategory WeaponCondition1, WeaponCondition2;
- local X2Effect_IncrementUnitValue ModifyUnitValue1, ModifyUnitValue2;
- Template = CreatePassiveAbility('WOTC_APA_RunAndGun', "img:///UILibrary_PerkIcons.UIPerk_runandgun",, false);
- // Set the base Cooldown UnitVale
- SetUnitValue = new class'X2Effect_SetUnitValue';
- SetUnitValue.UnitName = default.RUN_AND_GUN_COOLDOWN_NAME;
- SetUnitValue.NewValueToSet = default.RUN_AND_GUN_BASE_COOLDOWN;
- SetUnitValue.CleanupType = eCleanup_BeginTactical;
- Template.AddTargetEffect(SetUnitValue);
- // Setup Cooldown reductions for light weapons
- WeaponCondition1 = new class'X2Condition_WOTC_APA_Class_ValidWeaponCategory';
- WeaponCondition1.AllowedWeaponCategories = default.RUN_AND_GUN_LIGHT_PRIMARY_WEAPONS;
- WeaponCondition1.bCheckSpecificSlot = true;
- WeaponCondition1.SpecificSlot = eInvSlot_PrimaryWeapon;
- ModifyUnitValue1 = new class'X2Effect_IncrementUnitValue';
- ModifyUnitValue1.UnitName = default.RUN_AND_GUN_COOLDOWN_NAME;
- ModifyUnitValue1.NewValueToSet = -default.RUN_AND_GUN_LIGHT_WEAPON_COOLDOWN_REDUCTION;
- ModifyUnitValue1.CleanupType = eCleanup_BeginTactical;
- ModifyUnitValue1.TargetConditions.AddItem(WeaponCondition1);
- Template.AddTargetEffect(ModifyUnitValue1);
- WeaponCondition2 = new class'X2Condition_WOTC_APA_Class_ValidWeaponCategory';
- WeaponCondition2.AllowedWeaponCategories = default.RUN_AND_GUN_LIGHT_SECONDARY_WEAPONS;
- WeaponCondition2.bCheckSpecificSlot = true;
- WeaponCondition2.SpecificSlot = eInvSlot_SecondaryWeapon;
- ModifyUnitValue2 = new class'X2Effect_IncrementUnitValue';
- ModifyUnitValue2.UnitName = default.RUN_AND_GUN_COOLDOWN_NAME;
- ModifyUnitValue2.NewValueToSet = -default.RUN_AND_GUN_LIGHT_WEAPON_COOLDOWN_REDUCTION;
- ModifyUnitValue2.CleanupType = eCleanup_BeginTactical;
- ModifyUnitValue2.TargetConditions.AddItem(WeaponCondition2);
- Template.AddTargetEffect(ModifyUnitValue2);
- // Add the Activatible Run and Gun ability
- Template.AdditionalAbilities.AddItem('WOTC_APA_RunAndGunActive');
- Template.AdditionalAbilities.AddItem('WOTC_APA_CQBDominance');
- return Template;
- }
- // Run and Gun - Active: Activate to gain an additional non-movement action
- static function X2AbilityTemplate WOTC_APA_RunAndGunActive()
- {
- local X2AbilityTemplate Template;
- local X2AbilityCooldown_WOTC_APA_Class_UnitValue Cooldown;
- local X2AbilityCost_ActionPoints ActionPointCost;
- local X2Effect_GrantActionPoints ActionPointEffect;
- local X2Condition_WOTC_APA_Class_AbilityRequirement MobilityCondition, ArmorCondition, DamageCondition, ShotCondition;
- local X2Effect_PersistentStatChange MobilityEffect, ArmorEffect;
- local X2Effect_WOTC_APA_Class_BonusDamage DamageEffect;
- local X2Effect_Persistent ShotEffect;
- Template = CreateSelfActiveAbility('WOTC_APA_RunAndGunActive', "img:///UILibrary_PerkIcons.UIPerk_runandgun");
- Template.ShotHUDPriority = class'UIUtilities_Tactical'.const.CLASS_LIEUTENANT_PRIORITY;
- Template.AbilityConfirmSound = "TacticalUI_Activate_Ability_Run_N_Gun";
- //Template.ActivationSpeech = 'RunAndGun';
- //Template.ActivationSpeech = 'CloseCombatSpecialist';
- Template.ActivationSpeech = 'CombatStim';
- Template.ConcealmentRule = eConceal_Never;
- Template.bSkipFireAction = true;
- // Set ability costs, cooldowns, and restrictions
- Cooldown = new class'X2AbilityCooldown_WOTC_APA_Class_UnitValue';
- Cooldown.UnitName = default.RUN_AND_GUN_COOLDOWN_NAME;
- Cooldown.iNumTurns = default.RUN_AND_GUN_BASE_COOLDOWN;
- Template.AbilityCooldown = Cooldown;
- ActionPointCost = new class'X2AbilityCost_ActionPoints';
- ActionPointCost.iNumPoints = 1;
- ActionPointCost.bFreeCost = true;
- Template.AbilityCosts.AddItem(ActionPointCost);
- // Add the additional action point to the target
- ActionPointEffect = new class'X2Effect_GrantActionPoints';
- ActionPointEffect.NumActionPoints = 1;
- ActionPointEffect.PointType = class'X2CharacterTemplateManager'.default.RunAndGunActionPoint;
- Template.AddTargetEffect(ActionPointEffect);
- // Add the bonus to Mobility if Deep Reserves is present
- MobilityCondition = new class'X2Condition_WOTC_APA_Class_AbilityRequirement';
- MobilityCondition.RequiredAbilityNames.AddItem('WOTC_APA_DeepReserves');
- MobilityEffect = new class'X2Effect_PersistentStatChange';
- MobilityEffect.EffectName = 'WOTC_APA_DeepReserves_ConditionalMobility';
- MobilityEffect.AddPersistentStatChange(eStat_Mobility, default.DEEP_RESERVES_MOBILITY_BONUS);
- MobilityEffect.SetDisplayInfo(ePerkBuff_Bonus, default.strRunAndGunMobilityName, default.strRunAndGunMobilityDesc, default.strRunAndGunMobilityIcon);
- MobilityEffect.BuildPersistentEffect(1, false, false, false, eGameRule_PlayerTurnBegin);
- MobilityEffect.DuplicateResponse = eDupe_Ignore;
- MobilityEffect.TargetConditions.AddItem(MobilityCondition);
- Template.AddTargetEffect(MobilityEffect);
- // Add the bonus point of Armor if Battering Ram is present
- ArmorCondition = new class'X2Condition_WOTC_APA_Class_AbilityRequirement';
- ArmorCondition.RequiredAbilityNames.AddItem('WOTC_APA_BatteringRam');
- ArmorEffect = new class'X2Effect_PersistentStatChange';
- ArmorEffect.EffectName = 'WOTC_APA_BatteringRam_ConditionalArmor';
- ArmorEffect.AddPersistentStatChange(eStat_ArmorMitigation, default.BATTERING_RAM_CONDITIONAL_ARMOR_BONUS);
- ArmorEffect.SetDisplayInfo(ePerkBuff_Bonus, default.strRunAndGunArmorName, default.strRunAndGunArmorDesc, default.strRunAndGunArmorIcon);
- ArmorEffect.BuildPersistentEffect(1, false, false, false, eGameRule_PlayerTurnBegin);
- ArmorEffect.DuplicateResponse = eDupe_Ignore;
- ArmorEffect.TargetConditions.AddItem(ArmorCondition);
- Template.AddTargetEffect(ArmorEffect);
- // Add the bonus damage if Killer Instinct is present
- DamageCondition = new class'X2Condition_WOTC_APA_Class_AbilityRequirement';
- DamageCondition.RequiredAbilityNames.AddItem('WOTC_APA_KillerInstinct');
- DamageEffect = new class'X2Effect_WOTC_APA_Class_BonusDamage';
- DamageEffect.EffectName = 'WOTC_APA_KillerInstinct_ConditionalDamage';
- DamageEffect.BonusDmg = default.KILLER_INSTINCT_DAMAGE_BONUS;
- DamageEffect.fBonusCritDmgMultiplier = default.KILLER_INSTINCT_CRITICAL_DAMAGE_MULTIPLIER;
- DamageEffect.bApplyToPrimary = true;
- DamageEffect.bApplyToSecondary = true;
- DamageEffect.SetDisplayInfo(ePerkBuff_Bonus, default.strRunAndGunDamageName, default.strRunAndGunDamageDesc, default.strRunAndGunDamageIcon);
- DamageEffect.BuildPersistentEffect(1, false, false, false, eGameRule_PlayerTurnBegin);
- DamageEffect.DuplicateResponse = eDupe_Ignore;
- DamageEffect.TargetConditions.AddItem(DamageCondition);
- Template.AddTargetEffect(DamageEffect);
- // Add the effect making standard shots no longer end the turn if Roving Warrior is present
- ShotCondition = new class'X2Condition_WOTC_APA_Class_AbilityRequirement';
- ShotCondition.RequiredAbilityNames.AddItem('WOTC_APA_RovingWarrior');
- ShotEffect = new class'X2Effect_Persistent';
- ShotEffect.EffectName = 'WOTC_APA_RunAndGun_NonTurnEndingShots';
- ShotEffect.SetDisplayInfo(ePerkBuff_Bonus, default.strRunAndGunActionName, default.strRunAndGunActionDesc, default.strRunAndGunActionIcon);
- ShotEffect.BuildPersistentEffect(1, false, false, false, eGameRule_PlayerTurnBegin);
- ShotEffect.DuplicateResponse = eDupe_Ignore;
- ShotEffect.TargetConditions.AddItem(ShotCondition);
- Template.AddTargetEffect(ShotEffect);
- return Template;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement