Jump to content

Devious Devices Framework Development/Beta


Kimy

Recommended Posts

Posted
8 minutes ago, Majin Buu said:

This only for LE or works for SE too? Same question the previous small DD fixes post?

Afaik since both are just plugins, they should be game version agnostic, so therefore just plug-and-play, however I have a whole 7 minutes played on SSE so don't quote me on that.

Posted
6 hours ago, Taki17 said:

There is a zadxbuilder.bat batch file inside Data\Scripts\Source and I'm unsure if it's even used for anything on the development side, or is it even useful for anyone in it's current state, since it uses absolute paths so wouldn't even work in an environment that does not have the same drive letters and folder structures setup. If it's truly unneeded, it could see to being removed from the archive.

Similarly, there's a bunch of console batch files included (in the SE version at least) that appear to be for testing, however they'd only work if the user happens to have the DD plugins in the same load order positions as the person who wrote them.

Posted

I have been thinking of adding the bell sound effect script that got introduced with the muzzle lips gag .. onto the pet collar (bell).
I vaguely remember how/when I added the heels sounds effects to some shoes earlier, but any and all advice and tips will be appreciated.

Posted
3 minutes ago, Pyreliter said:

I vaguely remember how/when I added the heels sounds effects to some shoes earlier, but any and all advice and tips will be appreciated.

As far as I can tell, it's part of the enchantment applied to the gag (named zad_enchGagDingaLing), and the sound playing when moving is part of one of the magic effects applied by said enchantment. @audhol made them, so they could tell you if there is more to it.

Posted
22 hours ago, naaitsab said:

Same goes for all the Devious Defiants scripts. Quite a number that can be removed from the script archive. When the last RC is ready I can check them and place all those in a subfolder. If there are no complaints after it goes live we can remove the folder on the next update.

 

Sounds great! :)

Posted
On 12/13/2022 at 8:42 AM, qjhsaws said:

Hi, I'm having an weird problem with ebonite arm&elbow binders, all of them, including those added by other mods had turned black.

I found that changes to the "shine" still work(inox one from DDE), with some flickering, but the main colour is still black, seems like there is another layer on top.

I couldn't figure out what is happening, all the leather ones are fine.

 

I'm playing the beta10 RC1 on SE 

@zarantha Don't know if it is the same thing, but this issue caused me much pain while converting to TBD. Someone showed me two possible fixes and it worked out.

In Nifskope BSTriShape might have wrong Vertex Desc flags. It might have Eye Data or Color flags when it isn't supposed to have them.

BSTriShapes not having exact same order might cause issues depending on Skyrim's mood. Block > Move Up/Move Down in Nifskope

 

When something went wrong, I compared with zarantha's files to fix them. If there are issues comparing them with older versions might show why.

Posted

I'm not sure if I'm the only one but, I'm having a slight issue with the mittens, in that I can't unlock them any other way than to struggle out of them, the 'unlock' option is there but doesn't work, but, as I said, it is only a small problem, that I've so far been able to cope with, I just thought I should say it here in case I'm not the only one.

(I have also tried uninstalling everything but DD and it's req's, which in fact did not fix the problem)

Posted (edited)
On 12/21/2022 at 4:10 PM, someuselessuser said:

@zarantha Don't know if it is the same thing, but this issue caused me much pain while converting to TBD. Someone showed me two possible fixes and it worked out.

In Nifskope BSTriShape might have wrong Vertex Desc flags. It might have Eye Data or Color flags when it isn't supposed to have them.

BSTriShapes not having exact same order might cause issues depending on Skyrim's mood. Block > Move Up/Move Down in Nifskope

 

When something went wrong, I compared with zarantha's files to fix them. If there are issues comparing them with older versions might show why.

 

Pretty sure i compared to the old versions and found nothing different. i don't recall eye data or any difference in color flags. I'll try to look at it again, but I only saw it on elbowbinders i think, not all of them, so I'm not sure if the other user just did an inaccurate report or if they have something else going on.

 

I've got on the back burner right now, simmering in the hopes something will bubble up.

Edited by zarantha
Posted (edited)

SSE HDT question, the black steel fetters work perfectly for me with 5.1, I can equip, unequip add/remove/add them to NPCs and they work perfectly. Is it possible to use the same physics config they have for the other ankle chains(are they already?) or is it not possible?

 

