XCOM 2
Gwazi Magnum Feb 23, 2018 @ 1:54am
Training Centre and XCOM Skills, how do they work?
More specifically I'm asking how do they work under the hood?

I get the basic idea of them, semi-randomly generated perks for XCOM soldiers, that you can then spend AP on. But what perks are available as options? Are the levels the perks show up fixed or randomized? How does it determine what perks to make as options? etc.
< >
Showing 1-9 of 9 comments
Mr. Nice Feb 23, 2018 @ 3:26am 
Ok, it's actually a quite different process for faction classes and "normal" soldier classes. For normal classes, assuming they are marked as eligible (which in the base game is all of them, except Sparks), they receive 4 random xcom abilities, the actual level is also random, but IIRC never at squaddie level. They can be any abilities marked as cross-class compatible from any other (non faction) class marked as eligible, plus a special list of extra abilities, which only contains "lightning reflexes" in the base game. Examples of abilities not marked as cross class are sharpshooter pistol and ranger sword abilities. Finally, each class has a list of abilities
it can never have. Notably this means each class only has access to shadow step or lightning reflexes, and Specialists have Phantom excluded because it interacts badly with the Gremlin.
Faction soldiers instead have a fixed list of abilities, which is also padded with blanks. For each level except for squaddie, they have a random pick from this list. Note this means if a "blank" is picked, there is one less blank left to be picked for the next rank. In practice, they usually end up with 3-5 non-blank picks.
Fringehunter7719 Feb 23, 2018 @ 3:29am 
Each class gets between 3 and 5 random XCOM abilities to choose from. For hero classes those are visible at any rank and purchasable from the level up screen. All other classes have to be squaddie rank and use the training centre to see what they have.

There is an option in the .ini files to allow you to see skills available at all ranks, if that option is disabled you will see which ranks a skill is available, but you won't see what the skill is.

The cost in ability points of the skills is 11 for squaddie, 12 for sergeant and so on to 15 for colonel. The cost is based on the rank the random skill appears at, not its place in the original class tree. There are a few exceptions, some of the strongest colonel abilities such as serial or rapid fire cost 25 ability points instead.

There is no restriction on which ranks a skill is placed. You can get access to a colonel skill, e.g. serial, at squaddie rank through the cross class training ability, or it might appear on any other rank.

Most abilities which do not require a specific weapon (e.g. gremlin skills, sword skills) are available for cross class, the pool is the same for non hero units as it was in vanilla, you can read the full list at this link: https://gaming.stackexchange.com/questions/254295/what-hidden-abilities-are-available . That link was for vanilla, and is still valid for vanilla classes.

Sparks don't get cross class abilities.

Hero units work a little differently. They can't get most abilities the other classes can get, but instead each get a pool of 7-8 specific abilities from which they draw their 3 to 5.
Gwazi Magnum Feb 23, 2018 @ 4:13am 
So to repeat, to make sure I understand it correctly.

Each XCOM class has 3-5 (usually 4) abilities provided in the XCOM tree, which upon reaching Squaddie are assigned randomly across the remaining levels. One reaching said level the skill is revealed. And the skill comes from a list of skills that are flagged as not being locked to a specific class, with specific classes being locked out of a few of them (ex: Specialists and Phantom).

Meanwhile the Hero Units have their own seperate list of skills that are unique to them, and randomly roll their 3-5 from that list instead?
Mr. Nice Feb 23, 2018 @ 4:50am 
Well, it's always precisely 4 for non-faction units (and a lucky Reaper or Templar may get 6, a very unlucky Templar may only get 2), but pretty much as you say.
happyscrub Feb 23, 2018 @ 5:18am 
The way it works is like this.

There's this pool of skills that are the XCOM skills. There is also flags on those skills that will deny a certain class from ever being allowed those skils. Like there's flags that a ranger won't ever get ranger skills. But a ranger will never get the salvo skill from grenadier either. There's no updated list for the resistance heroes but you can see on their own page their allowed perks.

http://xcom.wikia.com/wiki/Advanced_Warfare_Center
http://xcom.wikia.com/wiki/Ranger_Class_(XCOM_2)

It's already been said that they randomly get a chance to get 3-5 possible extra perks.

But for more info on how it works under the hood is like this. You get perks pts everytime you level up past squadie with +1 for each rank. I think it's like 10 for Corporal, 11 for Sergent, 12, 13, 14, and so on.

