New v1.3 Psionic Tree & Preqs flow.

Post Reply
Zyxpsilon
Posts: 274
Joined: Fri Jan 20, 2017 1:26 am

New v1.3 Psionic Tree & Preqs flow.

Post by Zyxpsilon »

There was this comprehensive work done by (can't remember, but it was a set of Colored-Boxes linked with dependencies) someone that revealed the exact pre-requisites for each Perks. But v1.3 seems to have scrambled some of these and i can't find the code involved that declares the newest flow.

Anyone knows?

PS; I simply want to insert (with an already scripted/compiled MOD) a direct reference image at the bottom of the "Training page" (as a pseudo fourth button) like this...

Image

It will need adjustments though. Thus why i ask for official details.
Tuhalu
Posts: 433
Joined: Wed Feb 01, 2017 9:02 pm

Re: New v1.3 Psionic Tree & Preqs flow.

Post by Tuhalu »

That would have been me. Looks like there are some changes in the prereqs.

From Src/LW_Overhaul/Classes/LWTemplateMods.uc (only includes LW specific requirements, vanilla requirements still apply):

Code: Select all

	if (Template.DataName == 'Fuse')
	{
		Template.PrerequisiteAbilities.AddItem ('Fortress');
	}

	if (Template.DataName == 'StasisShield')
	{
		Template.PrerequisiteAbilities.AddItem ('Fortress');
	}

	if (Template.DataName == 'Domination')
	{
		Template.PrerequisiteAbilities.AddItem ('Solace_LW');
		Template.PrerequisiteAbilities.AddItem ('Stasis');
	}

	if (Template.DataName == 'VoidRift')
	{
		Template.PrerequisiteAbilities.AddItem ('Fortress');
		Template.PrerequisiteAbilities.AddItem ('Solace_LW');
	}

	if (Template.DataName == 'NullLance')
	{
		Template.PrerequisiteAbilities.AddItem ('Stasis');
	}
Vanilla requirements are:
  • Soul Fire -> Soul Steal
  • Insanity -> Schism
  • Fortress -> Bastion
  • Mind Merge -> Soul Merge
  • Stasis -> Stasis Shield
1.3 Requirements are:
  • Fortress -> Fuse
  • Fortress -> Stasis Shield
  • Solace + Stasis -> Domination
  • Solace + Fortress -> Void Rift
  • Stasis -> Null Lance
The two lists merge together to give:
  • Soul Fire -> Soul Steal
  • Insanity -> Schism
  • Mind Merge -> Soul Merge
  • Fortress -> Bastion
  • Fortress -> Fuse
  • Fortress + Stasis -> Stasis Shield
  • Solace + Stasis -> Domination
  • Solace + Fortress -> Void Rift
  • Stasis -> Null Lance
Rank details for skills are from Config/XComClassData.ini:

Code: Select all

;************************************************************************************************************
;***                                        Psi Operative Class Data                                      ***
;************************************************************************************************************
[PsiOperative X2SoldierClassTemplate]

+AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="shotgun")
+AllowedWeapons=(SlotType=eInvSlot_HeavyWeapon, WeaponType="heavy")
!SoldierRanks=()

; 1st
+SoldierRanks=(  aAbilityTree=(	(AbilityName="Soulfire",  ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
								(AbilityName="QuickStudy") \\
							 ), \\
				aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_PsiOffense,StatAmount=45), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_Will,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=1)),\\
			 )
; 2nd
+SoldierRanks=(  aAbilityTree=(  (AbilityName="Insanity",  ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
								 (AbilityName="MindMerge",  ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
                             ), \\
				aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_PsiOffense,StatAmount=4,RandStatAmount=0,CapStatAmount=200), (StatType=eStat_Will,StatAmount=5)),\\
			 )
; 3rd
+SoldierRanks=(  aAbilityTree=(  (AbilityName="Schism",  ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
								 (AbilityName="Solace_LW",  ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
                             ), \\
			   aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_PsiOffense,StatAmount=4,RandStatAmount=0,CapStatAmount=200), (StatType=eStat_Will,StatAmount=0)),\\
			)
