Jump to content

1 Screenshot

About This File

Skimpy Armor Keyword Resource (SAKR)

v1.1.2

 

Intro
Skimpy Armor Keyword Resource is a common resource/framework that allows mods to know what kind of clothing the player character is wearing and how revealing they are. This allows mods to react differently based on how much skin the player is exposing. For example, if the player is wearing nothing but a tight bikini, technically they are not considered "naked" according to modern standards. But it's still very different than a player dressed in clothing that covers every inch of her body like a Vault suit.

 

This mod will work the best with modular clothing mods such as the Vtaw collection or DONEB14N clothes pack, where the bra, panties, pants, and shirt are all individual clothing pieces. It can work for other more traditional single piece armor/clothing mods, but with less benefits.

 

Being a simple resource, the mod alone does not do anything. Other mods would need to integrate it to provide an improved experience to players.

 

Setup
WARNING:

The mod will not work as intended without proper initial setup. In addition to the usual mod installation, a proper setup is required to add the keywords provided by this mod to the armor/clothing mods that you use to dress your character. In other words, this mod provides armor keywords, but something else needs to add those keywords to all the armors.

 

The two main ways to do this are to download & install patches created by someone else, or create patches your own. There's an effort underway from the Loverslab Community to create RobCo Patcher patches (such as Rubber Duck's SAKR Repo) for a bunch of popular armor mods. If there's a RobCo Patcher patch for an armor mod you use, all you need to do is download & install RobCo Patcher (and its dependencies) then download & install the patch, and that's it. 

 

But if there isn't a RobCo Patcher patch created for a mod you use, then you may need to add the keywords to armor yourself. There are two methods to do so: 1) create your own RobCo Patcher patch, or 2) update the armor mod's .esp file using FO4Edit. The RobCo Patcher method requires some learning curve, and requires RobCo Patcher to be installed. If you would like to avoid learning RobCo Patcher or avoid having to install a F4SE plugin, then you could alternatively use FO4Edit. If you have never used FO4Edit before, there is an instruction with pictures in the download section.

 

Main Feature
Armor, bra, panties, pants, skirt, and shirt pieces can be tagged with keyword(s) that describe how much of the body they cover. For instance, the mod lets you indicate a pair of pants as a skin tight hotpants that show every bit of your curves, or a loose baggy long pants that are not going to turn any heads.

 

Using the keywords the mod governs whether the player is considered "exposed". Exposed in this mod's context is if the player's private parts (crotch and breast for females, just crotch for males) are uncovered. For instance, a player wearing shoes, gloves, and helmet but nothing to cover the crotch or breasts will be considered "exposed".

 

The mod also provides a rating system for indicating how skimpy the player is dressed, even if the player may not be exposed. The Skimpy Rating ranges from 0 to 100, where 0 means not skimpy at all (every inch of the skin covered), and 100 being butt naked. So even if the player may be considered dressed (or not exposed), mods can then use the Skimpy Rating system to see how revealing the player is dressed. Mods can get Skimpy Rating for the lower body (waist down), Skimpy Rating for the upper body (waist up), or overall Skimpy Rating (full body).

 

Players can use MCM to customize how Skimpy Rating is calculated per keyword. If the player is in Power Armor, the player is considered fully dressed and Skimpy Rating is 0.

 

Here's a rough guideline for how the Skimpy Rating metric should be interpreted:
0 - You're basically dressed like an Eskimo. Theres no skin showing whatsoever and the clothing is bulky, hiding whatever you got under the clothes.
20 - This may be considered "business casual" with a hint of sexiness. Maybe a pencil skirt that hugs the curves, or slight peak of the top of the cleavage. Either way, no one will think this is an inappropriate clothing for any occasion.
40 - May be considered casual attire such as tank top and yoga pants. Some may consider this inappropriate for work, and you may turn heads. But depending on the occasion this may be fine.
60 - Dressed to impress and to flirt. Clearly NSFW and you will get fired if you showed up dressed like this. This is how one might dress up for parties, with the clear intention of showing off one's body and sexuality.
80 - You are basically in bikinis or underwear at this point. Your private parts may be covered, but everything else is fully exposed.
95 - Micro bikini and/or GString. The only thing covered are nipples and crotch.
100 - Butt naked.

 

