DayTri Posted July 21, 2021 Share Posted July 21, 2021 Mind Break Framework View File This is an alpha version of a framework for modders and players to simulate or roleplay player character corruption, loss of willpower, slave training, etc. It does not do anything by itself except track some numbers. Players need to interpret these numbers to guide their roleplay or modders need to It is very similar to an earlier mod I posted. I ended up removing features from that mod and completely rewriting everything in order to make the framework function better, so I decided to leave the other mod up separately for people who prefer that one. How it works Major Attributes - Tracked and defined by the framework The PC has 6 major attributes: Pleasure and Pain (if the PC is physically feeling good or bad), Satisfaction and Despair (if the PC is mentally feeling good or bad), Pride and Shame (if the PC is morally feeling good or bad). These can be increased when the PC experiences things they find pleasurable or painful, enjoyable or not, etc. Minor Attributes - Tracked by the framework, defined by mod authors Other mods or players via the MCM menu can create their own "minor attributes", and define how experiencing events with those minor attributes affects the major attributes. Mods send events tagged with these minor attributes and an intensity value. The framework tracks the sum of all the intensities received in each minor attribute that day. Each minor attribute has a sensitivity and a threshold for each major attribute. Pleasure, Satisfaction, and Pride only increase if the total amount experienced so far is below the threshold (there is a limit on how enjoyable things are), while Pain, Despair, and Shame only increase if the total experience so far is above the threshold (so the player has some tolerance before a certain kind of event starts bothering her). Training - How players respond to events changes overtime, in a way that mod authors can customize When the player sleeps, the accumulated value for all minor attributes are reset, and depending on the values of the major attributes, the minor attributes can update their sensitivities and thresholds. The rules by which these are updated are in an extendable papyrus script, so mod authors can determine their own rules for how these should update. There is also a default implementation in case mod authors don't want to think too much about it. So for example, a mod like Submissive Lola could register a "Disappoint Master" attribute. When the slave disobeys an order and the shock collar triggers, an event registering pain can be sent to the framework. The mod author could decide that, if enough Pain and "Disappoint Master" points accumulated through the day, the "Despair" sensitivity for "Disappoint Master" should increase. In this way, disappointing the master NPC could start causing mental pain even if there is no physical punishment, and in this way the mod can simulate "training". Or they could be much more general. For example devious followers could implement a "Humiliation" attribute, and decide that if enough pleasure and humiliation points accumulate at the end of the day, the player will start enjoying humiliation, and so the satisfaction sensitivity and threshold should increase. Default Training behavior- What is built in The framework tracks "vaginal sex", "anal sex", and "blowjob" out of the box. It will recognize when matching sexlab events occur. Threshold and sensitivities can be changed in the MCM. Going over the pain threshold for these events will gradually increase both the pain and pleasure thresholds. (So at first anal sex might mostly cause the player pain, but over time the threshold increases and the player can handle more and more). Experiencing a lot of pleasure can cause satisfaction sensitivity to increase for these events - so if the PC experiences too much pleasure and anal sex in the same day, they will start to enjoy anal sex, even if they dislike it initially. I plan to add more stuff that's tracked by default. Players can define their own attributes Maybe you are playing a mod which doesn't support this framework, which is all of them currently, but for example the Devious Cidhna pirate quest. In the MCM, you can define your own "pirate slave" attribute. There is a toggle to make your attribute trigger on every SL scene, which you can turn on while you are on the pirate ship. You can define in the MCM if the PC dislikes it (despair) and finds it morally wrong (shame). Stay there too long and your PC might start to enjoy being the pirate's slave (satisfaction). It's up to you to decide how to roleplay the scenario if that happens. Willpower checks for dialogue conditions The mod also implements a willpower mechanic. Mod authors can tell the framework what will happen to a player if a certain choice is made (or what the player is being offered/threatened with). The framework checks how much pleasure/pain/satisfaction/...etc could result, and checks whether the player's willpower exceeds that amount. The result of that check is stored in a conditional variable on a conditional quest script, meaning mods can use the result as a dialogue condition. For example, Submissive Lola could tell the framework "if the player refuses this order, they will get 100 disappoint master points". If the amount of despair generated by that would exceed the PC's willpower, the mod author could remove the PC's ability to refuse some command. Info for mod authors: Basic stuff: Make a mbtfw_scr property to the mbtfw_main quest. This gives you: 1. Access to all major attributes as float properties on the quest 2. receive_pleasure, receive_pain, ...etc functions to directly increase major attribute values. 3. receive_event: Use this function to tell the framework something happened, for example receive_event("Humiliation", 10) if you have a "humiliation" attribute and something humiliating happened to the PC. 4. register: Use this function to register a new attribute. For example, register("Angrim's Apprentice"). This will return a mbtfw_registryAliasScr object, on which you can directly set different sensitivities and thresholds. Dialogue conditions: Use the mbtfw_quest_interface quest and associated script. In a papyrus script that runs at the start of the info just before the dialogue branch you want to control, call the clear_query method, followed by the "push_event_by_name" method to describe what the player is being promised or threatened with. The "failure" conditional variable on this quest then can be used to control your dialogue flow. Or if you would rather not use a binary "willpower saving throw" type result, this quest also has conditional variables available for all major attributes, although they may not be updated unless you call the update_values() function. Advanced Stuff: The minor attributes are tracked in an array which is stored as a property on mbtfw_registry. If you extend mbtfw_registryAliasScr, you can define your own behavior for your own attribute. As long as you insert your custom object into the list on mbtfw_registry, the framework will call your objects "train" method. Right now this can only be done by manually inserting them in this array, I will add a better way to do this in the future. For dependency free usage: This mod listens for mod event "mbtfw_simple_event" which you can send with SendModEvent. strArg should be the name of your event, numArg should be the intensity with which your event is received. The framework will track your attribute but currently relies on the player to set up the sensitivities and thresholds in the MCM, so the dependency free implementation needs to be improved a lot. Submitter DayTri Submitted 07/21/2021 Category Framework & Resources Requires Sexlab Special Edition Compatible 4 Link to comment
DayTri Posted July 21, 2021 Author Share Posted July 21, 2021 Important note: You must save and load the game at least once after installation. 2 Link to comment
Lilzt3hcat Posted July 21, 2021 Share Posted July 21, 2021 (edited) Glad to see this has returned and in a more efficient form. Edited July 22, 2021 by Lilzt3hcat Link to comment
DayTri Posted July 21, 2021 Author Share Posted July 21, 2021 Yeah before I was trying to build everything into the framework itself, and kept needing to rewrite things because while testing I would find some kind of scenario I wanted to recreate that I couldn't. I think this idea of letting authors register their own "attributes" is the key to keeping it simple and usable. 2 Link to comment
Glazed_Golden Posted July 21, 2021 Share Posted July 21, 2021 Is combatible with SSE? Link to comment
DayTri Posted July 22, 2021 Author Share Posted July 22, 2021 6 hours ago, Glazed_Golden said: Is combatible with SSE? Going to guess it's not, because I did soft dependencies to everything in order to reduce my CK start up time, so I am using Game.GetFromFile in quite a few places, I suspect the SSE form numbers are different for sexlab and DD SE versions. Feel free to try though. Also if anyone wants to convert it or patch it or do anything with it, they can, permissions totally open. Link to comment
Lilzt3hcat Posted August 6, 2021 Share Posted August 6, 2021 On 7/21/2021 at 10:41 AM, DayTri said: Yeah before I was trying to build everything into the framework itself, and kept needing to rewrite things because while testing I would find some kind of scenario I wanted to recreate that I couldn't. I think this idea of letting authors register their own "attributes" is the key to keeping it simple and usable. Would there still be a possibility for my idea from before of the mod using a folder for unique 'moans' when mindbroken (if the user puts their own stuff in there ofc, otherwise it's ignored)? Link to comment
DayTri Posted August 8, 2021 Author Share Posted August 8, 2021 On 8/6/2021 at 2:34 AM, Lilzt3hcat said: Would there still be a possibility for my idea from before of the mod using a folder for unique 'moans' when mindbroken (if the user puts their own stuff in there ofc, otherwise it's ignored)? I like the idea but need to figure out how it would work w/ SLSO custom voice packs. 1 Link to comment
Lilzt3hcat Posted August 8, 2021 Share Posted August 8, 2021 1 hour ago, DayTri said: I like the idea but need to figure out how it would work w/ SLSO custom voice packs. Ahh, I don't use that feature myself. Link to comment
DayTri Posted August 8, 2021 Author Share Posted August 8, 2021 12 hours ago, Lilzt3hcat said: Ahh, I don't use that feature myself. That one changes the in-scene voice based on enjoyment so it might already be close to what you're looking for, check it out 1 Link to comment
Mehmeme Posted December 28, 2021 Share Posted December 28, 2021 Are there any mods that use this yet? Link to comment
DayTri Posted December 29, 2021 Author Share Posted December 29, 2021 Nope, most mods are happy to build their own mechanic instead of centralizing stuff. Or just use devious followers willpower mechanic. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now