Scriptname dcur_lb_BallGagScript extends zadequipscript  

import MfgConsoleFunc

dcur_mcmconfig Property dcumenu  Auto  
dcur_lbquestScript Property lbqs Auto

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

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

Function DeviceMenu(Int msgChoice = 0)
    msgChoice = zad_DeviceMsg.Show() ; display menu
	if msgChoice == 0 ; Equip Device voluntarily
		DeviceMenuEquip()
	elseif msgChoice == 1	; Remove device, with key
		DeviceMenuRemoveWithKey()
		SendSignal()		
	elseif msgChoice == 2 ; Remove device, without key
		DeviceMenuRemoveWithoutKey()
	endif
	DeviceMenuExt(msgChoice)	
	SyncInventory()
EndFunction

int Function OnEquippedFilter(actor akActor, bool silent=false)	
	if silent
		return 0 ; Proceed.
	EndIf
        int interaction = zad_DeviceMsg.Show()
        if interaction == 0 ; Equip Device		
			return 0 ; Proceed
		ElseIf interaction == 2 ; Put it away
			return 2
		EndIf	
	return 0
EndFunction

Function DeviceMenuRemoveWithoutKey()
    int deviceRemoveOption = zad_DeviceRemoveMsg.show()
    if deviceRemoveOption == 0 ; Lockpicking
	;	DeviceMenuPickLock()
		libs.Notify("その " + deviceInventory.GetName() + "のロックはピッキング不可能にデザインされています。", messageBox=true)
	elseif deviceRemoveOption == 1 ; Magicking
	;	DeviceMenuMagic()
		if libs.PlayerRef.GetAv("Magicka")<50
			libs.Notify("あなたはこのタスクを試そうにも、精神が衰弱しすぎていてできません。", true)
		else
			libs.PlayerRef.DamageAV("Magicka", 50)
			libs.Notify("あなたはその "+deviceInventory.GetName()+" をアルケインの力で溢れさせましたが、あなたが詠唱はすべて " + deviceName + " に吸収されました。", messageBox=true)
		endif
	elseif deviceRemoveOption == 2 ; Brute force
		libs.Notify("その " + deviceInventory.GetName() + " はとてつもなく固い金属でできたストラップで強化されています。それをこじ開ける方法はありません。", messageBox=true)
		;DeviceMenuBruteForce()
	elseif deviceRemoveOption == 3
        DeviceMenuCarryOn()
    endif
EndFunction

Function OnEquippedPre(actor akActor, bool silent=false)
	string msg = ""
	if akActor == libs.PlayerRef						
		msg = "あなたは猿ぐつわ(ボール)を頭に被り、正しい位置で南京錠をロックする前にストラップをきつく絞めます。"		
	Else
		msg = "あなたは猿ぐつわ(ボール)を "+GetMessageName(akActor)+" の頭に被せ、正しい位置で南京錠をロックする前にジッパーを閉じます。"
	EndIf
	if !silent
		libs.NotifyActor(msg, akActor, true)
	EndIf	
	Parent.OnEquippedPre(akActor, silent)
EndFunction

Function OnRemoveDevice(actor akActor)
	if !libs.IsAnimating(akActor)
		akActor.ClearExpressionOverride()
		ResetPhonemeModifier(akActor)
	EndIf
EndFunction

Function OnEquippedPost(actor akActor)	
	libs.ApplyGagEffect(akActor)	
EndFunction