Consolidated engine bugfixes into a separate quest

This commit is contained in:
Eddoursul 2024-01-11 13:14:18 +01:00
parent 781988d6d6
commit f5ae34fc7f
11 changed files with 29 additions and 32 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,7 +1,19 @@
Scriptname _00E_ArmorWeightPerkFixAlias extends ReferenceAlias Hidden Scriptname _00E_EngineBugfixAlias extends ReferenceAlias Hidden
int function _GetScriptVersion() Global
return 1
endFunction
Event OnInit()
_ClearStuckHelpMessages()
EndEvent
Event OnPlayerLoadGame() Event OnPlayerLoadGame()
; If a help message is visible during game reload, it gets stuck on screen
; This workaround shows an empty message to forcefully clear the queue
_ClearStuckHelpMessages()
Actor PlayerREF = GetReference() as Actor Actor PlayerREF = GetReference() as Actor
; Perks modifying armor weights need some push on each game load to work. ; Perks modifying armor weights need some push on each game load to work.
@ -12,6 +24,11 @@ Event OnPlayerLoadGame()
_ResetPerk(PlayerREF, _00E_Class_Vagrant_P05_B_Lightweight) _ResetPerk(PlayerREF, _00E_Class_Vagrant_P05_B_Lightweight)
EndIf EndIf
; Workaround for broken physics on loading saves, made on a mount
If PlayerREF.IsOnMount()
PlayerREF.Dismount()
EndIf
EndEvent EndEvent
Function _ResetPerk(Actor PlayerREF, Perk p) Function _ResetPerk(Actor PlayerREF, Perk p)
@ -21,5 +38,12 @@ Function _ResetPerk(Actor PlayerREF, Perk p)
EndIf EndIf
EndFunction EndFunction
Event _ClearStuckHelpMessages()
Message.ResetHelpMessage("Clear")
_00E_EmptyMessage.ShowAsHelpMessage("Clear", 0.1, 1, 1)
EndEvent
Perk Property _00E_Class_Keeper_P05_C_Conditioning Auto Perk Property _00E_Class_Keeper_P05_C_Conditioning Auto
Perk Property _00E_Class_Vagrant_P05_B_Lightweight Auto Perk Property _00E_Class_Vagrant_P05_B_Lightweight Auto
Message Property _00E_EmptyMessage Auto

View File

@ -1,14 +0,0 @@
Scriptname _00E_FixStuckHelpMessagesAlias extends ReferenceAlias Hidden
; Clears stuck help messages, leaking between game loads
Event OnInit()
OnPlayerLoadGame()
EndEvent
Event OnPlayerLoadGame()
Message.ResetHelpMessage("Clear")
_00E_MQP01_Thoughts01.ShowAsHelpMessage("Clear", 0.1, 1, 1)
EndEvent
Message Property _00E_MQP01_Thoughts01 Auto

View File

@ -258,8 +258,6 @@ Actor Property MQP01_FatherRef Auto
Scene Property MQP01_SC1_FatherArrivesInKitchen Auto Scene Property MQP01_SC1_FatherArrivesInKitchen Auto
Scene Property MQP01_SC2_FatherAccusesThePlayer Auto Scene Property MQP01_SC2_FatherAccusesThePlayer Auto
Message Property _00E_MQP01_Thoughts01 Auto
Sound Property _00E_MAGFXFireOilIgniteLow Auto Sound Property _00E_MAGFXFireOilIgniteLow Auto
Sound Property _00E_MQP01_InfantLaughing Auto Sound Property _00E_MQP01_InfantLaughing Auto
Sound Property FXFireEmbers02LP Auto Sound Property FXFireEmbers02LP Auto

View File

@ -1,4 +1,4 @@
Scriptname _00E_PlayerSetUpScript extends ObjectReference Scriptname _00E_PlayerSetUpScript extends Actor
{Initializes player's actor values} {Initializes player's actor values}
int function _GetScriptVersion() Global int function _GetScriptVersion() Global
@ -11,8 +11,8 @@ endFunction
Event OnInit() Event OnInit()
PlayerREF.SetActorValue("speedMult", 95) SetActorValue("speedMult", 95)
PlayerREF.SetActorValue("Healrate", 0) SetActorValue("Healrate", 0)
EndEvent EndEvent
@ -21,17 +21,6 @@ Event OnPlayerLoadGame()
; changes to the actor value healrate will not persist in consecutive saves ; changes to the actor value healrate will not persist in consecutive saves
; every time a save gets loaded the healrate needs to be set to 0, otherwise it will go back again to default at 0.7 ; every time a save gets loaded the healrate needs to be set to 0, otherwise it will go back again to default at 0.7
; this is called before active magic effects of potions or spells are applied to the player which could also alter the value ; this is called before active magic effects of potions or spells are applied to the player which could also alter the value
PlayerREF.SetActorValue("Healrate", 0) SetActorValue("Healrate", 0)
; Workaround for broken physics on loading saves, made on a mount
If PlayerREF.IsOnMount()
PlayerREF.Dismount()
EndIf
EndEvent EndEvent
;=====================================================================================
; PROPERTIES
;=====================================================================================
Actor Property PlayerREF Auto