code:
@時間停止解除
#DIM 逐出
#DIM 合計絶頂強度
#DIM 絶頂人数
#DIM 逸脱追加
VARSET LOCAL
FLAG:70 = 0
絶頂人数 = 0
TFLAG:運搬 = 0
FOR LOCAL,0,CHARANUM
	IF 睡眠時間(LOCAL)
		;睡衣セット
		CALL CTRL_CLOTHES_SET(LOCAL, "現在衣装の変更_睡衣")
		CFLAG:LOCAL:睡衣 = 1
	ELSEIF TCVAR:LOCAL:另一种便服
		;いつもと違う服
		CALL CTRL_CLOTHES_SET(LOCAL, "現在衣装の変更_衣装セット", SPECIAL_OUTFIT(LOCAL))
		CFLAG:LOCAL:睡衣 = 0
	ELSE
		;便装セット
		CALL CTRL_CLOTHES_SET(LOCAL, "現在衣装の変更_便装")
		CFLAG:LOCAL:睡衣 = 0
	ENDIF
	CALL CLOTHES_SETTING_TRAIN(LOCAL)
NEXT

PRINTFORMW %CALLNAME:MASTER%解除了時間停止
逐出 = 0

CALL FISHER_YATES_SHAFFLE(CHARANUM - 1)

FOR LOCAL:10 , 0 , CHARANUM - 1
	LOCAL = SHAFFLE_ARRAY:(LOCAL:10) + 1
	IF CFLAG:LOCAL:現在位置 == CFLAG:MASTER:現在位置 && !CFLAG:LOCAL:睡眠
		合計絶頂強度 = EX:LOCAL:無自覚Ｃ絶頂 + EX:LOCAL:無自覚Ｖ絶頂 + EX:LOCAL:無自覚Ａ絶頂 + EX:LOCAL:無自覚Ｂ絶頂 + EX:LOCAL:無自覚Ｍ絶頂
		IF 合計絶頂強度 > 60
		;IF EX:LOCAL:Ｃ絶頂 + EX:LOCAL:Ｖ絶頂 + EX:LOCAL:Ａ絶頂 + EX:LOCAL:Ｂ絶頂 + EX:LOCAL:Ｍ絶頂 > 60
			SETCOLOR C_P_PURPLE
			PRINTL 【击垮神经的快感】
			RESETCOLOR
			SETCOLOR C_V_PINK
			PRINTFORMW 如潮水般涌来的快感令%CALLNAME:LOCAL%翻着白眼、吐着舌头瘫坐在地上不住娇喘
			IF CFLAG:LOCAL:時間停止バレ == 1
				IF TALENT:LOCAL:恋慕
					PRINTFORMW %CALLNAME:LOCAL%击垮神经的快感伴随着%CALLNAME:MASTER%的味道、灵魂深处又留下一道名为%CALLNAME:MASTER%的爱的痕迹
					SOURCE:LOCAL:欲情 += 2000 + (CFLAG:2 - 1000) / 5
					SOURCE:LOCAL:情愛 += 2000 + (CFLAG:2 - 1000) / 5
				ELSEIF TALENT:LOCAL:思慕
					PRINTFORMW %CALLNAME:LOCAL%望向%CALLNAME:MASTER%的眼神中失去了部分光、对%CALLNAME:MASTER%怀有感情的她此刻在想什么？
					SOURCE:LOCAL:欲情 += 1500 + (CFLAG:2 - 1000) / 5
					SOURCE:LOCAL:反感 += 99
				ELSEIF TALENT:LOCAL:炮友 == 2
					PRINTFORMW %CALLNAME:LOCAL%连续发出的甜美娇喘而早已无暇顾及他人、%CALLNAME:MASTER%心中还想看到更多%CALLNAME:LOCAL%娇媚的样子
					SOURCE:LOCAL:欲情 += 2500 + (CFLAG:2 - 1000) / 5
				ELSEIF TALENT:LOCAL:炮友 == 1
					PRINTFORMW 虽说是未经许可的擅自行為，但%CALLNAME:LOCAL%看向%CALLNAME:MASTER%的目光里几乎没有反感反而满含欲望
					SOURCE:LOCAL:欲情 += 2000 + (CFLAG:2 - 1000) / 5
					SOURCE:LOCAL:反感 += 99
				ELSEIF TALENT:LOCAL:愛欲
					PRINTFORMW %CALLNAME:LOCAL%对%CALLNAME:MASTER%露出期待已久的笑容、%CALLNAME:MASTER%名为爱的欲望对她来说简直正中红心
					SOURCE:LOCAL:欲情 += 2500 + (CFLAG:2 - 1000) / 5
				ELSE
					PRINTFORMW %CALLNAME:LOCAL%因为快感不断痉挛、失神的快感冲击让她无力寻找凶手、%CALLNAME:MASTER%在一旁计划通般暗自庆祝着
					SOURCE:LOCAL:反感 += 99
				ENDIF
			RESETCOLOR
			ENDIF
			CFLAG:LOCAL:延迟 += 30
			絶頂人数 += 1
			;恥情BOUNS
			CALL JUEL_UP_SPECIAL(LOCAL,"恥情","露出癖",2,1)

			CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,2,0)
		ELSEIF 合計絶頂強度 > 40
		;IF EX:LOCAL:Ｃ絶頂 + EX:LOCAL:Ｖ絶頂 + EX:LOCAL:Ａ絶頂 + EX:LOCAL:Ｂ絶頂 + EX:LOCAL:Ｍ絶頂 > 40
			SETCOLOR C_RED
			PRINTL 【強烈的快感】
			RESETCOLOR
			SETCOLOR C_H_PINK
			PRINTFORMW 突然袭来的激烈絶頂令%CALLNAME:LOCAL%发出甜美的娇喘声、当场瘫坐在地
			IF CFLAG:LOCAL:時間停止バレ == 1
				IF TALENT:LOCAL:恋慕
					PRINTFORMW %CALLNAME:LOCAL%因为快感而颤抖并抱住身体、不停地小声念叨着%CALLNAME:MASTER%的名字
					SOURCE:LOCAL:欲情 += 1000 + (CFLAG:2 - 1000) / 5
					SOURCE:LOCAL:情愛 += 1000 + (CFLAG:2 - 1000) / 5
				ELSEIF TALENT:LOCAL:思慕
					PRINTFORMW %CALLNAME:LOCAL%一边享受着快感、一边不満的望着%CALLNAME:MASTER%
					SOURCE:LOCAL:欲情 += 1000 + (CFLAG:2 - 1000) / 5
					SOURCE:LOCAL:反感 += 1000
				ELSEIF TALENT:LOCAL:炮友 == 2
					PRINTFORMW %CALLNAME:LOCAL%喘着粗气、媚眼如丝地请求继续
					SOURCE:LOCAL:欲情 += 2000 + (CFLAG:2 - 1000) / 5
				ELSEIF TALENT:LOCAL:炮友 == 1
					PRINTFORMW %CALLNAME:LOCAL%一边因为快感而甜蜜地娇喘着、一边因为未经许可的擅自行為而投来了嫌悪的目光
					SOURCE:LOCAL:欲情 += 1500 + (CFLAG:2 - 1000) / 5
					SOURCE:LOCAL:反感 += 1000
				ELSEIF TALENT:LOCAL:愛欲
					PRINTFORMW %CALLNAME:LOCAL%露出喜悦的表情、因为%CALLNAME:MASTER%给予的快感而颤抖着
					SOURCE:LOCAL:欲情 += 2000 + (CFLAG:2 - 1000) / 5
				ELSE
					PRINTFORMW %CALLNAME:LOCAL%一边因为快感颤抖着、一边用充满愤怒的眼神睨视着%CALLNAME:MASTER%
					SOURCE:LOCAL:反感 += 11999
				ENDIF
			RESETCOLOR
			ENDIF
			CFLAG:LOCAL:延迟 += 20
			絶頂人数 += 1
			;恥情BOUNS
			CALL JUEL_UP_SPECIAL(LOCAL,"恥情","露出癖",2,1)

			;逸脱追加 = MAX(1000 - ABL:LOCAL:露出癖 * 200, 0)
			;SOURCE:LOCAL:逸脱 += 逸脱追加
			CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,2,0)
		ELSEIF 合計絶頂強度 > 20
		;ELSEIF EX:LOCAL:Ｃ絶頂 + EX:LOCAL:Ｖ絶頂 + EX:LOCAL:Ａ絶頂 + EX:LOCAL:Ｂ絶頂 + EX:LOCAL:Ｍ絶頂 > 20
			SETCOLOR C_ORANGE
			PRINTL 【突如其来的快感】
			RESETCOLOR
			SETCOLOR C_PINK
			PRINTFORMW %CALLNAME:LOCAL%因为突如其来的謎之快感身体发软
			IF CFLAG:LOCAL:時間停止バレ == 1
				IF TALENT:LOCAL:恋慕
					PRINTFORMW %CALLNAME:LOCAL%搂住%CALLNAME:MASTER%、满含爱意的轻咬了%CALLNAME:MASTER%的耳垂...
					SOURCE:LOCAL:欲情 += 800 + (CFLAG:2 - 1000) / 5
					SOURCE:LOCAL:情愛 += 800 + (CFLAG:2 - 1000) / 5
				ELSEIF TALENT:LOCAL:思慕
					PRINTFORMW %CALLNAME:LOCAL%看到%CALLNAME:MASTER%望向自己，可爱的脸一下变的通红
					SOURCE:LOCAL:欲情 += 600 + (CFLAG:2 - 1000) / 5
					SOURCE:LOCAL:反感 += 500
				ELSEIF TALENT:LOCAL:炮友 == 2
					PRINTFORMW 是因为快感还不够吗、%CALLNAME:LOCAL%有些不满的望着%CALLNAME:MASTER%
					SOURCE:LOCAL:欲情 += 1500 + (CFLAG:2 - 1000) / 5
				ELSEIF TALENT:LOCAL:炮友 == 1
					PRINTFORMW %CALLNAME:LOCAL%盯着%CALLNAME:MASTER%小声说着“只这样还不够啊”
					SOURCE:LOCAL:欲情 += 1000 + (CFLAG:2 - 1000) / 5
					SOURCE:LOCAL:反感 += 500
				ELSEIF TALENT:LOCAL:愛欲
					PRINTFORMW %CALLNAME:LOCAL%将%CALLNAME:MASTER%的手贴紧自己的敏感部位、魅惑的说道还想要更多
					SOURCE:LOCAL:欲情 += 1500 + (CFLAG:2 - 1000) / 5
				ELSE
					PRINTFORMW %CALLNAME:LOCAL%咬着嘴唇向%CALLNAME:MASTER%投来了锐利的视线
					SOURCE:LOCAL:反感 += 2999
				ENDIF
			RESETCOLOR
			ENDIF
			CFLAG:LOCAL:延迟 += 10
			絶頂人数 += 1
			CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,1,0)
		ELSEIF 合計絶頂強度 > 0
		;ELSEIF EX:LOCAL:Ｃ絶頂 + EX:LOCAL:Ｖ絶頂 + EX:LOCAL:Ａ絶頂 + EX:LOCAL:Ｂ絶頂 + EX:LOCAL:Ｍ絶頂 > 0
			SETCOLOR C_YELLOW
			PRINTL 【謎之快感】
			RESETCOLOR
			PRINTFORMW %CALLNAME:LOCAL%因为謎之快感身体猛地僵硬起来
			IF CFLAG:LOCAL:時間停止バレ == 1
				IF TALENT:LOCAL:恋慕
					PRINTFORMW %CALLNAME:LOCAL%摇摇晃晃倒在%CALLNAME:MASTER%的胸前、小声的请求继续...
					SOURCE:LOCAL:欲情 += 500 + (CFLAG:2 - 1000) / 5
					SOURCE:LOCAL:情愛 += 500 + (CFLAG:2 - 1000) / 5
				ELSEIF TALENT:LOCAL:思慕
					PRINTFORMW %CALLNAME:LOCAL%看到%CALLNAME:MASTER%在附近、红着脸有些不知所措
					SOURCE:LOCAL:欲情 += 300 + (CFLAG:2 - 1000) / 5
					SOURCE:LOCAL:反感 += 300
				ELSEIF TALENT:LOCAL:炮友 == 2
					PRINTFORMW %CALLNAME:LOCAL%盯着附近的每一个人看
					SOURCE:LOCAL:欲情 += 1000 + (CFLAG:2 - 1000) / 5
				ELSEIF TALENT:LOCAL:炮友 == 1
					PRINTFORMW %CALLNAME:LOCAL%咬着嘴唇四处环视着周围
					SOURCE:LOCAL:欲情 += 500 + (CFLAG:2 - 1000) / 5
					SOURCE:LOCAL:反感 += 300
				ELSEIF TALENT:LOCAL:愛欲
					PRINTFORMW %CALLNAME:LOCAL%牵起%CALLNAME:MASTER%的手、喘着粗气请求继续
					SOURCE:LOCAL:欲情 += 1000 + (CFLAG:2 - 1000) / 5
				ELSE
					PRINTFORMW %CALLNAME:LOCAL%向%CALLNAME:MASTER%投来了怀疑的视线
					SOURCE:LOCAL:反感 += 1000
				ENDIF
			ENDIF
			絶頂人数 += 1
			CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,1,0)
		ENDIF
		IF CFLAG:LOCAL:291 == 1
			IF 合計絶頂強度 > 0
			;ELSEIF EX:LOCAL:Ｃ絶頂 + EX:LOCAL:Ｖ絶頂 + EX:LOCAL:Ａ絶頂 + EX:LOCAL:Ｂ絶頂 + EX:LOCAL:Ｍ絶頂 > 0
				SETCOLOR C_PINK
				PRINTL 【充斥快感的开放感】
				PRINTFORMW %CALLNAME:LOCAL%在高潮的余韵中发现内裤也消失不见了
				;本来ならCFLAG:295は作らずCFLAG:LOCAL:291 == 3とかで対応したほうが良い
				IF CFLAG:LOCAL:時間停止バレ == 1 && CFLAG:LOCAL:295 == 0
					IF TALENT:LOCAL:恋慕
						PRINTFORMW ❤...
						SOURCE:LOCAL:欲情 += 500 + (CFLAG:2 - 1000) / 5
						SOURCE:LOCAL:情愛 += 500 + (CFLAG:2 - 1000) / 5
					ELSEIF TALENT:LOCAL:思慕
						PRINTFORMW ❤？
						SOURCE:LOCAL:欲情 += 300 + (CFLAG:2 - 1000) / 5
						SOURCE:LOCAL:反感 += 300
					ELSEIF TALENT:LOCAL:炮友 == 2
						PRINTFORMW ❤！
						SOURCE:LOCAL:欲情 += 1000 + (CFLAG:2 - 1000) / 5
					ELSEIF TALENT:LOCAL:炮友 == 1
						PRINTFORMW ❤？
						SOURCE:LOCAL:欲情 += 500 + (CFLAG:2 - 1000) / 5
						SOURCE:LOCAL:反感 += 300
					ELSEIF TALENT:LOCAL:愛欲
						PRINTFORMW ❤！
						SOURCE:LOCAL:欲情 += 1000 + (CFLAG:2 - 1000) / 5
					ELSE
						PRINTFORMW ？❤！@#！
						SOURCE:LOCAL:反感 += 10000
					RESETCOLOR
					ENDIF
				CFLAG:LOCAL:295 = 1
				ENDIF
			ELSE
				SETCOLOR 150,150,250
				PRINTL 【不寻常的開放感】
				RESETCOLOR
				PRINTFORMW 不知什么时候内裤被脱掉的%CALLNAME:LOCAL%一幅坐立不安的様子
				;本来ならCFLAG:295は作らずCFLAG:LOCAL:291 == 3とかで対応したほうが良い
				IF CFLAG:LOCAL:時間停止バレ == 1 && CFLAG:LOCAL:295 == 0
					IF TALENT:LOCAL:恋慕
						PRINTFORMW ...
						SOURCE:LOCAL:欲情 += 500 + (CFLAG:2 - 1000) / 5
						SOURCE:LOCAL:情愛 += 500 + (CFLAG:2 - 1000) / 5
					ELSEIF TALENT:LOCAL:思慕
						PRINTFORMW ？！
						SOURCE:LOCAL:欲情 += 300 + (CFLAG:2 - 1000) / 5
						SOURCE:LOCAL:反感 += 300
					ELSEIF TALENT:LOCAL:炮友 == 2
						PRINTFORMW ！
						SOURCE:LOCAL:欲情 += 1000 + (CFLAG:2 - 1000) / 5
					ELSEIF TALENT:LOCAL:炮友 == 1
						PRINTFORMW ？！
						SOURCE:LOCAL:欲情 += 500 + (CFLAG:2 - 1000) / 5
						SOURCE:LOCAL:反感 += 300
					ELSEIF TALENT:LOCAL:愛欲
						PRINTFORMW ！
						SOURCE:LOCAL:欲情 += 1000 + (CFLAG:2 - 1000) / 5
					ELSE
						PRINTFORMW ？！？！
						SOURCE:LOCAL:反感 += 10000
					ENDIF
					CFLAG:LOCAL:295 = 1
				ENDIF
			ENDIF
		CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,3,0)
		ENDIF
		;無自覚絶頂カウントをリセットしておく
		FOR LOCAL:1,0,5
			IF EX:LOCAL:(LOCAL:1)
				EX:LOCAL:(LOCAL:1 + 20) = 0
				EX:LOCAL:(LOCAL:1 + 50) = 0
			ENDIF
		NEXT
		IF BATHCHECK(CFLAG:MASTER:現在位置) && AT_HOME(MASTER) && LOCAL != MASTER
			SIF 風呂逐出条件(LOCAL) && CFLAG:LOCAL:現在位置 == CFLAG:MASTER:現在位置
				CALL 風呂から逐出(LOCAL)
			SIF RESULT
				逐出 ++
		ELSE
			IF CFLAG:LOCAL:287 == 2
				SETCOLOR C_CREAM
				PRINTL 【無自覚肛門射精】
				RESETCOLOR
				;感度も10超えがあるわけだし、地の文だけでもバリエーションを足してみた
				SELECTCASE ABL:LOCAL:2
					CASE 0 TO 1
						PRINTFORMW %CALLNAME:LOCAL%突然因为肛門里游走的疼痛而小声悲鳴起来
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,7,1)
					CASE 2 TO 3
						PRINTFORMW %CALLNAME:LOCAL%好像感到了直腸里精液带来的強烈異物感
						PRINTFORMW 噫～的、轻声悲鳴起来
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,7,2)
					CASE 4 TO 5
						PRINTFORMW 排泄器官里被灼熱的精液浸润着、
						PRINTFORMW %CALLNAME:LOCAL%闭目感受着这种奇妙的感觉
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,7,2)
					CASE 6 TO 7
						PRINTFORMW 是对突然注入已经变成第二性器的排泄器官里的灼熱精液感到按捺不住吗、
						PRINTFORMW %CALLNAME:LOCAL%轻轻地喘着炽热的呼吸❤
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,7,2)
					CASE 8 TO 9
						PRINTFORMW 即使是屁股里突然传来的炙熱感覚
						PRINTFORMW 对现在的%CALLNAME:LOCAL%来说也只不过是快楽的佐料吧
						PRINTFORMW 毫不掩饰放荡的表情、吐出了甘美的呼吸❤
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,7,2)
					CASE IS >= 10
						PRINTFORMW 屁股里突然出现的炙熱感比起惊讶更多的是享受、精液存储在本不该出现的地方
						PRINTFORMW 为了感受众多精子对肠壁的爱抚、%CALLNAME:LOCAL%敏感的后庭不受控制的蠕动着
						PRINTFORMW %CALLNAME:LOCAL%简直爱死这种感觉了❤
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,7,2)
				ENDSELECT
				CFLAG:LOCAL:肛門射精 = 0
			ENDIF
			IF EX:LOCAL:処女喪失记号
				SELECTCASE ABL:LOCAL:1
				CASE 0 TO 5
					SETCOLOR 250,100,100
					IF EX:LOCAL:処女喪失记号 == 1
						PRINTL 【無自覚処女喪失】
					ELSE
						PRINTL 【無自覚再生処女喪失】
					ENDIF
					RESETCOLOR
					PRINTFORMW %CALLNAME:LOCAL%因为股間的鈍痛而紧皱着眉头…
				CASE IS >= 6
					SETCOLOR 250,100,100
					IF EX:LOCAL:処女喪失记号 == 1
						PRINTL 【無自覚敏感処女喪失】
					ELSE
						PRINTL 【無自覚再生敏感処女喪失】
					ENDIF
					PRINTFORMW 股間貌似有种被撕开的解放感让%CALLNAME:LOCAL%好好享受了一番…
					RESETCOLOR
				ENDSELECT
				CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,8,0)
			ENDIF
			IF CFLAG:LOCAL:286 == 2
				SETCOLOR 255,100,255
				PRINTL 【無自覚膣内射精】
				RESETCOLOR
				IF EX:LOCAL:処女喪失记号 != 1 && TALENT:LOCAL:処女 != -1
					IF TALENT:LOCAL:無知 && EXP:LOCAL:精液経験 < 100
						PRINTFORML %CALLNAME:LOCAL%察觉到了陰道里的精液带来的违和感但
						PRINTFORMW 怀疑自己生病了十分坐立不安……
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,9,3)
					ELSEIF !TCVAR:LOCAL:口服避孕薬
						PRINTFORMW %CALLNAME:LOCAL%通过下腹部传来的违和感注意到自己被膣内射精了
						PRINTFORMW 变的脸色蒼白、看起来想要掩饰似的身子扭来扭去……
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,9,1)
					ELSEIF EX:LOCAL:処女喪失记号 == 0 && TCVAR:LOCAL:口服避孕薬 == 1
						PRINTFORMW %CALLNAME:LOCAL%通过下腹部传来的违和感注意到自己被膣内射精了
						PRINTFORMW 但因为服用过了避孕药、虽然有些惶惑不过并没有很慌张的様子……
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,9,2)
					ELSE
						SELECTCASE ABL:LOCAL:1
						CASE 0 TO 1
							PRINTFORML %CALLNAME:LOCAL%察觉到了陰道里的精液带来的违和感但
							PRINTFORMW 不知道那是什么东西的触感而显得坐立不安……
							CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,9,3)
						CASE 2 TO 3
							PRINTFORMW %CALLNAME:LOCAL%好像感到了膣内精液带来的粘稠感
							PRINTFORMW 噫～的、轻声悲鳴起来
							CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,9,3)
						CASE 4 TO 5
							PRINTFORMW 膣内被灼熱的精液浸润着、
							PRINTFORMW %CALLNAME:LOCAL%闭目感受着这种奇妙的感觉
							CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,9,3)
						CASE 6 TO 7
							PRINTFORMW %CALLNAME:LOCAL%娇喘着呼出炽热的呼吸❤
							PRINTFORMW 敏感的性器官里的灼熱感让她感到十分舒适
							CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,9,3)
						CASE 8 TO 9
							PRINTFORMW 每次膣内突然传来的炙熱感覚满满的都是幸福感
							PRINTFORMW 现在的%CALLNAME:LOCAL%毫不掩饰放荡的表情、带着满足感呼着甜美的气息❤
							CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,9,3)
						CASE IS >= 10
							PRINTFORMW %CALLNAME:LOCAL%敏感的膣不受控制的蠕动着、使得膣内各种地方都被均匀涂抹上了精液
							PRINTFORMW 每次舒张膣内就能感受到内部的各种黏液被拉成丝线挂在膣壁内缓缓流淌
							PRINTFORMW %CALLNAME:LOCAL%简直爱死这种感觉了❤
							CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,9,3)
						ENDSELECT
					ENDIF
				ELSE
					PRINTFORML %CALLNAME:LOCAL%察觉到了陰道里的精液带来的违和感但
					PRINTFORMW 不知道那是什么东西的触感而显得坐立不安……
					CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,9,3)
				ENDIF
				CFLAG:LOCAL:286 = 0
			ENDIF
			;無自覚膣内射精の処理の後で無自覚処女喪失のフラグを折る
				EX:LOCAL:処女喪失记号 = 0
			IF CFLAG:LOCAL:288 == 2
				SETCOLOR 255,100,255
				PRINTL 【無自覚口内射精】
				RESETCOLOR
				IF TALENT:MASTER:濃厚精液
					PRINTFORM %CALLNAME:LOCAL%因突然出現在口中的%SAMEN_DESCRIPTION(PLAYER)%
					IF ABL:LOCAL:精液中毒 > 4
						PRINTFORML 而迅速把嘴闭上了
						PRINTFORMW 享受美味一般蠕動着舌頭品尝着腥臭粘稠的果凍…
						PRINTFORMW 久久舍不得下咽❤…
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,4,6)
					ELSEIF ABL:LOCAL:精液中毒 > 2
						PRINTFORML 吃惊的同时、也若无其事把嘴闭上了
						PRINTFORMW 然後一點點動舌頭、細細的品味了粘到的慾望的果凍…
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,4,6)
					ELSE
						PRINTFORML 激烈的咳嗽、被嗆到了
						PRINTFORML 因爲口腔和食道沾到的精液不容易吐出來、%CALLNAME:LOCAL%流著淚不斷嘔吐著
						PRINTFORMW ……果然還是做了壞事
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,4,5)
					ENDIF
				ELSEIF ABL:LOCAL:精液中毒 > 4
					PRINTFORMW %CALLNAME:LOCAL%对灌到嘴里精液感到兴奋、然后像品尝美味一様缓缓吞了下去
					PRINTFORMW 之后%CALLNAME:LOCAL%吐出了舌头把嘴角残留的精液舔的干干净净…
					PRINTFORMW 看得出来很符合她的口味呢❤…
					CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,4,4)
				ELSEIF ABL:LOCAL:精液中毒 > 2
					PRINTFORMW %CALLNAME:LOCAL%对灌到嘴里精液感到吃惊、然后装作没事一様将其吞了下去
					PRINTFORMW %CALLNAME:LOCAL%感到了莫名奇妙的兴奋感…
					CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,4,4)
				ELSE
					PRINTFORM %CALLNAME:LOCAL%被射到嘴里的精液呛到
					IF !RAND:3
						PRINTFORMW 了、不假思索的吞了下去
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,4,1)
					ELSEIF !RAND:2
						PRINTFORMW 了、想办法找机会吐了出来
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,4,2)
					ELSE
						PRINTFORMW 了、急忙捂住了嘴巴
						CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,4,3)
					ENDIF
					PRINTFORMW 因为突发事态一边流泪一边咳嗽起来…
				ENDIF
				CFLAG:LOCAL:288 = 0
			ENDIF
			IF CFLAG:LOCAL:289 == 2
				SETCOLOR 255,100,255
				PRINTL 【無自覚顔面射精】
				RESETCOLOR
				IF ABL:LOCAL:精液中毒 > 4
					PRINTFORMW 把粘在脸上的精液聚拢起的%CALLNAME:LOCAL%、大大方方的把精液含进了嘴里…
					PRINTFORMW %CALLNAME:LOCAL%享受着美味一般闭上了眼睛❤
					CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,5,3)
				ELSEIF ABL:LOCAL:精液中毒 > 2
					PRINTFORMW 擦掉粘在脸上的精液的%CALLNAME:LOCAL%、偷偷地把一部分精液送到了嘴里
					PRINTFORMW %CALLNAME:LOCAL%感到了莫名奇妙的兴奋感…
					CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,5,3)
				ELSEIF TALENT:LOCAL:無知 && EXP:LOCAL:精液経験 < 100
					PRINTFORMW %CALLNAME:LOCAL%不快地擦掉了粘在脸上的精液
					PRINTFORMW 看起来%CALLNAME:LOCAL%似乎并没有发现粘在脸上的精液的正体的様子
					CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,5,1)
				ELSE
					PRINTFORMW %CALLNAME:LOCAL%注意到了粘在脸上的精液、慌忙将其擦掉了
					PRINTFORMW 虽然装作什么也没发生的様子、但表情还是显得很僵硬
					CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,5,2)
				ENDIF
			ENDIF
				CFLAG:LOCAL:288 = 0
			ENDIF
			IF CFLAG:LOCAL:290 == 2
				SETCOLOR 255,100,255
				PRINTL 【無自覚手淫射精】
				RESETCOLOR
				IF ABL:LOCAL:精液中毒 > 4
					PRINTFORMW %CALLNAME:LOCAL%将粘在手掌上的精液舔得一干二净…
					PRINTFORMW 但似乎还没满足呢
					PRINTFORMW 偷偷吮吸着残留浓重精液味道的手指❤
					CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,6,2)
				ELSEIF ABL:LOCAL:精液中毒 > 2
					PRINTFORMW %CALLNAME:LOCAL%偷偷地舔了舔了粘在手掌上的精液并擦掉了
					PRINTFORMW %CALLNAME:LOCAL%感到了莫名奇妙的兴奋感…
					CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,6,2)
				ELSE
					PRINTFORMW %CALLNAME:LOCAL%注意到了粘在手掌上的精液、不快地擦掉了
					CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,6,1)
				ENDIF
				CFLAG:LOCAL:290 = 0
			ENDIF
			CALL KOJO_MESSAGE_SEND("EVENT",17,LOCAL,0,0)
		ENDIF
	CFLAG:LOCAL:0 = 0
	CFLAG:LOCAL:289 = 0
	CFLAG:LOCAL:290 = 0
	CFLAG:LOCAL:344 = 0
