Jump to content

Recommended Posts

5 hours ago, ecastellvi said:

Is there a way to reduce the size of the maximum breast size and the amount of morphing lost due to sleep?

Yes... you can change the maximum Breast size amounts, check out the screenshots.

 

MCM

Morphings

Radiation Morphings

Radiation Range value for effect on body ............................ this is when the Radiation stops effecting Nora's Breasts.

 

 

The morphing lost due to sleep, will only happen if you've taken Radaway.

or

If you have a Perk that slowly heals Radiation.

 

Radiation is not lost normally when sleeping...

Link to comment
6 hours ago, jbezorg said:

With mods like Absolutely Skimpy Attire that break up the boots & torso armor into multiple pieces.  It would be nice to be able to specify multiple slots that get stripped from morphing. 

I've been trying to do that for some time, but I can't script. My Alt-Strip version attempt, turned into a new Hardcore Nudity option, in the MCM. Which is good... I'll add that to the downloads as Experimental eventually.

 

Check out the old FO4 NudeBasics Comments Section, links on the main page of this mod.

 

I had a huge wish-list on it...

 

Post page 22, posted Monday 4.7.22.

 

Link to comment
7 hours ago, jbezorg said:

With mods like Absolutely Skimpy Attire that break up the boots & torso armor into multiple pieces.  It would be nice to be able to specify multiple slots that get stripped from morphing. 

 

A universal solution might be difficult or impossible, something specific to a single mod maybe.

The Morphing breaking is based  on the 'OnHit' based degradation and break system.

The degradation system itself does not use keywords,  instead it is based on the 6 possible Fallout 4 limbs per actor: head, left + right arm, left + right leg and the body

(designed for a locational damage, that was not supported by Fallout itself).

Up to 3 body slots are then fix assigned to each limb and of coarse the body limb does not have any feet slots. Lol ?

Link to comment
6 hours ago, Kanlaon said:

 

A universal solution might be difficult or impossible, something specific to a single mod maybe.

The Morphing breaking is based  on the 'OnHit' based degradation and break system.

The degradation system itself does not use keywords,  instead it is based on the 6 possible Fallout 4 limbs per actor: head, left + right arm, left + right leg and the body

(designed for a locational damage, that was not supported by Fallout itself).

Up to 3 body slots are then fix assigned to each limb and of coarse the body limb does not have any feet slots. Lol ?

RadMorphing Redux seems to do it, I love that mod. It contains all the features for an Alt-Slot stripping system. Including the ability to pick which slots get stripped, and can handle a lot of slot stripping.

 

Before I made the FO4 NudeBasics Fusion Girl version, I used to use RadMorphing Redux for when I was using Fusion Girl.

 

 

I'm not a coder, so I wouldn't know of any of the technical problems though...

Link to comment
12 minutes ago, Krazyone said:

RadMorphing Redux seems to do it, I love that mod. It contains all the features for an Alt-Slot stripping system. Including the ability to pick which slots get stripped, and can handle a lot of slot stripping.

 

Before I made the FO4 NudeBasics Fusion Girl version, I used to use RadMorphing Redux for when I was using Fusion Girl.

 

 

I'm not a coder, so I wouldn't know of any of the technical problems though...

 

As the name says It is radiation morphing only. I tested it in one of the earlier versions but i was nothing for my taste.

Link to comment
4 hours ago, Kanlaon said:

As the name says It is radiation morphing only. I tested it in one of the earlier versions but i was nothing for my taste.

 

That's true for now, though the author has made progress on a rewrite which generalizes the morphing/stripping features in order to make the triggers modular, with the initial trigger module being radiation exposure so that it's still a suitable replacement for the current implementation. I'm looking forward to it, because I'd like to make it morph/strip based on cumulative (junk)food consumption instead of radiation. All the current weight gain mods either only adjust the vanilla "body triangle" or rely on a custom body with limited availability of outfit conversions.

Link to comment
30 minutes ago, vaultbait said:

 

That's true for now, though the author has made progress on a rewrite which generalizes the morphing/stripping features in order to make the triggers modular, with the initial trigger module being radiation exposure so that it's still a suitable replacement for the current implementation. I'm looking forward to it, because I'd like to make it morph/strip based on cumulative (junk)food consumption instead of radiation. All the current weight gain mods either only adjust the vanilla "body triangle" or rely on a custom body with limited availability of outfit conversions.

 

It's no longer the original author who maintains RadMorphing now, and sometimes switching has advantages for the maintenance of a mod.

I myself will probably only do such tasks again when I'm satisfied with my own 'creations' and what is available on Loverslab or Nexusmods. I want to use console UtilF4, but this mod has bugs too and the author seem to be gone since one year. Now I am thinking if there is a plan B possible.

My Character level for Fallout 4 is 37 and stayed at that level since 2018 :(

Edited by Kanlaon
Link to comment
17 hours ago, Kanlaon said:

 

A universal solution might be difficult or impossible, something specific to a single mod maybe.

The Morphing breaking is based  on the 'OnHit' based degradation and break system.

The degradation system itself does not use keywords,  instead it is based on the 6 possible Fallout 4 limbs per actor: head, left + right arm, left + right leg and the body

(designed for a locational damage, that was not supported by Fallout itself).

Up to 3 body slots are then fix assigned to each limb and of coarse the body limb does not have any feet slots. Lol ?



Rad Morphing Redux string splitting function. You can use the same method of a text field of slot numbers and delimiter.

 

;
; utility functions
;
string[] Function StringSplit(string target, string delimiter)
	Log("splitting '" + target + "' with '" + delimiter + "'")
	string[] result = new string[0]
	string current = target
	int idx = LL_Fourplay.StringFind(current, delimiter)
	Log("split idx: " + idx + " current: '" + current + "'")
	While (idx > -1 && current)
		result.Add(LL_Fourplay.StringSubstring(current, 0, idx))
		current = LL_Fourplay.StringSubstring(current, idx+1)
		idx = LL_Fourplay.StringFind(current, delimiter)
		Log("split idx: " + idx + " current: '" + current + "'")
	EndWhile
	If (current)
		result.Add(current)
	EndIf
	Log("split result: " + result)
	return result
EndFunction

 

LL_Fourplay is included with AAF

 

Scriptname LL_FourPlay Native Hidden

;
;	Shared community library of utility function from LoverLab distributed with FourPlay resources as a F4SE plugin with sources included
;

;	Version 35 for runtime 1.10.138	2019 11 01 by jaam and Chosen Clue and EgoBallistic

;	Runtime version: This file should be runtime neutral. The accompanying F4SE plugin (ll_fourplay_1_10_138.dll) is NOT!
;		You need to always use a plugin corresponding with the game version you play.
;		Plugin should be available just after F4SE has been updated for the modified runtime.
;		Runtime versions lower than 1.10.138 will no longer be supported.
;		Written and tested against F4SE 0.6.17. You should not use an older version of F4SE.
;
;
;

; Returns the version of this script (when someone has not forgotten to update it :) )
Float Function GetLLFPScriptVersion() global
	return 35.0
