Jump to content

Recommended Posts

Posted
8 minutes ago, Vampir2005 said:

maybe you can make a Voicepack for Lauras Shop and Devius Pink. 

There's two of them already for Laura's shop that I know of, I'm using the one by @Mister X

I'll give Deviously Pink a look, though. ?

Posted
On 9/8/2023 at 12:47 PM, Taki17 said:

Devious Interests v0.921 has been released.

 

This has been an eventful summer, and while modding has taken a bit of a back seat for the duration of it, I was still doing some work on Devious Interests here and there. This update is once again mainly focused on improvements, polish, fixes and tweaks where needed. Thanks for everyone who downloaded the mod and shared their feedback! Here's what's new:

 

Changes:

  • Reworked the logic behind events and dialogues being blocked during the intro quest to allow it to work properly with other alternate start mods, like Alternate Perspective
  • Further tweaks to the restraint validator to eliminate additional invalid restraint combinations from being equipped
  • Config Menu: Increased the range of the Free Use cooldown timer slider
  • Config Menu: Increased the range of the bounty gold slider
  • Config Menu: All event chance globals are now properly updated when importing a configuration file
  • Restraint Comments: Refined follower detection for restraint-related dialogues
  • Restraint Help: NPCs are now able to unlock chastity harnesses too
  • Restraint Help: Added a worn heavy bondage check for playing the undress animation during blacksmith help
  • Restraint Help: Fixed issues regarding the hobble dress unlock dialogue for blacksmiths
  • Bondage Addiction: Restraints with manipulated locks will no longer fulfill bondage addiction when worn
  • Free Use: Chastity keys will only be removed if the player's chastity belt was successfully unlocked
  • Crime And Jail: Forwarded the fix for the base game issue of guards not starting the crime dialogue with a female player who has a bounty on her


Additions:

  • A toggle option to incorporate the Days Since Last Orgasm stat from SexLab Aroused into event chances.

Thank you for the update! This is gonna be great!

Posted
On 9/8/2023 at 6:47 PM, Taki17 said:

Devious Interests v0.921 has been released.

 

This has been an eventful summer, and while modding has taken a bit of a back seat for the duration of it, I was still doing some work on Devious Interests here and there. This update is once again mainly focused on improvements, polish, fixes and tweaks where needed. Thanks for everyone who downloaded the mod and shared their feedback! Here's what's new:

 

Changes:

  • Reworked the logic behind events and dialogues being blocked during the intro quest to allow it to work properly with other alternate start mods, like Alternate Perspective
  • Further tweaks to the restraint validator to eliminate additional invalid restraint combinations from being equipped
  • Config Menu: Increased the range of the Free Use cooldown timer slider
  • Config Menu: Increased the range of the bounty gold slider
  • Config Menu: All event chance globals are now properly updated when importing a configuration file
  • Restraint Comments: Refined follower detection for restraint-related dialogues
  • Restraint Help: NPCs are now able to unlock chastity harnesses too
  • Restraint Help: Added a worn heavy bondage check for playing the undress animation during blacksmith help
  • Restraint Help: Fixed issues regarding the hobble dress unlock dialogue for blacksmiths
  • Bondage Addiction: Restraints with manipulated locks will no longer fulfill bondage addiction when worn
  • Free Use: Chastity keys will only be removed if the player's chastity belt was successfully unlocked
  • Crime And Jail: Forwarded the fix for the base game issue of guards not starting the crime dialogue with a female player who has a bounty on her


Additions:

  • A toggle option to incorporate the Days Since Last Orgasm stat from SexLab Aroused into event chances.

 

Will try that later. With the last version, Iwas running into the problem that in many instances (challenge, sex offer etc.) your mod tried to equip a combination of Iron Prisoner Chains together with either a collar (conflict) or other hand/arm restraints. Maybe you were already aware of that or someone pointes it out to you. Anyway, I will test the new version later.

  • 2 weeks later...
Posted

@Taki17 In my continuing BML patch, I've created jail arrest, release, and escape quest nodes to avoid certain edge case issues. I'd like for the mod to remain compatible with Devious Interests. However, I've run into a problem where the Form ID for the Served Time quest differs between the two mods, so that in CK there are two "Served Time" quest managers. This consistently causes my patch's quest node to always activate while yours is skipped, perhaps because of plugin load order. But there's no such issue with your Arrest and Escape quest nodes.  Would you know if there's any resolution besides patching the script?

