scn IsArmorHeavyQuestSCPTRef rArmorFloat fWeightThreshold;Short bIsArmorHeavyGLOB <--- Probably best if a global to be checked by the weapon(s)Begin GameMode If FOSE Set rArmor to Player.GetEquippedObject 2 ; Upper body If ((rArmor.GetWeight >= fWeightThreshold) != bIsArmorHeavyGLOB) Set bIsArmorHeavyGLOB to (bIsArmorHeavyGLOB == 0) EndIf ElseIf (Player.GetEquipped HeavyArmorFLST != bIsArmorHeavyGLOB) Set bIsArmorHeavyGLOB to (bIsArmorHeavyGLOB == 0) EndIfEnd;========== Repeaed in MenuMode to catch the player changing sooner =========Begin MenuMode 1 If FOSE Set rArmor to Player.GetEquippedObject 2 ; Upper body If ((rArmor.GetWeight >= fWeightThreshold) != bIsArmorHeavyGLOB) Set bIsArmorHeavyGLOB to (bIsArmorHeavyGLOB == 0) EndIf ElseIf (Player.GetEquipped HeavyArmorFLST != bIsArmorHeavyGLOB) Set bIsArmorHeavyGLOB to (bIsArmorHeavyGLOB == 0) EndIfEnd...then the weapon(s) could be scripted with...
If bIsArmorHeavyGLOB ; Heavy armor code Else ; Light armor code EndIf