endFunction

; Returns the version of the plugin and servers to verify it is properly installed.
Float Function GetLLFPPluginVersion() native global

; Custom profile: written into "Data\F4SE\Plugins"
; ===============

; Returns the full path for custom profile name. IE "WhereverYourGameIs\Data\F4SE\Plugins\name". Don't forget to provide the .ini extension.
string Function GetCustomConfigPath(string name) native global

; Get the value of custom config string option
string Function GetCustomConfigOption(string name, string section, string key) native global

; Get the value of custom config integer option (Use 0/1 for boolean)
int Function GetCustomConfigOption_UInt32(string name, string section, string key) native global

; Get the value of custom config float option
Float Function GetCustomConfigOption_float(string name, string section, string key) native global

; Sets the value of custom config string option (at most 66535 characters per option). The directories and path will be created as needed. If the result is false, the set did not happen.
bool Function SetCustomConfigOption(string name, string section, string key, string value) native global

; Sets the value of custom config integer option. The directories and path will be created as needed. If the result is false, the set did not happen.
bool Function SetCustomConfigOption_UInt32(string name, string section, string key, int data) native global

; Sets the value of custom config float option. The directories and path will be created as needed. If the result is false, the set did not happen.
bool Function SetCustomConfigOption_float(string name, string section, string key, float data) native global

; Get all the keys and values contained in a section. Both at once to avoid discrepancies in the order.
;	The keys are in VarToVarArray(Var[0]) as String[] and the values in VarToVarArray(Var[1]) as String[]
Var[] Function GetCustomConfigOptions(string fileName, string section) native global

; Set a list of keys and values in a section. Any other existing key will be left alone.
bool Function SetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global

; Reset all the keys and values contained in a section.
;	Any exiting key value pair will be suppressed first, so providing none arrays will effectivly removes all keys from the section.
bool Function ResetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global

; Get all the sections in a file.
string[] Function GetCustomConfigSections(string fileName) native global

; For all array functions:
;	The implementation as an arbitrary limitation of 32767 bytes buffer for all Keys, Values or sections involved.
;		If needed because the limitation becomes a problem, another implementation can be done using memory allocation, though there will remain a limit imposed by Windows.
;	When arrays for keys and values are provided, the count of elements in both arrays must be identical or the function fails on purpose.
;	An empty value should be provided as a zero length string.	TO BE TESTED

;
;	Camera functions
;	================
;

; Forces the FlyCam state.
;	if activate is true and the FlyCam is not active AND the FXCam is not active either, the FlyCam will be activated.
;	if activate is false and the FlyCam is active, the FlyCam will be deactivated.
;	if the requested state is identical to the current state nothing is done.
;		Returns whether the FlyCam was active or not before the call so mods can restore the previous state if needed.
bool Function SetFlyCam(bool activate) native global