Each perk in each tree cost exactly those pts. So to buy Corporal is 10, 11 for a Sergent perk and so on and so on. So everytime you level up, you have EXACTLY the amount of pts allowed to buy a perk in the tree of your new rank.

So without the training center, the game holds your hand and forces you to use up all your pts for each rank. But it unlocks the training center UI features for heroes from the start of the game. The training center UI is also the only way to use TEAM xcom pts.

So with the training center up, you can buy anything you want in any order. You can skip early game perks and save up and buy all late game perks if you wanted.
Mr. Nice Feb 23, 2018 @ 5:33am 
Originally posted by happyscrub:
But for more info on how it works under the hood is like this. You get perks pts everytime you level up past squadie with +1 for each rank. I think it's like 10 for Corporal, 11 for Sergent, 12, 13, 14, and so on.

Each perk in each tree cost exactly those pts. So to buy Corporal is 10, 11 for a Sergent perk and so on and so on. So everytime you level up, you have EXACTLY the amount of pts allowed to buy a perk in the tree of your new rank.

So without the training center, the game holds your hand and forces you to use up all your pts for each rank.
That's not true (for non-Faction units). The first class ability pick is always free, there are no points which you are immedately "forced" to spend. Just go to the training screen for a unit due a promotion and you see this. Before the Oct patch, there was a bug related to this though:
Originally posted by Patch Notes:
Fixed base game soldier promotion abilities not being free in the Training Center if a cross-class ability is purchased first
By default, non-faction units get a flat 3 APs per promotion,for standard Combat Intelligence.
happyscrub Feb 23, 2018 @ 5:54am 
Originally posted by Mr. Nice:
Originally posted by happyscrub:
But for more info on how it works under the hood is like this. You get perks pts everytime you level up past squadie with +1 for each rank. I think it's like 10 for Corporal, 11 for Sergent, 12, 13, 14, and so on.

Each perk in each tree cost exactly those pts. So to buy Corporal is 10, 11 for a Sergent perk and so on and so on. So everytime you level up, you have EXACTLY the amount of pts allowed to buy a perk in the tree of your new rank.

So without the training center, the game holds your hand and forces you to use up all your pts for each rank.
That's not true (for non-Faction units). The first class ability pick is always free, there are no points which you are immedately "forced" to spend. Just go to the training screen for a unit due a promotion and you see this. Before the Oct patch, there was a bug related to this though:
Originally posted by Patch Notes:
Fixed base game soldier promotion abilities not being free in the Training Center if a cross-class ability is purchased first
By default, non-faction units get a flat 3 APs per promotion,for standard Combat Intelligence.

