Jump to content

About This File

AAF Vulnerability

Welcome to AAF Vulnerability. This is my first attempt with modding Fallout 4 so proceed the expectation that I'm still learning and things may not work smoothly at first. Additionally, I recommend starting a new game to avoid any potential issues.

 

Description

AAF Vulnerability (AAFV) is a framework mod designed to enable situational sexual experiences by tracking pre-defined variables that can contribute to a character's overall Vulnerability or Influence. Other mods can utilize these tracked variables to provide realistic responses to characters. IE: The player is running around nude in Diamond City. A mod could be created to check the player's "Lewdness" stat and launch an actor approach when the player is nude.

 

Tracked Variables

Vulnerability - How vulnerable an actor is (Higher means more likely to be convinced or forced by another actor into doing something)

Influence - How influential an actor is (Higher means more likely to convince or force another actor to do something)

  • Core - Define base level of Vulnerability and Influence
    • Damage - How wounded the actor is
    • Lewdness - How many armor/clothing slots are filled (Slots are defined in the MCM for Player and NPC. Preset based on my defaults using VTAW sorry. not sorry.)
  • Buffs - Variables that increase Influence and decrease Vulnerability
    • Power Armor - Is the actor in power armor and if so, how well armored is the frame
    • Special Stats - How many points does the actor have in Strength, Endurance, Luck, and Charisma
    • Perks - Does the actor have the "Intimidation" perk (will add other perks later on)
    • Musculature - How visibly strong is the character (Based on the triangle selection in the character creation menu)
  • Debuffs - Variables that decrease Influence and increase Vulnerability
    • Sexual Infamy - How infamous is the actor for their sexual activity (Based on public scenes only)
    • Devices - How many and what type of devious devices is the actor wearing
    • Overlays - How many layers of cum does the actor have (Based on overlays)
    • Inflation - How inflated is the actor with cum
    • Radiation - How mutated is the actor by radiation
    • Environment - How dangerous is the environment
    • Intoxication - How tipsy/drunk/wasted or hungover is the actor

 

