Jump to content

Recommended Posts

Posted

Bimbos of Skyrim - BimboSkin

View File

Due to some reallife stuff I'll take a break from working on this. This is mainly about adding new stuff. If there is a (critical) bug found I'll try to fix it, though I can't guarantee an immediate release of a new version.

 

Description:

Mainly intended to be a small addon for the great Bimbos of Skyrim (get it now!) mod, this adds multiple methods of changing the player character (PC) and NPCs skin color.

This can be done by menu (NPC & Player), Hotkeys (NPC) or by listening to the corruption event by BoS.

The application method can be set separately for the PC and NPCs.

 

Additionally instead of a direct application you can choose different progression types.

(Corruption - PC & NPC, Time-Based - PC & NPC, Sleep-Based - PC)

Each of those types also has individual settings and are divided for the PC and NPCs

 

I tried to make it as customizable as possible.

Personally I recommend the Skin Tone method for the player and Skin Color for NPCs, but in the end it's up to preference.

 

Following is an overview, including known issues (marked red), on the 3 methods implemented. All of them come with their own pros and cons.

  • Skin Tint:
    • Only works for the Player Character
    • ARGB
    • (Hopefully fixed with 2.3.0) Potentially adds an invalid SkinOverride to your character. 
      • Using the Debug Option Clear Racemenu SkinOverrides should fix this.
      • Any preset saved with this will either have to:
        • Be cleaned by loading the preset, using this option and re-saving it.
        • Edited with a text-editor of your choice by removing the whole "skinOverrides" section or removing the entry with "key" : 9 and "data" : "" completely:
          Spoiler

          So for this example the whole "skinOverrides" section could be removed.

           "skinOverrides" : [
                {
                   "firstPerson" : false,
                   "slotMask" : 4,
                   "values" : [
                      {
                         "data" : "",
                         "index" : 7,
                         "key" : 9,
                         "type" : 2
                      }
                   ]
                }
             ],

           

          Alternatively it could be edited so it looks like this (unconfirmed as I never had any additional skinOverride entries myself and simply removed the whole section). This might be the preferred method if the section does not consist only of the invalid entry:

           "skinOverrides" : [
             ],

           

           

  • Skin Color:
    • Uses SetSkinColor function from PO3's Papyrus Extender and has a few drawbacks.
    • Works on NPCs
    • RGB only. No alpha changing.
    • Uses a Magic Effect for the color changing.
    • Uses a checking interval to reapply the effect on NPCs who lost the effect for several reasons, e.g.:
      • Player left the cell the NPC is in and re-enters.
      • An (external) event caused a NiNodeUpdate.
      • etc.
    • (Un-)Equipping armor also runs a NiNodeUpdate (also on the player!). On these events the effect will be directly re-applied for NPCs and the PC.
      • Skyrim's equipping event does not wait for the unequipping event to end, so a short delay way added. 
        • Script lag, etc. could lead to a situation where the effect is not reapplied.
      • There will be a notable, albeit short flicker when the skin color is reverted to its original color.
    • Can be applied (and removed) via MCM menu or changeable Hotkeys to the Actor in your crosshair.
    • Can be refreshed manually by using a changeable Hotkey to the Actor in your crosshair.
    • RaceMenu Overlays retain their original color (starting from version 2.3.0)
    • Face shader is switched to FaceGenRGBTint to allow tint changes. Tintmasks will no longer work.
    • Will lead to a CTD if the skin tint is changed afterwards. (RaceMenu or trying to apply Skin Tone method). 
      • Steps to reproduce: 
        Spoiler
        1. Have type set to "Skin Color"
        2. Activate the player skin, then deactivate it again
        3. Set type to "Skin Tint"
        4. Activate the player skin again.

        or 

        1. Have type set to "Skin Color"
        2. Activate the player skin
        3. Use showracemenu (or any other way to open RaceMenu) on console
  • SlaveTats:
    • The original method of the mod.
    • Works on NPCs
    • ARGB
    • Simply adds a full body tattoo with the set color to the target.
    • Requires adapted textures to fit your setup which I won't provide (See Spoiler). 
      Spoiler

      Notes about the texture:
      I (obviously) used the texture I'm using in my game (Baby Girl - HD Fair Skin Complexion) so any other setup will probably require appropriate textures to deliver a somewhat decent result.
      The textures edited for testing purposes are included, but I only changed the colors so SlaveTats will allow changing the skin color.

      Don't expect them to be performance friendly or optimized.

      Even if you use the same skin texture mod in your setup I strongly recommend re-creating them yourself.

       

      Basic steps (mostly taken from the official SlaveTats modpage):

      • Pick a UV map to work from. Basically, that means finding the skin texture from your favorite body mod.
      • Copy the skin texture into an image editor that supports layers (such as Photoshop or GIMP)
      • Select the color #444544. That color will be replaced by the user's chosen color when the tattoo is applied. All other colors will be displayed normally.
      • Create a layer on top of the skin using above color (with some transparency) / color the skin layer itself.
      • Export the file as a .dds including any optimization you want.

       

       

       

    • Might overlay any other tattoos / body overlays you're currently using. There's nothing that changes SlaveTats default priority.
    • Higher Alpha values will also overlay facial features on the skins bottom layer such as eyebrows!
    • Kind of a legacy option.


Originally this was supposed to be a private mod trying to solve an "inconvenience" for myself, as a skin color change was not planned to be included as a corruption step in BoS.

If you notice any bugs, feel free to report them and I'll try my best to fix them.

I'm also not against suggestions, but there are basically 2 conditions:

  1. It should be doable with my (currently) very limited papyrus experience
  2. I would like to see / use the feature myself.

 

Apart from that, anyone is free to take this mess and expand / improve / fix (you name it) it.

 

Optional Files:

Cum Applicator

Spoiler

