Jump to content

Deviously Cursed Loot SE 9.0 (2021-03-09)


Recommended Posts

Posted
7 hours ago, Elsidia said:

Then you read key from device Yoke and that will be 2 restraints key. So, if player have 1 hand restraint key and no one restraints key, NPC will agree to help but can't unlock yoke as there no keys. Also if player have 2 restraints key and no one hand restraint key NPC can help but refuse as 1 hand restraint key not found. If not change Heavy yoke properties, then need change dialogue check as this:

 

For the record, I know it's up to Kimy, but I'm partial for the requirement of the hand restraints key for the heavy yoke and I would like to see it that way personally.

Posted
14 hours ago, Kimy said:

Looks good! Thank you for the patch! :)

So, yesterday Elsidia pointed out about bug with some outcomes not working, I looked, and redid patch to probably fix it - there weren't "done" clauses in some cases. Updated patch below.

 

Spoiler
diff -Naur Source.orig/dcur_yoke_calchelpsuccess.psc Source/dcur_yoke_calchelpsuccess.psc
--- Source.orig/dcur_yoke_calchelpsuccess.psc	2018-05-11 00:23:26.497926900 +0300
+++ Source/dcur_yoke_calchelpsuccess.psc	2022-07-18 23:37:19.072345200 +0300
@@ -10,28 +10,53 @@
 	int rnd
 	bool haskey = false
 	bool done = false
-	dcur_dialogswitch.SetValueInt(0)	
-	if libs.playerref.WornHasKeyword(dcumenu.dcur_kw_yoke) && libs.playerref.GetItemCount(libs.restraintskey) > 0
-		haskey = true
-	endif
-	if libs.playerref.WornHasKeyword(dcumenu.dcur_kw_heavyyoke) && libs.playerref.GetItemCount(dcumenu.dcur_handrestraintskey) > 0
-		haskey = true
-	endif	
+	int NumberOfKeysNeeded = 1
 	int chance = dcumenu.yokeremovalhelpchance		
+	;Setting default - walk away. If something goes wrong - it's better then 0, which means unlock
+	dcur_dialogswitch.SetValueInt(1)	
+	; 0 - unlock
+	; 1 - walk away without regrets
+	; 2,3 - rape
+	; 4 - walk away with regrets and being sorry
+	; 5 - add items
+	; 6 - take keys
+	; 7 - launch Courier in Steel quest (for merchants)
+	
+	;Looking up device key and number of keys needed
+	Key DeviceKey = StorageUtil.GetFormValue(libs.playerref, "zad_Equipped" + libs.LookupDeviceType(libs.zad_DeviousHeavyBondage) + "_Key") As Key
+	Armor DeviceInventory = StorageUtil.GetFormValue(libs.playerref, "zad_Equipped" + libs.LookupDeviceType(libs.zad_DeviousHeavyBondage) + "_Inventory") as Armor
+	ObjectReference tmpORef = libs.playerref.placeAtMe(DeviceInventory, abInitiallyDisabled = true)
+    zadEquipScript tmpZRef = tmpORef as zadEquipScript
+    if tmpZRef != none
+        NumberOfKeysNeeded = tmpZRef.NumberOfKeysNeeded
+    Endif
+    tmpORef.delete()
+	; Caching number of keys needed for unlock
+	StorageUtil.SetIntValue(libs.playerref, "zad_Equipped" + libs.LookupDeviceType(libs.zad_DeviousHeavyBondage) + "_NumberOfKeysNeeded", NumberOfKeysNeeded)
+	
+	if DeviceKey != none
+		; If device is keyless - nobody have keys for it
+		if libs.playerref.GetItemCount(DeviceKey) > NumberOfKeysNeeded
+			;Does player have keys needed?
+			haskey = true
+		EndIf
+	EndIf
+	
 	if !haskey
 		if dclibs.isTradesperson(akSpeaker)		
+			; Courier in Steel quest
 			dcur_dialogswitch.SetValueInt(7)
 			return
 		endif		
 		if Utility.RandomInt(0, 99) < chance || dcumenu.dcur_modshutdown.GetValueInt() == 1
-			; would normally help
+			; would normally help, but without keys just says sorry
 			dcur_dialogswitch.SetValueInt(4)
 		else		
 			grandtotalweight = dcumenu.yokeremovalwalkawayweight + dcumenu.yokeremovalrapeweight + dcumenu.yokeremovaladditemweight			
 			int Select = 0			
 			Select = Utility.RandomInt(0, grandtotalweight)		
 			if Select < dcumenu.yokeremovalwalkawayweight