; 4th
+SoldierRanks=(  aAbilityTree=(  (AbilityName="SoulSteal",  ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
								(AbilityName="Fortress",  ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
                             ), \\
				aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_PsiOffense,StatAmount=4,RandStatAmount=0,CapStatAmount=200), (StatType=eStat_Will,StatAmount=0)),\\
			)
; 5th
+SoldierRanks=( aAbilityTree=(  (AbilityName="Stasis",  ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
							   (AbilityName="SoulMerge",  ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
                             ), \\
				aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_PsiOffense,StatAmount=4,RandStatAmount=0,CapStatAmount=200), (StatType=eStat_Will,StatAmount=0)),\\
			)
; 6th
+SoldierRanks=( aAbilityTree=(  (AbilityName="Fuse",  ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
							   (AbilityName="StasisShield",  ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
                             ), \\
				aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_PsiOffense,StatAmount=4,RandStatAmount=0,CapStatAmount=200), (StatType=eStat_Will,StatAmount=0)),\\
			)
; 7th
+SoldierRanks=(  aAbilityTree=( (AbilityName="NullLance",  ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
							   (AbilityName="Bastion",  ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
                             ), \\
				aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_PsiOffense,StatAmount=4,RandStatAmount=0,CapStatAmount=200), (StatType=eStat_Will,StatAmount=0)),\\
			)
; 8th
+SoldierRanks=( aAbilityTree=( (AbilityName="VoidRift",		ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
							  (AbilityName="Domination",	ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
                             ), \\
			   aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_PsiOffense,StatAmount=4,RandStatAmount=0,CapStatAmount=200), (StatType=eStat_Will,StatAmount=0)),\\
			)
So in 1.3, every Psi Operative should start with Soul Fire, Quick Study, Insanity and Mind Merge (which is why these requirements are removed. They are irrelevant!).
Zyxpsilon
Posts: 274
Joined: Fri Jan 20, 2017 1:26 am

Re: New v1.3 Psionic Tree & Preqs flow.

Post by Zyxpsilon »

Thanks a lot.. i didn't realize that stuff would be inserted in a dedicated Template of its own. No wonder i couldn't find anything worth trusting. :)

PS; Ooooopppsss.. hold on -- Isn't Solace still "required" in similar places as 1.2??
Tuhalu
Posts: 433
Joined: Wed Feb 01, 2017 9:02 pm

Re: New v1.3 Psionic Tree & Preqs flow.

Post by Tuhalu »

In 1.2, Solace was required for Void Rift and Bastion. In 1.3, it's required for Void Rift and Domination. So it's a bit different.
Zyxpsilon
Posts: 274
Joined: Fri Jan 20, 2017 1:26 am

Re: New v1.3 Psionic Tree & Preqs flow.

Post by Zyxpsilon »

Of course.. all it took was to move Fortress around and presume the newest four initializers are "still" in the flow chain for anything related below. What confused me i think is the lack of "SoulFire or Insanity" as still nearly true preqs for any subsequent depth.

Sooooo -- my (Tree Flow Reminders) schema will need to be overhauled accordingly. Time to re-design with facts!

Thanks for the clarification. :)
Zyxpsilon
Posts: 274
Joined: Fri Jan 20, 2017 1:26 am

Re: New v1.3 Psionic Tree & Preqs flow.

Post by Zyxpsilon »

Alright.. here's what i settled for. I think it's clear enough for rapid deductions. Should have a formal mod (with necessary XY-LOC configuration settings) -- in a few days! :P

Image
Zyxpsilon
Posts: 274
Joined: Fri Jan 20, 2017 1:26 am

Re: New v1.3 Psionic Tree & Preqs flow.

Post by Zyxpsilon »

Been thinking about designing something similar (but much more complex & dynamic) for AWC highly variable set of "Offensive & Defensive" Perks & how the whole process can indicate what true advantages we can receive for each Classes. Pïstols stuff is quite obvious but there are various combos that everyone surely aim for.

Considering that some other MODs already try Re-Roll tricks to address the bad-luck picks.. i'd say a direct Hinting structure (hopefully interactive as well) would help us through these numerous choices -- since each soldiers get different outputs anyway.

Sooooo -- any opinions, suggestions? :geek:
Post Reply