NEXT
IF 絶頂人数 >= 1 && !逐出
	PRINTFORM %CALLNAME:MASTER%对少女
	SIF 絶頂人数 >= 2
		PRINT 們
	IF TALENT:MASTER:施虐狂 && TALENT:MASTER:受虐狂
		PRINTW 带着羡慕的神情喘着粗气
	ELSEIF TALENT:MASTER:受虐狂 && !TALENT:MASTER:施虐狂
		PRINTW 露出略显羡慕的神情
	ELSEIF TALENT:MASTER:施虐狂 && !TALENT:MASTER:受虐狂
		PRINTW 喘着沉重的粗气
	ELSEIF TALENT:MASTER:幼稚
		PRINTW 奇妙的表现觉得很好笑
	ELSEIF TALENT:MASTER:無知
		PRINTW 奇妙的表现表现的很好奇
	ELSEIF TALENT:MASTER:喜歡引人注目
		PRINTW 所在的位置大喊大叫吸引着附近的人
	ELSE
	PRINTW 表示擔心之情
	ENDIF
ENDIF
FOR LOCAL,1,CHARANUM
	CALL 被从寝室赶了出来(LOCAL)
NEXT
絶頂人数 = 0
;(天候パッチ)時刻・天候に応じて背景色を変更
IF FLAG:背景色推移
	CALL SET_MAP_WEATHER_BGCOLOR
ELSE
	RESETBGCOLOR
ENDIF


code:
;潜伏場所
;汎用

#DIM CONST 暗处 = 1
#DIM CONST 草丛 = 2
#DIM CONST 灌木丛 = 3
#DIM CONST 树林 = 4
#DIM CONST 樹上 = 5
#DIM CONST 岩石陰影 = 6
#DIM CONST 山脊 = 7
#DIM CONST 屋顶上 = 8
#DIM CONST 巷子 = 9
#DIM CONST 房梁上 = 10
#DIM CONST 柱字的陰影 = 11
#DIM CONST 围墙的陰影 = 12
#DIM CONST 推車的陰影 = 13
#DIM CONST 屏风 = 14
#DIM CONST 竹薮 = 15
#DIM CONST 服装箱 = 16
#DIM CONST 花圃 = 17
#DIM CONST 摊位的陰影 = 18
#DIM CONST 商品架的陰影 = 19
#DIM CONST 倉庫深处 = 20
#DIM CONST 濃霧 = 21
#DIM CONST 黑暗中 = 22
#DIM CONST 方便合适的間隙 = 23
#DIM CONST 空的部屋 = 24
#DIM CONST 洞穴 = 25
#DIM CONST 祠堂的陰影 = 26
#DIM CONST 桌子下 = 27
#DIM CONST 沙发的陰影 = 28
#DIM CONST 架子的陰影 = 29
#DIM CONST 水煙 = 30

#DIM CONST 纸板箱 = 99

;博麗神社
;桜花树の鳥居
#DIM CONST 桜花树 = 110
#DIM CONST 鳥居之上 = 111
;神社境内
#DIM CONST 灯篭的陰影 = 120
#DIM CONST 手水舎裏 = 121
#DIM CONST 本堂裏 = 122
;神社本堂
#DIM CONST 賽銭箱的陰影 = 130
#DIM CONST 御神体的陰影 = 131
;神社走廊
#DIM CONST 走廊の下 = 140
#DIM CONST 庫房裏 = 141
;妖精的大樹
#DIM CONST 树根的陰影 = 150
;夢幻遺跡
#DIM CONST 謎之装置的陰影 = 160
#DIM CONST 通风管道内 = 161
#DIM CONST 研究台下 = 162

;命蓮寺
;地蔵小路
#DIM CONST 地藏的陰影 = 210
;倒垂的柳樹下
#DIM CONST 柳树的陰影 = 220
#DIM CONST 柳の樹上 = 221
;命蓮寺境内
#DIM CONST 山門の上 = 230
#DIM CONST 祈祷殿 = 231
#DIM CONST 鐘楼 = 232
;命蓮寺方丈
#DIM CONST 旁間 = 240
#DIM CONST 宮殿裏 = 241
;墓地
#DIM CONST 墓的陰影 = 250
#DIM CONST 納骨堂裏 = 251
;神霊廟境内
#DIM CONST 大門の上 = 260

;人里

;広場
#DIM CONST 瞭望樓上 = 310
#DIM CONST 龍神像の陰 = 311
;商家屋

;呑屋小道
#DIM CONST 空桶 = 330
;寺子屋
#DIM CONST 保健室 = 340
#DIM CONST 指導室 = 341
;大衆浴場

;長屋街

;霧之湖～紅魔館
;霧之湖

;冰造的小雪屋
#DIM CONST 冰墙後 = 420
#DIM CONST 冰屋裏 = 421
;廃洋館
#DIM CONST 古旧の窗帘 = 430
#DIM CONST オルガンの陰 = 431

;正門
#DIM CONST 守衛小屋裏 = 440
#DIM CONST 空的小屋裏 = 441
;大廳
#DIM CONST 會客廳的家具 = 450
#DIM CONST 廁所的隔間 = 451
#DIM CONST 大窗户的窗帘 = 452
;食堂
#DIM CONST 餐桌下 = 460
#DIM CONST 餐具柜的陰影 = 461
#DIM CONST 熄了火的壁炉 = 462
;大図書館
#DIM CONST 书架的陰影 = 470
#DIM CONST 长桌下 = 471
#DIM CONST 古書の山 = 472
;地下室
#DIM CONST 大浴場深处 = 480
#DIM CONST 佣人房間深处 = 481

;迷途竹林
;竹林入口

;迷失的小道
#DIM CONST 廃屋裏 = 520
;斜角的竹林

;兎の洞窟

;永遠亭
#DIM CONST 床下 = 550
#DIM CONST 来客用厕所的隔間 = 551
;無名之丘
#DIM CONST 小川 = 560
#DIM CONST 草原 = 561
;太陽花田
#DIM CONST 向日葵田 = 570
;永遠亭的内院
#DIM CONST 屏風的陰影 = 580
#DIM CONST 竹帘背面 = 581
#DIM CONST 整块天花板裏 = 582
;夢幻館
#DIM CONST 窗帘 = 590

;魔法之森
;森林的入口

;香霖堂
#DIM CONST 香霖堂裏 = 620
;古木的大樹
#DIM CONST 大樹の樹上 = 630
#DIM CONST 巨根的狭缝 = 631
#DIM CONST 妖怪蘑菇傘 = 632
;霧雨魔法店
#DIM CONST 魔法店裏 = 640
#DIM CONST 柜台下 = 641
;人偶的洋館
#DIM CONST 歌莉亜人偶的裙子里 = 650
#DIM CONST 楼梯旁 = 651
;再思之道
#DIM CONST 彼岸花圃 = 660
#DIM CONST 彼岸花簇 = 661
#DIM CONST 彼岸花的絨毯 = 662
;無縁塚
#DIM CONST 紫色桜树 = 670
#DIM CONST 無名墓標的陰影 = 671

;三途之川～冥界
;中有之道
#DIM CONST 大看板的陰影 = 710
;三途之川
#DIM CONST 渡船 = 720
#DIM CONST 山水瀬 = 721
;迷途之家

;彼岸

;白玉楼庭
#DIM CONST 西行妖的陰影 = 750
#DIM CONST 石灯篭的陰影 = 751
#DIM CONST 树篱 = 752
;白玉楼

;地獄

;畜生界

;霊長園

;妖怪之山(山麓)
;山麓樹海
#DIM CONST 小屋裏 = 810
;玄武之澤
#DIM CONST 河边的岩石陰影 = 820
;大蛤蟆之池
;迷途之家

;仙人的宅邸
#DIM CONST 书房深处 = 850
#DIM CONST 回廊深处 = 851
;間欠泉地下中樞
#DIM CONST 核融合炉保养通道 = 860
#DIM CONST 非常用七千樓梯 = 861
#DIM CONST 错综复杂的管道網 = 862

;妖怪之山(山頂)
;九天瀑布

;絶景之丘

;山之湖
;守矢神社境内
#DIM CONST 机器人型广告气球 = 940
#DIM CONST 御柱 = 941
#DIM CONST 像大蛇形状的石头 = 942
;守矢神社本殿

;天界
#DIM CONST 桃树 = 960
#DIM CONST 要石 = 961

;地底

;幻想風穴

;地獄的深道
#DIM CONST 橋台 = 1020
;旧地獄街道

;旧地獄温泉
#DIM CONST 水雾 = 1040
;地霊殿
#DIM CONST 玫瑰園 = 1060
#DIM CONST 办公桌下 = 1061
;灼熱地獄跡
#DIM CONST 烟燻湖 = 1070
#DIM CONST 灰之湖 = 1071
#DIM CONST 最初之火的火炉 = 1072

 ;夢之世界～月
;槐安通路
#DIM CONST 胖次巨像 = 1110
#DIM CONST 掃除道具和茶具的山 = 1111
#DIM CONST 跳蛋田 = 1112
;月之都

;綿月亭

;玉兎之街

;桃林～砂浜
#DIM CONST 桃林 = 1180
#DIM CONST 砂丘 = 1181
#DIM CONST 窪地 = 1182
;寧靜海 =
#DIM CONST 結界的狭間 = 1190
#DIM CONST 地球的影子 = 1191
#DIM CONST 水面的地球 = 1192

repo_name: akadiya/eratw

path: ERB/潜伏モード関連/潜伏場所.ERH

license: unknown


code:
@NAME_HIDING_PLACE()
#FUNCTIONS
SELECTCASE FLAG:潜伏場所
	;汎用
	CASE 1
		RETURNF "暗处"
	CASE 2
		RETURNF "草丛"
	CASE 3
		RETURNF "灌木丛"
	CASE 4
		RETURNF "树林"
	CASE 5
		RETURNF "樹上"
	CASE 6
		RETURNF "岩石陰影"
	CASE 7
		RETURNF "山脊"
	CASE 8
		RETURNF "屋顶上"
	CASE 9
		RETURNF "巷子"
	CASE 10
		RETURNF "房梁上"
	CASE 11
		RETURNF "柱字的陰影"
	CASE 12
		RETURNF "围墙的陰影"
	CASE 13
		RETURNF "推車的陰影"
	CASE 14
		RETURNF "屏风"
	CASE 15
		RETURNF "竹薮"
	CASE 16
		RETURNF "服装箱"
	CASE 17
		RETURNF "花圃"
	CASE 18
		RETURNF "摊位的陰影"
	CASE 19
		RETURNF "商品架的陰影"
	CASE 20
		RETURNF "倉庫深处"
	CASE 21
		RETURNF "濃霧"
	CASE 22
		RETURNF "黑暗中"
	CASE 23
		RETURNF "方便合适的間隙"
	CASE 24
		RETURNF "空的部屋"
	CASE 25
		RETURNF "洞穴"
	CASE 26
		RETURNF "祠堂的陰影"
	CASE 27
		RETURNF "桌子下"
	CASE 28
		RETURNF "沙发的陰影"
;博麗神社
	;桜花树の鳥居
	CASE 110
		RETURNF "桜花树"
	CASE 111
		RETURNF "鳥居之上"
	;神社境内
	CASE 120
		RETURNF "灯篭的陰影"
	CASE 121
		RETURNF "手水舎裏"
	CASE 122
		RETURNF "本堂裏"
	;神社本堂
	CASE 13
		RETURNF "賽銭箱的陰影"
	CASE 131
		RETURNF "御神体的陰影"
	;神社走廊
	CASE 140
		RETURNF "走廊の下"
	CASE 141
		RETURNF "庫房裏"
	;妖精的大樹
	CASE 150
		RETURNF "树根的陰影"
	;夢幻遺跡
	CASE 160
		RETURNF "謎之装置的陰影"
	CASE 161
		RETURNF "通风管道内"
	CASE 162
		RETURNF "研究台下"
;命蓮寺
	;地蔵小路
	CASE 210
		RETURNF "地藏的陰影"
	;倒垂的柳樹下
	CASE 220
		RETURNF "柳树的陰影"
	CASE 221
		RETURNF "柳の樹上"
	;命蓮寺境内
	CASE 230
		RETURNF "山門の上"
	CASE 231
		RETURNF "祈祷殿"
	CASE 232
		RETURNF "鐘楼"
	;命蓮寺方丈
	CASE 240
		RETURNF "旁間"
	CASE 241
		RETURNF "宮殿裏"
	;墓地
	CASE 250
		RETURNF "墓的陰影"
	CASE 251
		RETURNF "納骨堂裏"
	;神霊廟境内
	CASE 260
		RETURNF "大門の上"
;人里
	;広場
	CASE 310
		RETURNF "瞭望樓"
	CASE 311
		RETURNF "龍神像の陰"
	;商家屋
	;呑屋小道
	CASE 330
		RETURNF "空桶"
	;寺子屋
	CASE 340
		RETURNF "保健室"
	CASE 341
		RETURNF "指導室"
	;大衆浴場
	;長屋街
;霧之湖～紅魔館
	;霧之湖
	;冰造的小雪屋
	CASE 420
		RETURNF "冰墙後"
	CASE 421
		RETURNF "冰屋裏"
	;廃洋館
	CASE 430
		RETURNF "古旧の窗帘"
	CASE 431
		RETURNF "オルガンの陰"
	;正門
	CASE 440
		RETURNF "守衛小屋裏"
	CASE 441
		RETURNF "空的小屋裏"
	;大廳
	CASE 450
		RETURNF "會客廳的家具"
	CASE 451
		RETURNF "廁所的隔間"
	CASE 452
		RETURNF "大窗户的窗帘"
	;食堂
	CASE 460
		RETURNF "餐桌下"
	CASE 461
		RETURNF "餐具柜的陰影"
	CASE 462
		RETURNF "熄了火的壁炉"
	;大図書館
	CASE 470
		RETURNF "书架的陰影"
	CASE 471
		RETURNF "长桌下"
	CASE 472
		RETURNF "古書の山"
	;地下室
	CASE 480
		RETURNF "大浴場深处"
	CASE 481
		RETURNF "佣人房間深处"
;迷途竹林
	;竹林入口
	;迷失的小道
	CASE 520
		RETURNF "廃屋裏"
	;斜角的竹林
	;兎の洞窟
	;永遠亭
	CASE 550
		RETURNF "床下"
	CASE 551
		RETURNF "来客用厕所的隔間"
	;無名之丘
	CASE 560
		RETURNF "小川"
	CASE 561
		RETURNF "草原"
	;太陽花田
	CASE 570
		RETURNF "向日葵田"
	;永遠亭的内院
	CASE 580
		RETURNF "屏風的陰影"
	CASE 581
		RETURNF "竹帘背面"
	CASE 582
		RETURNF "整块天花板裏"
	;夢幻館
	CASE 590
		RETURNF "窗帘"
;魔法之森
	;森林的入口
	;香霖堂
	CASE 620
		RETURNF "香霖堂裏"
	;古木的大樹
	CASE 630
		RETURNF "大樹の樹上"
	CASE 631
		RETURNF "巨根的狭缝"
	CASE 632
		RETURNF "妖怪蘑菇傘"
	;霧雨魔法店
	CASE 640
		RETURNF "魔法店裏"
	CASE 641
		RETURNF "柜台下"
	;人偶的洋館
	CASE 650
		RETURNF "歌莉亜人偶的裙子里"
	CASE 651
		RETURNF "楼梯旁"
	;再思之道
	CASE 660
		RETURNF "彼岸花圃"
	CASE 661
		RETURNF "彼岸花簇"
	CASE 662
		RETURNF "彼岸花的絨毯"
	;無縁塚
	CASE 670
		RETURNF "紫色桜树"
	CASE 671
		RETURNF "無名墓標的陰影"
;三途之川～冥界
	;中有之道
	CASE 710
		RETURNF "大看板的陰影"
	;三途之川
	CASE 720
		RETURNF "渡船"
	CASE 721
		RETURNF "山水瀬"
	;迷途之家
	;彼岸
	;白玉楼庭
	CASE 750
		RETURNF "西行妖"
	CASE 751
		RETURNF "石灯篭的陰影"
	CASE 752
		RETURNF "树篱"
	;白玉楼
	;地獄
	;畜生界
	;霊長園
