Jump to content

Captured Dreams - Restored June 23 2023


Recommended Posts

On 8/17/2023 at 9:29 AM, Wyrade said:

I have 4.15 SSE installed (in a rather messy and huge mod setup, but that shouldn't be relevant in this instance), and I ran into the issue of a late delivery not properly equipping the punishment gag on me.

 

Papyrus log had this:

 

  Reveal hidden contents

 

So I started looking, and tried to add a debug line in cdxslavery_functions.psc to see a bit closer what's happening. I failed to compile that one, with several papyrus compiler errors about AddRndStdDevice and similar for cdxpunishmentset01.psc, cdxslavery_property.psc and cdxslavery_functions.psc.

 

When I looked into that, I found that these functions are supposed to be in CDxFramework.psc, which are overwritten by "Captured Dreams device removal DDv4 update v2", and the functions have different names there - I assume AddRandomItems() should be its equivalent?

 

Anyway, I just wanted to post that apparently not all function names have been switched in the scripts with the DDv4 update, or something else is going on (I'm at most a dabbler, I barely know what I'm doing).

 

Or am I overcomplicating it and it's just supposed to work if I compile with the old script then just put back the new one?

(Or did I mess up something else?)

 

 

Edit:

After editing cdxframework so i could compile cdxslavery_functions, the part that fails to equip the gag is around line 468 in cdxslavery_functions.psc.

Some relevant variables at that point according to my debug are:

Target: [Actor < (00000014)>],

DevInventory: None,

DevRendered: None,

DevKeyword: [Keyword <zad_DeviousGag (15007EB8)>],

Dev_Color: 2,

Dev_Item: 12,

devicetype: 8

 

The two "None" which are the issue should be populated by this:

 

elseif Dev_Color == 2
		DevInventory = Dev_Silver_Inv[Dev_Item] as armor
		DevRendered = Dev_Silver_Rend[Dev_Item] as armor
		DevKeyword = Dev_DDiKeyword[Dev_Item] as keyword

 

at line 776:

Dev_Silver_Inv[12] = FillerItem

 

at line 796:

Dev_Silver_Rend[12] = FillerItem

 

About the FillerItem i only see this, and I'm not sure what that means:

armor property FillerItem auto

 

I'm not sure how to continue debugging to fix those None-s and so the `libs.equipdevice(target, DevInventory, DevRendered, DevKeyword)` at line 468 can execute properly.

Although maybe I could try to change it to something else I suppose.

 

Can you please help how I should proceed?

 

On 8/20/2023 at 3:34 PM, vrelk said:

Having an issue with the chaste spouse stuff. Looks like cdxchastespouse.psc calls framework.RemoveGenericplugs(), but that function doesn't exist in the framework file (or any other actually). This breaks the SetPlayerDevice() function if you've been good.

 

The other issue in this file is with the SetPlayerDevice() function. The if-statement doesn't cover 6 demerits (by choosing the "wanted to do more" dialog option). You could make it >= 5, but you also need to take care of the other device changes that would be skipped.

 

There were a number of changes to the framework script but it seems that not all of the scripts that call on it were updated (or there are old scripts included in v4.15).

 

The Filler Item is used in the quest with the Jarl in Falkreath and is placed on him to keep his clothes from being equipped. For the script I set the two variables to none before having it look up the item info as I would rather have it equip nothing than a broken item that can't be easily removed. You may want to check the properties and can likely change them to something else since a silver gag doesn't exist (likely why I put it there).

Link to comment
On 8/17/2023 at 3:29 PM, Wyrade said:

I have 4.15 SSE installed (in a rather messy and huge mod setup, but that shouldn't be relevant in this instance), and I ran into the issue of a late delivery not properly equipping the punishment gag on me.

 

Papyrus log had this:

 

  Reveal hidden contents

[08/17/2023 - 02:56:09PM] Error: Cannot call GetName() on a None object, aborting function call
stack:
    [zadQuest (1600F624)].zadlibs.EquipDevice() - "zadLibs.psc" Line 520
    [CDxSlavery_Functions (D717170A)].cdxslavery_functions.SetCDDevice() - "cdxslavery_functions.psc" Line 468
    [CDxSlavery_Functions (D717170A)].cdxslavery_functions.FitSlaveGag() - "cdxslavery_functions.psc" Line 110
    [CDxPackageDelivery (D7117012)].cdxpackagedelivery.CustUnhappy() - "cdxpackagedelivery.psc" Line 1142
    [CDxPackageDelivery (D7117012)].cdxpackagedelivery.Fragment_12() - "cdxpackagedelivery.psc" Line 347
[08/17/2023 - 02:56:09PM] WARNING: Assigning None to a non-object variable named "::temp3"
stack:
    [zadQuest (1600F624)].zadlibs.EquipDevice() - "zadLibs.psc" Line 520
    [CDxSlavery_Functions (D717170A)].cdxslavery_functions.SetCDDevice() - "cdxslavery_functions.psc" Line 468
    [CDxSlavery_Functions (D717170A)].cdxslavery_functions.FitSlaveGag() - "cdxslavery_functions.psc" Line 110
    [CDxPackageDelivery (D7117012)].cdxpackagedelivery.CustUnhappy() - "cdxpackagedelivery.psc" Line 1142
    [CDxPackageDelivery (D7117012)].cdxpackagedelivery.Fragment_12() - "cdxpackagedelivery.psc" Line 347
[08/17/2023 - 02:56:09PM] [Zad]: EquipDevice called for
[08/17/2023 - 02:56:09PM] Error: Cannot call GetName() on a None object, aborting function call
stack:
    [zadQuest (1600F624)].zadlibs.EquipDevice() - "zadLibs.psc" Line 522
    [CDxSlavery_Functions (D717170A)].cdxslavery_functions.SetCDDevice() - "cdxslavery_functions.psc" Line 468
    [CDxSlavery_Functions (D717170A)].cdxslavery_functions.FitSlaveGag() - "cdxslavery_functions.psc" Line 110
    [CDxPackageDelivery (D7117012)].cdxpackagedelivery.CustUnhappy() - "cdxpackagedelivery.psc" Line 1142
    [CDxPackageDelivery (D7117012)].cdxpackagedelivery.Fragment_12() - "cdxpackagedelivery.psc" Line 347
[08/17/2023 - 02:56:09PM] WARNING: Assigning None to a non-object variable named "::temp3"
stack:
    [zadQuest (1600F624)].zadlibs.EquipDevice() - "zadLibs.psc" Line 522
    [CDxSlavery_Functions (D717170A)].cdxslavery_functions.SetCDDevice() - "cdxslavery_functions.psc" Line 468
    [CDxSlavery_Functions (D717170A)].cdxslavery_functions.FitSlaveGag() - "cdxslavery_functions.psc" Line 110
    [CDxPackageDelivery (D7117012)].cdxpackagedelivery.CustUnhappy() - "cdxpackagedelivery.psc" Line 1142
    [CDxPackageDelivery (D7117012)].cdxpackagedelivery.Fragment_12() - "cdxpackagedelivery.psc" Line 347
[08/17/2023 - 02:56:09PM] [Zad]: Acquired mutex, equipping
[08/17/2023 - 02:56:09PM] Error: None is not a valid inventory item
stack:
    [ (00000014)].Actor.GetItemCount() - "<native>" Line ?
    [zadQuest (1600F624)].zadlibs.WearingConflictingDevice() - "zadLibs.psc" Line 1559
    [zadQuest (1600F624)].zadlibs.EquipDevice() - "zadLibs.psc" Line 527
    [CDxSlavery_Functions (D717170A)].cdxslavery_functions.SetCDDevice() - "cdxslavery_functions.psc" Line 468
    [CDxSlavery_Functions (D717170A)].cdxslavery_functions.FitSlaveGag() - "cdxslavery_functions.psc" Line 110
    [CDxPackageDelivery (D7117012)].cdxpackagedelivery.CustUnhappy() - "cdxpackagedelivery.psc" Line 1142
    [CDxPackageDelivery (D7117012)].cdxpackagedelivery.Fragment_12() - "cdxpackagedelivery.psc" Line 347
[08/17/2023 - 02:56:09PM] Error: None is not a valid inventory item
stack:
    [ (00000014)].Actor.GetItemCount() - "<native>" Line ?
    [zadQuest (1600F624)].zadlibs.EquipDevice() - "zadLibs.psc" Line 534
    [CDxSlavery_Functions (D717170A)].cdxslavery_functions.SetCDDevice() - "cdxslavery_functions.psc" Line 468
    [CDxSlavery_Functions (D717170A)].cdxslavery_functions.FitSlaveGag() - "cdxslavery_functions.psc" Line 110
    [CDxPackageDelivery (D7117012)].cdxpackagedelivery.CustUnhappy() - "cdxpackagedelivery.psc" Line 1142
    [CDxPackageDelivery (D7117012)].cdxpackagedelivery.Fragment_12() - "cdxpackagedelivery.psc" Line 347
[08/17/2023 - 02:56:09PM] Error: Cannot add None to a container
stack:
    [ (00000014)].Actor.AddItem() - "<native>" Line ?
    [zadQuest (1600F624)].zadlibs.EquipDevice() - "zadLibs.psc" Line 535
    [CDxSlavery_Functions (D717170A)].cdxslavery_functions.SetCDDevice() - "cdxslavery_functions.psc" Line 468
    [CDxSlavery_Functions (D717170A)].cdxslavery_functions.FitSlaveGag() - "cdxslavery_functions.psc" Line 110
    [CDxPackageDelivery (D7117012)].cdxpackagedelivery.CustUnhappy() - "cdxpackagedelivery.psc" Line 1142
    [CDxPackageDelivery (D7117012)].cdxpackagedelivery.Fragment_12() - "cdxpackagedelivery.psc" Line 347

 

So I started looking, and tried to add a debug line in cdxslavery_functions.psc to see a bit closer what's happening. I failed to compile that one, with several papyrus compiler errors about AddRndStdDevice and similar for cdxpunishmentset01.psc, cdxslavery_property.psc and cdxslavery_functions.psc.

 

When I looked into that, I found that these functions are supposed to be in CDxFramework.psc, which are overwritten by "Captured Dreams device removal DDv4 update v2", and the functions have different names there - I assume AddRandomItems() should be its equivalent?

 

Anyway, I just wanted to post that apparently not all function names have been switched in the scripts with the DDv4 update, or something else is going on (I'm at most a dabbler, I barely know what I'm doing).

 

Or am I overcomplicating it and it's just supposed to work if I compile with the old script then just put back the new one?

(Or did I mess up something else?)

 

 

Edit:

After editing cdxframework so i could compile cdxslavery_functions, the part that fails to equip the gag is around line 468 in cdxslavery_functions.psc.

Some relevant variables at that point according to my debug are:

Target: [Actor < (00000014)>],

DevInventory: None,

DevRendered: None,

DevKeyword: [Keyword <zad_DeviousGag (15007EB8)>],

Dev_Color: 2,

Dev_Item: 12,

devicetype: 8

 

The two "None" which are the issue should be populated by this:

 

elseif Dev_Color == 2
		DevInventory = Dev_Silver_Inv[Dev_Item] as armor
		DevRendered = Dev_Silver_Rend[Dev_Item] as armor
		DevKeyword = Dev_DDiKeyword[Dev_Item] as keyword

 

at line 776:

Dev_Silver_Inv[12] = FillerItem

 

at line 796:

Dev_Silver_Rend[12] = FillerItem

 

About the FillerItem i only see this, and I'm not sure what that means:

armor property FillerItem auto

 

I'm not sure how to continue debugging to fix those None-s and so the `libs.equipdevice(target, DevInventory, DevRendered, DevKeyword)` at line 468 can execute properly.

Although maybe I could try to change it to something else I suppose.

 

Can you please help how I should proceed?

 

Ok, so inside cdxslavery_functions.psc, in function SetCDDevice, which is called by parameters (aktarget, 8, false), the value of Dev_Color is initially set by this:

Dev_Color = CDxPref_BeltColor.getvalueint()                    ; base color

CDxPref_BeltColor's default value is 0 based on the esp global.

Dev_Color is then affected by the following:

if Dev_Color <= 0
    if Dev_Material == 1
       Dev_Color = 2
    else
      Dev_Color = 4
    endif
endif

Setting Dev_Color to 2.

The only color sets that have gags are the following, the rest only have the unused FillerItem:

8 - black leather
9 - red leather
10 - white leather
11 - black ebonite
12 - red ebonite
13 - white ebonite

 

So my solution is that I need to set Dev_Color inside this part:

elseif Dev_DeviceType == 8							; gag
	if target.wornhaskeyword(libs.zad_deviousgag)
		return
	endif
	if Dev_gagtype == 0								; no preference on gag type
		Dev_Item = utility.randomint(11, 15)
	else
		Dev_Item = Dev_gagtype
	endif
endif

by adding the line

Dev_Color = utility.randomint(8, 13)

before the last endif of that snippet.

 

I should probably check the code for similar issues before continuing messing around ingame, but at least this solves my current issue.

I tested it and it works.

Thanks for the insight!

Link to comment
1 hour ago, Wyrade said:

 

Ok, so inside cdxslavery_functions.psc, in function SetCDDevice, which is called by parameters (aktarget, 8, false), the value of Dev_Color is initially set by this:

Dev_Color = CDxPref_BeltColor.getvalueint()                    ; base color

CDxPref_BeltColor's default value is 0 based on the esp global.

Dev_Color is then affected by the following:

if Dev_Color <= 0
    if Dev_Material == 1
       Dev_Color = 2
    else
      Dev_Color = 4
    endif
endif

Setting Dev_Color to 2.

The only color sets that have gags are the following, the rest only have the unused FillerItem:

8 - black leather
9 - red leather
10 - white leather
11 - black ebonite
12 - red ebonite
13 - white ebonite

 

So my solution is that I need to set Dev_Color inside this part:

elseif Dev_DeviceType == 8							; gag
	if target.wornhaskeyword(libs.zad_deviousgag)
		return
	endif
	if Dev_gagtype == 0								; no preference on gag type
		Dev_Item = utility.randomint(11, 15)
	else
		Dev_Item = Dev_gagtype
	endif
endif

by adding the line

Dev_Color = utility.randomint(8, 13)

before the last endif of that snippet.

 

I should probably check the code for similar issues before continuing messing around ingame, but at least this solves my current issue.

I tested it and it works.

Thanks for the insight!

 

I tried to remove all FillerItem entries from the sets, and replace them with a random one of the same type based on the existing set entries.

I edited the "; Device Arrays" section of cdxslavery_functions.psc for this:

Spoiler
armor Function FindRandomInvDeviceBySlot(int slot)
	int RandomSetNum
	armor tempReturn
	if slot == 0 || slot == 1 || slot == 6 ; belt, belt, bra
		RandomSetNum = utility.randomint(1, 7)
	endif
	if slot == 2 || slot == 5 ; harness, collar
		RandomSetNum = utility.randomint(8, 13)
	endif
	if slot >= 9 && slot <= 16 ; 9=boots, 10-16=gag
		RandomSetNum = utility.randomint(8, 13)
	endif
	if RandomSetNum == 1
		tempReturn = Dev_Steel_Inv[slot] 
	endif
	if RandomSetNum == 2
		tempReturn = Dev_Silver_Inv[slot] 
	endif
	if RandomSetNum == 3
		tempReturn = Dev_Bronze_Inv[slot] 
	endif
	if RandomSetNum == 4
		tempReturn = Dev_Black_Inv[slot] 
	endif
	if RandomSetNum == 5
		tempReturn = Dev_Red_Inv[slot] 
	endif
	if RandomSetNum == 6
		tempReturn = Dev_DarkRed_Inv[slot] 
	endif
	if RandomSetNum == 7
		tempReturn = Dev_White_Inv[slot] 
	endif
	if RandomSetNum == 8
		tempReturn = Dev_BlackLtr_Inv[slot] 
	endif
	if RandomSetNum == 9
		tempReturn = Dev_RedLtr_Inv[slot] 
	endif
	if RandomSetNum == 10
		tempReturn = Dev_WhiteLtr_Inv[slot] 
	endif
	if RandomSetNum == 11
		tempReturn = Dev_BlackEbo_Inv[slot] 
	endif
	if RandomSetNum == 12
		tempReturn = Dev_RedEbo_Inv[slot] 
	endif
	if RandomSetNum == 13
		tempReturn = Dev_WhiteEbo_Inv[slot] 
	endif
	return tempReturn
Endfunction

armor Function FindRandomRendDeviceBySlot(int slot)
	int RandomSetNum
	armor tempReturn
	if slot == 0 || slot == 1 || slot == 6 ; belt, belt, bra
		RandomSetNum = utility.randomint(1, 7)
	endif
	if slot == 2 || slot == 5 ; harness, collar
		RandomSetNum = utility.randomint(8, 13)
	endif
	if slot >= 9 && slot <= 16 ; 9=boots, 10-16=gag
		RandomSetNum = utility.randomint(8, 13)
	endif
	if RandomSetNum == 1
		tempReturn = Dev_Steel_Rend[slot] 
	endif
	if RandomSetNum == 2
		tempReturn = Dev_Silver_Rend[slot] 
	endif
	if RandomSetNum == 3
		tempReturn = Dev_Bronze_Rend[slot] 
	endif
	if RandomSetNum == 4
		tempReturn = Dev_Black_Rend[slot] 
	endif
	if RandomSetNum == 5
		tempReturn = Dev_Red_Rend[slot] 
	endif
	if RandomSetNum == 6
		tempReturn = Dev_DarkRed_Rend[slot] 
	endif
	if RandomSetNum == 7
		tempReturn = Dev_White_Rend[slot] 
	endif
	if RandomSetNum == 8
		tempReturn = Dev_BlackLtr_Rend[slot] 
	endif
	if RandomSetNum == 9
		tempReturn = Dev_RedLtr_Rend[slot] 
	endif
	if RandomSetNum == 10
		tempReturn = Dev_WhiteLtr_Rend[slot] 
	endif
	if RandomSetNum == 11
		tempReturn = Dev_BlackEbo_Rend[slot] 
	endif
	if RandomSetNum == 12
		tempReturn = Dev_RedEbo_Rend[slot] 
	endif
	if RandomSetNum == 13
		tempReturn = Dev_WhiteEbo_Rend[slot] 
	endif
	return tempReturn
Endfunction

Function SetDevArrays()
	debug.notification("Setting CD Device Arrays")
	if DevArraySet.getvalueint() == 1
		return
	endif

	; Set 1 - steel - inventory
	Dev_Steel_Inv = new armor[17]
	Dev_Steel_Inv[0] = StlBeltF
	Dev_Steel_Inv[1] = StlBeltO
	Dev_Steel_Inv[2] = FindRandomInvDeviceBySlot(2)
	Dev_Steel_Inv[3] = StlCollarS
	Dev_Steel_Inv[4] = StlCollarP
	Dev_Steel_Inv[5] = FindRandomInvDeviceBySlot(5)
	Dev_Steel_Inv[6] = StlArmCuff
	Dev_Steel_Inv[7] = StlLegCuff
	Dev_Steel_Inv[8] = StlBra
	Dev_Steel_Inv[9] = FindRandomInvDeviceBySlot(9)
	Dev_Steel_Inv[10] = FindRandomInvDeviceBySlot(10)
	Dev_Steel_Inv[11] = FindRandomInvDeviceBySlot(11)
	Dev_Steel_Inv[12] = FindRandomInvDeviceBySlot(12)
	Dev_Steel_Inv[13] = FindRandomInvDeviceBySlot(13)
	Dev_Steel_Inv[14] = FindRandomInvDeviceBySlot(14)
	Dev_Steel_Inv[15] = FindRandomInvDeviceBySlot(15)
	Dev_Steel_Inv[16] = FindRandomInvDeviceBySlot(16)
	
	; Set 1 - steel - rendered
	Dev_Steel_Rend = new armor[17]
	Dev_Steel_Rend[0] = StlBeltFRend
	Dev_Steel_Rend[1] = StlBeltORend
	Dev_Steel_Rend[2] = FindRandomRendDeviceBySlot(2)
	Dev_Steel_Rend[3] = StlCollarSRend
	Dev_Steel_Rend[4] = StlCollarPRend
	Dev_Steel_Rend[5] = FindRandomRendDeviceBySlot(5)
	Dev_Steel_Rend[6] = StlArmCuffRend
	Dev_Steel_Rend[7] = StlLegCuffRend
	Dev_Steel_Rend[8] = StlBraRend
	Dev_Steel_Rend[9] = FindRandomRendDeviceBySlot(9)
	Dev_Steel_Rend[10] = FindRandomRendDeviceBySlot(10)
	Dev_Steel_Rend[11] = FindRandomRendDeviceBySlot(11)
	Dev_Steel_Rend[12] = FindRandomRendDeviceBySlot(12)
	Dev_Steel_Rend[13] = FindRandomRendDeviceBySlot(13)
	Dev_Steel_Rend[14] = FindRandomRendDeviceBySlot(14)
	Dev_Steel_Rend[15] = FindRandomRendDeviceBySlot(15)
	Dev_Steel_Rend[16] = FindRandomRendDeviceBySlot(16)

	
	; Set 2 - Silver - inventory
	Dev_Silver_Inv = new armor[17]
	Dev_Silver_Inv[0] = SlvBeltF
	Dev_Silver_Inv[1] = SlvBeltO
	Dev_Silver_Inv[2] = FindRandomInvDeviceBySlot(2)
	Dev_Silver_Inv[3] = SlvCollarS
	Dev_Silver_Inv[4] = SlvCollarP
	Dev_Silver_Inv[5] = FindRandomInvDeviceBySlot(5)
	Dev_Silver_Inv[6] = SlvArmCuff
	Dev_Silver_Inv[7] = SlvLegCuff
	Dev_Silver_Inv[8] = SlvBra
	Dev_Silver_Inv[9] = FindRandomInvDeviceBySlot(9)
	Dev_Silver_Inv[10] = FindRandomInvDeviceBySlot(10)
	Dev_Silver_Inv[11] = FindRandomInvDeviceBySlot(11)
	Dev_Silver_Inv[12] = FindRandomInvDeviceBySlot(12)
	Dev_Silver_Inv[13] = FindRandomInvDeviceBySlot(13)
	Dev_Silver_Inv[14] = FindRandomInvDeviceBySlot(14)
	Dev_Silver_Inv[15] = FindRandomInvDeviceBySlot(15)
	Dev_Silver_Inv[16] = FindRandomInvDeviceBySlot(16)
	
	; Set 2 - Silver - rendered
	Dev_Silver_Rend = new armor[17]
	Dev_Silver_Rend[0] = SlvBeltFRend
	Dev_Silver_Rend[1] = SlvBeltORend
	Dev_Silver_Rend[2] = FindRandomRendDeviceBySlot(2)
	Dev_Silver_Rend[3] = SlvCollarSRend
	Dev_Silver_Rend[4] = SlvCollarPRend
	Dev_Silver_Rend[5] = FindRandomRendDeviceBySlot(5)
	Dev_Silver_Rend[6] = SlvArmCuffRend
	Dev_Silver_Rend[7] = SlvLegCuffRend
	Dev_Silver_Rend[8] = SlvBraRend
	Dev_Silver_Rend[9] = FindRandomRendDeviceBySlot(9)
	Dev_Silver_Rend[10] = FindRandomRendDeviceBySlot(10)
	Dev_Silver_Rend[11] = FindRandomRendDeviceBySlot(11)
	Dev_Silver_Rend[12] = FindRandomRendDeviceBySlot(12)
	Dev_Silver_Rend[13] = FindRandomRendDeviceBySlot(13)
	Dev_Silver_Rend[14] = FindRandomRendDeviceBySlot(14)
	Dev_Silver_Rend[15] = FindRandomRendDeviceBySlot(15)
	Dev_Silver_Rend[16] = FindRandomRendDeviceBySlot(16)

	
	; Set 3 - Bronze - inventory
	Dev_Bronze_Inv = new armor[17]
	Dev_Bronze_Inv[0] = BrzBeltF
	Dev_Bronze_Inv[1] = BrzBeltO
	Dev_Bronze_Inv[2] = FindRandomInvDeviceBySlot(2)
	Dev_Bronze_Inv[3] = BrzCollarS
	Dev_Bronze_Inv[4] = BrzCollarP
	Dev_Bronze_Inv[5] = FindRandomInvDeviceBySlot(5)
	Dev_Bronze_Inv[6] = BrzArmCuff
	Dev_Bronze_Inv[7] = BrzLegCuff
	Dev_Bronze_Inv[8] = BrzBra
	Dev_Bronze_Inv[9] = FindRandomInvDeviceBySlot(9)
	Dev_Bronze_Inv[10] = FindRandomInvDeviceBySlot(10)
	Dev_Bronze_Inv[11] = FindRandomInvDeviceBySlot(11)
	Dev_Bronze_Inv[12] = FindRandomInvDeviceBySlot(12)
	Dev_Bronze_Inv[13] = FindRandomInvDeviceBySlot(13)
	Dev_Bronze_Inv[14] = FindRandomInvDeviceBySlot(14)
	Dev_Bronze_Inv[15] = FindRandomInvDeviceBySlot(15)
	Dev_Bronze_Inv[16] = FindRandomInvDeviceBySlot(16)
	
	; Set 3 - Bronze - rendered
	Dev_Bronze_Rend = new armor[17]
	Dev_Bronze_Rend[0] = BrzBeltFRend
	Dev_Bronze_Rend[1] = BrzBeltORend
	Dev_Bronze_Rend[2] = FindRandomRendDeviceBySlot(2)
	Dev_Bronze_Rend[3] = BrzCollarSRend
	Dev_Bronze_Rend[4] = BrzCollarPRend
	Dev_Bronze_Rend[5] = FindRandomRendDeviceBySlot(5)
	Dev_Bronze_Rend[6] = BrzArmCuffRend
	Dev_Bronze_Rend[7] = BrzLegCuffRend
	Dev_Bronze_Rend[8] = BrzBraRend
	Dev_Bronze_Rend[9] = FindRandomRendDeviceBySlot(9)
	Dev_Bronze_Rend[10] = FindRandomRendDeviceBySlot(10)
	Dev_Bronze_Rend[11] = FindRandomRendDeviceBySlot(11)
	Dev_Bronze_Rend[12] = FindRandomRendDeviceBySlot(12)
	Dev_Bronze_Rend[13] = FindRandomRendDeviceBySlot(13)
	Dev_Bronze_Rend[14] = FindRandomRendDeviceBySlot(14)
	Dev_Bronze_Rend[15] = FindRandomRendDeviceBySlot(15)
	Dev_Bronze_Rend[16] = FindRandomRendDeviceBySlot(16)

	
	; Set 4 - Black Metal - inventory
	Dev_Black_Inv = new armor[17]
	Dev_Black_Inv[0] = BlkBeltF
	Dev_Black_Inv[1] = BlkBeltO
	Dev_Black_Inv[2] = FindRandomInvDeviceBySlot(2)
	Dev_Black_Inv[3] = BlkCollarS
	Dev_Black_Inv[4] = BlkCollarP
	Dev_Black_Inv[5] = FindRandomInvDeviceBySlot(5)
	Dev_Black_Inv[6] = BlkArmCuff
	Dev_Black_Inv[7] = BlkLegCuff
	Dev_Black_Inv[8] = BlkBra
	Dev_Black_Inv[9] = FindRandomInvDeviceBySlot(9)
	Dev_Black_Inv[10] = FindRandomInvDeviceBySlot(10)
	Dev_Black_Inv[11] = FindRandomInvDeviceBySlot(11)
	Dev_Black_Inv[12] = FindRandomInvDeviceBySlot(12)
	Dev_Black_Inv[13] = FindRandomInvDeviceBySlot(13)
	Dev_Black_Inv[14] = FindRandomInvDeviceBySlot(14)
	Dev_Black_Inv[15] = FindRandomInvDeviceBySlot(15)
	Dev_Black_Inv[16] = FindRandomInvDeviceBySlot(16)
	
	; Set 4 - Black Metal - rendered
	Dev_Black_Rend = new armor[17]
	Dev_Black_Rend[0] = BlkBeltFRend
	Dev_Black_Rend[1] = BlkBeltORend
	Dev_Black_Rend[2] = FindRandomRendDeviceBySlot(2)
	Dev_Black_Rend[3] = BlkCollarSRend
	Dev_Black_Rend[4] = BlkCollarPRend
	Dev_Black_Rend[5] = FindRandomRendDeviceBySlot(5)
	Dev_Black_Rend[6] = BlkArmCuffRend
	Dev_Black_Rend[7] = BlkLegCuffRend
	Dev_Black_Rend[8] = BlkBraRend
	Dev_Black_Rend[9] = FindRandomRendDeviceBySlot(9)
	Dev_Black_Rend[10] = FindRandomRendDeviceBySlot(10)
	Dev_Black_Rend[11] = FindRandomRendDeviceBySlot(11)
	Dev_Black_Rend[12] = FindRandomRendDeviceBySlot(12)
	Dev_Black_Rend[13] = FindRandomRendDeviceBySlot(13)
	Dev_Black_Rend[14] = FindRandomRendDeviceBySlot(14)
	Dev_Black_Rend[15] = FindRandomRendDeviceBySlot(15)
	Dev_Black_Rend[16] = FindRandomRendDeviceBySlot(16)

	
	; Set 5 - Red Metal - inventory
	Dev_Red_Inv = new armor[17]
	Dev_Red_Inv[0] = RedBeltF
	Dev_Red_Inv[1] = RedBeltO
	Dev_Red_Inv[2] = FindRandomInvDeviceBySlot(2)
	Dev_Red_Inv[3] = RedCollarS
	Dev_Red_Inv[4] = RedCollarP
	Dev_Red_Inv[5] = FindRandomInvDeviceBySlot(5)
	Dev_Red_Inv[6] = RedArmCuff
	Dev_Red_Inv[7] = RedLegCuff
	Dev_Red_Inv[8] = RedBra
	Dev_Red_Inv[9] = FindRandomInvDeviceBySlot(9)
	Dev_Red_Inv[10] = FindRandomInvDeviceBySlot(10)
	Dev_Red_Inv[11] = FindRandomInvDeviceBySlot(11)
	Dev_Red_Inv[12] = FindRandomInvDeviceBySlot(12)
	Dev_Red_Inv[13] = FindRandomInvDeviceBySlot(13)
	Dev_Red_Inv[14] = FindRandomInvDeviceBySlot(14)
	Dev_Red_Inv[15] = FindRandomInvDeviceBySlot(15)
	Dev_Red_Inv[16] = FindRandomInvDeviceBySlot(16)
	
	; Set 5 - Red Metal - rendered
	Dev_Red_Rend = new armor[17]
	Dev_Red_Rend[0] = RedBeltFRend
	Dev_Red_Rend[1] = RedBeltORend
	Dev_Red_Rend[2] = FindRandomRendDeviceBySlot(2)
	Dev_Red_Rend[3] = RedCollarSRend
	Dev_Red_Rend[4] = RedCollarPRend
	Dev_Red_Rend[5] = FindRandomRendDeviceBySlot(5)
	Dev_Red_Rend[6] = RedArmCuffRend
	Dev_Red_Rend[7] = RedLegCuffRend
	Dev_Red_Rend[8] = RedBraRend
	Dev_Red_Rend[9] = FindRandomRendDeviceBySlot(9)
	Dev_Red_Rend[10] = FindRandomRendDeviceBySlot(10)
	Dev_Red_Rend[11] = FindRandomRendDeviceBySlot(11)
	Dev_Red_Rend[12] = FindRandomRendDeviceBySlot(12)
	Dev_Red_Rend[13] = FindRandomRendDeviceBySlot(13)
	Dev_Red_Rend[14] = FindRandomRendDeviceBySlot(14)
	Dev_Red_Rend[15] = FindRandomRendDeviceBySlot(15)
	Dev_Red_Rend[16] = FindRandomRendDeviceBySlot(16)

	
	; Set 6 - Red Metal - inventory
	Dev_DarkRed_Inv = new armor[17]
	Dev_DarkRed_Inv[0] = DkRedBeltF
	Dev_DarkRed_Inv[1] = DkRedBeltO
	Dev_DarkRed_Inv[2] = FindRandomInvDeviceBySlot(2)
	Dev_DarkRed_Inv[3] = DkRedCollarS
	Dev_DarkRed_Inv[4] = DkRedCollarP
	Dev_DarkRed_Inv[5] = FindRandomInvDeviceBySlot(5)
	Dev_DarkRed_Inv[6] = DkRedArmCuff
	Dev_DarkRed_Inv[7] = DkRedLegCuff
	Dev_DarkRed_Inv[8] = DkRedBra
	Dev_DarkRed_Inv[9] = FindRandomInvDeviceBySlot(9)
	Dev_DarkRed_Inv[10] = FindRandomInvDeviceBySlot(10)
	Dev_DarkRed_Inv[11] = FindRandomInvDeviceBySlot(11)
	Dev_DarkRed_Inv[12] = FindRandomInvDeviceBySlot(12)
	Dev_DarkRed_Inv[13] = FindRandomInvDeviceBySlot(13)
	Dev_DarkRed_Inv[14] = FindRandomInvDeviceBySlot(14)
	Dev_DarkRed_Inv[15] = FindRandomInvDeviceBySlot(15)
	Dev_DarkRed_Inv[16] = FindRandomInvDeviceBySlot(16)
	
	; Set 6 - Red Metal - rendered
	Dev_DarkRed_Rend = new armor[17]
	Dev_DarkRed_Rend[0] = DkRedBeltFRend
	Dev_DarkRed_Rend[1] = DkRedBeltORend
	Dev_DarkRed_Rend[2] = FindRandomRendDeviceBySlot(2)
	Dev_DarkRed_Rend[3] = DkRedCollarSRend
	Dev_DarkRed_Rend[4] = DkRedCollarPRend
	Dev_DarkRed_Rend[5] = FindRandomRendDeviceBySlot(5)
	Dev_DarkRed_Rend[6] = DkRedArmCuffRend
	Dev_DarkRed_Rend[7] = DkRedLegCuffRend
	Dev_DarkRed_Rend[8] = DkRedBraRend
	Dev_DarkRed_Rend[9] = FindRandomRendDeviceBySlot(9)
	Dev_DarkRed_Rend[10] = FindRandomRendDeviceBySlot(10)
	Dev_DarkRed_Rend[11] = FindRandomRendDeviceBySlot(11)
	Dev_DarkRed_Rend[12] = FindRandomRendDeviceBySlot(12)
	Dev_DarkRed_Rend[13] = FindRandomRendDeviceBySlot(13)
	Dev_DarkRed_Rend[14] = FindRandomRendDeviceBySlot(14)
	Dev_DarkRed_Rend[15] = FindRandomRendDeviceBySlot(15)
	Dev_DarkRed_Rend[16] = FindRandomRendDeviceBySlot(16)	

	
	; Set 7 - White Metal - inventory
	Dev_White_Inv = new armor[17]
	Dev_White_Inv[0] = WhtBeltF
	Dev_White_Inv[1] = WhtBeltO
	Dev_White_Inv[2] = FindRandomInvDeviceBySlot(2)
	Dev_White_Inv[3] = WhtCollarS
	Dev_White_Inv[4] = WhtCollarP
	Dev_White_Inv[5] = FindRandomInvDeviceBySlot(5)
	Dev_White_Inv[6] = WhtArmCuff
	Dev_White_Inv[7] = WhtLegCuff
	Dev_White_Inv[8] = WhtBra
	Dev_White_Inv[9] = FindRandomInvDeviceBySlot(9)
	Dev_White_Inv[10] = FindRandomInvDeviceBySlot(10)
	Dev_White_Inv[11] = FindRandomInvDeviceBySlot(11)
	Dev_White_Inv[12] = FindRandomInvDeviceBySlot(12)
	Dev_White_Inv[13] = FindRandomInvDeviceBySlot(13)
	Dev_White_Inv[14] = FindRandomInvDeviceBySlot(14)
	Dev_White_Inv[15] = FindRandomInvDeviceBySlot(15)
	Dev_White_Inv[16] = FindRandomInvDeviceBySlot(16)
	
	; Set 7 - White Metal - rendered
	Dev_White_Rend = new armor[17]
	Dev_White_Rend[0] = WhtBeltFRend
	Dev_White_Rend[1] = WhtBeltORend
	Dev_White_Rend[2] = FindRandomRendDeviceBySlot(2)
	Dev_White_Rend[3] = WhtCollarSRend
	Dev_White_Rend[4] = WhtCollarPRend
	Dev_White_Rend[5] = FindRandomRendDeviceBySlot(5)
	Dev_White_Rend[6] = WhtArmCuffRend
	Dev_White_Rend[7] = WhtLegCuffRend
	Dev_White_Rend[8] = WhtBraRend
	Dev_White_Rend[9] = FindRandomRendDeviceBySlot(9)
	Dev_White_Rend[10] = FindRandomRendDeviceBySlot(10)
	Dev_White_Rend[11] = FindRandomRendDeviceBySlot(11)
	Dev_White_Rend[12] = FindRandomRendDeviceBySlot(12)
	Dev_White_Rend[13] = FindRandomRendDeviceBySlot(13)
	Dev_White_Rend[14] = FindRandomRendDeviceBySlot(14)
	Dev_White_Rend[15] = FindRandomRendDeviceBySlot(15)
	Dev_White_Rend[16] = FindRandomRendDeviceBySlot(16)

	
	; Set 8 - Black Leather - inventory
	Dev_BlackLtr_Inv = new armor[17]
	Dev_BlackLtr_Inv[0] = FindRandomInvDeviceBySlot(0)
	Dev_BlackLtr_Inv[1] = FindRandomInvDeviceBySlot(1)
	Dev_BlackLtr_Inv[2] = LtrBkHarness
	Dev_BlackLtr_Inv[3] = LtrBkCollarS
	Dev_BlackLtr_Inv[4] = LtrBkCollarP
	Dev_BlackLtr_Inv[5] = LtrBkCollarH
	Dev_BlackLtr_Inv[6] = FindRandomInvDeviceBySlot(6)
	Dev_BlackLtr_Inv[7] = LtrBkArmcuff
	Dev_BlackLtr_Inv[8] = LtrBkLegCuff
	Dev_BlackLtr_Inv[9] = LtrBkPBoots
	Dev_BlackLtr_Inv[10] = LtrBkBlindfoldAlt
	Dev_BlackLtr_Inv[11] = LtrBkHarnessRingGag
	Dev_BlackLtr_Inv[12] = LtrBkHarnessBallGag
	Dev_BlackLtr_Inv[13] = LtrBkHarnessPanelGag
	Dev_BlackLtr_Inv[14] = LtrBkSimpleRingGag
	Dev_BlackLtr_Inv[15] = LtrBkSimpleBallGag
	Dev_BlackLtr_Inv[16] = LtrBkSimplePanelGag
	
	; Set 8 - Black Leather - Rendered
	Dev_BlackLtr_Rend = new armor[17]
	Dev_BlackLtr_Rend[0] = FindRandomRendDeviceBySlot(0)
	Dev_BlackLtr_Rend[1] = FindRandomRendDeviceBySlot(1)
	Dev_BlackLtr_Rend[2] = LtrBkHarnessRend
	Dev_BlackLtr_Rend[3] = LtrBkCollarSRend
	Dev_BlackLtr_Rend[4] = LtrBkCollarPRend
	Dev_BlackLtr_Rend[5] = LtrBkCollarHRend
	Dev_BlackLtr_Rend[6] = FindRandomRendDeviceBySlot(6)
	Dev_BlackLtr_Rend[7] = LtrBkArmcuffRend
	Dev_BlackLtr_Rend[8] = LtrBkLegCuffRend
	Dev_BlackLtr_Rend[9] = LtrBkPBootsRend
	Dev_BlackLtr_Rend[10] = LtrBkBlindfoldRendAlt
	Dev_BlackLtr_Rend[11] = LtrBkHarnessRingGagRend
	Dev_BlackLtr_Rend[12] = LtrBkHarnessBallGagRend
	Dev_BlackLtr_Rend[13] = LtrBkHarnessPanelGagRend
	Dev_BlackLtr_Rend[14] = LtrBkSimpleRingGagRend
	Dev_BlackLtr_Rend[15] = LtrBkSimpleBallGagRend
	Dev_BlackLtr_Rend[16] = LtrBkSimplePanelGagRend


	; Set 9 - Red Leather - inventory
	Dev_RedLtr_Inv = new armor[17]
	Dev_RedLtr_Inv[0] = FindRandomInvDeviceBySlot(0)
	Dev_RedLtr_Inv[1] = FindRandomInvDeviceBySlot(1)
	Dev_RedLtr_Inv[2] = LtrRdHarness
	Dev_RedLtr_Inv[3] = LtrRdCollarS
	Dev_RedLtr_Inv[4] = LtrRdCollarP
	Dev_RedLtr_Inv[5] = LtrRdCollarH
	Dev_RedLtr_Inv[6] = FindRandomInvDeviceBySlot(6)
	Dev_RedLtr_Inv[7] = LtrRdArmcuff
	Dev_RedLtr_Inv[8] = LtrRdLegCuff
	Dev_RedLtr_Inv[9] = LtrRdPBoots
	Dev_RedLtr_Inv[10] = LtrRdBlindfoldAlt
	Dev_RedLtr_Inv[11] = LtrRdHarnessRingGag
	Dev_RedLtr_Inv[12] = LtrRdHarnessBallGag
	Dev_RedLtr_Inv[13] = LtrRdHarnessPanelGag
	Dev_RedLtr_Inv[14] = LtrRdSimpleRingGag
	Dev_RedLtr_Inv[15] = LtrRdSimpleBallGag
	Dev_RedLtr_Inv[16] = LtrRdSimplePanelGag
	
	; Set 9 - Red Leather - Rendered
	Dev_RedLtr_Rend = new armor[17]
	Dev_RedLtr_Rend[0] = FindRandomRendDeviceBySlot(0)
	Dev_RedLtr_Rend[1] = FindRandomRendDeviceBySlot(1)
	Dev_RedLtr_Rend[2] = LtrRdHarnessRend
	Dev_RedLtr_Rend[3] = LtrRdCollarSRend
	Dev_RedLtr_Rend[4] = LtrRdCollarPRend
	Dev_RedLtr_Rend[5] = LtrRdCollarHRend
	Dev_RedLtr_Rend[6] = FindRandomRendDeviceBySlot(6)
	Dev_RedLtr_Rend[7] = LtrRdArmcuffRend
	Dev_RedLtr_Rend[8] = LtrRdLegCuffRend
	Dev_RedLtr_Rend[9] = LtrRdPBootsRend
	Dev_RedLtr_Rend[10] = LtrRdBlindfoldRendAlt
	Dev_RedLtr_Rend[11] = LtrRdHarnessRingGagRend
	Dev_RedLtr_Rend[12] = LtrRdHarnessBallGagRend
	Dev_RedLtr_Rend[13] = LtrRdHarnessPanelGagRend
	Dev_RedLtr_Rend[14] = LtrRdSimpleRingGagRend
	Dev_RedLtr_Rend[15] = LtrRdSimpleBallGagRend
	Dev_RedLtr_Rend[16] = LtrRdSimplePanelGagRend


	; Set 10 - White Leather - inventory
	Dev_WhiteLtr_Inv = new armor[17]
	Dev_WhiteLtr_Inv[0] = FindRandomInvDeviceBySlot(0)
	Dev_WhiteLtr_Inv[1] = FindRandomInvDeviceBySlot(1)
	Dev_WhiteLtr_Inv[2] = LtrWtHarness
	Dev_WhiteLtr_Inv[3] = LtrWtCollarS
	Dev_WhiteLtr_Inv[4] = LtrWtCollarP
	Dev_WhiteLtr_Inv[5] = LtrWtCollarH
	Dev_WhiteLtr_Inv[6] = FindRandomInvDeviceBySlot(6)
	Dev_WhiteLtr_Inv[7] = LtrWtArmcuff
	Dev_WhiteLtr_Inv[8] = LtrWtLegCuff
	Dev_WhiteLtr_Inv[9] = LtrWtPBoots
	Dev_WhiteLtr_Inv[10] = LtrWtBlindfoldAlt
	Dev_WhiteLtr_Inv[11] = LtrWtHarnessRingGag
	Dev_WhiteLtr_Inv[12] = LtrWtHarnessBallGag
	Dev_WhiteLtr_Inv[13] = LtrWtHarnessPanelGag
	Dev_WhiteLtr_Inv[14] = LtrWtSimpleRingGag
	Dev_WhiteLtr_Inv[15] = LtrWtSimpleBallGag
	Dev_WhiteLtr_Inv[16] = LtrWtSimplePanelGag
	
	; Set 10 - White Leather - Rendered
	Dev_WhiteLtr_Rend = new armor[17]
	Dev_WhiteLtr_Rend[0] = FindRandomRendDeviceBySlot(0)
	Dev_WhiteLtr_Rend[1] = FindRandomRendDeviceBySlot(1)
	Dev_WhiteLtr_Rend[2] = LtrWtHarnessRend
	Dev_WhiteLtr_Rend[3] = LtrWtCollarSRend
	Dev_WhiteLtr_Rend[4] = LtrWtCollarPRend
	Dev_WhiteLtr_Rend[5] = LtrWtCollarHRend
	Dev_WhiteLtr_Rend[6] = FindRandomRendDeviceBySlot(6)
	Dev_WhiteLtr_Rend[7] = LtrWtArmcuffRend
	Dev_WhiteLtr_Rend[8] = LtrWtLegCuffRend
	Dev_WhiteLtr_Rend[9] = LtrWtPBootsRend
	Dev_WhiteLtr_Rend[10] = LtrWtBlindfoldRendAlt
	Dev_WhiteLtr_Rend[11] = LtrWtHarnessRingGagRend
	Dev_WhiteLtr_Rend[12] = LtrWtHarnessBallGagRend
	Dev_WhiteLtr_Rend[13] = LtrWtHarnessPanelGagRend
	Dev_WhiteLtr_Rend[14] = LtrWtSimpleRingGagRend
	Dev_WhiteLtr_Rend[15] = LtrWtSimpleBallGagRend
	Dev_WhiteLtr_Rend[16] = LtrWtSimplePanelGagRend

	
	; Set 11 - Black Ebonite - inventory
	Dev_BlackEbo_Inv = new armor[17]
	Dev_BlackEbo_Inv[0] = FindRandomInvDeviceBySlot(0)
	Dev_BlackEbo_Inv[1] = FindRandomInvDeviceBySlot(1)
	Dev_BlackEbo_Inv[2] = EboBlHarnessAlt
	Dev_BlackEbo_Inv[3] = EboBlCollarS
	Dev_BlackEbo_Inv[4] = EboBlCollarPAlt
	Dev_BlackEbo_Inv[5] = EboBlCollarH
	Dev_BlackEbo_Inv[6] = FindRandomInvDeviceBySlot(6)
	Dev_BlackEbo_Inv[7] = EboBlArmcuff
	Dev_BlackEbo_Inv[8] = EboBlLegCuff
	Dev_BlackEbo_Inv[9] = EboBlPBoots
	Dev_BlackEbo_Inv[10] = EboBlBlindfoldAlt
	Dev_BlackEbo_Inv[11] = EboBlHarnessRingGag
	Dev_BlackEbo_Inv[12] = EboBlHarnessBallGag
	Dev_BlackEbo_Inv[13] = EboBlHarnessPanelGag
	Dev_BlackEbo_Inv[14] = EboBlSimpleRingGag
	Dev_BlackEbo_Inv[15] = EboBlSimpleBallGag
	Dev_BlackEbo_Inv[16] = EboBlSimplePanelGag
	
	; Set 11 - Black Ebonite - Rendered
	Dev_BlackEbo_Rend = new armor[17]
	Dev_BlackEbo_Rend[0] = FindRandomRendDeviceBySlot(0)
	Dev_BlackEbo_Rend[1] = FindRandomRendDeviceBySlot(1)
	Dev_BlackEbo_Rend[2] = EboBlHarnessRendAlt
	Dev_BlackEbo_Rend[3] = EboBlCollarSRend
	Dev_BlackEbo_Rend[4] = EboBlCollarPRend
	Dev_BlackEbo_Rend[5] = EboBlCollarHRend
	Dev_BlackEbo_Rend[6] = FindRandomRendDeviceBySlot(6)
	Dev_BlackEbo_Rend[7] = EboBlArmcuffRend
	Dev_BlackEbo_Rend[8] = EboBlLegCuffRend
	Dev_BlackEbo_Rend[9] = EboBlPBootsRend
	Dev_BlackEbo_Rend[10] = EboBlBlindfoldRendAlt
	Dev_BlackEbo_Rend[11] = EboBlHarnessRingGagRend
	Dev_BlackEbo_Rend[12] = EboBlHarnessBallGagRend
	Dev_BlackEbo_Rend[13] = EboBlHarnessPanelGagRend
	Dev_BlackEbo_Rend[14] = EboBlSimpleRingGagRend
	Dev_BlackEbo_Rend[15] = EboBlSimpleBallGagRend
	Dev_BlackEbo_Rend[16] = EboBlSimplePanelGagRend
	
	
	; Set 12 - Red Ebonite - inventory
	Dev_RedEbo_Inv = new armor[17]
	Dev_RedEbo_Inv[0] = FindRandomInvDeviceBySlot(0)
	Dev_RedEbo_Inv[1] = FindRandomInvDeviceBySlot(1)
	Dev_RedEbo_Inv[2] = EboRdHarness
	Dev_RedEbo_Inv[3] = EboRdCollarS
	Dev_RedEbo_Inv[4] = EboRdCollarP
	Dev_RedEbo_Inv[5] = EboRdCollarH
	Dev_RedEbo_Inv[6] = FindRandomInvDeviceBySlot(6)
	Dev_RedEbo_Inv[7] = EboRdArmcuff
	Dev_RedEbo_Inv[8] = EboRdLegCuff
	Dev_RedEbo_Inv[9] = EboRdPBoots
	Dev_RedEbo_Inv[10] = EboRdBlindfoldAlt
	Dev_RedEbo_Inv[11] = EboRdHarnessRingGag
	Dev_RedEbo_Inv[12] = EboRdHarnessBallGag
	Dev_RedEbo_Inv[13] = EboRdHarnessPanelGag
	Dev_RedEbo_Inv[14] = EboRdSimpleRingGag
	Dev_RedEbo_Inv[15] = EboRdSimpleBallGag
	Dev_RedEbo_Inv[16] = EboRdSimplePanelGag
	
	; Set 12 - Red Ebonite - RendeWhite
	Dev_RedEbo_Rend = new armor[17]
	Dev_RedEbo_Rend[0] = FindRandomRendDeviceBySlot(0)
	Dev_RedEbo_Rend[1] = FindRandomRendDeviceBySlot(1)
	Dev_RedEbo_Rend[2] = EboRdHarnessRend
	Dev_RedEbo_Rend[3] = EboRdCollarSRend
	Dev_RedEbo_Rend[4] = EboRdCollarPRend
	Dev_RedEbo_Rend[5] = EboRdCollarHRend
	Dev_RedEbo_Rend[6] = FindRandomRendDeviceBySlot(6)
	Dev_RedEbo_Rend[7] = EboRdArmcuffRend
	Dev_RedEbo_Rend[8] = EboRdLegCuffRend
	Dev_RedEbo_Rend[9] = EboRdPBootsRend
	Dev_RedEbo_Rend[10] = EboRdBlindfoldRendAlt
	Dev_RedEbo_Rend[11] = EboRdHarnessRingGagRend
	Dev_RedEbo_Rend[12] = EboRdHarnessBallGagRend
	Dev_RedEbo_Rend[13] = EboRdHarnessPanelGagRend
	Dev_RedEbo_Rend[14] = EboRdSimpleRingGagRend
	Dev_RedEbo_Rend[15] = EboRdSimpleBallGagRend
	Dev_RedEbo_Rend[16] = EboRdSimplePanelGagRend
	
	
	; Set 13 - White Ebonite - inventory
	Dev_WhiteEbo_Inv = new armor[17]
	Dev_WhiteEbo_Inv[0] = FindRandomInvDeviceBySlot(0)
	Dev_WhiteEbo_Inv[1] = FindRandomInvDeviceBySlot(1)
	Dev_WhiteEbo_Inv[2] = EboWtHarness
	Dev_WhiteEbo_Inv[3] = EboWtCollarS
	Dev_WhiteEbo_Inv[4] = EboWtCollarP
	Dev_WhiteEbo_Inv[5] = EboWtCollarH
	Dev_WhiteEbo_Inv[6] = FindRandomInvDeviceBySlot(6)
	Dev_WhiteEbo_Inv[7] = EboWtArmcuff
	Dev_WhiteEbo_Inv[8] = EboWtLegCuff
	Dev_WhiteEbo_Inv[9] = EboWtPBoots
	Dev_WhiteEbo_Inv[10] = EboWtBlindfoldAlt
	Dev_WhiteEbo_Inv[11] = EboWtHarnessRingGag
	Dev_WhiteEbo_Inv[12] = EboWtHarnessBallGag
	Dev_WhiteEbo_Inv[13] = EboWtHarnessPanelGag
	Dev_WhiteEbo_Inv[14] = EboWtSimpleRingGag
	Dev_WhiteEbo_Inv[15] = EboWtSimpleBallGag
	Dev_WhiteEbo_Inv[16] = EboWtSimplePanelGag
	
	; Set 13 - White Ebonite - Rendered
	Dev_WhiteEbo_Rend = new armor[17]
	Dev_WhiteEbo_Rend[0] = FindRandomRendDeviceBySlot(0)
	Dev_WhiteEbo_Rend[1] = FindRandomRendDeviceBySlot(1)
	Dev_WhiteEbo_Rend[2] = EboWtHarnessRend
	Dev_WhiteEbo_Rend[3] = EboWtCollarSRend
	Dev_WhiteEbo_Rend[4] = EboWtCollarPRend
	Dev_WhiteEbo_Rend[5] = EboWtCollarHRend
	Dev_WhiteEbo_Rend[6] = FindRandomRendDeviceBySlot(6)
	Dev_WhiteEbo_Rend[7] = EboWtArmcuffRend
	Dev_WhiteEbo_Rend[8] = EboWtLegCuffRend
	Dev_WhiteEbo_Rend[9] = EboWtPBootsRend
	Dev_WhiteEbo_Rend[10] = EboWtBlindfoldRendAlt
	Dev_WhiteEbo_Rend[11] = EboWtHarnessRingGagRend
	Dev_WhiteEbo_Rend[12] = EboWtHarnessBallGagRend
	Dev_WhiteEbo_Rend[13] = EboWtHarnessPanelGagRend
	Dev_WhiteEbo_Rend[14] = EboWtSimpleRingGagRend
	Dev_WhiteEbo_Rend[15] = EboWtSimpleBallGagRend
	Dev_WhiteEbo_Rend[16] = EboWtSimplePanelGagRend

 

 

Yet it doesn't seem to work.

I have tried several variations based on intuition and a little google, but I can't find it how I need to write this shit to be functional. What little papyrus reference is on the net is a joke.

Based on me trying to put a debug line in my newly added functions and it not appearing in the papyrus log, I assume the functions don't even get properly called.

Fuck papyrus, I don't know how anyone gets done anything in this.

Anyhow, if someone could please point out my mistake(s) and show me how this can be done properly, I'd be thankful.

 

Link to comment

Hey, first off thanks for reposting this.  Back when I first built my LE setup I was reading about CD everywhere and learned that it had been taken down, which despite the circumstances made me only more curious about it.  Excited to check it out.

 

Sorry if this has already been answered but a few searches and some thread-reading in and it still isn't clear -- is there supposed to be a CD 4.16 available or is it still just in testing?

 

The reason I ask is after reinstalling DDe SSE with the CD patch, I get an error on launch indicating that CD 4.15 is detected and 4.16 is required, and DDe won't start.  Do I have to downgrade DDe to use CD?  I'm using SSE now and respective versions, not LE.

Edited by justblue22
Link to comment
10 hours ago, justblue22 said:

Sorry if this has already been answered but a few searches and some thread-reading in and it still isn't clear -- is there supposed to be a CD 4.16 available or is it still just in testing?

As far as I read it from this thread, 4.16 has not been released yet.

 

10 hours ago, justblue22 said:

The reason I ask is after reinstalling DDe SSE with the CD patch, I get an error on launch indicating that CD 4.15 is detected and 4.16 is required, and DDe won't start.  Do I have to downgrade DDe to use CD?  I'm using SSE now and respective versions, not LE.

Uhmm, bloody abbreviations. DDe is Devious Devices expansion, of which the current version 5.2 came out before the re-release of CD and has no connection to CD I'm aware of (other than being part of the requirement)

 

DD Equip (DDE) should have the patch inside the fomod, at least on LE I've seen no complaints after people getting told to just re-install DDE. Cannot tell myself, I've simple disabled DDE for the time being.

 

 

Link to comment
13 hours ago, CaptainJ03 said:

Uhmm, bloody abbreviations. DDe is Devious Devices expansion, of which the current version 5.2 came out before the re-release of CD and has no connection to CD I'm aware of (other than being part of the requirement)

 

DD Equip (DDE) should have the patch inside the fomod, at least on LE I've seen no complaints after people getting told to just re-install DDE. Cannot tell myself, I've simple disabled DDE for the time being.

 

 

 

Good grief, sorry, yes.  I meant DD Equip I think.  I haven't tried CD at all on LE on which I have used DD Equip.

 

I think the error stylized it as "DDe" hence my typography here but I really don't remember.  What I do know for sure is that I removed DD Equip from the load order and I no longer get the error (and I'm fine like this for now).  Devious Devices expansion (all of DD) remains installed without issue.

 

Anyway, this confirms that I'm at least sane and know vaguely what I'm talking about.  I appreciate it. :)

