Jump to content

Recommended Posts

Rad Morphing Redux

View File

Extensible Body Morphing Framework


Rad Morphing Redux reacts to external triggers and modifies LooksMenu sliders on your (or your companion's) body based on the values provided by those triggers.

 

Pretty much every aspect of the mod can be configured via MCM (which sliders to change, by how much, thresholds for the trigger values, unequipping of clothes, ...).

 

Originally, all morphing was done based on the player's radiation (hence the name Rad Morphing), but the mod has now been extended to allow input from any other mod instead. That means you could apply morphs not just based on radiation, but also SPECIAL stats, health, Sex Attributes, calorie intake, weather, addictions... as long as a mod provides the respective triggers.

 

 

Based on the mod Rad Morphing by @Invictusblade.

 

Cover image on LoversLab graciously provided by @Narsdarknest.

 

 

By default this mod is disabled through MCM.

You need to open MCM to configure and enable Rad Morphing Redux before it does anything.

 

 

 

 

Getting Started

 

 

Dependencies

  • MCM to configure the mod
  • LooksMenu to apply morphs
  • A BodySlide compatible body (any body that can be modified with BodySlide / LooksMenu will work)
  • All clothes must be built with morphs enabled in BodySlide
  • F4SE 0.6.23 for Fallout 4 1.10.163
  • SUP F4SE to detect MCM changes outside of the current savegame
  • At least one RMR trigger
  • All DLCs

 

 

Conflicts

The mod comes with the LL_FourPlay library (LL_FourPlay.pex/psc/dll) that is also included in other mods (e.g., AAF). When your mod manager complains about a conflict I would suggest letting AAF overwrite this file.

 

 

Integration

 

 

Installing

Install with your mod manager of choice. The FOMOD installer asks you how many slider sets you want to have available and lets you pick an optional default slider configuration for a couple of different bodies.  
Unless you're already familiar with RMR and know how many slider sets you need, I would suggest starting with 10 to keep the MCM small. You can always re-run the installer and increase the number of slider sets later.

 

By default this mod is disabled through MCM.

You need to open MCM to configure and enable Rad Morphing Redux before it does anything.

 

 

Uninstalling

Before uninstalling, disable this mod in MCM to restore the original body. If you uninstall without disabling the mod first in MCM you will be stuck with a morphed body.

 

 

Triggers

Rad Morphing Redux does nothing on its own. You must install a mod that provides a trigger for this mod to be able to do anything.

 

 

 

 

Limitations of LooksMenu / BodyGen

 

Depending on which version of LooksMenu you have installed, you will see different behavior when morphing sliders. One big limitation that as of writing this (February 2023) all versions of LooksMenu have, is that only one single value is ever applied to one slider. If multiple sources try to modify a slider (i.e., you have given a slider a value in LooksMenu and RMR tries to morph that slider, or RMR morphs a slider and another mod tries to morph that same slider), those values are not combined in any way, but only one of them is chosen by LooksMenu and applied to that slider.

 

 

LooksMenu v1.6.18

With this version of LooksMenu, which is the version suggested in the The Fucking Manual thread, the morph sent from the mod that has been set with the "highest" mod-specific keyword is being applied, independent of the slider value. As far as I understand this logic, that means that the mod with the highest (largest) mod index, i.e., loaded last in your load order, will win out. However, I have not tested this version of LooksMenu, so confirmation or correction of this assumption would be appreciated.

 

 

LooksMenu v1.6.20

With this version of LooksMenu (currently the latest version), the highest of all the values assigned to a slider is being used. As a result any value that RMR sets on a slider that is lower than either the value specified directly in LooksMenu or lower than a value sent from another mod will not have any effect since it is suppressed by that higher value.

Unfortunately that means that even without other mods modifying sliders, RMR cannot produce negative morphs on a slider that has been given a value through LooksMenu.

 

 

 

 

Configuration

 

The FOMOD installer comes with default settings for Atomic Beauty, CBBE, Fusion Girl, and Jane Bod. However, you can configure it to your liking through MCM with up to 50 sets of sliders with individual morphing strengths and ranges. By using the RMR Helper or editing the MCM ini file you can use even more slider sets.

 

For easier configuration, with previews of morphs and automatic setup for morphing from one BodySlide preset to another, you can use RMR Helper.

 

Start or load a game, pause, open MCM, and select Rad Morphing Redux.

 

 

General Settings

  • Enable Rad Morphing Redux
    Enable or disable Rad Morphing Redux. On disabling RMR, the original body is restored.
  • Display disabled warning
    Whether to display a warning message when you load a game with RMR disabled. This only really exists as a notice for first installs, since RMR is disabled by default.
  • Reload MCM settings
    Reload all settings from MCM. Use this if you have modified the settings outside of the game (e.g., by using RMR Helper or directly editing the ini file) or made changes in another savegame.
    Changes from other savegames and from RMR Helper should be automatically detected and result in RMR restarting.
  • Morph Updates
    • Morph calculation
      How to calculate the morph value.
      • RMR: This is how previous version of RMR v2 up to v2.4.0 have worked. The value calculated from your slider set configuration is sent to BodyGen to morph your character. Due to the way BodyGen / LooksMenu works (LooksMenu version 1.6.20), this means that you will not see any change on the affected sliders if the value directly set in LooksMenu (i.e., your default / original body) is higher than this value. You also won't see any change on the affected sliders if another mod has morphed that slider to a value larger than the one calculated by RMR.
      • RMR + LooksMenu: With this setting, RMR adds the value set in LooksMenu (i.e., your default / original body) to the value calculated from your slider set configuration before sending it to BodyGen to morph your character. You still won't see any change on the affected sliders if another mod as morphed that slider to a value larger than the sum of RMR's value and LooksMenu's value.
      • RMR + Highest Morph: With this setting, RMR reads the highest value for a slider (i.e., your default / original body or a morph from another mod) and adds that value on top of the value calculated from your slider set configuration before sending it to BodyGen to morph your character.
    • Update delay
      Seconds between morph updates when Update Type is set to Periodically.
  • Companions
    • Restore companion morphs when dismissed
      Whether to restore morphed companion bodies to their original body when dismissing them.
  • Healing
    • Caps to heal 1% of morphs
      Number of caps to heal 1% of morphs at a doctor. This only applies when permanent morphing (only doctors can reset morphs) is enabled.

 

 

Debug Tools

  • Enable logging
    If you experience any problems with RMR, please enable logging and provide your papyrus log when reporting your issue.

 

 

Global Overrides

Settings made in this section will override all individual settings on the slider set pages. Descriptions for each setting can be found further down.

  • Permanent Morphs
    • Only doctors can reset morphs
    • Additive morphing
    • Limit additive morphing
    • Additive morphing limit
  • Unequipping
    • Unequip action
    • Override chance to drop / destroy
    • Chance to drop / destroy

 

 

Equipped Items

Show a list of all the currently equipped items and their slots.

  • Actor
    Dropdown to select the actor (player or active companions) whose items you want to see.
  • Refresh
    The list is not automatically updated when you equip or unequip items. Click to refresh this list.

 

 

Slider Set X

Use the slider sets to configure how the body should be morphed when a trigger changes. A slider set is a group of sliders (or a single slider) that react the same way when their trigger value changes.

 

  • Sliders
    • Slider names
      Enter the names of the sliders that should be affected. When entering multiple sliders, separate them with | (e.g., Boobs Yuge|Bum Chubby).
      Unfortunately you cannot just use the labels shown in BodySlide as the game needs the internal name / keyword of the slider. You can look these up in the body's SliderCategories XML file, found in .../Data/Tools/BodySlide/SliderCategories/.
      Each slider has a name and a displayname attribute. The displayname is the label shown in BodySlide while name is the internal name that you have to enter in MCM.
      One example from CBBE (CBBE.xml):
      <Slider name="BreastsNewSH" displayname="Silly Huge" />
      The internal name for the slider labeled Silly Huge in BodySlide is BreastsNewSH. So BreastsNewSH is what you need to enter in MCM if you want this slider to change.
  • Targets
    • Apply to
      Whether to apply this slider set to only the player, only companions, or player and companions.
    • Sex
      Whether to apply this slider only to female characters, only to male characters, or to both.
  • Trigger
    • Trigger name
      Choose the trigger that you want to base the morphs for this slider set on.
    • Invert trigger
      When inverting the trigger value, morphs will take full effect when the trigger value reaches 0% and no effect at 100%.
      This would allow for example to apply morphs as the player's HP goes down (i.e., no morphs at 100% HP, full morphs at 0% HP).
    • Update type
      Whether to update immediately when the trigger sends an update, periodically every X seconds (see Update delay in General Settings), or after you sleep.
      When this is set to After sleeping, morphs will according by the current trigger value every time you go to sleep; i.e., after sleeping four times with a trigger value of 25% morphs will reach 100%. This way, only doctors will be able to reset your morphs, as a 0% trigger only means that no additional morphs will be added.
  • Size
    • Target size increase
      How much the slider will change when the trigger value reaches its maximum.
      These are absolute percentage points, not percentage of the current slider value. If the slider on your unmorphed body is at 50% and target size increase is set to 100% the slider will end up at 150% when fully morphed. When set to -100% it will end up at -50% when fully morphed.
    • Lower threshold
      Percentage of the trigger value at which morphing should start. While the trigger value is lower than this, no morphs will be applied.
    • Upper threshold
      Percentage of the trigger value at which morphing should end. While the trigger value is higher than this, full morphs will be applied.
  • Unequipping
    • Armor slots to unequip
      Enter the numbers of the armor slots to unequip when the unequip threshold is reached. Separate multiple slot numbers with | (e.g., 9|11|15). You can only equip the items again once the morphing is again below the threshold.
      To see what you have currently equipped, go to the Equipped Items page and click on Refresh.
    • Unequip threshold
      When x% of the morphing target is reached, the above slots will be unequipped. This is a percentage value that refers to the target size increase.
    • Unequip action
      Determines what happens to unequipped items.
      Unequip: Old behavior. The unequipped items are put into the character's inventory.
      Drop: Unequipped items are dropped to the ground.
      Destroy: Unequipped items are completely destroyed.
    • Chance to drop / destroy
      If unequip action is set to Drop or Destroy, this setting determines how likely it is that the unequipped items are actually dropped or destroyed or just placed in the inventory.
  • Permanent Morphs
    • Only doctors can reset morphs
      With this option enabled, the body will not restore its original shape on its own when the trigger values goes down again. You will have to visit a doctor to restore your body.
    • Additive morphing
      If enabled, morphs are added every time the trigger value increases, even if the trigger value decreases in between. This can lead to reaching a fully morphed body without a 100% trigger value, or even morphing beyond the target size increase.
      Example with rads as trigger: You take 50% radiation and get morphed to 50% of your target size increase. You reduce rads to 20% (no morph change due to permanent morphs / only doctors can reset). You take some more rads and are now back up to 30% and morph a further 10% to 60% of the target size increase.
    • Limit additive morphing
      If enabled, you can limit how far additive morphing can exceed the target size increase.
      If disabled, there is no limit and you can morph until Fallout crashes... I would keep this enabled.
    • Additive morphing limit
      Percentage how far additive morphing can exceed the target size increase.
      0%: morphing will stop once the target size increase is reached.
      100%: morphing will stop once 2x the target size increase is reached.

 

 

 

 

Development

 

 

Creating a new trigger

Rad Morphing Redux provides an API for other mods (like triggers) to interact with RMR.

  • Get a reference to the API
    Game.GetFormFromFile(0x4C50, "LenA_RadMorphing.esp") as LenARM:LenARM_API

     

  • When first running your trigger mod, register your trigger name with RMR.
    RegisterTrigger("YourTriggerName")

     

  • Call UpdateTrigger with value as a float between 0.0 (0%) and 1.0 (100%) to update the trigger value.
    UpdateTrigger("YourTriggerName", value)

     

  • Register for the OnStartup and OnShutdown events to keep track of RMR's state and avoid wasting resources while RMR is inactive.
  • Register for the OnRequestTriggers event. Re-register your trigger name and provide the current value whenever this event is raised.

 

For more details, have a look at the Rads trigger. The source code is included with the mod and the full project is also available on GitHub.

 

 

Source Code

All source code is included with the mod. The full project including build scripts for VSCode is available on GitHub.

 

 

 

 

Changelog

Spoiler

2.5.0

  •   Added    New MCM option Morph calculation to change how morph values are adjusted before being sent to LooksMenu / BodyGen.
    Have a look at the Configuration section and the Limitations of LooksMenu section on this page for more details.

 

 

2.4.0

  •   Added    Added active companions to Equipped Items.
    Pick the actor (player or active companion) whose items you want to see from a dropdown on the Equipped Items page and click on Refresh to see their equipped items.
  •   Fixed    Update list of companions after mod restart to avoid handling companions that have been dismissed between stopping and starting RMR.

 

 

2.3.0

  •   Added    The morph percentage shown in the doctor healing dialog now only takes slider sets with permanent morphs enabled into consideration. Slider sets that don't need doctors to reset their morphs will no longer affect the displayed percentage.
  •   Added    Support for AAF body doubles.
    Since AAF creates a body double / clone of the player for its scenes, morphs happening during a scene were not visible until after the AAF scene ended. RMR now detects AAF scenes starting (and ending) and morphs the body double along with the actual player body.
    Detection of the body double is also propagated through events on RMR's API so that triggers can act on the body double.
  •   Added    The somewhat arbitrary limits to the lower and upper thresholds have been lifted.
  •   Fixed    Another instance of morphs not being properly applied after a mod restart has been fixed.
  •   Fixed    When a new companion is detected, their morphs are now reset before applying the current morphs.
    With Restore companion morphs on dismiss disabled they would previously be stuck with their old morphs when the slider settings were changed between dismissing and re-hiring them.

 

 

2.2.1

  •   Fixed    Current morphs were not always correctly reapplied after restarting RMR.
  •   Fixed    Switching from another update type to sleep morphing could cause morphing based on the last value before the switch on every sleep.

2.2.0

  •   Added    Configurable drop / destroy chance for unequip actions.
    With unequipping set to dropping or destroying items, configure a chance (0% - 100%) that dropping / destroying happens instead of just storing the items in inventory.
  •   Added    Cumulative morphs.
    If multiple slider sets affect the same slider, the combined morphs are applied to that slider; e.g. Slider Set 1 sets 30%, Slider Set 2 sets 10% --> combined morphs = 40%.
  •   Added    Equipped Items page in MCM.
    Replaced the "Click to show worn clothes" button on slider set pages with a new page that lists all the equipped items and their slot numbers in a better to read, scrollable view.

 

 

2.1.0

  •   Added    Partial morph healing (for permanent morphs).
    With too little caps to fully heal morphs, you can now spend all caps to heal as much as you can afford.
  •   Added    Configurable unequip actions (per slider set + global override).
    Decide what happens when clothes get unequipped due to morphs: store in inventory (default / old behavior), drop to the ground, or destroy the items.
  •   Added    Detect changes to MCM outside of current savegame and automatically reload to apply the new settings.
    RMR will now detect if the MCM has been changed in another savegame or with RMR Helper and apply those new settings when loading the game.
  •   Fixed    Incorrect version number shown in MCM.
  •   Dependency    RMR now requires SUP F4SE.

 

 

2.0.0

  • Initial release of RMR v2.
  • Complete rewrite, incompatible with all previous versions.

 

 

 

 

1.0.1

  • Added compatibility with Devious Devices. This mod will no longer try to unequip locked DDs.
  • Added global override settings in MCM to override Only Doctors and Additive Morphing settings.
  • Added a bugfix for a potential Bethesda-Bug where the information what a doctor has cured never resets and after the first time a doctor cured rads, morphs would always be reset after any kind of doctor visit. This setting is disabled by default.
  • Bugfix: Don't try to unequip stuff while in Power Armor.
  • Bugfix: Fixed mod not always shutting down correctly (prevent timer from restarting while shutting down).
  • Bugfix: Fixed DLC Doctors still not resetting morphs.
  • Bugfix: Fixed companions constantly getting removed and added from the companion list (as morph targets) during combat.

 

 

0.7.1

  • Bugfix: Unequip slots that contain body parts when not covered in clothing (e.g. hands, body, head) kept triggering unequip sounds over and over. If the item model in a slot starts with "Actors" or "Pipboy" RMR will no longer try to unequip the item.
  • Bugfix: Far Harbor DLC doctor Archemist (Nucleus) did not reset morphs.
  • Bugfix: Far Harbor DLC doctor Aster (Acadia) did not reset morphs.
  • Bugfix: Nuka World DLC doctor Mackenzie did not reset morphs.

0.7.0

  • Companions in the PlayerAllyFaction are now morphed in addition to the CurrentCompanionFaction. This should make companions from Outcasts and Remnants and related mods compatible.
  • Bugfix: Logging errors with multiple companions.

 

 

0.6.3

  • Bugfix: Teddy Wright (Far Harbor Doctor) did not reset morphs.
  • Bugfix: Morphing while in Power Armor had weird side effects. Morphs are no longer applied while in Power Armor.

0.6.1

  • Bugfix: Force-unequipped items could be re-quipped with lower rads even though doctor-only unmorphing was enabled.
  • Bugfix: Morphs only applied to female actors.
  • Bugfix: Items that could not be unequipped triggered unequip sounds over and over again while taking rads.

0.6.0

  • Calls to BodyGen are only made when morphs have actually changed. This should reduce twitching of breasts and butt.
  • Bugfix: Fixed base morphs were being increased too much (doctor only unmorphing with additive morphs enabled).
  • Bugfix: Base morphs were not reapplied when enabling the mod, only after first taking rads.

 

 

0.5.0

  • Added option to only apply morphs after sleeping.
  • Added option to morph independent of the player's rads value (e.g. while using god mode).
  • Bugfix: Fixed the force undress feature.

 

 

0.4.2

  • Bugfix: Restarting the mod (due to update or MCM) could sometimes progress before the mod was fully shut down resulting in losing the original body shapes.

0.4.0

  • Companions can be morphed and undressed based on your rads (companions don't get rads). Configurable per slider set.
  • Added a page for debugging and testing in MCM. Currently with two buttons:
    • Reset mod state forgets all information saved by this mod (including your and your companion's original body shape) and then restarts the mod.
    • Add irradiated blood puts 50 bags of irradiated blood to the player inventory as an easy way of getting rads and testing the mod without using console commands.
  • When setting slider names and slots to unequip you will be warned about having leading spaces in the input text. This is hard to spot and can easily happen because MCM likes to start with one space when editing an empty text input field.
  • Instead of checking rads after visiting a doctor the mod now checks whether rads healing was performed by the doctor and restores the body shape even if not all rads were removed.
    This should help with bugged savegames where rads cannot be fully removed anymore.
  • Added option during FOMOD install to have all sliders on one page in MCM or one page per slider.

 

 

0.3.1

  • Bugfix: With "only doctors" enabled taking rads after having been cured by a doctor reset the morphs back to the values before having been cured.

0.3.0 (disable this mod in MCM before updating from a version before 0.3.0)

  • Adds an option that morph effects can only be undone by doctors (RadAway and other means of reducing rads will still reduce rads but not restore the shape of your body).
    Rads gained after taking RadAway can optionally cause additional morphing.

 

 

0.2.0

  • Adds option to remove some clothes when a radiation / slider threshold is met. Clothing slots and threshold can be configured for each slider set individually.
  • Adds a sound effect when clothes are removed due to rads if Combat Strip Lite or Combat Strip Lite, Sound Replacer (Ripping Sounds) (the sound replacer works on its own) is installed.
  • Bugfix: Checking of rads could happen at the same time as mod restart messing up the base slider values.

 

 

0.1.2

  • Bugfix: Add missing DLL for LL_FourPlay library to FOMOD.

0.1.1

  • Bugfix: Slider names would not always split correctly.

0.1.0

  • initial release

 


  • Submitter
  • Submitted
    03/12/2020
  • Category
  • Requires
    MCM, F4SE, SUP F4SE, LooksMenu, DLCs

 

Link to comment
7 hours ago, tookachinchilla said:

Is there actually a quest? Or should the morphing happen automatically once it's enabled in the MCM?

Morphing happens automatically once enabled in MCM.

 

There isn't an actual quest in your quest log that gives you stuff to do. It's more of an implementation detail. The scripts need to be attached to something and having them on a (basically invisible, always running) quest means they don't depend on you having any items in your inventory. 

Link to comment
8 hours ago, Plaguetard said:

Curious... add an option that when it hits a certain threshold %, you can't equip clothing? Just a thought for the immersive enhancement side of this.

I'll look into this. No idea if I can block equipping but I should be able to unequip clothing with every rad check.

Link to comment
11 hours ago, LenAnderson said:

I'll look into this. No idea if I can block equipping but I should be able to unequip clothing with every rad check.

Awesome! Thanks for being so responsive. I know a mod that does something similar is Combat Strip Lite, 

 

 

Different circumstances (It unequips certain slots as you take damage), but until the injury heals you can't re-equip anything because it equips a "damaged" bodypart in that slot that can't be unequipped. I greatly thank you for even considering the idea. Always means a lot when a mod author is willing to look into things.

 

Link to comment
1 hour ago, Plaguetard said:

Awesome! Thanks for being so responsive. I know a mod that does something similar is Combat Strip Lite, 

 

 

Different circumstances (It unequips certain slots as you take damage), but until the injury heals you can't re-equip anything because it equips a "damaged" bodypart in that slot that can't be unequipped. I greatly thank you for even considering the idea. Always means a lot when a mod author is willing to look into things.

 

I think that's doable. Combat strip seems to listen for the event when an item is equipped and then check whether that is allowed or not. If it is not allowed it gets unequipped immediately. Same idea should work here. When rads / morphing crosses a threshold the configured slots get unequipped and reequipping gets prevented by listening for the equip event...

 

Got the initial unequip working for the first slider set. Slots and threshold configurable in MCM with a little helper dialogue listing what is currently equipped in which slots.

Looks like this is going to make it into the next update.

Fallout4_LenARM_SlotsConfig.png

Fallout4_LenARM_SlotsHelper.png

Link to comment
52 minutes ago, tookachinchilla said:

Not sure why I'm not getting any morphing. I've attached settings and papyrus log.

 

It looks like it may be looking for the 

ScreenShot1.png

ScreenShot2.png

Papyrus.1.log 148.22 kB · 0 downloads

The game can't find the functions from the LL_FourPlay library. Could you please check that you have a file called "LL_FourPlay.pex" in your Fallout 4/Data/Scripts folder?


EDIT: Actually, scratch that. I missed including the LL_FourPlay dll in the FOMOD. I'll upload an update in a minute.

 

EDIT 2: Should be fixed now with v0.1.2

Link to comment
19 minutes ago, Krazyone said:

When you get stripping working, Combat Strip Lite has a really good add-on noise file. For a really immersive ripping, clothes tearing noise, when clothing is unequipped.

 

Combat Strip Lite, Sound Replacer (Ripping Sounds)

 

You could have it as an Add-On sound patch, I use it all the time with Combat Strip Lite.

Those sound good. I guess I'll have to figure out how to deal with sound fx now :D

Link to comment
On 3/13/2020 at 5:52 PM, LenAnderson said:

I think that's doable. Combat strip seems to listen for the event when an item is equipped and then check whether that is allowed or not. If it is not allowed it gets unequipped immediately. Same idea should work here. When rads / morphing crosses a threshold the configured slots get unequipped and reequipping gets prevented by listening for the equip event...

 

Got the initial unequip working for the first slider set. Slots and threshold configurable in MCM with a little helper dialogue listing what is currently equipped in which slots.

Looks like this is going to make it into the next update.

Fallout4_LenARM_SlotsConfig.png

Fallout4_LenARM_SlotsHelper.png

That is fantastic!!! Great work!

Link to comment

Everything is working for me as well, once I learned how to spell. If anyone is having trouble, I would suggest you check your spelling and spaces etc. And then confirm with your bodyslide installation. I though my slider was called Nipples Length and nothing was working, finally after re-installing the mod two times I went through everything very slowly and methodically and found it was Nipple Length. Live and learn I guess. 

Link to comment

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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

Important Information

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