WOTC: Second Wave Plus - Waht is "Stat_Cost=X" ?

Discussion of our XCOM 2 mods
Post Reply
flankengott
Posts: 2
Joined: Thu Nov 12, 2020 6:15 pm

WOTC: Second Wave Plus - Waht is "Stat_Cost=X" ?

Post by flankengott »

Hi all,
I installed the MOD WOTC: Second Wave Plus from Team Dragonpunk in Steam Workshop.

Dragonpunk Team thanked you at Steam Workshop:
"Special thanks to Long War Studios for teaching us (and the community) everything we know!
Team Dragonpunk is a diverse, multicultural, international team of men and women."

Now i checked the XComSecondWavePlus_Settings.ini in the MOD directory an i am asking myself what exactly Stat_Cost=X means and what effects is would have if i change the value from Stat_Cost=2 to Stat_Cost=7?

Waht does "Stat_Cost=X" ?

Any ideas?

XComSecondWavePlus_Settings.ini
+NCEStatModifiers=(StatType=eStat_HP , Stat_Range=1 , Stat_Min=-1 , Stat_Cost=5 ) ; Stat Range- rolls between +range and -range, where the minimum stat range is Stat_Min1
+NCEStatModifiers=(StatType=eStat_Offense, Stat_Range= 10, Stat_Min=-10 , Stat_Cost=2 ) ; This is a point system, each stat has a point value and it tries to balance it
+NCEStatModifiers=(StatType=eStat_Defense , Stat_Range= 5, Stat_Min=-5 , Stat_Cost= 4) ; Tolerance is the range of total "score" that will be applied to the unit
+NCEStatModifiers=(StatType=eStat_Mobility , Stat_Range= 2, Stat_Min=-2, Stat_Cost=8) ; TotalPoints is the base "score" aimed for with units.
User avatar
johnnylump
Site Admin
Posts: 1262
Joined: Wed Nov 11, 2015 4:12 am

Re: WOTC: Second Wave Plus - Waht is "Stat_Cost=X" ?

Post by johnnylump »

I don't recognize that exact setting from our mods, but my guess is that soldiers with the "not created equally" option turned on "buy" stats and that's their relative cost. So 4 points of aim is valued the same as 1 point of mobility.
flankengott
Posts: 2
Joined: Thu Nov 12, 2020 6:15 pm

Re: WOTC: Second Wave Plus - Waht is "Stat_Cost=X" ?

Post by flankengott »

Hi johnnylump,

thanks for your quick answer. :D
I appreciate that, very much :)

Yes, it is "not created equally"
But, I am not sure if I understood your explanation correctly...

Lets say, a Soldier is starting with an offense of "65".
Now with "Stat_Range= 10, Stat_Min=-10" the Soldier will start with a offense between 55 and 75.
Is that right?

What is now the "relative cost" ?
Could you please go in detail what "So 4 points of aim is valued the same as 1 point of mobility." means?

Here is the full content of the XComSecondWavePlus_Settings.ini

Code: Select all

;A configuration File

;+NCEStatModifiers=(StatType= , Stat_Range= , Stat_Min= , Stat_Cost= )
;+EpigeneticsStatModifiers=(StatType= , Stat_Range= , Stat_Min= , Stat_Cost= )
;+FTypeRF=(StatType= ,RedFogCalcType= ,Range= )

;---------------------------------------------------------------------
;---------------------------------------------------------------------

[Second_Wave_Plus_WOTC.SecondWave_NotCreatedEqually_GameState]

;----------Not Created Equally INI Settings---------------------------

bIs_NCE_Activated=true
bIs_NCERobotic_Activated=false

+NCEStatModifiers=(StatType=eStat_HP , Stat_Range=1 , Stat_Min=-1 , Stat_Cost=5 ) ; Stat Range- rolls between +range and -range, where the minimum stat range is Stat_Min1
+NCEStatModifiers=(StatType=eStat_Offense, Stat_Range= 10, Stat_Min=-10 , Stat_Cost=2 ) ; This is a point system, each stat has a point value and it tries to balance it
+NCEStatModifiers=(StatType=eStat_Defense , Stat_Range= 5, Stat_Min=-5 , Stat_Cost= 4) ; Tolerance is the range of total "score" that will be applied to the unit
+NCEStatModifiers=(StatType=eStat_Mobility , Stat_Range= 2, Stat_Min=-2, Stat_Cost=8) ; TotalPoints is the base "score" aimed for with units.
+NCEStatModifiers=(StatType=eStat_Will, Stat_Range= 10, Stat_Min=-10 , Stat_Cost= 0)
+NCEStatModifiers=(StatType=eStat_Hacking , Stat_Range= 10, Stat_Min=-4 , Stat_Cost= 1)
+NCEStatModifiers=(StatType=eStat_Dodge , Stat_Range=10 , Stat_Min=0 , Stat_Cost= 3)
+NCEStatModifiers=(StatType=eStat_SightRadius , Stat_Range=0 , Stat_Min=0 , Stat_Cost=0 )
+NCEStatModifiers=(StatType=eStat_FlankingCritChance , Stat_Range=50 , Stat_Min=-10 , Stat_Cost=0 )