Link to comment

I've got a bit of a problem. After being taken to the mine as a property slave and being given the miners clothes and pickaxe, there's no collision on anything, my character just walks through all walls and objects, and Mecius keeps force greeting and repeating the same dialogue before giving more clothes and pickaxes. It was funny for awhile, thinking the character is so determined to get out they just angrily throw endless pickaxes at the wall. I've been unable to fix the problem myself. I was very careful in letting each dialogue play out fully and not pressing anything unnecessary, and everything should be installed properly. Any idea what the issue is?

Link to comment
On 9/4/2023 at 12:30 AM, Betris said:

I've got a bit of a problem. After being taken to the mine as a property slave and being given the miners clothes and pickaxe, there's no collision on anything, my character just walks through all walls and objects, and Mecius keeps force greeting and repeating the same dialogue before giving more clothes and pickaxes. It was funny for awhile, thinking the character is so determined to get out they just angrily throw endless pickaxes at the wall. I've been unable to fix the problem myself. I was very careful in letting each dialogue play out fully and not pressing anything unnecessary, and everything should be installed properly. Any idea what the issue is?

i have no idea on the force greeting part of what you are describing.

 

however the walk through walls part sounds like collision got turned off somehow.

something you can try to find out if collision is turned off is to load the save game it is happening in and open the console then type TCL (toggle collision),