;妖怪之山(山麓)
	;山麓樹海
	CASE 810
		RETURNF "小屋裏"
	;玄武之澤
	CASE 820
		RETURNF "河边的岩石陰影"
	;大蛤蟆之池
	;迷途之家
	;仙人的宅邸
	CASE 850
		RETURNF "书房深处"
	CASE 851
		RETURNF "回廊深处"
	;間欠泉地下中樞
	CASE 860
		RETURNF "核融合炉保养通道"
	CASE 861
		RETURNF "非常用七千樓梯"
	CASE 862
		RETURNF "错综复杂的管道網"
;妖怪之山(山頂)
	;九天瀑布
	;絶景之丘
	;山之湖
	;守矢神社境内
	CASE 940
		RETURNF "机器人型广告气球"
	CASE 941
		RETURNF "御柱"
	CASE 942
		RETURNF "像大蛇形状的石头"
	;守矢神社本殿
	;天界
	CASE 960
		RETURNF "桃树"
	CASE 961
		RETURNF "要石"
;地底
	;幻想風穴
	;地獄的深道
	CASE 1020
		RETURNF "橋台"
	;旧地獄街道
	;旧地獄温泉
	CASE 1040
		RETURNF "水雾"
	;地霊殿
	CASE 1060
		RETURNF "玫瑰園"
	CASE 1061
		RETURNF "办公桌下"
	;灼熱地獄跡
	CASE 1070
		RETURNF "烟燻湖"
	CASE 1071
		RETURNF "灰之湖"
	CASE 1072
		RETURNF "最初之火的火炉"
;夢之世界～月
	;槐安通路
	CASE 1110
		RETURNF "胖次巨像"
	CASE 1111
		RETURNF "掃除道具和茶具的山"
	CASE 1112
		RETURNF "跳蛋田"
	;月之都
	;綿月亭
	;玉兎之街
	;桃林～砂浜
	CASE 1180
		RETURNF "桃林"
	CASE 1181
		RETURNF "砂丘"
	CASE 1182
		RETURNF "窪地"
	;寧靜海
	CASE 1190
		RETURNF "結界的狭間"
	CASE 1191
		RETURNF "地球的影子"
	CASE 1192
		RETURNF "水面的地球"
ENDSELECT

path: ERB/潜伏モード関連/潜伏場所文字列呼び出し.ERB


code:
@潜伏場所決定処理
IF CFLAG:MASTER:現在位置 != MAIN_MAP
	SELECTCASE CFLAG:MASTER:現在位置
		;博麗神社
		CASE 10
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 桜花树
				CASE 1
					FLAG:潜伏場所 = 鳥居之上
				CASEELSE
					SELECTCASE RAND(5) ;固有がある場合汎用は一段分ける
						CASE 0
							FLAG:潜伏場所 = 草丛
						CASE 1
							FLAG:潜伏場所 = 灌木丛
						CASE 2
							FLAG:潜伏場所 = 树林
						CASE 3
							FLAG:潜伏場所 = 樹上
						CASE 4
							FLAG:潜伏場所 = 岩石陰影
					ENDSELECT
			ENDSELECT
		CASE 20
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 灯篭的陰影
				CASE 1
					FLAG:潜伏場所 = 手水舎裏
				CASE 2
					FLAG:潜伏場所 = 本堂裏
				CASEELSE
					SELECTCASE RAND(3)
						CASE 0
							FLAG:潜伏場所 = 暗处
						CASE 1
							FLAG:潜伏場所 = 灌木丛
						CASE 2
							FLAG:潜伏場所 = 岩石陰影
					ENDSELECT
			ENDSELECT
		CASE 30
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 賽銭箱的陰影
				CASE 1
					FLAG:潜伏場所 = 御神体的陰影
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 房梁上
						CASE 2
							FLAG:潜伏場所 = 黑暗中
						CASE 3
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 40
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 走廊の下
				CASE 1
					FLAG:潜伏場所 = 庫房裏
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 房梁上
						CASE 2
							FLAG:潜伏場所 = 柱字的陰影
						CASE 3
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 50
			SELECTCASE RAND(2)
				CASE 0
					FLAG:潜伏場所 = 树根的陰影
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 草丛
						CASE 1
							FLAG:潜伏場所 = 灌木丛
						CASE 2
							FLAG:潜伏場所 = 树林
						CASE 3
							FLAG:潜伏場所 = 樹上
					ENDSELECT
			ENDSELECT
		CASE 60
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 謎之装置的陰影
				CASE 1
					FLAG:潜伏場所 = 通风管道内
				CASE 2
					FLAG:潜伏場所 = 研究台下
				CASEELSE
					SELECTCASE RAND(5)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 房梁上
						CASE 2
							FLAG:潜伏場所 = 柱字的陰影
						CASE 3
							FLAG:潜伏場所 = 屏风
						CASE 4
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		;命蓮寺
		CASE 110
			SELECTCASE RAND(2)
				CASE 0
					FLAG:潜伏場所 = 地藏的陰影
				CASEELSE
					SELECTCASE RAND(3)
						CASE 0
							FLAG:潜伏場所 = 草丛
						CASE 1
							FLAG:潜伏場所 = 灌木丛
						CASE 2
							FLAG:潜伏場所 = 岩石陰影
					ENDSELECT
			ENDSELECT
		CASE 120
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 柳树的陰影
				CASE 1
					FLAG:潜伏場所 = 柳の樹上
				CASEELSE
					SELECTCASE RAND(3)
						CASE 0
							FLAG:潜伏場所 = 草丛
						CASE 1
							FLAG:潜伏場所 = 灌木丛
						CASE 2
							FLAG:潜伏場所 = 樹上
					ENDSELECT
			ENDSELECT
		CASE 130
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 山門の上
				CASE 1
					FLAG:潜伏場所 = 祈祷殿
				CASE 2
					FLAG:潜伏場所 = 鐘楼
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 岩石陰影
						CASE 2
							FLAG:潜伏場所 = 柱字的陰影
						CASE 3
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 140
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 旁間
				CASE 1
					FLAG:潜伏場所 = 宮殿裏
				CASEELSE
					SELECTCASE RAND(5)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 房梁上
						CASE 2
							FLAG:潜伏場所 = 柱字的陰影
						CASE 3
							FLAG:潜伏場所 = 屏风
						CASE 4
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 150
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 墓的陰影
				CASE 1
					FLAG:潜伏場所 = 納骨堂裏
				CASEELSE
					SELECTCASE RAND(5)
						CASE 0
							FLAG:潜伏場所 = 岩石陰影
						CASE 1
							FLAG:潜伏場所 = 草丛
						CASE 2
							FLAG:潜伏場所 = 灌木丛
						CASE 3
							FLAG:潜伏場所 = 围墙的陰影
						CASE 4
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 160
			SELECTCASE RAND(2)
				CASE 0
					FLAG:潜伏場所 = 大門の上
				CASEELSE
					SELECTCASE RAND(5)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 房梁上
						CASE 2
							FLAG:潜伏場所 = 屏风
						CASE 3
							FLAG:潜伏場所 = 空的部屋
						CASE 4
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		;人間之里
		CASE 210
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 瞭望樓上
				CASE 1
					FLAG:潜伏場所 = 龍神像の陰
				CASEELSE
					SELECTCASE RAND(3)
						CASE 0
							FLAG:潜伏場所 = 巷子
						CASE 1
							FLAG:潜伏場所 = 推車的陰影
						CASE 2
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 220
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 屋顶上
				CASE 1
					FLAG:潜伏場所 = 商品架的陰影
				CASE 2
					FLAG:潜伏場所 = 巷子
				CASE 3
					FLAG:潜伏場所 = 暗处
			ENDSELECT
		CASE 230
			SELECTCASE RAND(2)
				CASE 0
					FLAG:潜伏場所 = 空桶
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 商品架的陰影
						CASE 2
							FLAG:潜伏場所 = 巷子
						CASE 3
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 240
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 保健室
				CASE 1
					FLAG:潜伏場所 = 指導室
				CASEELSE
					SELECTCASE RAND(6)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 房梁上
						CASE 2
							FLAG:潜伏場所 = 柱字的陰影
						CASE 3
							FLAG:潜伏場所 = 屏风
						CASE 4
							FLAG:潜伏場所 = 空的部屋
						CASE 5
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 250
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 屋顶上
				CASE 1
					FLAG:潜伏場所 = 屏风
				CASE 2
					FLAG:潜伏場所 = 巷子
				CASE 3
					FLAG:潜伏場所 = 暗处
			ENDSELECT
		CASE 270
			SELECTCASE RAND(5)
				CASE 0
					FLAG:潜伏場所 = 屋顶上
				CASE 1
					FLAG:潜伏場所 = 推車的陰影
				CASE 2
					FLAG:潜伏場所 = 巷子
				CASE 3
					FLAG:潜伏場所 = 空的部屋
				CASE 4
					FLAG:潜伏場所 = 暗处
			ENDSELECT
		;霧之湖～紅魔館
		CASE 310
			SELECTCASE RAND(5)
				CASE 0
					FLAG:潜伏場所 = 濃霧
				CASE 1
					FLAG:潜伏場所 = 岩石陰影
				CASE 2
					FLAG:潜伏場所 = 草丛
				CASE 3
					FLAG:潜伏場所 = 灌木丛
				CASE 4
					FLAG:潜伏場所 = 树林
			ENDSELECT
		CASE 320
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 冰墙後
				CASE 1
					FLAG:潜伏場所 = 冰屋裏
				CASEELSE
					SELECTCASE RAND(3)
						CASE 0
							FLAG:潜伏場所 = 草丛
						CASE 1
							FLAG:潜伏場所 = 灌木丛
						CASE 2
							FLAG:潜伏場所 = 树林
					ENDSELECT
			ENDSELECT
		CASE 330
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 古旧の窗帘
				CASE 1
					FLAG:潜伏場所 = オルガンの陰
				CASEELSE
					SELECTCASE RAND(8)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 空的部屋
						CASE 2
							FLAG:潜伏場所 = 服装箱
						CASE 3
							FLAG:潜伏場所 = 柱字的陰影
						CASE 4
							FLAG:潜伏場所 = 黑暗中
						CASE 5
							FLAG:潜伏場所 = 围墙的陰影
						CASE 6
							FLAG:潜伏場所 = 沙发的陰影
						CASE 7
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 340
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 守衛小屋裏
				CASE 1
					FLAG:潜伏場所 = 空的小屋裏
				CASEELSE
					SELECTCASE RAND(7)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 花圃
						CASE 2
							FLAG:潜伏場所 = 灌木丛
						CASE 3
							FLAG:潜伏場所 = 樹上
						CASE 4
							FLAG:潜伏場所 = 树林
						CASE 5
							FLAG:潜伏場所 = 围墙的陰影
						CASE 6
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 350
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 會客廳的家具
				CASE 1
					FLAG:潜伏場所 = 廁所的隔間
				CASE 2
					FLAG:潜伏場所 = 大窗户的窗帘
				CASEELSE
					SELECTCASE RAND(6)
						CASE 0
							FLAG:潜伏場所 = 房梁上
						CASE 1
							FLAG:潜伏場所 = 屏风
						CASE 2
							FLAG:潜伏場所 = 空的部屋
						CASE 3
							FLAG:潜伏場所 = 服装箱
						CASE 4
							FLAG:潜伏場所 = 黑暗中
						CASE 5
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 360
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 餐桌下
				CASE 1
					FLAG:潜伏場所 = 餐具柜的陰影
				CASE 2
					FLAG:潜伏場所 = 熄了火的壁炉
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 房梁上
						CASE 1
							FLAG:潜伏場所 = 屏风
						CASE 2
							FLAG:潜伏場所 = 黑暗中
						CASE 3
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 370
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 书架的陰影
				CASE 1
					FLAG:潜伏場所 = 长桌下
				CASE 2
					FLAG:潜伏場所 = 古書の山
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 房梁上
						CASE 1
							FLAG:潜伏場所 = 柱字的陰影
						CASE 2
							FLAG:潜伏場所 = 黑暗中
						CASE 3
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 380
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 大浴場深处
				CASE 1
					FLAG:潜伏場所 = 佣人房間深处
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 房梁上
						CASE 1
							FLAG:潜伏場所 = 屏风
						CASE 2
							FLAG:潜伏場所 = 黑暗中
						CASE 3
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		;迷途竹林
		CASE 410
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 竹薮
				CASE 1
					FLAG:潜伏場所 = 祠堂的陰影
				CASE 2
					FLAG:潜伏場所 = 灌木丛
				CASE 3
					FLAG:潜伏場所 = 摊位的陰影
			ENDSELECT
		CASE 420
			SELECTCASE RAND(2)
				CASE 0
					FLAG:潜伏場所 = 廃屋裏
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 竹薮
						CASE 1
							FLAG:潜伏場所 = 草丛
						CASE 2
							FLAG:潜伏場所 = 灌木丛
						CASE 3
							FLAG:潜伏場所 = 岩石陰影
					ENDSELECT
			ENDSELECT
		CASE 430
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 竹薮
				CASE 1
					FLAG:潜伏場所 = 草丛
				CASE 2
					FLAG:潜伏場所 = 灌木丛
				CASE 3
					FLAG:潜伏場所 = 岩石陰影
			ENDSELECT
		CASE 440
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 竹薮
				CASE 1
					FLAG:潜伏場所 = 草丛
				CASE 2
					FLAG:潜伏場所 = 灌木丛
				CASE 3
					FLAG:潜伏場所 = 岩石陰影
			ENDSELECT
		CASE 450
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 床下
				CASE 1
					FLAG:潜伏場所 = 来客用厕所的隔間
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 屏风
						CASE 2
							FLAG:潜伏場所 = 房梁上
						CASE 3
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 460
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 小川
				CASE 1
					FLAG:潜伏場所 = 草原
				CASEELSE
					SELECTCASE RAND(3)
						CASE 0
							FLAG:潜伏場所 = 岩石陰影
						CASE 1
							FLAG:潜伏場所 = 山脊
						CASE 2
							FLAG:潜伏場所 = 灌木丛
					ENDSELECT
			ENDSELECT
		CASE 470
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 向日葵田
				CASE 1
					FLAG:潜伏場所 = 向日葵田
				CASE 2
					FLAG:潜伏場所 = 向日葵田
			ENDSELECT
		CASE 480
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 屏風的陰影
				CASE 1
					FLAG:潜伏場所 = 竹帘背面
				CASE 2
					FLAG:潜伏場所 = 整块天花板裏
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 空的部屋
						CASE 2
							FLAG:潜伏場所 = 房梁上
						CASE 3
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 490
			SELECTCASE RAND(2)
				CASE 0
					FLAG:潜伏場所 = 窗帘
				CASEELSE
					SELECTCASE RAND(8)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 空的部屋
						CASE 2
							FLAG:潜伏場所 = 房梁上
						CASE 3
							FLAG:潜伏場所 = 服装箱
						CASE 4
							FLAG:潜伏場所 = 花圃
						CASE 5
							FLAG:潜伏場所 = 倉庫深处
						CASE 6
							FLAG:潜伏場所 = 沙发的陰影
						CASE 7
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		;魔法之森
		CASE 510
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 樹上
				CASE 1
					FLAG:潜伏場所 = 草丛
				CASE 2
					FLAG:潜伏場所 = 树林
			ENDSELECT
		CASE 520
			SELECTCASE RAND(2)
				CASE 0
					FLAG:潜伏場所 = 香霖堂裏
				CASEELSE
					SELECTCASE RAND(6)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 商品架的陰影
						CASE 2
							FLAG:潜伏場所 = 灌木丛
						CASE 3
							FLAG:潜伏場所 = 树林
						CASE 4
							FLAG:潜伏場所 = 草丛
						CASE 5
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 530
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 大樹の樹上
				CASE 1
					FLAG:潜伏場所 = 巨根的狭缝
				CASE 2
					FLAG:潜伏場所 = 妖怪蘑菇傘
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 树林
						CASE 1
							FLAG:潜伏場所 = 灌木丛
						CASE 2
							FLAG:潜伏場所 = 草丛
						CASE 3
							FLAG:潜伏場所 = 岩石陰影
					ENDSELECT
			ENDSELECT
		CASE 540
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 魔法店裏
				CASE 1
					FLAG:潜伏場所 = 柜台下
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 灌木丛
						CASE 1
							FLAG:潜伏場所 = 商品架的陰影
						CASE 2
							FLAG:潜伏場所 = 倉庫深处
						CASE 3
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 550
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 歌莉亜人偶的裙子里
				CASE 1
					FLAG:潜伏場所 = 楼梯旁
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 柱字的陰影
						CASE 1
							FLAG:潜伏場所 = 服装箱
						CASE 2
							FLAG:潜伏場所 = 空的部屋
						CASE 3
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 560
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 彼岸花圃
				CASE 1
					FLAG:潜伏場所 = 彼岸花簇
				CASE 2
					FLAG:潜伏場所 = 彼岸花的絨毯
			ENDSELECT
		CASE 570
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 紫色桜树
				CASE 1
					FLAG:潜伏場所 = 無名墓標的陰影
				CASEELSE
					SELECTCASE RAND(4)
						CASE 0
							FLAG:潜伏場所 = 灌木丛
						CASE 1
							FLAG:潜伏場所 = 岩石陰影
						CASE 2
							FLAG:潜伏場所 = 山脊
						CASE 3
							FLAG:潜伏場所 = 草丛
					ENDSELECT
			ENDSELECT
		;三途之川～冥界
		CASE 610
			SELECTCASE RAND(2)
				CASE 0
					FLAG:潜伏場所 = 大看板的陰影
				CASEELSE
					SELECTCASE RAND(6)
						CASE 0
							FLAG:潜伏場所 = 灌木丛
						CASE 1
							FLAG:潜伏場所 = 摊位的陰影
						CASE 2
							FLAG:潜伏場所 = 屋顶上
						CASE 3
							FLAG:潜伏場所 = 推車的陰影
						CASE 4
							FLAG:潜伏場所 = 巷子
						CASE 5
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 620
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 渡船
				CASE 1
					FLAG:潜伏場所 = 山水瀬
				CASEELSE
					SELECTCASE RAND(3)
						CASE 0
							FLAG:潜伏場所 = 灌木丛
						CASE 1
							FLAG:潜伏場所 = 岩石陰影
						CASE 2
							FLAG:潜伏場所 = 濃霧
					ENDSELECT
			ENDSELECT
		CASE 630
			SELECTCASE RAND(5)
				CASE 0
					FLAG:潜伏場所 = 围墙的陰影
				CASE 1
					FLAG:潜伏場所 = 屏风
				CASE 2
					FLAG:潜伏場所 = 房梁上
				CASE 3
					FLAG:潜伏場所 = 空的部屋
				CASE 4
					FLAG:潜伏場所 = 方便合适的間隙
			ENDSELECT
		CASE 640
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 花圃
				CASE 1
					FLAG:潜伏場所 = 花圃
				CASE 2
					FLAG:潜伏場所 = 花圃
			ENDSELECT
		CASE 650
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 西行妖的陰影
				CASE 1
					FLAG:潜伏場所 = 石灯篭的陰影
				CASE 2
					FLAG:潜伏場所 = 树篱
				CASEELSE
					SELECTCASE RAND(3)
						CASE 0
							FLAG:潜伏場所 = 屋顶上
						CASE 1
							FLAG:潜伏場所 = 岩石陰影
						CASE 2
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 660
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 房梁上
				CASE 1
					FLAG:潜伏場所 = 空的部屋
				CASE 2
					FLAG:潜伏場所 = 屏风
				CASE 3
					FLAG:潜伏場所 = 暗处
			ENDSELECT
		CASE 670
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 岩石陰影
				CASE 1
					FLAG:潜伏場所 = 濃霧
				CASE 2
					FLAG:潜伏場所 = 黑暗中
				CASE 3
					FLAG:潜伏場所 = 暗处
			ENDSELECT
		CASE 680
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 暗处
				CASE 1
					FLAG:潜伏場所 = 暗处
				CASE 2
					FLAG:潜伏場所 = 暗处
				CASE 3
					FLAG:潜伏場所 = 暗处
			ENDSELECT
		CASE 690
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 暗处
				CASE 1
					FLAG:潜伏場所 = 暗处
				CASE 2
					FLAG:潜伏場所 = 暗处
				CASE 3
					FLAG:潜伏場所 = 暗处
			ENDSELECT
		;妖怪之山・山麓
		CASE 710
			SELECTCASE RAND(2)
				CASE 0
					FLAG:潜伏場所 = 小屋裏
				CASEELSE
					SELECTCASE RAND(5)
						CASE 0
							FLAG:潜伏場所 = 草丛
						CASE 1
							FLAG:潜伏場所 = 岩石陰影
						CASE 2
							FLAG:潜伏場所 = 灌木丛
						CASE 3
							FLAG:潜伏場所 = 树林
						CASE 4
							FLAG:潜伏場所 = 樹上
					ENDSELECT
			ENDSELECT
		CASE 720
			SELECTCASE RAND(2)
				CASE 0
					FLAG:潜伏場所 = 河边的岩石陰影
				CASEELSE
					SELECTCASE RAND(5)
						CASE 0
							FLAG:潜伏場所 = 草丛
						CASE 1
							FLAG:潜伏場所 = 岩石陰影
						CASE 2
							FLAG:潜伏場所 = 灌木丛
						CASE 3
							FLAG:潜伏場所 = 树林
						CASE 4
							FLAG:潜伏場所 = 樹上
					ENDSELECT
			ENDSELECT
		CASE 730
			SELECTCASE RAND(5)
				CASE 0
					FLAG:潜伏場所 = 草丛
				CASE 1
					FLAG:潜伏場所 = 祠堂的陰影
				CASE 2
					FLAG:潜伏場所 = 灌木丛
				CASE 3
					FLAG:潜伏場所 = 树林
				CASE 4
					FLAG:潜伏場所 = 樹上
			ENDSELECT
		CASE 740
			SELECTCASE RAND(5)
				CASE 0
					FLAG:潜伏場所 = 围墙的陰影
				CASE 1
					FLAG:潜伏場所 = 屏风
				CASE 2
					FLAG:潜伏場所 = 房梁上
				CASE 3
					FLAG:潜伏場所 = 空的部屋
				CASE 4
					FLAG:潜伏場所 = 方便合适的間隙
			ENDSELECT
		CASE 750
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 书房深处
				CASE 1
					FLAG:潜伏場所 = 回廊深处
				CASEELSE
					SELECTCASE RAND(5)
						CASE 0
							FLAG:潜伏場所 = 柱字的陰影
						CASE 1
							FLAG:潜伏場所 = 房梁上
						CASE 2
							FLAG:潜伏場所 = 屋顶上
						CASE 3
							FLAG:潜伏場所 = 围墙的陰影
						CASE 4
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 760
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 核融合炉保养通道
				CASE 1
					FLAG:潜伏場所 = 非常用七千樓梯
				CASE 2
					FLAG:潜伏場所 = 错综复杂的管道網
				CASEELSE
					SELECTCASE RAND(5)
						CASE 0
							FLAG:潜伏場所 = 柱字的陰影
						CASE 1
							FLAG:潜伏場所 = 黑暗中
						CASE 2
							FLAG:潜伏場所 = 洞穴
						CASE 3
							FLAG:潜伏場所 = 岩石陰影
						CASE 4
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		;妖怪之山・山頂
		CASE 810
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 洞穴
				CASE 1
					FLAG:潜伏場所 = 灌木丛
				CASE 2
					FLAG:潜伏場所 = 岩石陰影
			ENDSELECT
		CASE 820
			SELECTCASE RAND(5)
				CASE 0
					FLAG:潜伏場所 = 草丛
				CASE 1
					FLAG:潜伏場所 = 祠堂的陰影
				CASE 2
					FLAG:潜伏場所 = 灌木丛
				CASE 3
					FLAG:潜伏場所 = 树林
				CASE 4
					FLAG:潜伏場所 = 山脊
			ENDSELECT
		CASE 830
			SELECTCASE RAND(5)
				CASE 0
					FLAG:潜伏場所 = 草丛
				CASE 1
					FLAG:潜伏場所 = 岩石陰影
				CASE 2
					FLAG:潜伏場所 = 灌木丛
				CASE 3
					FLAG:潜伏場所 = 树林
				CASE 4
					FLAG:潜伏場所 = 樹上
			ENDSELECT
		CASE 840
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 机器人型广告气球
				CASE 1
					FLAG:潜伏場所 = 御柱
				CASE 2
					FLAG:潜伏場所 = 像大蛇形状的石头
				CASEELSE
					SELECTCASE RAND(5)
						CASE 0
							FLAG:潜伏場所 = 围墙的陰影
						CASE 1
							FLAG:潜伏場所 = 屋顶上
						CASE 2
							FLAG:潜伏場所 = 岩石陰影
						CASE 3
							FLAG:潜伏場所 = 灌木丛
						CASE 4
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 850
			SELECTCASE RAND(5)
				CASE 0
					FLAG:潜伏場所 = 屏风
				CASE 1
					FLAG:潜伏場所 = 房梁上
				CASE 2
					FLAG:潜伏場所 = 空的部屋
				CASE 3
					FLAG:潜伏場所 = 柱字的陰影
				CASE 4
					FLAG:潜伏場所 = 暗处
			ENDSELECT
		CASE 890
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 桃树
				CASE 1
					FLAG:潜伏場所 = 要石
				CASEELSE
					SELECTCASE RAND(5)
						CASE 0
							FLAG:潜伏場所 = 围墙的陰影
						CASE 1
							FLAG:潜伏場所 = 屋顶上
						CASE 2
							FLAG:潜伏場所 = 岩石陰影
						CASE 3
							FLAG:潜伏場所 = 巷子
						CASE 4
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		;地底
		CASE 910
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 洞穴
				CASE 1
					FLAG:潜伏場所 = 岩石陰影
				CASE 2
					FLAG:潜伏場所 = 黑暗中
			ENDSELECT
		CASE 920
			SELECTCASE RAND(2)
				CASE 0
					FLAG:潜伏場所 = 橋台
				CASEELSE
					SELECTCASE RAND(3)
						CASE 0
							FLAG:潜伏場所 = 岩石陰影
						CASE 1
							FLAG:潜伏場所 = 洞穴
						CASE 2
							FLAG:潜伏場所 = 黑暗中
					ENDSELECT
			ENDSELECT
		CASE 930
			SELECTCASE RAND(5)
				CASE 0
					FLAG:潜伏場所 = 巷子
				CASE 1
					FLAG:潜伏場所 = 屋顶上
				CASE 2
					FLAG:潜伏場所 = 推車的陰影
				CASE 3
					FLAG:潜伏場所 = 摊位的陰影
				CASE 4
					FLAG:潜伏場所 = 围墙的陰影
			ENDSELECT
		CASE 940
			SELECTCASE RAND(2)
				CASE 0
					FLAG:潜伏場所 = 水雾
				CASEELSE
					SELECTCASE RAND(3)
						CASE 0
							FLAG:潜伏場所 = 岩石陰影
						CASE 1
							FLAG:潜伏場所 = 巷子
						CASE 2
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 960
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 玫瑰園
				CASE 1
					FLAG:潜伏場所 = 办公桌下
				CASEELSE
					SELECTCASE RAND(10)
						CASE 0
							FLAG:潜伏場所 = 围墙的陰影
						CASE 1
							FLAG:潜伏場所 = 屋顶上
						CASE 2
							FLAG:潜伏場所 = 服装箱
						CASE 3
							FLAG:潜伏場所 = 屏风
						CASE 4
							FLAG:潜伏場所 = 房梁上
						CASE 5
							FLAG:潜伏場所 = 空的部屋
						CASE 6
							FLAG:潜伏場所 = 柱字的陰影
						CASE 7
							FLAG:潜伏場所 = 桌子下
						CASE 8
							FLAG:潜伏場所 = 沙发的陰影
						CASE 9
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		CASE 970
			SELECTCASE RAND(4)
				CASE 0
					FLAG:潜伏場所 = 烟燻湖
				CASE 1
					FLAG:潜伏場所 = 灰之湖
				CASE 2
					FLAG:潜伏場所 = 最初之火的火炉
				CASEELSE
					SELECTCASE RAND(3)
						CASE 0
							FLAG:潜伏場所 = 岩石陰影
						CASE 1
							FLAG:潜伏場所 = 黑暗中
						CASE 2
							FLAG:潜伏場所 = 暗处
					ENDSELECT
			ENDSELECT
		;夢之世界～月
		CASE 1010
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 胖次巨像
				CASE 1
					FLAG:潜伏場所 = 掃除道具和茶具的山
				CASE 2
					FLAG:潜伏場所 = 跳蛋田
			ENDSELECT
		CASE 1050
			SELECTCASE RAND(5)
				CASE 0
					FLAG:潜伏場所 = 巷子
				CASE 1
					FLAG:潜伏場所 = 屋顶上
				CASE 2
					FLAG:潜伏場所 = 推車的陰影
				CASE 3
					FLAG:潜伏場所 = 摊位的陰影
				CASE 4
					FLAG:潜伏場所 = 围墙的陰影
			ENDSELECT
		CASE 1060
			SELECTCASE RAND(5)
				CASE 0
					FLAG:潜伏場所 = 围墙的陰影
				CASE 1
					FLAG:潜伏場所 = 屋顶上
				CASE 2
					FLAG:潜伏場所 = 柱字的陰影
				CASE 3
					FLAG:潜伏場所 = 桌子下
				CASE 4
					FLAG:潜伏場所 = 暗处
			ENDSELECT
		CASE 1070
			SELECTCASE RAND(5)
				CASE 0
					FLAG:潜伏場所 = 巷子
				CASE 1
					FLAG:潜伏場所 = 屋顶上
				CASE 2
					FLAG:潜伏場所 = 推車的陰影
				CASE 3
					FLAG:潜伏場所 = 摊位的陰影
				CASE 4
					FLAG:潜伏場所 = 围墙的陰影
			ENDSELECT
		CASE 1080
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 桃林
				CASE 1
					FLAG:潜伏場所 = 砂丘
				CASE 2
					FLAG:潜伏場所 = 窪地
			ENDSELECT
		CASE 1090
			SELECTCASE RAND(3)
				CASE 0
					FLAG:潜伏場所 = 結界的狭間
				CASE 1
					FLAG:潜伏場所 = 地球的影子
				CASE 2
					FLAG:潜伏場所 = 水面的地球
			ENDSELECT
		CASEELSE
					FLAG:潜伏場所 = 暗处
		ENDSELECT