I have no idea how physics works, just that these ankle chains work for me and the others don't with SSE Faster SMP.

Edited by shrtjsrtj
Posted
38 minutes ago, shrtjsrtj said:

HDT question, the black steel fetters work perfectly for me with 5.1, I can equip, unequip add/remove/add them to NPCs and they work perfectly. Is it possible to use the same physics config they have for the other ankle chains(are they already?) or is it not possible?

 

I have no idea how physics works, just that these ankle chains work for me and the others don't.

Should specify if you are on LE or SE. HDT-PE and HDT-SMP are totally different things.

Posted
On 12/13/2022 at 3:42 PM, zarantha said:

 

There haven't been changes to those items for a while though, so that's odd.

 

Looks like I'm not seeing it on the armbinders, just the red and white ebonite elbowbinders. I'm also seeing it in beta 7, so it's not a new issue. I'll poke around some later.

any news on the colour issue yet? Also I'm seeing it on the ebonite armbinders as well, sad.
I tried changing the texture swaps in SSEEdit but nothing happened. I also checked script entries and they seems fine too.

I'm so confused.

Posted
On 12/11/2022 at 8:11 PM, zarantha said:

DD SE 5.2 Beta 10 RC 1 conversion.

Thanks for the SE link!
Is it safe to update to Beta 10 mid-playthrough? Currently using Beta 7 which became a bit outdated. 

Posted

Is there still no real fix for the HDT chains, like the poisoner Chains for SE? 'Faster HDT' removes near all lag from game but the chains still don't connect properly which is an old bug.

Posted
19.11.2021 в 01:52, Кими сказал:

Коварные устройства 5.2 Бета 2

 

Я собрал большой патч, предоставленный UnevenSteven, а также исправление Elbowbinder для этого патча. Я все еще воздерживаюсь от объединения других исправлений кода и моделей, чтобы мы могли заставить работать более крупные изменения!

 

Как правило, бета-версия DD встречается только для Skyrim LE. При этом, если игроки решат передавать его на SE самостоятельно, я с удовольствием выслушаю отчеты об ошибках SE, если исправить проблемы в коде LE. Все, что я могу исправить в кодовой базе LE, бедным портировщикам SE не сделает позже!:)

 

У меня все еще есть некоторые вклады, нуждающиеся в слиянии. Если вы прислали мне файлы для DD и пропустили их в версию Beta 1: Не паникуйте! Они едут!:)

 

Инструкции по установке:

 

1. УДАЛИТЕ любую предыдущую версию DD. НЕ перезаписывайте старую версию DD или версию 5.2 Beta 1 на 5.2 Beta 2!!!

2. Установите DD 5.2 Beta 2 с помощью вашего любимого менеджера модов.

3. Получайте удовольствие от охоты на жуков!

 

Технически новая игра не нуждается в обновлении с DD5.x, но я все же был бы признателен, если бы протестовали люди DD 5.2 на новой и чисто сохраненной игре, просто уверен.

 

Ссылка для скачивания:

 

https://mega.nz/file/WEUwgTAa#J2J_urVW0VKCVUvAmPLXiT6Y-GeEWZNEuC7REi4gt0Y

Версия 5.2 примерно через 15 минут. появляется ошибка " An error occurred while installing Devious Devices. Please check the log for more information. Error text: Error: Invalid search string passed to ArousalThreshold (Desperate)!"

Posted
On 12/20/2022 at 4:57 PM, naaitsab said:

Same goes for all the Devious Defiants scripts. Quite a number that can be removed from the script archive. When the last RC is ready I can check them and place all those in a subfolder. If there are no complaints after it goes live we can remove the folder on the next update.

 

Sorry if this is a dumb question, but I can't see it anywhere else; what's 'Devious Defiants'? Searching the site for the phrase just points back to this comment.

Posted
5 hours ago, SilentAntagonist121 said:

 

Sorry if this is a dumb question, but I can't see it anywhere else; what's 'Devious Defiants'? Searching the site for the phrase just points back to this comment.

Made a typo, it's Devious Deviants. It's one of the OG mods Min made way back at like version 2 of DD. It was removed but never put out as a separate mod when they parted with the development.

I'm (at a low priority so no ETA) upgrading it to DD5 and releasing it for the public to use. With some adaptations to extend the smaller quests. The main quest line will stay as it was with maybe some minor tweaks.

Posted
9 hours ago, naaitsab said:

Made a typo, it's Devious Deviants. It's one of the OG mods Min made way back at like version 2 of DD. It was removed but never put out as a separate mod when they parted with the development.

I'm (at a low priority so no ETA) upgrading it to DD5 and releasing it for the public to use. With some adaptations to extend the smaller quests. The main quest line will stay as it was with maybe some minor tweaks.

 

Oh, is that the one where the college librarian sends you to go help with Zed after catching you stealing a book?

Cool to see an old quest like that one getting some love.

Posted (edited)

@zarantha on the latest SE beta build on CBBE I had to place the file "cuffsPaddedCollar_0.nif" from an older build into the \meshes\devious\devices folder otherwise the collar wouldn't show ingame. Guess it has to do with the incorrect _0 and _1 file-pair?

There are some other files that also only have 1 file like the blindfold and the leather posture collar but those seem to render as they should ingame.

Edited by naaitsab
Posted (edited)

Tweaked some of the event scripts. I guess it's as good as a time as any to ask for more lines of text to implement in the events notifications like the wet padding, belt, collar etc. If anyone wants to contribute let me know. Can even be new devices currently not covered like the catsuits.

 

Restrictive Collar (leverages same find name tweak the Posture Collar event has). Not sure if the "Find" function is case sensitive or not. If so the Posture collar also needs a check for "posture" instead of only "Posture". If not the second check on the script below can be removed.

 

Spoiler
scriptName zadEventRestrictiveCollar extends zadBaseEvent

bool Function HasKeywords(actor akActor)
	if !libs.AllowGenericEvents(akActor, libs.zad_DeviousCollar)
		return false
	elseif !akActor.WornHasKeyword(libs.zad_DeviousCollar)
		return false
	else
		string s = ""
		armor a = libs.GetWornDevice(akActor, libs.zad_DeviousCollar)
		if a
			s = a.GetName()
			if StringUtil.Find(s, "restrictive") != -1
				return true
			elseif StringUtil.Find(s, "Restrictive") != -1
				return true
			endif
		endif		
		return false
		;return (akActor.WornHasKeyword(libs.zad_DeviousCollar) && akActor.IsEquipped(libs.collarRestrictive) )
	endif
EndFunction

Function Execute(actor akActor)
	libs.Moan(akActor)
	if Utility.RandomInt(1,2) == 1
		libs.NotifyPlayer("Your neck feels sore from the strict posture imposed upon you.")
	Else
		libs.NotifyPlayer("You are reminded of the sturdy bar under your chin")
		libs.NotifyPlayer("as you try to look down to see where you are going.")
	EndIf
EndFunction

 

 

Periodic Shocker missing Anal plug and Nipple devices (needs a code check, I sometimes derp with the if and if-not statements in Papyrus :P )

 

Spoiler
scriptName zadEventPeriodicShocker extends zadBaseLinkedEvent

bool Function HasKeywords(actor akActor)
	return libs.ActorHasKeyword(akActor, libs.zad_EffectShocking)
EndFunction

