Jump to content

Recommended Posts

Devious Attributes 2019-5-7

View File

Devious Attributes 2.0 (pre-alpha)
This is a rewrite from scratch that moves as much functionality as possible to SKSE plugin.

Currently, only bare-bones stuff is implemented, I want to make sure that SKSE plugin is stable and does not cause issues (CTDs?) before I continue.

I play-tested it on my machine and it seems stable, but anything can happen with SKSE plugins, that far I understood very fast while writing the plugin ?

I would be very happy to hear feedback whether the plugin causes any script lag, issues or crashes.

The source code for the new version could be found here: https://github.com/mskynetll/Devious-Attributes/tree/skse

Any feedback on my code is appreciated, especially on C++ (I am a noob in C++)

 

Have you ever wondered what happens in the mind of our poor Dragonborn when melting faces with fire spells, or being ravaged by creatures after humiliating defeat?
A framework that is designed to bring more immersion and consequences to various in-game events, good or bad. I always liked the idea of consequences in RPG games... and in my opinion, some really bad stuff that can happen to the Dragonborn in a very devious place that is Skyrim, should have consequences.
So...
New character stats will be tracked:

 

Willpower - regenerating stat that will be used to calculate whether the character can refuse slave master command. Each time master's command is accepted, willpower value will be lowered. For example: Master : "kneel!" -> in order to refuse, you need to have enough willpower left. In time, this value will regenerate. Also, this value will be used to determine if the character can struggle with restraints - like armbinder, or try to escape (e.g. try to pickpocket the master). Each time the character struggles with restraints, willpower will be lowered as well.
Pride - Will increase by winning combat and doing stuff like stealing if you are a member of Thieves Guild, and will decrease by being defeated or by wearing openly a devious device/collar. Each time a slave character refuses master's request, will increase the pride as well. Each time a character will accept master's request, pride will be lowered. Having higher pride will regenerate willpower faster.
Self-Esteem - Will increase slowly with time, with a constant rate. Will decrease for each humiliating act character does. (Either through modding API or through wearing "degrading" devices such as pony boots.)
Submissiveness - Calculated value, that will be used to determine how obedient and submissive the character is. This is calculated from combination of Pride and Self-Esteem
Obedience - Signifies long-term conditioning to obey. Will decrease slowly with time, If it surpasses current Willpower value, the character Submissiveness will be considered as 100% and no longer will be able to struggle with bindings, or refuse commands/requests

 

The submissiveness calculation:
A value between 0.0 and 1.0 -> where 1.0 is 100% submissive. Calculated by the following formula :

 

 

1 - (((0.5 * Max(0.1,SelfEsteem)) + (0.5 * Max(Pride,Willpower))) / MaxStatValue)

 

Where MaxStatValue = 100.0

 


Then, the calculated submissiveness will be Max(Obedience/MaxStatValue , Submissiveness) - where Submissiveness is the value we calculated with the formula. The idea here that conditioning to obey can override natural tendencies, and then a PC slave can be considered as "Trained". Obedience value will decrease each day, so naturally, the conditioning needs to be maintained, in order to keep the slave "Trained"


Also, I have started managing code in GitHub, so you can look at the code here - https://github.com/mskynetll/Devious-Attributes
You are welcome to look at the code, do a PR or just leave comments. Eventually, I will write detailed wiki for users with mechanics descriptions and for modders - detailed API descriptions.

Requirements:
SkyUi, (Really, there's someone that doesn't use it?) For the MCM Configurations
SexLab, Again, anyone who doesn't use it?
SexLab Aroused Redux: http://www.loverslab...aroused-redux/ OR Sexlab Aroused

 

I'd love to hear any thoughts or feedback about this mod - as this is my first mod ever.
Also, the mod is somewhat undertested - stuff should work, but I hadn't make special effort to break stuff. So, if you encounter anything weird, I'd be happy to hear about it.

 

 


  • Submitter
  • Submitted
    01/26/2016
  • Category
  • Requires
    Base mod - Sexlab, Sexlab Aroused; Devious Consequences requires DDa, DDi, DDx, Zaz animation pack, Sexlab and Sexlab Aroused
  • Special Edition Compatible

 