ELSE
	;拠点MAPの潜伏場所選定はまだ作成していない
	FLAG:潜伏場所 = 暗处
ENDIF

path: ERB/潜伏モード関連/潜伏場所決定処理.ERB


code:
@潜伏描写

;一行目 潜伏場所、現在的モード、潜伏率を表示
IF GETBIT(FLAG:潜伏,2)
	IF BASE:MASTER:潜伏率 >= 70
		PRINTFORM %NAME_HIDING_PLACE()%
		SETCOLOR COLOR("赤")
		PRINTFORM 会話模式
		RESETCOLOR
		SETCOLOR COLOR("緑")
		PRINTFORML （潜伏率 {BASE:MASTER:潜伏率}％）
		RESETCOLOR
	ELSEIF BASE:MASTER:潜伏率 >= 40
		PRINTFORM %NAME_HIDING_PLACE()%
		SETCOLOR COLOR("赤")
		PRINTFORM 会話模式
		RESETCOLOR
		SETCOLOR COLOR("黄")
		PRINTFORML （潜伏率 {BASE:MASTER:潜伏率}％）
		RESETCOLOR
	ELSE
		PRINTFORM %NAME_HIDING_PLACE()%
		SETCOLOR COLOR("赤")
		PRINTFORM 会話模式
		RESETCOLOR
		SETCOLOR COLOR("赤")
		PRINTFORML （潜伏率 {BASE:MASTER:潜伏率}％）
		RESETCOLOR
	ENDIF
ELSEIF GETBIT(FLAG:潜伏,1)
	IF BASE:MASTER:潜伏率 >= 70
		PRINTFORM %NAME_HIDING_PLACE()%
		SETCOLOR COLOR("黄")
		PRINTFORM 探索模式
		RESETCOLOR
		SETCOLOR COLOR("緑")
		PRINTFORML （潜伏率 {BASE:MASTER:潜伏率}％）
		RESETCOLOR
	ELSEIF BASE:MASTER:潜伏率 >= 40
		PRINTFORM %NAME_HIDING_PLACE()%
		SETCOLOR COLOR("黄")
		PRINTFORM 探索模式
		RESETCOLOR
		SETCOLOR COLOR("黄")
		PRINTFORML （潜伏率 {BASE:MASTER:潜伏率}％）
		RESETCOLOR
	ELSE
		PRINTFORM %NAME_HIDING_PLACE()%
		SETCOLOR COLOR("黄")
		PRINTFORM 探索模式
		RESETCOLOR
		SETCOLOR COLOR("赤")
		PRINTFORML （潜伏率 {BASE:MASTER:潜伏率}％）
		RESETCOLOR
	ENDIF
ELSE
	IF BASE:MASTER:潜伏率 >= 70
		PRINTFORM %NAME_HIDING_PLACE()%
		SETCOLOR COLOR("緑")
		PRINTFORM 潜伏模式
		RESETCOLOR
		SETCOLOR COLOR("緑")
		PRINTFORML （潜伏率 {BASE:MASTER:潜伏率}％）
		RESETCOLOR
	ELSEIF BASE:MASTER:潜伏率 >= 40
		PRINTFORM %NAME_HIDING_PLACE()%
		SETCOLOR COLOR("緑")
		PRINTFORM 潜伏模式
		RESETCOLOR
		SETCOLOR COLOR("黄")
		PRINTFORML （潜伏率 {BASE:MASTER:潜伏率}％）
		RESETCOLOR
	ELSE
		PRINTFORM %NAME_HIDING_PLACE()%
		SETCOLOR COLOR("緑")
		PRINTFORM 潜伏模式
		RESETCOLOR
		SETCOLOR COLOR("赤")
		PRINTFORML （潜伏率 {BASE:MASTER:潜伏率}％）
		RESETCOLOR
	ENDIF
ENDIF
;二行目 情景描写
;IF GETBIT(FLAG:潜伏,2)
;	IF BASE:MASTER:潜伏率 >= 70
;	ELSEIF BASE:MASTER:潜伏率 >= 40
;	ELSE
;	ENDIF
;ELSEIF GETBIT(FLAG:潜伏,1)
;	IF BASE:MASTER:潜伏率 >= 70
;	ELSEIF BASE:MASTER:潜伏率 >= 40
;	ELSE
;	ENDIF
;ELSE
;	IF BASE:MASTER:潜伏率 >= 70
;	ELSEIF BASE:MASTER:潜伏率 >= 40
;	ELSE
;	ENDIF
;ENDIF

path: ERB/潜伏モード関連/潜伏描写.ERB


code:
;----------------------------------------------------------------------------------------------------
;潜伏率の増減処理
;----------------------------------------------------------------------------------------------------
@潜伏率増減処理
IF GETBIT(FLAG:潜伏,2)
	;会話モードはこれで判定
	SELECTCASE SELECTCOM
		CASE 300
			BASE:MASTER:潜伏率 += 10
		CASE 19,20,21
			BASE:MASTER:潜伏率 += 0
		CASEELSE
			IF NOWEX:Ｃ絶頂 || NOWEX:Ｖ絶頂 || NOWEX:Ａ絶頂 || NOWEX:Ｂ絶頂 || NOWEX:Ｍ絶頂
				BASE:MASTER:潜伏率 -= 18
			ELSE
				BASE:MASTER:潜伏率 -= 6
			ENDIF
	ENDSELECT
	CALL 会話モード継続判定
ELSEIF GETBIT(FLAG:潜伏,1)
	;探索モードはこれで判定
	SELECTCASE SELECTCOM
		CASE 19,20,21
			BASE:MASTER:潜伏率 += 3
		CASEELSE
			IF NOWEX:Ｃ絶頂 || NOWEX:Ｖ絶頂 || NOWEX:Ａ絶頂 || NOWEX:Ｂ絶頂 || NOWEX:Ｍ絶頂
				BASE:MASTER:潜伏率 -= 12
			ELSE
				BASE:MASTER:潜伏率 -= 4
			ENDIF
		ENDSELECT
	CALL 探索判定
ELSE
	;潜伏モードはこれで判定
	IF GET_TARGETNUM() > 1
		SELECTCASE SELECTCOM
			CASE 19,20,21
				BASE:MASTER:潜伏率 += 5
			CASEELSE
				IF NOWEX:Ｃ絶頂 || NOWEX:Ｖ絶頂 || NOWEX:Ａ絶頂 || NOWEX:Ｂ絶頂 || NOWEX:Ｍ絶頂
					BASE:MASTER:潜伏率 -= 6
				ELSE
					BASE:MASTER:潜伏率 -= 2
				ENDIF
			ENDSELECT
		SIF BASE:MASTER:潜伏率 < 40
			CALL 探索者決定処理
	ELSE
	;周囲に誰もいなければ常に100％
		BASE:MASTER:潜伏率 = 100
	ENDIF

ENDIF

;会話モード以外で継続接吻中は＋7
SIF TEQUIP:継続接吻 && !GETBIT(FLAG:潜伏,2)
	BASE:MASTER:潜伏率 += 7

;潜伏率100以上なら100に
BASE:MASTER:潜伏率 = MIN(BASE:MASTER:潜伏率, 100)

;潜伏率0%で潜伏モード終了、ウフフバレへ
IF BASE:MASTER:潜伏率 <=0
	CALL 潜伏モード終了処理
	CALL AFFAIR_DISCLOSURE(TARGET:LOCAL, 0)
ENDIF
;----------------------------------------------------------------------------------------------------
;潜伏モードの終了処理
;----------------------------------------------------------------------------------------------------
@潜伏モード終了処理
;CFLAG:潜伏状態が1以上の角色を全て0に
FOR LOCAL, 1, GET_TARGETNUM() + 1
	;全CFLAG:探索状態をオフに
	SIF GETBIT(CFLAG:(TARGET:LOCAL):潜伏状態,0)
		CLEARBIT CFLAG:(TARGET:LOCAL):潜伏状態,0
	SIF GETBIT(CFLAG:(TARGET:LOCAL):潜伏状態,1)
		CLEARBIT CFLAG:(TARGET:LOCAL):潜伏状態,1
	SIF GETBIT(CFLAG:(TARGET:LOCAL):潜伏状態,2)
		CLEARBIT CFLAG:(TARGET:LOCAL):潜伏状態,2
NEXT
;潜伏フラグをオールクリア
CLEARBIT FLAG:潜伏,0
CLEARBIT FLAG:潜伏,1
CLEARBIT FLAG:潜伏,2
TFLAG:探索試行回数 = 0
TFLAG:会話回数 = 0

;----------------------------------------------------------------------------------------------------
;探索者の決定処理
;----------------------------------------------------------------------------------------------------
@探索者決定処理
;(LOCAL:1)＝探索者
LOCAL:1 = IN_ROOM_MEMBER("MAX", CFLAG:MASTER:現在位置, "CFLAG", 2)
SIF CFLAG:(LOCAL:1):好感度 < 1500
	RETURN
SIF GETBIT(CFLAG:(LOCAL:1):潜伏状態,0)
	RETURN

SETBIT CFLAG:(LOCAL:1):潜伏状態,1

;探索モード(1)をオンに
SETBIT FLAG:潜伏,1
SETCOLOR COLOR("黄")
PRINTFORML 注意到%CALLNAME:MASTER%动静的%CALLNAME:(LOCAL:1)%開始探索周囲了…
RESETCOLOR

;----------------------------------------------------------------------------------------------------
;探索モードの探索判定関連
;----------------------------------------------------------------------------------------------------
@探索判定
;(LOCAL:1)＝探索者
LOCAL:1 = IN_ROOM_MEMBER("MAX", CFLAG:MASTER:現在位置, "CFLAG", 2)
IF !GETBIT(CFLAG:(LOCAL:1):潜伏状態,1)
;探索角色が移動した等でいない場合は探索モード(1)をオフ
	CLEARBIT FLAG:潜伏,1
	TFLAG:探索試行回数 = 0
	SETCOLOR COLOR("緑")
	PRINTFORML 在探寻的人似乎去了别的地方
	RESETCOLOR
ENDIF

IF TFLAG:探索試行回数 < 6
	IF RAND:10 < 1
		;探索された場合会話モード(2)をオンに、探索モード(1)はオフに
		SETBIT CFLAG:(LOCAL:1):潜伏状態,2
		CLEARBIT CFLAG:(LOCAL:1):潜伏状態,1
		SETBIT FLAG:潜伏,2
		CLEARBIT FLAG:潜伏,1
		TFLAG:探索試行回数 = 0
		SETCOLOR COLOR("赤")
		PRINTFORML %CALLNAME:(LOCAL:1)%看到了%CALLNAME:MASTER%并遠遠地发起了会話！
		RESETCOLOR
	ELSE
		TFLAG:探索試行回数 ++
		SETCOLOR COLOR("黄")
		PRINTFORML %CALLNAME:(LOCAL:1)%探索着%CALLNAME:MASTER%…
		RESETCOLOR
	ENDIF
ELSE
	;探索試行回数が6回以上なら探索終了
	CLEARBIT CFLAG:(LOCAL:1):潜伏状態,1
	CLEARBIT FLAG:潜伏,1
	TFLAG:探索試行回数 = 0
	SETCOLOR COLOR("緑")
	PRINTFORML %CALLNAME:(LOCAL:1)%似乎放弃了对%CALLNAME:MASTER%的探索…
	RESETCOLOR
ENDIF

;----------------------------------------------------------------------------------------------------
;会話モードの継続判定
;----------------------------------------------------------------------------------------------------
@会話モード継続判定
;(LOCAL:1)＝会話者
LOCAL:1 = IN_ROOM_MEMBER("MAX", CFLAG:MASTER:現在位置, "CFLAG", 2)
IF !GETBIT(CFLAG:(LOCAL:1):潜伏状態,2)
;会話角色が移動した等でいない場合は会話モード(2)をオフ
	CLEARBIT FLAG:潜伏,2
	TFLAG:会話回数 = 0
	SETCOLOR COLOR("緑")
	PRINTFORML 不知不觉間会話的对方已经不在了
	RESETCOLOR
ENDIF

;会話回数以下のRANDを出せば会話終了。それ以外ならモード続行
IF RAND:20 < TFLAG:会話回数
	CLEARBIT CFLAG:(LOCAL:1):潜伏状態,2
	CLEARBIT FLAG:潜伏,2
	TFLAG:会話回数 = 0
	SETCOLOR COLOR("緑")
	PRINTFORML %CALLNAME:(LOCAL:1)%似乎对和%CALLNAME:MASTER%的会話已经満足了
	RESETCOLOR
ELSE
	TFLAG:会話回数 ++
	SETCOLOR COLOR("赤")
	PRINTFORML %CALLNAME:(LOCAL:1)%似乎还在持续着和%CALLNAME:MASTER%的会話
	RESETCOLOR
ENDIF

path: ERB/潜伏モード関連/潜伏率関連処理.ERB


code:
;今日の胖次には便装用と睡衣用の二種類があるので、直接P_IDを渡すように改変
@今日の文胸(C_ID, P_ID)
#FUNCTION
#LOCALSIZE 2
#LOCALSSIZE 1
#DIM RAND_BRA, MAXBRA
#DIM B_TABLE

#DIM C_ID		;対象角色
#DIM P_ID		;コーディネートされた胖次
#DIM B_ID = 0	;ブラの種類

B_ID = GET_INT(C_ID, "下半身内衣_ずらし可能", P_ID, "関連内衣")

IF B_ID == 0 && !(P_ID == 0 || P_ID == 18)
	VARSET RAND_BRA , 0
	FOR LOCAL:0 , 1 , MAXBRA
		RAND_BRA:(LOCAL:0) = LOCAL:0
	NEXT
	FOR LOCAL:0 , 1 , MAXBRA
		LOCAL:1 = RAND(LOCAL:0 , MAXBRA)
		SWAP RAND_BRA:(LOCAL:0), RAND_BRA:(LOCAL:1)
	NEXT

	FOR B_TABLE, 0, MAXBRA
		IF GET_INT(C_ID, "上半身内衣_はだけ不可", RAND_BRA:B_TABLE, "つける")
			B_ID = RAND_BRA:B_TABLE
			BREAK
		ELSE
			CONTINUE
		ENDIF
		SIF B_TABLE == MAXBRA - 1
			THROW %CALLNAME:C_ID%のブラ抽選に失敗
	NEXT
ENDIF

SIF DECIDE_NOBRA(C_ID)
	B_ID = 0
RETURNF B_ID

;PRINTFORML %CALLNAME:C_ID%:下半身内衣２:{P_ID}:%PANTSNAME(P_ID)%　上半身内衣１:{EQUIP:C_ID:上半身内衣１}:%CLOTHNAME(7, EQUIP:C_ID:7)%

@DECIDE_NOBRA(ARG)
#FUNCTION
#DIM DYNAMIC NOBRA_RATE
SIF (TALENT:ARG:風騷 || TALENT:ARG:小悪魔 || TALENT:ARG:炮友 || ABL:ARG:露出癖 >= 4) && !RAND:5
	RETURNF 1