Everything I said is 100% (outside the numbers because I don't remember exactly how much they are). Use use any mod to unlock the training center early or its UI to see how soilders really level up. Like this one.

http://steamcommunity.com/sharedfiles/filedetails/?id=1124609091

They get EXACTLY enough each level up to buy a skill. No more, no less. And without training center, you damn sure are forced to pick. If you recruit a Colonel soilders and you have to pick his perks, you have to start back to the beginning with Corporal and work yourself back up and end up spending exactly the about of XP u gain from level ups.
Mr. Nice Feb 23, 2018 @ 7:55am 
And I'm just as 100% sure your wrong, just check the training screen for a solider who has a promotion not cashed in yet, or just use the retraining reset slot. you see Zero as the cost for the two standard abilities, then when you pick one, the ability you didn't pick has the cost to change to the 10+rank cost.
Here, how about some code?

function int GetAbilityPointCost(int Rank, int Branch) { local XComGameState_Unit UnitState; local array<SoldierClassAbilityType> AbilityTree; local bool bPowerfulAbility; UnitState = GetUnit(); AbilityTree = UnitState.GetRankAbilities(Rank); bPowerfulAbility = (class'X2StrategyGameRulesetDataStructures'.default.PowerfulAbilities.Find(AbilityTree[Branch].AbilityName) != INDEX_NONE); if (!UnitState.IsResistanceHero()) { if (!UnitState.HasPurchasedPerkAtRank(Rank, 2) && Branch < 2) { // If this is a base game soldier with a promotion available, ability costs nothing since it would be their // free promotion ability if they "bought" it through the Armory return 0; } else if (bPowerfulAbility && Branch >= 2) { // All powerful shared AWC abilities for base game soldiers have an increased cost, // excluding any abilities they have in their normal progression tree return class'X2StrategyGameRulesetDataStructures'.default.PowerfulAbilityPointCost; } } // All Colonel level abilities for Faction Heroes and any powerful XCOM abilities have increased cost for Faction Heroes if (UnitState.IsResistanceHero() && (bPowerfulAbility || (Rank >= 6 && Branch < 3))) { return class'X2StrategyGameRulesetDataStructures'.default.PowerfulAbilityPointCost; } return class'X2StrategyGameRulesetDataStructures'.default.AbilityPointCosts[Rank]; }
The important bit is this:
if (!UnitState.HasPurchasedPerkAtRank(Rank, 2) && Branch < 2) { // If this is a base game soldier with a promotion available, ability costs nothing since it would be their // free promotion ability if they "bought" it through the Armory return 0; }
The "Branch" refers to the the row, for normal soliders, branches 0 and 1 are the normal abilities, branch 2 is the Xcom" row. So, if the soldier has no "Perks" at that rank from the first two branches (UnitState.HasPurchasedPerkAtRank(Rank, 2), and the ability is also from the first two branches (Branch < 2), then it's cost is set to zero.
Mr. Nice Feb 23, 2018 @ 8:05am 
As to how many APs for levelling up? For non faction classes, it's
private function int GetBaseSoldierAPAmount(ECombatIntelligence eComInt) { local XComGameStateHistory History; local XComGameState_HeadquartersResistance ResHQ; local int APReward; // Base game soldier classes gain a lot less AP than other soldiers APReward += GetSoldierClassTemplate().BaseAbilityPointsPerPromotion; // Always start with base points if (APReward > 0) { // Only give AP reward bonus if the soldier class has a base AP gain per promotion APReward += class'X2StrategyGameRulesetDataStructures'.default.BaseSoldierComIntBonuses[eComInt]; // AP amount could be modified by Resistance Orders History = `XCOMHISTORY; ResHQ = XComGameState_HeadquartersResistance(History.GetSingleGameStateObjectForClass(class'XComGameState_HeadquartersResistance')); if(ResHQ.AbilityPointScalar > 0) { APReward = Round(float(APReward) * ResHQ.AbilityPointScalar); } } return APReward; }
Important bit? It'sjust the BaseAbilityPointsPerPromotion for that class (which is set in XComClassData.ini, and is 3 for all base game classes), then adjusted for combat intelligence, and then for the fact that there are Resistance Orders which boost AP rate.

Faction classes, do indeed gurantee the ability to purchase at least one ability (since they don't get a freebie) on promotion
private function int GetResistanceHeroAPAmount(int SoldierRank, ECombatIntelligence eComInt) { local XComGameStateHistory History; local XComGameState_HeadquartersResistance ResHQ; local int APReward, BaseAP; History = `XCOMHISTORY; ResHQ = XComGameState_HeadquartersResistance(History.GetSingleGameStateObjectForClass(class'XComGameState_HeadquartersResistance', true)); BaseAP = GetSoldierClassTemplate().BaseAbilityPointsPerPromotion; if (SoldierRank >= 7) // Colonel abilities are way more expensive, so give the appropriate points to buy one of them { APReward = class'X2StrategyGameRulesetDataStructures'.default.PowerfulAbilityPointCost; } else { APReward += BaseAP; // Always start with base points APReward += (SoldierRank - 2); // Ability points gained is enough to buy new rank } if (SoldierRank >= 3) { // And half the cost of one ability from the previous rank APReward += ((BaseAP + (m_SoldierRank - 3)) / 2); } APReward *= class'X2StrategyGameRulesetDataStructures'.default.ResistanceHeroComIntModifiers[eComInt]; // AP amount could be modified by Resistance Orders if(ResHQ.AbilityPointScalar > 0) { APReward = Round(float(APReward) * ResHQ.AbilityPointScalar); } return APReward; }
BaseAbilityPointsPerPromotion for faction classes is indeed 10, so that
APReward += BaseAP; // Always start with base points APReward += (SoldierRank - 2); // Ability points gained is enough to buy new rank
Does what the comments says, gurantees the ability to buy one ability at the new rank. There's special handling for the fact that Colonel level faction abilities always cost the "PowerAbilityCost", which is 25, and also once at Sgt. rank they additionally get half the cost of abilities one rank down (rounded down).
Slightly notable, for faction soliders, combat intelligence is a multiplier, not a flat additional amount.
< >
Showing 1-9 of 9 comments
Per page: 1530 50

Date Posted: Feb 23, 2018 @ 1:54am
Posts: 9