Function Execute(actor akActor)
	if akActor == libs.playerRef
		bool hasPlugs = false
		bool hasPiercings = false
		armor vPlug = StorageUtil.GetFormValue(akActor, "zad_Equipped" + libs.LookupDeviceType(libs.zad_DeviousPlugVaginal) + "_Rendered") as Armor
		armor aPlug = StorageUtil.GetFormValue(akActor, "zad_Equipped" + libs.LookupDeviceType(libs.zad_DeviousPlugAnal) + "_Rendered") as Armor
		armor vPiercing = StorageUtil.GetFormValue(akActor, "zad_Equipped" + libs.LookupDeviceType(libs.zad_DeviousPiercingsVaginal) + "_Rendered") as Armor
		armor nPiercing = StorageUtil.GetFormValue(akActor, "zad_Equipped" + libs.LookupDeviceType(libs.zad_DeviousPiercingsNipple) + "_Rendered") as Armor
		if (vPiercing && (vPiercing.HasKeyword(libs.zad_EffectShocking))) && !(nPiercing.HasKeyword(libs.zad_EffectShocking))
			libs.NotifyPlayer("The clit piercing let out a painful jolt!")
			libs.Log("zadEventPeriodicShocker: vPiercing")
		elseif (nPiercing && (nPiercing.HasKeyword(libs.zad_EffectShocking))) && !(vPiercing.HasKeyword(libs.zad_EffectShocking))
			libs.NotifyPlayer("The nipple piercings let out a painful jolt!")
			libs.Log("zadEventPeriodicShocker: nPiercing")
		elseif (vPiercing && (vPiercing.HasKeyword(libs.zad_EffectShocking))) && (nPiercing && (nPiercing.HasKeyword(libs.zad_EffectShocking)))
			libs.NotifyPlayer("The piercings all let out a painful jolt!")
			libs.Log("zadEventPeriodicShocker: vPiercingnPiercing")
		ElseIf (vPlug && (vPlug.HasKeyword(libs.zad_EffectShocking))) && !(aPlug.HasKeyword(libs.zad_EffectShocking))
			libs.NotifyPlayer("The vaginal plug within you let out a painful jolt!")
			libs.Log("zadEventPeriodicShocker: vPlug")
		ElseIf (aPlug && (aPlug.HasKeyword(libs.zad_EffectShocking))) && !(vPlug.HasKeyword(libs.zad_EffectShocking))
			libs.NotifyPlayer("The anal plug within you let out a painful jolt!")
			libs.Log("zadEventPeriodicShocker: aPlug")
		ElseIf (aPlug && (aPlug.HasKeyword(libs.zad_EffectShocking))) && (vPlug && (vPlug.HasKeyword(libs.zad_EffectShocking)))
			libs.NotifyPlayer("The plugs within you let out a painful jolt!")
			libs.Log("zadEventPeriodicShocker: vPlugaPlug")
		Else
			libs.NotifyPlayer("A painful jolt courses through you!")
			libs.Log("zadEventPeriodicShocker: generic")
		EndIf
	Else
		libs.NotifyNPC(akActor.GetLeveledActorBase().GetName() + " squirms uncomfortably as a painful jolt courses through her!")
	EndIf
	libs.ShockEffect.RemoteCast(akActor, akActor, akActor)
	libs.Aroused.UpdateActorExposure(akActor, (-1 * Utility.RandomInt(10,20)))
EndFunction

 

 

Edited by naaitsab
Posted
1 hour ago, naaitsab said:

Tweaked some of the event scripts. I guess it's as good as a time as any to ask for more lines of text to implement in the events notifications like the wet padding, belt, collar etc. If anyone wants to contribute let me know. Can even be new devices currently not covered like the catsuits.

 

Restrictive Collar (leverages same find name tweak the Posture Collar event has). Not sure if the "Find" function is case sensitive or not. If so the Posture collar also needs a check for "posture" instead of only "Posture". If not the second check on the script below can be removed.

There are collars at least in DDX that have (Posture) in name, no mention of "Restrictive". Also ideally questgiven collars should also be given a chance to trigger random collar animations, as they are often "tighter" or bigger than normal ones. Especially those in DCL.

Posted
28 minutes ago, Zaflis said:

There are collars at least in DDX that have (Posture) in name, no mention of "Restrictive". Also ideally questgiven collars should also be given a chance to trigger random collar animations, as they are often "tighter" or bigger than normal ones. Especially those in DCL.

The non-restrictive (lol) posture collar is already covered by it's own event. But it could be the capital P in the name check prevents it from running?

 

Spoiler
scriptName zadEventPostureCollar extends zadBaseEvent

bool Function HasKeywords(actor akActor)
	if !libs.AllowGenericEvents(akActor, libs.zad_DeviousCollar)
		return false
	elseif !akActor.WornHasKeyword(libs.zad_DeviousCollar)
		return false
	else
		string s = ""
		armor a = libs.GetWornDevice(akActor, libs.zad_DeviousCollar)
		if a
			; no keyword specifically for posture collars.
			s = a.GetName()
			if StringUtil.Find(s, "Posture") != -1
				return true
			endif
		endif		
		return false
		;return (akActor.WornHasKeyword(libs.zad_DeviousCollar) && akActor.IsEquipped(libs.collarPosture) )
	endif
EndFunction

Function Execute(actor akActor)
	libs.Moan(akActor)
	libs.NotifyPlayer("The posture collar uncomfortably foces you into a more refined posture.")	
EndFunction

 

 

On the collars the "gag idle" is used when I check their scripts. Not sure if that one is fitting but I guess it's the best there is available? I've added the collars to the check to play them when the event triggers

 

Spoiler
scriptName zadEventStruggle extends zadBaseEvent