How It Works

The mod recognizes "4 layers" of clothing:
Layer 1 - Underwear: Panties and Bra
Layer 2 - Outer wear: Pants and Top
Layer 3 - Cover: Skirt (as far as the mod is concerned, skirts can be worn over pants, mainly to allow the pants layer be used for pantyhose)
Layer 4 - Armor

 

A player is considered exposed only if the crotch or breast is not covered through the 4 layers of clothing. That means even if the player is not wearing any panties, if they are wearing pants, their crotch is not considered exposed. Skimpy Rating behave similarly. Even if the player is wearing the skimpiest GString imaginable, if they are wearing pants over that cover every inch of the legs, then the Skimpy Rating for the bottom will be based on the pants, not the GString.

 

Keywords
There are 7 main types of keywords. Any piece of clothing that covers the crotch or breast need to have at least one of the following keyword with the prefix:
sakr_kwd_armorTop*
sakr_kwd_armorBottom*
sakr_kwd_panty*
sakr_kwd_bra*
sakr_kwd_pants*
sakr_kwd_skirt*
sakr_kwd_top*

 

A piece of clothing can have 2 types of keywords if they cover both the crotch and breast. For example, a Vault suit may have both sakr_kwd_pantsLong & sakr_kwd_topFull. In another example a long dress may have both sakr_kwd_skirtLong & sakr_kwd_topFull. A piece of clothing that does not cover the crotch or the breast (e.g. gloves) should not have any of the keywords.

 

In addition some pieces have "Tag" keywords meant to even futher characterize the clothing. A clothing/armor item can have 0 tags, 1 tag, or more than 1 tags.

 

Bra
A bra. All bras should have this keyword.
sakr_kwd_braNormal - A normal bra that covers the breasts conservatively
sakr_kwd_braBikini - A bikini bra that reveals generous amount of side boob and cleavage.
sakr_kwd_braMicroBikini - A scandalous bra that only barely covers the nipples. Everything else is revealed

 

Optional additional tags

sakr_kwd_braTagSheer - tag for bra to indicate sheer or see-through material. Absence of this tag implies non-see-through material

 

Panty
A panty. All panties should have this keyword.
sakr_kwd_pantyNormal - A traditional panty that covers much of the butt and front.
sakr_kwd_pantyThong - A thong that reveals generous amount of butt. The front is still covered decently
sakr_kwd_pantyGString - A scandalous string panty that reveals the entire butt. Only barely covers the crotch.

 

Optional additional tags

sakr_kwd_pantyTagSheer - tag for panty to indicate sheer or see-through material. Absence of this tag implies non-see-through material

 

Top
A clothing item worn under the armor that covers the upper body. All tops should have one of these keywords
sakr_kwd_topFull - A top that covers every inch of the breast from the front (no cleavage).
sakr_kwd_topCleavage - A top that reveals a generous amount of cleavage.
sakr_kwd_topLowCutCleavage - A top with a cut so low that the breast area between the nipples are fully revealed.

 

Optional additional tags
sakr_kwd_topTagTankTop - A sleeveless top that reveals the armpits and parts of the shoulders. Can be also used for tube top that dont cover the shoulders at all. Absence of this tag implies shoulders and armpits are covered (e.g. shirt with sleeves).
sakr_kwd_topTagCropTop - A top that reveals the belly. Absence of this tag implies the belly is covered.
sakr_kwd_topTagHalterTop - A top that reveals generous amounts of the back. Absence of this tag implies the back is covered.
sakr_kwd_topTagSideBoob - A top that reveals generous amounts of side boob. Absence of this tag implies the side boobs are covered.
sakr_kwd_topTagTight - A skin tight top that hugs every curves and clearly outlines the breast shape. Absence of this tag implies loose top.
sakr_kwd_topTagSheer - A top that is sheer material or semi transparent. Can see through if looking close. Absence of this tag implies non transparent material

 