Link to comment

Idea isn't bad. We were discussing a similar thing in Sex Slaves some time ago.

 

Altho i think it would be best to integrate it into DDi.

 

From my discussions with Fishburger - you could more stats

- exhibitionism - increased by agreeing to preform shameful acts in public. the more of it the more aroused character gets and the harder it would be to refuse such an order.

- similar working stat could be made for humiliating acts

Link to comment

I really love the idea behind this mod, if this works right, I'd love to see other mods tie themselves into this framework!  One of the failings of the DD related mods (my own opinion, but one I've had for a while)  is that there was nothing really tying them together.  For example, it doesn't matter how resistant you act during any Deviously Enslaved encounter, you could still be considered submissive by the Captured Dreams workshop. 

 

I would love to see the mods start to recognize just how (un)submissive your character is before an encounter even starts.  This could change the flow of events quite a bit if implemented well!  I look forward to seeing how this develops :)  After all, a girl who is feeling low self esteem and little pride would be a much easier target for all the evil guys out there!

Link to comment

Some Suggestion:

 

A framework is a good thing, but you should keep in mind 2 things:

1.Accessibility

2.A framework should be Idiot-proof :P

 

1. Soft or Hard dependancy: you can't expect that the modders trust on your system just because you created it. Most of the times the modders are worried about future changes, incompatibility, Error that could reverberate on their mods, etc.

 

So most of the times OR they wait until the mod is 'Enough stable" for their tastes, OR they want to use Soft Dependancy, 'just to be safe' (remove a soft dependancy is easier than an Hard one)

 

So, here a suggestion: Provide some Soft dependancy access / functions, the best way that I know is:

PapyrusUtil And ModEvent

 

Luckly for you your mod share some simple data, so tecnically you could do All the system in soft dependancy.

 

 

Stores your value on PapyrusUtil Int on the NPC/PC instead that in a Script.

 

So you could Set they with a simple

StorageUtil.SetIntValue(NPC, "Skynet_DeviousAttributes_Willpower", Num)

And Everyone could access it with:

StorageUtil.GetIntValue(NPC, "Skynet_DeviousAttributes_Willpower")

Then you do all the internal function that you want:

Example:

Bool IncreaseStat(Actor Npc, String StatName, Int ModValue)
      If Npc == None || ModValue == 0 || *Bool Function to Check If The StatName is correct*
              Return False
      EndIf

      Int Current = StorageUtil.GetIntValue(Npc, "Skynet_DeviousAttributes_"+StatName)
      ModValue = Current + ModValue
      
      If ModValue > *MaxValue*
             Modvalue = MaxValue
     Elseif ModValue < MinValue
            ModValue = MinValue
     EndIf

     StorageUtil.SetIntValue(NPC, "Skynet_DeviousAttributes_"+StatName, ModValue)
     Return True
Endfunction

and at the End, You make  ModEvents To access the various Functions, so any modder could simply use this, instead to access the script.

 

 

Eventually you could Also provide some Mirrors value Via Faction (Rank = Level)  on the various Npc, to create a shortcut for the usage in the CK as conditions.

 

At the end You'll have a system that anyone could interact with.

 

 

About the Second point:

Note that a Framework should be -Really- stable, because a wrong use (for example a bad script that set Incorrect values) could create some issues.

So you'll have to provide some Debug Commands, and some Solid functions.

 

Also A framework is a system, that use another system, and get used from one/many Systems, and so on.

So is fundamental to Optimize at MAX the functions.

 

 

Let me know if something isn't clear.

Obviously don't trust that The code provided is correct, it's a thing written in 30 seconds.

Link to comment

hey !  I really like the idea of this mod !!!  so thaks for giving it a try and i really hope you'll keep developing the idea... :)

 

i'm a great fan of all the DD / Slavery mods present in loverslab, but always annoyed me a bit that i had to "pretend" that what i did (or others did to me) had consequences... 

what i mean is that is kind of "funny" that a day you get dragged nude and bound across a city and the day after you are once again the proud thane of that same city...

 

