How do soldier abilities at Squaddie work?
-
- Posts: 22
- Joined: Fri Jan 27, 2017 11:13 am
How do soldier abilities at Squaddie work?
Is there a limit (like 2-3 abilities max) that a class can receive when they first train to squaddie?
I've never been able to find out the answer to this.
I have just been keeping the initial abilities on my classes low because they don't seem to work if I overload them too much.
I've never been able to find out the answer to this.
I have just been keeping the initial abilities on my classes low because they don't seem to work if I overload them too much.
Re: How do soldier abilities at Squaddie work?
I believe the hard cap is 3. SPARKs are kind of an exception because some of their abilities are granted by their BIT or their inherent archetype instead of being 'class' perks.
-
- Posts: 22
- Joined: Fri Jan 27, 2017 11:13 am
Re: How do soldier abilities at Squaddie work?
Thanks for the quick reply!
-
- Posts: 42
- Joined: Fri Jan 20, 2017 6:18 am
Re: How do soldier abilities at Squaddie work?
IIRC vanilla had no such limit, or it was significantly higher, so maybe it's tweakable.
Re: How do soldier abilities at Squaddie work?
There's no limit. The only limit is that only 3 abilities will show up when you mouse over the squaddie rank on the promotion screen.
The spark is assigned 4:
You can have as many as you need here, but if you've abilities that are strongly tied together (as in, one only makes sense if you also have the other), you might want to do it the Combatives way:
The perk is composed of 4 individual abilities, one is the stats (+10 dodge), the other is the preparation (sets up the counter attack when the player turn ends), then there's the counter attack trigger (no idea what this actualy does, I think it's the animation) and the actual attack . Since the ability doesn't work without those 4 parts, they are all granted by the 5th ability, the Combatives perk. Then you only need to assign that ability that grants the others to the soldier:
The spark is assigned 4:
Code: Select all
+SoldierRanks=( aAbilityTree=( (AbilityName="Overdrive", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), \\
(AbilityName="Arsenal", ApplyToWeaponSlot=eInvSlot_Unknown), \\
(AbilityName="RobotImmunities", ApplyToWeaponSlot=eInvSlot_Unknown), \\
(AbilityName="IntrusionProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
), \\
aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)),\\
)
You can have as many as you need here, but if you've abilities that are strongly tied together (as in, one only makes sense if you also have the other), you might want to do it the Combatives way:
Code: Select all
Template = PurePassive('Combatives', "img:///UILibrary_LW_Overhaul.LW_AbilityCombatives", false, 'eAbilitySource_Perk');
Template.AdditionalAbilities.AddItem('CombativesAttack');
Template.AdditionalAbilities.AddiTEm('CombativesPreparation');
Template.AdditionalAbilities.AddItem('CombativesCounterattack');
Template.AdditionalAbilities.AddItem('CombativesStats');
Code: Select all
+SoldierRanks=( aAbilityTree=( (AbilityName="CenterMass", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), \\
(AbilityName="Combatives", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="GrazingFire", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) \\
), \\
aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_Will,StatAmount=4), (StatType=eStat_HP,StatAmount=1)) \\
)
Re: How do soldier abilities at Squaddie work?
And where is that combatives code set? Is it possible to combine 2 perks like that into 1 using the config files?
-
- Posts: 42
- Joined: Fri Jan 20, 2017 6:18 am
Re: How do soldier abilities at Squaddie work?
There IS a limit of 3 for sure. I've added some more abilities and only first 3 were active in tactical.Sentenryu wrote:There's no limit. The only limit is that only 3 abilities will show up when you mouse over the squaddie rank on the promotion screen.
Re: How do soldier abilities at Squaddie work?
Sadly, no. You've to use code to create a new ability and then add the others as AditionalAbilitiesSir_Dr_D wrote:And where is that combatives code set? Is it possible to combine 2 perks like that into 1 using the config files?
Here's the full code for bradford's class on the Alien Hunters DLC:Krzysztof z Bagien wrote:There IS a limit of 3 for sure. I've added some more abilities and only first 3 were active in tactical.Sentenryu wrote:There's no limit. The only limit is that only 3 abilities will show up when you mouse over the squaddie rank on the promotion screen.
Code: Select all
[CentralOfficer X2SoldierClassTemplate]
bMultiplayerOnly=0
ClassPoints=4
IconImage="img:///UILibrary_Common.class_ranger"
NumInForcedDeck=0
NumInDeck=0
KillAssistsPerKill=4
SquaddieLoadout="NestCentral_Loadout"
+AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="rifle")
+AllowedWeapons=(SlotType=eInvSlot_SecondaryWeapon, WeaponType="sword")
+AllowedArmors="soldier"
bAllowAWCAbilities=0
bBlockRankingUp=1
+CannotEditSlots=eInvSlot_PrimaryWeapon
bHideInCharacterPool=1
; squaddie
SoldierRanks=( aAbilityTree=( (AbilityName="SwordSlice", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="Blademaster", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="Shadowstep", ApplyToWeaponSlot=eInvSlot_Unknown), \\
(AbilityName="RunAndGun"), \\
(AbilityName="Bladestorm", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="Untouchable"), \\
(AbilityName="Reaper", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
) \\
)
And here's the code for Shen's class on Shen's Last Gift:
Code: Select all
[ChiefEngineer X2SoldierClassTemplate]
bMultiplayerOnly=0
ClassPoints=3
IconImage="img:///UILibrary_Common.class_specialist"
NumInForcedDeck=0
NumInDeck=0
KillAssistsPerKill=3
SquaddieLoadout="LostTowersShen_Loadout"
+AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="rifle")
+AllowedWeapons=(SlotType=eInvSlot_SecondaryWeapon, WeaponType="gremlin")
+AllowedArmors="soldier"
bAllowAWCAbilities=0
bBlockRankingUp=1
+CannotEditSlots=eInvSlot_Armor
+CannotEditSlots=eInvSlot_SecondaryWeapon
bHideInCharacterPool=1
; squaddie
SoldierRanks=( aAbilityTree=( (AbilityName="IntrusionProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="AidProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="CombatProtocol_Shen", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="HaywireProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="ScanningProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="ThreatAssessment", ApplyToWeaponSlot=eInvSlot_Unknown), \\
(AbilityName="MedicalProtocol_Shen", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="CapacitorDischarge_Shen", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
) \\
)
Code: Select all
[Spark X2SoldierClassTemplate]
bMultiplayerOnly=0
ClassPoints=4
IconImage="img:///UILibrary_DLC3Images.class_spark"
NumInForcedDeck=0
NumInDeck=0
KillAssistsPerKill=4
SquaddieLoadout="SquaddieSpark"
;+AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="sparkrifle")
;+AllowedWeapons=(SlotType=eInvSlot_SecondaryWeapon, WeaponType="sparkbit")
+AllowedWeapons=(SlotType=eInvSlot_HeavyWeapon, WeaponType="heavy")
+AllowedArmors="spark"
bAllowAWCAbilities=0
bIgnoreInjuries=1
bUniqueTacticalToStrategyTransfer=1
bHideInCharacterPool=0
RequiredCharacterClass="SparkSoldier"
bHasClassMovie=true
!SoldierRanks=()
; squaddie
+SoldierRanks=( aAbilityTree=( (AbilityName="Overdrive", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), \\
(AbilityName="Arsenal", ApplyToWeaponSlot=eInvSlot_Unknown), \\
(AbilityName="RobotImmunities", ApplyToWeaponSlot=eInvSlot_Unknown), \\
(AbilityName="IntrusionProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
), \\
aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)),\\
)
; LPCL
+SoldierRanks=( aAbilityTree=( (AbilityName="Shredder", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), \\
(AbilityName="IronSkin" ), \\
(AbilityName="CombatAwareness" ) \\
), \\
aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)),\\
)
; CPL
+SoldierRanks=( aAbilityTree=( (AbilityName="Rainmaker", ApplyToWeaponSlot=eInvSlot_Unknown), \\
(AbilityName="Bulwark" ), \\
(AbilityName="AdaptiveAim", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
), \\
aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)),\\
)
; SGT
+SoldierRanks=( aAbilityTree=( (AbilityName="Strike", ApplyToWeaponSlot=eInvSlot_Unknown), \\
(AbilityName="Formidable" ), \\
(AbilityName="CoolUnderPressure", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) \\
), \\
aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)),\\
)
; SSGT
+SoldierRanks=( aAbilityTree=( (AbilityName="Intimidate" ), \\
(AbilityName="Repair", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="Sentinel", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) \\
), \\
aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)),\\
)
; TSGT
+SoldierRanks=( aAbilityTree=( (AbilityName="AbsorptionField" ), \\
(AbilityName="WreckingBall" ), \\
(AbilityName="Holotargeting", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) \\
), \\
aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)),\\
)
; GSGT
+SoldierRanks=( aAbilityTree=( (AbilityName="Bombard", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="DamageControl" ), \\
(AbilityName="HunterProtocol", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) \\
), \\
aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)),\\
)
; MSGT
+SoldierRanks=( aAbilityTree=( (AbilityName="Sacrifice", ApplyToWeaponSlot=eInvSlot_Unknown), \\
(AbilityName="AbsorptionFields" ), \\
(AbilityName="Nova", ApplyToWeaponSlot=eInvSlot_Unknown) \\
), \\
aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)),\\
)
-
- Posts: 42
- Joined: Fri Jan 20, 2017 6:18 am
Re: How do soldier abilities at Squaddie work?
Here's the code to add some abilities that are easy to notice in tactical, my test subject was a Specialist and I didn't change anything else. I can't see anything wrong.Sentenryu wrote:You sure you configured the abilities right? it's easy to miss the comma or the double backslashes at the end, that makes the following line be ignored.
Code: Select all
; squaddie
+SoldierRanks=( aAbilityTree=( (AbilityName="Suppression_LW", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), \\
(AbilityName="Squadsight", ApplyToWeaponSlot=eInvSlot_Unknown), \\
(AbilityName="LightEmUp", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), \\
(AbilityName="AidProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="HaywireProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="IntrusionProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
), \\
aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_Will,StatAmount=5), (StatType=eStat_Hacking,StatAmount=40), (StatType=eStat_CombatSims,StatAmount=1))\\
)
; LCPL
And in tactical:
Notice that he has Light'em Up, Squadsight and Suppression, but there's no Aid Protocol.
Now, let's shuffle the abilities:
Code: Select all
; squaddie
+SoldierRanks=( aAbilityTree=( (AbilityName="LightEmUp", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), \\
(AbilityName="AidProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="Suppression_LW", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), \\
(AbilityName="Squadsight", ApplyToWeaponSlot=eInvSlot_Unknown), \\
(AbilityName="HaywireProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
(AbilityName="IntrusionProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
), \\
aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_Will,StatAmount=5), (StatType=eStat_Hacking,StatAmount=40), (StatType=eStat_CombatSims,StatAmount=1))\\
)
; LCPL
... and in tactical:
Now he has Light'em Up, Aid Protocol and Suppression, but no Squadsight; and can't hack a drone or a lamppost.
So, no matter what I do, there are only 3 abilities for each soldier.