Scriptname dcur_lb_vibratorScript extends zadEquipScript
Keyword Property zad_DeviousBelt Auto

dcur_lbquestScript Property lbqs Auto

;string strFailEquip =  "You cannot insert this plug while you are wearing a chastity belt."
string strFailEquip =  "貞操帯を着けているのでプラグを挿入できません。"

int Function OnEquippedFilter(actor akActor, bool silent=false)
	; FTM optimization
	if silent && akActor != libs.PlayerRef
		return 0
	EndIf
	if akActor.WornHasKeyword(zad_DeviousBelt)
		if akActor == libs.PlayerRef && !silent
			libs.NotifyActor(strFailEquip, akActor, true)
		ElseIf  !silent
			;libs.NotifyActor("The belt " + akActor.GetLeveledActorBase().GetName() + " is wearing prevents you from inserting this plug.", akActor, true)
			libs.NotifyActor(akActor.GetLeveledActorBase().GetName() + " が貞操帯を着けているのでプラグを挿入できません。", akActor, true)
		EndIf
		return 2
	Endif
	return 0
EndFunction

Function OnEquippedPre(actor akActor, bool silent=false)
	string msg = ""
	if akActor == libs.PlayerRef
		if Aroused.GetActorExposure(akActor) < libs.ArousalThreshold("Desire")
			;msg = "Your pussy is now filled, as is your desire for pleasure."
			msg = "あなたの欲求通り、あなたのアナルは満たされます。"
		elseif Aroused.GetActorExposure(akActor) < libs.ArousalThreshold("Horny")
			;msg = "You slowly insert the vibrator inside your pussy, your lust growing with every inch they slide in."
			msg = "あなたはバイブレーターをゆっくりとヴァギナに挿入し、挿入が深くなるほどあなたの欲望は大きくなります。"
		elseif Aroused.GetActorExposure(akActor) < libs.ArousalThreshold("Desperate")
			;msg = "You insert the vibrator inside your wet pussy and take great delight in the resulting feelings of pleasure."
			msg = "あなたはバイブレーターを濡れたヴァギナに挿入し、喜びの感情の結果として恍惚を得ます。"
		else
			;msg = "Barely in control of control your own body you thrust the vibrator almost forcefully into your longing, wet pussy."
			msg = "あなたは辛うじて自身のコントロールを掌握して、かなり力強くバイブレーターを濡れたヴァギナに押し込みます。"
		endif
	else
		;msg = akActor.GetLeveledActorBase().GetName() + " shudders as you push the vibrator into her."
		msg = akActor.GetLeveledActorBase().GetName() + "  はあなたからプラグを押し込まれると身震いします。"
	EndIf
	if !silent
		libs.NotifyActor(msg, akActor, true)
	EndIf
EndFunction

Function SendSignal()	
	lbqs.removed_VPlug = True	
	lbqs.RegisterForSingleUpdate(0.1)
EndFunction

Function OnUnequipped(actor akActor)	
	parent.OnUnequipped(akActor)
endfunction

int Function OnUnequippedFilter(actor akActor)
	if akActor.WornHasKeyword(zad_DeviousBelt)
		return 1
	EndIf
	return 0
EndFunction

Function DeviceMenu(Int msgChoice = 0)
        msgChoice = zad_DeviceMsg.Show() ; display menu
	if msgChoice==0 ; Not wearing a belt, no plugs
		;Debug.Notification("You choose to put the vibrator in.")
		Debug.Notification("あなたはバイブレーターの装着を選択しました")
		libs.EquipDevice(libs.PlayerRef, deviceInventory, deviceRendered, zad_DeviousDevice)
	elseif msgChoice==1 ; Wearing a belt, no plugs
		Debug.MessageBox(strFailEquip)
	elseif msgChoice==2 ; Not wearing a belt, plugs		
		if !lbqs.lb_hasremoved_Catsuit
			;libs.Notify("You cannot remove the vibrator while wearing a rubber suit!", messageBox=true)		
			libs.Notify("ラバースーツを着ているのでバイブレーターを外せません！", messageBox=true)		
			return
		endif
		string msg = ""
		if Aroused.GetActorExposure(libs.PlayerRef) < libs.ArousalThreshold("Desire")
			;msg = "You easily slide the vibrator out of your pussy and feel no regret."
			msg = "あなたはヴァギナから簡単にバイブレーターを取ると後悔を感じます。"
		elseif Aroused.GetActorExposure(libs.PlayerRef) < libs.ArousalThreshold("Horny")
			;msg = "Despite the pleasure it provides, you remove the vibrator from your pussy."
			msg = "それは喜びをもたらしますが、あなたはバイブレーターをヴァギナから外します。"
		elseif Aroused.GetActorExposure(libs.PlayerRef) < libs.ArousalThreshold("Desperate")
			;msg = "Despite your body telling you otherwise, you reluctantly pull the vibrator from your now wet pussy."
			msg = "あなたの体はほかの方法はないかと訴えますが、あなたはしぶしぶ濡れているヴァギナからバイブレーターを外します。"
		else
			;msg = "It takes all the willpower that you can muster to relax your muscles enough to slide the vibrator out of your drippingly wet pussy."
			msg = "潮を垂らして濡れているヴァギナからバイブレーターをずらすため、筋肉を弛緩させるには、あなたに強い意志が求められます。"
		endif
		libs.NotifyPlayer(msg, true)
		DeviceMenuRemoveWithKey()	
		SendSignal()
	elseif msgChoice==3 ; Wearing a belt, plugs
		NoKeyFailMessage(libs.PlayerRef)
	Endif
	DeviceMenuExt(msgChoice)
	SyncInventory()
EndFunction
		

Function NoKeyFailMessage(Actor akActor)
	if akActor == libs.PlayerRef
		;libs.NotifyPlayer("Try as you might, the belt you are wearing prevents you from removing the vibrator.", true)
		libs.NotifyPlayer("あなたはアナルプラグを外そうと試してみましたが、貞操帯を着けているのでできませんでした。", true)
	Else
		;libs.NotifyNPC("The belt that "+akActor.GetLeveledActorBase().GetName() + " is wearing is securely locking the vibrator in place. You must remove it prior to removing it.", true)
		libs.NotifyNPC(akActor.GetLeveledActorBase().GetName() + " が着けている貞操帯はバイブレーターを正しい位置で固く固定しています。バイブレーターを外す前に貞操帯を外してください。", true)
	EndIf
EndFunction
