diff --git a/Affinity conditions fix.esp b/Affinity conditions fix.esp new file mode 100644 index 00000000..c4c37190 Binary files /dev/null and b/Affinity conditions fix.esp differ diff --git a/scripts/_00E_AffinityControl.pex b/scripts/_00E_AffinityControl.pex index d4d78b79..64497968 100644 Binary files a/scripts/_00E_AffinityControl.pex and b/scripts/_00E_AffinityControl.pex differ diff --git a/scripts/_00e_crimequest_functions.pex b/scripts/_00e_crimequest_functions.pex index ef3d1dc1..07a86d56 100644 Binary files a/scripts/_00e_crimequest_functions.pex and b/scripts/_00e_crimequest_functions.pex differ diff --git a/source/scripts/_00E_AffinityControl.psc b/source/scripts/_00E_AffinityControl.psc index e4b53f0a..750bfd6b 100644 --- a/source/scripts/_00E_AffinityControl.psc +++ b/source/scripts/_00E_AffinityControl.psc @@ -1,4 +1,4 @@ -Scriptname _00E_AffinityControl extends ReferenceAlias Hidden Conditional +Scriptname _00E_AffinityControl extends ReferenceAlias Conditional ; ATTENTION ; this script contains a new affinity system that requires FS. Therefore, many elements in this script are redundant, as @@ -192,7 +192,7 @@ Function UpdateClassIndices(Int[] PerkDistribution) EndWhile UpdateMajorSchool() - iMajorClassIndex = MajorClassIndex + _00E_MajorClassIndex.SetValue(MajorClassIndex) ; Update minor class/perk tree If MinorClassIndex > 0 && (MinorClassIndex == MajorClassIndex || PerkDistribution[MinorClassIndex] == 0) @@ -207,7 +207,7 @@ Function UpdateClassIndices(Int[] PerkDistribution) Index += 1 EndWhile - iMinorClassIndex = MinorClassIndex + _00E_MinorClassIndex.SetValue(MinorClassIndex) EndFunction @@ -490,9 +490,6 @@ EndFunction ; PROPERTIES ;===================================================================================== -int Property iMajorClassIndex Auto Conditional Hidden -int Property iMinorClassIndex Auto Conditional Hidden - int Property MajorClassIndex Auto Hidden int Property MinorClassIndex Auto Hidden int Property MajorSchool Auto @@ -669,3 +666,6 @@ Int Affinity_ScourgeOfTheWildsIndex Int Affinity_SoulcallerIndex Bool BlockClassUpdates + +GlobalVariable Property _00E_MajorClassIndex Auto +GlobalVariable Property _00E_MinorClassIndex Auto diff --git a/source/scripts/_00e_crimequest_functions.psc b/source/scripts/_00e_crimequest_functions.psc index f725f610..fdbfc8a8 100644 --- a/source/scripts/_00e_crimequest_functions.psc +++ b/source/scripts/_00e_crimequest_functions.psc @@ -8,32 +8,34 @@ Function ReduceMainSkills() String sActorValueToReduce01 String sActorValueToReduce02 + + int iClassIndex = _00E_MajorClassIndex.GetValueInt() - If AffinityControl.iMajorClassIndex == 1 + If iClassIndex == 1 sActorValueToReduce01 = "Block" sActorValueToReduce02 = "HeavyArmor" - ElseIf AffinityControl.iMajorClassIndex == 2 + ElseIf iClassIndex == 2 sActorValueToReduce01 = "OneHanded" sActorValueToReduce02 = "LightArmor" - ElseIf AffinityControl.iMajorClassIndex == 3 + ElseIf iClassIndex == 3 sActorValueToReduce01 = "Destruction" sActorValueToReduce02 = "Restoration" - ElseIf AffinityControl.iMajorClassIndex == 4 + ElseIf iClassIndex == 4 sActorValueToReduce01 = "Sneak" sActorValueToReduce02 = "OneHanded" - ElseIf AffinityControl.iMajorClassIndex == 5 + ElseIf iClassIndex == 5 sActorValueToReduce01 = "Conjuration" sActorValueToReduce02 = "Illusion" - ElseIf AffinityControl.iMajorClassIndex == 6 + ElseIf iClassIndex == 6 sActorValueToReduce01 = "Restoration" sActorValueToReduce02 = "Alteration" - ElseIf AffinityControl.iMajorClassIndex == 7 + ElseIf iClassIndex == 7 sActorValueToReduce01 = "TwoHanded" sActorValueToReduce02 = "HeavyArmor" - ElseIf AffinityControl.iMajorClassIndex == 8 + ElseIf iClassIndex == 8 sActorValueToReduce01 = "Marksman" sActorValueToReduce02 = "LightArmor" - ElseIf AffinityControl.iMajorClassIndex == 9 + ElseIf iClassIndex == 9 sActorValueToReduce01 = "LightArmor" sActorValueToReduce02 = "Alchemy" Else @@ -57,10 +59,10 @@ EndFunction ; PROPERTIES ;===================================================================================== -_00E_AffinityControl Property AffinityControl Auto - Actor Property PlayerREF Auto GlobalVariable Property _00E_IsInJail Auto -Message Property _00E_CrimeQuest_ReduceSkillMessage Auto \ No newline at end of file +Message Property _00E_CrimeQuest_ReduceSkillMessage Auto + +GlobalVariable Property _00E_MajorClassIndex Auto