Float EventCooldown = 0.0

bool Function HasKeywords(actor akActor)
	; don't play the animation in combat
	if akActor.IsInCombat() 
		return false
	Endif
	if Utility.GetCurrentRealTime() < Eventcooldown || akActor.IsWeaponDrawn()
		Return False
	Else	 
		; no wrist restraints for now. I will add them later! Make sure to give them priority!
		return (akActor.WornHasKeyword(libs.zad_Lockable) && !akActor.WornHasKeyword(libs.zad_DeviousHeavyBondage))
	EndIf
EndFunction

Function Execute(actor akActor)
	if libs.IsAnimating(akActor)
		return
	EndIf
	; If Papyrus had dynamic arrays, I wouldn't have to write ugly code like this...Meh!
	String[] struggleStrings = new String[50]  ; increment that in case there will ever be more than 50 struggle anims!
	int len = 0
	If akActor.WornHasKeyword(libs.zad_DeviousGag) || akActor.WornHasKeyword(libs.zad_DeviousCollar)
		struggleStrings[len] = "ft_struggle_gag_1"
		len += 1
	EndIf
	If akActor.WornHasKeyword(libs.zad_DeviousBlindfold)
		struggleStrings[len] = "ft_struggle_blindfold_1"
		len += 1
	EndIf
	If akActor.WornHasKeyword(libs.zad_DeviousBoots)
		struggleStrings[len] = "ft_struggle_boots_1"
		len += 1
	EndIf
	If akActor.WornHasKeyword(libs.zad_DeviousGloves)
		struggleStrings[len] = "ft_struggle_gloves_1"
		len += 1
	EndIf
	If akActor.WornHasKeyword(libs.zad_DeviousHood)
		struggleStrings[len] = "ft_struggle_head_1"
		len += 1
	EndIf
	If akActor.WornHasKeyword(libs.zad_DeviousBelt)
		struggleStrings[len] = "DDChastityBeltStruggle01"
		len += 1
		struggleStrings[len] = "DDChastityBeltStruggle02"
		len += 1
	EndIf
	; sanity check
	If len == 0
		return
	EndIf
	Eventcooldown = Utility.GetCurrentRealTime() + 300 ; add a 5 min real time cooldown
	bool[] cameraState = libs.StartThirdPersonAnimation(akActor, struggleStrings[Utility.RandomInt(0, (len - 1) )], true)
	Utility.Wait(5)
	libs.Pant(libs.PlayerRef)
	Utility.Wait(5)
	libs.EndThirdPersonAnimation(akActor, cameraState, true)
	libs.SexlabMoan(libs.PlayerRef)
EndFunction

 

 

Posted

I know that you aren't doing much with Fallout 4, but after the official update to Skyrim DD and Skyrim Cursed Loot, could you please reconsider?  I'd love to see all of the improvements from DD moved over to Fallout 4, as well as DCW getting a nice update.

 

The community has been good enough to update Fallout DD a bit, but it's broken with the intro Vault quest, and even DCW has an issue when you go into that one special house as part of the Belted quest.  There's a fan fix for it buried somewhere in the thread.

Posted (edited)
9 hours ago, Uncontrollableabyss said:

Happy new year to all!

 

Happy new year to the members 

 

6 hours ago, ChandraArgentis said:

I know that you aren't doing much with Fallout 4, but after the official update to Skyrim DD and Skyrim Cursed Loot, could you please reconsider?  I'd love to see all of the improvements from DD moved over to Fallout 4, as well as DCW getting a nice update.

 

The community has been good enough to update Fallout DD a bit, but it's broken with the intro Vault quest, and even DCW has an issue when you go into that one special house as part of the Belted quest.  There's a fan fix for it buried somewhere in the thread.

Modding for FO4 is very different from Skyrim LE/SE. Mainly the slot system is what is holding back the progress to get it to the same level as Skyrim currently has. It also lacks a lot of animations. And with the current amount of animators being 0 if I recall correctly that's a bit of an issue.

There are some community efforts being made to fix bugs and add new features (link in my signature) but don't expect anything close to the same level. I just hope TES6 and Starfield don't use the same system as FO4 as it's rubbish.

 

 

19 hours ago, naaitsab said:

The non-restrictive (lol) posture collar is already covered by it's own event. But it could be the capital P in the name check prevents it from running?

 

  Reveal hidden contents