Gameplay Systems - Optional and can be turned on in the MCM (Note that some variables may not be tracked without a system to drive it)

  • Status Effects - Displays variables in the Pipboy's status section (You can turn off or on Main/Core/Buffs/Debuffs in the MCM)
  • Reflection - Displays notifications at the top left of the screen to provide player commentary on different situations and changes in variable status
  • Death Prevention - Allows for integration with combat stripping to make the player essential until fully stripped. Or just essential all the time (cause I'm a sore loser)
  • Stripping - Enables combat stripping of armor and clothing (Can be limited to Armor only if that's your style). Armor damaged in combat cannot be re-equipped until a certain amount of time has passed outside of combat (Customizable in the MCM. Note that AAFV uses the biped slots Index as defined here. IE: Slot 33 = Index 3)
  • Morphing - Morphs the actor based on Inflation and Radiation variables. (Only works if the variable is on)

 

Alternative Systems - Optional systems that can be used instead of the above included options (Not a lot here yet but I will do my best to add all mods that utilizes this framework here)

  • Combat Strip Lite - Can be used instead of the included Stripping system. No patching should be required for functionality but you may want to double check the slots under Lewdness to ensure it works with the slots being stripped by Combat Strip Lite.
  • Scripted Cum Overlays - Currently required if you want to have the CumLayers detected. Thanks to Nebuchadnezzer2 for this great mod!

 

 

Morph and Stripping Guide:

Spoiler

Morph System - Inflation and Radiation Morphs Slider Names

  • Radiation
    • CBBE
      • Breasts
      • BreastsNewSH
    • Fusion Girl (Default
      • Boobs Yuge
      • Butt Size
    • TWB (Set MCM Morph Targets to negative values)
      • Breasts
      • BreastsNewSH
  • Inflation
    • CBBE
      •  
    • Fusion Girl
      • Belly Pregnant
    • TWB (Set MCM Morph Targets to negative values)
      •  

 

Stripping System - Clothing & Armor Slot Indexes

  • Clothing
    • 3 - Feet (If using vanilla clothing you should only need this)
    • 4/5 - L/R Hand (Gloves normally)
    • 6 - Torso Underarmor
    • 7/8 - L/R Arm Underarmor
    • 9/10 - L/R Leg Underarmor
  • Armor
    • 11 - Torso Armor
    • 12/13 - L/R Arm Armor
    • 14/15 - L/R Leg Armor

 

For Modders:

Spoiler

AAFV:Utility - Accessing AAFV's API's can be done one of two ways:

 

  • AAFV Not Required - If you intend to use AAFV's variables/API's but don't want it to be a requirement for your mod, you can add the following code to access the API's in your papyrus scripts:
AAFV:Utility V_Utility

Function LoadAAFV()
	If Game.IsPluginInstalled("AAF Vulnerability.esp")
		V_Utility = Game.GetFormFromFile(0x00000800, "AAF Vulnerability.esp") as AAFV:Utility
	EndIf
EndFunction

 

 

  • AAFV Required - If you intend to make a mod that requires AAFV and will not function without it, you can add the following bit of code to access all AAFV's API functions without having to call "V_Utility" prior to each function call:
Import AAFV:Utility

 

 

ActorLogUpdate - Registering for actor log updates

AAFV sends out a custom event any time an actor log is created/updated (This is the log that contains the variable data for each actor). You can register for this event with the following code:

AAFV:Main AAFV

Function RegisterForActorLogUpdate()
	RegisterForCustomEvent(AAFV, "ActorLogUpdate")
EndFunction

Event AAFV:Main.ActorLogUpdate(AAFV:Main akSender, Var[] akArgs)
	; The following variables do not all have to be present or used by your script but showcase the purpose of each value in akArgs
	Actor UpdatedActor = akArgs[0] as Actor
	; Old Log may or may not be filled if the event is running for the first time on an actor
	If akArgs[1]
      Var[] OldLog = Utility.VarToVarArray(akArgs[1]) as Var[]
      Var[] OldValues = Utility.VarToVarArray(OldLog[0]) as Var[]
      Var[] OldStatus = Utility.VarToVarArray(OldLog[1]) as Var[]
	EndIf
	Var[] NewLog = Utility.VarToVarArray(akArgs[2]) as Var[]
	Var[] NewValues = Utility.VarToVarArray(NewLog[0]) as Var[]
	Var[] NewStatus = Utility.VarToVarArray(NewLog[1]) as Var[]
	; Individual values/status's can be pulled using the "V_GetIndex()" function and passing the name of the desired variable to it like below
	Float Vulnerability = NewValues[V_GetIndex("Vulnerability")] as Float
	Int VulnerabilityStatus = NewStatus[V_GetIndex("Vulnerability")] as Int
EndEvent

 

 

Once you have access to the API's you can use them to drive your mod or you can use them to drive the dependent variables in AAFV such as Infamy and Inflation. Feel free to dive into my code and systems to understand how things work I've provided some basic documentation on the AAFV:Utility script for the core API functions and you can reference the below guide to see how things are structured:

 

762023497_AAFVulnerabilityFlowChart.png.07e1c04848da74a68457444a16da476d.png

 

 

If you intend to use AAFV's variables to drive approaches and other similar projects I recommend using the variable's Status instead of it's direct value. This will ensure that the play style will dynamically change based on user preferences.

 

If you find there's any functions that could be useful but aren't currently present, please let me know and I'll do my best to add functionality and ensure this framework is as accessible as possible.

 

Thanks and Happy Modding!

 

Requirements

*Required - All Basic Requirements for AAF (Follow this guide: AAF Fucking Manual)

Optional - Devious Devices

Optional - Real Handcuffs

Optional - Plugs of the Commonwealth

Optional - Cum Overlays - Scripted Edition by Nebuchadnezzer2 (Required for Cum Layer system to have any effect)

Optional - Combat Strip Lite (Can be used instead of built-in stripping system if preferred)

 

Installation

  1. Follow the guide linked in requirements
  2. Install AAF Vulnerability after AAF Animation Packs but before UAP-Ultimate AAF Patch
  3. Sort Plugins using LOOT or preferred method (AAF_Vulnerability should be towards the bottom)

 

As stated above, this is my first venture into modding Fallout 4 so I imagine there are things I can do better (Code and implementation). Let me know what you think!

 

Thanks!

Edited by ahab5920
Added details on AAFV ActorLogUpdate event to Modding Guide


What's New in Version 0.4.3

Released

  • 0.4.3
    • Additions
      • Added Randomization option to Stripping System (Determines if slots are stripped in order of list or by random)
    • Changes
      • Changed minimum morph targets for Inflation and Radiation to -3.0 to expand usability
    • Fixes
      • Removed "Made it Here!" debug notification that appeared when Death Prevention was on and mode was set to "Stripped"
  • 0.4.2
    • Changes
      • Fixed an unfilled property for Infamy system
  • 0.4.1
    • Additions
      • Added basic public scene detection (on by default)
      • Added basic inflation detection (on by default)
      • Added basic Cum Layer detection (on by default)
      • Added On/Off settings for buffs/debuffs for customizable user experience (Everything is on by default)
      • Added NPC lewdness settings so that Clothing and Armor slots can be defined separately as desired
    • Changes
      • Major rewrite of Sub-Script handling (Should work with existing games running AAFV version 0.3 on)
      • All core/buff/debuff variables are now independent and require no additional mods for them to work properly (Additional mods may be needed for additional gameplay features still)
      • Streamlined API and system functions to require less script-intensive work during runtime (Ego, please let me know if its any better!)
      • Implemented Soft Maximum values for some Variables for identifying Status
      • Refined AAFV Reflection to keep up to date with current statuses
    • Removals
      • Removed Exhibition System and forced integration with AAF Spectators (May add back in as a patch if needed)
      • Removed Overlay System (Scripted Cum Overlays are automatically detected by Cum Layers variable if they are applied)

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