;	TO BE TESTED
; Forces the FlyCam state. Alternative version that allows to pause/unpause the game when entering FlyCam
;	if activate is true and the FlyCam is not active AND the FXCam is not active either, the FlyCam will be activated.
;		if pause then the game will be paused
;	if activate is false and the FlyCam is active, the FlyCam will be deactivated.
;	otherwise if the requested activate is identical to the current state nothing is done.
;		Returns whether the FlyCam was active or not before the call so mods can restore the previous state if needed.
;TBT; bool Function SetFlyCam2(bool activate, bool pause) native global
;	TO BE TESTED - So far this is useless as scripts seem to be stopped while in pause mode :(

; Get the current state of the FlyCam
bool Function GetFlyCam() native global

; Get the current pause state of the game
bool Function GetPaused() native global

; Get the current state of the FXCam
bool Function GetFXCam() native global

; Select the speed at which the FlyCam moves (identical to SetUFOCamSpeedMult/sucsm console command)
;	The console command supports an optional second parameter to control rotation speed.
;	The way it handles default value is not compatible so I use an explicit bool to select which speed to change
;	Returns the previous value of the selected speed.
float Function SetFlyCamSpeedMult(float speed, bool rotation=False) native global

;
;	Power Armor/Race/Skeleton functions
;	===================================
;

;	Returns the actor's race when in PowerArmor
Race Function GetActorPowerArmorRace(Actor akActor) native global

;	Returns the actor's skeleton when in PowerArmor
string Function GetActorPowerArmorSkeleton(Actor akActor) native global

;	Returns the actor's current skeleton, not affected by PowerArmor
string Function GetActorSkeleton(Actor akActor) native global

;Chosen Clue Edit

;
;	String functions
;	================
;

;	Returns the first index of the position the toFind string starts. You can use this to check if an animation has a tag on it. Is not case sensitive.
Int Function StringFind(string theString, string toFind, int startIndex = 0) native global

;	Returns the selected substring from theString. If no length is set, the entire string past the startIndex number is returned.
string Function StringSubstring(string theString, int startIndex, int len = 0) native global

;	Splits the string into a string array based on the delimiter given in the second parameter. 
;	As this function does ignore whitespace, putting a space as the delimiter will only result in a string being returned without spaces.
string[] Function StringSplit(string theString, string delimiter = ",") native global

;	Opposite of StringSplit.
string Function StringJoin(string[] theStrings, string delimiter = ",") native global


;
;	Array functions
;	===============
;

;Just a precursor: This does not mean we can use Alias based scripts to store animations like sexlab does, as the F4SE team has yet to include a typedef of them in the F4SE CPP files. I am guessing that they haven't reverse engineered it yet.

Form[] Function ResizeFormArray(Form[] theArray, int theSize, Form theFill = NONE) native global

String[] Function ResizeStringArray(String[] theArray, int theSize, String theFill = "") native global

Int[] Function ResizeIntArray(Int[] theArray, int theSize, Int theFill = 0) native global

Float[] Function ResizeFloatArray(Float[] theArray, int theSize, Float theFill = 0.0) native global

Bool[] Function ResizeBoolArray(Bool[] theArray, int theSize, Bool theFill = False) native global

Var[] Function ResizeVarArray2(Var[] theArray, int theSize) native global

Var[] Function ResizeVarArray(Var[] theArray, int theSize) global
	; Because filling with invalid values will CTD
	; Bugged for any version prior to 14
	; theFill will be ignored, but kept for compatibility. Anyway nobody used it ever as it would have CTD. Please use ResizeVarArray2
	Int theFill = 0
	return ResizeVarArrayInternal(theArray, theSize, theFill)
endFunction

;	if the int theSize is negative, the resulting array is a copy of the original array unchanged.

; Sets the minimum array size required by a mod. Returns false if the current value was greater.
Bool Function SetMinimalMaxArraySize(int theMaxArraySize) native global
; This patches ArrayAdd and ArrayInsert so they respect that maximum. The value is memorised in ToolLib.ini
;[Custom Arrays]
;uMaxArraySize=nnnnnn
;
; !! Creating arrays that are too large will adversaly affect your game !!

;
;	Keyword functions
;	=================
;

; Return the first keyword whose editorID is akEditorID
Keyword Function GetKeywordByName(string akEditorID) native global

; Adds a keyword to a form (not only a reference). Does not persists.
bool Function AddKeywordToForm(Form akForm, Keyword akKeyword) native global

; Delete a keyword from a form (not only a reference). Does not persists.
bool Function DelKeywordFromForm(Form akForm, Keyword akKeyword) native global

; Return an array of all keywords loaded in game.
Keyword[] Function GetAllKeywords() native global

;
;	CrossHair functions
;	====================
;

;	Returns the Reference that is currently under the CrossHair. Returns None if there isn't one currently.
ObjectReference Function LastCrossHairRef() native global

;	Returns the last Actor that is or was under the CrossHair. Returns None until there is one since the game was (re)started.
Actor Function LastCrossHairActor() native global

;
;	ObjectReference functions
;	=========================
;

;	Set the reference display name as a string without token. TO BE TESTED
bool Function ObjectReferenceSetSimpleDisplayName(ObjectReference akObject, string displayName) native global

;
;	Actor functions
;	===============
;

;	Check if the ActorBase has a specific skin. TO BE TESTED
bool Function ActorBaseIsClean(Actor akActor) native global

;	Return the WNAM ARMO of either the actor base or the actor's race
Form Function GetActorBaseSkinForm(Actor akActor) native global

;	MFG morph function provided by EgoBallistic

;   Apply a MFG Morph to the actor
bool Function MfgMorph(Actor akActor, int morphID, int intensity) native global

;	Set all MFG Morph values to zero on an actor
bool Function MfgResetMorphs(Actor akActor) native global

;	Save an actor's MFG Morph values to an array of float
Float[] Function MfgSaveMorphs(Actor akActor) native global

;	Restore an array of saved MFG morph values to an actor
bool Function MfgRestoreMorphs(Actor akActor, Float[] values) native global

;	Copy the MFG morph values from one actor to another
bool Function MfgCopyMorphs(Actor a0, Actor a1) native global

;	Apply a set of MFG morphs to an actor.  Morph ID morphIDs[x] will be set to values[x]
bool Function MfgApplyMorphSet(Actor akActor, int[] morphIDs, int[] values) native global

;
;	Collision functions
;	===================
;

;	Set the collision state of a reference. Returns the previous state.	TO BE TESTED _ currently fails.
;TBT;	bool Function ObjectReferenceSetCollision(ObjectReference akObject, bool enable=True) native global

;	Get the collision state of a reference. If akObject is None, return the global collision state (controlled by TCL).	TO BE TESTED
;TBT;	bool Function ObjectReferenceGetCollision(ObjectReference akObject) native global

;
;	Misc. Form functions
;	====================
;

;	Returns the Editor ID of a Race. Originally GetFormEditorID, but passing in a form and using the F4SE function GetEditorID() has only worked on Quest and Race forms. So I've just made it for race forms only.
String Function GetRaceEditorID(Race akForm) native global

; Returns the name of the plugin that created a form
String Function OriginalPluginName(Form akForm) native global

; Returns the persistent ID of a form (excluding the load index) Should be compatible with esl files. (Fixed as of v18)
Int Function OriginalPluginID(Form akForm) native global

; Returns whether a form is in a given leveled item list
bool Function GetInLeveledItem(Leveleditem akList, Form akForm) native global

;
;	Misc functions
;	==============
;

;	Prints a message to the debug console. Exposes the internal F4SE function Console_Print using the code found in Papyrutil in Skyrim.
bool Function PrintConsole(String text) native global

;
;	HIDDEN Functions. Never call directly.
;

; hidden function, use ResizeVarArray instead
Var[] Function ResizeVarArrayInternal(Var[] theArray, int theSize, Var theFill) native global



 

Edited by jbezorg
Link to comment
8 hours ago, jbezorg said:



Rad Morphing Redux string splitting function. You can use the same method of a text field of slot numbers and delimiter.

 

;
; utility functions
;
string[] Function StringSplit(string target, string delimiter)
	Log("splitting '" + target + "' with '" + delimiter + "'")
	string[] result = new string[0]
	string current = target
	int idx = LL_Fourplay.StringFind(current, delimiter)
	Log("split idx: " + idx + " current: '" + current + "'")
	While (idx > -1 && current)
		result.Add(LL_Fourplay.StringSubstring(current, 0, idx))
		current = LL_Fourplay.StringSubstring(current, idx+1)
		idx = LL_Fourplay.StringFind(current, delimiter)
		Log("split idx: " + idx + " current: '" + current + "'")
	EndWhile
	If (current)
		result.Add(current)
	EndIf
	Log("split result: " + result)
	return result
EndFunction

 

LL_Fourplay is included with AAF

 

Scriptname LL_FourPlay Native Hidden

;
;	Shared community library of utility function from LoverLab distributed with FourPlay resources as a F4SE plugin with sources included
;

;	Version 35 for runtime 1.10.138	2019 11 01 by jaam and Chosen Clue and EgoBallistic

;	Runtime version: This file should be runtime neutral. The accompanying F4SE plugin (ll_fourplay_1_10_138.dll) is NOT!
;		You need to always use a plugin corresponding with the game version you play.
;		Plugin should be available just after F4SE has been updated for the modified runtime.
;		Runtime versions lower than 1.10.138 will no longer be supported.
;		Written and tested against F4SE 0.6.17. You should not use an older version of F4SE.
;
;
;

; Returns the version of this script (when someone has not forgotten to update it :) )
Float Function GetLLFPScriptVersion() global
	return 35.0
endFunction