Adds a craftable potion Bowl of Semen Cream. This can be used to apply cum to the targets body, as if it was a cream (hence the uncreative name). Intended for usage with mods like Sexy Adventures and similar that feature a (negated) Cum Law of any kind.

  • Craftable with FILL HER UP cum (
    1 ingredient = 1 bowl,
    3 ingredients = 2 bowls,
    5 ingredients = 3 bowls):
    • Human Cum
    • Beast Cum
    • Rotten Cum
    • Vomit Scum
  • Upon usage will show a menu with following options to select the application area:
    • Face
    • Crotch area
    • Ass
    • Cancel
  • Adds a small amount of corruption regardless of selected area (5)
  • Unlike the Dremora Potions it does not send a FillHerUp event as its supposed to be only smeared on the skin
  • Menu text should be different depending on Bimbos of Skyrim status of the player (also when applying it to a NPC)

 

Requirements (Hard):

 

If theres demand I can make the BoS and EVM requirements optional, this was put together on a whim. Since I use all of the above mods in basically each of my playthroughs nowadays, there was not much effort made in that regard yet.
If anyone else wants to do this, as always, feel free to take that stuff and release a better / improved version. Just keep in mind that the script is like 99% based of the Dremora Semen potions and thus all credit should go to @jib_buttkiss.

 

 

 

Requirements:

and any of its pre-requisites. I linked their direct requirements below them for ease of use. You still have to check if these have requirements of their own! 

 

 

Installation:

Nothing out of the ordinay, install as any other mod with a mod manager.

 

If installing manually:
In the folder ColorPreset you can find an .ini file with set colors. (Mostly "brownish" colors in different variants) Replace the file in MCM/settings with this if you want to use them. Everything else should be identical to the default settings. If you already saved settings before make sure that MCM/settings/Bimboskin.ini is overwritten!

 

 

Updating:

Save cleaning should not be required, if you decide to do so, make sure to restore the original color of your character first.

If certain settings are not applied / used as intended set them again on the MCM.

 

 

Images:

Skin Tone Method on the player:

Spoiler

PeregrineHighwatch-Middas210AM15thofFrostfall4E201.jpg.a8e455a51f9dff16f25609dc92a10cbf.jpg

 

Skin Color Method on a NPC:

Spoiler

PeregrineHighwatch-Middas143AM15thofFrostfall4E201.jpg.4cc79f029bcedc91e937779d8da60232.jpg

 

Example of the texture (SlaveTats) being applied with an alpha of 0.50 (I think):

Spoiler

Screenshot198.png.f5aef34ad487512204d25eb3af50fbbe.png

 

Future Plans (on hold):

Spoiler

 

  • [High] Hopefully fixing the CTD edge case mentioned below (includes CTD by using showracemenu together with Skin Color option)
  • [Medium] Adding a BoS independent "curse" to allow for gameplay induced start of the time-based (and sleep-based) progression
  • [Medium] Gyaru face overlay options (slave tats)
  • [Low]-[Medium] (Depends on the need) Some cleanup tools (e.g. removing all stored values for a target)
  • [Low] Save Updateslider setting per NPC
  • [Low] perhaps change if the mod name to reflect certain new features (?)

 

Features completed in earlier versions:

Spoiler

 

- Reworking the Skin Color spell / magic effect so that a manual refresh is not required. If anyone can recommend an implementation method I'd be grateful.

- Expand NPC implementation (separate it from player settings; Corruption stage integration)

- Send skin tone change race menu mod event when the player change is done. Assuming that this will make other nods (beach body) adapt to it properly.

 

2.1:

- Adding a checkbox "Allow Do not change". Mainly for random application so if theres a change triggered there's a chance that it will not change the color.

- Add keyword to block NPC from having a color change.

- Include the player keyword on the check, so certain NPCs can receive the same color the player receives by using the SPID config file. 

- Include Alpha value when saving colors to slots.

- Allow Update slider value 0 to disable it.

- Alpha slider condition fix.

 

2.2

- Add a splashscreen to the MCM

- (maybe) BoS progressional application (starting with a lighter tone getting darker with each new stage) would be a new application mode for NPC / toggle for player. (Number of steps? "Dynamic"? E.g. if 3 corruption steps after first change = 3 steps max? Perhaps only alpha value changing?)

 

Changelog:

Spoiler

