Moved global class index to a global variable

This commit is contained in:
Eddoursul 2024-03-01 17:37:16 +01:00
parent a1290dbd3b
commit acef06a364
5 changed files with 20 additions and 18 deletions

BIN
Affinity conditions fix.esp Normal file

Binary file not shown.

Binary file not shown.

View File

@ -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

View File

@ -9,31 +9,33 @@ Function ReduceMainSkills()
String sActorValueToReduce01
String sActorValueToReduce02
If AffinityControl.iMajorClassIndex == 1
int iClassIndex = _00E_MajorClassIndex.GetValueInt()
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
GlobalVariable Property _00E_MajorClassIndex Auto