Compare commits

..

No commits in common. "10e0891a83f4cb0a8cfdd370958bbd4f09998179" and "1abd908f4f41e7cdb5e64a0ac6e69e18c964f704" have entirely different histories.

10 changed files with 19 additions and 31 deletions

Binary file not shown.

View File

@ -8,16 +8,16 @@ Beware, spoilers ahead!
2.1.4 (TBD) 2.1.4 (TBD)
- Chinese Simplified localization revision by DaisyComment (no translation of lines added after 2.0.12.4 yet). - Chinese Simplified localization revision by DaisyComment (no translation of lines added after 2.0.12.4 yet).
- Fixed a random crash, occurring when guards on the outskirts of Ark or on the Farmers Coast are about to start a conversation scene and any of them is riding a horse. - Fixed a random crash, occuring when guards are about to start a conversation scene and any of them is riding a horse.
- Fixed help messages (in the middle of the screen) sometimes getting stuck in an infinite savebaked loop. - Fixed help messages (in the middle of the screen) sometimes getting stuck in an infinite savebaked loop.
- Dreamflower can be found without finishing The Secrets first. - Dreamflower can be found without finishing The Secrets first.
- Dimension Rift might get stuck in an infinite effect+sound loop if player left the cell while it's active. - Dimension Rift might get stuck in an infinite effect+sound loop if player left the cell while it's active.
- Fixed missing damage from spectral arrows produced by the Arcane Arrow affinity. - Fixed missing damage from spectral arrows produced by the Arcane Arrow affinity.
- Fixed dismantling recipes checking for Arcane Smith instead if Arcane Disassembling. - Fixed dismantling recipes checking for Arcane Smith instead if Arcane Disassembling.
- Fixed scripts causing black screen during starting quests with SkyParkour and possibly some other mods. - Fixed scripts causing black screen during starting quests with SkyParkour and possibly some other mods.
- Updated LOD with xLODGen beta 132 and DynDOLOD 3.00 alpha 194 by sheson. Fixed the stitched object LOD warning showing up on TexGen start. - Updated LOD with xLODGen beta 132 and DynDOLOD 3.00 alpha 194.
- Restored Tharael's forehead tattoo lost during the initial facegen conversion. - Restored Tharael's forehead tattoo lost during the initial facegen conversion.
- Entropic Blood: fixed inability to select a strong enemy as an attack target, fixed not working in god mode. - Fixed Entropic Blood not working in god mode, fixed inability to select a strong enemy as an attack target.
- Revised alchemy. Consistency and distribution changes across the board due to lack of a coherent alchemy system prior to this patch, such as: - Revised alchemy. Consistency and distribution changes across the board due to lack of a coherent alchemy system prior to this patch, such as:
-- Lower global magnitude modifier than in Skyrim (x1.5 against x4) combined with higher game difficulty made some grandfathered ingredients too weak, effect magnitudes were increased where necessary. -- Lower global magnitude modifier than in Skyrim (x1.5 against x4) combined with higher game difficulty made some grandfathered ingredients too weak, effect magnitudes were increased where necessary.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -181,7 +181,7 @@ SKSEPluginLoad(const LoadInterface* skse) {
auto* plugin = PluginDeclaration::GetSingleton(); auto* plugin = PluginDeclaration::GetSingleton();
auto version = plugin->GetVersion(); auto version = plugin->GetVersion();
logger::info("{} {} ({}) is loading...", plugin->GetName(), version, SemVerToInt({ version.major(), version.minor(), version.patch(), version.build() })); logger::info("{} {} is loading...", plugin->GetName(), version);
Init(skse); Init(skse);
InitializeMessaging(); InitializeMessaging();

View File

@ -58,8 +58,9 @@ namespace Papyrus::PapyrusFunctions
inline std::uint32_t GetEnderalVersionInt(RE::StaticFunctionTag*) inline std::uint32_t GetEnderalVersionInt(RE::StaticFunctionTag*)
{ {
const auto pluginVersion = SKSE::PluginDeclaration::GetSingleton()->GetVersion(); const auto pluginVersion = SKSE::PluginDeclaration::GetSingleton()->GetVersion();
std::string versionStr = std::format("{}{}{}{}", pluginVersion.major(), pluginVersion.minor(), pluginVersion.patch(), pluginVersion.build());
return SemVerToInt({ pluginVersion.major(), pluginVersion.minor(), pluginVersion.patch(), pluginVersion.build() }); return std::stoi(versionStr);
} }
inline RE::TESObjectREFR* GetCurrentContainer(RE::StaticFunctionTag*) inline RE::TESObjectREFR* GetCurrentContainer(RE::StaticFunctionTag*)

View File

@ -23,16 +23,6 @@ inline uint8_t NewGameCount(bool increment = false)
return g_NewGameStarted; return g_NewGameStarted;
} }
inline std::uint32_t SemVerToInt(std::vector<int> numbers)
{
if (numbers.size() < 4) {
logger::error("Invalid SemVerToInt argument");
return 0;
}
return (numbers[0] << 24) | (numbers[1] << 16) | (numbers[2] << 8) | numbers[3];
}
inline void CheckIncompatibleMods() inline void CheckIncompatibleMods()
{ {
const auto pluginVersion = SKSE::PluginDeclaration::GetSingleton()->GetVersion(); const auto pluginVersion = SKSE::PluginDeclaration::GetSingleton()->GetVersion();
@ -123,7 +113,7 @@ inline void CheckScriptVersions()
scripts["_00E_ContainerBonusControl"] = 2; scripts["_00E_ContainerBonusControl"] = 2;
scripts["_00E_AffinityControl"] = 1; scripts["_00E_AffinityControl"] = 1;
scripts["_00E_SympathyControl"] = 1; scripts["_00E_SympathyControl"] = 1;
scripts["_00E_EnderalMCM"] = 2; scripts["_00E_EnderalMCM"] = 1;
scripts["_00E_SkillControl"] = 1; scripts["_00E_SkillControl"] = 1;
scripts["_00E_VisionControl"] = 1; scripts["_00E_VisionControl"] = 1;
scripts["_00E_EnderalControls"] = 1; scripts["_00E_EnderalControls"] = 1;

View File

@ -19,14 +19,7 @@ EndEvent
Event OnPlayerLoadGame() Event OnPlayerLoadGame()
if iPatchVersion < 33620992 ; 2.1.4
Debug.Trace("Updating to v2.1.4 (33620992)...")
; Synchronize KillMoveConfig with KillMove
(Game.GetForm(0x49425) as GlobalVariable).SetValue((Game.GetForm(0x100F19) as GlobalVariable).GetValue())
endif
if iPatchVersion < GetVersion() if iPatchVersion < GetVersion()
Debug.Trace("Setting current version to " + GetVersion())
iPatchVersion = GetVersion() iPatchVersion = GetVersion()
endif endif

View File

@ -5,11 +5,10 @@ Scriptname _00E_EnderalMCM extends SKI_ConfigBase
;===================================================================================== ;=====================================================================================
int function _GetScriptVersion() Global int function _GetScriptVersion() Global
return 2 return 1
endFunction endFunction
event OnGameReload() event OnGameReload()
_00E_KillMove.SetValue(KillMoveConfig.GetValue() as bool)
if SKSE.GetVersion() == 0 if SKSE.GetVersion() == 0
Debug.Trace("NO SKSE: the Mod Configuration Menu is disabled") Debug.Trace("NO SKSE: the Mod Configuration Menu is disabled")
return return
@ -32,7 +31,7 @@ Event OnPageReset(string page)
toggleOID_ReadAloudBooks = AddToggleOption(_00E_ConfigMenu_DisableReadAloudBooks.GetName(), _00E_DisableReadAloudBooks.GetValue() != 0) toggleOID_ReadAloudBooks = AddToggleOption(_00E_ConfigMenu_DisableReadAloudBooks.GetName(), _00E_DisableReadAloudBooks.GetValue() != 0)
toggleOID_VideoSkip = AddToggleOption(_00E_ConfigMenu_VideoSkip.GetName(), _00E_VideoSkip.GetValue() != 0) toggleOID_VideoSkip = AddToggleOption(_00E_ConfigMenu_VideoSkip.GetName(), _00E_VideoSkip.GetValue() != 0)
toggleOID_ActorHealthBars = AddToggleOption(_00E_ConfigMenu_ActorHealthBars.GetName(), _00E_ActorHealthBarsEnabled.GetValue() != 0) toggleOID_ActorHealthBars = AddToggleOption(_00E_ConfigMenu_ActorHealthBars.GetName(), _00E_ActorHealthBarsEnabled.GetValue() != 0)
toggleOID_KillMoves = AddToggleOption(_00E_ConfigMenu_KillMove.GetName(), KillMoveConfig.GetValue() != 0) toggleOID_KillMoves = AddToggleOption(_00E_ConfigMenu_KillMove.GetName(), KillMove.GetValue() != 0)
SetCursorPosition(1) SetCursorPosition(1)
@ -95,8 +94,13 @@ Event OnOptionSelect(int option)
ActorHealthBarWidget.UnregisterEvents() ActorHealthBarWidget.UnregisterEvents()
endif endif
elseif option == toggleOID_KillMoves elseif option == toggleOID_KillMoves
ChangeCheckbox(toggleOID_KillMoves, KillMoveConfig) ChangeCheckbox(toggleOID_KillMoves, KillMove)
_00E_KillMove.SetValue(KillMoveConfig.GetValue() as bool)
if KillMove.GetValue()
Utility.SetINIBool("bVATSDisable:VATS", false)
else
Utility.SetINIBool("bVATSDisable:VATS", true)
endif
EndIf EndIf
EndEvent EndEvent
@ -191,7 +195,7 @@ GlobalVariable Property _00E_DisableOtherTutorials Auto
GlobalVariable Property _00E_DisableReadAloudBooks Auto GlobalVariable Property _00E_DisableReadAloudBooks Auto
GlobalVariable Property _00E_VideoSkip Auto GlobalVariable Property _00E_VideoSkip Auto
GlobalVariable Property _00E_ActorHealthBarsEnabled Auto GlobalVariable Property _00E_ActorHealthBarsEnabled Auto
GlobalVariable Property KillMoveConfig Auto GlobalVariable Property KillMove Auto
_00E_MeditationHotkeyAlias Property PlayerMeditation Auto _00E_MeditationHotkeyAlias Property PlayerMeditation Auto