-				; has key, but will not remove
+				; maybe NPC has key, but will not remove
 				dcur_dialogswitch.SetValueInt(1)	
 				done = true
 			endIf
@@ -55,7 +80,7 @@
 		endif
 		; fallback
 		if !done 
-			; addsitems
+			; says sorry
 			dcur_dialogswitch.SetValueInt(4)				
 		endIf
 		return
@@ -89,12 +114,14 @@
 		Select = Select - dcumenu.yokeremovalrapeweight					
 		if !done && Select < dcumenu.yokeremovaltakekeyweight
 			; will not remove and take keys
-			dcur_dialogswitch.SetValueInt(6)			
+			dcur_dialogswitch.SetValueInt(6)
+			done = true			
 		endIf
 		Select = Select - dcumenu.yokeremovaltakekeyweight					
 		if !done && Select < dcumenu.yokeremovaladditemweight
-			; addsitems
-			dcur_dialogswitch.SetValueInt(5)				
+			; adds items
+			dcur_dialogswitch.SetValueInt(5)	
+			done = true
 		endIf				
 		; fallback
 		if !done
diff -Naur Source.orig/dcur_yoke_unlock.psc Source/dcur_yoke_unlock.psc
--- Source.orig/dcur_yoke_unlock.psc	2018-05-11 00:23:40.890110400 +0300
+++ Source/dcur_yoke_unlock.psc	2022-07-18 17:25:31.441065000 +0300
@@ -6,14 +6,25 @@
 Function Fragment_0(ObjectReference akSpeakerRef)
 Actor akSpeaker = akSpeakerRef as Actor
 ;BEGIN CODE
-	
-	if libs.playerref.WornHasKeyword(dcumenu.dcur_kw_yoke) && libs.playerref.GetItemCount(libs.restraintskey) > 0
-		libs.RemoveDevice(libs.PlayerRef, dcumenu.dcur_yoke, dcumenu.dcur_yokeRendered, libs.zad_DeviousHeavyBondage, false, false)					
-	endif
-	if libs.playerref.WornHasKeyword(dcumenu.dcur_kw_heavyyoke) && libs.playerref.GetItemCount(dcumenu.dcur_handrestraintskey) > 0
-		libs.RemoveDevice(libs.PlayerRef, dcumenu.dcur_heavyyoke, dcumenu.dcur_heavyyokeRendered, libs.zad_DeviousHeavyBondage, false, false)							
-	endif
-	libs.SendDeviceRemovalEvent("Yoke", libs.PlayerRef)	
+	;Looking up device key and number of keys needed
+	Key DeviceKey = StorageUtil.GetFormValue(libs.playerref, "zad_Equipped" + libs.LookupDeviceType(libs.zad_DeviousHeavyBondage) + "_Key") As Key
+	Armor DeviceInventory = StorageUtil.GetFormValue(libs.playerref, "zad_Equipped" + libs.LookupDeviceType(libs.zad_DeviousHeavyBondage) + "_Inventory") as Armor
+	Armor DeviceRendered = StorageUtil.GetFormValue(libs.playerref, "zad_Equipped" + libs.LookupDeviceType(libs.zad_DeviousHeavyBondage) + "_Rendered") as Armor
+	int NumberOfKeysNeeded = 1
+	NumberOfKeysNeeded = StorageUtil.GetIntValue(libs.playerref, "zad_Equipped" + libs.LookupDeviceType(libs.zad_DeviousHeavyBondage) + "_NumberOfKeysNeeded")
+	if DeviceKey != none && DeviceInventory != none && DeviceRendered != none
+		If libs.playerref.GetItemCount(DeviceKey) > NumberOfKeysNeeded
+			libs.RemoveDevice(libs.PlayerRef, DeviceInventory, DeviceRendered, libs.zad_DeviousHeavyBondage, false, false)
+			if libs.Config.GlobalDestroyKey && DeviceKey.HasKeyword(libs.zad_NonUniqueKey)
+				;Only removing non-unique keys
+				libs.PlayerRef.RemoveItem(DeviceKey, NumberOfKeysNeeded, False)	
+			EndIf
+		EndIf
+	Else
+		libs.Log("dcur_yoke_unlock: failed to retrive stored device data")
+	EndIf
+	; Do we even need this?..
+	;libs.SendDeviceRemovalEvent("Yoke", libs.PlayerRef)	
 ;END CODE
 EndFunction
 ;END FRAGMENT

 

 

Yoke_patch_v2.zip

Posted (edited)
23 hours ago, DeWired said:

So, yesterday Elsidia pointed out about bug with some outcomes not working, I looked, and redid patch to probably fix it - there weren't "done" clauses in some cases. Updated patch below.

 

The patch works perfectly. 2 restraints keys were removed with the heavy yoke (hope to change it to hand restraints key at some point) and 1 restraints key with the regular yoke. Also the alternate options (key steal and add restraints) triggered just fine (didn't test the rape option).

Edited by serranna
Posted

How do I get the obsidian piercings off after I become leahs slave have removal tool but only get force off and leave on do I have to wait a while or something before removing them 

Posted
46 minutes ago, draca21 said:

How do I get the obsidian piercings off after I become

This is bug caused by DD 5.1 equip engine. THose piercings have missed zad_Lockable keyword, because at end of Leon's quest it can't removed.

There is two way to remove:

1) In Xedit fix those piercings, but add this keyword and end Leon's quest again.

2) Spawn Leon's key by console and unlock piercings manually, then remove key and piercings by console.

Posted (edited)
2 hours ago, draca21 said:

What comand do I use  for seccond one to generate key and and remove them also what is xedit

 

Not necessary to mess with xedit or spawn the key.

Open the console, select your character and use the showinventory command. Scroll through the list until you find the piercings you need to remove.

 

ScreenShot1116.png.ffa9984882026065614463cf729015d3.png

 

In my example 19076c30 are the actual nipple piercings, and 19076c31 is a secondary equip that actually shows and locks the device on the character.

You will need to do this yourself because the first 2 numbers will be different in your game.

So to remove the nipple piercings you use the console command you see above

removeitem XX076C31 1 (XX is whatever it shows for you in your game)

after you do that go to your inventory and drop the nipple piercings on the ground.

Pick them back up and use the remove item command to remove the actual item.

Repeat the same process with the vaginal piercings.

The numbers will all be the same as you see in the screenshot except the 19 will likely be different for you, so you need to use the console to check for yourself.

Edited by serranna
Posted
9 hours ago, draca21 said:

also what is xedit

https://www.nexusmods.com/skyrimspecialedition/mods/164

 

9 hours ago, draca21 said:

What comand do I use  for seccond o

Spoiler

help "master key"

wrote down Leon's master key id

player.additem id 1

where id is key id

exit console and unlock piercings

player.removeitem id 1

where id is leon's master key id

help "obsidian nipple piercings"

player.removeitem id 1

where id is piercings id

help "obsidian vaginal piercings"

player.removeitem id 1

where id is vaginal piercings id

 

Posted
32 minutes ago, draca21 said:

Are you able to go into the dollmakers locked workshop

 

If you mean the part of her house that's behind a locked door? No, not without a cheat. This might change in the future when I am getting to add new Dollmaker content! :)

Posted
9 minutes ago, Kimy said:

No, not without a cheat. This

There no need cheat. You can enter, but can't exit. Just need wait while player wants masturbate and select "Use near bed" - you go into Dollmaker's chamber Cage - because there is nearest bed. So after fun you found more fun locked in Dollmaker's cage forever)

Posted
23 minutes ago, Elsidia said:

There no need cheat. You can enter, but can't exit. Just need wait while player wants masturbate and select "Use near bed" - you go into Dollmaker's chamber Cage - because there is nearest bed. So after fun you found more fun locked in Dollmaker's cage forever)

 

LOL!!!

 

And that's not a...cheat? :P

Posted

I guess I will need to implement the Dollmaker able to figure out that you're using her bed to play with yourself, so she can...do something about it. ?

Posted

How does dominated quest any Leon or Leah binding you work with the slits pony girl mod do they clash or anything and how do I use the furniture I buy at whip and chain

Posted
On 7/21/2022 at 4:55 PM, Kimy said:

 

If you mean the part of her house that's behind a locked door? No, not without a cheat. This might change in the future when I am getting to add new Dollmaker content! :)

Am I the only one that just found the key to the locked door lying in front of it on the floor? It was counting as stealing, but a quick save-and-grab later and I could go in and out freely.

Posted
On 7/21/2022 at 6:55 PM, Kimy said:

If you mean the part of her house that's behind a locked door?

Ok if robbery, not cheat then you can steal Dollmaker Private key from Dollmaker and unlock doors.

1 hour ago, War1 said:

Am I the only one that just found the key to the locked door lying in front of it on the floor?

Not found any key. but read upper.

Posted

Was able to use console comand to remove obsidian piercings but they still have there active effects in active effects menus anybody know how to fix that also having problems with device hider and hair function it never engaged when I put on a hood does it only work on select base game hair  or something  

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