; Returns the version of the plugin and servers to verify it is properly installed.
Float Function GetLLFPPluginVersion() native global

; Custom profile: written into "Data\F4SE\Plugins"
; ===============

; Returns the full path for custom profile name. IE "WhereverYourGameIs\Data\F4SE\Plugins\name". Don't forget to provide the .ini extension.
string Function GetCustomConfigPath(string name) native global

; Get the value of custom config string option
string Function GetCustomConfigOption(string name, string section, string key) native global

; Get the value of custom config integer option (Use 0/1 for boolean)
int Function GetCustomConfigOption_UInt32(string name, string section, string key) native global

; Get the value of custom config float option
Float Function GetCustomConfigOption_float(string name, string section, string key) native global

; Sets the value of custom config string option (at most 66535 characters per option). The directories and path will be created as needed. If the result is false, the set did not happen.
bool Function SetCustomConfigOption(string name, string section, string key, string value) native global

; Sets the value of custom config integer option. The directories and path will be created as needed. If the result is false, the set did not happen.
bool Function SetCustomConfigOption_UInt32(string name, string section, string key, int data) native global

; Sets the value of custom config float option. The directories and path will be created as needed. If the result is false, the set did not happen.
bool Function SetCustomConfigOption_float(string name, string section, string key, float data) native global

; Get all the keys and values contained in a section. Both at once to avoid discrepancies in the order.
;	The keys are in VarToVarArray(Var[0]) as String[] and the values in VarToVarArray(Var[1]) as String[]
Var[] Function GetCustomConfigOptions(string fileName, string section) native global

; Set a list of keys and values in a section. Any other existing key will be left alone.
bool Function SetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global

; Reset all the keys and values contained in a section.
;	Any exiting key value pair will be suppressed first, so providing none arrays will effectivly removes all keys from the section.
bool Function ResetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global

; Get all the sections in a file.
string[] Function GetCustomConfigSections(string fileName) native global

; For all array functions:
;	The implementation as an arbitrary limitation of 32767 bytes buffer for all Keys, Values or sections involved.
;		If needed because the limitation becomes a problem, another implementation can be done using memory allocation, though there will remain a limit imposed by Windows.
;	When arrays for keys and values are provided, the count of elements in both arrays must be identical or the function fails on purpose.
;	An empty value should be provided as a zero length string.	TO BE TESTED

;
;	Camera functions
;	================
;

; Forces the FlyCam state.
;	if activate is true and the FlyCam is not active AND the FXCam is not active either, the FlyCam will be activated.
;	if activate is false and the FlyCam is active, the FlyCam will be deactivated.
;	if the requested state is identical to the current state nothing is done.
;		Returns whether the FlyCam was active or not before the call so mods can restore the previous state if needed.
bool Function SetFlyCam(bool activate) native global

