Blacksmiths and mages all over Skyrim will be able to craft, temper and enchant your equipment, including armor and weapons added by mods. The quality and price of their work will depend on their skill as craftsmen as well as your barter abilities. Fully customizable through an MCM menu.
Feel free to reuse, modify or redistribute this file or any of its assets however you see fit. I only request that you include the source files of your work and grant the same level of liberties I'm offering.
File credits
This author has not credited anyone else in this file
Donation Points system
This mod is not opted-in to receive Donation Points
Honed Metal -NPC Crafting and Enchanting Services Traduzido PT_BR
Changelogs
Version 1.23
Fixed a bug with the update mechanism that prevented correct updating in some instances, showing a spurious error in certain cases.
Increased the timeout value of the service fail-safe recovery code from 3 to 4 seconds.
Changed the service recovery code to use a different timekeeping system that does not count time spent in menus, which could lead to the "Service Failure" error triggering if other menus were shown before the mod's crafting menus opened.(common for Ordinator users without RelentlessX's patch).
Adjusted the reset values of two MCM settings to match their initial value.
Expanded the config file parsing code to allow blacklisting perks based on mod names and whether or not they're installed.
Added some default perks to blacklist for a certain popular perk overhaul mod (Ordinator), because expecting users would deign take a second to read about the new blacklist system or install one of the available patches was too optimistic of me.
Version 1.22-RC4
Expanded the plugin's item detection code to encompass certain scenarios in which detection of crafted/modified items could have failed.
Reworked the manner in which the mod's main script starts, both trimming down the dialogue fragments and avoiding a synch problem that could have led to issues in some cases if the mod's menus failed to open.
Clarified the error message generated when menus fail to open. Updated several other error messages.
Updated the MCM version to match the value reported by the getVersion() function.
Moved straggler MCM string literal into the string storage script where it should have been.
The array storing materials offered by NPCs will be dynamically allocated, allowing for sizes bigger than the 128 vanilla limit, up to 512.
Removed Charred Skeever Hide from the NPC materials list (again).
Version 1.22-RC3
Strengthened the mod's integrity checks by adding more object verifications.
Improved performance by moving yet another costly Papyrus function into SKSE code.
Expanded the SKSE plugin detection code to provide more specific and clear error messages.
Unified SKSE code between different versions of the game. Remaining differences are resolved at compile time.
The mod will no longer overwrite certain MCM settings each time the "Repair" MCM option is used.
The 'Status Messages' MCM option will be automatically disabled if 'Your Own Thoughts' is detected.
Addressed possible mod double initialization when using the 'continue' option on the main menu, without actually going through with it. Reworked the mod initialization section.
Implemented an alternative method for recharging weapons. If one fails, the other is tried. If both methods fail, the weapon will be returned to the player without incurring any costs.
Increased the limit of player-known enchantments the mod can track from 64 to 128. Upon reaching this limit, the mod will not produce an error, it will continue to add enchantments to the last element in the array.
Fixed an issue that could lead to unenchanted/fully charged weapons being accepted for recharge if given with a valid weapon in need of recharging.
Fixed an issue when crafting an instance of one of the 'problematic' iron items (items with negative countDelta) that *could* lead to the original instance being taken from the player's inventory, instead of the newly crafted copy.
Version 1.22-RC2
AE only: recompiled the dll for SKSE runtime 1.6.353. No other changes.
Version 1.22-RC1
AE Only: Updated the dll to register correctly with new SKSE plugin registration system used in AE. Rest of the users can ignore this. No changes for them.
Version 1.22-RC
Added support for AE.
Added support for Skyrim VR.
Fixed the 'Repair' MCM setting not showing the intended tooltip description in SSE. Updated the tooltip description.
Fixed an oversight that allowed for blacksmiths to use -in addition to their smithing skill- the player's enchanting skill and perks when crafting and tempering, while enchanters would use the player's smithing skills and perks when enchanting.
Fixed an issue when changing the skill of one of the mod-recognized craftsmen, via the MCM, that would lead to both skills getting the new value instead of just the selected one if NSR were enabled.
When turning a 'default' blacksmith into an enchanter, the mod will provide a predefined skill only for blacksmithing services but read the enchanting skill directly from the actor itself when enchanting; and vice versa.
Fixed a dialogue condition linked to the wrong MCM setting, causing the 'Enable Tempering' option not to work as intended (didn't disable the tempering dialogue).
Fixed the cost of materials increasing when crafting multiple instances of the same item without ordering anything else. Materials' cost will be distributed fairly between items on a stack now.
Fixed an issue with duplicate item handling leading to the possibility of the incorrect item being taken from the player's inventory upon enchanting one of the copies.
Improved the duplicate-item detection system. it'll be more robust now taking into account not only temper status and enchantments but charge level as well. It should also solve the CTD experienced by some users when asking for upgrades while having certain iron items in their inventory.
Improved performance when crafting/modifying instances of items that were already in the player's inventory.
Improved performance and responsiveness all around as I moved many Papyrus tasks into fast SKSE code.
Improved the skill monitoring code that ensures players retain the skill initially assigned to them when requesting services, even if it were to be modified by potions/mods before or while commissioning items. If the changes occur while the order is in progress, the UI might not always catch up but querying the skill value through the console will report the correct number.
Added deerhide and deerhide02 to the list of basic materials blacksmiths can provide.
Removed cruft and unused properties in all scripts. Unlinked them from the plugin. Unified the one differing script between different game editions by removing the SKSE version check which is handled by the dll anyway.
Clarified various general mod messages, error reports and updated MCM descriptions.
Homogenized error handling code paths to ensure all possible errors lead to the same "Mod Paused" error message.
Delayed the mod's update and error-check module to kick in after the player model has loaded to prevent error reports from triggering before the game has loaded.
Overhauled the mod's cost detection mechanism which allows for perfect detection of the exact value of an item as shown on the UI. This wasn't possible with enchanted equipment before, which resulted -despite my best efforts- in many inconsistencies with prices; particularly when crafting pre-enchanted items. The change also makes it possible to fine-tune all costs with increased accuracy when using the MCM cost sliders.
Made changes to initiate the mod's scripts right as the dialogue ends, smoothing out the previous -sometimes awkward- transition and eliminating existing hacks like the mandatory camera restriction which caused glitches for some users.
Implemented a runtime perk detection system which reads perks from a loaded game instead of predefined script properties, effectively eliminating the need for patches and making the mod compatible with any perk overhaul mod out of the gate.
Implemented a 'blacklist' system as a means of instructing the mod to ignore certain problematic perks that were designed with the assumption that players would be doing the crafting/enchanting. What perks these are, I leave to the community to discover; it will certainly vary with each perk overhaul mod, with some having few and others having many of these perks. A simple configuration file placed in the mod's dll directory was created for this purpose
Version 1.22
RC4 becomes the official 1.22 release after ~43 hours without issues reported. Plugin's source published along with the release.
Version 1.21
Changed the manner in which packed items are resolved to avoid an issue some Mod Organizer users were having were no items would show up when retrieving and order (GetFormFromFile not returning anything as if the mod wasn't installed)
Removed Charred Skever Hide from the list of basic crafting materials to prevent CACO's users from ending with piles of Skeever Meat after ordering items.
Small change to prevent the camera from zooming in-out when scrolling through the crafting menu while in 3rd person mode. As a downside, you won't be able to move the camera while waiting for the mod to perform its tasks after placing an order.
Changed the NPCs skill calculation code to take into account existing skill boosts, be it from gear or potions, so as not to give NPCs more skill than intended.
Small tweaks to the default cost sliders in the MCM.
Established a minimum order cancellation fee of 10 septims (not applicable to recharging services).
Added an MCM option to stop the mod from changing the message strings shown during crafting services. Doubtful, but this *may* prevent issues with other mods that also change these strings through script. If nothing else, you save a few milliseconds when processing an order.
Added an MCM option to give all known crafting and enchanting perks to the player, in order to easily observe which perks from your particular perk overhaul the mod knows, as well as facilitate crafting/enchanting tests.
Unlinked the upper skill limit that can be set on an NPC through the MCM, from the value of the'Skill Modifier' MCM option. Now the range will go from the value of the 'Minimum Skill' MCM option to a hard-coded cap of 200.
Fixed the max_skill_modifier setting not affecting the order price as it should have.
Fixed the dual enchantment MCM option not being enabled by default for users with no perk overhaul mods.
Fixed a bug that would cause fully charged weapons given for recharge, not to be returned to the player. Added a message informing when a weapon is unsuitable for recharge.
Fixed materials in the craftsmen's inventory influencing the order's completion time like acquired materials do.
Fixed an issue with the individual tempering dialogue options using the 'crafting' instead of the 'tempering' MCM slider when calculating an order's completion time.
Fixed a small oversight that could cause extra materials to be added to an order's list of materials used, which would greatly increase the cost of each item produced. Additionally, materials in the player's inventory matching any on this list would be removed by just opening any of the mod's menus.
Fixed an issue wherein placing a tempering order by selecting anything other than the "Temper both armor and weapon" dialogue option, would result in the mod using the enchanting cost modifier instead of the tempering one, when calculating the cost of the order.
Fixed a bug in the tempering detection code whereby tempering an item to the exact magnitude of another instance of the item present in the inventory would result in the item not being recognized as tempered by the mod, causing the item to be obtained for free.
Rewrote the entire SKSE plugin, implementing a more robust detection system that should hopefully catch not only this but other edge cases for which the previous system might have failed too.
Version 1.20
Reworked the manner in which services are detected internally, resulting in a dramatic boost to speed and stability.
The issue of extraneous items appearing in the order pick up window after requesting crafting services is eliminated.
The issue of commissioned items without a slot mask, like certain rings, not being detected by the mod -meaning they could be obtained for free- is eliminated.
The issue of hotkeys/favorites being unbound after requesting tempering or enchanting services is eliminated.
The issue of craftsmen possibly giving you items from a different order due to all craftsmen sharing the same storage chest, is eliminated.
The issue with the player being stuck in place on occasion after requesting services, should be eliminated.
Fixed an oversight that could allow players to be affected with negative encumbrance if the services menus failed to open.
Fixed a typo in the dialogue option for requesting equipment upgrades. Minor changes and fixes to MCM descriptions, message texts and error reports throughout the mod.
Fixed possible issues with subsequent orders after using the "Recover Gear" MCM option.
Removed the need to give equipment to NPCs before service; all valid items in the inventory will be available for modification at once.
Armor and weapons in the player's inventory do not need to be removed before tempering/enchanting. (The mod did this behind the scene, which could potentially cause issues with scripted equipment or generally stress the game on heavily modded systems with lots of inventory items)
Removed the forced first person perspective when requesting services.
Removed exemption from Frostfall's exposure system when requesting services.
More tweaks to the "Skill Based Smithing" formula. The boost to crafted items should scale linearly with the craftsman's skill.
Added common pelts and Tundra Cotton to the list of common materials provided by NPCs.
Uncompressed the bsa archive, which should help players for whom the voice files were not playing.
When the MCM cost sliders are set to 0, the costs of materials won't be added to the price.
Minor changes to the internal handling of MCM options.
Craftsmen will not recharge weapons that are fully charged or not enchanted.
Separated the crafting and tempering services completion times. Added an MCM option to control how long tempering services take.
Added a dialogue option to cancel orders. NPCs will keep all modified items and a cancellation fee must be paid based on the total cost of the order.
Added an MCM option to prevent Eourlund Graymane from offering services until the player has been properly initiated into the Companions, or manages to befriended him (relationship rank of friend or higher).
INTRODUCTION
Skyrim is a land of Blacksmiths. The Nords are praised and celebrated for their legendary crafting skills and all throughout Tamriel, their might and prowess at the forge is widely known. Yet for all that, not a single smith in the game will bother to craft a shoehorn for you. No amount of coaxing, bribery or coercion will bend their will. They are determined. It's like they have joined a secret organization with the sole purpose of depriving you -the poor adventurer- of proper and adequate protection.
Not to mention the unhinged mages at Winterhold who make a living by enchanting things for the Nords -according to themselves- yet refuse to acknowledge your most trivial enchanting requests.
This mod is a humble attempt at thwarting this conspiracy.
Foreword With simplicity at its core, the mod was developed according to these principles:
Minimize conflicts with other mods.
Allow installation and removal at any point in a play-through, cleaning after itself in order not to leave trash in users' save files.
Inform users of runtime errors, stopping itself if necessary.
Avoid the generation of Papyrus warnings and errors.
Give priority to performance and efficiency. No polls or monitoring in the background, scripts should run on demand and stop when the tasks are completed.
Details Blacksmiths will craft and temper at your request. Enchanters will enchant and recharge items for you.
The skill level of the blacksmith /enchanter determines what perks they get, the type of equipment they can work with and the cost of their work. The cost will also depend on the value of the item, the materials used by the NPC and your barter skill and game economic settings.
If a blacksmith can't craft or temper an item, find another with higher skill level, or change their skill via the MCM menu.
The higher the skill of the blacksmith the higher the stats on crafted/tempered items. Low skill smiths are cheaper, but so is their work.
The higher the skill of the enchanter the more powerful the enchantments will be, and the costlier.
Money used to pay for services will go straight to the blacksmith/enchanter's inventory.
Blacksmiths will use their own materials and can acquire what they don't have at the expense of extra time and money. You'll still need to provide them with rare materials like dragon bones if you want them to craft something of that sort.
Enchanters will only know common enchantments. If you want a different enchantment you'll need to bring an item they can get the enchantment from.
Crafting, tempering and enchanting takes time by default.
Compatibility and load order The mod makes no modifications to vanilla records so load order does not matter. Consequently, typical incompatibilities aren't possible, although, other mods may affect this one's functionality by way of myriad unforeseen interactions.
Two examples being Requiem and Dynamic Things, which interfere with the containers in the mod by attaching a script and intercepting the activation event respectively. In this case, these are completely harmless interactions, but I wanted to exemplify how it's nearly impossible to remain entirely isolated from other mods. And the naivety in claiming a mod is compatible with everything.
Naturally, I can say with the utmost confidence: this mod is compatible with everything.
Spoiler:
Show
Known Issues The mod makes use of smithing and enchanting perks attached to the in-game perk trees for crafting and enchanting purposes. If you use a perk overhaul mod, it's possible some of these perks are not appropriate for the circumstances or the manner in which this mod uses them; they may cause problems or unwanted side effects. To remedy this, HM offers a configuration file under Data/SKSE/plugins/ called HonedMetal.ini where you can define the perk ids of whichever perk you don't want the mod to use and it will be blacklisted.These ids can be obtained by looking at your perk overhaul mod with a tool such as TESEdit.
Requirements SkyUI or SkyAway SKSE Skyrim 1.5.97 for SSE , 1.6.353 for AE or 1.4.15 for the VR version.
Permissions Feel free to reuse, modify or redistribute this file or any of its assets however you see fit. I only ask that you include the source files of your work and grant the same level of liberties I'm offering.
Credits Thanks to the SKSE team for the great SKSE. Specially Purple Launch Box who implemented the required functions I needed for the first editions of the mod. Thanks to Ryan McKenzie for his SKSE64 VS example project. Thanks to Zack047 for providing me with SSE's CK, without which the SSE release wouldn't have been possible. Thanks to Barbelos for helping me identify the AE plugin registration issue and Varricon for testing and confirming the fix. Thanks to Zireal1251 and TheMagician16 for maintaining and providing support for the previous SSE ports. Thanks to Dienes and MrJack from the old Beth forums.
I could not become anything, neither spiteful nor kind, neither a scoundrel nor a virtuous man, neither a hero nor a villain. Now I live my life in a corner, taunting myself with the spiteful and useless consolation that an intelligent man can not become anything; only the fool becomes anything.
To Tiffany, who shattered my heart into a thousand pieces. I could not regret loving you any more than I could regret knowing life. Both intrinsically painful, heart wrenching experiences; full of longing and wistfulness but ultimately beautiful. For there is beauty in both happiness and sorrow. I hope someone else will be there to pull you out before the tide flows my love.