so, if you want and have time to work on it, you might consider the fame that a PC has (such as is generated for example by the mod Devious Device - More Devious Quest) but also other effect of submissiveness on other game functions (e.g. higher buy prices and lower sell prices since you are not the kind of person that fight for a better bargain...) or even on other mods (e.g. easier enslavement if you are highly submissive) this would need other modder agreement and collaboration, of course... :P

 

more suggestions for self-esteem and willpower modifications

* Player victim in SL animation -> pride, self-esteem and willpower hit  (ok, maybe greater hit for multiple consecutive abuse)

* Player pubblic umiliation -> pride, self-esteem and willpower hit (such as in Prison Overhaul public punishments)

* Being forced to go around naked or visibly restrained -> pride, self-esteem and willpower hit (that mods like "s.l.u.t.s." "deviously cursed loot" and others force you to do)

* Player escaping prison or slavery -> increase all statistics

* Player killing her master/mistress and escaping -> boost to all statisitcs

* Player killing her master/mistress and getting re-enslaved -> greatly decrease all statistics

 

anyway, whatever you'll do, thanks a lot for working on this project...  i'm realy eager to see future upgrades and developments ;)

Link to comment

Idea isn't bad. We were discussing a similar thing in Sex Slaves some time ago.

 

Altho i think it would be best to integrate it into DDi.

 

From my discussions with Fishburger - you could more stats

- exhibitionism - increased by agreeing to preform shameful acts in public. the more of it the more aroused character gets and the harder it would be to refuse such an order.

- similar working stat could be made for humiliating acts

 

Interesting. I will think about how better do this. Currently what I have in mind is that mods that use Devious Attributes would send information about player decisions, something like "player (meekly/strongly) refused order with fetish ZZZ" , where ZZZ can be exhibitionism, humiliation, maybe some other fetish.

Then mods will be able to query for attribute values, where values are aggregated from the sent information (and vanilla events too )

 

 

Some Suggestion:

 

A framework is a good thing, but you should keep in mind 2 things:

1.Accessibility

2.A framework should be Idiot-proof :P

 

1. Soft or Hard dependancy: you can't expect that the modders trust on your system just because you created it. Most of the times the modders are worried about future changes, incompatibility, Error that could reverberate on their mods, etc.

 

So most of the times OR they wait until the mod is 'Enough stable" for their tastes, OR they want to use Soft Dependancy, 'just to be safe' (remove a soft dependancy is easier than an Hard one)

 

So, here a suggestion: Provide some Soft dependancy access / functions, the best way that I know is:

PapyrusUtil And ModEvent

 

Luckly for you your mod share some simple data, so tecnically you could do All the system in soft dependancy.

 

 

Stores your value on PapyrusUtil Int on the NPC/PC instead that in a Script.

 

So you could Set they with a simple

StorageUtil.SetIntValue(NPC, "Skynet_DeviousAttributes_Willpower", Num)
And Everyone could access it with:
StorageUtil.GetIntValue(NPC, "Skynet_DeviousAttributes_Willpower")
Then you do all the internal function that you want:

Example:

Bool IncreaseStat(Actor Npc, String StatName, Int ModValue)
	  If Npc == None || ModValue == 0 || *Bool Function to Check If The StatName is correct*
			  Return False
	  EndIf

	  Int Current = StorageUtil.GetIntValue(Npc, "Skynet_DeviousAttributes_"+StatName)
	  ModValue = Current + ModValue
	  
	  If ModValue > *MaxValue*
			 Modvalue = MaxValue
	 Elseif ModValue < MinValue
		    ModValue = MinValue
	 EndIf

	 StorageUtil.SetIntValue(NPC, "Skynet_DeviousAttributes_"+StatName, ModValue)
	 Return True
Endfunction
and at the End, You make ModEvents To access the various Functions, so any modder could simply use this, instead to access the script.

 

 

Eventually you could Also provide some Mirrors value Via Faction (Rank = Level) on the various Npc, to create a shortcut for the usage in the CK as conditions.

 

At the end You'll have a system that anyone could interact with.

 

 

About the Second point:

Note that a Framework should be -Really- stable, because a wrong use (for example a bad script that set Incorrect values) could create some issues.

So you'll have to provide some Debug Commands, and some Solid functions.

 

