From ddf5960320029600b961d865ebdb2ffb214294d6 Mon Sep 17 00:00:00 2001 From: Eddoursul Date: Fri, 27 Oct 2023 21:14:07 +0200 Subject: [PATCH] Moved integrity checks to a separate quest --- IntegrityCheck.esp | Bin 0 -> 455 bytes scripts/_00E_IntegrityCheckAlias.pex | Bin 0 -> 1362 bytes scripts/_00e_playersetupscript.pex | Bin 4497 -> 3809 bytes source/scripts/_00E_IntegrityCheckAlias.psc | 37 ++++++++++++++++++++ source/scripts/_00e_playersetupscript.psc | 25 ------------- 5 files changed, 37 insertions(+), 25 deletions(-) create mode 100644 IntegrityCheck.esp create mode 100644 scripts/_00E_IntegrityCheckAlias.pex create mode 100644 source/scripts/_00E_IntegrityCheckAlias.psc diff --git a/IntegrityCheck.esp b/IntegrityCheck.esp new file mode 100644 index 0000000000000000000000000000000000000000..131a35a57290dd15bfd226a1a84634048c66a914 GIT binary patch literal 455 zcmZ`#T}#6-6g}071BW2ngO3GY{TSlAgeKKuSGFcCf)Ar?VV1R943HA;kg_fyI!@CCq_T*&|c literal 0 HcmV?d00001 diff --git a/scripts/_00E_IntegrityCheckAlias.pex b/scripts/_00E_IntegrityCheckAlias.pex new file mode 100644 index 0000000000000000000000000000000000000000..436f20b644b3dd33f2d0561cd8043406f342b01f GIT binary patch literal 1362 zcmb7D(QZ>m5It+(*daJBl!THL=n`ltAgr`~su5C2i6cu*(-H)a*5=-cv#{BK`XNXton70(MXCh5vV3M{XXe~9yKkQV`A@wD0bcar^bcGeY;JB3`Zmz8 z)ZygEBg$VsGFti0$mdwvE(%wbzA_SRn&Hk^TZwzP@_)Hpd~t`ueo%pMZpQ^TfsH-e zw>sd$p8dtB6Dogls@PG-gw@oz=gOfAf$V;8r6!NYkuD0dIG;OP=%Afd2JI(wNF~{v z5>edgb`z1_{-E#QFYzc3`W4eC2Cr0!_RzQkWf*F8U%hsLE$yW{ctLrP z!Ldowk0{rNnhNQYj*FJYQyKR|sqGL;&TiXc;%j!h6VP&Yi-wvdjN-F9(D7&!*_Lw# z%_?ZaV@9j*`*xRXwd)E(>$%e5%$nwWgN2@PD$Htpi#lJEne|%oF_VsZ$oukaT5>w^4*6rrQdk!xH!rBTA)m4s zv9=s*V^XB7tQ?hYM5Q_D$h{F+`B()dd)ly;$`+DroUhcOgWLa=yrfW-HY!dsuS&j0 zJcg*%>`nZR1-`!mwfIINsLwzKG|}MQ6xrCxEIOF`RON(LR5_`nh0`KLCE1nT(vswR4pds)HTZ!MAzy*PebLOXW zCKFs{ifIX~FxPigF3(k27T~%o{JS#eMK<5RhBd4w4oz-wZP;H>UlUxY|wDPT+d#-xiRJS(6P$(Iq&>c!Qa3M7uFz pcI%AU5A0;$mjYkSNq1Y|>)DYS?yO@a72^r6;x1=Qmsn@H{snTwA;16t literal 0 HcmV?d00001 diff --git a/scripts/_00e_playersetupscript.pex b/scripts/_00e_playersetupscript.pex index 6cdc7d9175a2b1b54642b32c86e7d4df0f8f5fe6..60737b7de27e86a5e83ff9d54d84e541c2db5b92 100644 GIT binary patch literal 3809 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 diff --git a/source/scripts/_00E_IntegrityCheckAlias.psc b/source/scripts/_00E_IntegrityCheckAlias.psc new file mode 100644 index 00000000..35c6e72f --- /dev/null +++ b/source/scripts/_00E_IntegrityCheckAlias.psc @@ -0,0 +1,37 @@ +Scriptname _00E_IntegrityCheckAlias extends ReferenceAlias Hidden + +Event OnInit() + + ; needs the IsInMenuMode() check to prevent stuck messages + While Utility.IsInMenuMode() + Utility.WaitMenuMode(0.1) + EndWhile + + CheckForgottenStories() + + _00E_Func_CheckSKSE.Run() + _00E_Func_CheckEnderalDLL.Run() + +EndEvent + +Event OnPlayerLoadGame() + + CheckForgottenStories() + + _00E_Func_CheckSKSE.Run() + _00E_Func_CheckEnderalDLL.Run() + +EndEvent + +function CheckForgottenStories() + ; If Enderal - Forgotten Stories.esm is not loaded, kick the player back to main menu + + if _00E_FS_IsForgottenStoriesActivated.GetValue() as Int != 1 + Utility.wait(2.0) + Game.QuitToMainMenu() + Debug.MessageBox("Enderal - Forgotten Stories.esm is not loaded! The game will not run properly. Open Data Files and enable it.") + return + EndIf +endfunction + +GlobalVariable Property _00E_FS_IsForgottenStoriesActivated Auto diff --git a/source/scripts/_00e_playersetupscript.psc b/source/scripts/_00e_playersetupscript.psc index e832cd0d..d0c5050e 100644 --- a/source/scripts/_00e_playersetupscript.psc +++ b/source/scripts/_00e_playersetupscript.psc @@ -14,16 +14,6 @@ Event OnInit() If self != (PlayerREF as ObjectReference) return EndIf - - ; needs the IsInMenuMode() check to prevent stuck messages when FS is not loaded - While Utility.IsInMenuMode() - Utility.WaitMenuMode(0.1) - EndWhile - - CheckForgottenStories() - - _00E_Func_CheckSKSE.Run() - _00E_Func_CheckEnderalDLL.Run() GoToState("RealPlayer") PlayerREF.SetActorValue("speedMult", 95) @@ -43,11 +33,6 @@ EndEvent Event OnPlayerLoadGame() If self == (PlayerREF as ObjectReference) ; A check just in case. Most likely this condition is always True - CheckForgottenStories() - - _00E_Func_CheckSKSE.Run() - _00E_Func_CheckEnderalDLL.Run() - Maintenance() If GetState() != "RealPlayer" GoToState("RealPlayer") @@ -129,16 +114,6 @@ EndFunction ; MAINTENANCE ;===================================================================================== -function CheckForgottenStories() - ; If Enderal - Forgotten Stories.esm is not loaded, kick the player back to main menu - if (Game.GetForm(0x4320E) as GlobalVariable).GetValue() as Int != 1 - Utility.wait(2.0) - Game.QuitToMainMenu() - Debug.MessageBox("Enderal - Forgotten Stories.esm is not loaded! The game will not run properly. Open Data Files and enable it.") - return - EndIf -endfunction - Function Maintenance() ; changes to the actor value healrate will not persist in consecutive saves