hit enter and it should tell you if it is turning collision on or off. if TCL turns collision off something else is causing it (no clue what) but if it turns it on

that would at least fix part of the problem you are having.

 

Link to comment
1 hour ago, dovehello said:

what should i do in the slave start? everyone in mine just keep saying one sentence, and quest only said "....just a property slave" without further guide.

Have you been given a pick and clothes? If so, go look at the ledger near the beds/cage.

 

If you haven't been given a pick, clothes, and a lecture by the bossman, restart. Something's fucked up.

Edited by threp
Link to comment
On 9/5/2023 at 12:30 AM, valcon767 said:

i have no idea on the force greeting part of what you are describing.

 

however the walk through walls part sounds like collision got turned off somehow.

something you can try to find out if collision is turned off is to load the save game it is happening in and open the console then type TCL (toggle collision),

hit enter and it should tell you if it is turning collision on or off. if TCL turns collision off something else is causing it (no clue what) but if it turns it on

that would at least fix part of the problem you are having.

 

I tried using the TCL command, that takes away all collision, without it the character walks properly on the x axis but everything else has no collision, walls stairs objects, ect. I reloaded different saves several times, everything works ok up until that moment. Should I try to reinstall the mod?

Edited by Betris
Link to comment

My hope for THE favorite sexy mod. I hope that with you being back, you continue to develop this and you and/or other mod authors can implement all the functionality and storyline Captured Dreams has to offer. I thought you said you were going to stay on LE, but I'm also hoping you find your way to AE. 

 

 

 