Also A framework is a system, that use another system, and get used from one/many Systems, and so on.

So is fundamental to Optimize at MAX the functions.

 

 

Let me know if something isn't clear.

Obviously don't trust that The code provided is correct, it's a thing written in 30 seconds.

Big thanks for your feedback! I will look into how I make changes so other modders would be able to do soft dependencies easily , plus some debugging functionality as well. I really appreciate you taking a look at my code. :)

Link to comment

hey ! I really like the idea of this mod !!! so thaks for giving it a try and i really hope you'll keep developing the idea... :)

 

i'm a great fan of all the DD / Slavery mods present in loverslab, but always annoyed me a bit that i had to "pretend" that what i did (or others did to me) had consequences...

what i mean is that is kind of "funny" that a day you get dragged nude and bound across a city and the day after you are once again the proud thane of that same city...

 

so, if you want and have time to work on it, you might consider the fame that a PC has (such as is generated for example by the mod Devious Device - More Devious Quest) but also other effect of submissiveness on other game functions (e.g. higher buy prices and lower sell prices since you are not the kind of person that fight for a better bargain...) or even on other mods (e.g. easier enslavement if you are highly submissive) this would need other modder agreement and collaboration, of course... :P

 

more suggestions for self-esteem and willpower modifications

* Player victim in SL animation -> pride, self-esteem and willpower hit (ok, maybe greater hit for multiple consecutive abuse)

* Player pubblic umiliation -> pride, self-esteem and willpower hit (such as in Prison Overhaul public punishments)

* Being forced to go around naked or visibly restrained -> pride, self-esteem and willpower hit (that mods like "s.l.u.t.s." "deviously cursed loot" and others force you to do)

* Player escaping prison or slavery -> increase all statistics

* Player killing her master/mistress and escaping -> boost to all statisitcs

* Player killing her master/mistress and getting re-enslaved -> greatly decrease all statistics

 

anyway, whatever you'll do, thanks a lot for working on this project... i'm realy eager to see future upgrades and developments ;)

Thanks! Unless something unexpected happens, I definitely plan to follow it through.

Also, your suggestions are pretty close to what I have in mind. Player victim in SL animation I already implemented, and the other suggestions - something like that I want to have as part of integration with Sanguine Debauchery and Sexlab Sexual Fame

Link to comment

More cheer! This is something that would add so much to the roleplaying element of getting enslaved. All your ideas regarding the change in player stats sound perfectly reasonable to me so far. There are so many possibilities in how you can link other mods to this. SD and the fame framework are definitely a good place to start though. WIsh you the best of luck.

Link to comment

Very excited for this mod!

 

 

Some suggestions for implementation:

 

1. Include a hotkey (or at least an MCM option) for the player to change these stats, You will never get every relevant mod to integrate properly, and it will probably take a while to integrate lots of them anyway. When the bandits in Death Alternative bind and punch the PC, this is pretty damaging to pride. I doubt you'll have time to catch all circumstances from all mods. If you give us a "-1 to pride" and similar buttons it would be a kind of "soft-integration" with everything. It would also make the mod usable immediately while you figure out how to integrate with SD+ and the others. If you're worried about players cheating you could always restrict the ad-hoc stuff to penalties. Plus a lot of people will want to start out as submissive anyway.

 

2. I have found things are more enjoyable when certain actions don't damage stats beyond a certain point. Being forced to give a bandit a boobjob, while I'm sure unpleasant, is probably not something that should ever make the difference between the PC being resistant and the PC being permanently submissive and unable to resist commands. Or maybe it should, it's your mod and I'm gonna play it no matter what :P

 

3. It can be boring to wait and wait and wait while stats recover or to farm pride by casting spells a lot. Also, to the extent that it's possible, players will probably just "heal up" fully before going to dangerous places. Maybe in order for stats to recover past a certain point, some kind of permanent punishment is needed. Return the PC to normal submissiveness levels, but now they have some embarrassing fetish or phobia or trauma as a result of their previous experiences.

 

Anyway those are just my ideas. It would also be good if a separate stat tracked "sexual need", like Versh's old framework used to, but maybe have it increase at certain DD events rather than with time. It's good if the PC can be made to beg for sex but can then return to her normal (non-submissive) self once she gets it (that can carry a humiliation penalty too).

