Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
U are correct there is still a problem with the owned abilties for sparks. After deleting the decks from the config I got the abilties in the middle, but the left side is still buggy. I have to work now I check it out later.
https://steamcommunity.com/sharedfiles/filedetails/?id=3485092177
Essentially what happens now is that apart from the three horizontal rows of skills i.e. SPARK class specific FUTURE COMBAT, WAR MACHINE and cross-class XCOM - the Training center abilities you can buy/unlock show up BELOW the XCOM row essentially giving sparks 10 slots but not allowing you to switch/buy different skills anywhere but the extra row now. I tried to retrain my spark to see if it would change anything - still the same. The rest of the classes work as intended.
If you check LWOTC config XcomClassData.ini you could find definitions of those decks, such as DeckName="Rank1_XComAbilities" which contains pool of abilities that is used to generate a Rank 1 personal ability. Same with Rank 2 and so on to Rank 7. However, above "Rank" decks you could find DeckName="Tier1_XComAbilities" with "Tiers" from 1 to 4. This is the old deck system that is not used for character generation by LWOTC since late last year. "I am the Commander here" mod, however, provide you an ability to use abilities from unused decks as they mentioned in the XComImTheCommanderHere.ini config file.
If you need to customize abilities available for your LWOTC classes and want to have even more abilities to choose from you need to customize your LWOTC XcomClassData.ini. Just add what you like to any DeckName="Rank1_XComAbilities" of any class and these abilities will appear in the respec screen of the "I am the Commander here" mod.
In the latest mod version there is a combination of old and new LWOTC decks so there is a lot of perks now. This is unfair however. :) So if you wanted to play in the way LWOTC devs are designed their classes, better comment Tier lines in the XComImTheCommanderHere.ini config of the mod.
I made the changes in the config for the Decks and added the PsiOp exception. Credited you for your work in the description. Let me know if it works as it should.
Tested for PisOperative and other classes, just to be sure - displaying owned perks and replacing them.
simulated function AcceptSelectedPerk()
{
local int idx;
It looks like my SDK is still not configured properly. :(
ImTheCommanderHere_UI.uc
simulated function AcceptSelectedPerk()
{
...
else if(Ability2Rem.AbilityName != name("None") && xLWOTC)
{
if (Unit.GetSoldierClassTemplateName() == 'PsiOperative')
{
idx = 2;
} else {
idx = 3;
}
Unit.AbilityTree[OwnedAbilities[iSelectedSidePerkID].iRank].Abilities[idx] = Ability2Add;
Instead of:
else if(Ability2Rem.AbilityName != name("None") && xLWOTC)
{
Unit.AbilityTree[OwnedAbilities[iSelectedSidePerkID].iRank].Abilities[3] = Ability2Add;
However, PsiOperative class in LWOTC having only 2 class lines, following by personal perks line and following by pistol skills line. So idx=3 is pointing on pistol skills line instead of personal perks.
That's why a class check is required with idx=2 setting for the PsiOperative.
https://docs.google.com/document/d/1Dj9w8g94NjwRRsQIFhocvqV1c8CDPMvkMsRubkJOzbY/edit?tab=t.0
ImTheCommanderHere_Utilities.uc
static function array<OwnedAbility> GetOwnedAbilitiesAndRanksLWOTC(XComGameState_Unit Unit,out array<SoldierClassAbilityType> EligibleAbilities)
{
local int idx,iRank,iMaxRank;
local array<OwnedAbility> OwnedAbilities;
local array<SoldierClassAbilityType> AllAbilities;
local OwnedAbility FoundAbility;
iMaxRank = 8;
AllAbilities = GetAllAbilities();
// LWOTC PsiOperative fix
if (Unit.GetSoldierClassTemplateName() == 'PsiOperative')
{
idx = 2;
} else {
idx = 3;
}
//we iterate through all the soldier-ranks
for(iRank=1;iRank < iMaxRank;iRank++)
...
It'll be great if you implement this in the mod. Please, note that In this code example I moved idx = 3 out of 'for' cycle because of the GetSoldierClassTemplateName check. It is not necessary to check it on every iteration of 'for'.