SIF TALENT:ARG:母乳体質 && !(TALENT:ARG:炮友 || TALENT:ARG:愛欲 || ABL:ARG:露出癖 >= 4)
	RETURNF 0
;DAY:2 季節（1=春 2=夏 3=秋 4=冬）
SELECTCASE DAY:2
CASE 1
	NOBRA_RATE = 8
CASE 2
	NOBRA_RATE = 15
CASE 3
	NOBRA_RATE = 3
CASE 4
	NOBRA_RATE = 1
ENDSELECT

SIF TALENT:ARG:幼稚 || TALENT:ARG:幼児／幼児退行
	TIMES NOBRA_RATE, 1.20
SIF TALENT:ARG:倒錯的
	TIMES NOBRA_RATE, 1.20
SIF TALENT:ARG:小悪魔
	TIMES NOBRA_RATE, 1.20
SIF TALENT:ARG:受虐狂
	TIMES NOBRA_RATE, 1.80
SIF TALENT:ARG:風騷
	TIMES NOBRA_RATE, 2.00

{
	NOBRA_RATE = NOBRA_RATE *
				(10 + TALENT:ARG:性的兴趣 + TALENT:ARG:自己愛 + TALENT:ARG:快感応答
					- TALENT:ARG:Ｂ感度 - TALENT:ARG:貞操 - TALENT:ARG:羞恥心 - TALENT:ARG:胸圍 ) / 10
}

SIF TALENT:ARG:無接吻経験
	TIMES NOBRA_RATE, 0.30
SIF GET_TALENTNAME(GETNUM(TALENT, "胆量"), TALENT:ARG:胆量) == "膽怯"
	TIMES NOBRA_RATE, 0.50
SIF GET_TALENTNAME(GETNUM(TALENT, "自尊心"), TALENT:ARG:自尊心) == "自尊心高"
	TIMES NOBRA_RATE, 0.50

RETURNF RAND:100 <= NOBRA_RATE

@BRANAME(ARG, CHARA)
#FUNCTIONS
#DIM CHARA

CALLF 上半身内衣チェック(ARG)
RETURNF GET_STR(CHARA, CLOTHES_PARTS_TO_CATEGORY("上半身内衣１"), ARG, "名前")


code:
[SKIPSTART]
◆衣装設定の仕様
・基本的には記法を変えて可読性を上げただけ
・GET_INT/GET_STRを使用することで情報を取得することができる
・1つの衣装につき2関数を使用する（うち1つは存否関数）
・各衣装は衣装カテゴリ（≒EQUIPNAMEと似ているが少し変えた）ごとに管理する
・同じ衣装カテゴリのなかで同一名称の装備品は作れない
　逆に言えば、違う衣装カテゴリであるならば名称は重複しても構わない
　例）「頭装備」の蝴蝶結と「其他衣装」の蝴蝶結
　ただし、「外搭」の白衣（はくい）と「上身衣服_はだけ不可」の白衣（はくえ、びゃくえ）の場合は
　「同一表記で指し示すものが全く違う」ために上身衣服１の側を変更した（まぎらわしいよ）
・衣装カテゴリと装備部位は基本的に一対一の対応関係にある
　たとえば「頭装備」はEQUIP:帽子にのみ装備可能
　ただし、例外として「其他衣装」はEQUIP:其他１、EQUIP:其他２、EQUIP:其他３の全てに装備できる
　この仕様は変えようと思えば変えられるけど@CLOTHES_IDや全衣装IDの再設定が必要になるはず（つまりめんどい）
・衣装の参照の際にはこのようにする
　GET_INT(登録番号等, 衣装カテゴリ, 衣装のカテゴリ内ID, 参照したい情報の種類)
・特定の名前の衣装のIDを取得したい時はこのようにする
　CLOTHES_ID(装備部位名, 装備名)
・装備部位から該当する衣装カテゴリを取得する時はこのようにする
　CLOTHES_PARTS_TO_CATEGORY(装備部位名)
・以上の関数から、装備部位と装備名のみで（番号を使用せずに）装備を参照することができる
　GET_INT(登録番号等, CLOTHES_PARTS_TO_CATEGORY(装備部位名), CLOTHES_ID(装備部位名, 装備名), 参照したい情報の種類)
　まー、現在装備中の装備の参照ならCLOTHES_IDは不要なんで
　GET_INT(登録番号等, CLOTHES_PARTS_TO_CATEGORY(装備部位名), EQUIP:登録番号:装備部位名, 参照したい情報の種類)
　こうなる

・自分用の覚書
　（下半身内衣系はまた別）
　おそらくこういう考え方でいいと思う
　上身衣服１（はだけ不可）が外側、上身衣服２（はだけ可能）は内側に着用する衣装

・衣装名取得関数@CLOTHNAME
各装備の設定から引っ張ってこられるようになったので大幅に簡略化

・服装名取得関数（@SHOW_BOTTOM等）
単に最も上の装備の名前を返すように変更（簡略化）しています
名前とは別にしたいならSTR用で"描写"なりを全衣装で設定すれば簡単に参照できます

・換装関連についても類似の仕様で実装した
・衣装セット関数群
　この関数群は換装セットの内容を記述する
・角色データ関数群
　この関数群は各角色の個別のデータを一元管理させる
　便装の設定は各角色で独立しているためにここに記述した
　また、愛麗絲の衣装に存在していた年越し和装処理の実現のために
　便装の切替制御の機能も追加した
　曜日によって切り替えるとかもやりたければできる
　目指せ七色の魔法使
・衣装設定について
　きせかえによって「この服装を毎日着るように」という指定が可能
　0　　　默认のまま
　1～99　COORDINATE1～99を指定
　100　　手動で設定する（CFLAG:600～630）
　101～　特定角色の真似（特定角色の便装を参照する、101なら霊夢）
・睡衣設定について
　睡衣はそんなにこだわってもしかたねーなと思ったので
　COORDINATE関数のなかからどれを着させるのかを選ぶ型式にした
　・睡衣（襦袢）
　・睡衣（睡衣）
　・睡衣（背带裙衣）
　・睡衣（連衣裙）
　・睡衣（裤子上下）
　・睡衣（裙子上下）
　・睡衣（裤子＋兜帽）
　・睡衣（裙子＋兜帽）
　ただし、例外として"针织衫"で胖次一丁、"全裸"で赤裸的んぼで寝させることができる
　（そういう処理が実装されてた娘がいたので）

◆個々の装備品まわりの変更
・名称変更
　睡衣→長睡衣
　画像検索の結果が過激過ぎるので名称変更
　背带裙衣との差別化のためにおと無めな衣装を想定する
・カテゴリ変更
　「上身衣服_はだけ不可」の「白衣（はくえ、びゃくえ）」の名称を「白小袖」に変更
　衣装セット系では「一套神官服」のみが使用しており「保健室的女教师套」でも「白衣天使套」でも使っていない
　また、便装使用角色もいなかったので変更

　さらに、この「白小袖」は内に着こむ衣装であることが考えられるため、
　衣装カテゴリを「上身衣服_はだけ可能」に移動した
・追加衣装
　頭装備「兜帽」、睡衣用に新設
　スレでの議論で出てきたアイデアを採用させてもらいました
・追加衣装
　腕部装束「臂套」、帕露西用に新設
・追加衣装
　上半身衣装_はだけ不可「水干」、布都ちゃん用に新設
　巫女でもつかうところあるみたいね
・追加衣装
　上半身衣装_はだけ不可「狩衣」
　和っぽい方向を拡充したかった
　白だととても神職っぽいですよ
・追加衣装
　靴「沓」
　神職やら貴族的な装束ということで「水干」「狩衣」とのセットを想定して追加
・追加衣装
　其他「胸针」
　影狼ちゃんの首元のとても印象的な胸针が無かったので増設した
　蕾蒂さんにも装備

◆衣装カテゴリの名前について
仕様がややこしくなってしまうのは承知の上ですが
なぜ一部の衣装カテゴリの名前をEQUIPNAMEと変えてあるかといえば
それは以下の理由からです
　理由１：関数名で@下半身内衣１2もしくは@下半身内衣１_2とかやんのが余りにも気色悪すぎる
　理由２：直感的でないEQUIPNAMEがある
　　　　　・蝴蝶結や髮箍は「帽子」
　　　　　・下半身内衣１と下半身内衣２の区分の違いがわかりにくい（この番号もマジックナンバー）
　　　　　・とりあえず「はだけ可能・はだけ不可」「ずらし可能・ずらし不可」の名前にした
　　　　　・どうやらこの分類も不明確であるらしいが番号よりはましか？
　　　　　・とりあえず暫定の仕様です
　理由３：EQUIPNAME側を弄ろうとすると修正箇所が膨大
　　　　　追加部分だけ変えたほうがラク

以下、EQUIPNAMEと衣装カテゴリの対応

飾品
→飾品
　其他は違い、何らかの効果をもつことがある
　傘は天候依存で行動時のBASE消費軽減に使われることがある

帽子
→頭装備
　帽子だけでなく白色女僕髮箍や蝴蝶結などといった頭部装飾品を指す

靴
→靴
　室内では脱掉

襪子
→襪子
　一部の角色はコンフィグによって便装の衣装がニーソになる

下半身内衣１
→下半身内衣_ずらし不可

下半身内衣２
→下半身内衣_ずらし可能
　下半身内衣（ずらし可能）
　いわゆる胖次（＋比基尼の下半身だけ）
　独特な処理が多いため、ほかの衣装とは別扱いで管理する

上半身内衣１
→上半身内衣_はだけ不可

上半身内衣２
→上半身内衣_はだけ可能

緊身内衣
→緊身内衣

連体内衣
→連体内衣

裤子
→裤子
　ずらし不可

下身衣服
→該当装備が少なすぎるので廃止、復活させたい場合は其他なりで追加して下さい

裙子
→裙子
　めくれる下半身装備

上身衣服１
→上身衣服_はだけ不可

上身衣服２
→上身衣服_はだけ可能

連衣裙
→連衣裙

和服
→和服

外搭
→外搭
　衣服とは別に上から羽织ってる衣装

其他１、其他２、其他３
→１～３を全部まとめて「其他衣装」に統合

腕部装束
→腕部装束
　主に手套系

◆胖次
特殊な処理が多そうなので別で処理する
・CFLAG:きょうの胖次
　一日の最初にきょうのぱんつを設定してCFLAGで保持
・CFLAG:睡衣胖次
　一日の最初に睡衣用の胖次を設定してCFLAGで保持
　睡衣に着替えた時に没穿内裤で那个ば睡衣胖次を着用する
　睡衣胖次を着用した時点で睡衣胖次に0が代入されるため
　無限睡衣胖次は不可能です

◆プロパティについて

装備品系クラスのプロパティ
CASE "名前"
	名前、その衣装の名称（STR）
	衣装カテゴリ内で重複させることはできない
	CALLF MAKE_STR(V_NAME, "眼鏡")
CASE "装備部位"
	その衣装を装備するEQUIP（STR）
	CALLF MAKE_STR(V_NAME, "「飾品」")
CASE "換装可能"
	胖次限定、換装指令で設定できるかどうか
	比基尼内袴、微型内裤限定
	CALLF MAKE_INT(V_NAME, 1)
	つくったけど手動きせかえ機能が出来てないので実質未実装である
CASE "能穿"
	今天穿的内裤での判定用（INT、というか真偽値1/0）
	この項目を作らないぱんつは角色が自発的に履くことはない

衣装セットクラスのプロパティ
CASE "名前"
	名前、その衣装セットの名称（STR）
	衣装セットクラス内で重複させることはできない
CASE "各種装備部位"
	その装備部位に着せる衣装の内容（INT）
	項目を作らなかった部位は0とみなされ何も着用しない
CASE "基本套装"
CASE "睡衣セット"
CASE "cosplay服装"
CASE "角色特殊服装集"
	これらは全て衣装セットの種類を表す（INT）
	まー、現状でそれっぽくやっただけです
	1にするとその属性の衣装セットだとみなされる
	列表表示用の設定です

角色データクラスのプロパティ
CASE "稱呼"
	必須、STR
	呼び名、その角色の名称
	角色データクラス内で重複させることはできない
CASE "今天的睡衣"
	必須、STR
	着用する睡衣の種類を記述する
	睡衣の種類の判定としては
	１．まず、例外を処理する（恋を参照）
	"针织衫"を指定した場合、睡衣は着用せずに内衣のみを着用する
	"全裸"を指定した場合、服は何も着ない
	２．次に、STRをもとに衣装セットを参照する
	一致する衣装セットが存在する場合はその衣装セットを着用する
	白衬衫だけとかも可能（胖次の有無は別個で指定のこと）
	３．最後に、STRをもとに角色データを参照する
	STR == "便装"ならその角色の便装が参照される

CASE "便装：各種装備部位"
	必須、INT
	便装の衣装設定
	その装備部位に着せる衣装の内容
	項目を作らなかった部位は0とみなされ何も着用しない
	「便装」以外の衣装の角色別指定も可能
	例）"年越し：各種装備部位"で年越し用の衣装セットを作成できる
	ただし、この場合は"便服", "明日の衣装"を設定する必要がある
CASE "便服", "明日の衣装"
	省略可、STR
	便装以外の衣装を設定しない場合には必要ない
	特定条件に合わせて衣装を変更させたい時に使用する
	SIF (DAY:2 == 1 && DAY:3 == 1) || (DAY:2 == 4 && DAY:3 == 31)
		CALLF MAKE_STR(V_NAME, "年越し")
	このように記述すると条件に合致する時に「年越し」の衣装を着用する（愛麗絲の処理を参照）

	"便服", "明日の衣装"の何が違うかというと
	衣装の更新処理はMASTERが起床した際に行うので
	その時点で睡眠中（＝睡衣姿）なら明日の衣装を設定し
	その時点で活動中なら現在着用中の便装を設定することになる

	注）機能追加
	STRで衣装セットに存在する名前を返した際にはその衣装をセットする機能を追加

	衣装指定用の文字列として"推奨", "固定"は使用不可能（別の機能で使用中）

CASE "推奨：各種装備部位", "固定：各種装備部位"
	みじっそう
	やろうと思えばできる、作ろうか迷ってる

	省略可、INT
	角色ごとの「これは外しちゃダメだろ」という装備用の処理
	指定した部位の装備を推奨・強要する
	Emueraのconfigにおけるdefault/fixみたいなもん
	この情報は換装関連処理の最後に適用される
	例）華扇
	・束髪簪は「推奨」
	・绷帯と拘束具は「固定」
	推奨を指定した場合、その部位に装備しているものが何もなければ装備を行う
	固定を指定した場合、その部位の装備を上書きする
	ハダカになる時は
	EQUIP:0 = 0した上で固定装備だけ着用する
[SKIPEND]

;EQUIP:X:ARGに装備した
;ARG:1の衣装の名前を返す
@CLOTHNAME(ARG,ARG:1)
#FUNCTIONS
RETURNF GET_STR(, CLOTHES_PARTS_TO_CATEGORY(EQUIPNAME:(ARG:0)), ARG:1, "名前")

;装備部位から該当する衣装カテゴリを返す
@CLOTHES_PARTS_TO_CATEGORY(ARGS)
#FUNCTIONS
SELECTCASE ARGS
[SKIPSTART]
;衣装の統合化
;途中まで考えたがめんどくてやめた
CASE "下半身内衣２"
	RETURNF "胖次"
CASE "和服", "緊身内衣", "連体内衣", "連衣裙"
	RETURNF "全身衣装"
CASE "帽子", "外搭", "腕部装束", "上身衣服１", "上身衣服２", "上半身内衣１", "上半身内衣２"
	RETURNF "上半身衣装"
CASE "裙子", "裤子", "靴", "襪子", "下半身内衣１"
	RETURNF "下半身衣装"
CASE "飾品", "其他１", "其他２", "其他３"
	RETURNF "其他衣装"
[SKIPEND]

CASE "飾品", "靴", "襪子", "緊身内衣", "連体内衣", "裤子", "裙子", "連衣裙", "和服", "外搭", "腕部装束"
	RETURNF ARGS
CASE "帽子"
	RETURNF "頭装備"
CASE "下半身内衣１"
	RETURNF "下半身内衣_ずらし不可"
CASE "下半身内衣２"
	RETURNF "下半身内衣_ずらし可能"
CASE "上半身内衣１"
	RETURNF "上半身内衣_はだけ不可"
CASE "上半身内衣２"
	RETURNF "上半身内衣_はだけ可能"
CASE "上身衣服１"
	RETURNF "上身衣服_はだけ不可"
CASE "上身衣服２"
	RETURNF "上身衣服_はだけ可能"
CASE "其他１", "其他２", "其他３"
	RETURNF "其他衣装"
ENDSELECT
THROW 不明な部位%ARGS%

;装備部位と衣装名から各衣装のカテゴリ内IDを返す
@CLOTHES_ID(PARTS, C_NAME)
#FUNCTION
#DIMS PARTS
#DIMS C_NAME
#DIM  C_ID
C_ID = OBJNAME_TO_ID(, "GET", CLOTHES_PARTS_TO_CATEGORY(PARTS), C_NAME)
;SIF C_ID == -1
;	THROW %C_NAME%は%CLOTHES_PARTS_TO_CATEGORY(PARTS)%には存在しません
RETURNF C_ID

;-------------------------------------------------
;関数名:SHOW_BOTTOM
;概　要:下半身服装名取得関数
;戻り値:服装名(文字列)
;引数:0 参照する角色番号
;引数:1裙子、2ずらし可、3ずらし不可、4下身衣服ずらし不可の種別(省略した場合は最も露出を妨げているもの)
;備　考:文中関数
;TEQUIP:0に対応して一番上に着ている衣装の種類を返す
;
;引数:1に複数のビットを指定すればその中から優先されるものを表示させることができる
;引数:1が9なら裙子と下身衣服ずらし不可のどちらか着ているものを表示、など
;COUNTER_MESSAGE.ERB内の@DATUI_MESSAGEが使用例になってるのでピンとこない人は見てね
;-------------------------------------------------
@SHOW_BOTTOM(ARG, ARG:1)
#FUNCTIONS
#DIMS CONST TYPE, 5 = "", "裙子", "ずらし可", "ずらし不可", "下身衣服ずらし不可"
#DIMS PARTS
#DIM EQUIP_TARGET

;引数1とTEQUIP:0を照らし合わせて表示するものを選ぶ
IF ARG:1
	EQUIP_TARGET = ARG:1 & TEQUIP:ARG:0
ELSE
	EQUIP_TARGET = TEQUIP:ARG:0
ENDIF

IF EQUIP_TARGET & 8
	LOCAL = 4
	;4下半身服装描写_下身衣服ずらし不可
ELSEIF EQUIP_TARGET & 4
	;3下半身服装描写_ずらし不可
	LOCAL = 3
ELSEIF EQUIP_TARGET & 2
	;2下半身服装描写_ずらし可
	LOCAL = 2
ELSEIF EQUIP_TARGET & 1
	;1下半身服装描写_裙子
	LOCAL = 1
ELSE
	LOCAL = 0
ENDIF
PARTS '= COVER_CLOTHES(ARG, @"下半身服装描写_%TYPE:LOCAL%")
SIF STRLENS(PARTS)
	RETURNF GET_STR(ARG, CLOTHES_PARTS_TO_CATEGORY(PARTS), EQUIP:ARG:PARTS, "名前")

;-------------------------------------------------
;関数名:SHOW_下半身内衣
;概　要:下半身内衣名取得関数
;戻り値:内衣名(文字列)
;引数:0 参照する角色番号
;引数:1裙子、2ずらし可、3ずらし不可、4下身衣服ずらし不可の種別(省略した場合は最も露出を妨げているもの)
;備　考:文中関数
;TEQUIP:0に対応して一番上に着ている衣装の種類を返す
;
;引数:1に複数のビットを指定すればその中から優先されるものを表示させることができる
;引数:1が9なら裙子と下身衣服ずらし不可のどちらか着ているものを表示、など
;COUNTER_MESSAGE.ERB内の@DATUI_MESSAGEが使用例になってるのでピンとこない人は見てね
;-------------------------------------------------
@SHOW_下半身内衣(ARG, ARG:1)
#FUNCTIONS
#DIMS CONST TYPE, 5 = "", "裙子", "ずらし可", "ずらし不可", "下身衣服ずらし不可"
#DIMS PARTS
#DIM EQUIP_TARGET

;引数1とTEQUIP:0を照らし合わせて表示するものを選ぶ
IF ARG:1
	EQUIP_TARGET = ARG:1 & TEQUIP:ARG:0
ELSE
	EQUIP_TARGET = TEQUIP:ARG:0
ENDIF

IF EQUIP_TARGET & 8
	LOCAL = 4
	;4下半身服装描写_下身衣服ずらし不可
ELSEIF EQUIP_TARGET & 4
	;3下半身服装描写_ずらし不可
	LOCAL = 3
ELSEIF EQUIP_TARGET & 2
	;2下半身服装描写_ずらし可
	LOCAL = 2
ELSEIF EQUIP_TARGET & 1
	;1下半身服装描写_裙子
	LOCAL = 1
ELSE
	LOCAL = 0
ENDIF
PARTS '= COVER_CLOTHES(ARG, @"下半身内衣描写_%TYPE:LOCAL%")
SIF STRLENS(PARTS)
	RETURNF GET_STR(ARG, CLOTHES_PARTS_TO_CATEGORY(PARTS), EQUIP:ARG:PARTS, "名前")

;-------------------------------------------------
;関数名:SHOW_TOP
;概　要:上半身服装名取得関数
;戻り値:服装名(文字列)
;引数:0 参照する角色番号
;引数:1はだけ可、2はだけ不可(省略した場合は最も露出を妨げているもの)
;備　考:文中関数
;TEQUIP:1に対応して一番上に着ている衣装の種類を返す
;-------------------------------------------------
@SHOW_TOP(ARG, ARG:1)
#FUNCTIONS
#DIMS CONST TYPE, 3 = "", "はだけ可", "はだけ不可"
#DIMS PARTS
IF ARG:1
	LOCAL = ARG:1
ELSEIF TEQUIP:ARG:1 & 2
	LOCAL = 2
ELSEIF TEQUIP:ARG:1 & 1
	LOCAL = 1
ENDIF
PARTS '= COVER_CLOTHES(ARG, @"上半身服装描写_%TYPE:LOCAL%")
SIF STRLENS(PARTS)
	RETURNF GET_STR(ARG, CLOTHES_PARTS_TO_CATEGORY(PARTS), EQUIP:ARG:PARTS, "名前")