Link to comment

I love the idea, but it will need settings to balance how fast the attributes change.  I think that is due to the leveling system but whether it is Skooma or helplessness or bounty hunters or simply putting on armor they all seem to have to be adjusted.

 

I can't wait to add this to my players personality so to speak.  Along with freezing to death, having to eat, and going crazy for Skooma. Specifically for it to work with Sanguine's Debauchery.  Thanks for making the mod.

 

 

Link to comment

Looks absolutely fascinating.

I am trying to wrap my head around the numbers and functions, it seems a little complex or at the very least there should be a guideline of best practice on how to check and alter each variables.

If I am understanding it correctly at the moment there are essentially 3 base stats: Willpower, Pride, and Self-esteem with pride and willpower having some minor interplay, and then the calculated value of submissiveness from the three, and finally the obedience check against willpower.

 

It looks good, but if we start thinking of extreme case scenario where some stats are high while others are low, say what does it mean when Willpower and Pride is high but self-esteem is low? What does it mean when Self-esteem is high but yet somehow willpower and pride are middling? Are they all technically in service of submissiveness? But It seems like Willpower is placed at high importance with the obedience check.

 

It is good to provide enough tools and data for modders to play around with, but I think some sort of guidelines on how to manipulate these stats would be useful to not avoid awkward scenarios like some of the cases above. Or should it be simpler if the key aspects are the calculated submissiveness value and the true/false willpower check.

 

I wish I possess the knowledge to plot these out all against time, but it has been decade since I last touch differentials :P  

 

Also it would be nice if it could expand to followers.

Link to comment

Hey m.skynet,

 

The pride increase on enemy kill seems bugged. I just got halfway through a dungeon and noticed that it was at ~ 11000, which seems...high :P

 

Is it possible you're adding 101% of the current value instead of 1% of the current value?

 

EDIT:

 

This is caused by your bonus for dark brotherhood members.

If(PlayerRef.IsInFaction(DarkBrotherhoodFaction))
		killPrideMultiplier *= 2
	EndIf

This code doubles the multiplicative factor. You probably want to subtract 1 from this, so that a 1% increase becomes a 2% increase, instead of a 1% increase becoming a 102% increase :P

 

 

Link to comment

I love the idea, but it will need settings to balance how fast the attributes change.  I think that is due to the leveling system but whether it is Skooma or helplessness or bounty hunters or simply putting on armor they all seem to have to be adjusted.

 

I can't wait to add this to my players personality so to speak.  Along with freezing to death, having to eat, and going crazy for Skooma. Specifically for it to work with Sanguine's Debauchery.  Thanks for making the mod.

 

Yes, speed of changes will need to be tweaked. Right now I am concentrating on gettings things to work properly, balancing time will come later.

Hey m.skynet,

 

The pride increase on enemy kill seems bugged. I just got halfway through a dungeon and noticed that it was at ~ 11000, which seems...high :P

 

Is it possible you're adding 101% of the current value instead of 1% of the current value?

 

EDIT:

 

This is caused by your bonus for dark brotherhood members.

If(PlayerRef.IsInFaction(DarkBrotherhoodFaction))
		killPrideMultiplier *= 2
	EndIf

This code doubles the multiplicative factor. You probably want to subtract 1 from this, so that a 1% increase becomes a 2% increase, instead of a 1% increase becoming a 102% increase :P

 

Thanks, I will look at it. (need to be more careful with those multipliers :D )

 

Edit : you were perfectly right, fixed it. *Facepalm*

 

Link to comment

Looks absolutely fascinating.

I am trying to wrap my head around the numbers and functions, it seems a little complex or at the very least there should be a guideline of best practice on how to check and alter each variables.

If I am understanding it correctly at the moment there are essentially 3 base stats: Willpower, Pride, and Self-esteem with pride and willpower having some minor interplay, and then the calculated value of submissiveness from the three, and finally the obedience check against willpower.

 