;	TO BE TESTED
; Forces the FlyCam state. Alternative version that allows to pause/unpause the game when entering FlyCam
;	if activate is true and the FlyCam is not active AND the FXCam is not active either, the FlyCam will be activated.
;		if pause then the game will be paused
;	if activate is false and the FlyCam is active, the FlyCam will be deactivated.
;	otherwise if the requested activate is identical to the current state nothing is done.
;		Returns whether the FlyCam was active or not before the call so mods can restore the previous state if needed.
;TBT; bool Function SetFlyCam2(bool activate, bool pause) native global
;	TO BE TESTED - So far this is useless as scripts seem to be stopped while in pause mode :(

; Get the current state of the FlyCam
bool Function GetFlyCam() native global

; Get the current pause state of the game
bool Function GetPaused() native global

; Get the current state of the FXCam
bool Function GetFXCam() native global

; Select the speed at which the FlyCam moves (identical to SetUFOCamSpeedMult/sucsm console command)
;	The console command supports an optional second parameter to control rotation speed.
;	The way it handles default value is not compatible so I use an explicit bool to select which speed to change
;	Returns the previous value of the selected speed.
float Function SetFlyCamSpeedMult(float speed, bool rotation=False) native global

;
;	Power Armor/Race/Skeleton functions
;	===================================
;

;	Returns the actor's race when in PowerArmor
Race Function GetActorPowerArmorRace(Actor akActor) native global

;	Returns the actor's skeleton when in PowerArmor
string Function GetActorPowerArmorSkeleton(Actor akActor) native global

;	Returns the actor's current skeleton, not affected by PowerArmor
string Function GetActorSkeleton(Actor akActor) native global

;Chosen Clue Edit

;
;	String functions
;	================
;

;	Returns the first index of the position the toFind string starts. You can use this to check if an animation has a tag on it. Is not case sensitive.
Int Function StringFind(string theString, string toFind, int startIndex = 0) native global

;	Returns the selected substring from theString. If no length is set, the entire string past the startIndex number is returned.
string Function StringSubstring(string theString, int startIndex, int len = 0) native global

;	Splits the string into a string array based on the delimiter given in the second parameter. 
;	As this function does ignore whitespace, putting a space as the delimiter will only result in a string being returned without spaces.
string[] Function StringSplit(string theString, string delimiter = ",") native global

;	Opposite of StringSplit.
string Function StringJoin(string[] theStrings, string delimiter = ",") native global


;
;	Array functions
;	===============
;

;Just a precursor: This does not mean we can use Alias based scripts to store animations like sexlab does, as the F4SE team has yet to include a typedef of them in the F4SE CPP files. I am guessing that they haven't reverse engineered it yet.

Form[] Function ResizeFormArray(Form[] theArray, int theSize, Form theFill = NONE) native global

String[] Function ResizeStringArray(String[] theArray, int theSize, String theFill = "") native global

Int[] Function ResizeIntArray(Int[] theArray, int theSize, Int theFill = 0) native global

Float[] Function ResizeFloatArray(Float[] theArray, int theSize, Float theFill = 0.0) native global

Bool[] Function ResizeBoolArray(Bool[] theArray, int theSize, Bool theFill = False) native global

Var[] Function ResizeVarArray2(Var[] theArray, int theSize) native global

Var[] Function ResizeVarArray(Var[] theArray, int theSize) global
	; Because filling with invalid values will CTD
	; Bugged for any version prior to 14
	; theFill will be ignored, but kept for compatibility. Anyway nobody used it ever as it would have CTD. Please use ResizeVarArray2
	Int theFill = 0
	return ResizeVarArrayInternal(theArray, theSize, theFill)
endFunction

;	if the int theSize is negative, the resulting array is a copy of the original array unchanged.

; Sets the minimum array size required by a mod. Returns false if the current value was greater.
Bool Function SetMinimalMaxArraySize(int theMaxArraySize) native global
; This patches ArrayAdd and ArrayInsert so they respect that maximum. The value is memorised in ToolLib.ini
;[Custom Arrays]
;uMaxArraySize=nnnnnn
;
; !! Creating arrays that are too large will adversaly affect your game !!

;
;	Keyword functions
;	=================
;

; Return the first keyword whose editorID is akEditorID
Keyword Function GetKeywordByName(string akEditorID) native global

; Adds a keyword to a form (not only a reference). Does not persists.
bool Function AddKeywordToForm(Form akForm, Keyword akKeyword) native global

; Delete a keyword from a form (not only a reference). Does not persists.
bool Function DelKeywordFromForm(Form akForm, Keyword akKeyword) native global

; Return an array of all keywords loaded in game.
Keyword[] Function GetAllKeywords() native global

;
;	CrossHair functions
;	====================
;

;	Returns the Reference that is currently under the CrossHair. Returns None if there isn't one currently.
ObjectReference Function LastCrossHairRef() native global

;	Returns the last Actor that is or was under the CrossHair. Returns None until there is one since the game was (re)started.
Actor Function LastCrossHairActor() native global

;
;	ObjectReference functions
;	=========================
;

;	Set the reference display name as a string without token. TO BE TESTED
bool Function ObjectReferenceSetSimpleDisplayName(ObjectReference akObject, string displayName) native global

;
;	Actor functions
;	===============
;

;	Check if the ActorBase has a specific skin. TO BE TESTED
bool Function ActorBaseIsClean(Actor akActor) native global

;	Return the WNAM ARMO of either the actor base or the actor's race
Form Function GetActorBaseSkinForm(Actor akActor) native global

;	MFG morph function provided by EgoBallistic

;   Apply a MFG Morph to the actor
bool Function MfgMorph(Actor akActor, int morphID, int intensity) native global

;	Set all MFG Morph values to zero on an actor
bool Function MfgResetMorphs(Actor akActor) native global

;	Save an actor's MFG Morph values to an array of float
Float[] Function MfgSaveMorphs(Actor akActor) native global

;	Restore an array of saved MFG morph values to an actor
bool Function MfgRestoreMorphs(Actor akActor, Float[] values) native global

;	Copy the MFG morph values from one actor to another
bool Function MfgCopyMorphs(Actor a0, Actor a1) native global

;	Apply a set of MFG morphs to an actor.  Morph ID morphIDs[x] will be set to values[x]
bool Function MfgApplyMorphSet(Actor akActor, int[] morphIDs, int[] values) native global

;
;	Collision functions
;	===================
;

;	Set the collision state of a reference. Returns the previous state.	TO BE TESTED _ currently fails.
;TBT;	bool Function ObjectReferenceSetCollision(ObjectReference akObject, bool enable=True) native global

;	Get the collision state of a reference. If akObject is None, return the global collision state (controlled by TCL).	TO BE TESTED
;TBT;	bool Function ObjectReferenceGetCollision(ObjectReference akObject) native global

;
;	Misc. Form functions
;	====================
;

;	Returns the Editor ID of a Race. Originally GetFormEditorID, but passing in a form and using the F4SE function GetEditorID() has only worked on Quest and Race forms. So I've just made it for race forms only.
String Function GetRaceEditorID(Race akForm) native global

; Returns the name of the plugin that created a form
String Function OriginalPluginName(Form akForm) native global

; Returns the persistent ID of a form (excluding the load index) Should be compatible with esl files. (Fixed as of v18)
Int Function OriginalPluginID(Form akForm) native global

; Returns whether a form is in a given leveled item list
bool Function GetInLeveledItem(Leveleditem akList, Form akForm) native global

;
;	Misc functions
;	==============
;

;	Prints a message to the debug console. Exposes the internal F4SE function Console_Print using the code found in Papyrutil in Skyrim.
bool Function PrintConsole(String text) native global

;
;	HIDDEN Functions. Never call directly.
;

; hidden function, use ResizeVarArray instead
Var[] Function ResizeVarArrayInternal(Var[] theArray, int theSize, Var theFill) native global


Thanks you for your effort.

The author of NudeBasics has already used the LL_Fourplay plugin in some places in his mod.

But knowing that a feature or function exists is useless unless the modder has an idea of how or where in a mod the feature can be used.

It's also unclear to me why the author of RadMorphing Redux uses his own Stringsplit function instead of the StringSplit from the community plugin. (I have not further checked it)

In general, the C++ functions are certainly more performant than the equivalent Papyrus solutions.

 

Unfortunately, some other good libraries are also relatively unknown in the FO4 modder scene.

For example this one: https://www.nexusmods.com/fallout4/articles/3280

 

There is a screenshot function in that bibliothek, that can save a screenshot directly as a DDS file.

This could possibly be used to create a poster of a (sex) scene with the player in the game, for example.

- I had suggested this already before in the 'Sexual Harassment' mod.

Also, you have to know that in AAF scenes where sex with the player is shown, it's not the player itself that you see but a clone.

(This is a big difference to Skyrim, where you really see the player) --> In FO4 It is possible to decap the clone (for necrophilia purposes) or other things and still continue to play the running scene !

 

Link to comment
2 hours ago, Kanlaon said:

Just for fun I reloaded RadMorphin Redux .

The first thing I noticed was that the RadMorphing menu is totally oversized for my taste - 20 slider groups (???).

 

There's a FOMOD installer option to put them all in one page instead of in 20 separate pages. I agree it's a bit much though, I typically only use a single slider.

 

2 hours ago, Kanlaon said:

As a negative side effect, the well known MCM problem comes about immediately: opening of the MCM now takes about 3 seconds with my load order (previously the time was not noticeable). This means that the Nexus MCM patch would then be required with this Radmorphing Redux loaded.

 

Which patch? Are you referring to MCM Booster or something else?

 

2 hours ago, Kanlaon said:

The mod itself is still limited to Radiation and UNEQUIP (as expected).

 

Currently yes, work is underway to make it more flexible via a plug-in interface so you can script new modules to trigger morph increase/decrease from basically anything, but the author predicts that's still a few months out when they'll have time to finish it (recently said it would probably be in the November timeframe).

 

2 hours ago, Kanlaon said:

Armor break is not supported. However, it offers support for followers and probably has a few doctor scenes tracked besides that in Diamond City.

 

It works with all "normal" doctors whether they're from the base game, the DLCs, or mod-added doctors using the same conversation faction/curing animation. Again though that's just for the current version, the plan is to make that feature pluggable as well, so modules could "cure" (remove) morphs based on just about anything.

 

2 hours ago, Kanlaon said:

It may certainly be perfect for some people, but knowledge of the slider names is still required.

 

The author has written a tool which is capable of taking two BodySlide presets and calculating the morph ranges between them, then providing you with the needed configuration. That's also for the in-progress rewrite though, so not useful for the available version yet, but will eliminate the need to know slider names if you want to precompute your configuration with that utility.

 

I agree with your observations, RMR is a fairly niche mod still, but I'm eagerly following its evolution into more of a framework for anyone to build more complex morphing mods on top of.

Link to comment
  • 2 weeks later...
2 hours ago, Chupacabra Gonzales said:

I don't know if this was a feature of the original mod, but this mod is reducing the starting SPECIAL points from 28 (7 base +21 vault tec rep) to 21 (7 base +14 vault tec rep).

 

The FormID is 00078744

 

Yes it is a feature.  You can change back using xEdit... or you can play hardcore and change it from 21 to 7....

 

John

Link to comment
1 hour ago, MrCruelJohn said:

 

Yes it is a feature.  You can change back using xEdit... or you can play hardcore and change it from 21 to 7....

 

John

Description page updated, with that feature.

 

FO4 Edit feature location...

 

 

FO4_Basics.esp

- Game Setting

-- 00078744 uSPECIAL Points

--- DATA - Value

---- Int 21

 

28 is the Vanilla Fallout 4 Special Points amount.

21 is the FO4 NudeBasics Special Points amount, for how many points you get at the start of your game, for your SPECIAL Points.

 

7 = 0 Special Points to spend at the beginning of the game. With 1 mandatory point, pre-assigned for each Special.

Link to comment
4 hours ago, ChandraArgentis said:

Would love an option to disable the feature where you can't wear armor if you get 'too big'.

It's in the MCM already... check out the description pages Screenshots of the MCM.  MCM Morphing 1 and Morphing 2.

 

Clothing and Armour...

MCM...

Morphings

Secundary Undressing and other secondary effects

Total body changes before undressing... set it to 1000  ( that's 100% Radiation, aka Dead... )

Max. Total body to enable redressing... set it to 1000

 

Just tested it, and it works... Although... you might get clipping, with larger Breast sizes, I usually think of the clipping as the fabric tearing, exposing her Breasts.

 

 

Things you can also do...

- Body Changings price influence... Breast Enthusiasts... Do people love or hate Nora's huge Breasts, giving her a better or worse deal when shopping.

- Body changings reduce carry-weight... Nora's Breasts are no longer weightless, you could calculate actual real-world Breast weight. For a back-ache inducing play-through... I set mine to easy going 50.

- Body changings reduce speed... I set mine to 70, the weight of her Breasts are really slowing her down, as they get bigger. Good luck trying to outrun an enemy.

 

 

Power Armour...

Unfortunately... I currently can't do anything about the Power Armour un-equipping, that's messed up.

Currently... it Un-Equips instead of Exiting Power Armour. I've tried a few times, but I don't currently have the skill to fix it.

Link to comment
  • 2 weeks later...
On 7/24/2022 at 1:35 AM, Krazyone said:

Things you can also do...

- Body Changings price influence... Breast Enthusiasts... Do people love or hate Nora's huge Breasts, giving her a better or worse deal when shopping.

- Body changings reduce carry-weight... Nora's Breasts are no longer weightless, you could calculate actual real-world Breast weight. For a back-ache inducing play-through... I set mine to easy going 50.

- Body changings reduce speed... I set mine to 70, the weight of her Breasts are really slowing her down, as they get bigger. Good luck trying to outrun an enemy.

 

Hey! It's been a minute since I stuck my head in here. I was playing as a sex slave, (Sex Harassment, shock collar + Nude basics bomb collar). I was trying to raise enough money to make a mad dash through diamond city to get to the guy who can take the collar off me. That was a lot of fun trying to figure out how to get up to 5000 caps without being able to trade with traders (shock collar). Unfortunately I messed up my save updating my AAF and UAP. But thanks for the play through idea.

 

My question is this: what is the best method/mod to stash caps? I know you had a console method or something, I've also read about some mods that do and don't work. I trust whichever method you use. 

 

Thanks!

Link to comment
4 hours ago, bwagdog669680 said:

Hey! It's been a minute since I stuck my head in here. I was playing as a sex slave, (Sex Harassment, shock collar + Nude basics bomb collar). I was trying to raise enough money to make a mad dash through diamond city to get to the guy who can take the collar off me. That was a lot of fun trying to figure out how to get up to 5000 caps without being able to trade with traders (shock collar). Unfortunately I messed up my save updating my AAF and UAP. But thanks for the play through idea.

 

My question is this: what is the best method/mod to stash caps? I know you had a console method or something, I've also read about some mods that do and don't work. I trust whichever method you use. 

 

Thanks!

 

My favourite method is the Console method, using console commands. Because Bethesda didn't make Caps a physical item, you can't just drop them.

 

 

=============================

 

 

Caps Limits, but can't drop Caps.

 

Problem...   Turning on Maximum Caps you can carry in certain areas, but you can't drop the Caps in your inventory. Vanilla Fallout 4 problem.
Fix 1.....   Install Caps mod, they are not very good, I've tried a lot of them. I haven't found a perfect one...
Fix 2.....   Commands to drop and add Caps into your personal stashes and Safes. I use this method, it's easy and works 100%, with a little more effort.

 

 

Stashing your Caps...  Console Commands.

1. Check how many Caps you have. ( Fallout 4 money )
2. Open Console and Click on a container, that you wish to add your Caps to.


3. Add Caps amount into the Container.


additem f 1000   if you owned 1000 Caps.


4. Remove Caps amount out of your inventory. 

player.removeitem f 1000    if you owned 1000 Caps


You now have no money, as its now all in the container...

 

 

=============================

 

 

Recommended mods...

 

For every play-through, regardless of mods used.

 

Personal Safe...

This one for Stashing Weapons, to keep your Weapons and Ammo from getting stolen. Yep... Trashcan Carla, and everyone will steal your stuff. I've had settlers with 10 of the same Guns, and thousands of ammo for guns they don't even own.

I've had my Legendaries get stolen, it's scary when some idiots steal your Legendary Fatman, and all it's ammo, and starts trying to kill Supermutants with it.

The same with Missile Launchers...

 

Survival Save Point...

Fallout 4 can be glitchy, especially with a lot of mod. I've had my game crash when clicking on the bed to sleep, a few times. Those were on my test mod set-ups, before I tweaked their mod-lists.

Great for Settlement Builders...

 

Personal Safe... an essential mod, for every game.

                              Gives a new item in your build menu, a Safe that even Trashcan Carla can't open. Use for Weapons, Ammo and Fusion Cores...

 

Survival Save Point... recommended for Settlement builders.  A save button, for your Settlements. So you can build and save, without wasting time, and getting sick.

                                    Gives a new item in your build menu...

 

 

=============================

 

 

My MCM Settings...

 

My personal favourite settings...

 

- Slow down when walking barefoot.

- Up to 70% slow down when Nora's Breasts get too big.

- Naked when Collared, Nora has to run around Butt Naked, when collared.

- 50 extra weight added when at full Breast Expansion.

- Breast Enthusiastic Commonwealth, they like Nora's new Breast Size... Body changings price influence 100. 

     Nora gets a big shop discount for her huge Breasts, when Irradiated.

 

 

MCM...

 

Global Settings...

Body changings price influence... 100

Body changings reduce carry weight... 50

Body changings reduce speed... 70

 

Bomb Collar...

Armor Rating Wilderness -1   Always have to be naked

Armor Rating Dungeons  -1   Always have to be naked

 

 

=============================

Edited by Krazyone
Link to comment
9 hours ago, Krazyone said:

 

MCM...

 

Global Settings...

Body changings price influence... 100

Body changings reduce carry weight... 50

Body changings reduce speed... 70

 

Bomb Collar...

Armor Rating Wilderness -1   Always have to be naked

Armor Rating Dungeons  -1   Always have to be naked

 

Thanks! I'll use the console commands, seems easy enough plus I don't clutter my load order with another mod.

 

One thing that drove me nuts was how slowly the hormone irritation fadeout went: milk content -1 per 2 hours sleep. I re-coded it to 2 points per hour. I also rewrote the messages for hormone irritation. (the grammar bothered me). Lastly I removed the minimum that the breast reduce packs lower permanent morphs. They now can totally restore you to 0 total morphs. (eventually, 50 points at a time) 

 

I didn't quite know how the price influence worked. I wasn't sure if the +/- was in favor of me or the traders, so I left it off basically. 

 

I never wear armor, except for clothes packs that count as armor (Clothes Packs by DonEb14n). This fun to me because I'm more worried about my character looking hot and the vanilla armor isn't really sexy. Plus it makes it more of a challenge to not surrender (AAF Violate). I also use the Female outfit replacer by Lazman for the vanilla clothes.

 

Quick question, I had some conflicts with my personal morph tweaks. Meaning when I got hormone irritaion + radiation, one would mess with the other. Has that happened to you? My solution was to tweak the radiation morphs to only affect the waist/hips/butt/and thighs, and use the hormone irritation for breast swelling. It works for me, I set the radiation morph to kick in at 0 rads and max out at 100 rads. So my waist shrinks and butt swells real quick. 

 

I sure am glad you've helped keep this mod alive. Thanks again!

Link to comment
5 hours ago, bwagdog669680 said:

Thanks! I'll use the console commands, seems easy enough plus I don't clutter my load order with another mod.

 

One thing that drove me nuts was how slowly the hormone irritation fadeout went: milk content -1 per 2 hours sleep. I re-coded it to 2 points per hour. I also rewrote the messages for hormone irritation. (the grammar bothered me). Lastly I removed the minimum that the breast reduce packs lower permanent morphs. They now can totally restore you to 0 total morphs. (eventually, 50 points at a time) 

 

I didn't quite know how the price influence worked. I wasn't sure if the +/- was in favor of me or the traders, so I left it off basically. 

 

I never wear armor, except for clothes packs that count as armor (Clothes Packs by DonEb14n). This fun to me because I'm more worried about my character looking hot and the vanilla armor isn't really sexy. Plus it makes it more of a challenge to not surrender (AAF Violate). I also use the Female outfit replacer by Lazman for the vanilla clothes.

 

Quick question, I had some conflicts with my personal morph tweaks. Meaning when I got hormone irritaion + radiation, one would mess with the other. Has that happened to you? My solution was to tweak the radiation morphs to only affect the waist/hips/butt/and thighs, and use the hormone irritation for breast swelling. It works for me, I set the radiation morph to kick in at 0 rads and max out at 100 rads. So my waist shrinks and butt swells real quick. 

 

I sure am glad you've helped keep this mod alive. Thanks again!

 

==================

 

Milk...

I've never used the Milk content of this mod. I should give it a try, I'm not sure what it actually does. Radiation Irritation also is a bit confusing for me, in FO4 NudeBasics.

 

I like to have features that have a reason to use them, I'm not sure what the Milk content does.

 

If I get around to using it, I'll have to start tweaking it as well...

 

==================

 

Price Influences...

+ numbers, give you better deals. - numbers give you worse deals at Traders. My experimental v1.13 adds a description, that tells you. Along with other MCM descriptions.

 

==================

 

Clothing Replacers...

I use the Lazman Female Outfit Replacer clothing replacer mod as well.

 

==================

 

Other mod, I am working on...

I'm currently testing out an update for my Where am I save game start mod, on the Nexus. Adding a couple of more Pre-Built Settlements, and working on an EasyGirl Patch, and Back-Story Patch for it.

 

Updates to publish for it.

- Red Rocket pre-built settlement.

- Kingsport Lighthouse pre-built settlement.

- Fixed AI Bug, which an update by Bethesda done. Easy fix.

- Fixed missing Structures selector, in Settlement Build Mode. Easy fix.

 

It has EasyGirl, and 2Pac clothing mods. EasyGirl has alternate slots, which I haven't figured out how to put into FO4 NudeBasics yet, so I'm using 2 mods.

 

 

FO4 NudeBasics for the Bomb Collar, and everything but the Breast Morphing.

Rad Morphing Redux for the morphing and stripping.

 

Still testing to see how they work together, I used to do the same with Fusion Girl, until I made the Fusion Girl version. Once I work out the Alt-Strip Slots for FO4 NudeBasics, I'll fully retire using Rad Morphing Redux ( a brilliant mod ). Like FO4 NudeBasics, I have 4 versions of that, for myself. With various morph variations. Even an Inverted Nipple version, to stop clothes getting too distorted, in the Nipple area.

 

==================

 

Milk and Rads...

I've never had Hormone Irritation, as I never use the Milk content of the mod.

I remember, you made the hourglass figure morphs.

My Radiation Morphs start at 0 and go to 700, and only are targeted with the Breasts and Nipples. Un-equipping clothes at 500 Rads, and being able to re-equip them at 300 Rads.

 

==================

 

FO4 NudeBasics v1.13 Experimental Version...

In my version of FO4 NudeBasics v1.13, I've made tweaks to some of the spelling, and grammar errors. Along with Tool Tips in the MCM.

I also added a Hardcore Nudity MCM option, and a Patch for Real Handcuffs. It was supposed to be an Alt-Strip Slot version, but turned into something else.

 

It's a Hack Job, and currently gets messed up by Hinged Handcuffs not allowing you to unlock them. Once I fix that, I'll put it in the Downloads Section, as an Experimental Version.

 

I use that version all the time now... It's not perfect, it's a hack job, but it's fun and stable. You just have to turn off Hinged Handcuffs if you use Hardcore Nudity Mode. For now...

 

==================

Edited by Krazyone
Link to comment
14 hours ago, Krazyone said:

Milk...

I've never used the Milk content of this mod. I should give it a try, I'm not sure what it actually does. Radiation Irritation also is a bit confusing for me, in FO4 NudeBasics.

 

I like to have features that have a reason to use them, I'm not sure what the Milk content does.

 

If I get around to using it, I'll have to start tweaking it as well...

 

==================

 

Price Influences...

+ numbers, give you better deals. - numbers give you worse deals at Traders. My experimental v1.13 adds a description, that tells you. Along with other MCM descriptions.

 

Milk content is basically just a meter to tell you what percent you are at for morphs. NudeBasics uses the 3 categories: Radiation, Others, and String Implant.  Radiation morphs from Rads. Others from Hormone Irritation. String Implant from being at 100% Milk Content or 100% Radiation or wearing nipple piercings/clamps (I think). If the rads or nipple piercings are there for 24 consecutive hours (in game, sleeping/waiting counts if you wanted to test), then your (String implant) morphs will increase by the MCM setting amount. BTW string implant is the category in the FO4_NudeBasics.Ini file. In game I think they are called "Other".

 

Back to the milk, it is involved. 1st you have to turn on hormone irritations in the MCM. There is a chance for every sex encounter to trigger hormone irritation. As far as I know, any mod will trigger it, Violate and Sex Harassment do (My favorites). Even masturbation will trigger it. Then there are 7 levels of irritation and the fadeout. The fadeout is also set in the MCM, and this is how long milk content increases. Once the fadeout time is reached (w/o any sex), sleeping will reduce milk content at a rate of 1 point of milk content per 2 hours. After milk content drops low enough, the fadeout turns off and your irritation level is reset to 0. There will usually be a little leftover milk content. Math for irritation levels: Max Milk Content = 65 + (5 * Irritation level). Or level 1 = 70; 2 = 75; 3 = 80... 7 = 100. As I said before this number (milk content) is how big or small the morphs are as a percent; example: if "Boobs Yuge" is set to 100 in the .ini file, your character will morph to this number * milk content. I hope that makes sense. If you get to level 7 it is important to get your milk content down anywhere below 100, or you will start permanently morphing. (sorta, you can reduce permanent with breast reduce packs) Milker armor can be made at chem station. Needs empty milk bottles, fuses and must have hormone irritation. This milker armor will malfunction if you wear other clothes, and it will stimulate you while it lowers your milk content. Fun stuff!

 

Anyways, I hope this helps. I always have hormone irritations on and the chance to get it at 90%. Meaning if I lose in battle, I usually get, well, to see a whole new me. :)

Link to comment
58 minutes ago, bwagdog669680 said:

Milk content is basically just a meter to tell you what percent you are at for morphs. NudeBasics uses the 3 categories: Radiation, Others, and String Implant.  Radiation morphs from Rads. Others from Hormone Irritation. String Implant from being at 100% Milk Content or 100% Radiation or wearing nipple piercings/clamps (I think). If the rads or nipple piercings are there for 24 consecutive hours (in game, sleeping/waiting counts if you wanted to test), then your (String implant) morphs will increase by the MCM setting amount. BTW string implant is the category in the FO4_NudeBasics.Ini file. In game I think they are called "Other".

 

Back to the milk, it is involved. 1st you have to turn on hormone irritations in the MCM. There is a chance for every sex encounter to trigger hormone irritation. As far as I know, any mod will trigger it, Violate and Sex Harassment do (My favorites). Even masturbation will trigger it. Then there are 7 levels of irritation and the fadeout. The fadeout is also set in the MCM, and this is how long milk content increases. Once the fadeout time is reached (w/o any sex), sleeping will reduce milk content at a rate of 1 point of milk content per 2 hours. After milk content drops low enough, the fadeout turns off and your irritation level is reset to 0. There will usually be a little leftover milk content. Math for irritation levels: Max Milk Content = 65 + (5 * Irritation level). Or level 1 = 70; 2 = 75; 3 = 80... 7 = 100. As I said before this number (milk content) is how big or small the morphs are as a percent; example: if "Boobs Yuge" is set to 100 in the .ini file, your character will morph to this number * milk content. I hope that makes sense. If you get to level 7 it is important to get your milk content down anywhere below 100, or you will start permanently morphing. (sorta, you can reduce permanent with breast reduce packs) Milker armor can be made at chem station. Needs empty milk bottles, fuses and must have hormone irritation. This milker armor will malfunction if you wear other clothes, and it will stimulate you while it lowers your milk content. Fun stuff!

 

Anyways, I hope this helps. I always have hormone irritations on and the chance to get it at 90%. Meaning if I lose in battle, I usually get, well, to see a whole new me. :)

 

So it's Breast Enlargement without the Radiation...

 

This makes it harder, as Radaway wont fix it. Staying at 100% Milk, will give Nora a daily permanent size increase, as well as stopping clothing being worn.

 

Sex keeps renewing the Breast Milk production, upping its levels from 1 to 7 ( Hormone Irritation )

 

Max Milk = 65 Units + Irritation Level Extra Milk    ( level 7 = +100 Milk )

 

 

 

Reducing Breast Size...

Milk filled = Fadeout Time reduces, as long as Nora doesn't have sex. Get to 0, to start having her Breasts reducing.

 

Permanent Breast Sizes = Breast Reduction Packs fix it.

 

Milker Armour = Milks Nora, keeping down the permanent effects. But making her horny as Hell... Plus she needs to be naked, and have empty Milk bottles in your inventory.

 

 

I'll have to give it try, I'm wondering if Nora gets Breast Milk from the Milker Armour. It would be handy for Wasteland Dairy, Baby feeding.

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