Pants
A pair of pants must have one of these keywords
sakr_kwd_pantsLong - A pair of long pants that extend to the knees or cover below the knees.
sakr_kwd_pantsShorts - Short pair of pants that reveal much of the thighs but fully cover the butt
sakr_kwd_pantsHotPants - Hot pants so short that it reveal the bottom of the bums
sakr_kwd_pantsThong - Are these pants? Thong-shaped pants that reveal almost all of the butt and only cover the crotch

 

Optional additional tags
sakr_kwd_pantsTagTight - A skin tight pair of pants that hug every curves and clearly outlines the butt shape. Absence of this tag implies loose pair of pants.
sakr_kwd_pantsTagSheer - A pair of pants that is sheer material or semi transparent, like pantyhose. Can see through if looking close. Absence of this tag implies non transparent material

 

Skirt
A skirt that can be worn over pants. All skirt should have one of these keywords
sakr_kwd_skirtLong - A skirt that extend to the knees or cover below the knees.
sakr_kwd_skirtShort - Short skirt that cover well below the butt but reveal good amount of the thighs.
sakr_kwd_skirtMini - Mini skirt that just barely covers the butt. Can reveal the butt when bending over or running
sakr_kwd_skirtMicro - A scandalous skirt so short it reveals the bottom of the butt. Any slight movement will fully reveal the full bum and the groin.

 

Optional additional tags
sakr_kwd_skirtTagTight - A skin tight skirt that huges the thighs tightly. Clearly outlines the curves. Absence of this tag implies loose skirt, e.g. pleated skirt
sakr_kwd_skirtTagSheer - A skirt that is sheer material or semi transparent. Can see through if looking close. Absence of this tag implies non transparent material

 

Armor Top
An armor that covers the upper body must have one of these keywords
sakr_kwd_armorTopFull - A top armor worn over clothing. A rather large armor that covers most of the upper body
sakr_kwd_armorTopBreast - An upper body armor that only covers the breast area and reveals other parts of the upper body
sakr_kwd_armorTopLewd - A bikini-like armor that only barely covers the nipples and reveals much of the breast and upper body

 

Armor Bottom
An armor that covers the lower body must have one of these keywords
sakr_kwd_armorBottomFull - A bottom armor worn over clothing. A rather large armor that covers most of the legs
sakr_kwd_armorBottomButt - A lower body that only covers the butt and groin and reveals much of the legs
sakr_kwd_armorBottomLewd - A bikini-like armor that only barely covers the groin and reveals much of the butt and lower body

 

Accessories

Clothing items that do not cover the crotch or breasts, but can still change a player's skimpiness

sakr_kwd_stockingsLong - a pair of knee-high stockings

sakr_kwd_stockingsTagShiny - optional tag for stockings to indicate shiny material like latex or leather. Absence of this tag implies cloth-like material

sakr_kwd_stockingsTagSheer - optional tag for stockings to indicate sheer or see-through material. Absence of this tag implies non-see-through material

sakr_kwd_shoesHighHeels - a pair of high heel shoes

sakr_kwd_shoesKillerHeels - a pair of shoes that are "killer heels" or extremely tall high heels. These are impractical and difficult to walk in normally

 

Keyword example
Here are some examples of what keyword combination may be appropriate depending on the clothing item.
Yoga pants: sakr_kwd_pantsLong, sakr_kwd_pantsTagTight
Pantyhose: sakr_kwd_pantsLong, sakr_kwd_pantsTagTight, sakr_kwd_pantsTagSheer
Tight tanktop with bust view: sakr_kwd_topCleavage, sakr_kwd_topTagTankTop, sakr_kwd_topTagTight

 

