diff --git a/Enderal SE v2.1.0 Changelog.txt b/Enderal SE v2.1.0 Changelog.txt index 4bd1cc79..e5adf5c8 100644 --- a/Enderal SE v2.1.0 Changelog.txt +++ b/Enderal SE v2.1.0 Changelog.txt @@ -37,14 +37,6 @@ User interface: -- Gold bonuses (lockpicking skill) and contents of hidden stashes (pickpocketing skill) get added automatically after a very short delay without opening the container menu. -- Disabled loot menu on containers, triggering quest or achievement events. -Werewolf updates: -- Expanded the collision box, making werewolves and melee builds more viable against other werewolves, Bonerippers, and Vatyrs. -- Fixed freezing in the beginning of one of werewolf killmoves thanks to improved werewolf behaviors from Precision Creatures by NickaNack. -- Fixed inability to turn off werewolf killmoves. -- Fixed inability to break spider webs. -- Werewolf does not need a shovel to dig up a mound. -- Fixed restoring player's speed with applied speedmult effects. - Gameplay changes: - Added map markers to wishing wells. - Fixed rare cases, when bounty targets could not be killed. @@ -77,6 +69,15 @@ Gameplay changes: - Fixed pickup sounds not playing on first try after game start. - Many small fixes and optimizations. +Werewolf updates: +- Expanded the collision box, making werewolves and melee builds more viable against other werewolves, Bonerippers, and Vatyrs. +- Fixed freezing in the beginning of one of werewolf killmoves thanks to improved werewolf behaviors from Precision Creatures by NickaNack. +- Fixed inability to turn off werewolf killmoves. +- Fixed inability to break spider webs. +- Werewolf does not need a shovel to dig up a mound. +- Fixed restoring player's speed with applied speedmult effects. +- Fixed Wolf Claws turning player into a werewolf without drinking a potion. + 2.0.12.5 (2023-10-21) - Fixed infinite loop in _00E_BelloScript, reported by Lirk. diff --git a/Skyrim.esm b/Skyrim.esm index 0adbe419..d46e6c22 100644 Binary files a/Skyrim.esm and b/Skyrim.esm differ diff --git a/scripts/EnderalUpgradeAlias.pex b/scripts/EnderalUpgradeAlias.pex deleted file mode 100644 index 4acc599a..00000000 Binary files a/scripts/EnderalUpgradeAlias.pex and /dev/null differ diff --git a/scripts/_00E_EnderalVersion.pex b/scripts/_00E_EnderalVersion.pex new file mode 100644 index 00000000..4f710afb Binary files /dev/null and b/scripts/_00E_EnderalVersion.pex differ diff --git a/scripts/_00E_IntegrityCheckAlias.pex b/scripts/_00E_IntegrityCheckAlias.pex index 2d9a4d2d..4662b59a 100644 Binary files a/scripts/_00E_IntegrityCheckAlias.pex and b/scripts/_00E_IntegrityCheckAlias.pex differ diff --git a/scripts/headchopblockhookupscript.pex b/scripts/headchopblockhookupscript.pex index fe926dd8..98f9fa99 100644 Binary files a/scripts/headchopblockhookupscript.pex and b/scripts/headchopblockhookupscript.pex differ diff --git a/scripts/qf_mq101_0003372b.pex b/scripts/qf_mq101_0003372b.pex index f73e97b3..788535ab 100644 Binary files a/scripts/qf_mq101_0003372b.pex and b/scripts/qf_mq101_0003372b.pex differ diff --git a/scripts/scriptarchiveorder.txt b/scripts/scriptarchiveorder.txt index 3dd4fca5..c259e4c6 100644 --- a/scripts/scriptarchiveorder.txt +++ b/scripts/scriptarchiveorder.txt @@ -165,7 +165,7 @@ scripts\enchantment.pex scripts\encounterzone.pex scripts\enderalfunctions.pex scripts\EnderalSteam.pex -scripts\EnderalUpgradeAlias.pex +scripts\_00E_EnderalVersion.pex scripts\environmentscene02_functions.pex scripts\environmentscene06_functions.pex scripts\equipslot.pex diff --git a/source/scripts/EnderalUpgradeAlias.psc b/source/scripts/EnderalUpgradeAlias.psc deleted file mode 100644 index 2e8112b2..00000000 --- a/source/scripts/EnderalUpgradeAlias.psc +++ /dev/null @@ -1,29 +0,0 @@ -Scriptname EnderalUpgradeAlias extends ReferenceAlias Hidden -{This script handles game version upgrades, DO NOT MODIFY.} - -Float Property CURRENT_PATCH_VERSION = 2.1 AutoReadOnly -float fPatchVersion - -Event OnInit() - - ; MQP01 - Quest startQuest = Game.GetForm(0x46F1A) as Quest - if startQuest.IsStageDone(10) || startQuest.IsCompleted() - While Utility.IsInMenuMode() - Utility.WaitMenuMode(0.1) - EndWhile - - Debug.MessageBox("A savegame was loaded which was made before the release of Enderal SE 2.1. In this save, several new features won't be available and there is a chance that you'll encounter grave bugs. Please, start a new game.") - ;Game.QuitToMainMenu() - endif - -EndEvent - -Event OnPlayerLoadGame() - - if fPatchVersion < CURRENT_PATCH_VERSION - ; - fPatchVersion = CURRENT_PATCH_VERSION - endif - -EndEvent diff --git a/source/scripts/_00E_EnderalVersion.psc b/source/scripts/_00E_EnderalVersion.psc new file mode 100644 index 00000000..ac47e034 --- /dev/null +++ b/source/scripts/_00E_EnderalVersion.psc @@ -0,0 +1,35 @@ +Scriptname _00E_EnderalVersion extends ReferenceAlias Hidden +{This script handles Enderal SE updates, DO NOT MODIFY.} + +int iPatchVersion + +; Do not make comparisons with GetVersionFull(), versions are not float numbers, use GetVersion(). +float function _GetVersionFull() global + ; ABCD.E + ; A - engine version (1 - LE, 2 - SE) + ; B - backward-incompatible update + ; C - backward-compatible update + ; D - hotfix + ; E - build + return 2100.0 +endfunction + +int function GetVersion() global + return Math.Floor(_GetVersionFull()) +endfunction + +Event OnInit() + + iPatchVersion = GetVersion() + +EndEvent + +Event OnPlayerLoadGame() + + if iPatchVersion < GetVersion() + ;Utility.Wait(0.1) ; wait for menu mode to end + ; + iPatchVersion = GetVersion() + endif + +EndEvent diff --git a/source/scripts/_00E_IntegrityCheckAlias.psc b/source/scripts/_00E_IntegrityCheckAlias.psc index 186558f1..09d9d42f 100644 --- a/source/scripts/_00E_IntegrityCheckAlias.psc +++ b/source/scripts/_00E_IntegrityCheckAlias.psc @@ -1,7 +1,16 @@ Scriptname _00E_IntegrityCheckAlias extends ReferenceAlias Hidden Event OnInit() + + if Game.GetRealHoursPassed() > 0.005 ; 18 seconds + Utility.Wait(0.1) ; wait for menu mode to end + ;Game.QuitToMainMenu() + Debug.MessageBox("Savegames, made before the release of Enderal SE 2.1, are incompatible with the current version. Please, start a new game.") + ;return + endif + RegisterForSingleUpdate(2.0) ; Give a few seconds for the game to warm up at the start + EndEvent Event OnPlayerLoadGame() @@ -18,6 +27,7 @@ Event OnUpdate() if _00E_FS_IsForgottenStoriesActivated.GetValue() as Int != 1 Game.QuitToMainMenu() Debug.MessageBox("Enderal - Forgotten Stories.esm is not loaded! The game will not run properly.") + return EndIf _00E_Func_CheckSKSE.Run() diff --git a/source/scripts/headchopblockhookupscript.psc b/source/scripts/headchopblockhookupscript.psc index b1f403bd..f3f7ac94 100644 --- a/source/scripts/headchopblockhookupscript.psc +++ b/source/scripts/headchopblockhookupscript.psc @@ -24,8 +24,6 @@ Keyword property executionerKeyword auto Keyword property executionGuardKeyword auto {The keyword that designates the executioner from the soon to be dead.} -Quest Property MQ101 Auto - ;***************************************** auto STATE readyToChop @@ -94,7 +92,6 @@ Event OnUpdate() ; debug.trace(self+ "player play idle failed" ) endif wait(5) - MQ101.SetCurrentStageID(98) else if ( !myExecutionee.PlayIdle( animIdle ) ) ; debug.trace(self+ " play idle failed" ) diff --git a/source/scripts/qf_mq101_0003372b.psc b/source/scripts/qf_mq101_0003372b.psc index b9683393..9bfebe87 100644 --- a/source/scripts/qf_mq101_0003372b.psc +++ b/source/scripts/qf_mq101_0003372b.psc @@ -2,16 +2,6 @@ ;NEXT FRAGMENT INDEX 332 Scriptname QF_MQ101_0003372B Extends Quest Hidden -;BEGIN ALIAS PROPERTY Player -;ALIAS PROPERTY TYPE ReferenceAlias -ReferenceAlias Property Alias_Player Auto -;END ALIAS PROPERTY - -;BEGIN ALIAS PROPERTY StartMarkerRef -;ALIAS PROPERTY TYPE ReferenceAlias -ReferenceAlias Property Alias_StartMarkerRef Auto -;END ALIAS PROPERTY - ;BEGIN FRAGMENT Fragment_2 Function Fragment_2() ;BEGIN CODE @@ -23,8 +13,9 @@ EndFunction ;BEGIN FRAGMENT Fragment_332 Function Fragment_332() ;BEGIN CODE -game.GetPlayer().RemoveAllItems(none, false, false) -game.GetPlayer().MoveTo(Alias_StartMarkerRef.GetReference(), 0.000000, 0.000000, 0.000000, true) +Actor PlayerREF = Game.GetForm(0x14) as Actor +PlayerREF.RemoveAllItems(none, false, false) +PlayerREF.MoveTo(PlayerStartMarkerNew) if EnderalFunctions.GetNewGameCount() > 1 Game.QuitToMainMenu() @@ -35,3 +26,5 @@ EndFunction ;END FRAGMENT ;END FRAGMENT CODE - Do not edit anything between this and the begin comment + +ObjectReference Property PlayerStartMarkerNew Auto