DepravityExtended Posted March 25, 2022 Posted March 25, 2022 State of Dress View File A new game should no longer be required. Requirements: SKSE Address Library Racemenu PO3 papyrus extender Keyword Item Distributor MCM Helper PapyrusUtils - For miscUtil, not storage jContainers Supported: Sexlab Toys Framework Devious Devices ZazAnimation Bathing in Skyrim Dirt and Blood Slave Tats Sexlab cum overlays extended Bakas keywords - Either from downloading Bakas SLA or from using OSLAroused SKSE Source The future: I had some plans on adding more to SoD, like restrictive armor, health and shit like that. But I have decided that to try and make SoD more enticing, to leave the features as simply tracking details. All of my other ideas will be pushed to other mods. I will probably make a fomod and a few more KID along with more presets. Maybe refine the tracking some more, but thats gonna be it. State of Dress(SoD) provides extensive keywords to track the players current skin/dressed state and stores them in factions on the player and in jContainer values. Keywords: If you look in the ESP, there is now a overwhelming amount of keywords. For adding keywords, you don't need to care about 90% of them. KID allows for what I call presets, which is a single keyword that tells KID to attach other keywords to that object. What you need to know, is that there are 2 sections to the keywords: _SoD_Loc(Location) and _SoD_Cov(Coverage). _SoD_Loc is only for determining where a piece of armor is, this is not an indicator of whether or not the item covers skin. _SoD_Cov is for determining if something covers that area from sight. KID is setup to mark armor with a Coverage keywords Location equivalent. Preset keywords are so you only need to apply 1 keyword to an item, but can use more complex logic in papyrus without needing to keep track of 700 different keyword types, as you only need to look for the base keywords that KID will apply based on the preset. You can peruse the KID.inis to see all keyword placements. 1.9 Presets: _SoD_{Cov or Loc}_Body_Full - Cov Body's children, Fore arms, Shins _SoD_{Cov or Loc}_Body - Torso's children, Upper arms, Thighs _SoD_{Cov or Loc}_Torso - Top's children, Bottom's children, Belly _SoD_Cov_Bra - Breasts, nipples _SoD_Cov_Panties - Pussy, Ass _SoD_Uncovered - Chest, Pelvis Blocking keywords are to determine if something is blocking direct access to this region in conditions and papyrus. This does not mean it's unreachable, it just means someone would need to put the smallest bit of effort in reaching it. These do not contribute to body coverage: _SoD_Block_Ass _SoD_Block_Vaginal _SoD_Block_Dick _SoD_Block_Nipple _SoD_Block_Breasts Base keywords are the keywords you should be checking for in conditions and papyrus. All presets will result in some of these keywords ending up on armor: _SoD_Cov_Bra _SoD_Cov_Panties _SoD_{Cov or Loc}_Top _SoD_{Cov or Loc}_Top_Transparent _SoD_{Cov or Loc}_Hands_Transparent _SoD_{Cov or Loc}_Feet_Transparent _SoD_{Cov or Loc}_Bottom _SoD_{Cov or Loc}_Bottom_Transparent _SoD_{Cov or Loc}_Belly _SoD_{Cov or Loc}_UpperArm_{Left and RIght} _SoD_{Cov or Loc}_ForeArm_{Left and Right} _SoD_{Cov or Loc}_Thigh_{Left and Right} _SoD_{Cov or Loc}_Shin_{Left and Right} Bondage keywords are distributed to DD, Toys, and Zaz items for a single KW for all of them. It changes nothing, and only useful for only having a single dependency: _SoD_LocBondage_Eyes _SoD_LocBondage_Mouth _SoD_LocBondage_Anal _SoD_LocBondage_Vaginal _SoD_Bondage_KW _SoD_LocBondage_Body is unused It is important to remember that Location and Coverage keywords do NOT contribute to Charm or Erotic. You have complete control over when an item should be sexy or not via the Charming/Erotic/Fetish KWs. Just cause someone is wearing a bra, it does not mean its erotic. As it may be the ugliest thing you've ever seen. Covered - Little skin shown. Imagine having every item slot in TAWoBA equipped. Uncovered - Enough skin is shown that cum/dirt/tattoos could realistically be seen. Most, if any, tattoos don't have specific enough tags to do piece by piece basis, so SoD just generalizes. Scanty - Bra/Panties that don't provide coverage, but can still be considered clothing. Thongs, that kind of thing. Nude - There is nearly no clothing worn. Does NOT mean that nipples/pussy/ass are accessible. Look for blocking KW for that kind of thing. For instance, wearing pasties will still be considered nude. General: SoD tracks the player by default, but tracks any actor with the _SoD_ActorTrackerSpellSPID applied to them. (Game.getFormFromFile(0x0DBC, "State of Dress.esp") as Spell) Whenever an actors equip state has finished updating, it will send the event "SoD.stateUpdate" with the actor that was updated. You can check when the last time an actor was updated by jMap.getFlt(getStats(akActor), "lastUpdate") jContainer keys: All stats are stored in a master container which can be retrieved using int function getStats(form akActor) int masterList = JFormDB.getObj(akActor, ".sod.stats") if !masterList return -1 endif return masterList endfunction Dirt values from 0 to 3 jMap.getInt(getStats(akActor), "Dirt") Clothing is stored in a storage value per body area Body areas: Head Body Hands Feet jMap.getInt(getStats(akActor), "{Body area}") Body Values: 2 - Fully covered 1 - Uncovered: Breast and pussy covered. So wearing bikini, or underwear. 0 - Nude -1 - Transparent - Note: This will be scanty in the future, as with the new KWs there is no need to differentiate between opaque and transparent -2 - Tits out -3 - Pussy free use Lewdness values: Based on the clothing worn that has the charming or erotic keywords, the player will have an erotic and charm value. The intended use of Erotic is for whether an npc would want to fuck the player, the intended use of charm is to have NPC's respect the player. High erotic and low charm, for instance, could be used as a reference to tell if an NPC would rape the player. jMap.getInt(getStats(akActor), "Erotic") jMap.getInt(getStats(akActor), "Charm") Bondage Values: SoD checks for bondage keywords from toys/DD and stores a few of them. jMap.getInt(getStats(akActor), "bondage.vaginal") jMap.getInt(getStats(akActor), "bondage.anal") jMap.getInt(getStats(akActor), "bondage.oral") jMap.getInt(getStats(akActor), "bondage") Cum Values: SoD does not have an update timer, it only updates values as needed through PO3 functions and supported events. Due to this it does track cum, but realtime sexlab cum tracking requires the add/clear cum mod events. SCOE send them, and maaaaybe SLP+? Toys realtime tracking will come the next toys update. WIthout the supported events, the cum will not be accurate. jMap.getInt(jStats, "cumOral") jMap.getInt(jStats, "cumAnal") jMap.getInt(jStats, "cumVaginal") Every time any value is changed, SoD sends out the following event: RegisterForModEvent("SoD.stateUpdate", "equipStateChanged") event equipStateChanged(Form actorForm) if actorForm Actor akActor = actorForm as Actor ;code endif endevent Submitter DepravityExtended Submitted 03/25/2022 Category Adult Mods Requires Regular Edition Compatible No 3
N.Gamma Posted March 26, 2022 Posted March 26, 2022 State of Dress sounds like a very interesting system to me, but how is this capture of skin/dressed used by the supported mods? What exactly does this do for me in the game? 2
DepravityExtended Posted March 27, 2022 Author Posted March 27, 2022 On 3/26/2022 at 10:25 AM, N.Gamma said: State of Dress sounds like a very interesting system to me, but how is this capture of skin/dressed used by the supported mods? What exactly does this do for me in the game? I should update the page to reflect this, but it's a framework. So it does nothing for a user unless a mod uses it. ATM gossip only uses it to apply exhibitionism fame.
N.Gamma Posted March 28, 2022 Posted March 28, 2022 10 hours ago, SkyLover37 said: I should update the page to reflect this, but it's a framework. So it does nothing for a user unless a mod uses it. ATM gossip only uses it to apply exhibitionism fame. But with the supports mods does the mod there already something in connection with Bakas SL Aroused?
DepravityExtended Posted March 28, 2022 Author Posted March 28, 2022 14 hours ago, N.Gamma said: But with the supports mods does the mod there already something in connection with Bakas SL Aroused? All the mods in supports section are the mods that it accesses to determine values. So it checks clothes for keywords from bakas SL Aroused to determine clothing state.
CobraPL Posted May 11, 2022 Posted May 11, 2022 (edited) "Bakas SLA keywords(A dummy file with bakas keywords is in the downloads section if you don't use it)" mod destroys arousal system, all actors have -2. Edited May 11, 2022 by CobraPL
saphiral Posted June 20, 2022 Posted June 20, 2022 Today I tried to setup a Toys install without SexLab. I cannot use this mod because Sexlab.esm and SexLabAroused.esm are Masters. Should they be listed in Requirements: section ?
airportsubdued Posted July 21, 2022 Posted July 21, 2022 Hey SkyLover37, I wanted to use the 'how tight/skimpy are these clothes?' feature from Fall of the Dragonborn with SLIF mods but it isn't compatible. Is that something this mod will get down the track? It would be quite interesting to only have weaker and/or skimpier armour equipable while the player is significantly enlarged/inflated by other mods.
DepravityExtended Posted January 10, 2023 Author Posted January 10, 2023 Sorry for not responding to comments. But here's an update. So I am redesigning SoD. As I thought on it more, the original scope of SoD was far to vast for skyrim. Wanting to have specific keywords for every part and clothing type isn't reasonable nor needed. Also, I feel the new idea is more gamey and will be more fun to interact with. This also means that script usage will be dropped heavily, as these keywords allow for fine control using conditions. I am kinda stuck on what to do for high heels, I wanted to do it where every X height would add Y charm and every X height above Z would increase erotic up to say ballet heels which would be fetish rank. The problem with doing it that way is that it would complicate, if not make entirely impossible, using the keywords and heels ratings together using conditions only. So, to ramble a bit, maybe extend the armor check function to include the keywords again and use factions again to add charming keyword count to heel height charm/ero value. The problem with this is that as far as I can tell there is no papyrus equivalent to wornapparelhaskeywordcount. I have methods I can use, they just arent as convenient. I dunno, as I said, rambling. Keywords _SoD_Chest - Means at the very least, the nipples are covered _SoD_Pelvis - Means at the very least the pussy is covered _SoD_CoversBodyPart - You will need to equip a certain amount of armor pieces that have this keyword to hide body tattoos _SoD_CoversBody - Any armor marked as this will cover body tattoos on it's own _SoD_Charming - Marks that this item adds to the players look. Slight cleavage, some fitted pants, that kinda thing. Ideally the more charming clothing you have youll get buffs to speech. _SoD_Erotic - Marks that this item adds to the players sex appeal. Ideally this will be a kind of counter to charm, as in if your more erotic than charming, perhaps you still get a buff but it raises chance of rape. _SoD_Fetish - This exists to mark extreme clothing that are close to but don't count as bondage, so this is the equivalent as something being marked as ToysToy. ideally fetish would increase sex appeal a ton and charm little. to expand just a little bit on the keywords, they are isolated from each other. so a piece marked as chest and fetish wont yield anything extra point wise. I did think about making it where the charming, erotic, and fetsih keywords added more points based on region, but I decided against it as I thought it would needless complications. As an example for keyword usage. the default iron armor would be marked as Chest, Pelvis, CoversBody' While wearing a TaWoBA bikini top would be marked as chest, erotic, and coversbodypart and the bottom would be marked as pelvis, erotic, and coversbodypart Let me know what you guys think.
Shivering Bee Posted January 11, 2023 Posted January 11, 2023 It is mildly frustrating to need to configure a number of separate mods to detect how the PC is dressed (Baka/Sexlab-Survival are hardcoded for specific keywords, Sexlab Adventures has you add the keywords the mod considers skimpy or naked, and Sexlab - Sexual fame has you flag each piece of armor as naked/not-naked.) So it would be great is something like this became a go to armor keyword framework. The problem I see, with your hypothetical iron armor, is that you need to add (multiple) keywords to all of the vanilla armors and clothing. I suggest assume that no keywords means the armor/clothing fully covers the body, use _SoD_Charming and _SoD_Erotic as you described and assume they are full body outfits (typical vanilla outfit that covers both the upper and lower portions of the body), and save use the _SoD_Chest/Pelvis/coversBodyPart keywords exclusively for any multi-piece armors like the bikini armors. Also, I'd like to suggest instead of relying heavily on magic effect conditionals, create a script with the OnObjectEquipped() event and use that to tabulate the armor keywords then set some conditional properties for the magic effects and set up some ConsoleUtil.SetIntValue() so third party mods can access without needing any dependencies. As a side effect, this could make your heel height problem a little simpler to solve. Thanks for you time KRB 1
DepravityExtended Posted January 11, 2023 Author Posted January 11, 2023 1 hour ago, Kae Arby said: It is mildly frustrating to need to configure a number of separate mods to detect how the PC is dressed (Baka/Sexlab-Survival are hardcoded for specific keywords, Sexlab Adventures has you add the keywords the mod considers skimpy or naked, and Sexlab - Sexual fame has you flag each piece of armor as naked/not-naked.) So it would be great is something like this became a go to armor keyword framework. The problem I see, with your hypothetical iron armor, is that you need to add (multiple) keywords to all of the vanilla armors and clothing. I suggest assume that no keywords means the armor/clothing fully covers the body, use _SoD_Charming and _SoD_Erotic as you described and assume they are full body outfits (typical vanilla outfit that covers both the upper and lower portions of the body), and save use the _SoD_Chest/Pelvis/coversBodyPart keywords exclusively for any multi-piece armors like the bikini armors. Also, I'd like to suggest instead of relying heavily on magic effect conditionals, create a script with the OnObjectEquipped() event and use that to tabulate the armor keywords then set some conditional properties for the magic effects and set up some ConsoleUtil.SetIntValue() so third party mods can access without needing any dependencies. As a side effect, this could make your heel height problem a little simpler to solve. Thanks for you time KRB I agree on the iron armor example, so thanks for pointing out I need a fall back for vanilla. I was just gonna make an xedit script to just auto flag all vanilla armor, but checking for the ArmorCuirass keyword after the other keywords should work fine in that regard. Charming, erotic will both be a simple +1 to each category per item marked. Fetish will add +2 erotic. I think it would be better to only have charming and erotic, for ease of use, but some items are just too far out there to simply be +1, imo. I may remove the fetish keyword when I start adding keywords manually depending on how it feels. Or, now that I think about it, I may be able to make it where it's +1 per slot the item uses. Although that would depend on how uniform in that regards armor mods are. I've never used consoleUtil.SetIntValue() and I cannot find the command. Could you give me more detail on that?
Shivering Bee Posted January 11, 2023 Posted January 11, 2023 D'oh! My bad. That should have been StorageUtil which is part of PapyrusUtil. (Teach me to proofread my posts.) KRB
DepravityExtended Posted January 11, 2023 Author Posted January 11, 2023 8 hours ago, Kae Arby said: D'oh! My bad. That should have been StorageUtil which is part of PapyrusUtil. (Teach me to proofread my posts.) KRB Ohhhh, ok. XD
DepravityExtended Posted February 6, 2023 Author Posted February 6, 2023 So, update. After looking at slot usage, except for some outliers using slot 49 for panties, slot usage is pretty uniform. So instead of keywords, I will be checking for slots. any item in slot 32 (cuirass default) will be considered full cover(blocks sight of dirt, tattoos, and cum on body) unless it is marked as SOS_Revealing. In which case, it will check for by default clothing in the chest(32), abs(56), and pelivs(52). Mcm menu to enable requiring other slots: 46,47,45, 49, 53,57,58,54. The misc slots are taken exclusively from TaWoBA and I have not checked the uniformness of these, but I only really cared about slots 32 and 52, as these are the breasts/pussy coverage. Charming and erotic keywords will still need to be distributed. Heels will add 1 charm per inch up to 3 inch, then 1 erotic per inch past that. I'm also making it where tattoos can be marked to contribute to Charming/Erotic. currently Makeup and Tights are marked for charming, and all the base lewd tats are marked as erotic. I will prob move these to a json for easier modifying, along with MCM options for adding removing.
DepravityExtended Posted March 8, 2023 Author Posted March 8, 2023 Update is basically done, I am holding off on uploading till I update gossip to make sure there isn't any other functionality I may want. SoD will not track dirt/cum as there is no full proof way to ensure values are accurate without an update loop due to no consistent use of events for changes to dirt/cum. 2
darkangel2041 Posted April 10, 2023 Posted April 10, 2023 (edited) Hello, I try to understand how this mod works. So, if I understand well, I need to manualy add the keywords "_SoD_Revealing" or "_SoD_Transparent" on the slot 32 from the armor I want to be tracked ? I also wonder if it is safe to eslfy the plugin ? Edited April 10, 2023 by darkangel2041
DepravityExtended Posted April 10, 2023 Author Posted April 10, 2023 (edited) 9 hours ago, darkangel2041 said: Hello, I try to understand how this mod works. So, if I understand well, I need to manualy add the keywords "_SoD_Revealing" or "_SoD_Transparent" on the slot 32 from the armor I want to be tracked ? I also wonder if it is safe to eslfy the plugin ? If there is clothing equipped in slot 32, SoD considers the body fully clothed, regardless of other slots. Adding the _SoD_revealing KW tells SoD that a piece of torso armor shows off the body. It also recognizes SoS_Revealing, so a lot of clothing mods are already compatable. Use _SoD_Trasparent for any other slots. Edit: And yes, it can be an esl. The forms should even already be compacted, it just needs the esl flag in xEdit. I mustve forgot to do that. Edited April 10, 2023 by SkyLover37
darkangel2041 Posted April 11, 2023 Posted April 11, 2023 15 hours ago, SkyLover37 said: If there is clothing equipped in slot 32, SoD considers the body fully clothed, regardless of other slots. Adding the _SoD_revealing KW tells SoD that a piece of torso armor shows off the body. It also recognizes SoS_Revealing, so a lot of clothing mods are already compatable. Use _SoD_Trasparent for any other slots. Edit: And yes, it can be an esl. The forms should even already be compacted, it just needs the esl flag in xEdit. I mustve forgot to do that. Great ! Thanks for your answer ?
darkangel2041 Posted April 12, 2023 Posted April 12, 2023 On 4/10/2023 at 4:56 PM, SkyLover37 said: And yes, it can be an esl. The forms should even already be compacted, it just needs the esl flag in xEdit. I mustve forgot to do that. Hi again. I made some test and I have an error in the mcm menu : "error loading config => click to view". And if I click the following message is displayed "Invalid key : schema". Esp or esl are the same result. Nothing overwrite state of dress I presume I have all the requierments Any idea what I could have done wrong ?
Nikett7 Posted April 12, 2023 Posted April 12, 2023 5 hours ago, darkangel2041 said: Hi again. I made some test and I have an error in the mcm menu : "error loading config => click to view". And if I click the following message is displayed "Invalid key : schema". I join the question, I have the exact same problem.
DepravityExtended Posted April 12, 2023 Author Posted April 12, 2023 3 hours ago, Nikett7 said: I join the question, I have the exact same problem. Ensure you have the correct MCM helper for you skyrim version, then ensure that MCM helper overwrites any conflict.
darkangel2041 Posted April 13, 2023 Posted April 13, 2023 7 hours ago, SkyLover37 said: Ensure you have the correct MCM helper for you skyrim version, then ensure that MCM helper overwrites any conflict. So, I solved this with your advice. I miss that I had MCM helper v1.3 and not the MCM helper v1.4 backport in the miscellaneous section (I am on V.1.5.97). I am quit tired these days, so I am sorry for losing your time. But realy thanks for your support ! ? 2
darkangel2041 Posted April 13, 2023 Posted April 13, 2023 10 hours ago, Nikett7 said: I join the question, I have the exact same problem. Also check that MCM Helper is loaded after SKYUI. 1
Kruggar Posted April 13, 2023 Posted April 13, 2023 can i install this on an existing save, if i've never installed this mod in that save? Not updating it from any lower version.
DepravityExtended Posted April 13, 2023 Author Posted April 13, 2023 10 minutes ago, Kruggar said: can i install this on an existing save, if i've never installed this mod in that save? Not updating it from any lower version. Yes. 1
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now