Posted (edited)
9 hours ago, Gyra said:

I'd like for the mod to remain compatible with Devious Interests. However, I've run into a problem where the Form ID for the Served Time quest differs between the two mods, so that in CK there are two "Served Time" quest managers. This consistently causes my patch's quest node to always activate while yours is skipped, perhaps because of plugin load order. But there's no such issue with your Arrest and Escape quest nodes.  Would you know if there's any resolution besides patching the script?

The issue is, that Arrest and Escape Jail are existing story manager event nodes, which are easy to add multiple new event outcomes under.

 

However, the base game does not have a story manager event node setup for the Served Time event. I had added one myself and put my event outcomes under it. You did the same for yours, and they are treated separately. Unless one mod is made the master of the other to use the same sm event node with the same form ID. Or if there is a common enough third mod already implements a Served Time event node - like USLEEP or DD, however they do not.

 

Edited by Taki17
Posted (edited)
4 hours ago, Taki17 said:

The issue is, that Arrest and Escape Jail are existing story manager event nodes, which are easy to add multiple new event outcomes under.

 

However, the base game does not have a story manager event node setup for the Served Time event. I had added one myself and put my event outcomes under it. You did the same for yours, and they are treated separately. Unless one mod is made the master of the other to use the same sm event node with the same form ID. Or if there is a common enough third mod already implements a Served Time event node - like USLEEP or DD, however they do not.

 

BML requires jail quest nodes to strip player on jail enter and disable equipment checks while player is a prisoner. The escape and release nodes, however, are relatively less complicated in my patch since all I need to do is confirm player isn't a prisoner with a bool isPrisoner. 

 

Giving Devious Interests more priority by placing it lower in my load order allowed your mod's Served Time node to work. On the other hand, leaving BML with more priority but disabling the Quest node (not the quest itself) with a conditional didn't work since the Story Manager Event remained existent and active, so your mod's Event couldn't take precedent over BML's even though the latter had no Quest nodes.

 

Another note is that I can use a less accurate condition to check if player is no longer a prisoner with a standard OnUpdate event:

if isPrisoner && currLoc.HasKeywordString("LocTypeJail") ; don't check equipment when player is a prisoner
	return
else
	isPrisoner = false
endIf

But I'm not sure how ideal it is compared to directly checking via OnStoryServedTime().

 

As such, I think I've got two possible paths:

1. Warn users to provide BML less priority while stacking Served Time node and OnUpdate checker

2. Delete my Served Time event and only use OnUpdate checker

 

That is, unless you know how to disable the Event with a conditional?

Edited by Gyra
Posted
On 9/20/2023 at 7:00 PM, Gyra said:

Giving Devious Interests more priority by placing it lower in my load order allowed your mod's Served Time node to work. On the other hand, leaving BML with more priority but disabling the Quest node (not the quest itself) with a conditional didn't work since the Story Manager Event remained existent and active, so your mod's Event couldn't take precedent over BML's even though the latter had no Quest nodes.

A follow-up to this: have you made sure to check the "Shares Event" tickbox on your event?

Posted
On 9/20/2023 at 7:00 PM, Gyra said:

As such, I think I've got two possible paths:

1. Warn users to provide BML less priority while stacking Served Time node and OnUpdate checker

2. Delete my Served Time event and only use OnUpdate checker

 

That is, unless you know how to disable the Event with a conditional?

After a bit of thinking, I think the most straightforward way of doing it is explicit compatibility/soft integration between your mod and mine. Since what you need from this event is a single boolean that sets the player's status as not imprisoned anymore.

 

The solution is not unlike what @krzp had done for their SLJR compatibility addon here:

The gist of the idea is that you take the contents of the Devious Interests OnStoryServedTime event and merge it into yours, them triggering gated behind conditional statements, based on if Devious Interests is installed or not. Example implementation:

Event OnStoryServedTime(Location akLocation, Form akCrimeGroup, int aiCrimeGold, int aiDaysJail)
	;check if Devious Interests is installed and its Crime and Jail feature is active
	If ( Game.GetModbyName("DeviousInterests.esp") != 255 ) && ( ( GetQuest( "din_Config" ) as din_Config ).CrimeAndJailEnabled )
	;alternatively you can pluck the global from the plugin for checking the active feature:
	;( ( Game.GetFormFromFile( 0x003E0DE7, "DeviousInterests.esp" ) as GlobalVariable ).GetValue() == 1 )
		din_Utility din_util = GetQuest( "din_Utility" )

		din_util.LogInfo( "Player has been released from jail" )
		din_util.din_mn.IsPlayerJailed = False
		;set your own variable too
		isPrisoner = False

		Utility.Wait( 1.0 )
		;select a random outcome on being released from jail
		Int RandomRoll = Utility.RandomInt( 0, 3 )
	
		;unequip the jail restraints on release
		If RandomRoll == 0
			Debug.MessageBox( "Upon your release, the jailers have unlocked the restraints you have been wearing for the past " + aiDaysJail + " day(s) in jail." )
			If din_util.libs.PlayerRef.GetCurrentLocation() != ReachHold
				din_util.libs.UnlockDeviceByKeyword( din_util.libs.PlayerRef, din_util.libs.zad_DeviousHeavyBondage, true )
			Else
				din_util.libs.UnlockDeviceByKeyword( din_util.libs.PlayerRef, din_util.libs.zad_DeviousAnkleShackles, true )
			EndIf
			din_util.libs.UnlockDeviceByKeyword( din_util.libs.PlayerRef, din_util.libs.zad_DeviousGag, true )
		;don't unequip the jail restraints on release
		ElseIf RandomRoll == 1
			Debug.MessageBox( "Upon your release, the jailers have decided not to unlock the restraints you have been wearing for the past " + aiDaysJail + " day(s) in jail." )
		;unequip the jail restraints on release, but add a random restraint
		ElseIf RandomRoll == 2
			Debug.MessageBox( "Upon your release, the jailers have unlocked the restraints you have been wearing for the past " + aiDaysJail + " day(s) in jail. However, they have locked a new restraint on you." )
			If din_util.libs.PlayerRef.GetCurrentLocation() != ReachHold
				din_util.libs.UnlockDeviceByKeyword( din_util.libs.PlayerRef, din_util.libs.zad_DeviousHeavyBondage, true )
			Else
				din_util.libs.UnlockDeviceByKeyword( din_util.libs.PlayerRef, din_util.libs.zad_DeviousAnkleShackles, true )
			EndIf
			din_util.libs.UnlockDeviceByKeyword( din_util.libs.PlayerRef, din_util.libs.zad_DeviousGag, true )
			Utility.Wait( 0.5 )
			din_util.din_mn.RestrainPlayer()
		;don't unequip the jail restraints on release and add a random restraint
		ElseIf RandomRoll == 3
			Debug.MessageBox( "Upon your release, the jailers have decided not to unlock the restraints you have been wearing for the past " + aiDaysJail + " day(s) in jail. They have also locked a new restraint on you." )
			din_util.din_mn.RestrainPlayer()
		EndIf
	;Devious Interests is not installed, base mod behavior only
	Else
		isPrisoner = False
	EndIf
		
	Self.Stop()
EndEvent

This behavior can be reused for any other prison mod that uses the same event node by adding further elseif statements to with with other mod names.

 

In a future release, I will put all this code under the DIN OnStoryServedTime event into a single function, so any mod that uses this event node and wants to have explicit compatibility with it, can do so with the inclusion of only a few lines of extra code.

Posted
On 9/8/2023 at 9:47 AM, Taki17 said:

Crime And Jail: Forwarded the fix for the base game issue of guards not starting the crime dialogue with a female player who has a bounty on her

 

Can you point out which change in the plugin or script fixes this issue? I'd like to implement it into my patch as well since BML also adds player bounties.

Posted (edited)
On 9/22/2023 at 5:56 AM, Taki17 said:

The gist of the idea is that you take the contents of the Devious Interests OnStoryServedTime event and merge it into yours, them triggering gated behind conditional statements, based on if Devious Interests is installed or not. Example implementation:

Your idea appears to have worked. Instead of that top bit in your example code, I included the following:

 

