Jump to content

Visual Degradation for Clothing/Armor


Recommended Posts

Hi everyone,

 

I made a mod that handles visually degrading clothing/armor as it gets damaged: VSU Degradation on Nexus. It handles linking up to two damaged states to each item. You can also set up armor or clothes from any mods to work with this framework. All the armor rules are defined in config files so there's no messy patching of plugins or scripts. If you have mods that already have damaged versions of armor, you can easily connect them with this framework.

 

Now I need to set up damaged versions of the vanilla outfits. I made this demo by cranking up the degradation rate and taking an eraser to the textures for the damaged versions (I used BD's Replacer as the starting point on this one, for anyone curious), but I'd like to get some proper damaged meshes/textures for vanilla clothing/armors. I'm not sure how to go about permissions for remixing existing assets, so I was wondering if anyone here had some ideas? I was thinking of trying something like this as the starting point, since it uses vanilla textures, so I think I'm allowed to remix them. I'm not very skilled with 3d modeling or textures, so I'm making pretty slow progress now that the coding is pretty much done, but I thought some people here might still be interested in the project.

 

Cheers,

v

 

 

 

Link to comment

 Havent quite realized you were the mod author of the entire framework the first time.

Having read the corresponding pages, its impressive to the say the least. And i've very much taken an interest in utilizing it. Unfortunately, now that ive realized you're a wizard, i also intend to pester you with some questions (sorry):

- TL:DR sumup - replace one piece of clothing/armor/weapon on the fly with another, works NPCs as well. Its not NIOoverride manipulation, not a swap of alpha map or ARMA record for the same ARMO, its several completely different items linked into chain with enchantment transfer. Does that sound correct?

- Is VSU condition the same state as vanilla tempering, or are those two separate?

- Is it an exclusive system, applied only to listed items, or does it work on everything and only visual changes apply to listed items?

- Framework warns against using multiple partition items, Is incorrect enchantment transfer the only possible side effect? And does it refer to ARMO, or ARMA partitions?

First one is relatively easy to avoid. The latter has overwrites by priority and i find it very usefull.

-  If a target has an item listed as stage 2(damaged) in its outfit and gets hit, will durabily randomization start from stage 2 median line? Or are all characters expected to start with stage 1 undamaged items?

-  If system is not exclusive - how are fringe cases handled? Dragon aspect, collision objects, weird DD double equip stuff and so on.

Only particular slot affected? Customizable targeted slots? Exclusion list?

- Enchantment tranfer affected by spell magnitude, ehcnantment magniture etc? There is alot of abusable stuff in TES5, normally anser is just dont do it. But there are perks and spells that increase those either very long term, and permanently. So, after a couple of full degrade cycles, will cuirass of 20% resist frost still be 20%?

 Lastly, there is a bit of uncertainty on practical side:

 Say, there is popular armor A i want to make a chain for. Neccecery mesh/texture manipulation is not that hard, but how do i integrate it?

I do have cutom plugin for DIY stuff, but thats practicly can be shared, its a clusterfuck of requirements. A new plugin can be made to accomodate new armor variations, but half of local population is very tight against .esp limit. And a process of esl'ifying is a touch finnicky. For me, sucess of it appears to be inconsistent. One could save new variations into original .esp, but that only works as long as said .esp isnt modified by other users. They often are. For such a framework to truly take flight, it would require ability to share custom chains between people interested, not unlike unlike bodyslide conversions. And perhaps there is such a way, ive just havent gathered it from reading the mod/framework page.

 A guide of how to make, and importantly, share a chain would be very wellcome.

You did make a marvelous tool here, so please dont take this sheet of text as anything hostile. In fact Ill very much try and make a couple of chains at least for personal use, and im thankfull for the tools you'fe provided to do so.

 

 

Link to comment
3 hours ago, nilead said:

Having read the corresponding pages, its impressive to the say the least. And i've very much taken an interest in utilizing it. Unfortunately, now that ive realized you're a wizard, i also intend to pester you with some questions (sorry):

Thanks! It ended up being way more work than what I initially set out to accomplish. I'll do my best to answer these:

- TL;DR yes, it swaps the ARMO item entirely. The VSU rules define links between armor records, so when you request to change an actor's state for a slot, it checks if the currently worn item supports transitioning to that state, and if so equips the linked item. For vanilla items, I created a plugin that has two copies of each vanilla armor/clothing (with reduced armor rating on the damaged armors), and set up the VSU rules for them, that's the optional file on VSU Degradation. Those armor copies have their own copies of the vanilla meshes, so any mesh replacer you use would need to be dropped in for those as well. They use the same directory structure as the default armors, just in a subdirectory. Default meshes would be Data/Meshes/... and the state 2 and 3 meshes go in Data/Meshes/v2099/vsud2 or Data/Meshes/v2099/vsud3. If you just copy your clothing/armor replacer meshes to those two directories as well, then the damaged/ragged versions of each armor/clothing will look the same. If you can build them with parts zapped out, and then drop them in there, then the damaged versions would be missing parts. But I'm getting a bit off topic on this question

- Yes, VSU Degradation uses the vanilla tempering (Item Health Percent) as the condition. you can configure at what condition armors will switch to damaged versions (if they exist).

- The degradation applies to everything. Swapping out armors to damaged versions only happens when there is a VSU Framework rule defined for the item you (or the NPC) are wearing.

- Good question. I think ARMO slot mask would be the relevant one. And yeah, not transferring enchantments/item health percent would be the main problem if these do not match up. Also, equipping the new item would not unequip the old item if it doesn't occupy the same slot.

- Item health percent does not go back up to 1.0 when you switch to a damaged armor. The item condition is transferred over (and you can configure at what percent items will switch to State 2 or 3). So when an item is damaged below, say, 70%, it will switch to the State 2 armor, and that armor condition is set to the same as the old one. I do expect NPCs to start with State 1 undamaged armor, and the randomization only occurs on the first hit. After that, there's a bit of logic to prevent NPC armor condition from being set to 1.0 again, so the randomization does not happen multiple times.

- I may need to do some more testing for fringe cases. Right now, the framework damages items on slots 30 (or 31, but not both, so your helmet won't take double damage if it occupies both), 32 (body), 33 (hands), and 37 (feet). I may add some sort of configuration to support other slots, but for now I think this is adequate. I don't think special objects like SMP collision objects would use these slots.

- Enchantments should just transfer as they are. I used SKSE WornObject's GetEnchantment and SetEnchantment for this, so unless it has some unexpected behaviours, enchantments should stay the same through all transfers. This is also why the items need to share the same slot mask (or at least one of their slots needs to be shared, namely the 30/31, 32, 33 ,, 37 slot that the item occupies).

 

For creating your own VSU rules, it should be pretty easy to share. You need a couple things:

1. The damaged items need to have their own ARMO records. If the mod already has separate records for damaged versions (some SunJeong armors have damaged versions already), then you can simply create the rule to link them, and share that config file. If you need to create records for damaged versions, I would recommend creating the records in a separate plugin, and ESL flagging it. I already did this part for all the vanilla Skyrim armors and clothing, in the optional file on the VSU Degradation page.

2. Once the damaged armors have their own records, you can reference them from the VSU rules. Those are defined in files under the subfolder Data/VSU/. The files need to be named filename_VSU.ini (where you can replace filename with anything, they just need the suffix _VSU.ini ). These rule files can be shared in mod packages. In a rule file, each line defines a rule. Rule format is like this:

Mod|  State 1          |   State 2         | State 3           |M|F
DEG|0xFormID~Plugin.esp|0xFormID~Plugin.esp|0xFormID~Plugin.esp|0|1

 

The first three sections define the items to be linked and their state, and the last two sections are boolean values to specify if this rule should apply to male or female characters. You can enable both, or just one if you have an item that only has a female mesh and you don't want male characters to change into it. You can also specify NONE as the form for a state, if you don't want to set that state. So if you only have one damaged version, you can still set that up. Here are some examples:

#Different male and female rules branching off of the same base item
DEG|0x875~Clothing.esp|0x877~Clothing.esp|0x879~Clothing.esp|1|0
DEG|0x875~Clothing.esp|0x881~Clothing.esp|0x883~Clothing.esp|0|1
#Rule for both male and female
DEG|0x885~Clothing.esp|0x887~Clothing.esp|0x889~Clothing.esp|1|1
#Rules with state 2 or 3 set to NONE
DEG|0x801~Clothing.esp|0x803~Clothing.esp|NONE|0|1
DEG|0x805~Clothing.esp|NONE|0x807~Clothing.esp|0|1

 

3. The last thing to consider is that if these rules are meant to be used for VSU Degradation, the damaged armors need a tempering recipe, otherwise you won't be able to repair them.

 

I do anticipate some growing pains, but overall it should be pretty straightforward to share packages to handle linking together items for this framework. You just need to share the plugin (if you needed to create one), and the _VSU.ini file.

 

Thanks for the interest! I can definitely get better at writing the documentation, I've just been pretty focused on getting it working.

 

Edit to add: The degradation is just one thing VSU Framework can be used for. Another main reason for making it, was to support partially clothed items in lewd mods. So for example OStim (or sexlab, but I was picturing it with the transitions in OStim) could check if the clothing supports being pulled down/aside, and switch to that state instead of just removing all clothing. One problem I'm currently working on with this is that mods using the framework for different things might be incompatible. I might rework the VSU Framework a bit to support adding an identifier to VSU rules, so that mods doing different things can have independent VSU rules, and can request to change state based on that identifier. This way a mod looking to change to damaged clothing won't end up pulling down your pants in battle.

 

Edit edit: Alright you know what, I'm making this change now, before it becomes a bigger job. VSU rules will have a mod identifier linked to them, so that different functions can be supported. I'll need to go update all my mods to reflect this. That might take a day or two. For degradation purposes, the mod ID will be "DEG". For lewd purposes, I will use the mod ID "VSU". This way lewd mods can change state independently from the degradation framework.

Edited by v2099
Link to comment
  • 10 months later...

I just now stumbled over this mod on nexus (while looking for 3ba armor replacers for vanilla which mixes mostly lore friendly gear with a nearly unavoidable chance of embarrassing mishaps).

 

I have not tried it out yet, but it looks promising (and I will be trying it out).

 

The only outfit set which supports it, currently, seems to be https://www.nexusmods.com/skyrimspecialedition/mods/92203 which is based on https://www.nexusmods.com/skyrimspecialedition/mods/32518 ... so its not really lore friendly for undamaged armor. Still... 

 

I was sort of surprised to not see much talk about the mod here...

 

Edit: and I guess there's also a vanilla set that's rigged up to support the mod. But the armors I saw, there, were all just the vanilla set. So the degradation would not appear visually to be any different from vanilla armor. That kind of approach can be a good starting point, but ... if I was going to start there, I'd prefer to start with vanilla 3ba armor. (And I am not the right person to make the degraded armor sets... though maybe the BD set could still be used there.. especially for the final stage(s).)

 

Edited by sen4mi
thinking...
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use