Initial Release:
- Texture is now added with gloss and is locked in SlaveTats (although this doesn't make much of a difference since it is still controllable from this mods MCM)
- Added Skincolor method. See issues above.
- MCM maintenance at gameload should work properly. Looks like it wasn't changed in the old .esp.

- Removed the png version and "reworked" the actual textures to reduce file size.

v1.1
- Added some more condition checks and optional Extended Vanilla Menu Colorpicker compatibility.

BimboSkin_1.1.7z

 

v1.2

- Added "Skin Tint" option for application mode. Only works for the player, NPCs will use the "Skin Color" option. This is the same method Beach Body uses and I blatantly "stole" that part from there because I was seemingly doing something wrong when I attempted to use this method before...
I didn't test them together yet, but they should probably work together. The end result (bimbo curse applying this change + long and heavy sun exposure in Beach Body) might lead to a very strong darkening of the players skin color.

BimboSkin_1.2.7z

 

v1.3

- Should now use the correct value of the colorpicker or alpha slider if Extended Vanilla Menu isn't installed (for simplicity reasons the slider is still 0.00 - 1.00 and the value is multiplied with 255)

- Small text changes in the MCM.

BimboSkin_1.3.7z

 

v1.4

- Crash reported by LinkSword >should< be fixed now. The SkinTone functions were called whenever the skin was removed even if there were no values assigned. This caused a CTD. Should now only call the functions if the setting is active.
This however also means, that the skin won't be removed if the current applied version does not match the current setting!

e.g. Setting = Skin Tone, currently applieed to player = Skin Color, the button will not remove the skin unless both match.

BimboSkin_1.4.7z

 

v1.5

- Forgot to call a RaceMenu mod event, so after applying the skin tint Slavetats would lose their colors (Using FastTats at least). Something similar is still happening for the SkinColor option, but does not affect NPCs. 

- Type can't be changed anymore as long as the player skin is active.

- SkinTone should now be the default setting on first install.

BimboSkin_1.5.7z

 

v1.6

- Alpha slider will now be active for Skin Tone option too. (Noticed that it was very hard for the Skin Tone option to actually reflect the selected color, because the Alpha value retrieved by the Extended Vanilla Menu (if used) was not directly adjustable. Selecting black for instance would result in barely any change at all, because the Alpha value retrieved was very low.)

BimboSkin_1.6.7z

 

v1.7

- Added Hotkey for Skin Color refresh function on NPC target.

- Slightly reordered MCM menu to accomodate the additional entry.

- Fixed Color Picker and its Help not using translation strings.

BimboSkin_1.7.7z

 

v2.0 (Consider this BETA for now)

- Added 10 (1x Player 9x NPC) color slots to save preset colors

- Separated NPC and PC settings

- Added random application option for NPC based on the saved color slots (if an empty slot would be selected it will fall back to the current menu values)

- Properly integrated skin color option for NPC so each NPC can have his own color which will be re-applied if lost (now requires PapyrusUtils!)

- Bimbo Tonic will now also revert the skin when using the BoS Integration

- some more stuff I forgot about.

 

v2.1 (Still consider this a BETA)

  • Checkbox to allow "no change" on random setting
  • Check for "Player" & "No Change" keywords to use with SPID added
  • Update Slider allows value 0 which disables the update for this NPC (Note to myself: actually add the per NPC code)
  • Alpha slider is now always enabled, this was a leftover from the old one page MCM
  • Fixed an issue where a keyword was not removed
  • Fixed Slot 6 adding the player keyword due to wrong property assignment in the .esp
  • Removing the skin with the hotkey will now also give a notification about it (Should the message include the targets name?)
  • Alpha value is saved with slot. This unfortunately does nothing for the Skin Color option. (SetSkinAlpha changes the general alpha, SetSkinColor only uses RGB values instead of ARGB). Saved Alpha values are viewable in a dropdown menu.
  • Added NPC toggle "Remove clears saved color" which simply unsets the stored color integer when the skin is removed on a NPC.
  • Added Load Color from Slot button to restore the values of a saved color to the "current" color settings (includes Alpha).
  • Alpha is now saved and set as an integer (0-255 instead of a float 0.0 - 1.0).
  • If a Slot was saved without Alpha value the currently set slider value will be used.
  • Added "Use random slot (Player)" toggle to randomize the selected color for the player. (If an empty slot would be selected it should fall back to the current sliders)

 

v2.2 (Did I mention that you should consider this a BETA?)

As always, but even moreso in this case you should consider this a BETA. I changed quite some stuff and currently the only testing was done by myself, so I could've missed stuff. During my tests everything (including the new stuff) was working but none of the testing was yet done in heavier modded games or was observed long-term.

With that being said, here are the actual changes:

  • Added a splashscreen to the MCM (it's AI generated, so sorry about that if you dislike AI generated images)
  • Added Progression Settings MCM page
    • 3 Progression modes (Player) / 2 Progression modes (NPC)
      • Bimbos of Skyrim Corruption Stage
      • Time-based
      • Sleep-based (Player only)
    • Selectable number of progression steps (separated for Player and NPC)
      • 1-16 (as 16 is the last corruption stage in BoS for both NPC and Player)
      • 0 - Selects a random value between 1 and 16
      • If BoS mode is used, the number of steps will be calculated by the set starting courrption stage (e.g. stage 60 is step 5 so 16-5 = 11 is the progression step value thats used here, to ensure that the last corruption step will apply the final color)
    • Selectable number of hours between each progression steps if using the time-based mode
      • 1-144 hours
      • 0 - Selects a random value between 1 and 144
      • Applying the skin with this mode will also apply the first progression color. In the future there might be an option to only apply the first step after a random amount of time, acting like a BoS independent curse. (Which might include a gameplay based infection)
      • This is saved per target, but there is no variation per target, e.g. a target receiving a value of 24 will progress every 24 hours. I might add the option to have variation between progression stages later, but for now I'd first want to get some feedback about the general implementation working.
    • Selectable number of sleep actions between each progression steps (Player only)
      • 1-20
      • 0 - selects a random value between 1 and 20
      • Same as for hours the first step is applied as soon as the MCM option is used. If I add a gemplay based infection this might also include a setting to select the number of sleep required for the first progression to occur.
      • Same as for hours I might add a random variation between steps later too, for now it will use the generated value for each step afterwards.
    • Manual Application is disabled for the player while BoS Corruption is enabled.
  • Added Gyaru Makeup Settings MCM page
    • Just a placeholder for now, does nothing except for displaying text saying that it is a placeholder.
    • While the menu was added, there are currently no concrete plans of working on it.

2.3.0 - Thanks to @ekvator for testing and giving feedback

  • Created a very simple FOMOD to allow skipping the install of a few files (pre-edited textures, Color Preset, Source, SPID example)
    • I only tested this with MO2 so please give me a headsup if another manager is nagging about it
    • Folder structure is identical to the non-FOMOD uploads so manual installation should still be easy enough
  • Fixed the removal of Skin Color method applied colors.
  • Fixed (hopefully) the application of an invalid RaceMenu SkinOverride to the player. (See Debug Options below)
  • Fixed wrong "If-case" which caused progression being used for PC if only NPC progression was enabled.
  • Fixed BoS detection not changing the MCM displayed values
    • Running the mod while BoS is not installed will now effectively change the value in the settings file.
  • Fixed Overlay color being changed by Skin Color method.
  • Added Progression Ticker Slider to Progression Settings
    • This is the interval in which progression increases are checked.
  • Added Debug Options MCM page - please use them with care.
    • Run QueueNiNodeUpdate() function manually.
    • Clear all RaceMenu SkinOverrides for the player.
      • This is a possible fix for the glossy skin bug (body only) people were reporting.
      • Because of a bug an invalid SkinOverride was applied to the player.
      • If the character was affected by this and the RaceMenu preset is saved, the preset will be bugged in future games too.
      • To fix the preset: Load the preset, run this option and resave the preset
      • To fix the savegame: Run this option and save your game.
    • Clear all RaceMenu NodeOverrides for the player.
      • This was used for some of my testing and shouldn't be used by you.
    • Version number
      • No checks, just plain text.

 

2.3.1

 

2.3.2

  • During the testing for some fixes for 2.3.0 some parts were commented out on the script to find the culprit. Looks like I forgot to uncomment some of them afterwards.
    This caused the color to be lost on reloading a save, because the Tint was never actually saved to the character / in the savegame.
    If this for some reason re-introduces the glossy skin bug, as disabling this function was done during testing to fix it, please let me know. However the debug option that was added for it should also help to fix it again.
  • Either install the full version (includes the small fix from 2.3.1) or the hotfix if you are already on 2.3.1.

 

2.3.3 - Still calling it a Beta, exactly for stuff like this...

  • Actually implemented NPC BoS Corruption with progression now...
    Before this wasn't implemented properly. I wrote most functions for it, but those were never called. Woops..
  • Additionally fixed some issues with Corruption based application due to wrong variables / case handling.
  • Added 'Show Corruption Level' button to Player MCM Menu -  Simply tells you the current quest stage of BoS, used it for debugging purpses and felt like it doesn't hurt being still included.
  • Added 'NPC Info' Button & Hotkey to NPC MCM Menu - Shows a bit of an information for the crosshair target related to SkinColor option:
    • Checks for SkinTone Ability effect used for SkinColor, if its missing it will simply tell you so.
    • If the MGEF is present, it will show stored variables for the target:
      • Original Color RGB
      • Current Color RGB
      • Progression Step (if applicable)
    • Could be used to check if everything is working. Even if the settings only apply a very minor colorshift it should help telling you whether its working at all.

 

2.3.3 - Just added an optional file

  • Adds a potion "Bowl of Semen Cream" to add a very small amount of corruption and cum to the target.
  • This is basically a Dremora semen ingestible from Bimbos of Skyrim that will always apply a cum overlay on an area of your choice.

Please check the information on the description, despite it being very small there are some non-optional requirements.

  • Reuploaded version 2.3.3 with the correct archive name to prevent misunderstandings.

2.4.0 - Adjustment to PO3 Papyrus Extender v.6.x.x+

Update of some functions due to PO3 Papyrus Extender deprecating an used function. This was only quickly tested by myself, but should be generally working with the new version.
(see also this reply here)

This REQUIRES PowerOfThree Papyrus Extender 6.x.x+!!


If you're using a previous version of PO3 Papyrus Extender, you should still use version 2.3.3.


 


  • Submitter
  • Submitted
    07/23/2024
  • Category
  • Requirements
    SKSE, po3 Papyrus Extender, MCM Helper, PapyrusUtil, (optional) SlaveTats, (optional) Bimbos of Skyrim (SE), (optional) Extended Vanilla Menus
  • Regular Edition Compatible
    No
  • Install Instructions

 

Posted

Wonderful, this has high potential!

I have already some ideas (which could be included in the mod directly, or linked with YPS):

- skin tone affecting fashion level

- spa treatment sessions

- sunburns

- getting a skin dye (possibly also as punishment, or unwanted side effect for certain actions)

 

It would be good to have:

- a papyrus variable, where the current player skin tone is stored

- a mod event, to change the skin tone

 

But this all can wait, no rush. :)

Posted (edited)
17 minutes ago, emily1673 said:

Wonderful, this has high potential!

I have already some ideas (which could be included in the mod directly, or linked with YPS):

- skin tone affecting fashion level

- spa treatment sessions

- sunburns

- getting a skin dye (possibly also as punishment, or unwanted side effect for certain actions)

 

It would be good to have:

- a papyrus variable, where the current player skin tone is stored

- a mod event, to change the skin tone

 

But this all can wait, no rush. :)

 