TotalPoints_XCom=5 ; for some reason 5 seems to work wonderfully, otherwise the aim is a bit low.
Tolerance_XCom=10

+ExcludedClasses="CentralOfficer"
+ExcludedClasses="ChiefEngineer"

;----------Expensive Talent INI Settings------------------------------

bIs_ExpensiveTalent_Activated=true ; Better XCOM soliders cost more to recruit and vice versa.
ExpensiveTalentMultiplier=0.75

;---------------------------------------------------------------------
;---------------------------------------------------------------------

[Second_Wave_Plus_WOTC.SecondWave_HiddenPotential_GameState]

;----------Hidden Potential INI Settings------------------------------

HiddenPotentialRandomPercentage=100 ; Percentage from the original upgrades you'll roll on - so 100% means possible upgrades are from 0% to 200% normal.
bIs_HiddenPotential_Activated=true

+ExcludedClasses="CentralOfficer"
+ExcludedClasses="ChiefEngineer"

;---------------------------------------------------------------------
;---------------------------------------------------------------------

[Second_Wave_Plus_WOTC.SecondWave_CommandersChoice_GameState]

;----------Commander's Choice INI Settings----------------------------

bIs_CommandersChoice_Activated=true
bIs_CommandersChoiceForVets_Activated=true

+ExcludedClasses="CentralOfficer"
+ExcludedClasses="ChiefEngineer"
+ExcludedClasses="PsiOperative"
+ExcludedClasses="Rookie"
+ExcludedClasses="Spark"
+ExcludedClasses="Skirmisher"
+ExcludedClasses="Reaper"
+ExcludedClasses="Templar"
;---------------------------------------------------------------------
;---------------------------------------------------------------------

[Second_Wave_Plus_WOTC.SecondWave_AbsolutlyCritical_GameState]

;--------- Absolutly Critical INI Settings----------------------------

bIs_AbsolutlyCritical_Activated=true         ;Overrides Everything, make sure it's true if you want to play with Absolutly Critical.
bIs_AbsolutlyCritical_XCOM_Activated=true
bIs_AbsolutlyCritical_Advent_Activated=true
bIs_AbsolutlyCritical_Aliens_Activated=true

;---------------------------------------------------------------------
;---------------------------------------------------------------------

[Second_Wave_Plus_WOTC.SecondWave_Epigenetics_GameState]

;----------Epigenetics INI Settings-----------------------------------

bIs_Epigenetics_Activated=true
bIs_EpigeneticsRobotics_Activated=false

+ExcludeUnitFromEpigenetics= "BerserkerQueen"
+ExcludeUnitFromEpigenetics= "ArchonKing"
+ExcludeUnitFromEpigenetics= "ViperKing"

+EpigeneticsStatModifiers=(StatType=eStat_HP , Stat_Range=1 , Stat_Min=-1 , Stat_Cost=5 ) ; Stat Range- rolls between +range and -range, where the minimum stat is Stat_Min
+EpigeneticsStatModifiers=(StatType=eStat_Offense, Stat_Range= 10, Stat_Min=-10 , Stat_Cost=2 ) ; This is a point system, each stat has a point value and it tries to balance it
+EpigeneticsStatModifiers=(StatType=eStat_Defense , Stat_Range= 5, Stat_Min=-5 , Stat_Cost= 4) ; Tolerance is the range of total "score" that will be applied to the unit
+EpigeneticsStatModifiers=(StatType=eStat_Mobility , Stat_Range= 2, Stat_Min=-2, Stat_Cost=8) ; TotalPoints is the base "score" aimed for with units.
+EpigeneticsStatModifiers=(StatType=eStat_Will, Stat_Range= 10, Stat_Min=-10 , Stat_Cost= 0)
+EpigeneticsStatModifiers=(StatType=eStat_Dodge , Stat_Range=10 , Stat_Min=-10 , Stat_Cost= 3)
+EpigeneticsStatModifiers=(StatType=eStat_SightRadius , Stat_Range=0 , Stat_Min=0 , Stat_Cost=0 )
+EpigeneticsStatModifiers=(StatType=eStat_FlankingCritChance , Stat_Range=50 , Stat_Min=-50 , Stat_Cost=0 )
+EpigeneticsStatModifiers=(StatType=eStat_PsiOffense , Stat_Range=20 , Stat_Min=-20 , Stat_Cost=1 )