I wanted to say something nice about something I like today. Hopefully it reads well as I intended.

Link to comment

I had to do a reinstall today, and i am having the issue that the mod doesnt get loaded correctly. It shows up in the ingame modlist, yet the locations dont exist and it doesnt show up in the MCM, I had it working a week ago without any problems. and im very sure i have all of the requirements.

Link to comment
  • 2 weeks later...

I am having an issue in that the game crashes anytime I try to enter the CD building. Surprisingly this is the only place the game crashes but it happens every time. Any suggestions as to the cause or solutions to the issue. I ran the Chloe questline just fine although finding Ninroot in the last one was a pain : )

BTW, THANK YOU for bringing this great mod back after the original maker found religion or whatever that caused them to not only quit working on it but pull it from pretty much every source it was available.

 

Link to comment
5 hours ago, powergame214 said:

THANK YOU for bringing this great mod back after the original maker found religion or whatever that caused them to not only quit working on it but pull it from pretty much every source it was available.

This has been re-uploaded by the original maker, and he had found a serious depression - no fun.

And it's any mod author's good right to pull down their own work if they feel it's not worth the hassle.

 

On 10/10/2023 at 5:50 PM, AncillaSineFacie said:

waiting for updates

Seems you translator is not working. The words are "thank you for bringing it back"

 

Edited by CaptainJ03
re-worded for better comprehension
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