I pretty much agree, at the same time I however think that most of it might fit a lot better into Beach Body. Now I obviously can't speak for its author, but his general system is likely to be a lot more solid for the player side (I mean I basically looked at his code to finally get the Skin Tone option working, as I had multiple misconceptions on how the functions work before).
E.g. Sunburn fits alot better his sun tanning system. Also the overlay implementation could also allow for blemishes (and debuffs because of it) due to over exposure to sunlight, etc.

Same for the fashion level, since it is more dynamic than this it could add a new gameplay variable of balancing out- and indoor action.

I started this before Beach Body surfaced, so its a pretty raw implementation and is only based on the idea of various hentai where corruption/moral degeneration comes with heavy skin tanning. This is based mainly on the (japanese) Gyaru culture, like seen in the spoilered image. (bonus points for anyone who can name the amazing band which featured this in their music video)

Spoiler

image.png.2132ccc6c665780e808b1b8cec65f8df.png

This also made me think of adding options to set special makeups being applied due to corruption, but I don't think this will happen anytime soon unless we have information about the possibilty of building / expanding upon Beach Bodys functions.

 

EDIT:
@emily1673 Do you have an idea for the magic effect refreshing? I wanted to test it in my save by progressing naturally. When I now manually applied the spell to NPCs manually they were losing it quite fast and unrelated to the equipping event which was the biggest issue for the player character.
Kimli (from DiaryOfMine) actually lost the color frequently while I was still in the same cell, others (slaves in DoM) were losing it after I left and re-entered the cell.

The easiest implementation that comes to mind is a timer in the magic effect script, but I fear that this might be still rather heavy if alot of npcs are affected.
Ideally I'd also use the previously set color for the refresh, so that different NPCs can have different colors / tones, but since the refresh is very simple currently and just re-adds the spell it will use the current color selection. Not defining the color to set OnEffectStart would certainly work here, but I'm not quite sure which Event I could use to fire only once on the npcs script instance.

Edited by HannoJojo
Posted
3 hours ago, HannoJojo said:

 

I pretty much agree, at the same time I however think that most of it might fit a lot better into Beach Body. Now I obviously can't speak for its author, but his general system is likely to be a lot more solid for the player side (I mean I basically looked at his code to finally get the Skin Tone option working, as I had multiple misconceptions on how the functions work before).
E.g. Sunburn fits alot better his sun tanning system. Also the overlay implementation could also allow for blemishes (and debuffs because of it) due to over exposure to sunlight, etc.

Same for the fashion level, since it is more dynamic than this it could add a new gameplay variable of balancing out- and indoor action.