+EpigeneticsBaseStats=(StatType=eStat_HP ,					Stat=8) ; Base stats- Based mostly on mutons.
+EpigeneticsBaseStats=(StatType=eStat_Offense ,				Stat=80)
+EpigeneticsBaseStats=(StatType=eStat_Defense ,				Stat=10)
+EpigeneticsBaseStats=(StatType=eStat_Mobility ,			Stat=12)
+EpigeneticsBaseStats=(StatType=eStat_Will ,				Stat=50) 
+EpigeneticsBaseStats=(StatType=eStat_Dodge ,				Stat=20) ; Based on Viper
+EpigeneticsBaseStats=(StatType=eStat_ArmorMitigation ,		Stat=1) 
+EpigeneticsBaseStats=(StatType=eStat_SightRadius ,			Stat=27)
+EpigeneticsBaseStats=(StatType=eStat_PsiOffense ,			Stat=120) ; Based on Sectoid
+EpigeneticsBaseStats=(StatType=eStat_FlankingCritChance ,	Stat=33)

TotalPoints_Enemy=0
Tolerance_Enemy=15

;---------------------------------------------------------------------
;---------------------------------------------------------------------

[Second_Wave_Plus_WOTC.SecondWave_RedFog_GameState]

;----------Red Fog INI Settings---------------------------------------

b_IsRedFogActive=true ; Disables everything if False
b_IsRedFogActive_Aliens=true
b_IsRedFogActive_XCom=true
b_IsRedFogActive_Robotics=true
b_UseGaussianEquasion=false ; Uses a Gaussian equasion rather than a linear one.

+FTypeRF=(StatType=eStat_Offense,RedFogCalcType=0,Range=0.3) ; Recommended range is from 0.3-0.6 though generally safe, range is the lowest fraction of that stat
+FTypeRF=(StatType=eStat_Hacking,RedFogCalcType=2,Range=0.5) ; Recommended range is safe from 0.5-0.8 though generally safe
+FTypeRF=(StatType=eStat_Mobility,RedFogCalcType=1,Range=0.7) ; Recommended range is safe from 0.7-0.9 Not safe under 0.7
+FTypeRF=(StatType=eStat_Will,RedFogCalcType=2,Range=0.5) ; Recommended range is safe from 0.5-0.8 though generally safe
+FTypeRF=(StatType=eStat_Dodge,RedFogCalcType=2,Range=0.5) ; Recommended range is safe from 0.5-0.8 though generally safe
+FTypeRF=(StatType=eStat_PsiOffense,RedFogCalcType=0,Range=0.3) ; Recommended range is safe from 0.3-0.6 though generally safe

;---------------------------------------------------------------------
;---------------------------------------------------------------------

[Second_Wave_Plus_WOTC.SecondWave_UIScreenSettings_GameState]

;----------------UI Settings Screen----------------------------------- 

