From 315b7910eb6792e635508fbb03c588d887601c41 Mon Sep 17 00:00:00 2001 From: Eddoursul Date: Fri, 9 Feb 2024 17:57:35 +0100 Subject: [PATCH] Instant and SKSE-free dismantling list generation, added a script generating recipe conditions --- Dismantling update.esp | Bin 0 -> 164723 bytes Enderal SE v2.1.0 Changelog.txt | 3 +- ...- Generate COBJ dismantling conditions.pas | 3 + scripts/_00e_fs_dismantle_workbench.pex | Bin 3861 -> 1622 bytes .../scripts/_00e_fs_dismantle_workbench.psc | 111 +++++------------- 5 files changed, 32 insertions(+), 85 deletions(-) create mode 100644 Dismantling update.esp create mode 100644 _build/Enderal - Generate COBJ dismantling conditions.pas diff --git a/Dismantling update.esp b/Dismantling update.esp new file mode 100644 index 0000000000000000000000000000000000000000..4a5d255788069f0a033f791df7c7260b02122e58 GIT binary patch literal 164723 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 literal 0 HcmV?d00001 diff --git a/Enderal SE v2.1.0 Changelog.txt b/Enderal SE v2.1.0 Changelog.txt index d13ef5c1..65c1c075 100644 --- a/Enderal SE v2.1.0 Changelog.txt +++ b/Enderal SE v2.1.0 Changelog.txt @@ -45,8 +45,9 @@ Gameplay changes: - Fixed visibility of the picnic quest marker in Cuthbert's Legacy. - Fixed the issue, when Ark citizens stopped reacting to player's crimes after signing contract with the Golden Sickle (reported by BallOfFire). - Patched a source of infinite money, appearing during Every Day Like the Last, Part VI. -- Fixed inability to dismantle items after buying a house. - Player no longer can leave the first conversation with Jespar. +- Fixed inability to dismantle items after buying a house. +- Instant dismantling list generation. Surplus copies of equipped items can be dismantled as well. - Due to changes in time calculation with active Slow Time effect in Skyrim SE 1.6+, echo visions started to end prematurely. Durations of the echoes have been updated for 1.6, but the slowdown effect now stays a few seconds too long on 1.5.97. Completed an unfinished vision in The Shards of Order, Part II. - Added missing critical damage chance to 13 items, more consistent sound detection parameters. - Updated dagger crit bonuses: minimum multiplier set to 2, fixed missing crit bonus with the Ambush daggers, increased bonus with mystical and unique items. diff --git a/_build/Enderal - Generate COBJ dismantling conditions.pas b/_build/Enderal - Generate COBJ dismantling conditions.pas new file mode 100644 index 00000000..70f56689 --- /dev/null +++ b/_build/Enderal - Generate COBJ dismantling conditions.pas @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:564df24472fd8ed43f1fd7725b1c1c929e4c410a768b4cfd6872d10e1e7c42a7 +size 5830 diff --git a/scripts/_00e_fs_dismantle_workbench.pex b/scripts/_00e_fs_dismantle_workbench.pex index a72fec29d674ff7f6483bda90f1f25adf140f620..da8237262a4a70519107549510d779b874c54a0a 100644 GIT binary patch literal 1622 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 aSj+aUaTmQsTY~Eu?ipJg0y8bb@c##|Eak-j diff --git a/source/scripts/_00e_fs_dismantle_workbench.psc b/source/scripts/_00e_fs_dismantle_workbench.psc index 3a789922..408a4958 100644 --- a/source/scripts/_00e_fs_dismantle_workbench.psc +++ b/source/scripts/_00e_fs_dismantle_workbench.psc @@ -1,98 +1,41 @@ Scriptname _00E_FS_Dismantle_Workbench extends ObjectReference {lets the player melt down items to one of its base components, extends the crafting classes} -; properties Actor Property PlayerREF Auto -FormList Property _00E_DismantleList Auto -FormList Property _00E_DismantleItemList Auto -FormList Property _00E_DismantleResetList Auto -Message Property _00E_CheckForDismantlingMSG Auto -Keyword Property CraftingSmelterDismantling Auto -Keyword Property InvisibleDismantling Auto -Perk Property _00E_Class_Phasmalist_P04_A_ArcaneBreakdown Auto +ObjectReference Property _00E_RemoveAllItems_TrashContainer Auto -; events Event OnInit() BlockActivation() EndEvent Event OnActivate(ObjectReference akActionRef) - If Self.IsActivationBlocked() - RegisterForMenu("Crafting Menu") - ; GenerateMeltDownList() is relatively slow due to using formlists hence we notify the player that something is calculated in the background - _00E_CheckForDismantlingMSG.Show() - GenerateMeltDownList() - Self.Activate(PlayerREF, true) - EndIf + Weapon rightHand = PlayerREF.GetEquippedWeapon(false) + Weapon leftHand = PlayerREF.GetEquippedWeapon(true) -Endevent - -Event OnMenuClose(String MenuName) - - If menuName == ("Crafting Menu") - UnregisterForMenu("Crafting Menu") - ResetMeltDownList() - ; only enable the player controls after everything is reset properly - Game.EnablePlayerControls() - EndIf - -EndEvent - -; functions -Function GenerateMeltDownList() -; this function is responsible for filling a list based on the items in the players inventory which can be melted down to crafting material - - Int iTotalItemCount = PlayerREF.GetNumItems() - Int iItemCount = 0 - Form ItemToCheck - Bool bPlayerHasArcaneBreakdown = PlayerREF.HasPerk(_00E_Class_Phasmalist_P04_A_ArcaneBreakdown) - Form equippedItemLeft = PlayerRef.GetEquippedObject(0) - Form equippedItemRight = PlayerRef.GetEquippedObject(1) - - While iItemCount < iTotalItemCount - ItemToCheck = PlayerREF.GetNthForm(iItemCount) - - If (ItemToCheck as Armor) != None ; armor - ;checks the item if it's equipped and if it's either enchanted or if the player has the perk to dismantle enchantmented items - If ItemToCheck != equippedItemRight && ItemToCheck != equippedItemLeft && PlayerREF.IsEquipped(ItemToCheck) == False - If bPlayerHasArcaneBreakdown || (ItemToCheck as Armor).GetEnchantment() == None - AddItemToDismantleList(ItemToCheck) - EndIf - EndIf - ElseIf (ItemToCheck as Weapon) != None ; weapon - ;checks the item if it's equipped and if it's either enchanted or if the player has the perk to dismantle enchantmented items - ; Note: IsEquipped does not work for any stuff in the left hand when dual wielding - If ItemToCheck != equippedItemRight && ItemToCheck != equippedItemLeft - If bPlayerHasArcaneBreakdown || (ItemToCheck as Weapon).GetEnchantment() == None - AddItemToDismantleList(ItemToCheck) - EndIf - EndIf - EndIf + if rightHand || leftHand + _00E_RemoveAllItems_TrashContainer.RemoveAllItems() - iItemCount += 1 - EndWhile -EndFunction - -Function AddItemToDismantleList(Form itemToAdd) - ; if the item passes the checks, we need to set the workbenchkeyword of the respective constructible object so it gets displayed properly in the menu - ; it also adds it to the reset list so the keyword gets set back to the default one after exiting the menu - Int iFoundAtIndex = _00E_DismantleItemList.Find(itemToAdd) - If iFoundAtIndex >= 0 - ConstructibleObject recipe = _00E_DismantleList.GetAt(iFoundAtIndex) as ConstructibleObject - recipe.SetWorkBenchKeyword(CraftingSmelterDismantling) - _00E_DismantleResetList.AddForm(recipe) - EndIf -EndFunction - -Function ResetMeltDownList() - ; this function resets the workbenchkeyword back to default - Int iTotalRecipesToReset = _00E_DismantleResetList.GetSize() - Int iRecipesToReset = iTotalRecipesToReset + if rightHand == leftHand + _00E_RemoveAllItems_TrashContainer.AddItem(rightHand, 2, true) + else + if rightHand + _00E_RemoveAllItems_TrashContainer.AddItem(rightHand, 1, true) + endif + if leftHand + _00E_RemoveAllItems_TrashContainer.AddItem(leftHand, 1, true) + endif + endif + endif + + Game.EnablePlayerControls() + Activate(PlayerREF, true) + + if rightHand || leftHand + while ! Game.IsLookingControlsEnabled() + Utility.Wait(0.5) + endwhile + _00E_RemoveAllItems_TrashContainer.RemoveAllItems() + endif - While iRecipesToReset > 0 - iRecipesToReset -= 1 - (_00E_DismantleResetList.GetAt(iRecipesToReset) as ConstructibleObject).SetWorkBenchKeyword(InvisibleDismantling) - EndWhile - _00E_DismantleResetList.Revert() -EndFunction \ No newline at end of file +Endevent