;-------------------------------------------------
;関数名:SHOW_上半身内衣
;概　要:上半身内衣名取得関数
;戻り値:上半身内衣名(文字列)
;引数:0 参照する角色番号
;引数:1はだけ可、2はだけ不可(省略した場合は最も露出を妨げているもの)
;備　考:文中関数
;TEQUIP:1に対応して一番上に着ている衣装の種類を返す
;-------------------------------------------------
@SHOW_上半身内衣(ARG, ARG:1)
#FUNCTIONS
#DIMS CONST TYPE, 3 = "", "はだけ可", "はだけ不可"
#DIMS PARTS
LOCAL = 0
IF ARG:1
	LOCAL = ARG:1
ELSEIF TEQUIP:ARG:1 & 2
	LOCAL = 2
ELSEIF TEQUIP:ARG:1 & 1
	LOCAL = 1
ENDIF
PARTS '= COVER_CLOTHES(ARG, @"上半身内衣描写_%TYPE:LOCAL%")
SIF STRLENS(PARTS)
	RETURNF GET_STR(ARG, CLOTHES_PARTS_TO_CATEGORY(PARTS), EQUIP:ARG:PARTS, "名前")

;最も露出を妨げている衣装の装備部位を返す
;@SHOW_装備系の判定が煩わしかったので簡略化用に
@COVER_CLOTHES(ARG, TYPE)
#FUNCTIONS
#DIMS TYPE
SELECTCASE TYPE
CASE "上半身服装描写_はだけ不可"
	SIF EQUIP:ARG:上身衣服１
		RETURNF "上身衣服１"
	SIF EQUIP:ARG:連衣裙
		RETURNF "連衣裙"
	SIF EQUIP:ARG:緊身内衣
		RETURNF "緊身内衣"
	SIF EQUIP:ARG:連体内衣
		RETURNF "連体内衣"
	SIF EQUIP:ARG:上半身内衣１
		RETURNF "上半身内衣１"
	RETURNF
CASE "上半身服装描写_はだけ可"
	SIF EQUIP:ARG:上身衣服２
		RETURNF "上身衣服２"
	SIF EQUIP:ARG:和服
		RETURNF "和服"
	SIF EQUIP:ARG:連体内衣
		RETURNF "連体内衣"
	SIF EQUIP:ARG:上半身内衣２
		RETURNF "上半身内衣２"
	RETURNF

CASE "上半身内衣描写_はだけ不可"
	SIF EQUIP:ARG:緊身内衣
		RETURNF "緊身内衣"
	SIF EQUIP:ARG:連体内衣
		RETURNF "連体内衣"
	SIF EQUIP:ARG:上半身内衣１
		RETURNF "上半身内衣１"
	RETURNF
CASE "上半身内衣描写_はだけ可"
	SIF EQUIP:ARG:上半身内衣２
		RETURNF "上半身内衣２"
	RETURNF

CASE "下半身内衣描写_下身衣服ずらし不可"
	SIF EQUIP:ARG:連体内衣
		RETURNF "連体内衣"
CASE "下半身内衣描写_ずらし不可"
	SIF EQUIP:ARG:緊身内衣
		RETURNF "緊身内衣"
	SIF EQUIP:ARG:連体内衣
		RETURNF "連体内衣"
	SIF EQUIP:ARG:下半身内衣１
		RETURNF "下半身内衣１"
CASE "下半身内衣描写_ずらし可"
	SIF EQUIP:ARG:緊身内衣
		RETURNF "緊身内衣"
	SIF EQUIP:ARG:下半身内衣２
		RETURNF "下半身内衣２"
CASE "下半身内衣描写_裙子"
	SIF EQUIP:ARG:裙子
		RETURNF "裙子"
	SIF EQUIP:ARG:和服
		RETURNF "和服"
	RETURNF

CASE "下半身服装描写_下身衣服ずらし不可"
	SIF EQUIP:ARG:裤子
		RETURNF "裤子"
	SIF EQUIP:ARG:連体内衣
		RETURNF "連体内衣"
	RETURNF
CASE "下半身服装描写_ずらし不可"
	SIF EQUIP:ARG:裤子
		RETURNF "裤子"
	SIF EQUIP:ARG:緊身内衣
		RETURNF "緊身内衣"
	SIF EQUIP:ARG:連体内衣
		RETURNF "連体内衣"
	SIF EQUIP:ARG:下半身内衣１
		RETURNF "下半身内衣１"
	SIF EQUIP:ARG:下半身内衣２
		RETURNF "下半身内衣２"
	RETURNF
CASE "下半身服装描写_ずらし可"
	SIF EQUIP:ARG:緊身内衣
		RETURNF "緊身内衣"
	SIF EQUIP:ARG:下身衣服
		RETURNF "下身衣服"
	SIF EQUIP:ARG:下半身内衣２
		RETURNF "下半身内衣２"
	RETURNF
CASE "下半身服装描写_裙子"
	SIF EQUIP:ARG:裙子
		RETURNF "裙子"
	SIF EQUIP:ARG:和服
		RETURNF "和服"
	SIF EQUIP:ARG:連衣裙
		RETURNF "連衣裙"
	RETURNF
ENDSELECT

;全角色の衣装を默认に戻す
@RESET_ALL_CLOTHES
FOR LOCAL, 0, CHARANUM
	CFLAG:LOCAL:7 = 0
	CALL SELECT_CLOTHES(LOCAL, "便服")
	CALL CTRL_CLOTHES_SET(LOCAL, "現在衣装の変更_便装")
	CALL CLOTHES_SETTING_TRAIN(LOCAL)
NEXT

;EQUIPからTEQUIPに変換
;このタイミングで靴脱ぎと全裸チェック
@CLOTHES_SETTING_TRAIN(ARG)
TEQUIP:ARG:0 = 0
TEQUIP:ARG:1 = 0

;ぶっちゃけここの処理は適当
IF INROOM(CFLAG:ARG:現在位置)
	SIF EQUIP:ARG:飾品 == 6
		EQUIP:ARG:飾品 = 0
	SIF INROOM(CFLAG:ARG:現在位置) == 1
		EQUIP:ARG:靴 = 0
ELSE
	IF CFLAG:ARG:203
		EQUIP:ARG:靴 = CFLAG:ARG:203
	ELSEIF CFLAG:ARG:603
		EQUIP:ARG:靴 = CFLAG:ARG:603
	ENDIF
	IF !EQUIP:ARG:飾品 && CFLAG:ARG:201 == 6 && !FLAG:時間停止
		EQUIP:ARG:飾品 = CFLAG:ARG:201
	ELSEIF !EQUIP:ARG:飾品 && CFLAG:ARG:601 == 6 && !FLAG:時間停止
		EQUIP:ARG:飾品 = CFLAG:ARG:601
	ENDIF
ENDIF

IF CHECK_CHARA(ARG, "全裸")
	EQUIP:ARG:0 = 0
ELSE
	EQUIP:ARG:0 = 1
ENDIF

;換装が有効でない
SIF !EQUIP:ARG:0
	RETURN 0