+StatChangeRanges=(StatType=eStat_HP ,Range=3.0 ,Min=-2.0 ,Cost=5.0 ,RangeSteps=6 ,MinSteps=6 ,CostSteps=15 )
+StatChangeRanges=(StatType=eStat_Offense ,Range=10.0 ,Min=-10.0 ,Cost=2.0 ,RangeSteps=20 ,MinSteps=20 ,CostSteps=6 )
+StatChangeRanges=(StatType=eStat_Defense ,Range=5.0 ,Min=-5.0 ,Cost=4.0 ,RangeSteps=15 ,MinSteps=15 ,CostSteps=15 )
+StatChangeRanges=(StatType=eStat_Mobility ,Range=3.0 ,Min=-2.0 ,Cost=8.0 ,RangeSteps=6 ,MinSteps=6 ,CostSteps=20 )
+StatChangeRanges=(StatType=eStat_Will ,Range=10.0 ,Min=-10.0 ,Cost=0.0 ,RangeSteps=20 ,MinSteps=20,CostSteps=10 )
+StatChangeRanges=(StatType=eStat_Hacking ,Range=10.0 ,Min=-4.0 ,Cost=1.0 ,RangeSteps=15 ,MinSteps=14 ,CostSteps=10 )
+StatChangeRanges=(StatType=eStat_Dodge ,Range=10.0 ,Min=0.0 ,Cost=3.0 ,RangeSteps=15 ,MinSteps=10 ,CostSteps=13 )
+StatChangeRanges=(StatType=eStat_ArmorMitigation ,Range=2.0 ,Min=0.0 ,Cost=20.0 ,RangeSteps=5 ,MinSteps=5 ,CostSteps=30 )
+StatChangeRanges=(StatType=eStat_SightRadius ,Range=0.0 ,Min=0.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=10 ,CostSteps=10 )
+StatChangeRanges=(StatType=eStat_FlankingCritChance ,Range=50.0 ,Min=-10.0 ,Cost=0.0 ,RangeSteps=50 ,MinSteps=50 ,CostSteps=10 )
+StatChangeRanges=(StatType=eStat_PsiOffense ,Range=50.0 ,Min=0.0 ,Cost=1.0 ,RangeSteps=50 ,MinSteps=50 ,CostSteps=10 )
+StatChangeRanges=(StatType=eStat_HackDefense ,Range=0.0 ,Min=0.0 ,Cost=0.0 ,RangeSteps=100 ,MinSteps=100 ,CostSteps=20 )
+StatChangeRanges=(StatType=eStat_CritChance ,Range=50.0 ,Min=-20.0 ,Cost=0.0 ,RangeSteps=50 ,MinSteps=30 ,CostSteps=20 )
+StatChangeRanges=(StatType=eStat_Strength ,Range=0.0 ,Min=0.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=10 ,CostSteps=20 )
+StatChangeRanges=(StatType=eStat_ShieldHP ,Range=0.0 ,Min=0.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=10 ,CostSteps=20 )
+StatChangeRanges=(StatType=eStat_FlankingAimBonus ,Range=0.0 ,Min=0.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=10 ,CostSteps=20 )

+RedFogChangeRanges=(StatType=eStat_Offense ,Range=0.3 ,Min=0.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_Defense ,Range=0.1 ,Min=0.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_Mobility ,Range=0.7 ,Min=1.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_Will ,Range=0.5 ,Min=2.0,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_Hacking ,Range=0.5 ,Min=2.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_Dodge ,Range=0.5 ,Min=2.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_ArmorMitigation ,Range=0.1 ,Min=0.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_SightRadius ,Range=0.7 ,Min=1.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_FlankingCritChance ,Range=0.1 ,Min=0.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_PsiOffense ,Range=0.3 ,Min=0.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_HackDefense ,Range=0.1 ,Min=0.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_DetectionRadius ,Range=0.1 ,Min=2.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_CritChance ,Range=0.1 ,Min=0.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_Strength ,Range=0.1 ,Min=1.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_HearingRadius ,Range=0.1 ,Min=1.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )
+RedFogChangeRanges=(StatType=eStat_FlankingAimBonus ,Range=0.1 ,Min=0.0 ,Cost=0.0 ,RangeSteps=10 ,MinSteps=3 ,CostSteps=0 )

;---------------------------------------------------------------------
;---------------------------------------------------------------------

[Second_Wave_Plus_WOTC.SecondWave_NewEconomy_GameState]

;----------New Economy INI Settings-----------------------------------

b_IsNewEconomyActive=true ; Changes the income of regions
NewEconomyMaxRandomPercentage=50 ; The percentage out of the region income it rolls for so 50% means possible ranges are from 50% - 150% of the original income
MinimalRegionIncome=15

;---------------------------------------------------------------------
;---------------------------------------------------------------------
User avatar
johnnylump
Site Admin
Posts: 1262
Joined: Wed Nov 11, 2015 4:12 am

Re: WOTC: Second Wave Plus - Waht is "Stat_Cost=X" ?

Post by johnnylump »

Again, I can't speak for WOTC, but we had a system where soldiers randomly "buy" and "sell" stat points to give them different stats but overall have the same aggregate capability. I presume those numbers are how much buying and selling a point in a given stat cost. The stat ranges are boundaries on how far they can go in either direction.
Post Reply