Accessories can be combined. For instance, a pair of knee-high leather high heel boots can be characterized by combination of sakr_kwd_shoesHighHeels, sakr_kwd_stockingsLong, & sakr_kwd_stockingsTagShiny.

 

Keyword form IDs

Click here to view all the keywords and their form IDs

Spoiler

sakr_kwd_armorTopFull         1000802
sakr_kwd_armorTopBreast     1000803
sakr_kwd_armorTopLewd         1000804
sakr_kwd_armorBottomFull     1000805
sakr_kwd_armorBottomButt     1000806
sakr_kwd_armorBottomLewd     1000807
sakr_kwd_pantyNormal         1000808
sakr_kwd_pantyThong            1000809
sakr_kwd_pantyGString         100080A
sakr_kwd_pantyTagSheer        10026B0
sakr_kwd_braNormal            100080B
sakr_kwd_braBikini             100080C
sakr_kwd_braMicroBikini     100080D
sakr_kwd_braTagSheer        10026AF
sakr_kwd_pantsLong             100080E
sakr_kwd_pantsShorts         100080F
sakr_kwd_pantsHotPants         1000810
sakr_kwd_pantsThong         1000811
sakr_kwd_pantsTagTight         1000812
sakr_kwd_pantsTagSheer         1000813
sakr_kwd_skirtLong             1000814
sakr_kwd_skirtShort         1000815
sakr_kwd_skirtMini             1000816
sakr_kwd_skirtMicro         1000817
sakr_kwd_skirtTagTight         1000818
sakr_kwd_skirtTagSheer         1000819
sakr_kwd_topFull             100081A
sakr_kwd_topCleavage         100081B
sakr_kwd_topLowCutCleavage     100081C
sakr_kwd_topTagCropTop        100081D
sakr_kwd_topTagTankTop         100081E
sakr_kwd_topTagHalterTop     100081F
sakr_kwd_topTagSideBoob        1000820
sakr_kwd_topTagTight         1000821
sakr_kwd_topTagSheer        1000822
sakr_kwd_stockingsLong        10026B1
sakr_kwd_stockingsTagShiny    10026B2
sakr_kwd_stockingsTagSheer    10026B3
sakr_kwd_shoesHighHeels        10026B4
sakr_kwd_shoesKillerHeels    10026B5

 

Installation

  1. Install like any other mod (use NMM, or Vortex, or MO2, or manually drag into game data folder)
  2. After installation, add keywords to armor: either download RobCo Patcher patches, or do it yourself. Refer to "Setup" section for details.

 

Requirements
None

 

Modder's Resource
The mod provides APIs for mods to call to get player's exposed/skimpy status:

Spoiler

Note that all of these APIs simply read from global variables that were already precalculated. So there should not be any performance concern calling these APIs too frequently

 

Get API object

Quest SAKR_API = Game.GetFormFromFile(0x00000800, "SkimpyArmorKeywordResource.esm") as quest
ScriptObject sakr_script = SAKR_API.CastAs("SAKR:SAKR_Main")

Get whether the player is naked

bool isNaked = sakr_script.CallFunction("isPlayerExposed", new var[0]) as bool

Get whether the player's crotch is exposed

bool crotchExposed = sakr_script.CallFunction("isPlayerLowerBodyExposed", new var[0]) as bool

Get whether the player's breasts are exposed

bool breastsExposed = sakr_script.CallFunction("isPlayerUpperBodyExposed", new var[0]) as bool

Get player's overall (full body) Skimpy Rating

int skimpyRating = sakr_script.CallFunction("getPlayerOverallSkimpyRating", new var[0]) as int

Get player's upper body Skimpy Rating

int upperSkimpyRating = sakr_script.CallFunction("getPlayerUpperBodySkimpyRating", new var[0]) as int

Get player's lower body Skimpy Rating

