Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Fix for string getter issues for non-English game language.
Version 0.25.2
Fixed bug when Dreamcloth items were not generated for some playable clothing
Fixed bug when Leathercraft perk sometimes not added to valid crafting recipes
Weapons and armor with 'no meltdown' keyword can no longer be used in SkyRe recipes
Dreamcloth breakdown recipes now return wisp wrappings instead of leather strips
Added option to not generate breakdown recipes for clothing
Version 0.25.1
Rules hotfix
Version 0.25
ReProccer supports JSONC now; basic rules and translation files are .jsonc files now, and thoroughly commented
ReProccer now creates a backup of the previously built patch upon generating a new one
Renaming function is exposed and vastly extended
Renaming function (optionally) reports on each renaming case and has the filter to show information only for specified records
Verbose logging is extended - now all patchers provide various detailed information on each patched record
Verbose logger now has the filter to show information only for specified records
Weapon materials can now affect weapon type speed and overwrite critical damage multiplier
Weapon type stats can now be overridden for specific weapons (similar to materials overriding)
Ingredients can now be excluded from patching
Added patching values validation at certain stages for all patchers
All 'names' specified in [brackets notation] should now be found in the name (i.e. no more 'at-least-one' mode)
Broadswords and shortbows detection was modified, and should be failsafe now
Fixed bug, when SkyRe ammo variants were affected by material stats twice
Fixed bug, when Longbows get incorrect weapon tag
Version 0.24
Fixed bug when copying a record as override from files with 1.71 header version could result in a new record instead
Fixed bug when turning on reporting on found breakdown recipes could result in an unhandled exception
Minor code optimizations
Added optional verbose logging for armor/weapon values calculation
Added optional double-language processing (for cases when game language is not English but there are English-language mods loaded)
Added option to exclude certain silver weapon from refined variants generation
Added option to restrict Masquerade keywords distribution to certain armor types
Added optional restrictor of effect types for alchemy patcher
For materials that have 2+ perks associated with them, tempering and meltdown recipes require at least one perk instead of all
Swords and shields renamers now take more words into account
Removed base duration parameter from alchemy patcher formula
Projectiles patcher now checks for ammo material keyword and projectile name to determine ammo stats
Rules no longer require specifying the 'base' value
Version 0.23.7
ReProccer will replace Dawnguard forge workbench with a regular forge workbench in crossbows recipes regardless of whether the option to keep original conditions is active.
"typeOverrides" section can now override speed and reach of a weapon type for specific weapons
Zephyr now attacks ~30% faster, as intended by its enchantment
Version 0.23.6
Fixed bug, when some crossbows' crafting recipes conditions were not completely removed (if conditions retaining is disallowed)
Vanilla Enhanced Crossbows crafting now requires the Increased Tension perk (if Enhanced Crossbows crafting is allowed)
Version 0.23.5
Fixed bug, when 'Lingering'-type effects receive incorrect duration bonus
'Ravage'-type effects will now have much bigger magnitude
Version 0.23.4
Fixed bug, when sabers were incorrectly detected as broadswords
Added new option to change shortspears sheath position
Version 0.23.3
Fixed bug, when some armors could get incorrect armor values (rules order issue)
Version 0.23.2
Fixed bug, when certain weapon types has their reach/speed patched incorrectly
Version 0.23.1
Fix for "Cannot read property 'desc_ashen' of undefined"
Version 0.23
Localization framework - now ReProccer Reborn can be easily translated!
More precise and flexible rules
Version 0.22.1
Fixed a (potential) bug when ReProccer used inclusion instead of the full match when determining weapon type
Version 0.22
Fixed bug when ReProccer could generate a recipe that requires several copies of weapons or armor that exist in single copies
Fixed bug when ReProccer could not find armor parent recipes for most leather armors due to an input-output mismatch
Fixed bug when giants' clubs were patched as playable club-type weapons, preventing giants from correctly using them
Fixed bug when swords with no "sword" in their names could not receive the "broadsword" keyword
Fixed bug when crafting conditions of original ammo were not copied to ammo variants' crafting recipes
Fixed 'no ammo weight exception' bug (hopefully)
Added an option to change the Dreamcloth gear type tag
Added an option to remove the type tag from a weapon's name
The "Leathercraft" perk can now be distributed to crafting recipes for any "leather-type" armor
All base ammo crafting recipes now require a relevant smithing perk (if there's none)
Barbed and heavyweight variants now require a smithing perk
Ammo with no crafting recipes will no longer have ammo variants generated for
Fixed various material mismatches in recipes
Minor number adjustments in the weapon type values table
Version 0.21
Fixed bug, when progress bar displayed progress incorrectly
Fixed bug, when explosive ammo variants' projectiles could be picked up
Fixed bug, when Dreamcloth gear inherited its original`s scripts
Fixed bug, when shortbows with templates received the weapon type keyword
Updated statics and requirements for SkyRe 2.0
Materials from absent mods can now be recognized
Added an extra check for ammo from mods icorrectly ported from LE (ammo weight value is undefined due to porting issues (?))
Added support for "Saints & Seducers" materials
Added option to exclude records by Editor ID
Added option to skip a meltdown recipe generation if another one already exists
Removed unused materials and types
Improved errors processing
Improved log readability
Version 0.20
New meltdown system for weapons and armor.
Added an option to change refined silver weapons and crossbows variations price.
Added an option to change dreamcloth gear price.
Added an option to retain all previous requirements in bolts' crafting recipes.
Added an option to change weight and value for ammo (by type, material or variation).
Added an option to change an amount of ammo and ingredients for reforging recipes.
Modifiers for all crossbows variations now available for changing on setting page.
Distributing 'Leathercraft' perk in crafting recipes for leather armors is optional now.
Crossbow variations now have differences in detection sound level.
Changes in recipes for dreamcloth gear, ammo and crossbows variations.
Silver and refined silver weapons now additionally require 'Principles of Smithing' perk to be able to work with.
Stahlrim weapons and armor now require both 'Glass Theorem' and 'Red Mountain's Calling' perks to be able to work with.
Some other armors require both 'Leathercraft' and 'Principles of Smithing' perks to be able to work with.'
'Ballistics' perk is now required to craft any bolts, including mod-added ones.
Removed legacy code that supports UPPERCASE materials used in old versions (UPPERCASE in rules no longer supported!)
Some crossbows and bolts are renamed to be more lore-friendly.
Fixed bug, when weapon could retain old keywords if new material, specified via override, had no associated perk.
Fixed bug, when ReProccer didn't remove previous script header correctly in VMAD subrecord.
Fixed bug, when enchanted refined silver weapons could be tempered without 'Arcane Artisan' perk.
Fixed bug, when modifiers for double-enhanced crossbows were stacking incorrectly.
Fixed bug, when ammo variants could be created even when PC had no proper smithing perks.
Fixed bug, when tempered (strongest) bolt had the same damage bonus as hardened (strong) bolt.
Fixed bug, when ReProccer used unacceptable symbols in editor IDs of generated records.
Fixed bug, when ReProccer used same editor IDs for generated records with same names.
Fixed bug, when keyword for exclusion from meltdown recipes worked incorrectly.
Added rules for CC 'Rare Curios' mod.
Major optimization of armor and projectile patchers, general code optimization, code cleanup.
Version 0.19
New options for crossbows patching.
SkyRe engineered enhanced crossbows' (with 2 enhancements) now require a SkyRe enhanced c. instead of a regular c. (lightweight for lightweight silenced c., recurve for recurve arbalest c., etc.)
To SkyRe enhanced crossbows' parameters (speed/weight/damage) applies multipliers instead of fixed values now.
ReProccer will no longer generate copies of existing projectiles, will patch it instead.
Implemented more reliable way to detect unplayable records.
Unplayable records patching has its own error reporting system now.
Removed 'Ballistics' perk as crafting condition for SkyRe enhanced crossbows.
Removed obsolete keyword-based modifiers system.
Fixed bug when specifying a non-existing material for overriding leads to patching process crash.
Fixed bug, when speed/reach values was patched to zeroes if weapon had no recognized weapon type keyword.
Fixed bug, when weight modification for SkyRe enhanced c. could have no result if multiplier was too low.
Fixed bug when recipes could sometimes not have patched if there are .esl files loaded.
Cleanup and readability improvements in rules files.
Added riekling spears processing.
Added rules for AE content, rules for 'Skyrim Immersive Creatures'.
Formatting improvements on settings page.
Optimized crossbows processing code.
Version 0.18.1
Fixed incorrect base damage for crossbows.
Version 0.18
Optimized material overriding for armor
Optimized tempering recipes modifying for armor
Optimized determining of material-based modifier for armor
Optimized meltdown recipes generation for armor
More precise method for identifying shield weight
Alternative modifier for armor value calculation formula
Rework of 'Masquerade' keywords distribution
Added option to exclude certain armor from patching
Added logger for armor patcher
Added missing materials
Added rules for 'Immersive Armors' and 'Immersive Weapons'
Updated rules for 'Interesting NPCs'
Excluded clothing from armor value patching process
Fixed bug, when user rules, listed in last.json, was ignored by ReProccer, if there are rules with the same keys in first.json
Fixed bug, when Thieves Guild related armors gain no crafting recipes modifications
Fixed bug, when light Dawnguard armor was ignored by ReProccer
Fixed bug, when Ancient Nord (Draugr) weapons got no meltdown recipes due to typo in resulting item name
General code optimization
Version 0.17
Major rework of 'Modifying tempering recipes' function for weapons.
Major rework of 'Material override' function for weapons.
Rebalanced crossbows.
Rebalanced bound weapon.
Excluded bows and crossbows from refined silver variants generation.
Skipping of keywords/armor modifying for shields with template specified.
Alternative modifier for weapons damage calculation.
Alternative method for identifying bound weapon.
Alternative method for identifying armor and clothing for 'Masquerade' perk.
Alternative method for identifying/modifying leather armor crafting recipes.
Fixed duplicated armor piercing effect bug.
Fixed conditions inconsistency in crossbows' recipes.
Fixed wrong source file of 'ArmorMaterialForsworn' keyword.
Fixed bug, when heavy nordic shield was determined as light shield.
Fixed bug, when patcher skipped crafting/tempering recipes when resulted item was originated from outside the official game plugins.
Improved support of third-party mods.
General code optimization.
Version 0.16
NEW: Shields are flagged with the correct impact sets and block material now
NEW: Excluded records with "Non-playable" flag from ammo variants, dreamcloth, meltdown and tempering recipes generation
NEW: Added bound weapon processing
NEW: Added rules for Vigilant and JaySuS Swords
NEW: More settings available on settings page
FIX: Patching armor with no material keyword will no longer result in 0 armor rating
FIX: Recurve and lightweight crossbows now also have armor penetration effect, as they should
FIX: Dawnguard Rune Hammer now correctly defines as warhammer
FIX: No more duplicated conditions in leather armors' tempering recipes
FIX: No more duplicated perk assignment script on yaris and shortspears
FIX: Dreamcloth armor bonus now correctly applies to wearer
FIX: Fixed various buggy crafting conditions
Version 0.15
When patching shields the armor patcher could sometimes result in strange names like 'Heavy Buckler Heavy Shield' Re-naming now only happens if the name of the shield does not have 'Heavy' or 'Light' in it.
The condition for a heavy shield has been changed to include shields with 'Heavy' in their name even if they do not have one of the heavy materials currently.
Data files were added for Interesting NPCs and Legacy of the Dragonborn
Version 0.14
* Drastically updated data files
- Removed everything from the data file not needed for patching base game + skyre + waccf to pave the way for upcoming patch work.
- Armor and Weapon material progression of Dwarven Elven and Orcish updated to lore based / waccf ordering
* Added support for the new SkyRe_ArmorStronger* and SkyRe_ArmorWeaker* keywords
* Added support for all relevant WACCF armor and weapon keywords
* Fixed several issues with not finding materials for recipe creation
* Weapon Patcher now sets crit damage equal to 50% of patched weapon damage
Version 0.13
Refined Silver weapons fixed... for reals this time.
Bonemold shields will now be properly classified as heavy
Re-running the patcher no longer has the potential to ruin in progress saves.
Version 0.12
Refined Silver weapons no longer require themselves to craft
Refined Silver weapons now use the correct perk for increased undead damage
Strongest ammunition type now has the correct damage
Lightweight and Arbalest crossbow modifiers now affect weight properly
Version 0.11.1
Re-upload due to potential packaging issue in 0.11 as people reported they were unable to see the patcher in zEdit
I confirmed I could patch with the contents of this zip with no issues6
Version 0.11
A new keyword, SkyRe_ExcludeFromMeltdownRecipes, allows mod authors/patch creators to easily exclude any given weapon or armor from having a meltdown recipe generated.
This should be done for items that are unique one-time only acquisitions or that would break quests if they were lost.
Version 0.10
Correct patching for "Falmer Honed" weapons
Correct patching for "Dragonbone" weapons
Version 0.9
Fixes issue where generated meltdown recipes were broken. Rerunning Reproccer Reborn is required for the fix.
Version 0.7
Various bug fixes for user identified issues.
Meltdown recipes will no longer show for items currently equipped. You must rebuild your patch for this to take effect.
ReProccer Reborn
created by jdsmith2816 description by matortheeternal maintained by Ingvion
Summary
This is a port of T3nd0's ReProccer - the automated SkyRe patch generator - to zEdit's Unified Patching Framework. This ported patcher does everything the original ReProccer does, and much more, to make armor, weapons, ammunition, and ingredients compatible with T3nd0's Skyrim Redone AE.
The reason both the original ReProccer and this port exists is to alleviate the need for hand-made compatibility patches for armor, weapon, ammunition, and ingredients added by mods. The ReProccer also allows users to quickly adjust how weapons and armor are balanced by editing rules.
- What it does
With Reproccer Reborn you can:
Apply or redefine type and material of any ammo, weapon and armor
Adjust ammo, weapons, armor and alchemical ingredients stats
Modify tempering recipes of ammo, weapons and armor according to their materials
Generate breakdown recipes for playable weapons and armor
Create new weapons and armor from vanilla and mod-added playable items
Normalize extreme values of alchemical ingredients and their effects
- Technical
The original ReProccer was built with SkyProc, a Java framework for creating dynamic patchers developed by Leviathan1753 from February 2012 to October 2013. While there are some ways to use SkyProc with SSE, it's generally buggy, unstable, and will generate patches that can cause problems due to differences in the record definition format. While this may change as developers work on SkyProc, official support by the initial developer ended several years ago. This made using a different technical solution for automated patchers such as the ReProccer desireable.
Enter zEdit's Unified Patching Framework (UPF). UPF is a JavaScript framework built off of zEdit, an application which provides an improved frontend and API for the xEdit codebase. Reproccer Reborn was built off of UPF as a proof of concept that the framework can support the largest, most complicated SkyProc patchers.
Installation & Usage
- Requirements
zEdit - Download the latest portable release from GitHub and extract it somewhere. Note that if using MO2 zEdit should be launched from there.
T3nd0's Skyrim AE Redone - keep in mind, that you need to generate the patch only if using the Main Module.
- Soft Requirements
CC Saints & Seducers - you can use this mod's materials even without the mod itself; without the mod weapons will not receive S&S materials keywords, but damage/armor bonuses will be properly patched.
Make sure you have all requirements downloaded and installed.
Download ReProccer Reborn.
Extract the ReProccer Reborn archive into the "modules" folder in zEdit's installation folder. The resulting file structure should be: <zEdit folder>\modules\reproccerReborn\index.js <zEdit folder>\modules\reproccerReborn\module.json <zEdit folder>\modules\reproccerReborn\settings.html <zEdit folder>\modules\reproccerReborn\data\_rules-basic.jsonc <zEdit folder>\modules\reproccerReborn\data\*other JSON files* (optional) <zEdit folder>\modules\reproccerReborn\data\locales\english.jsonc
- Running the Patcher
Start zEdit via the zEdit.exe. If using Mod Organizer 2, add zEdit to MO2 as an executable, and run it from MO2.
Select Skyrim SE from the dropdown in zEdit, then click "Start Session".
Check mods that should be patched, or leave everything as is to correspond your current load order, and click "OK".
Click on the top right puzzle piece icon to open the "Manage patchers" modal.
(Optional) Click on the "ReProccer Reborn" on the left to configure the patcher.
Click on the "Build Patches" item on the left, and then click the "Build" button by the ReProccer.esp.
Configuration
- Configurating Patcher
Each of 4 patchers can be individually disabled, each have its own options.
Ignoring X plugins list allows you to exclude listed plugin files from patching even when they're loaded.
Uncheck the items you want to disable, hover mouse on info icons to see a tooltip. Changes will be saved automatically.
All setting are stored in the<zEdit folder>\profiles\Skyrim SE\patcherSettings.json
- Adding/Changing Rules
Similar to the original ReProccer, you can customize how ReProccer Reborn patches items by editing rules files in any text editor. However, there are some differences from the original Reproccer:
The ReProccer Reborn rules files can be found at: <zEdit folder>\modules\reproccerReborn\data
The ReProccer Reborn rules files are JSON or JSONC files, not XML ones like in the original ReProccer. JSON is similar to XML, but is less verbose and more human-friendly. JSON is also easier to work with in JavaScript than XML.
The Reproccer Reborn allows the creation of multiple rule files. The rules from each rule file are merged together in the order they are loaded. Rule files are loaded in the following order:
_rules-basic.jsonc is loaded first (has all of the base rules for Skyrim Redone + the base game ESMs)
*.json files are loaded based on your load order. E.g. if PluginB.esp is loaded after PluginA.esp, and you have both PluginA.json and PluginB.json files in the Reproccer Reborn data folder, PluginA.json will be loaded followed by PluginB.json.
_rules-user.json is loaded last (this is where you should put your personal tweaks/overrides)
Troubleshooting
If you run into a bug with the patcher/see something ingame that was patched, navigate to the "Errors" item of the guide; if nothing helped, please create a bug report or post in the comment section.
Frequently Asked Questions
Q: Where should i place ReProccer.esp? A: This file should be the last one in your load order (ignore LOOT), unless there are mods that state they should be lower than ReProccer.esp.
Q: What about Bashed Patch (and other patches that merge changes)? A: Remember: always build the ReProccer patch after building merged patches, since ReProccer uses formulas to calculate values; otherwise new numbers will likely be merged with unrelated edits.
Q: Was Jimmy harmed in the creation of this patcher? A: No, we managed to create this patcher without sacrificing Jimmy. :)
Q: How stable/reliable is Reproccer Reborn? A: The patcher should give you much less problems than the original ReProccer because it`s built off of a totally different framework which uses the xEdit codebase under the hood (which is very reliable). When used with Skyrim: Special Edition, Reproccer Reborn generates records in the proper form 44 format.
Q: I have more than 254 plugins. How can i patch this amount of mods? A: There`s a very simple in use script for zEdit in "Optional files", that unloads plugins that contain no patcheable records, right in the current zEdit session; no additional actions required. See the article in "Articles" for details.
Thanks & Credits
- T3nd0: For all of his contributions to the modding community and for generally being an awesome guy. - jdsmith2816: For making Reproccer Reborn. - Ingvion: For all of his ongoing maintenance and support work. Thanks mate! - Mator: For making and continuously improving zEdit and UPF, which serve as the backbone for Reproccer Reborn. He also wrote this description and created the T3nd0-inspired comic strip. - xEdit Developers: For maintaining the most reliable open source codebase for parsing and creating plugin files.
Feedback
We have a Discord server, where you can report an issue, get help, suggest a feature or discuss this mod.