Moved ResetArmorWeightPerks() to a separate quest
This commit is contained in:
parent
7e77aa6acb
commit
54dfde9cbf
BIN
WeightPerkQuest.esp
Normal file
BIN
WeightPerkQuest.esp
Normal file
Binary file not shown.
BIN
scripts/ArmorWeightPerkFixAlias.pex
Normal file
BIN
scripts/ArmorWeightPerkFixAlias.pex
Normal file
Binary file not shown.
Binary file not shown.
25
source/scripts/ArmorWeightPerkFixAlias.psc
Normal file
25
source/scripts/ArmorWeightPerkFixAlias.psc
Normal file
@ -0,0 +1,25 @@
|
||||
Scriptname ArmorWeightPerkFixAlias extends ReferenceAlias Hidden
|
||||
|
||||
Event OnPlayerLoadGame()
|
||||
|
||||
Actor PlayerREF = GetReference() as Actor
|
||||
|
||||
; Perks modifying armor weights need some push on each game load to work.
|
||||
; The push is needed only if the player is over-encumbered on game load.
|
||||
; If the player is not over-encumbered, the push is not needed because checking the inventory, picking up items, sheathing/drawing a weapon will reset the perks anyway.
|
||||
If PlayerREF.IsOverEncumbered()
|
||||
_ResetPerk(PlayerREF, _00E_Class_Keeper_P05_C_Conditioning)
|
||||
_ResetPerk(PlayerREF, _00E_Class_Vagrant_P05_B_Lightweight)
|
||||
EndIf
|
||||
|
||||
EndEvent
|
||||
|
||||
Function _ResetPerk(Actor PlayerREF, Perk p)
|
||||
If PlayerREF.HasPerk(p)
|
||||
PlayerREF.RemovePerk(p)
|
||||
PlayerREF.AddPerk(p)
|
||||
EndIf
|
||||
EndFunction
|
||||
|
||||
Perk Property _00E_Class_Keeper_P05_C_Conditioning Auto
|
||||
Perk Property _00E_Class_Vagrant_P05_B_Lightweight Auto
|
@ -79,24 +79,6 @@ Function RefreshMountNamesOnLoad()
|
||||
|
||||
EndFunction
|
||||
|
||||
Function _ResetPerk(Perk p)
|
||||
If PlayerREF.HasPerk(p)
|
||||
PlayerREF.RemovePerk(p)
|
||||
PlayerREF.AddPerk(p)
|
||||
EndIf
|
||||
EndFunction
|
||||
|
||||
Function ResetArmorWeightPerks()
|
||||
|
||||
; Perks modifying armor weights need some push on each game load to work.
|
||||
; The push is needed only if the player is over-encumbered on game load.
|
||||
; If the player is not over-encumbered, the push is not needed because checking the inventory, picking up items, sheathing/drawing a weapon will reset the perks anyway.
|
||||
If PlayerREF.IsOverEncumbered()
|
||||
_ResetPerk(_00E_Class_Keeper_P05_C_Conditioning)
|
||||
_ResetPerk(_00E_Class_Vagrant_P05_B_Lightweight)
|
||||
EndIf
|
||||
|
||||
EndFunction
|
||||
|
||||
;=====================================================================================
|
||||
; MAINTENANCE
|
||||
@ -120,8 +102,6 @@ Function Maintenance()
|
||||
|
||||
EnableDisableKillmove()
|
||||
|
||||
ResetArmorWeightPerks()
|
||||
|
||||
SetAutoSaveInterval()
|
||||
|
||||
FailsafeMQ05PrologueAliases()
|
||||
@ -143,6 +123,3 @@ Actor Property PlayerREF Auto
|
||||
FormList Property QuestsToStart Auto
|
||||
|
||||
GlobalVariable Property KillMove Auto
|
||||
|
||||
Perk Property _00E_Class_Keeper_P05_C_Conditioning Auto
|
||||
Perk Property _00E_Class_Vagrant_P05_B_Lightweight Auto
|
||||
|
Loading…
Reference in New Issue
Block a user