if (( Game.GetFormFromFile( 0x003E0DE7, "DeviousInterests.esp" ) as GlobalVariable ).GetValue() == 1 )
        Location ReachHold = Game.GetFormFromFile(0x016769, "Skyrim.esm") as Location
        din_Utility din_util = (Game.GetFormFromFile(0x000D62, "DeviousInterests.esp") as Quest) as din_Utility

[...]

 

As such, the quest itself has no added script properties. As for the setup in CK, I added a new quest under the existing BM_Licenses quest node in my existing Served Time event. The Node is set to run 2 quests at most and 2 quests concurrently. Meanwhile, as I'm centralizing soft requirement detection under my MCM script, I created a bool conditional for the story manager node to check before running din quest.

 

Did it this way for modularity reasons, and also in anticipation of your function so that I won't have to wait for slow ass CK to open for what amounts to a small script update.

Edited by Gyra
Posted
11 hours ago, Gyra said:

Can you point out which change in the plugin or script fixes this issue? I'd like to implement it into my patch as well since BML also adds player bounties.

Under DGCrimeWantedTopic, the "The only mistake was you showing your face." line has as Subject.GetPCIsSex(Male) = 1 condition that needs to be removed.

 

2 hours ago, Gyra said:

Did it this way for modularity reasons, and also in anticipation of your function so that I won't have to wait for slow ass CK to open for what amounts to a small script update.

That will have to wait for a while, as coincidentally, I'm also waiting for another soft requirement to implement some changes before I go ahead with the next version of my mod.

  • 2 weeks later...
Posted

the gag talk is tedious and stops you from talking to innkeepers for devious followers at default chances and it chains into other gag talks a fair bit if you have other mods with gag talk, the guard dialogue seems to work, the add key event seems to have a lot of script lag might just be my load order

Posted
On 10/9/2023 at 8:43 PM, XDbored said:

the gag talk is tedious and stops you from talking to innkeepers for devious followers at default chances

You can adjust the success chance of it to always succeed, and that should be a less of a hindrance in your tries to talk to people. However I will not remove or disable this functionality. If you really don't like it, open up the editor and assign an impossible condition like IsXbox == 1 to the gag speak topics and they should not come up anymore.

Posted

Devious Interests v0.922 has been released.

 

Thanks to everyone who downloaded the mod and has given their feedback. This is another sort of maintenance update, its main focus being general issue fixing and optimization, with also some adjustments to existing features and some new bits thrown in there too.

 

Changes:

  • simplyfied compatibility options for modders who also use the ServedTime story manager event node in their mods
  • some tweaks to the restraint validator logic
  • changed some notifications from message boxes to corner notifications
  • removed the use of deprecated SexLab functions
  • ground work for future updates and features
  • further scripting logic improvements
  • Bondage Addiction: changes to bondage addiction logic and addiction accumulation based on number of restraints worn

Additions:

  • Key Theft: if Devious Mimic Clothing is installed, a key theft event also removes all Protector Charms too, meant to ward off mimics
  • Bondage Addiction: bondage addiction is increased by spending time locked in DD Contraptions
Posted

So this mod had just recently hit 10.000 downloads and 50 endorsements - deeply appreciated, thank you everyone - so I guess it's time to talk about the things going forward.

 

Long story short, in the near future, I want to move over to using Skyrim SE for these sorts of mods. Given the recent release of DD NG which I contributed to, and what it is capable of, there will be little enough reason to remain on Skyrim LE. There is also several game events (like fast travel) that I can only hook into on Skyrim SE and I'm wanting to develop features for them. Not to mention several mods I have ideas to add as an optional mod integration, like BM Licenses Enhanced by @Gyra

 

So my question to you is the following: how many of you are using my mod on Skyrim LE?

 

Given the current nature of my mod, where it is out-of-the-box compatible with both game editions, I'd hate to break that, provided there is enough interest to keep the Skyrim LE version going in the future. Naturally, some of the features and mod integrations that rely on Skyrim SE stuff wouldn't be available, however whatever can reasonably transferred between versions, will be. Provided that there is any interest for it, that is.

Posted (edited)
2 hours ago, Taki17 said:

(like fast travel)

 

"You have been waylaid by enemies and must can't defend yourself."  :P

I don't think I've seen many mods hook into fast travel events. There's certainly some potential there for some nice risk/reward choices and fun surprises.

 

Congrats on the milestone.

Edited by Frayed

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...