;下半身
;TEQUIP:0 下半身着衣状況(ビット0=裙子 1=ずらし可 2=ずらし不可 3=ずらせない下身衣服)
;	(ビットを使いたくない人用 0=無 1=没穿内裤裙子 2=內褲のみ 3=裙子+內褲
;	4=安全褲(内衣)もしくは没穿内裤裤子 5=裙子+安全褲 6=裤子+內褲 7=フル装備(このバリアントでは無理)）
;EQUIP:5,6 下半身内衣
SIF EQUIP:ARG:下半身内衣１
	TEQUIP:ARG:0 |= 4
SIF EQUIP:ARG:下半身内衣２
	TEQUIP:ARG:0 |= 2
;EQUIP:7～9 下身衣服
IF EQUIP:ARG:裤子
	TEQUIP:ARG:0 |= 4
	TEQUIP:ARG:0 |= 8
ENDIF
SIF EQUIP:ARG:下身衣服
	TEQUIP:ARG:0 |= 2
SIF EQUIP:ARG:裙子
	TEQUIP:ARG:0 |= 1
;EQUIP:14～16 全身外套
IF EQUIP:ARG:連体内衣
	TEQUIP:ARG:0 |= 4
	TEQUIP:ARG:0 |= 8
	TEQUIP:ARG:0 |= 16
ENDIF
SIF EQUIP:ARG:連衣裙
	TEQUIP:ARG:0 |= 1
SIF EQUIP:ARG:和服
	TEQUIP:ARG:0 |= 1
IF EQUIP:ARG:緊身内衣
	TEQUIP:ARG:0 |= 2
	TEQUIP:ARG:0 |= 16
ENDIF
;上半身
;TEQUIP:1 上半身着衣状況(0=無 1=はだけ可 2=はだけ不可 3=突っ込み不可)
;	(ビットを使いたくない人用 0=無 1=ノーブラ和服 2=ブラのみ 3=和服+ブラ）
;EQUIP:10,11 上半身内衣
IF EQUIP:ARG:上半身内衣１
	TEQUIP:ARG:1 |= 2
	TEQUIP:ARG:1 |= 4
ENDIF
SIF EQUIP:ARG:上半身内衣２
	TEQUIP:ARG:1 |= 1
;EQUIP:12,13 上身衣服
IF EQUIP:ARG:上身衣服１
	TEQUIP:ARG:1 |= 2
	TEQUIP:ARG:1 |= 4
ENDIF
SIF EQUIP:ARG:上身衣服２
	TEQUIP:ARG:1 |= 1
;EQUIP:14～16 全身外套
IF EQUIP:ARG:連体内衣
	TEQUIP:ARG:1 |= 2
	TEQUIP:ARG:1 |= 4
ENDIF
SIF EQUIP:ARG:連衣裙
	TEQUIP:ARG:1 |= 2
SIF EQUIP:ARG:和服
	TEQUIP:ARG:1 |= 1
IF EQUIP:ARG:緊身内衣
	TEQUIP:ARG:1 |= 2
	TEQUIP:ARG:1 |= 4
ENDIF

;ずらし処理
SIF TEQUIP:ARG:上半身裸露状態
	CLEARBIT TEQUIP:ARG:1, 2
SIF TEQUIP:ARG:4
	CLEARBIT TEQUIP:ARG:1, 1

;特殊衣装への一時きせかえ
;とりあえず衣装セットにあるやつ・もしくは他角色の便装だけ
;着替えたらRESULT==1
@EX_COSTUME(C_ID, TYPE)
#DIM  C_ID
#DIM  EX_COS
#DIMS TYPE
EX_COS = GET_INT(C_ID, "角色データ", NO:C_ID, @"%TYPE%衣装")
;#; PRINTFORML {C_ID}特殊衣装変更%TYPE% {EX_COS}
SIF !EX_COS
	RETURN
CALL OKIGAE(C_ID, EX_COS)
;#; CALL SHOW_CLOTHES(C_ID, "現在的衣装")
RETURN 1

;一時お着替え関数
@OKIGAE(C_ID, COS_ID, COS_TYPE)
#DIM C_ID      ;換装を行う角色
#DIM COS_ID    ;衣装セットのID、101以上だと角色衣装だとみなされる（角色衣装を指定したい時はNO + 100にすること）
#DIMS COS_TYPE ;参照衣装文字列、角色データに記載があるのが前提なので、未実装だと真っ裸になる
TCVAR:C_ID:本来的服装 = CFLAG:C_ID:基本服装セット
CFLAG:C_ID:基本服装セット = COS_ID

IF STRLENS(COS_TYPE)
;文字列指定で便装以外も指定できるように
	;#; PRINTFORML {COS_ID}特殊衣装変更%COS_TYPE%
	CALL CTRL_CLOTHES_SET(C_ID, "便装の変更_角色衣装", COS_ID, COS_TYPE)
	CALL CLOTHES_SETTING_TRAIN(C_ID)
	RETURN
ENDIF

SELECTCASE COS_ID
CASE 100
	CALL CTRL_CLOTHES_SET(C_ID, "便装の変更_おきにいり")
CASE 1 TO 99
	CALL CTRL_CLOTHES_SET(C_ID, "便装の変更_衣装セット", COS_ID)
CASE 101 TO 100 + 人物数量上限
	CALL CTRL_CLOTHES_SET(C_ID, "便装の変更_角色衣装", COS_ID - 100, "便装")
CASEELSE
	THROW 错误的衣装ID {COS_ID}
ENDSELECT
CALL CHANGE_CLOTHES(C_ID, "复原衣服")
CALL CLOTHES_SETTING_TRAIN(C_ID)

@SET_UNDERWEAR(C_ID, TIME_TYPE)
#DIM  C_ID
#DIMS TIME_TYPE
CALL SET_PANTS(C_ID, TIME_TYPE)
CALL SET_BRA(C_ID, TIME_TYPE)

;胖次セッティング関数
;CFLAGに設定された衣装を上書きする
;胖次指定がある場合には下半身内衣１を解除し
;下半身内衣１が指定されている場合には胖次よりもそれを優先する
@SET_PANTS(C_ID, TIME_TYPE)
#DIM  C_ID
#DIMS TIME_TYPE
#DIM  P_ID
IF TIME_TYPE == "今天的睡衣"
	IF CFLAG:C_ID:指定胖次 == 100
		P_ID =  0
		CFLAG:C_ID:245 = 0
	ELSEIF CFLAG:C_ID:指定胖次
		P_ID = CFLAG:C_ID:指定胖次
		CFLAG:C_ID:245 = 0
	ELSEIF CFLAG:C_ID:245
		CFLAG:C_ID:246 = 0
		RETURN
	ELSEIF CFLAG:C_ID:246
		CFLAG:C_ID:245 = 0
		CFLAG:C_ID:睡衣胖次 = CFLAG:C_ID:246
		RETURN
	ELSEIF !GETBIT(TALENT:C_ID:2, 0)
		P_ID = CLOTHES_ID("下半身内衣２", "四角裤")
	ELSEIF !CFLAG:C_ID:245
		P_ID = 今天穿的内裤(C_ID)
	ENDIF
	;PRINTFORMW %CALLNAME:C_ID%のぱじゃまぱんつ：%GET_STR(C_ID, "下半身内衣_ずらし可能", P_ID, "名前")%
	CFLAG:C_ID:睡衣胖次 = P_ID
	CFLAG:C_ID:246 = P_ID
	RETURN
ENDIF

IF CFLAG:C_ID:指定胖次 == 100
;没穿内裤指定
	P_ID =  0
	CFLAG:C_ID:205 = 0
ELSEIF CFLAG:C_ID:指定胖次
;指定胖次があるなら下半身内衣１を剥ぐ
	CFLAG:C_ID:205 = 0
	P_ID = CFLAG:C_ID:指定胖次
ELSEIF CFLAG:C_ID:205
;下半身内衣１が指定なら胖次は無し
	CFLAG:C_ID:206 = 0
	RETURN
ELSEIF CFLAG:C_ID:206
;下半身内衣２が指定なら胖次抽選は無し
	CFLAG:C_ID:205 = 0
	CFLAG:C_ID:きょうのぱんつ = CFLAG:C_ID:206
	RETURN
ELSEIF !GETBIT(TALENT:C_ID:2, 0)
;男人ならとりあえず四角裤で
	P_ID = CLOTHES_ID("下半身内衣２", "四角裤")
ELSEIF !CFLAG:C_ID:205
;上記以外で胖次抽選
	P_ID = 今天穿的内裤(C_ID)
ENDIF
CFLAG:C_ID:きょうのぱんつ = P_ID
CFLAG:C_ID:206 = P_ID

@SET_BRA(C_ID, TIME_TYPE)
#DIM  C_ID
#DIMS TIME_TYPE
#DIM  DYNAMIC B_ID
IF TIME_TYPE == "今天的睡衣"
	IF CFLAG:C_ID:247
		CFLAG:C_ID:248 = 0
		B_ID = CFLAG:C_ID:247
	ELSEIF CFLAG:C_ID:248
	ELSEIF !GETBIT(TALENT:C_ID:2, 0)
		B_ID = CLOTHES_ID("上半身内衣１", "Ｔ恤衬衫")
	ELSE
		B_ID = 今日の文胸(C_ID, CFLAG:C_ID:睡衣胖次)
	ENDIF
	CFLAG:C_ID:睡衣ブラ = B_ID
	CFLAG:C_ID:247 = B_ID
	RETURN
ENDIF

IF CFLAG:C_ID:207
	CFLAG:C_ID:208 = 0
	B_ID = CFLAG:C_ID:207
ELSEIF CFLAG:C_ID:208
ELSEIF !GETBIT(TALENT:C_ID:2, 0)
	B_ID = CLOTHES_ID("上半身内衣１", "Ｔ恤衬衫")
ELSE
	B_ID = 今日の文胸(C_ID, CFLAG:C_ID:きょうのぱんつ)
ENDIF
CFLAG:C_ID:きょうのブラ = B_ID
CFLAG:C_ID:207 = B_ID

;便服決定関数
;必ず衣装→睡衣でセットで使用こと
@SELECT_CLOTHES(C_ID, TIME_TYPE)
#DIM  C_ID
#DIMS TIME_TYPE
#DIM  衣装C_ID
#DIMS 衣装TYPE

VARSET 衣装C_ID
VARSET 衣装TYPE
;先に睡衣の設定
IF TIME_TYPE == "今天的睡衣"
	SELECTCASE CFLAG:C_ID:睡衣指定
	CASE 300
	;個別設定
		CALL CTRL_CLOTHES_SET(C_ID, "睡衣的变更_套装")
		CALL SET_UNDERWEAR(C_ID, TIME_TYPE)
		RETURN
	CASE 301
	;针织衫
		衣装TYPE '= "针织衫"
	CASE 302
	;全裸
		衣装TYPE '= "全裸"
	CASE 1 TO 99
	;衣装セットの指定
		衣装TYPE '= GET_STR(C_ID, "衣装セット", CFLAG:C_ID:睡衣指定, "名前")
	CASE 0
	;默认服装による設定
		IF !(C_ID == MASTER)
			衣装C_ID = NO:C_ID
			衣装TYPE '= GET_STR(C_ID, "角色データ", 衣装C_ID, TIME_TYPE)
		ELSEIF FLAG:扮演
			衣装C_ID = FLAG:扮演
			衣装TYPE '= GET_STR(C_ID, "角色データ", 衣装C_ID, TIME_TYPE)
		ENDIF
	ENDSELECT
	;未設定なら睡裤
	SIF !STRLENS(衣装TYPE)
		衣装TYPE '= "睡衣（裤子）套"
	CALL CHANGE_CLOTHES(C_ID, TIME_TYPE, 衣装C_ID, 衣装TYPE)
	SIF 衣装TYPE == "针织衫"
		JUMP SET_PANTS(C_ID, TIME_TYPE)
	SIF !(衣装TYPE == "全裸")
		CALL SET_UNDERWEAR(C_ID, TIME_TYPE)
	RETURN
ENDIF

;便服、明日の衣装
SELECTCASE CFLAG:C_ID:基本服装セット
CASE 100
;個別設定
	CALL CTRL_CLOTHES_SET(C_ID, "便装の変更_套装")
	CALL SET_UNDERWEAR(C_ID, TIME_TYPE)
CASE 1 TO 99
;衣装セットの指定
	衣装TYPE '= GET_STR(C_ID, "衣装セット", CFLAG:C_ID:基本服装セット, "名前")
	;念のため
	SIF !STRLENS(衣装TYPE)
		GOTO DEFAULT
CASE 101 TO 100 + 人物数量上限
;特定角色の衣装を参照するとき
	衣装C_ID = CFLAG:C_ID:基本服装セット - 100
	衣装TYPE '= "便装"
	;念のため
	SIF !EXISTCSV(衣装C_ID)
		GOTO DEFAULT
CASE 0
;默认服装による設定
	$DEFAULT
	IF !(C_ID == MASTER)
		衣装C_ID = NO:C_ID
		衣装TYPE '= GET_STR(C_ID, "角色データ", 衣装C_ID, TIME_TYPE)
	ELSEIF FLAG:扮演
		衣装C_ID = FLAG:扮演
		衣装TYPE '= GET_STR(C_ID, "角色データ", 衣装C_ID, TIME_TYPE)
	ELSEIF GETBIT(TALENT:C_ID:2, 0)
	;まんまんがあるときは女装を基本とする
		衣装TYPE '= "一套女装"
	ELSE
	;♂は男装を基本とする
		衣装TYPE '= "一套男装"
	ENDIF
	;未設定なら便装
	SIF !STRLENS(衣装TYPE)
		衣装TYPE '= "便装"
ENDSELECT
CALL CHANGE_CLOTHES(C_ID, TIME_TYPE, 衣装C_ID, 衣装TYPE)
CALL SET_UNDERWEAR(C_ID, TIME_TYPE)

;衣装更新関数
@CHANGE_CLOTHES(C_ID, TYPE, 衣装C_ID, 衣装TYPE)
#DIM  C_ID
#DIMS TYPE
#DIM  衣装C_ID
#DIMS 衣装TYPE
#DIM  衣装SET_ID
衣装SET_ID = 0
SIF STRLENS(衣装TYPE)
	衣装SET_ID = OBJNAME_TO_ID(C_ID, "GET", "衣装セット", 衣装TYPE)
SELECTCASE TYPE
CASE "今天的睡衣"
	SIF 衣装TYPE == "针织衫"
		JUMP CTRL_CLOTHES_SET(C_ID, "睡衣的变更_针织衫", 衣装SET_ID)
	SIF 衣装TYPE == "全裸"
		JUMP CTRL_CLOTHES_SET(C_ID, "睡衣的变更_全裸", 衣装SET_ID)

	IF 衣装SET_ID > 0
		CALL CTRL_CLOTHES_SET(C_ID, "睡衣的变更_衣装セット", 衣装SET_ID)
	ELSE
		CALL CTRL_CLOTHES_SET(C_ID, "睡衣的变更_角色衣装", 衣装C_ID, 衣装TYPE)
	ENDIF

CASE "便服", "明日の衣装"
	IF 衣装SET_ID > 0
		CALL CTRL_CLOTHES_SET(C_ID, "便装の変更_衣装セット", 衣装SET_ID)
	ELSE
		CALL CTRL_CLOTHES_SET(C_ID, "便装の変更_角色衣装", 衣装C_ID, 衣装TYPE)
	ENDIF
CASE "复原衣服"
	;#;SIF C_ID == TARGET
	;#;	PRINTFORML TARGET复原衣服
	IF 睡眠時間(C_ID)
		CALL CTRL_CLOTHES_SET(C_ID, "現在衣装の変更_睡衣")
		CFLAG:C_ID:睡衣 = 1
	ELSE
		SELECTCASE CFLAG:C_ID:衣装一時変更
		CASE 0
			CALL CTRL_CLOTHES_SET(C_ID, "現在衣装の変更_便装")
		CASE 100
			CALL CTRL_CLOTHES_SET(C_ID, "現在衣装の変更_おきにいり")
		CASE 1 TO 99
			CALL CTRL_CLOTHES_SET(C_ID, "現在衣装の変更_衣装セット", CFLAG:C_ID:衣装一時変更)
		CASE 101 TO 100 + 人物数量上限
			CALL CTRL_CLOTHES_SET(C_ID, "現在衣装の変更_角色衣装", CFLAG:C_ID:衣装一時変更 - 100, "便装")
		ENDSELECT
		CFLAG:C_ID:睡衣 = 0
	ENDIF
ENDSELECT

[SKIPSTART]
衣装セットのコントロール関数
CFLAGとEQUIPのやりとりを行う
EQUIP:0の扱いとしては
・@CLOTHES_SETTING_TRAINの冒頭に更新処理を仕込んだ
・SAVE/LOADの範囲を1～22までにする（EQUIP:0は保存されない）
これでだいたいいいと思う
[SKIPEND]
@CTRL_CLOTHES_SET(C_ID, TYPE, ARG, ARGS)
#DIM  C_ID
#DIMS TYPE
SELECTCASE TYPE
;リセット用に記録する
CASE "現在衣装の保存_便装"
	FOR LOCAL, 1, 23
		CFLAG:C_ID:(200 + LOCAL) = EQUIP:C_ID:LOCAL
	NEXT
CASE "現在衣装の保存_睡衣"
	FOR LOCAL, 1, 23
		CFLAG:C_ID:(240 + LOCAL) = EQUIP:C_ID:LOCAL
	NEXT
CASE "現在衣装の保存_おきにいり"
	FOR LOCAL, 1, 23
		CFLAG:C_ID:(600 + LOCAL) = EQUIP:C_ID:LOCAL
	NEXT
	CFLAG:ARG:套装 = 1

;リセット
CASE "套装のリセット"
	FOR LOCAL, 0, 23
		CFLAG:C_ID:(600 + LOCAL) = 0
	NEXT
	SIF CFLAG:C_ID:基本服装セット == 100
		CFLAG:C_ID:基本服装セット = 0
	SIF CFLAG:C_ID:睡衣指定 == 300
		CFLAG:C_ID:睡衣指定 = 0
	CFLAG:C_ID:套装 = 0

;セットした衣装をロード
;ここらへんあくまでロード処理であって睡衣フラグ是じらないので注意ね
CASE "現在衣装の変更_便装"
	FOR LOCAL, 1, 23
		EQUIP:C_ID:LOCAL = CFLAG:C_ID:(200 + LOCAL)
	NEXT
	CFLAG:C_ID:衣装一時変更 = 0
	CALL CTRL_CLOTHES_SET(C_ID, "内衣一括設定")

CASE "現在衣装の変更_睡衣"
	FOR LOCAL, 1, 23
		EQUIP:C_ID:LOCAL = CFLAG:C_ID:(240 + LOCAL)
	NEXT
	IF CFLAG:C_ID:睡衣胖次 == 100
		EQUIP:C_ID:下半身内衣１ = 0
		EQUIP:C_ID:下半身内衣２ = 0
		CFLAG:C_ID:245 = 0
		CFLAG:C_ID:246 = 0
		CFLAG:C_ID:睡衣胖次 = 0
		CFLAG:C_ID:没穿内裤 = 1
	ELSEIF CFLAG:C_ID:没穿内裤 && CFLAG:C_ID:睡衣胖次
		EQUIP:C_ID:下半身内衣１ = 0
		EQUIP:C_ID:下半身内衣２ = CFLAG:C_ID:睡衣胖次
		SIF !CFLAG:C_ID:245
			CFLAG:C_ID:246 = CFLAG:C_ID:睡衣胖次
		CFLAG:C_ID:睡衣胖次 = 0
		CFLAG:C_ID:没穿内裤 = 0
	ELSEIF CFLAG:C_ID:没穿内裤 && (EQUIP:C_ID:下半身内衣１ || EQUIP:C_ID:下半身内衣２)
		EQUIP:C_ID:下半身内衣１ = 0
		EQUIP:C_ID:下半身内衣２ = 0
		CFLAG:C_ID:245 = 0
		CFLAG:C_ID:246 = 0
	ENDIF
	CFLAG:C_ID:衣装一時変更 = 0

CASE "現在衣装の変更_おきにいり"
	FOR LOCAL, 1, 23
		EQUIP:C_ID:LOCAL = CFLAG:C_ID:(600 + LOCAL)
	NEXT
	IF CFLAG:C_ID:没穿内裤
		EQUIP:C_ID:下半身内衣１ = 0
		EQUIP:C_ID:下半身内衣２ = 0
	ELSEIF EQUIP:C_ID:下半身内衣１
		EQUIP:C_ID:下半身内衣２ = 0
	ELSEIF EQUIP:C_ID:下半身内衣２
		EQUIP:C_ID:下半身内衣１ = 0
	ELSEIF CFLAG:C_ID:睡衣
		EQUIP:C_ID:下半身内衣２ = CFLAG:C_ID:246
	ELSE
		EQUIP:C_ID:下半身内衣２ = CFLAG:C_ID:206
	ENDIF
	CFLAG:C_ID:衣装一時変更 = 100

CASE "現在衣装の変更_角色衣装"
;ARGで指定された角色の衣装を参照する
	CFLAG:C_ID:衣装一時変更 = 100 + ARG
	FOR LOCAL, 1, 23
		EQUIP:C_ID:LOCAL = GET_INT(C_ID, "角色データ", ARG, @"%ARGS%：%EQUIPNAME:LOCAL%")
	NEXT
	CALL CTRL_CLOTHES_SET(C_ID, "内衣一括設定")

CASE "現在衣装の変更_衣装セット"
;ARGで指定されたIDの衣装セットを参照する
	CFLAG:C_ID:衣装一時変更 = ARG
	FOR LOCAL, 1, 23
		EQUIP:C_ID:LOCAL = GET_INT(C_ID, "衣装セット", ARG, EQUIPNAME:LOCAL)
	NEXT
	CALL CTRL_CLOTHES_SET(C_ID, "内衣一括設定")
CASE "内衣一括設定"
	CALL CTRL_CLOTHES_SET(C_ID, "胖次一括設定")
	CALL CTRL_CLOTHES_SET(C_ID, "ブラ一括設定")
CASE "胖次一括設定"
	IF !CFLAG:C_ID:睡衣
		IF CFLAG:C_ID:没穿内裤
			EQUIP:C_ID:下半身内衣１ = 0
			EQUIP:C_ID:下半身内衣２ = 0
		ELSEIF EQUIP:C_ID:下半身内衣１
			EQUIP:C_ID:下半身内衣２ = 0
		ELSE
			EQUIP:C_ID:下半身内衣２ = CFLAG:C_ID:きょうのぱんつ
		ENDIF
	ELSE
		IF CFLAG:C_ID:没穿内裤
			EQUIP:C_ID:下半身内衣１ = 0
			EQUIP:C_ID:下半身内衣２ = 0
		ELSEIF EQUIP:C_ID:下半身内衣１
			EQUIP:C_ID:下半身内衣２ = 0
		ELSE
			EQUIP:C_ID:下半身内衣２ = CFLAG:C_ID:246
		ENDIF
	ENDIF
CASE "ブラ一括設定"
	IF !CFLAG:C_ID:睡衣
		EQUIP:C_ID:上半身内衣１ = CFLAG:C_ID:きょうのブラ
	ELSE
		EQUIP:C_ID:上半身内衣１ = CFLAG:C_ID:247
	ENDIF

;脱衣処理
CASE "現在衣装の変更_全裸"
	FOR LOCAL, 1, 23
		SIF LOCAL == 3 && FLAG:時間停止
			CONTINUE
		SIF LOCAL == 4 && EQUIP:C_ID:靴
			CONTINUE
		EQUIP:C_ID:LOCAL = 0
	NEXT

CASE "現在衣装の変更_内衣姿"
;このコードなんか気持ち悪いんだけどとりあえずこのままで
	FOR LOCAL, 18, 10, -1
		EQUIP:C_ID:LOCAL = 0
	NEXT
	EQUIP:C_ID:帽子 = 0
	TEQUIP:C_ID:上半身着衣状況 = 2
	TEQUIP:C_ID:上衣脱衣完毕 = 1

CASE "現在衣装の変更_半脱"
	EQUIP:C_ID:上半身内衣１ = 0
	TEQUIP:C_ID:上半身裸露状態 = 1
	SIF EQUIP:C_ID:裤子
		EQUIP:C_ID:裤子 = 0

CASE "便装の変更_角色衣装"
;ARGで指定された角色のARGSで指定された衣装を参照する
	CFLAG:C_ID:基本服装セット = 100 + ARG
	FOR LOCAL, 1, 23
		CFLAG:C_ID:(200 + LOCAL) = GET_INT(C_ID, "角色データ", ARG, @"%ARGS%：%EQUIPNAME:LOCAL%")
	NEXT

CASE "便装の変更_衣装セット"
;ARGで指定されたIDの衣装セットを参照する
	CFLAG:C_ID:基本服装セット = ARG
	FOR LOCAL, 1, 23
		CFLAG:C_ID:(200 + LOCAL) = GET_INT(C_ID, "衣装セット", ARG, EQUIPNAME:LOCAL)
	NEXT
CASE "便装の変更_套装"
	CFLAG:C_ID:基本服装セット = 100
	FOR LOCAL, 1, 23
		CFLAG:C_ID:(200 + LOCAL) = CFLAG:C_ID:(600 + LOCAL)
	NEXT

CASE "睡衣的变更_角色衣装"
;ARGで指定された角色のARGSで指定された衣装を参照する
	CFLAG:C_ID:睡衣指定 = 100 + ARG
	FOR LOCAL, 1, 23
		CFLAG:C_ID:(240 + LOCAL) = GET_INT(C_ID, "角色データ", ARG, @"%ARGS%：%EQUIPNAME:LOCAL%")
	NEXT
CASE "睡衣的变更_衣装セット"
	CFLAG:C_ID:睡衣指定 = ARG
	FOR LOCAL, 1, 23
		CFLAG:C_ID:(240 + LOCAL) = GET_INT(C_ID, "衣装セット", ARG, EQUIPNAME:LOCAL)
	NEXT
CASE "睡衣的变更_套装"
	CFLAG:C_ID:睡衣指定 = 300
	FOR LOCAL, 1, 23
		CFLAG:C_ID:(240 + LOCAL) = CFLAG:C_ID:(600 + LOCAL)
	NEXT
CASE "睡衣的变更_针织衫"
	CFLAG:C_ID:睡衣指定 = 301
	FOR LOCAL, 0, 23
		CFLAG:C_ID:(240 + LOCAL) = 0
	NEXT
	CFLAG:C_ID:246 = CFLAG:C_ID:睡衣胖次
	SIF CFLAG:C_ID:246 == 100
		CFLAG:C_ID:246 = 0

CASE "睡衣的变更_全裸"
	CFLAG:C_ID:睡衣指定 = 302
	FOR LOCAL, 0, 23
		CFLAG:C_ID:(240 + LOCAL) = 0
	NEXT
	CFLAG:C_ID:睡衣胖次 = 100

CASE "套装の変更_角色衣装"
	FOR LOCAL, 1, 23
		CFLAG:C_ID:(600 + LOCAL) = GET_INT(C_ID, "角色データ", ARG, @"%ARGS%：%EQUIPNAME:LOCAL%")
	NEXT
	CFLAG:C_ID:套装 = 1

CASE "套装の変更_衣装セット"
	FOR LOCAL, 1, 23
		CFLAG:C_ID:(600 + LOCAL) = GET_INT(C_ID, "衣装セット", ARG, EQUIPNAME:LOCAL)
	NEXT
	CFLAG:C_ID:套装 = 1
ENDSELECT

;特定角色の衣装設定の内容を表示する
@SHOW_CHARA_CLOTHES(C_ID, PAGE = 0)
#DIM  C_ID
#DIMS CONST 表示衣装, 4 = "現在的衣装", "便服", "今天的睡衣", "套装"
#DIM  PAGE
PRINTFORML %CALLNAME:C_ID%的%表示衣装:PAGE%
SELECTCASE CFLAG:C_ID:指定胖次
CASE 0
	PRINTFORML 　現在的胖次設定：無指定
CASE 100
	PRINTFORML 　現在的胖次設定：指定不穿内裤
CASEELSE
	PRINTFORML 　現在的胖次設定：%GET_STR(C_ID, "下半身内衣_ずらし可能", CFLAG:C_ID:指定胖次, "名前")%
ENDSELECT
PRINTFORML
CALL SHOW_CLOTHES(C_ID, 表示衣装:PAGE)
PRINTFORML
PRINTBUTTON @"[1] - %表示衣装:((PAGE + 4 - 1) % 4), 14%", 1
PRINTFORM
PRINTBUTTON @"[3] - %表示衣装:((PAGE + 4 + 1) % 4), 14%", 3
PRINTFORML
PRINTBUTTON "[0] - 返回", 0
DO
	INPUT
	SELECTCASE RESULT
	CASE 0
		RETURN
	CASE 1
		PAGE = (PAGE + 4 - 1) % 4
	CASE 3
		PAGE = (PAGE + 4 + 1) % 4
	CASEELSE
		REUSELASTLINE 無效輸入
		CONTINUE
	ENDSELECT
	RESTART
LOOP 1

;衣装系の表示関数
@SHOW_CLOTHES(C_ID, TYPE, ID)
#DIM  C_ID
#DIMS TYPE
#DIM  ID
#DIM  装備部位
#DIM  CLOTHES
#DIMS 表示内容
{
#DIMS CONST 表示部位, 23 = "",
	"帽子", "飾品", "腕部装束",
	"外搭",
	"上身衣服１","上身衣服２",
	"和服", "連衣裙",
	"裙子", "下身衣服", "裤子",
	"緊身内衣", "連体内衣",
	"上半身内衣１", "上半身内衣２",
	"下半身内衣１", "下半身内衣２",
	"其他１", "其他２", "其他３",
	"襪子", "靴"
}
{
#DIMS CONST 表示ラベル, 23 = "",
	"　装備:頭　　　", "　装備:装飾　　", "　装備:腕　　　",
	"　装備:外搭　　",
	"　装備:外套　　", "　装備:外套　　",
	"　装備:和服　　", "　装備:全身服　",
	"　装備:裙子　　", "　装備:下身衣物　　", "　装備:裤子　　",
	"　装備:連體内衣", "　装備:連體内衣",
	"　装備:内衣(上)", "　装備:内衣(上)",
	"　装備:内衣(下)", "　装備:内衣(下)",
	"　装備:付属　　", "　装備:付属　　", "　装備:付属　　",
	"　装備:襪子　　", "　装備:鞋　　　"
}

SELECTCASE TYPE
CASE "現在的衣装"
	FOR LOCAL, 1, 23
		;装備部位のID取得
		装備部位 = FINDELEMENT(EQUIPNAME, 表示部位:LOCAL)
		SIF 装備部位 < 0
			THROW 存在しない装備部位%表示部位:LOCAL%

		;ノーブラ、没穿内裤用の例外処理
		;ここから
		IF 表示部位:LOCAL == "上半身内衣１" && TALENT:C_ID:性別 != 2 && EQUIP:C_ID:上半身内衣２ == 0 && EQUIP:C_ID:上半身内衣１ == 0 && EQUIP:C_ID:連体内衣 == 0 && EQUIP:C_ID:緊身内衣 == 0 && EQUIP:C_ID:0
			IF 上半身内衣表示(C_ID) == 1
				PRINTFORML 　装備:内衣(上)[沒穿]
			ELSEIF 下半身内衣表示(C_ID) == 1
				PRINTFORML 　装備:内衣(上)[？？？？？]
			ENDIF
		ENDIF
		IF 表示部位:LOCAL == "下半身内衣１" && EQUIP:C_ID:下半身内衣２ == 0 && EQUIP:C_ID:下半身内衣１ == 0 && EQUIP:C_ID:連体内衣 == 0 && EQUIP:C_ID:緊身内衣 == 0 && EQUIP:C_ID:0
			IF !上半身内衣表示(C_ID) && !下半身内衣表示(C_ID)
				PRINTFORML 　装備:内衣　　[？？？？？]
				CONTINUE
			ELSEIF !下半身内衣表示(C_ID)
				PRINTFORML 　装備:内衣(下)[？？？？？]
			ELSE
				PRINTFORML 　装備:内衣(下)[沒穿]
			ENDIF
		ENDIF

		SIF !EQUIP:C_ID:装備部位
			CONTINUE
		IF STRLENS(CSTR:C_ID:(50 + 装備部位)) && !CFLAG:C_ID:睡衣
			表示内容 '= CSTR:C_ID:(50 + 装備部位)
		;胖次は専用処理が必要
		ELSEIF 表示部位:LOCAL == "上半身内衣１" && !(C_ID == MASTER) && !上半身内衣表示(C_ID)
			SIF !下半身内衣表示(C_ID)
			 	CONTINUE
			表示内容 '= "？？？？？"
		ELSEIF 表示部位:LOCAL == "下半身内衣２" && !(C_ID == MASTER) && !下半身内衣表示(C_ID)
			IF !上半身内衣表示(C_ID)
				PRINTFORML 　装備:内衣　　[？？？？？]
				CONTINUE
			ELSE
				表示内容 '= "？？？？？"
			ENDIF
		ELSE
			IF 表示部位:LOCAL == "上半身内衣１"
				表示内容 '= BRANAME(EQUIP:C_ID:上半身内衣１, C_ID)
			ELSEIF 表示部位:LOCAL == "下半身内衣２"
				表示内容 '= PANTSNAME(EQUIP:C_ID:下半身内衣２, C_ID)
			ELSE
				表示内容 '= CLOTHNAME(装備部位, EQUIP:C_ID:装備部位)
			ENDIF
		ENDIF

		PRINTFORML %表示ラベル:LOCAL%[%表示内容%]
	NEXT

CASE "便服", "便装"
	FOR LOCAL, 1, 23
		;装備部位のID取得
		装備部位 = FINDELEMENT(EQUIPNAME, 表示部位:LOCAL)
		SIF 装備部位 < 0
			THROW 存在しない装備部位%表示部位:LOCAL%
		CLOTHES = CFLAG:C_ID:(200 + 装備部位)
		IF !CLOTHES
			CONTINUE
		ELSE
			表示内容 '= GET_STR(C_ID, CLOTHES_PARTS_TO_CATEGORY(表示部位:LOCAL), CLOTHES, "名前")
		ENDIF
		PRINTFORML %表示ラベル:LOCAL%：%表示内容%
	NEXT

CASE "今天的睡衣"
	FOR LOCAL, 1, 23
		;装備部位のID取得
		装備部位 = FINDELEMENT(EQUIPNAME, 表示部位:LOCAL)
		SIF 装備部位 < 0
			THROW 存在しない装備部位%表示部位:LOCAL%
		CLOTHES = CFLAG:C_ID:(240 + 装備部位)
		SIF 表示部位:LOCAL == "下半身内衣２" && !(C_ID == MASTER)
			CONTINUE
		IF !CLOTHES
			CONTINUE
		ELSE
			表示内容 '= GET_STR(C_ID, CLOTHES_PARTS_TO_CATEGORY(表示部位:LOCAL), CLOTHES, "名前")
		ENDIF
		PRINTFORML %表示ラベル:LOCAL%：%表示内容%
	NEXT

CASE "套装"
	FOR LOCAL, 1, 23
		;装備部位のID取得
		装備部位 = FINDELEMENT(EQUIPNAME, 表示部位:LOCAL)
		SIF 装備部位 < 0
			THROW 存在しない装備部位%表示部位:LOCAL%
		CLOTHES = CFLAG:C_ID:(600 + 装備部位)
		SIF 表示部位:LOCAL == "下半身内衣２" && !(C_ID == MASTER)
			CONTINUE
		IF !CLOTHES
			CONTINUE
		ELSE
			表示内容 '= GET_STR(C_ID, CLOTHES_PARTS_TO_CATEGORY(表示部位:LOCAL), CLOTHES, "名前")
		ENDIF
		PRINTFORML %表示ラベル:LOCAL%：%表示内容%
	NEXT

CASE "角色便装"
;角色番号IDの便装の内容を表示する
	IF !EXISTCSV(ID)
		PRINTFORML 不存在可以参照的角色
		RETURN
	ENDIF
	PRINTFORML %CALLNAME:ID%的便装
	FOR LOCAL, 1, 23
		;装備部位のID取得
		装備部位 = FINDELEMENT(EQUIPNAME, 表示部位:LOCAL)
		SIF 装備部位 < 0
			THROW 存在しない装備部位%表示部位:LOCAL%
		CLOTHES = GET_INT(C_ID, "角色データ", ID, @"便装：%表示部位:(LOCAL)%")
		SIF 表示部位:LOCAL == "下半身内衣２" && !(C_ID == MASTER)
			CONTINUE
		IF !CLOTHES
			CONTINUE
		ELSE
			表示内容 '= GET_STR(C_ID, CLOTHES_PARTS_TO_CATEGORY(表示部位:LOCAL), CLOTHES, "名前")
		ENDIF
		PRINTFORML %表示ラベル:LOCAL%：%表示内容%
	NEXT

CASE "衣装セット"
;衣装セットIDの内容を表示する
	IF GET_STR(C_ID, "衣装セット" , ID, "名前") == ""
		PRINTFORML 不存在可以参照的衣装
		RETURN
	ENDIF
	PRINTFORML %GET_STR(C_ID, "衣装セット" , ID, "名前")%
	FOR LOCAL, 1, 23
		;装備部位のID取得
		装備部位 = FINDELEMENT(EQUIPNAME, 表示部位:LOCAL)
		SIF 装備部位 < 0
			THROW 存在しない装備部位%表示部位:LOCAL%
		CLOTHES = GET_INT(C_ID, "衣装セット", ID, 表示部位:LOCAL)
		SIF 表示部位:LOCAL == "下半身内衣２" && !(C_ID == MASTER)
			CONTINUE
		IF !CLOTHES
			CONTINUE
		ELSE
			表示内容 '= GET_STR(C_ID, CLOTHES_PARTS_TO_CATEGORY(表示部位:LOCAL), CLOTHES, "名前")
		ENDIF
		PRINTFORML %表示ラベル:LOCAL%：%表示内容%
	NEXT
ENDSELECT

@SPECIAL_OUTFIT(CHARA)
#FUNCTION
#DIM CHARA
IF FESTIVAL() == "兔子之日"
	RETURNF 55
ELSEIF FLAG:ファッション
	RETURNF FLAG:ファッション
ENDIF
RETURNF GET_INT(0, "角色データ", CHARA, "特殊衣装着用")

@UNIQUE_UNDERWARE_TOP(CHARA)
#FUNCTIONS
#DIM CHARA
RETURNF GET_STR(0, "角色データ", CHARA, "固有上半身内衣名")

@UNIQUE_UNDERWARE_BOTTOM(CHARA)
#FUNCTIONS
#DIM CHARA
SIF GET_STR(0, "角色データ", CHARA, "固有下半身内衣名") == ""
	RETURNF "新品の胖次"
RETURNF GET_STR(0, "角色データ", CHARA, "固有下半身内衣名")

@UNIQUE_UNDERWARE_ADJ(CHARA)
#FUNCTIONS
#DIM CHARA
RETURNF GET_STR(0, "角色データ", CHARA, "固有内衣形容詞")

@UNIQUE_UNDERWARE_ABLE(CHARA)
#FUNCTION
#DIM CHARA
RETURNF GET_INT(0, "角色データ", CHARA, "固有内衣着用条件")

@UNIQUE_UNDERWARE_TRANSPARENCY_FRONT(CHARA)
#FUNCTION
#DIM CHARA
RETURNF GET_INT(0, "角色データ", CHARA, "固有内衣半透明(前)")

@UNIQUE_UNDERWARE_TRANSPARENCY_BACK(CHARA)
#FUNCTION
#DIM CHARA
RETURNF GET_INT(0, "角色データ", CHARA, "固有内衣半透明(後)")

@UNIQUE_UNDERWARE_TOP_THICK(CHARA)
#FUNCTION
#DIM CHARA
RETURNF GET_INT(0, "角色データ", CHARA, "固有内衣布料厚度")

@上半身内衣表示(C_ID)
#FUNCTION
#DIM C_ID

SIF !CFLAG:C_ID:睡眠 && CFLAG:C_ID:上半身内衣確認
	RETURNF 1
SIF CFLAG:C_ID:睡眠 && CFLAG:C_ID:睡衣上半身内衣確認
	RETURNF 1
RETURNF 0

@下半身内衣表示(C_ID)
#FUNCTION
#DIM C_ID

SIF !CFLAG:C_ID:睡眠 && CFLAG:C_ID:下半身内衣確認
	RETURNF 1
SIF CFLAG:C_ID:睡眠 && CFLAG:C_ID:睡衣下半身内衣確認
	RETURNF 1
RETURNF 0

@上半身内衣チェック(C_ID)
#FUNCTION
#DIM C_ID

IF !CFLAG:C_ID:睡眠
	CFLAG:C_ID:上半身内衣確認 = 1
ELSE
	CFLAG:C_ID:睡衣上半身内衣確認 = 1
ENDIF

@下半身内衣チェック(C_ID)
#FUNCTION
#DIM C_ID

IF !CFLAG:C_ID:睡眠
	CFLAG:C_ID:下半身内衣確認 = 1
ELSE
	CFLAG:C_ID:睡衣下半身内衣確認 = 1
ENDIF

@内衣確認リセット(C_ID)
#DIM C_ID

CFLAG:C_ID:上半身内衣確認 = 0
CFLAG:C_ID:下半身内衣確認 = 0
CFLAG:C_ID:睡衣上半身内衣確認 = 0
CFLAG:C_ID:睡衣下半身内衣確認 = 0

RETURN


code:
;2018/08/30
;古くて使わなくなった処理、まぎらわしいので削除


code:
;きょうのぱんつ処理の洗練
;ARGのはくことができる胖次を抽選する
;元々の今天穿的内裤関数だと処理上限がないのでシャッフルする
;FISHER_YATES_SHAFFLEつかおうとしたらF関数内部でCALLすんのムリだったでござる
@今天穿的内裤(ARG)
#FUNCTION
#LOCALSIZE 2
#LOCALSSIZE 1
#DIM TODAYS_PANTS
#DIM RAND_PANTS, MAXPANTS
#DIM P_TABLE

VARSET RAND_PANTS , 0
FOR LOCAL:0 , 0 , MAXPANTS
	RAND_PANTS:(LOCAL:0) = LOCAL:0
NEXT
FOR LOCAL:0 , 0 , MAXPANTS - 1
	LOCAL:1 = RAND(LOCAL:0 , MAXPANTS)
	SWAP RAND_PANTS:(LOCAL:0), RAND_PANTS:(LOCAL:1)
NEXT

FOR P_TABLE, 0, MAXPANTS
	IF GET_INT(ARG, "下半身内衣_ずらし可能", RAND_PANTS:P_TABLE, "能穿")
		TODAYS_PANTS = RAND_PANTS:P_TABLE
		BREAK
	ELSE
		CONTINUE
	ENDIF
	SIF P_TABLE == MAXPANTS - 1
		THROW %CALLNAME:ARG%のぱんつ抽選に失敗
NEXT
RETURNF TODAYS_PANTS

;互換用
@PANTSNAME(ARG, CHARA)
#FUNCTIONS
#DIM CHARA

CALLF 下半身内衣チェック(CHARA)
RETURNF GET_STR(CHARA, CLOTHES_PARTS_TO_CATEGORY("下半身内衣２"), ARG, "名前")

@PANTS_DESCRIPTION(ARG, CHARA)
#FUNCTIONS
#DIM CHARA
RETURNF GET_STR(CHARA, CLOTHES_PARTS_TO_CATEGORY("下半身内衣２"), ARG, "描写")

@PANTS_GET(ARG,ARGS)
#DIM 種類
種類 = EQUIP:ARG:下半身内衣２
CALL PANTS_GETTING(ARG, 種類)

CFLAG:ARG:没穿内裤 = 1
EQUIP:ARG:下半身内衣２ = 0
CALL CLOTHES_SETTING_TRAIN(ARG)

SIF CFLAG:ARG:睡衣 == 1
	CFLAG:ARG:睡衣胖次 = 0

SIF ARGS == "もらう"
	CFLAG:ARG:没穿内裤 = 2

@PANTS_GETTING(ARG, 種類)
#DIM 種類
#DIM 隙間送り成否
隙間送り成否 = 0
PANTS_TEMP:ARG:種類 += 1
IF ITEM:收藏隙間
	IF FLAG:C隙間自動仕様
		CALL PANTS_SUKIMA(ARG, 種類)
		隙間送り成否 = RESULT
	ELSEIF FLAG:胖次輸送 == 0
		IF CFLAG:MASTER:現在位置 != CFLAG:MASTER:初期位置
			PRINTFORM 要使用收藏隙間麼？（剩餘：{ITEM:收藏隙間}）
		ENDIF
		SIF CFLAG:ARG:(種類 + 胖次管理) == 0
			SETCOLOR C_PINK
		PRINTFORM %CALLNAME:ARG%の%PANTSNAME(種類, ARG)%
		RESETCOLOR
		PRINTFORML 添加到收藏中吗?
		CALL ASK_YN
		IF !RESULT
			CALL PANTS_SUKIMA(ARG, 種類)
			隙間送り成否 = RESULT
		ENDIF
	ENDIF
ENDIF
SIF !隙間送り成否
	FLAG:胖次輸送 = 1
RETURN 隙間送り成否

@PANTS_SUKIMA(ARG, 種類)
#DIM 種類
#DIM 隙間送り成否
隙間送り成否 = 0
IF PANTS_TEMP:ARG:種類
	CFLAG:ARG:(種類 + 胖次管理) += PANTS_TEMP:ARG:種類
	PANTS_TEMP:ARG:種類 = 0
	IF CFLAG:MASTER:現在位置 != CFLAG:MASTER:初期位置
		ITEM:收藏隙間 -= 1
	PRINTFORMW %CALLNAME:MASTER%打開了收藏隙間、把%CALLNAME:ARG%的%PANTSNAME(種類,ARG)%放了進去
	ELSE
		PRINTFORMW %CALLNAME:ARG%の%PANTSNAME(種類, ARG)%将其添加到收藏中
	ENDIF
	隙間送り成否 = 1
ENDIF
RETURN 隙間送り成否

@SHOW_HAVE_COLLECTION
IF ITEM:收藏隙間 == 0 && CFLAG:MASTER:現在位置 != CFLAG:MASTER:初期位置
	CALL DISPLAY_ALL_COLLECTION(1,0)
	PRINTW
ELSE
	IF CFLAG:MASTER:現在位置 != CFLAG:MASTER:初期位置
		PRINTFORM 要使用收藏隙間麼？（剩餘：{ITEM:收藏隙間}）
	ENDIF
	PRINTFORMW 追加到收藏中吗?
	DRAWLINE
	CALL DISPLAY_ALL_COLLECTION(1,1)
	DRAWLINE
	PRINTFORML [0] 不追加
	INPUT
	LOCAL = RESULT
	CALL PANTS_SUKIMA(LOCAL / 100, LOCAL % 100)
	;胖次輸送対策
	SIF RESULT
		CALL SPEND_HAVE_COLLECTION(LOCAL)
ENDIF

;### 濡れて透けうる胖次を穿いてるか判定用式中関数 ################
;ARG=角色番号、返り値１は透けうる、０は透けえない
;留琴口上からの移植
@PANTIES_TRANSPARENCY(ARG)
#FUNCTION

;胖次を奪ったorもらったor元から穿いてない場合は０
IF CFLAG:ARG:没穿内裤 || (CFLAG:ARG:205 == 0 && CFLAG:ARG:206 == 0)
	RETURNF 0
;没穿内裤ではない場合
ELSE
	;いま現在胖次を穿いている場合
	IF EQUIP:ARG:下半身内衣１ || EQUIP:ARG:下半身内衣２
		IF EQUIP:ARG:下半身内衣１
			RETURNF GET_INT(ARG, "下半身内衣_ずらし不可", EQUIP:ARG:下半身内衣１, "半透明(前)")
		ELSEIF EQUIP:ARG:下半身内衣２
			RETURNF GET_INT(ARG, "下半身内衣_ずらし可能", EQUIP:ARG:下半身内衣２, "半透明(前)")
		ENDIF
	;いま現在穿いてないがあとで穿きなおす場合はその胖次が透けうるかいなかを返す
	ELSE
		;下半身内衣１
		IF CFLAG:ARG:205
			RETURNF GET_INT(ARG, "下半身内衣_ずらし不可", CFLAG:ARG:205, "半透明(前)")
		;下半身内衣２
		ELSEIF CFLAG:ARG:206
			RETURNF GET_INT(ARG, "下半身内衣_ずらし可能", CFLAG:ARG:206, "半透明(前)")
		ENDIF
	ENDIF
ENDIF

;該当なければ透けないことにする
RETURNF 0

@PANTS_ALREADY_COLLECTED(ARG)
#FUNCTION
#DIM 種類
SIF !ARG
	ARG = TARGET
;是てる胖次の所有確認
IF EQUIP:ARG:下半身内衣２
	FOR 種類,0,MAXPANTS
		IF 種類 == EQUIP:ARG:下半身内衣２
			SIF CFLAG:ARG:(種類 + 胖次管理) > 0
				RETURNF 1
		ENDIF
	NEXT
ENDIF
RETURNF 0

@CLEAR_HAVE_COLLECTION
FOR LOCAL,1,CHARANUM
	VARSET PANTS_TEMP:LOCAL:0
NEXT
FLAG:胖次輸送 = 0


code: ;ステータス表示関連に移行しました。


code:
;数据更新
@updateVersion()
	#DIM index
	;本体更新
	SIF LASTLOAD_VERSION != GAMEBASE_VERSION
		CALL gameUpdateVersion
	;kojo更新
	FOR index, 0, CHARANUM
		CALL KOJO_MESSAGE_SEND("KOJO_VERSION", 0, index)
	NEXT

;本体更新
@gameUpdateVersion()
	;这个函数用来代替UPDATE,玩家不用一更新就点UPDATE
	;如果你的更新不需要数据处理你就无视了吧
	;一下是ym的,你当作例子康康
	; ;eratohoYM AE M 4282 → eratohoYM AE M 4284の存档変換処理
	; SIF LASTLOAD_VERSION < 4284
	; 	CALL SAVE_SUPPORT_VERSION_4284

	; ;eratohoYM AE M 4284 → eratohoYM AE M 4285の存档変換処理
	; SIF LASTLOAD_VERSION < 4285
	; 	CALL SAVE_SUPPORT_VERSION_4285
	CALL UPDATE
@UPDATE_OF_KOJO_ORIGIN

;口上の存在判定 and RESULTSに文字列代入
FOR LOCAL, 1, CHARANUM
	VARSET RESULTS
	IF CFLAG:LOCAL:口上セレクタ
		TRYCALLFORM M_KOJO_K{LOCAL}_{CFLAG:LOCAL:口上セレクタ}
	ELSE
		TRYCALLFORM M_KOJO_K{LOCAL}
	ENDIF
	PRINTFORML 正在確認%CALLNAME:LOCAL%%RESULTS%的口上是否存在UPDATE
	TRYCALLFORM M_KOJO%RESULTS%_UPDATE_K{LOCAL}
	WAIT
NEXT

@UPDATE_OF_KOJO_MODDING
#DIM DYNAMIC MAXPAGE_MODE_0
#DIM DYNAMIC MAXPAGE_MODE_1
#DIM DYNAMIC MAXPAGE
#DIM DYNAMIC PAGE
#DIM DYNAMIC MARK_KOJO_AVAILABLE, 人物数量上限
#DIM DYNAMIC NUM_OF_CHARA_WITH_KOJO
#DIM DYNAMIC LIST_OF_CHARA_WITH_KOJO, 人物数量上限
#DIM DYNAMIC LIST_OF_CHARA_ALTERED_BY_TOUHOU, 人物数量上限
#DIM DYNAMIC C_ID
#DIM DYNAMIC LINE_RECORD
#DIM DYNAMIC CHOOSE_COMMAND
#DIMS DYNAMIC HTML
#DIMS DYNAMIC COLOR
#DIM DYNAMIC REDRAW_RECORD
#DIM UPDATE_OF_KOJO_OPERATE_MODE = 1
CURRENTREDRAW
REDRAW_RECORD = RESULT
REDRAW 0
;确认角色口上存在情况
VARSET RESULT
FOR LOCAL, 1, CHARANUM
	IF CFLAG:LOCAL:口上セレクタ
		TRYCCALLFORM M_KOJO_K{LOCAL}_{CFLAG:LOCAL:口上セレクタ}
		CATCH
			VARSET RESULT
		ENDCATCH
	ELSE
		TRYCCALLFORM M_KOJO_K{LOCAL}
		CATCH
			VARSET RESULT
		ENDCATCH
	ENDIF
	;有口上角色标记
	IF RESULT
		MARK_KOJO_AVAILABLE:LOCAL = RESULT
		NUM_OF_CHARA_WITH_KOJO ++
	ENDIF
NEXT
;不过滤无口上角色时的最多页数
MAXPAGE_MODE_0 = (CHARANUM - 1) / 20 + 1
;过滤无口上角色时的最多页数
MAXPAGE_MODE_1 = (NUM_OF_CHARA_WITH_KOJO - 1) / 20 + 1
;制作以原作顺序排列的人物列表
VARSET RESULT
IF FLAG:並び替え
	CALL CHARASORT_EX
	LOCAL:1 = 1
	FOR LOCAL, 1, EX_CHARANUM
		SIF RESULT:LOCAL < 0
			CONTINUE
		LIST_OF_CHARA_ALTERED_BY_TOUHOU:(LOCAL:1) = RESULT:LOCAL
		LOCAL:1 ++
	NEXT
ENDIF
;制作过滤无口上角色时的角色列表
LOCAL:2 = 1
FOR LOCAL, 1, CHARANUM
	SIF !MARK_KOJO_AVAILABLE:LOCAL
		CONTINUE
	IF FLAG:並び替え
		LIST_OF_CHARA_WITH_KOJO:(FINDELEMENT(LIST_OF_CHARA_ALTERED_BY_TOUHOU, LOCAL, 1, CHARANUM)) = LOCAL
	ELSE
		LIST_OF_CHARA_WITH_KOJO:(LOCAL:2) = LOCAL
	ENDIF
	LOCAL:2 ++
NEXT
WAIT

IF FLAG:並び替え
	FOR LOCAL, 1, NUM_OF_CHARA_WITH_KOJO + 1
		IF !LIST_OF_CHARA_WITH_KOJO:LOCAL
			ARRAYSHIFT LIST_OF_CHARA_WITH_KOJO, -1, 0, LOCAL
			LOCAL --
		ENDIF
	NEXT
ENDIF

LINE_RECORD = LINECOUNT

WHILE 1
	DRAWLINE
	DRAWLINE
	HTML_PRINT @"　　　　角色口上ＵＰＤＡＴＥ选择界面　　　　"
	HTML_PRINT @"＜　ＰＡＧＥ　．　%TOFULL(TOSTR(PAGE + 1))%　／　ＡＬＬ．ＰＡＧＥ．%TOFULL(TOSTR(MAXPAGE))%＞"
	IF UPDATE_OF_KOJO_OPERATE_MODE == 1
		HTML_PRINT @"<nonbutton title = '当前显示角色均为有口上角色'>　　过滤无口上角色功能开启　　</nonbutton>"
	ELSE
		HTML_PRINT @"<nonbutton title = '已显示全部角色，包括无口上角色'>　　过滤无口上角色功能关闭　　</nonbutton>"
	ENDIF
	IF UPDATE_OF_KOJO_OPERATE_MODE == 1
		MAXPAGE = MAXPAGE_MODE_1
	ELSE
		MAXPAGE = MAXPAGE_MODE_0
	ENDIF
	IF PAGE >= MAXPAGE
		PAGE = MAXPAGE - 1
	ELSEIF PAGE < 0
		PAGE = 0
	ENDIF
	FOR LOCAL, PAGE * 20 + 1, (PAGE + 1) * 20 + 1
		VARSET HTML
		VARSET RESULT
		VARSET RESULTS
		IF UPDATE_OF_KOJO_OPERATE_MODE == 1
			SIF LOCAL > NUM_OF_CHARA_WITH_KOJO
				BREAK
			SIF LIST_OF_CHARA_WITH_KOJO:LOCAL
				C_ID = LIST_OF_CHARA_WITH_KOJO:LOCAL
		ELSE
			SIF LOCAL > CHARANUM - 1
				BREAK
			IF FLAG:並び替え
				C_ID = LIST_OF_CHARA_ALTERED_BY_TOUHOU:LOCAL
			ELSE
				C_ID = LOCAL
			ENDIF
		ENDIF
		IF CFLAG:C_ID:口上セレクタ
				TRYCALLFORM M_KOJO_K{C_ID}_{CFLAG:C_ID:口上セレクタ}
			ELSE
				TRYCALLFORM M_KOJO_K{C_ID}
		ENDIF
		SIF !STRLENS(RESULTS:1)
			RESULTS:1 = 初期
		RESETCOLOR
		VARSET COLOR
		TRYCALLFORM M_KOJO%RESULTS%_COLOR_K{C_ID}
		COLOR '= "0x" + hex_to_str(GETCOLOR())
		HTML += @"<button value='{C_ID}'>[{LOCAL, 4, LEFT}"
		HTML += @"]  -  %CALLNAME:C_ID, 8, LEFT%    %CSVCSTR(C_ID, 10), 100, LEFT%"
		IF FINDELEMENT(LIST_OF_CHARA_WITH_KOJO, C_ID) > 0
			HTML += @"
     %"", 80, LEFT%----------------%CALLNAME:C_ID%%RESULTS:1%口上</button>
"
		ELSE
			HTML += @"
     %"", 80, LEFT%----------------无口上</button>
"
		ENDIF
		HTML_PRINT HTML
		RESETCOLOR
	NEXT
	IF PAGE == 0
		{
		HTML_PRINT @"<nonbutton title = '跳转至首页'>　　［　＜＜　］　　</nonbutton>
		<nonbutton title = '上一页'>　　［　＜　］　　</nonbutton>
		<button value = '1002' title = '下一页'>　　［　＞　］　　</button>
		<button value = '1003' title = '跳转至尾页'>　　［　＞＞　］　　</button>"
		}
	ELSEIF PAGE == MAXPAGE - 1
		{
		HTML_PRINT @"<button value = '1000' title = '跳转至首页'>　　［　＜＜　］　　</button>
		<button value = '1001' title = '上一页'>　　［　＜　］　　</button>
		<nonbutton title = '下一页'>　　［　＞　］　　</nonbutton>
		<nonbutton title = '跳转至尾页'>　　［　＞＞　］　　</nonbutton>"
		}
	ELSEIF INRANGE(PAGE, 0, MAXPAGE - 1)
		{
		HTML_PRINT @"<button value = '1000' title = '跳转至首页'>　　［　＜＜　］　　</button>
		<button value = '1001' title = '上一页'>　　［　＜　］　　</button>
		<button value = '1002' title = '下一页'>　　［　＞　］　　</button>
		<button value = '1003' title = '跳转至尾页'>　　［　＞＞　］　　</button>"
		}
	ENDIF
	IF UPDATE_OF_KOJO_OPERATE_MODE == 1
		HTML_PRINT @"<button value = '1004' title = '当前显示角色均为有口上角色'>　　［过滤功能：开启］　　</button>"
	ELSE
		HTML_PRINT @"<button value = '1004' title = '已显示全部角色，包括无口上角色'>　　［过滤功能：关闭］　　</button>"
	ENDIF
	HTML_PRINT @"<button value = '1005' title = '经典模式，一次性全过一遍'>　　［ＵＰＤＡＴＥ全体进行］　　</button>"
	HTML_PRINT @"<button value = '1100'>　　［不进行口上ＵＰＤＡＴＥ］　　</button>"
	DRAWLINE
	DRAWLINE
	VARSET RESULT
	INPUT
	CHOOSE_COMMAND = RESULT
	SELECTCASE CHOOSE_COMMAND
		CASE 1000
			PAGE = 0
		CASE 1001
			PAGE -= 1
		CASE 1002
			PAGE += 1
		CASE 1003
			PAGE = MAXPAGE - 1
		CASE 1004
			UPDATE_OF_KOJO_OPERATE_MODE = !UPDATE_OF_KOJO_OPERATE_MODE
		CASE 1 TO 500
			VARSET RESULTS
			IF CFLAG:CHOOSE_COMMAND:口上セレクタ
				TRYCALLFORM M_KOJO_K{CHOOSE_COMMAND}_{CFLAG:CHOOSE_COMMAND:口上セレクタ}
			ELSE
				TRYCALLFORM M_KOJO_K{CHOOSE_COMMAND}
			ENDIF
			PRINTFORML 正在確認%CALLNAME:CHOOSE_COMMAND%%RESULTS%的口上是否存在UPDATE
			TRYCALLFORM M_KOJO%RESULTS%_UPDATE_K{CHOOSE_COMMAND}
			WAIT
			PRINTL
		CASE 1005
			CALL UPDATE_OF_KOJO_ORIGIN
		CASE 1100
			CLEARLINE LINECOUNT - LINE_RECORD
			BREAK
	ENDSELECT
	CLEARLINE LINECOUNT - LINE_RECORD
	CONTINUE
WEND

REDRAW REDRAW_RECORD