scriptName zadEventPostureCollar extends zadBaseEvent

bool Function HasKeywords(actor akActor)
	if !libs.AllowGenericEvents(akActor, libs.zad_DeviousCollar)
		return false
	elseif !akActor.WornHasKeyword(libs.zad_DeviousCollar)
		return false
	else
		string s = ""
		armor a = libs.GetWornDevice(akActor, libs.zad_DeviousCollar)
		if a
			; no keyword specifically for posture collars.
			s = a.GetName()
			if StringUtil.Find(s, "Posture") != -1
				return true
			endif
		endif		
		return false
		;return (akActor.WornHasKeyword(libs.zad_DeviousCollar) && akActor.IsEquipped(libs.collarPosture) )
	endif
EndFunction

Function Execute(actor akActor)
	libs.Moan(akActor)
	libs.NotifyPlayer("The posture collar uncomfortably foces you into a more refined posture.")	
EndFunction

 

 

On the collars the "gag idle" is used when I check their scripts. Not sure if that one is fitting but I guess it's the best there is available? I've added the collars to the check to play them when the event triggers

 

  Reveal hidden contents
scriptName zadEventStruggle extends zadBaseEvent

Float EventCooldown = 0.0

bool Function HasKeywords(actor akActor)
	; don't play the animation in combat
	if akActor.IsInCombat() 
		return false
	Endif
	if Utility.GetCurrentRealTime() < Eventcooldown || akActor.IsWeaponDrawn()
		Return False
	Else	 
		; no wrist restraints for now. I will add them later! Make sure to give them priority!
		return (akActor.WornHasKeyword(libs.zad_Lockable) && !akActor.WornHasKeyword(libs.zad_DeviousHeavyBondage))
	EndIf
EndFunction

Function Execute(actor akActor)
	if libs.IsAnimating(akActor)
		return
	EndIf
	; If Papyrus had dynamic arrays, I wouldn't have to write ugly code like this...Meh!
	String[] struggleStrings = new String[50]  ; increment that in case there will ever be more than 50 struggle anims!
	int len = 0
	If akActor.WornHasKeyword(libs.zad_DeviousGag) || akActor.WornHasKeyword(libs.zad_DeviousCollar)
		struggleStrings[len] = "ft_struggle_gag_1"
		len += 1
	EndIf
	If akActor.WornHasKeyword(libs.zad_DeviousBlindfold)
		struggleStrings[len] = "ft_struggle_blindfold_1"
		len += 1
	EndIf
	If akActor.WornHasKeyword(libs.zad_DeviousBoots)
		struggleStrings[len] = "ft_struggle_boots_1"
		len += 1
	EndIf
	If akActor.WornHasKeyword(libs.zad_DeviousGloves)
		struggleStrings[len] = "ft_struggle_gloves_1"
		len += 1
	EndIf
	If akActor.WornHasKeyword(libs.zad_DeviousHood)
		struggleStrings[len] = "ft_struggle_head_1"
		len += 1
	EndIf
	If akActor.WornHasKeyword(libs.zad_DeviousBelt)
		struggleStrings[len] = "DDChastityBeltStruggle01"
		len += 1
		struggleStrings[len] = "DDChastityBeltStruggle02"
		len += 1
	EndIf
	; sanity check
	If len == 0
		return
	EndIf
	Eventcooldown = Utility.GetCurrentRealTime() + 300 ; add a 5 min real time cooldown
	bool[] cameraState = libs.StartThirdPersonAnimation(akActor, struggleStrings[Utility.RandomInt(0, (len - 1) )], true)
	Utility.Wait(5)
	libs.Pant(libs.PlayerRef)
	Utility.Wait(5)
	libs.EndThirdPersonAnimation(akActor, cameraState, true)
	libs.SexlabMoan(libs.PlayerRef)
EndFunction

 

 

Made some test scripts, the check is not case sensitive. It does however trigger only on the name you see in the inventory, not the editorID. Which as far as my research tells is impossible to get via script. So modders need to take care with the naming or create their own events.

It also works on parts of the string. So checking for "cat" on a catsuit that has the keyword 'DeviousSuit' also works. So "Black Cat Suit" and "Black catsuit" are both detected.

 

I will make some new events for triggering messages on the straitjacket, hobbledress and catsuit. Will also expand the 'struggle' event with these types.

Edited by naaitsab

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