It looks good, but if we start thinking of extreme case scenario where some stats are high while others are low, say what does it mean when Willpower and Pride is high but self-esteem is low? What does it mean when Self-esteem is high but yet somehow willpower and pride are middling? Are they all technically in service of submissiveness? But It seems like Willpower is placed at high importance with the obedience check.

 

It is good to provide enough tools and data for modders to play around with, but I think some sort of guidelines on how to manipulate these stats would be useful to not avoid awkward scenarios like some of the cases above. Or should it be simpler if the key aspects are the calculated submissiveness value and the true/false willpower check.

 

I wish I possess the knowledge to plot these out all against time, but it has been decade since I last touch differentials :P  

 

Also it would be nice if it could expand to followers.

 

When I have bit more triggers, I will add a detailed guide on what changes should be expected in what cases.

Regarding submissiveness:

The idea behind is that is calculated from pride and self-esteem equally, but if willpower if higher than pride, then it is taken into account instead of pride. (theoretically, you can be less submissive either because you are too proud or because you are strong-headed)

 

So, in the extreme case pride=100% and self-esteem is 0% -> you will get about 50% submissiveness.

 

Regarding willpower checks. The idea is that for each saying "no" to a master there will be a price in willpower units - each saying "no" will substract from willpower until nothing is left. Thus potentially forcing a player to do all sorts of trade-off decisions like "should I agree to this little bit humiliating request, so I would have enough willpower to resist VERY humiliating requests in the near future?"

 

Regarding obedience : the idea is a stat that can be used by other mod developers to test against. It will decrease very slowly with time, and increase each time a player willingly agrees to a request or an order.

 

Other than that, there is no direct interplay between stats - pride, self-esteem and sometimes willpower are used to calculate submissiveness, and thats about it.

 

Link to comment

 

Looks absolutely fascinating.

I am trying to wrap my head around the numbers and functions, it seems a little complex or at the very least there should be a guideline of best practice on how to check and alter each variables.

If I am understanding it correctly at the moment there are essentially 3 base stats: Willpower, Pride, and Self-esteem with pride and willpower having some minor interplay, and then the calculated value of submissiveness from the three, and finally the obedience check against willpower.

 

It looks good, but if we start thinking of extreme case scenario where some stats are high while others are low, say what does it mean when Willpower and Pride is high but self-esteem is low? What does it mean when Self-esteem is high but yet somehow willpower and pride are middling? Are they all technically in service of submissiveness? But It seems like Willpower is placed at high importance with the obedience check.

 

It is good to provide enough tools and data for modders to play around with, but I think some sort of guidelines on how to manipulate these stats would be useful to not avoid awkward scenarios like some of the cases above. Or should it be simpler if the key aspects are the calculated submissiveness value and the true/false willpower check.

 

I wish I possess the knowledge to plot these out all against time, but it has been decade since I last touch differentials :P  

 

Also it would be nice if it could expand to followers.

 

When I have bit more triggers, I will add a detailed guide on what changes should be expected in what cases.

Regarding submissiveness:

The idea behind is that is calculated from pride and self-esteem equally, but if willpower if higher than pride, then it is taken into account instead of pride. (theoretically, you can be less submissive either because you are too proud or because you are strong-headed)

 

So, in the extreme case pride=100% and self-esteem is 0% -> you will get about 50% submissiveness.

 

Regarding willpower checks. The idea is that for each saying "no" to a master there will be a price in willpower units - each saying "no" will substract from willpower until nothing is left. Thus potentially forcing a player to do all sorts of trade-off decisions like "should I agree to this little bit humiliating request, so I would have enough willpower to resist VERY humiliating requests in the near future?"

 

Regarding obedience : the idea is a stat that can be used by other mod developers to test against. It will decrease very slowly with time, and increase each time a player willingly agrees to a request or an order.

 

Other than that, there is no direct interplay between stats - pride, self-esteem and sometimes willpower are used to calculate submissiveness, and thats about it.

 

 

 

So:

  • Refuse command = gain pride, lose will
  • Degrading action = lose self esteem/pride

Is that right? Is it the command itself that costs will power or the punishment? I want to get it straight because now I want to make a mod that uses this :P

 

Also, is the submissiveness "progressive"? I guess 100% you do whatever someone asks you to, but is there any effect at 25% or 50%?

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