int lowerSkimpyRating = sakr_script.CallFunction("getPlayerLowerBodySkimpyRating", new var[0]) as int

Listen for skimpy rating changes

SAKR:SAKR_Main sakr_main

Function SampleFunction()
	Quest SAKR_API = Game.GetFormFromFile(0x00000800, "SkimpyArmorKeywordResource.esm") as quest
	sakr_main = sakr_api as SAKR:SAKR_Main

	RegisterForCustomEvent(sakr_main, "OnSkimpyRatingUpdate")
EndFunction

Event SAKR:SAKR_Main.OnSkimpyRatingUpdate(SAKR:SAKR_Main akSender, Var[] akArgs)
	int overallSkimpyRating = akArgs[0] as int
	int upperBodySkimpyRating = akArgs[1] as int
	int lowerBodySkimpyRating = akArgs[2] as int
	; do something here
EndEvent

---

 

The mod also provides keywords that can be used universally within the context of skimpy/sexy/scandalous armors for mods to communicate with each other. The following keywords are meant to be flags that mods use to mark an armor/equipment with a certain meaning. These are more intended for a single instance of an armor object, not the armor form. These mod-targeted keywords can be idenfitied by the "mFlag" prefix, short for "mod flag"

sakr_kwd_mFlagUnequipProtectedItem (10026BD) - keyword to mark that a piece of armor is protected and should not be unequipped by other mods

 

 

Q/A
After wearing clothes that I added keywords to, my skimpy rating isn't being updated. Whats wrong?

Remember to close FO4Edit if it's still open. If it's open, any changes won't get loaded when the game starts.

Also, make sure to give about 2 seconds after wearing clothes in game. The mod waits about 1.5 seconds after the player changes armor (for performance reasons), before calculating the skimpy rating.

 

Can you add XYZ keyword?

Depends. Requests will be evaluated on a case-by-case basis. Each new keyword addition has performance implications. For instance, if the mod has a total of 50 keywords, that's 50 individual keywords that the mod needs to check whenever the player's equipment changes. If 10 more were to be added, that number increases to 60. Therefore, the mod will not blindly introduce new keywords to infinite granularity. Keywords will only be added if there are enough armor/clothing pieces that need it to be properly categorized and scored. Otherwise, stick to one of the existing keywords that are most similar.

Edited by twistedtrebla


What's New in Version 1.1.2

Released

v1.1.2

  • Fixed a bug where wearing sheer skirt or legs would sometimes set the skimpy rating to 0 due to math error

 

Previous changelog.

Spoiler

v1.1.1

  • Fixed a bug where wearing nothing but high heels/stockings would cause the player to be not considered exposed.

 

v1.1.0

  • Added new keywords
    • sakr_kwd_braTagSheer - tag for bra to indicate sheer or see-through material. Absence of this tag implies non-see-through material
    • sakr_kwd_pantyTagSheer - tag for panty to indicate sheer or see-through material. Absence of this tag implies non-see-through material
    • sakr_kwd_stockingsLong - keyword for knee-high stockings
    • sakr_kwd_stockingsTagShiny - tag for stockings to indicate shiny material like latex or leather. Absence of this tag implies cloth-like material
    • sakr_kwd_stockingsTagSheer - tag for stockings to indicate sheer or see-through material. Absence of this tag implies non-see-through material
    • sakr_kwd_shoesHighHeels - keyword for shoes that are high heel
    • sakr_kwd_shoesKillerHeels - keyword for shoes that are "killer heel", the impractical ones that are difficult to walk in normally
  • Added new keyword for mods. Keywords with "mFlag" (mod flag) prefix are ones that are intended to be used by mods to flag a certain armor piece to mean something 
    • sakr_kwd_mFlagUnequipProtectedItem (10026BD) - keyword to mark that a piece of armor is protected and should not be unequipped by other mods
  • Added a new event that mods can use to listen for skimpy rating changes (see Modder's Resource section in main page for details)

 



×
×
  • 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