I started this before Beach Body surfaced, so its a pretty raw implementation and is only based on the idea of various hentai where corruption/moral degeneration comes with heavy skin tanning. This is based mainly on the (japanese) Gyaru culture, like seen in the spoilered image. (bonus points for anyone who can name the amazing band which featured this in their music video)

  Hide contents

image.png.2132ccc6c665780e808b1b8cec65f8df.png

This also made me think of adding options to set special makeups being applied due to corruption, but I don't think this will happen anytime soon unless we have information about the possibilty of building / expanding upon Beach Bodys functions.

 

EDIT:
@emily1673 Do you have an idea for the magic effect refreshing? I wanted to test it in my save by progressing naturally. When I now manually applied the spell to NPCs manually they were losing it quite fast and unrelated to the equipping event which was the biggest issue for the player character.
Kimli (from DiaryOfMine) actually lost the color frequently while I was still in the same cell, others (slaves in DoM) were losing it after I left and re-entered the cell.

The easiest implementation that comes to mind is a timer in the magic effect script, but I fear that this might be still rather heavy if alot of npcs are affected.
Ideally I'd also use the previously set color for the refresh, so that different NPCs can have different colors / tones, but since the refresh is very simple currently and just re-adds the spell it will use the current color selection. Not defining the color to set OnEffectStart would certainly work here, but I'm not quite sure which Event I could use to fire only once on the npcs script instance.


maybe piggyback off of the mod "corruption" where overlays are added as you commit debauchery. Normally it caters to specific races and creatures but maybe somehow adjust it to becoming a "Gyaru" at 100% corruption. The extra makeup overlays can be layered with slavetats to compliment other mods as well (BoS does it with BAC).

All suggestion obviously, I appreciate your work!

Posted (edited)
8 hours ago, Nikerage said:

Where are you on the pic with the jail cells? Is this part of a mod?

It's a personal edit of the player home Peregrine Highwatch. It however requires an older version of said player home I'd have to check when I get home.

Edited by HannoJojo
Posted (edited)
6 hours ago, PNclarity001 said:


maybe piggyback off of the mod "corruption" where overlays are added as you commit debauchery. Normally it caters to specific races and creatures but maybe somehow adjust it to becoming a "Gyaru" at 100% corruption. The extra makeup overlays can be layered with slavetats to compliment other mods as well (BoS does it with BAC).

All suggestion obviously, I appreciate your work!

Sounds good, but tbh I'm currently not sure "how far" I'll go with this. I never intended to create a mod page for it, but since I had to push daily updates it seemed easier to give those few people using it a better way to notice those updates.

 

For now I'll probably focus on fixing the ctd case and fixing the NPC application/ refresh. After that I'll see what additional features are doable I guess.

Edited by HannoJojo
Posted
2 hours ago, HannoJojo said:

Sounds good, but tbh I'm currently not sure "how far" I'll go with this. I never intended to create a mod page for it, but since I had to push daily updates it seemed easier to give those few people using it a better way to notice those updates.

 

For now I'll probably focus on fixing the ctd case and fixing the NPC application/ refresh. After that I'll see what additional features are doable I guess.


totally fair, it's still plenty fun to mess with in the current state. 

Posted
19 hours ago, Nikerage said:

Where are you on the pic with the jail cells? Is this part of a mod?

So the playerhome is  Peregrine Highwatch HFX Version 1.2 which you can still find in the old files of the modpage.

As you can see here it's a patch I created for myself. If you are interested I can probably upload it somewhere or at least share some more screenshots for you to decide.

image.png.07f3307c2094cae0c5d042bb3ae65418.png

 

What was mainly changed:

General:

- removed most auto sort options integrated into the original mod, as I'm using Assigned storage for this

- Reworked the stairs area to accomodate some changes and fixed a movement issue (this was one of the fixes for 1.3 of the original mod)

- "Randomly" added occlusion panes in walls around the interior trying to render as less as possible at the same time in a full home when I was playing on my old hardware.

 

Entrance Floor:

- Removed side entrance which I simply never used.

 

Lower Floor:

- Added additional crafting stations (Bewitching Station from Diary of Mine, Anvil, Smelter, Chopping block, etc. inside the home itself) and storage.

- Remodeled a few rooms (removed the second dining hall for a rather large open space, as I wanted to present NPCs / slaves with I'll take the display model)

- Added door to a new cell full with cages, rather spacious. Was mainly used as a "storage" for HSH slaves when I was still using my old CPU

 

Lowest Floor:

- Added a cell area on the lowest level (where the pool is) with a "designated" space for the Home Sweet Home slavehome Cell. Precreated cells with bedrolls should be usable for slaves by adding the Home Sweet Home markers in them

- Added another large area intended for Home Sweet Homes placeable torturing devices.

- Added a "dungeonesque" big hall with an auto locking cell door. Thought of using it for non-human creatures, but could also be used as a separate area for HSH devices.

 

Probably forgot some stuff, as I kept changing stuff whenever I felt the need for it and it has been my main player home for several years now.

 

 

Posted (edited)
23 hours ago, HannoJojo said:

I started this before Beach Body surfaced, so its a pretty raw implementation and is only based on the idea of various hentai where corruption/moral degeneration comes with heavy skin tanning. This is based mainly on the (japanese) Gyaru culture, like seen in the spoilered image. (bonus points for anyone who can name the amazing band which featured this in their music video)

  Reveal hidden contents

image.png.2132ccc6c665780e808b1b8cec65f8df.png

This also made me think of adding options to set special makeups being applied due to corruption, but I don't think this will happen anytime soon unless we have information about the possibilty of building / expanding upon Beach Bodys functions.

 

Not like it matters, but here's the music video in question:

 

Apparently it can only be viewed directly on YT...

 

 

... and a screenshot of the (probably) changed / rearranged MCM menu. (Colors are mostly placeholders for now and "general" should be colored too)

I think it might make sense to separate the NPC setting completely. The type selection shouldn't be locked just because the player skin is active, although I still think that Skin Color is the better option on NPCs. 

Unfortunately leaving a space as before will add a scrollbar which I'd like to avoid as well as creating separated pages (this is mostly because I can't decide on a good split except for Player vs NPC, but then I might have to duplicate the color settings / display or move it to its own page)

As always I'm open to suggestions though.

image.png.163c67a8081f068fef9be58ca13852d5.png

 

Edited by HannoJojo
Posted
23 hours ago, HannoJojo said:


@emily1673 Do you have an idea for the magic effect refreshing? I wanted to test it in my save by progressing naturally. When I now manually applied the spell to NPCs manually they were losing it quite fast and unrelated to the equipping event which was the biggest issue for the player character.
Kimli (from DiaryOfMine) actually lost the color frequently while I was still in the same cell, others (slaves in DoM) were losing it after I left and re-entered the cell.

The easiest implementation that comes to mind is a timer in the magic effect script, but I fear that this might be still rather heavy if alot of npcs are affected.
Ideally I'd also use the previously set color for the refresh, so that different NPCs can have different colors / tones, but since the refresh is very simple currently and just re-adds the spell it will use the current color selection. Not defining the color to set OnEffectStart would certainly work here, but I'm not quite sure which Event I could use to fire only once on the npcs script instance.

I'm not really experienced dealing with NPCs.

One thing I did (which works quite well) is applying outfits on YPS vendors using the OnLoad() and OnInit() events, see ypsYolieOutfitScript.psc for more details (this script is attached to the NPCs).

Another idea would be to add a spell effect to all characters with SPID, and make the magic effect trigger under certain conditions, which can be controled.

 

Posted
On 7/24/2024 at 9:09 PM, emily1673 said:

I'm not really experienced dealing with NPCs.

One thing I did (which works quite well) is applying outfits on YPS vendors using the OnLoad() and OnInit() events, see ypsYolieOutfitScript.psc for more details (this script is attached to the NPCs).

Another idea would be to add a spell effect to all characters with SPID, and make the magic effect trigger under certain conditions, which can be controled.

 

 

Getting the NPCs to work reliably is actually a real pain. Well, the actual functionality isn't the issue, but I hoped to be able to have NPCs with different colors where the refreshing event would stick to those colors. 

Unfortunately the only thing I managed to work yet is the refreshing only when its necessary, but it also is apparently necessary whenever the PC (re-)enters a cell with an affected NPC. Or rather in those cases the attached magic effect will restart triggering OnEffectStart() where it will retrieve the current MCM color value. So a NPC with blue skin will now turn red if the MCM has it currently set. I thought of adding a Keyword to the NPC which I will check against, which did help to some degree but also wasn't a satisfying solution.

So now I'm rewriting stuff quite a lot (including the MCM) for a different approach. I'll still have 9 or 10 keywords like "HaJo_SkinColorX" where X is the id. When the effect starts for a NPC I will check them for each of those keywords and if they don't have any of it a random one is added (Except for the manual application, here I'd like to force adding the one we selected on the menu). I'm using the keyword, so we can use SPID to easily preconfigure NPCs, like Ysolda should always get color 5, Hulda color 6 and every other NPC can still get a random value. (At least I hope I'll be able to do it like that).
Either way, each of the 10 colors (9x NPC 1x Player) should be stored in an INT Property, so I hope it should be accessable by other scripts if my script is imported (Someone please correct me if I'm wrong, I didn't really found the motivation to read the documentation on Variables and Properties properly yet, lol.) The "downside" to this is that every color has to be saved first and the amount is limited to 9 NPC colors (I could add more at some point, but I don't think theres need for that many more) as opposed to the current method where you could theoretically have unlimited different colors (until they get lost because of a cell change / whatever event causing it). But after trying a few (a lot...) different approaches that did not have the need of adding config files, using (dynamic) arrays or (improvised) dicts (i'm definitely not looking into writing SKSE plugins at this point), this seems to be the approach with the best balance of effort and usability. (I think... )

So based on the above I changed the MCM splitting it in subpages (thank god MCMHelper exists). They'll likely look like this (well the visualizer does not display everything correctly, a string with a partial color setting displays completely in that color)

Spoiler

image.png.8b3608fa90f3ef089faf43d484e9d9c0.pngimage.png.1bce02cb2c51dfc22d7b574e68b0a2ee.png

image.png.d8f27b406414cefeb890eaa10a86109d.png


 

Posted (edited)
2 hours ago, HannoJojo said:

 


Either way, each of the 10 colors (9x NPC 1x Player) should be stored in an INT Property, so I hope it should be accessable by other scripts if my script is imported (Someone please correct me if I'm wrong, I didn't really found the motivation to read the documentation on Variables and Properties properly yet, lol.)
 

 

I'm not 100% sure, but maybe StorageUtil could help? You can store ints relative to NPCs that can be retrieved from anywhere. Then you don't have to make dozens of properties, and they'll be accessible from outside the script. This could help with the NPCs being reset to the the current MCM values on reload as well- you could save the correct value to them with StorageUtil and use the stored values to update their skin.

Edited by jib_buttkiss
Posted
6 hours ago, jib_buttkiss said:

 

I'm not 100% sure, but maybe StorageUtil could help? You can store ints relative to NPCs that can be retrieved from anywhere. Then you don't have to make dozens of properties, and they'll be accessible from outside the script. This could help with the NPCs being reset to the the current MCM values on reload as well- you could save the correct value to them with StorageUtil and use the stored values to update their skin.

 

Oh thanks for the heads up. I looked into StorageUtil before for something else and totally forgot about it.

I think I'll still keep the parts mentioned though for a "random mode" where it would use one of the saved colors on a new application and the possibility to use KID / SPID (not sure yet) to force set a certain saved color on a specific NPC without having the MCM set to this exact color when the curse applies it. (Manual application is ofc still something different)

Posted (edited)
12 hours ago, jib_buttkiss said:

 

I'm not 100% sure, but maybe StorageUtil could help? You can store ints relative to NPCs that can be retrieved from anywhere. Then you don't have to make dozens of properties, and they'll be accessible from outside the script. This could help with the NPCs being reset to the the current MCM values on reload as well- you could save the correct value to them with StorageUtil and use the stored values to update their skin.


Sorry for double quote, but I wanted to separate it from the previous answer for better readability.

My first test worked out pretty good, so this might indeed the (simple) solution I was looking for. Honestly, no idea how I forgot about it while I was looking into JSONUtil at the same time >.>

 

Anyway, my current plan (with its messy implementation) is like this:

  • 10 color slots for saving values (1x Player, 9x NPC)
  • If no color is saved in the slot (slot 0) when the skin is applied it will use the current color and save it in that slot, otherwise it will use the color preset in slot.
  • NPCs have a menu selection on MCM where you can select which color to apply. Possible options are the actual slots 1-9, the current color and a random slot.
  • Random will only apply non-empty slots, if a randomly selected slot is empty it will just try to select another one randomly use the current color (the initial option was pretty slow if we're unlucky and only have a few colors set)
  • Adding or removing the skin will add / remove a keyword. Not sure if I'll actually use it, the keywords are mainly to check against for predefined NPCs (e.g. Hulda having the Random Keyword set by SPID so she will always receive a random value when the skin is applied manual or by curse. Removing the skin manually will still remove the keyword until the SPID distribution is done again. With StorageUtil it should also be possible to only added keywords by the script and not SPID
  • Using StorageUtil the original color and new color are saved as integer, so they should be accessible easily as you mentioned.
  • Probably forgot something, but I guess its not a very important information then.
Edited by HannoJojo
Correction.
Posted

 

1 hour ago, HannoJojo said:


Sorry for double quote, but I wanted to separate it from the previous answer for better readability.

My first test worked out pretty good, so this might indeed the (simple) solution I was looking for. Honestly, no idea how I forgot about it while I was looking into JSONUtil at the same time >.>

 

Anyway, my current plan (with its messy implementation) is like this:

  • 10 color slots for saving values (1x Player, 9x NPC)
  • If no color is saved in the slot (slot 0) when the skin is applied it will use the current color and save it in that slot, otherwise it will use the color preset in slot.
  • NPCs have a menu selection on MCM where you can select which color to apply. Possible options are the actual slots 1-9, the current color and a random slot.
  • Random will only apply non-empty slots, if a randomly selected slot is empty it will just try to select another one randomly use the current color (the initial option was pretty slow if we're unlucky and only have a few colors set)
  • Adding or removing the skin will add / remove a keyword. Not sure if I'll actually use it, the keywords are mainly to check against for predefined NPCs (e.g. Hulda having the Random Keyword set by SPID so she will always receive a random value when the skin is applied manual or by curse. Removing the skin manually will still remove the keyword until the SPID distribution is done again. With StorageUtil it should also be possible to only added keywords by the script and not SPID
  • Using StorageUtil the original color and new color are saved as integer, so they should be accessible easily as you mentioned.
  • Probably forgot something, but I guess its not a very important information then.

Haiiii! Just tested the mod and I love it! Do you think you could get it to work with BoS' bimbo tonic and revert the skin to the original as well? And are you gonna implement a "slowly get tanner as you change" system with BoS as well? I think that would be amaaazing if you could, just a suggestion though! Love the work you did with this!

Posted
7 minutes ago, Midna SushiSnoot said:

 

Haiiii! Just tested the mod and I love it! Do you think you could get it to work with BoS' bimbo tonic and revert the skin to the original as well?

If using the tonic sends an event that shouldn't be a problem. I'm planning on releasing a new version (see some of the screens above) today anyway, so I could probably include it.

 

 

Quote

And are you gonna implement a "slowly get tanner as you change" system with BoS as well? I think that would be amaaazing if you could, just a suggestion though! Love the work you did with this!

As far as I know something like this might be implemented in Beach Body / or BoS will feature something like this following the example of Beach Body (If you read some of the last pages in the BoS support thread you might find it being mentioned)
Because of this I'm >currently< not seeing myself adding this.

Posted

  

1 hour ago, HannoJojo said:

If using the tonic sends an event that shouldn't be a problem. I'm planning on releasing a new version (see some of the screens above) today anyway, so I could probably include it.

 

It does! The event is BoS_SuppressToggled_Event(form actor,int isSuppressOn) (so it receives 1 when suppress starts and 0 when it ends).

Posted (edited)
1 hour ago, jib_buttkiss said:

  

 

It does! The event is BoS_SuppressToggled_Event(form actor,int isSuppressOn) (so it receives 1 when suppress starts and 0 when it ends).


Yeah I found it after some effort (checking in xEdit which is the actual script for the tonic etc.)

I'm trying to test it ingame right now.

But I can't seem to get it to work, hm.

;Somewhere else
RegisterForModEvent("BoS_SuppressToggled_Event", "OnBoSSuppress_Event")

; Tonic Event Handler
Event OnBoSSuprress_Event(Form sender, Form ref, int enabled) ; <-- CORRECT -->
Event OnBoSSuppress_Event(Form ref, int enabled) ;<-- WRONG -->                                                    
	If enabled == 1
		HaJo_RemBimboSkin(3, ref as Actor)
	else
		HaJo_AddBimboSkin(3, ref as Actor)
	EndIf
EndEvent

Shouldn't it be simply like this?

The part where the event is registered does definitely happen (OnGameReload, a Debug message displayed fine although it was behind some conditions)
But a debug message in the Event never appears, while the Tonic itself is working just fine.

Edit:
Solved it, I was just blind / tired. I failed to notice that the SuppressEvent, unlike the CurseProgress Event I already used was sending 3 values (self was missing), so obviously the call was wrong.

Edited by HannoJojo
Posted
13 hours ago, HannoJojo said:

 

Oh thanks for the heads up. I looked into StorageUtil before for something else and totally forgot about it.

Was about to give the same suggestion.

StorageUtil and JsonUtil are really wonderful tools. And they are very quick (not slower than modifying properties in a script). Plus you can store items in json files, which are easier to handle than MCM options.

I often wish I had used StorageUtil and JsonUtil more often right from the beginning when I started my mods.

Posted (edited)
On 7/27/2024 at 4:31 PM, Midna SushiSnoot said:

 

Haiiii! Just tested the mod and I love it! Do you think you could get it to work with BoS' bimbo tonic and revert the skin to the original as well? And are you gonna implement a "slowly get tanner as you change" system with BoS as well? I think that would be amaaazing if you could, just a suggestion though! Love the work you did with this!

 

Since I released the new version I thought about the progression part too (see notes on mod page regarding future plans). For the player this is likely not too hard to add as I can simply use the alpha values for this based on a toggle value:

 

If toggle then stage 30 -> alpha of 20

Else if stage 40 -> alpha of 60

Etc.

 

A question that remains is the implementation. How many steps should be possible?

If the change starts at the 10th step it shouldn't be possible to set more than 6 steps (as last corruption stage is step 16 I think). At the same time the alpha values would have to be adjusted dynamically based on that or the editable settings would have to reflect it.

 

As for NPC / skin color method on player I have to check if changing the alpha with that function is possible. If it's not I doubt I'll add it for NPCs, otherwise you'd have to set up one set of progression perhaps for every slot saved (sliders? To determine the color shift per level?). This might be a suitable alternative to the alpha slider method too (and might even have some advantages over the alpha method) but would be more work to implement.

Edited by HannoJojo
Posted
1 hour ago, HannoJojo said:

 

Since I released the new version I thought about the progression part too (see notes on mod page regarding future plans). For the player this is likely not too hard to add as I can simply use the alpha values for this based on a toggle value:

 

If toggle then stage 30 -> alpha of 20

Else if stage 40 -> alpha of 60

Etc.

 

A question that remains is the implementation. How many steps should be possible?

If the change starts at the 10th step it shouldn't be possible to set more than 6 steps (as last corruption stage is step 16 I think). At the same time the alpha values would have to be adjusted dynamically based on that or the editable settings would have to reflect it.

 

As for NPC / skin color method on player I have to check if changing the alpha with that function is possible. If it's not I doubt I'll add it for NPCs, otherwise you'd have to set up one set of progression perhaps for every slot saved (sliders? To determine the color shift per level?). This might be a suitable alternative to the alpha slider method too (and might even have some advantages over the alpha method) but would be more work to implement.

Oh I think 6 stages starting at the 10th stage actually would be perfect! 

 

Posted
19 minutes ago, Midna SushiSnoot said:

Oh I think 6 stages starting at the 10th stage actually would be perfect! 

 

Well I'd like to add it in a configurable way instead of hard coding it like that. I'll probably work on the mod later today, but other things have a higher priority for now. Most of it however shouldn't take too much time, so theres a chance I can give an update on the chance of implementing it tomorrow.

Posted (edited)

Just as an overview for anyone who's interested (but mainly a note to myself for the next changelog), following things will be included in the next released version (this will get some edits later on.. at least I hope so):

  • Checkbox to allow "no change" on random setting
  • Check for "Player" & "No Change" keywords to use with SPID added
  • Update Slider allows value 0 which disables the update for this NPC (Note to myself: actually add the per NPC code)
  • Alpha slider is now always enabled, this was a leftover from the old one page MCM
  • Fixed an issue where a keyword was not removed
  • Fixed Slot 6 adding the player keyword due to wrong property assignment in the .esp
  • Removing the skin with the hotkey will now also give a notification about it (Should the message include the targets name?)
  • Alpha value is saved with slot. This unfortunately does nothing for the Skin Color option. (SetSkinAlpha changes the general alpha, SetSkinColor only uses RGB values instead of ARGB). Saved Alpha values are viewable in a dropdown menu.
  • Added NPC toggle "Remove clears saved color" which simply unsets the stored color integer when the skin is removed on a NPC.
  • Added Load Color from Slot button to restore the values of a saved color to the "current" color settings (includes Alpha).
  • Alpha is now saved and set as an integer (0-255 instead of a float 0.0 - 1.0).
  • If a Slot was saved without Alpha value the currently set slider value will be used.
  • Added "Use random slot (Player)" toggle to randomize the selected color for the player. (If an empty slot would be selected it should fall back to the current sliders)

Done as of v2.1.


What I'm hoping to add soon (depending on the progress I'm making)

  • Skin change progression (Heavily depends on Alpha value changing in slots and thus allowing alpha value changes for NPCs on Skin Color option)
    As it currently stands, this option won't be possible for NPC in the same way as for the player when using Skin Color option, since there doesn't seem to be a way to set an Alpha value. Because of this there are three possible options:
    1. Instead of the alpha value a color shift similar to Beach Body is used and the actual color is changed
    2. NPCs will be excluded and will always get the "full skin" at once.
    3. Mixed application - Player uses alpha, NPC color shift
    The last option is likely the most work, but if the alpha change delivers a much better progression effect than the color shift it would be my prefered solution, as it provides a good option for the player without excluding the NPCs from it.
  • "Gyaru" page - Optional toggles for heavy / gyaru like face paints / makeup (See one of my earlier posts here for an example image if you don't know what this is) 
    This is very low on the priority list and very likely not going to be included in the next release as it will need a new MCM page and the basic implementation first:
    - Racemenu Overlay vs SlaveTats? Not sure which would be a better choice to include NPCs
    - Finding suitable paints / makeup or alternatively creating them
    - Depending on the previous point: Modularity? Full face paint or individual parts? 
    - I'm a fan of customization, so I'd love to include the option for using your own textures, preferably being able to select them from any installed RM Overlays or SlaveTats in my MCM
    - Options similar to NPC color selection (Random, fixed selection)
    - How will they be added? Event based (Immoral acts, aka sex)? Based on the corruption progression (At once or over time)? Based on skimpy armor (keywords)?


I think thats it for now. Mabye someone will feel like giving his opinion on some of the points or has some good ideas for the implementation. Feel free to share your views and ideas on those points in here, I'd assume the last point - if added - will take some time and planning.

This is completely out of the scope of this mod and I will definitely not add this, but in theory the whole "Gyaru" part could be expanded upon (by someone else as I just mentioned), based on the "common lore" around it in hentai (e.g. need of smoking cigarettes / drug addiction, some kind of prostitution, etc.). I don't want to say this is a core part of this subculture, those would be simply examples for common topics when it is involved in media.
 

Edited by HannoJojo
Updated current status

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...