code:
;-------------------------------------------------
;多人数PLAYで用いる共通処理はここで行う
;-------------------------------------------------
;-------------------------------------------------
;３Ｐにおける指令口上の汎用部分
;-------------------------------------------------
@TRAIN_MESSAGE_3P
;同じ指令の組み合わせで連続実行
IF SELECTCOM:2 == PREVCOM:2 && SELECTCOM == PREVCOM
	IF RAND:3 == 0
		PRINTFORMW %CALLNAME:PLAYER%和%CALLNAME:(PLAYER:1)%在%CALLNAME:TARGET%身上尽情地贪图着快乐…
		RETURN 1
	ENDIF
	SELECTCASE SELECTCOM
	;挿入
	CASE 60 TO 79, 83
		PRINTFORM %CALLNAME:PLAYER%是%CALLNAME:(PLAYER:1)%
		SELECTCASE PREVCOM:2
		CASE 90, 97
			PRINTFORM 我的阴茎\@ PREVCOM:2 == 97 ?%CLO("内褲冲")% # 在手 \@下使用着
		CASE 91
			PRINTFORM 大口大口地吸着那只阴茎
		CASE 92
			PRINTFORM 像在吃馅饼一样
		CASE 96
			PRINTFORM 在责备屁股上的屁穴
		CASE 98
			PRINTFORM 用舌頭品尝着味道
		ENDSELECT
		PRINTFORMW 连续激烈地侵犯了%CALLNAME:TARGET%……
	;強制口交
	CASE 140
		PRINTFORM %CALLNAME:PLAYER%与%CALLNAME:(PLAYER:1)%对%CALLNAME:TARGET%的腰部的动作合而为一、幅度一致
		SELECTCASE PREVCOM:2
		CASE 60 TO 69
			PRINTFORM 阴道
		CASE 70 TO 79
			PRINTFORM 肛門
		CASE 83 TO 88
			PRINTFORM 尿道
		CASEELSE
			IF INSERT("Ｖ挿入", TARGET, PLAYER:1)
				PRINTFORM 阴道
			ELSEIF INSERT("Ａ挿入", TARGET, PLAYER:1)
				PRINTFORM 肛門
			ELSEIF INSERT("尿道挿入", TARGET, PLAYER:1)
				PRINTFORM 尿道
			ENDIF
		ENDSELECT
		PRINTFORMW 不断侵犯着咽喉……
	CASEELSE
		;この値は助手側の行動での分岐(PREVCOM:2での分岐と思って問題ない)
		SELECTCASE CHECK_COM("３Ｐ奉仕")
		;乳頭奸
		CASE 82
			SELECTCASE SELECTCOM
			;左右乳頭奸
			CASE 82
				PRINTFORMW %CALLNAME:PLAYER%和%CALLNAME:(PLAYER:1)%、一起做着腰的运动持续侵犯着%CALLNAME:TARGET%左右的乳頭…
			CASE 90
				PRINTFORMW %CALLNAME:TARGET%一边用胸接受%CALLNAME:(PLAYER:1)%的阴茎、一边将%CALLNAME:PLAYER%的阴茎转向自己、一边用手持续撸动着……
			CASE 91
				PRINTFORMW %CALLNAME:TARGET%的胸口接受了%CALLNAME:(PLAYER:1)%的阴茎、舌頭缠绕在%CALLNAME:PLAYER%的阴茎上……
			CASE 97
				PRINTFORMW %CALLNAME:TARGET%一边用%CLO("内褲冲")%接受%CALLNAME:(PLAYER:1)%的阴茎、一边用%CLO("内褲冲")%持续处理%CALLNAME:PLAYER%的东西…
			ENDSELECT
		CASE 90
			SELECTCASE SELECTCOM
			CASE 82
				PRINTFORMW %CALLNAME:PLAYER%持续打着手冲、%CALLNAME:(PLAYER:1)%的阴茎侵犯着%CALLNAME:TARGET%的乳頭……
			CASE 90, 97
				PRINTFORMW %CALLNAME:TARGET%让%CALLNAME:PLAYER%他们两人的阴茎转向自己的脸、灵巧地用双手不停地搓着…
			CASEELSE
				PRINTFORMW %CALLNAME:TARGET%用手玩弄着%CALLNAME:(PLAYER:1)%的阴茎、舌頭缠绕着%CALLNAME:PLAYER%的阴茎……
			ENDSELECT
		CASE 91
			SELECTCASE SELECTCOM
			CASE 82
				PRINTFORMW %CALLNAME:PLAYER%不断地侵犯了为%CALLNAME:(PLAYER:1)%的阴茎服务的%CALLNAME:TARGET%的乳頭……
			CASE 90
				PRINTFORMW %CALLNAME:TARGET%一边粘粘地舔着%CALLNAME:(PLAYER:1)%的阴茎、一边用手将%CALLNAME:PLAYER%的东西转向自己……
			CASE 97
				PRINTFORMW %CALLNAME:TARGET%一边粘粘地舔着%CALLNAME:(PLAYER:1)%的阴茎、一边用%CLO("内褲冲")%持续处理%CALLNAME:PLAYER%的东西……
			CASEELSE
				PRINTFORMW %CALLNAME:TARGET%急忙地用嘴巴照顾着%CALLNAME:PLAYER%他们两人的阴茎…
			ENDSELECT
		CASEELSE
			PRINTFORM %CALLNAME:TARGET%跨坐在%CALLNAME:(PLAYER:1)%身上、摇着腰、
			SELECTCASE SELECTCOM
			;現在はこれは死に分岐
			CASE 82
				PRINTFORMW 用乳腺接受着%CALLNAME:PLAYER%之物…
			CASE 90
				PRINTFORMW 将%CALLNAME:PLAYER%的东西转向自己、继续用手来服侍……
			CASE 97
				PRINTFORMW 在%CLO("内褲冲")%继续使用%CALLNAME:PLAYER%之物…
			CASE 91
				PRINTFORMW %CALLNAME:PLAYER%的鼻息粗暴地持续喷薄着…
			CASE 92
				PRINTFORMW 用胸口夹住%CALLNAME:PLAYER%的东西继续摩擦…
			CASE 96
				PRINTFORMW 继续用舌頭爬在%CALLNAME:PLAYER%的肛門上...
			CASE 98
				PRINTFORMW 一边舔着%CALLNAME:PLAYER%的爱液、一边用舌頭不断刺激那里……
			ENDSELECT
		ENDSELECT
	ENDSELECT
	RETURN 1
ENDIF

SELECTCASE SELECTCOM
;性交系や強制口交などPLAYER主導指令
CASE 60 TO 79, 82, 83, 140
	PRINTFORM %CALLNAME:PLAYER%是%CALLNAME:(PLAYER:1)%
	SELECTCASE PREVCOM:2
	CASE 60 TO 69
		PRINTFORM 在被凶狠地侵犯
	CASE 70 TO 79
		PRINTFORM 在狠狠地侵犯屁眼
	CASE 82
		PRINTFORM 在%TEXTR("侵犯着乳頭/用胸部承受着侵犯")%
	CASE 83 TO 88
		PRINTFORM 被严重侵犯尿道
	CASE 90, 97
		PRINTFORM 的东西。\@ PREVCOM:2 == 97 ?%CLO("内褲冲")% # 在手 \@下使用
	CASE 91
		PRINTFORM 用嘴吮吸着
	CASE 92
		PRINTFORM 用胸口摩擦着
	CASE 96
		PRINTFORM 用舌頭服务于屁穴
	CASE 98
		PRINTFORM 用舌頭服务着
	CASE 140
		PRINTFORM 被侵犯到喉咙深处
	ENDSELECT

	PRINTFORM %CALLNAME:TARGET%

	SELECTCASE SELECTCOM
	CASE 60 TO 69
		PRINTFORM 的%TEXTS("Ｖ挿入前")%
		SELECTCASE PREVCOM
		CASE 70 TO 79
			PRINTFORMW 从肛門抽出了%NAMES("阴茎", PLAYER)%開始侵犯…
		CASE 83 TO 88
			PRINTFORMW 把从尿道抽出的%NAMES("阴茎", PLAYER)%插入侵犯…
		CASEELSE
			PRINTFORMW 開始侵犯了……
		ENDSELECT
	CASE 70 TO 79
		PRINTFORM 的%TEXTS("肛門")%肛門
		SELECTCASE PREVCOM
		CASE 60 TO 69
			PRINTFORMW 用沾满爱液的%NAMES("阴茎", PLAYER)%開始侵犯…
		CASE 83 TO 88
			PRINTFORMW 带着氨气味儿的%NAMES("阴茎", PLAYER)%開始侵犯了…
		CASEELSE
			PRINTFORMW 開始侵犯了……
		ENDSELECT
	CASE 82
		PRINTFORM 的没有被使用的乳頭。
		SELECTCASE PREVCOM
		CASE 60 TO 69
			PRINTFORMW 用沾满爱液的%NAMES("阴茎", PLAYER)%開始侵犯…
		CASE 70 TO 79
			PRINTFORMW 从肛門抽出了%NAMES("阴茎", PLAYER)%開始侵犯…
		CASE 83 TO 88
			PRINTFORMW 用沾满小便的%NAMES("阴茎", PLAYER)%開始侵犯…
		CASEELSE
			PRINTFORMW 開始侵犯了……
		ENDSELECT
	CASE 83
		PRINTFORMW
	CASE 140
		PRINTFORMW 抓住脑袋、粗暴地以%NAMES("阴茎", PLAYER)%開始侵犯嘴巴……
	ENDSELECT
CASEELSE
	PRINTFORM %CALLNAME:TARGET%是%CALLNAME:(PLAYER:1)%

	SELECTCASE CHECK_COM("３Ｐ奉仕")
	;乳頭奸
	CASE 82
		PRINTFORM 虽然是%TEXTR("侵犯着乳頭/用胸部承受着侵犯")%、
	CASE 90
		PRINTFORM 的东西。\@ PREVCOM:2 == 97 ?%CLO("内褲冲")% # 手 \@边使用
	CASE 91
		SELECTCASE SELECTCOM
		CASE 91
			PRINTFORM 与此同时、
		CASEELSE
			PRINTFORM 边用嘴边聊天、
		ENDSELECT
	CASEELSE
		SELECTCASE PREVCOM:2
		CASE 60 TO 69
			PRINTFORM 用阴道勒紧那东西、缓慢地一边动腰、
		CASE 70 TO 79
			PRINTFORM 用直肠吞下丁丁、
		CASE 83 TO 88
			PRINTFORM 一边用尿道紧紧地勒紧丁丁、
		CASEELSE
			IF INSERT("Ｖ挿入", TARGET, PLAYER:1)
				PRINTFORM 用阴道勒紧那东西、缓慢地一边动腰、
			ELSEIF INSERT("Ａ挿入", TARGET, PLAYER:1)
				PRINTFORM 用直肠吞下丁丁、
			ELSEIF INSERT("尿道挿入", TARGET, PLAYER:1)
				PRINTFORM 一边用尿道紧紧地勒紧丁丁、
			ENDIF
		ENDSELECT
	ENDSELECT

	SELECTCASE SELECTCOM
	CASE 90 TO 92, 97
		SELECTCASE PREVCOM
		CASE 60 TO 69
			PRINTFORM 刚才还在侵犯自己
		CASE 70 TO 79
			PRINTFORM 刚从肛門拔出的
		CASE 83 TO 88
			PRINTFORM 刚刚从小穴里拔出来的
		ENDSELECT
	ENDSELECT

	PRINTFORM %CALLNAME:PLAYER%の
	SELECTCASE SELECTCOM
	CASE 90
		PRINTFORM 用余下的阴茎
		IF RAND:3 == 0
			PRINTW 嗤嗤地開始擦……
		ELSEIF RAND:2
			PRINTW 開始使用了……
		ELSE
			PRINTW 開始玩弄了……
		ENDIF
	CASE 97
		PRINTFORM %CLO("内褲冲")%中的阴茎
		IF RAND:3 == 0
			PRINTW 開始擦了……
		ELSEIF RAND:2
			PRINTW 開始使用了……
		ELSE
			PRINTW 開始玩弄……
		ENDIF
	CASE 91
		PRINTFORM 把嘴对着阴茎
		;奉仕精神3以上か欲情4以上
		IF (ABL:奉仕精神 >= 3  || PALAM:欲情 >= PALAMLV:4) && RAND:2 == 0
			PRINTFORMW 開始猛烈地打喷嚏了……
		ELSEIF RAND:2 == 0 && ABL:技巧 >= 2
			PRINTFORMW 吸了一口气開始说话……
		ELSE
			PRINTFORMW 舔过来了……
		ENDIF
	CASE 92
		PRINTFORM 陰莖
		IF TALENT:貧乳
			PRINTFORM 用小小的胸口拼命地
		ELSEIF TALENT:巨乳
			PRINTFORM 用丰满的胸怀包围著
		ELSE
			PRINTFORM 夹在胸口
		ENDIF
		PRINTW 擦好了……
	CASE 96
		PRINTFORM 屁股上的屁穴
		IF ABL:奉仕精神 >= 3 && ABL:施虐属性 >= 3 && RAND:2 == 0
			PRINTFORMW 用尖锐的舌頭舔到里面……
		ELSEIF ABL:奉仕精神 >= 3
			PRINTFORMW 用舌頭好好地舔着、開始清洁了……
			STAIN:PLAYER:Ａ = SET_STAIN(0, "Ａ")
		ELSEIF ABL:施虐属性 >= 3 || TEQUIP:推倒
			PRINTFORMW 用舌頭责备过来了……
		ELSE
			PRINTFORMW 战战兢兢地舔了过来……
		ENDIF
	CASE 98
		PRINTFORM 把那里
		IF ABL:奉仕精神 >= 3 && ABL:施虐属性 >= 3 && RAND:2 == 0
			PRINTFORMW 用尖锐的舌頭舔着中间的褶皱……
		ELSEIF ABL:奉仕精神 >= 3
			PRINTFORMW 推開、用舌頭開始舔到各个角落……
			STAIN:PLAYER:Ａ = SET_STAIN(0, "Ａ")
		ELSE
			PRINTFORMW 舔过来了……
		ENDIF
	ENDSELECT
ENDSELECT

;-------------------------------------------------
;３Ｐにおける射精口上の汎用部分
;-------------------------------------------------
@SAMEN_SHOOT_MESSAGE_3P, ARGS
PRINTFORM %CALLNAME:(PLAYER:1)%
SELECTCASE SELECTCOM:2
CASE 60 TO 79, 83 TO 88
	IF COND("絶頂", PLAYER:1)
		PRINTFORM 让人全身发麻的中出了
	ELSEIF INSERT("騎乗位")
		PRINTFORM 跨坐着摇着腰
	ELSE
		PRINTFORM 被侵犯…
	ENDIF
CASE 82
	IF COND("絶頂", PLAYER:1)
		PRINTFORM 精液在胸中流出,身体在颤抖
	ELSE
		PRINTFORM 被阴茎侵犯了胸部
	ENDIF
CASE 90, 97
	IF COND("絶頂", PLAYER:1)
		IF ARGS == "手"
			PRINTFORM 同时
		ELSE
			PRINTFORM 被骗了
		ENDIF
	ELSE
		IF ARGS == "手"
			PRINTFORM 热情地对待两只阴茎
		ELSE
			PRINTFORM 使用阴茎
		ENDIF
	ENDIF
CASE 91
	IF COND("絶頂", PLAYER:1)
		IF ARGS == "口"
			PRINTFORM 同时
		ELSE
			PRINTFORM 精液从嘴里流了出来
		ENDIF
	ELSE
		IF ARGS == "口"
			PRINTFORM 阴茎脱口而出
		ELSE
			PRINTFORM 正在吮吸阴茎。
		ENDIF
	ENDIF
CASE 92
	IF COND("絶頂", PLAYER:1)
		PRINTFORM 被精液污染了胸部
	ELSE
		PRINTFORM 用胸脯擦亮阴茎
	ENDIF
CASE 96
	IF COND("絶頂", PLAYER:1)
		PRINTFORM 用屁股享受着快乐
	ELSE
		PRINTFORM 舌頭塞进屁穴里
	ENDIF
CASE 98
	IF COND("絶頂", PLAYER:1)
		PRINTFORM 达到了绝顶
	ELSE
		PRINTFORM 用舌頭服务着
	ENDIF
CASE 140
	IF COND("絶頂", PLAYER:1)
		PRINTFORM 被迫直接喝下精液的
	ELSE
		PRINTFORM 嗓子被非常粗暴得侵犯
	ENDIF
ENDSELECT

;-------------------------------------------------
;３Ｐにおける補佐役（通常は助手）の指令決定（自由行動は今のところ没有）
;-------------------------------------------------
@SET_SELECTCOM_3P
SELECTCASE SELECTCOM
CASE 82, 90 TO 104, 140
	SIF CHECK_COM("Ｗ奉仕")
		SELECTCOM:1 = SELECTCOM
	SIF CHECK_COM("３Ｐ奉仕")
		SELECTCOM:2 = PREVCOM:2
CASE 60 TO 69
	IF CHECK_COM("两根挿入Ｖ中")
		SELECTCOM:2 = 64
	ELSEIF CHECK_COM("二穴挿入")
		SELECTCOM:2 = 74
	ELSEIF CHECK_COM("３Ｐ奉仕")
		SELECTCOM:2 = PREVCOM:2
	ENDIF
CASE 70 TO 79
	IF CHECK_COM("两根挿入Ａ中")
		SELECTCOM:2 = 75
	ELSEIF CHECK_COM("二穴挿入")
		SELECTCOM:2 = 65
	ELSEIF CHECK_COM("３Ｐ奉仕")
		SELECTCOM:2 = PREVCOM:2
	ENDIF
CASE 83 TO 88
	SIF CHECK_COM("３Ｐ奉仕")
		SELECTCOM:2 = PREVCOM:2
ENDSELECT

;-------------------------------------------------
;ARGS:1～5で指定された禁止ワードに応じたビットを設定する
;-------------------------------------------------
@BIT_FORBIDCOM(ARGS:1, ARGS:2, ARGS:3, ARGS:4, ARGS:5)
#FUNCTION
#DIM LCOUNT

LOCAL = 0
FOR LCOUNT, 1, 6
	ARGS = %ARGS:LCOUNT%
	;補佐役がPLAYヤーの動き（封印中）
	IF COND("調教側", PLAYER:1)
		SELECTCASE ARGS
		;TARGETに対する指令管理
		CASE "Ｔ顔"
			SETBIT LOCAL, 0
		CASE "Ｔ下半身"
			SETBIT LOCAL, 1
			SETBIT LOCAL, 2
			SETBIT LOCAL, 3
			SETBIT LOCAL, 4
		CASE "Ｔ阴茎"
			SETBIT LOCAL, 2
		CASE "Ｔ阴部"
			SETBIT LOCAL, 3
		CASE "Ｔ肛門"
			SETBIT LOCAL, 4
		CASE "Ｔ胸"
			SETBIT LOCAL, 5
		CASE "Ｔ指"
			SETBIT LOCAL, 6
		CASE "Ｔ前面"
			SETBIT LOCAL, 7
			SETBIT LOCAL, 5
			SETBIT LOCAL, 2
		CASE "Ｔ後面"
			SETBIT LOCAL, 8
			SETBIT LOCAL, 4
		ENDSELECT
	ELSE
		SELECTCASE ARGS
		;PLAYERに対する指令管理
		CASE "Ｐ顔"
			SETBIT LOCAL, 20
		CASE "Ｐ下半身"
			SETBIT LOCAL, 21
			SETBIT LOCAL, 22
			SETBIT LOCAL, 23
			SETBIT LOCAL, 24
		CASE "Ｐ阴茎"
			SETBIT LOCAL, 22
		CASE "Ｐ阴部"
			SETBIT LOCAL, 23
		CASE "Ｐ肛門"
			SETBIT LOCAL, 24
		CASE "Ｐ胸"
			SETBIT LOCAL, 25
		CASE "Ｐ指"
			SETBIT LOCAL, 26
		CASE "Ｐ前面"
			SETBIT LOCAL, 27
			SETBIT LOCAL, 25
			SETBIT LOCAL, 22
		CASE "Ｐ後面"
			SETBIT LOCAL, 28
			SETBIT LOCAL, 24
		;PLAYERに対する奉仕指令
		CASE "手交"
			SETBIT LOCAL, 30
		CASE "手交以外"
			SETBIT LOCAL, 31
			SETBIT LOCAL, 32
			SETBIT LOCAL, 33
			SETBIT LOCAL, 34
			SETBIT LOCAL, 35
			SETBIT LOCAL, 36
			SETBIT LOCAL, 39
		CASE "口交"
			SETBIT LOCAL, 31
		CASE "口交以外"
			SETBIT LOCAL, 30
			SETBIT LOCAL, 32
			SETBIT LOCAL, 33
			SETBIT LOCAL, 34
			SETBIT LOCAL, 35
			SETBIT LOCAL, 36
			SETBIT LOCAL, 39
		CASE "乳交"
			SETBIT LOCAL, 32
		CASE "乳交以外"
			SETBIT LOCAL, 30
			SETBIT LOCAL, 31
			SETBIT LOCAL, 33
			SETBIT LOCAL, 34
			SETBIT LOCAL, 35
			SETBIT LOCAL, 36
			SETBIT LOCAL, 39
		CASE "足交"
			SETBIT LOCAL, 33
		CASE "足交以外"
			SETBIT LOCAL, 30
			SETBIT LOCAL, 31
			SETBIT LOCAL, 32
			SETBIT LOCAL, 34
			SETBIT LOCAL, 35
			SETBIT LOCAL, 36
			SETBIT LOCAL, 39
		CASE "素股"
			SETBIT LOCAL, 34
		CASE "素股以外"
			SETBIT LOCAL, 30
			SETBIT LOCAL, 31
			SETBIT LOCAL, 32
			SETBIT LOCAL, 33
			SETBIT LOCAL, 35
			SETBIT LOCAL, 36
			SETBIT LOCAL, 39
		CASE "泡泡浴"
			SETBIT LOCAL, 35
		CASE "泡泡浴以外"
			SETBIT LOCAL, 30
			SETBIT LOCAL, 31
			SETBIT LOCAL, 32
			SETBIT LOCAL, 33
			SETBIT LOCAL, 34
			SETBIT LOCAL, 36
			SETBIT LOCAL, 39
		CASE "内褲冲"
			SETBIT LOCAL, 36
		CASE "内褲冲以外"
			SETBIT LOCAL, 31
			SETBIT LOCAL, 32
			SETBIT LOCAL, 33
			SETBIT LOCAL, 34
			SETBIT LOCAL, 35
			SETBIT LOCAL, 39
		CASE "性交"
			SETBIT LOCAL, 39
		ENDSELECT
	ENDIF
	SIF STRLENS(ARGS:(LCOUNT + 1) ) == 0
		RETURNF LOCAL
NEXT
RETURNF LOCAL

;-------------------------------------------------
;PLAYERでもTARGETでも無いARG(主に助手)に、他の角色が選んだ指令ARG:1に応じた禁止指令を設定する
;-------------------------------------------------
@SET_FORBIDCOM, ARG, ARG:1
VARSET LOCAL

SELECTCASE ARG:1
;面部騎乗などPLAYERの口を責める
CASE 1
	LOCAL = BIT_FORBIDCOM("Ｐ顔", "Ｔ阴部")
CASE 4
	LOCAL = BIT_FORBIDCOM("Ｐ顔", "Ｔ阴茎")
CASE 5
	LOCAL = BIT_FORBIDCOM("Ｐ指", "Ｔ胸")
CASE 6
	LOCAL = BIT_FORBIDCOM("Ｐ顔", "Ｔ顔")
CASE 9
	LOCAL = BIT_FORBIDCOM("Ｐ顔", "Ｔ肛門")
;騎乗位などPLAYERの阴茎を阴部や肛門で責める
CASE 60, 62, 63
	LOCAL = BIT_FORBIDCOM("Ｐ前面", "Ｔ下半身", "Ｔ前面")
CASE 61
	LOCAL = BIT_FORBIDCOM("Ｐ前面", "Ｔ下半身", "Ｔ後面")
CASE 64
	LOCAL = BIT_FORBIDCOM("Ｐ下半身", "Ｐ前面", "Ｔ後面")
CASE 65
	LOCAL = BIT_FORBIDCOM("Ｐ下半身", "Ｔ阴部")
CASE 66 TO 69
	IF TEQUIP:推倒
		LOCAL = BIT_FORBIDCOM("Ｐ下半身", "Ｔ阴部")
	ELSE
		LOCAL = BIT_FORBIDCOM("Ｐ下半身", "Ｔ下半身")
	ENDIF
CASE 70, 72, 73
	LOCAL = BIT_FORBIDCOM("Ｐ前面", "Ｔ下半身", "Ｔ前面")
CASE 71
	LOCAL = BIT_FORBIDCOM("Ｐ前面", "Ｔ下半身", "Ｔ後面")
CASE 74
	LOCAL = BIT_FORBIDCOM("Ｐ下半身", "Ｐ前面", "Ｔ後面")
CASE 75
	LOCAL = BIT_FORBIDCOM("Ｐ下半身", "Ｔ阴部", "Ｔ後面")
CASE 76 TO 79
	IF TEQUIP:推倒
		LOCAL = BIT_FORBIDCOM("Ｐ下半身", "Ｔ阴部", "Ｔ後面")
	ELSE
		LOCAL = BIT_FORBIDCOM("Ｐ下半身", "Ｔ下半身")
	ENDIF
;磨鏡
CASE 80
	LOCAL = BIT_FORBIDCOM("Ｐ下半身", "Ｔ下半身")
;尿道挿入
CASE 83, 85, 86
	LOCAL = BIT_FORBIDCOM("Ｐ前面", "Ｔ下半身", "Ｔ前面")
CASE 84
	LOCAL = BIT_FORBIDCOM("Ｐ前面", "Ｔ下半身", "Ｔ後面")
CASE 87
	LOCAL = BIT_FORBIDCOM("Ｐ下半身", "Ｐ前面", "Ｔ後面")
CASE 88
	LOCAL = BIT_FORBIDCOM("Ｐ下半身", "Ｔ阴部", "Ｔ後面")
;手交などPLAYERの阴茎を手とかで責める
CASE 90
	LOCAL = BIT_FORBIDCOM("手交以外", "Ｔ指")
CASE 91
	LOCAL = BIT_FORBIDCOM("口交以外", "Ｔ顔")
CASE 92
	LOCAL = BIT_FORBIDCOM("乳交以外", "Ｔ胸")
CASE 93, 101
	LOCAL = BIT_FORBIDCOM("素股以外", "Ｔ下半身")
CASE 94
	LOCAL = BIT_FORBIDCOM("泡泡浴以外", "Ｔ前面")
CASE 95
	IF PENIS(MASTER)
		LOCAL = BIT_FORBIDCOM("足交以外", "Ｔ下半身")
	ELSE
		LOCAL = BIT_FORBIDCOM("足交以外", "Ｔ下半身")
	ENDIF
CASE 96
	LOCAL = BIT_FORBIDCOM("Ｐ肛門", "Ｔ顔")
CASE 97
	LOCAL = BIT_FORBIDCOM("内褲冲以外", "Ｔ指")
CASE 98
	LOCAL = BIT_FORBIDCOM("Ｐ阴部", "Ｔ顔")
CASE 104
	LOCAL = BIT_FORBIDCOM("Ｐ顔", "Ｔ胸", "Ｔ前面")
;逆肛交
CASE 125 TO 129
	LOCAL = BIT_FORBIDCOM("Ｐ下半身", "Ｐ後面", "Ｔ阴茎", "Ｔ前面")
;逆強姦などPLAYERの阴部を責める
CASE 120 TO 124
	LOCAL = BIT_FORBIDCOM("Ｐ下半身", "Ｐ前面", "Ｔ阴茎", "Ｔ前面")
CASE 140
	LOCAL = BIT_FORBIDCOM("Ｐ阴茎", "Ｐ前面", "Ｔ顔")
CASE 141
	LOCAL = BIT_FORBIDCOM("Ｐ指", "Ｔ阴部")
CASE 142
	LOCAL = BIT_FORBIDCOM("Ｐ指", "Ｔ肛門")
CASE 143
	LOCAL = BIT_FORBIDCOM("Ｐ指", "Ｐ前面", "Ｔ下半身")
ENDSELECT
TCVAR:ARG:指令制限 = LOCAL

;-------------------------------------------------
;ARGS:1～5が実際に禁止されているかを見る
;-------------------------------------------------
@FORBIDCOM(ARG, ARGS:1, ARGS:2, ARGS:3, ARGS:4, ARGS:5)
#FUNCTION
SIF TCVAR:ARG:指令制限 & BIT_FORBIDCOM(ARGS:1, ARGS:2, ARGS:3, ARGS:4, ARGS:5)
	RETURNF 1
RETURNF 0

;-------------------------------------------------
;３ＰやＷ推倒などでの補佐役（通常は助手）の行動を決定する
;-------------------------------------------------
@SET_SELECTCOM_MULTI, ARGS
SELECTCASE ARGS
CASE "Ｗ推倒"
	CALL SET_SELECTCOM_W
CASE "３Ｐ"
	CALL SET_SELECTCOM_3P
ENDSELECT

;-------------------------------------------------
;Ｗ推倒の時には助手の指令口上とSOURCE等を管理する
;補佐役の取得経験は邪魔だから隠すことにした
;-------------------------------------------------
@EQUIP_COM_3P
#DIM MEMO_LINECOUNT
#DIM ACTOR

ACTOR = TARGET:1
VARSET LOCAL

;表示があったかを判定
MEMO_LINECOUNT = LINECOUNT

;最初のターンは何もしてこない
IF SELECTCOM:1 == -1
	IF PREVCOM:1 >= 0
		CALL BLANKLINE
		PRINTFORMW %CALLNAME:ACTOR%看着%CALLNAME:PLAYER%他们玩的很開心…
	ENDIF
	RETURN 0
;二人して同じことをしているor二穴挿入
ELSEIF SELECTCOM:1 == SELECTCOM || (SELECTCOM == 120 && SELECTCOM:1 == 126) || (SELECTCOM == 126 && SELECTCOM:1 == 120)
	CALL GET_PALAM_MULTI, 1
;前回の助手、今回のTARGETとも異なる行動or眺めている
ELSEIF SELECTCOM:1 != SELECTCOM && SELECTCOM:1 != PREVCOM:1
	CALL BLANKLINE
	PRINTFORM %CALLNAME:ACTOR%は
	SELECTCASE SELECTCOM:1
	CASE 1
		PRINTFORMW 跨过%CALLNAME:PLAYER%的脸把那里压了下来……
		SIF INSERT("騎乗位") && COND("性別嫌悪", ACTOR) == 0 && RAND:3 == 0
			PRINTFORMW 于是、他開始和眼前摇着腰的%CALLNAME:TARGET%接吻……
	CASE 9
		PRINTFORMW 跨过%CALLNAME:PLAYER%的脸让其舔了肛門……
		SIF INSERT("騎乗位") && COND("性別嫌悪", ACTOR) == 0 && RAND:3 == 0
			PRINTFORMW 于是、他開始和眼前摇着腰的%CALLNAME:TARGET%接吻……
	CASE 4
		PRINTFORMW 用阴茎開始侵犯%CALLNAME:PLAYER%的嘴巴…
	CASE 6
		PRINTFORMW 温柔地亲吻了%CALLNAME:PLAYER%…
	CASE 60 TO 79, 83
		PRINTFORMW 瞄准%CALLNAME:PLAYER%的阴茎坐下了…
		PRINTFORM 然后、
		SELECTCASE SELECTCOM:1
		CASE 60 TO 69
			PRINTFORM 阴道
		CASE 70 TO 79
			PRINTFORM 肛門
		CASE 83 TO 88
			PRINTFORM 尿道
		ENDSELECT
		IF RAND:3 == 0
			PRINTFORM 巧妙地蠢动着
		ELSEIF RAND:2 == 0
			PRINTFORM 紧紧地勒紧
		ELSE
			SELECTCASE SELECTCOM:1
			CASE 60 TO 69
				PRINTFORM 爱液满满的溢出
			CASE 70 TO 79
				PRINTFORM 从零開始一边溢出粘液
			CASE 83 TO 88
				PRINTFORM 从缝隙中溢出来
			ENDSELECT
		ENDIF
		IF ABL:ACTOR:技巧 >= 3 && RAND:3 == 0
			PRINTFORMW 扭起腰来了……
		ELSEIF RAND:2 == 0
			PRINTFORMW 摇起腰来……
		ELSE
			PRINTFORMW 用大幅度的開始动腰……
		ENDIF
	CASE 90
		IF TALENT:ACTOR:恋慕 && RAND:4 == 0
			PRINTFORMW 对爱着%CALLNAME:PLAYER%的阴茎、用手来侍奉……
		ELSEIF ABL:ACTOR:技巧 >= 3 && ABL:ACTOR:奉仕精神 >= 3 && RAND:3 == 0
			PRINTFORMW 把%CALLNAME:PLAYER%的龟頭用手掌扭转过来……
		ELSEIF ABL:ACTOR:奉仕精神 >= 3 && RAND:2 == 0
			PRINTFORMW 慢慢地服侍了%CALLNAME:PLAYER%的阴茎…
		ELSEIF ABL:ACTOR:技巧 >= 3 && RAND:2 == 0
			PRINTFORMW %CALLNAME:PLAYER%的阴茎被绝妙的力度刺激…
		ELSE
			PRINTFORMW 開始用手来侍奉%CALLNAME:PLAYER%的阴茎…
		ENDIF
	CASE 91
		IF TALENT:ACTOR:恋慕 && RAND:4 == 0
			PRINTFORMW 爱着%CALLNAME:PLAYER%的阴茎…用嘴吞下
		ELSEIF ABL:ACTOR:技巧 >= 4 && ABL:ACTOR:奉仕精神 >= 3 && RAND:3 == 0
			PRINTFORMW 将%CALLNAME:PLAYER%的阴茎叼到喉咙深处、用很大的幅度吞咽着……
		ELSEIF ABL:ACTOR:奉仕精神 >= 3 && RAND:2 == 0
			PRINTFORMW 把%CALLNAME:PLAYER%的阴茎美味地用嘴品味了…
		ELSEIF ABL:ACTOR:技巧 >= 3 && RAND:2 == 0
			PRINTFORMW %CALLNAME:PLAYER%的阴茎缠绕着舌頭、激烈地吮吸着……
		ELSE
			PRINTFORMW 開始用舌頭舔%CALLNAME:PLAYER%的阴茎…
		ENDIF
	CASE 92
		IF TALENT:ACTOR:巨乳
			PRINTFORM 巨大的
		ELSEIF TALENT:ACTOR:貧乳
			PRINTFORM 小小的
		ENDIF
		PRINTFORM 胸口的阴茎
		IF TALENT:ACTOR:巨乳
			PRINTFORMW 一边处理、一边舔着从胸部山谷中露出来的龟頭……
		ELSE
			PRINTFORMW 处理过的……
		ENDIF
	CASE 93
		PRINTFORMW 在%CALLNAME:PLAYER%的阴茎上磨蹭着阴部……
	CASE 94
		PRINTFORMW 在%CALLNAME:PLAYER%身上擦着沾满泡沫的肢体……
	CASE 95
		PRINTFORM %CALLNAME:PLAYER%の
		IF TALENT:MASTER:扶她 + TALENT:MASTER:男性
			PRINTFORMW 用脚玩弄了阴茎……
		ELSE
			PRINTFORMW 把股间用脚玩弄着……
		ENDIF
	CASE 96
		PRINTFORMW 舔了%CALLNAME:PLAYER%的肛門...
	CASE 97
		PRINTFORMW 脱下内裤后、%CALLNAME:PLAYER%的阴茎便開始使用了……
	CASE 98
		PRINTFORMW 舔了%CALLNAME:PLAYER%的阴部…
	CASE 101
		PRINTFORMW %CALLNAME:PLAYER%把自己的阴茎在尻部上摩擦起来…
	CASE 104
		PRINTFORMW 把%CALLNAME:PLAYER%的脸用胸部压着……
	CASE 120
		PRINTFORM %CALLNAME:PLAYER%の
		IF TALENT:MASTER:処女 == 1
			PRINTFORM 不识男人滋味的
		ELSE
			PRINTFORM 湿透了
		ENDIF
		IF TALENT:娇小
			PRINTFORM 年幼的
		ELSE
			PRINTFORM 阴道を
		ENDIF
		IF PENIS(ACTOR)
			PRINTFORM 阴茎
		ELSE
			PRINTFORM 穿戴式假陰茎
		ENDIF
		PRINTFORMW 中犯下的……
	CASE 126
		PRINTFORM %CALLNAME:PLAYER%的屁眼
		IF PENIS(ACTOR)
			PRINTFORM 阴茎
		ELSE
			PRINTFORM 穿戴式假陰茎
		ENDIF
		PRINTFORMW 中犯下的……
	;CASE 997
	;	PRINTFORMW 絶頂の余韻を味わい的同时、%CALLNAME:PLAYER%たちのPLAYを眺めている…
	CASE 0
		IF SELECTCOM:1 == PREVCOM:1
			PRINTFORMW 把身体贴在%CALLNAME:PLAYER%身上…
		ELSE
			PRINTFORMW 把身体靠近%CALLNAME:PLAYER%、把手指吮吸着……
		ENDIF
	ENDSELECT
	;地の文を記録する処理の追加
	SIF LINECOUNT > MEMO_LINECOUNT
		STR:調教指令の地の文 = %GETPRINTEDSENTENCE(MEMO_LINECOUNT+1)%
	SIF SELECTCOM:1 >= 0
		CALL GET_PALAM_MULTI, 1
;口上は発言させない
ELSE
	CALL BLANKLINE
	CALL GET_PALAM_MULTI
ENDIF

;何かテ接吻トを表示したならもう一個改行
SIF LINECOUNT > MEMO_LINECOUNT
	CALL BLANKLINE

;-------------------------------------------------
;3Pの行動による補佐役のPALAM、EXP変化
;Ｗ推倒の場合にはSELECTCOM:1が助手が選択した指令なので、それに応じて計算する
;-------------------------------------------------
@GET_PALAM_MULTI, ARG
#DIM MEMO_PLAYER
#DIM ACTOR

;何もやっていない場合
SIF SELECTCOM:1 == -1
	RETURN 0

;助手のBEGIN ABLUPをＯＮにする
SIF TARGET:1 == ASSI
	FLAG:助手を調教した = 1

SWAP SELECTCOM, SELECTCOM:1
SWAP PREVCOM, PREVCOM:1

IF COND("調教側", PLAYER:1)
	ACTOR = PLAYER:1

	MEMO_PLAYER = PLAYER
	PLAYER = PLAYER:1

	CALL SOURCE_CHECK_SIMPLE, SELECTCOM, ARG, 100, 1

	PLAYER = MEMO_PLAYER
ELSE
	ACTOR = TARGET:1
	SWAP TARGET, TARGET:1

	CALL SOURCE_CHECK_SIMPLE, SELECTCOM, ARG, 100, 1

	SWAP TARGET, TARGET:1
ENDIF

SWAP SELECTCOM, SELECTCOM:1
SWAP PREVCOM, PREVCOM:1

;PRINTFORML ACTOR = [{ACTOR}]%NAME:ACTOR%, BASE:{ACTOR}:体力 = {BASE:ACTOR:体力}, BASE:{ACTOR}:精力 = {BASE:ACTOR:精力}

;ダウン判定
SIF BASE:ACTOR:体力 < 500 || BASE:ACTOR:精力 <= 0
	CALL ASSI_DOWN, ACTOR

;-------------------------------------------------
;テ接吻トを不顯示、簡易指令選択
;ARGはSELECTCOMを代入し、ARG:1の値でPRINTの出力を決定する。
;ARG:2は強度でARG:3は行う回数
;-------------------------------------------------
@SOURCE_CHECK_SIMPLE, ARG, ARG:1, ARG:2, ARG:3
#DIM MEMO_SELECTCOM
#DIM MEMO_TFLAG

MEMO_SELECTCOM = SELECTCOM
SELECTCOM = ARG

MEMO_TFLAG = TFLAG:システム文スキップ
;システム文スキップフラグON
TFLAG:システム文スキップ = 1

TRYCALLFORM SHOW_COM_ORDER_COM, SELECTCOM, 1
TRYCALLFORM FLAG_COM{SELECTCOM}, ARG:2*ARG:3
TRYCALLFORM SOURCE_COM{SELECTCOM}, ARG:2*ARG:3
CALL SETFLAG, "快楽経験判定", SELECTCOM
CALL SAMEN_CHECK, ARG:2*ARG:3
CALL CALC_SOURCE, "調教指令"

;挿入解除（NEXTCOM等を考慮）
CALL SETFLAG, "体勢戻し"

;振動棒など付けっぱ无道具の格子(主にSOURCE計算。快楽のSOURCEが増えないものは、ここにはなくても良い)
CALL EQUIP_1

;ソースの計算
CALL CALC_SOURCE
;絶頂処理_見込み
CALL ORGASM_ADD_A

;口上
SIF ARG:1
	CALL KOJO_MESSAGE_COM
;絶頂処理_本番
CALL ORGASM_ADD_A
CALL ORGASM_ADD_B

;各種経験の変動
CALL GET_EXP_COM, ARG:3

;指令による情緒の獲得
CALL MOOD_COM, SELECTCOM

;挿入フラグ獲得
CALL CHECK_INSERT

;ソースの計算
CALL CALC_SOURCE

;被虐快楽経験、奉仕快楽経験等の格子
CALL EXP_GOT_CHECK

;特別経験格子
SIF ARG:1
	CALL RECORD_SP_EXP

;体力の減少
CALL CALC, "体力減少"

;特殊な素質などの判定
CALL GET_EXABL2, TARGET

SELECTCOM = MEMO_SELECTCOM
TFLAG:システム文スキップ = MEMO_TFLAG

;-------------------------------------------------
;３Ｐにおける絶頂口上の処理
;-------------------------------------------------
@KOJO_MESSAGE_SAMEN_AND_EXTACY_3P
;Ｗ推倒などTARGETが二人の時
IF TEQUIP:Ｗ推倒 || SELECTCOM:1 >= 0
	SIF COND("絶頂", PLAYER)
		CALL BLANKLINE
	;TARGET:1を一時的にTARGETに
	SWAP TARGET, TARGET:1
	SWAP SELECTCOM, SELECTCOM:1
	SWAP PREVCOM, PREVCOM:1
	;射精部位を、TARGET:1の行動に対応したものに
	SWAP TCVAR:PLAYER:PLAY区分メイン, TCVAR:PLAYER:PLAY区分サブ

	CALL KOJO_MESSAGE_SAMEN_AND_EXTACY

	SWAP TARGET, TARGET:1
	SWAP SELECTCOM, SELECTCOM:1
	SWAP PREVCOM, PREVCOM:1
	SWAP TCVAR:PLAYER:PLAY区分メイン, TCVAR:PLAYER:PLAY区分サブ
ENDIF
;PLAYERが二人の、いわゆる３Ｐの時
IF COND("３Ｐ") && COND("絶頂", PLAYER:1) && COND("絶頂", PLAYER) == 0
	CALL SETFLAG, "調教者交代"

	CALL KOJO_MESSAGE_SAMEN_AND_EXTACY

	CALL SETFLAG, "調教者交代"
ENDIF

;-------------------------------------------------
;挣扎など、指令途中でRETURN 0する指令での発言に適している。
;-------------------------------------------------
@KOJO_MESSAGE_COM_MULTI
SIF TEQUIP:Ｗ推倒 == 0
	RETURN 0

SWAP TARGET, TARGET:1
SWAP PREVCOM, PREVCOM:1

PRINTFORML
CALL KOJO_MESSAGE_COM

SWAP TARGET, TARGET:1
SWAP PREVCOM, PREVCOM:1


code:
;主に、特殊な技能などの設定関数を置く。
;-------------------------------------------------
@GET_EXABL, ARG
#DIM LCOUNT
SIF ARG <= 0
	RETURN 0

;Ｐ感覚とＣ感覚は等しい
ABL:ARG:Ｐ感覚 = MAX(ABL:ARG:Ｃ感覚, ABL:ARG:Ｐ感覚)
ABL:ARG:Ｃ感覚 = MAX(ABL:ARG:Ｃ感覚, ABL:ARG:Ｐ感覚)

CALL SETFLAG, "天性の素質の設定", ARG

;具体的なＬＶの算出
ABL:ARG:舌靈活 = MAX(ABL:ARG:舌靈活, TALENT:ARG:天性の舌靈活 + MAX(GET_EXP_LV((EXP:ARG:口交経験 + EXP:ARG:舐陰経験 + EXP:ARG:接吻経験)/3) - 2, 0) )
ABL:ARG:指靈活 = MAX(ABL:ARG:指靈活, TALENT:ARG:天性の指靈活 + MAX(GET_EXP_LV(EXP:ARG:手淫経験) - 2, 0) )
ABL:ARG:腰靈活 = MAX(ABL:ARG:腰靈活, TALENT:ARG:天性の腰靈活 + MAX(GET_EXP_LV(EXP:ARG:腰靈活経験) - 2, 0) )
ABL:ARG:魔乳 = MAX(ABL:ARG:魔乳, TALENT:ARG:天性の魔乳 + MAX(GET_EXP_LV(EXP:ARG:乳交経験) - 2, 0) )

CALL GET_EXABL2, ARG

@GET_EXABL2, ARG
SIF ARG <= 0
	RETURN 0

CALL SETFLAG, "名器の設定", ARG

;Ｖ名器LV（30未満だと緩く、70以上だと名器）
CALL GET_EXABL_V, ARG
ABL:ARG:Ｖ弛緩 = MAX(ABL:ARG:Ｖ拡張 - ABL:ARG:Ｖ技術, 0)
ABL:ARG:Ｖ名器度 = ABL_V(ARG)

;Ａ名器LV（30未満だと緩く、70以上だと名器）
CALL GET_EXABL_A, ARG
ABL:ARG:Ａ弛緩 = MAX(ABL:ARG:Ａ拡張 - ABL:ARG:Ａ技術, 0)
ABL:ARG:Ａ名器度 = ABL_A(ARG)

;喉LV(深喉口交や強制口交に関係)
CALL GET_EXABL_T, ARG
ABL:ARG:喉名器度 = ABL_T(ARG)

;尿道の拡張状況（尿道には名器度は無い…のは過去の話である）
CALL GET_EXABL_U, ARG
ABL:ARG:尿道名器度 = ABL_U(ARG)

;-------------------------------------------------
;膣のLV取得
;基本的に。入れるものの尺寸基準値(例：振動棒や阴茎なら1、粗大的振動棒なら2)とペアで使う
;SEXの時の射精ゲージ増加などを見るときは、　基本値(Ｖ活用LV)*補正(Ｖ拡張LVの過不足)　で算出する。
;Ｖ拡張調教の時には、入れるものの尺寸基準値とＶ拡張LVを比較して疼痛などを決める。
;基準値+1の値の時がちょうど良い。
;その際、Ｖ活用LVが尺寸基準値以上なら、+1できる。
;-------------------------------------------------
@GET_EXABL_V, ARG
#DIM MEMO_EXP, 100

SIF ARG <= 0
	RETURN 0

IF TALENT:ARG:男性 || TALENT:ARG:処女 == 1
	ABL:ARG:Ｖ技術 = 0
	ABL:ARG:Ｖ拡張 = 0
	RETURN 0
ENDIF

VARSET MEMO_EXP

;Ｖ活用LV
;Ｖ経験、Ｖ性交経験、Ｖ破壊経験、Ｖ感覚、Ｖ性向、淫壷で判定
;Ｖ拡張LVの方も同時に用いることが多い。
ABL:ARG:Ｖ技術 = 1

MEMO_EXP:GETNUM(EXP, "Ｖ経験") = EXP:ARG:Ｖ経験 - EXP_GAIN("Ｖ経験", ARG)
MEMO_EXP:GETNUM(EXP, "Ｖ性交経験") = EXP:ARG:Ｖ性交経験 - EXP_GAIN("Ｖ性交経験", ARG)
MEMO_EXP:GETNUM(EXP, "Ｖ拡張経験") = EXP:ARG:Ｖ拡張経験 - EXP_GAIN("Ｖ拡張経験", ARG)

SELECTCASE MEMO_EXP:GETNUM(EXP, "Ｖ経験")
CASE IS >= 1000
	ABL:ARG:Ｖ技術 += 3
CASE IS >= 500
	ABL:ARG:Ｖ技術 += 2
CASE IS >= 150
	ABL:ARG:Ｖ技術 += 1
ENDSELECT

SELECTCASE MEMO_EXP:GETNUM(EXP, "Ｖ性交経験")
CASE IS >= 600
	ABL:ARG:Ｖ技術 += 4
CASE IS >= 300
	ABL:ARG:Ｖ技術 += 3
CASE IS >= 150
	ABL:ARG:Ｖ技術 += 2
CASE IS  >= 50
	ABL:ARG:Ｖ技術 += 1
ENDSELECT

SELECTCASE MEMO_EXP:GETNUM(EXP, "Ｖ拡張経験")
CASE IS >= 300
	ABL:ARG:Ｖ技術 -= 3
CASE IS >= 100
	ABL:ARG:Ｖ技術 -= 2
CASE IS >= 50
	ABL:ARG:Ｖ技術 -= 1
ENDSELECT

SIF TALENT:ARG:淫壷
	ABL:ARG:Ｖ技術 += 1
SIF TALENT:ARG:大力士
	ABL:ARG:Ｖ技術 += 1
SIF TALENT:ARG:Ｖ性向 && ABL:ARG:Ｖ技術 < 3
	ABL:ARG:Ｖ技術 += 1

;損傷したら、即座に疼痛で操れなくなる(拡張適性があるなら怪我が治れば元街道)
SIF TALENT:ARG:Ｖ損傷 || (EXP:ARG:Ｖ損傷経験 && TALENT:ARG:拡張適性 == 0)
	ABL:ARG:Ｖ技術 = MULTIPLY(ABL:ARG:Ｖ技術, 100 - MIN(EXP:ARG:Ｖ損傷経験 + TALENT:ARG:Ｖ損傷, 3)*30)

;阴部に筋弛緩剤
IF GETBIT(TEQUIP:ARG:筋弛緩剤, 2)
	IF TALENT:ARG:薬毒耐性
		ABL:ARG:Ｖ技術 /= 2
	ELSE
		ABL:ARG:Ｖ技術 = 0
	ENDIF
ENDIF

;-------------------------------------------------
;Ｖ名器度
;Ｖ経験、Ｖ性交経験、Ｖ拡張経験の平衡で名器度決定。淫壷のBOUNSもここで処理
;拡張適性があると損傷が発生しているとき以外のペナルティは無視
;ARGSに"絶対値"を入れると疲れや経験を無視した最高値が出る
;-------------------------------------------------
@ABL_V(ARG, ARGS)
#FUNCTION
#DIM MEMO_EXP, 100
#DIM MULTI_VALUE

SIF ARG <= 0
	RETURNF 0
SIF TALENT:ARG:男性
	RETURNF 0

VARSET MEMO_EXP

;快感の基準はＶ活用LV
LOCAL = 25 + ABL:ARG:Ｖ技術*5 + ABL:ARG:Ｖ拡張
;Ｖ拡張ＬＶがＶ技術ＬＶを上回っているとペナルティ発生
SIF ABL:ARG:Ｖ拡張 > ABL:ARG:Ｖ技術
	LOCAL -= (ABL:ARG:Ｖ拡張 - ABL:ARG:Ｖ技術)*GET_EXP_LV(EXP:ARG:Ｖ経験)*2
;基本Ｖ名器度の最低は10
SIF LOCAL < 10
	LOCAL = 10

SELECTCASE ARGS
CASE "絶対値"
	MEMO_EXP:GETNUM(EXP, "Ｖ経験") = EXP:ARG:Ｖ経験
	MEMO_EXP:GETNUM(EXP, "Ｖ性交経験") = EXP:ARG:Ｖ性交経験
	MEMO_EXP:GETNUM(EXP, "Ｖ拡張経験") = EXP:ARG:Ｖ拡張経験
CASEELSE
	MEMO_EXP:GETNUM(EXP, "Ｖ経験") = EXP:ARG:Ｖ経験 - EXP_GAIN("Ｖ経験", ARG)
	MEMO_EXP:GETNUM(EXP, "Ｖ性交経験") = EXP:ARG:Ｖ性交経験 - EXP_GAIN("Ｖ性交経験", ARG)
	MEMO_EXP:GETNUM(EXP, "Ｖ拡張経験") = EXP:ARG:Ｖ拡張経験 - EXP_GAIN("Ｖ拡張経験", ARG)
ENDSELECT

;Ｖ拡張経験*10がＶ経験を越えていると、名器度にペナルティ
MULTI_VALUE = LIMIT(100 * (100 + MEMO_EXP:GETNUM(EXP, "Ｖ経験")*2) / (100 + MEMO_EXP:GETNUM(EXP, "Ｖ経験") + MEMO_EXP:GETNUM(EXP, "Ｖ拡張経験")*10), 20, 100)
;Ｖ性交経験がＶ経験の25％を超えているとBOUNS発生
MULTI_VALUE = LIMIT(MULTI_VALUE * (100 + MEMO_EXP:GETNUM(EXP, "Ｖ経験") + MEMO_EXP:GETNUM(EXP, "Ｖ性交経験")*4) / (100 + MEMO_EXP:GETNUM(EXP, "Ｖ経験")*2), 20, 200)

SIF TALENT:ARG:大力士
	MULTI_VALUE += 9 + TALENT:ARG:大力士
SIF TALENT:ARG:淫壷
	MULTI_VALUE += 20

;素質の[Ｖ名器]はペナルティの影響を受けない
IF MULTI_VALUE > 100
	LOCAL = MULTIPLY(LOCAL + TALENT:ARG:Ｖ名器*10, MULTI_VALUE)
ELSE
	LOCAL = MULTIPLY(LOCAL, MULTI_VALUE) + TALENT:ARG:Ｖ名器*10
ENDIF

SIF TALENT:ARG:Ｖ損傷
	LOCAL /= TALENT:ARG:Ｖ損傷 + 1

RETURNF LOCAL

;肛門のLV取得
@GET_EXABL_A, ARG
#DIM MEMO_EXP, 100

SIF ARG <= 0
	RETURN 0

VARSET MEMO_EXP

MEMO_EXP:GETNUM(EXP, "Ａ経験") = EXP:ARG:Ａ経験 - EXP_GAIN("Ａ経験", ARG)
MEMO_EXP:GETNUM(EXP, "Ａ性交経験") = EXP:ARG:Ａ性交経験 - EXP_GAIN("Ａ性交経験", ARG)
MEMO_EXP:GETNUM(EXP, "Ａ拡張経験") = EXP:ARG:Ａ拡張経験 - EXP_GAIN("Ａ拡張経験", ARG)

ABL:ARG:Ａ技術 = 1

SELECTCASE MEMO_EXP:GETNUM(EXP, "Ａ経験")
CASE IS >= 1000
	ABL:ARG:Ａ技術 += 3
CASE IS >= 500
	ABL:ARG:Ａ技術 += 2
CASE IS >= 150
	ABL:ARG:Ａ技術 += 1
ENDSELECT

SELECTCASE MEMO_EXP:GETNUM(EXP, "Ａ性交経験")
CASE IS >= 600
	ABL:ARG:Ａ技術 += 4
CASE IS >= 300
	ABL:ARG:Ａ技術 += 3
CASE IS >= 150
	ABL:ARG:Ａ技術 += 2
CASE IS  >= 50
	ABL:ARG:Ａ技術 += 1
ENDSELECT

SELECTCASE MEMO_EXP:GETNUM(EXP, "Ａ拡張経験")
CASE IS >= 300
	ABL:ARG:Ａ技術 -= 4
CASE IS >= 100
	ABL:ARG:Ａ技術 -= 3
CASE IS >= 50
	ABL:ARG:Ａ技術 -= 2
ENDSELECT

SIF TALENT:ARG:尻穴狂い
	ABL:ARG:Ａ技術 += 1
SIF TALENT:ARG:大力士
	ABL:ARG:Ａ技術 += 1
SIF TALENT:ARG:Ａ性向 && ABL:ARG:Ａ技術 < 3
	ABL:ARG:Ａ技術 += 1

SIF TALENT:ARG:縦深菊穴
	ABL:ARG:Ａ技術 -= 1

;損傷したら、即座に疼痛で操れなくなる(拡張適性があるなら怪我が治れば元街道)
SIF TALENT:ARG:Ａ損傷 || (EXP:ARG:Ａ損傷経験 && TALENT:ARG:拡張適性 == 0)
	ABL:ARG:Ａ技術 = MULTIPLY(ABL:ARG:Ａ技術, 100 - MIN(EXP:ARG:Ａ損傷経験 + TALENT:ARG:Ａ損傷, 3)*30)

;肛門に筋弛緩剤
IF GETBIT(TEQUIP:ARG:筋弛緩剤, 0)
	IF TALENT:ARG:薬毒耐性
		ABL:ARG:Ａ技術 /= 2
	ELSE
		ABL:ARG:Ａ技術 = 0
	ENDIF
ENDIF

;-------------------------------------------------
;Ａ名器度
;Ａ経験、Ａ性交経験、Ａ拡張経験の平衡で名器度決定。尻穴狂いのBOUNSもここ
;拡張適性があると損傷が発生しているとき以外のペナルティは無視
;ARGSに"絶対値"を入れると疲れや経験を無視した最高値が出る
;-------------------------------------------------
@ABL_A(ARG, ARGS)
#FUNCTION
#DIM MEMO_EXP, 100
#DIM MULTI_VALUE

SIF ARG <= 0
	RETURNF 0

VARSET MEMO_EXP

;快感の基準はＡ活用LV
LOCAL = 30 + ABL:ARG:Ａ技術*5 + ABL:ARG:Ａ拡張
;Ａ拡張ＬＡがＡ技術ＬＡを上回っているとペナルティ発生
SIF ABL:ARG:Ａ拡張 > ABL:ARG:Ａ技術
	LOCAL -= (ABL:ARG:Ａ拡張 - ABL:ARG:Ａ技術)*GET_EXP_LV(EXP:ARG:Ａ経験)*2
;基本Ａ名器度の最低は10
SIF LOCAL < 10
	LOCAL = 10

SELECTCASE ARGS
CASE "絶対値"
	MEMO_EXP:GETNUM(EXP, "Ａ経験") = EXP:ARG:Ａ経験
	MEMO_EXP:GETNUM(EXP, "Ａ性交経験") = EXP:ARG:Ａ性交経験
	MEMO_EXP:GETNUM(EXP, "Ａ拡張経験") = EXP:ARG:Ａ拡張経験
CASEELSE
	MEMO_EXP:GETNUM(EXP, "Ａ経験") = EXP:ARG:Ａ経験 - EXP_GAIN("Ａ経験", ARG)
	MEMO_EXP:GETNUM(EXP, "Ａ性交経験") = EXP:ARG:Ａ性交経験 - EXP_GAIN("Ａ性交経験", ARG)
	MEMO_EXP:GETNUM(EXP, "Ａ拡張経験") = EXP:ARG:Ａ拡張経験 - EXP_GAIN("Ａ拡張経験", ARG)
ENDSELECT

;Ａ拡張経験*10がＡ経験を越えていると、名器度にペナルティ
MULTI_VALUE = LIMIT(100 * (100 + MEMO_EXP:GETNUM(EXP, "Ａ経験")*2) / (100 + MEMO_EXP:GETNUM(EXP, "Ａ経験") + MEMO_EXP:GETNUM(EXP, "Ａ拡張経験")*10), 20, 100)
;Ａ性交経験がＡ経験の20％を超えているとBOUNS発生
MULTI_VALUE = LIMIT(MULTI_VALUE * (100 + MEMO_EXP:GETNUM(EXP, "Ａ経験") + MEMO_EXP:GETNUM(EXP, "Ａ性交経験")*5) / (100 + MEMO_EXP:GETNUM(EXP, "Ａ経験")*2), 20, 200)

SIF TALENT:ARG:大力士
	MULTI_VALUE += 9 + TALENT:ARG:大力士
SIF TALENT:ARG:尻穴狂い
	MULTI_VALUE += 20

;素質の[Ａ名器]はペナルティの影響を受けない
IF MULTI_VALUE > 100
	LOCAL = MULTIPLY(LOCAL + TALENT:ARG:Ａ名器*10, MULTI_VALUE)
ELSE
	LOCAL = MULTIPLY(LOCAL, MULTI_VALUE) + TALENT:ARG:Ａ名器*10
ENDIF

SIF TALENT:ARG:Ａ損傷
	LOCAL /= TALENT:ARG:Ａ損傷 + 1

RETURNF LOCAL

@GET_EXABL_T, ARG
;-------------------------------------------------
;喉を使う時の判定ベース
;咥える物のサイズと比較して判定
;阴茎の太さがきつい時は奥まで飲み込めないし、余裕も無い
;基準値+1の値の時がちょうど良い。
;-------------------------------------------------
SIF ARG <= 0
	RETURN 0
;喉の拡張LV取得
VARSET LOCAL
LOCAL = EXP:ARG:口交経験 - EXP_GAIN("口交経験", ARG)
LOCAL += 5 * (EXP:ARG:喉性交経験 - EXP_GAIN("喉性交経験", ARG) )

;(口交経験など, 喉拡張LV)の対応は、(150, 1)、(300, 2)、(600, 3)、(1000, 4)
ABL:ARG:喉拡張 = LIMIT(GET_EXP_LV(LOCAL) - 2, 0, 4)

SIF TALENT:ARG:娇小 && ABL:ARG:喉拡張 >= 1
	ABL:ARG:喉拡張 -= 1
SIF COND("種族：人形", ARG) || COND("種族：拉米亚", ARG)
	ABL:ARG:喉拡張 = MAX(ABL:ARG:喉拡張 + 1, 3)
SIF ABL:ARG:喉拡張 <= TALENT:ARG:天性の舌靈活
	ABL:ARG:喉拡張 += 1

@ABL_T(ARG)
#FUNCTION
SIF ARG <= 0
	RETURNF 0
;快感の基準は技巧や奉仕
LOCAL = 20 + ABL:ARG:技巧 + ABL:ARG:奉仕精神*2 + TALENT:ARG:喉名器*10
SIF TALENT:ARG:嘔吐反射耐性
	LOCAL += 5

SELECTCASE ABL:ARG:喉拡張
CASE 1
	LOCAL += 5
CASE 2
	LOCAL = MULTIPLY(LOCAL, 120) + 10
CASE 3
	LOCAL = MULTIPLY(LOCAL, 150) + 20
CASE IS >= 4
	LOCAL = MULTIPLY(LOCAL, 200) + 30
ENDSELECT

RETURNF LOCAL

@GET_EXABL_U, ARG
;-------------------------------------------------
;おもに尿道の太さ ABL:尿道拡張 の判定をする（これは阴茎尺寸などに即した値）
;Ｖ尿道拡張度とＰ尿道拡張度に相関関係は一切ない
;それらが設定されていないなら、まずはここで初期設定する
;-------------------------------------------------
SIF ARG <= 0
	RETURN 0

;Ｖ尿道拡張度の初期設定
SIF CSTR:ARG:Ｖ尿道拡張度 == ""
	CSTR:ARG:Ｖ尿道拡張度 = %CONDS("Ｖ尿道の初期拡張度", ARG)%
;Ｐ尿道拡張度の初期設定
SIF CSTR:ARG:Ｐ尿道拡張度 == ""
	CSTR:ARG:Ｐ尿道拡張度 = %CONDS("Ｐ尿道の初期拡張度", ARG)%

;拡張度
SELECTCASE CALCF("尿道径", ARG)
;ここまでは指挿入も無理
CASE IS < 15
	ABL:ARG:尿道拡張 = -2
;ここまでは阴茎挿入は無理。尿道用の振動棒ならいける
CASE 15 TO 20
	ABL:ARG:尿道拡張 = -1
;阴茎挿入可能になります
CASE 21 TO 27
	ABL:ARG:尿道拡張 = 0
;以下7mm刻み
CASE 28 TO 34
	ABL:ARG:尿道拡張 = 1
CASE 35 TO 41
	ABL:ARG:尿道拡張 = 2
CASEELSE
	ABL:ARG:尿道拡張 = (CALCF("尿道径", ARG) - 21)/7
ENDSELECT

@ABL_U(ARG)
#FUNCTION
SIF ARG <= 0
	RETURNF 0

;快感の基準は尿道経験
LOCAL = 10 + GET_EXP_LV(EXP:ARG:尿道経験)*2 + GET_EXP_LV(EXP:ARG:尿道性交経験)*5 + TALENT:ARG:尿道名器*10
SIF TALENT:ARG:尿道性感
	LOCAL += 5
SIF TALENT:ARG:尿道狂
	LOCAL += 20

SELECTCASE ABL:ARG:尿道拡張
CASE 0
	LOCAL += 5
CASE 1
	LOCAL = MULTIPLY(LOCAL, 120) + 10
CASE 2
	LOCAL = MULTIPLY(LOCAL, 150) + 20
CASE IS >= 3
	LOCAL = MULTIPLY(LOCAL, 200) + 30
ENDSELECT

RETURNF LOCAL

;-------------------------------------------------
;大人ざまな素質の取得や変動の総合管理の場
;-------------------------------------------------
@GET_EXTALENT, ARG
#DIM LCOUNT
SIF ARG <= 0
	RETURN 0

;罩杯絡み
IF TALENT:ARG:男性 == 0
	TALENT:ARG:乳房 = 1
ELSE
	TALENT:ARG:乳房 = 0
ENDIF
SIF TALENT:ARG:乳房 == 0
	BASE:ARG:罩杯 = 0

IF COND("角色メイク中")
	IF EXP:ARG:Ａ性交経験 == 0
		TALENT:ARG:Ａ処女 = 1
	ELSE
		TALENT:ARG:Ａ処女 = 0
	ENDIF
	IF EXP:ARG:尿道性交経験 == 0
		TALENT:ARG:尿道処女 = 1
	ELSE
		TALENT:ARG:尿道処女 = 0
	ENDIF
ENDIF

IF PENIS(ARG) && EXP:ARG:Ｖ挿入経験 == 0
	TALENT:ARG:童貞 = 1
ELSE
	TALENT:ARG:童貞 = 0
ENDIF

SIF TALENT:ARG:容易濕
	TALENT:ARG:不易濕 = 0

;以下は調教中は再計算を行わない
SIF COND("調教中")
	RETURN 0

TALENT:ARG:性交熟達 = 0
SIF COND("Ｖ熟達", ARG)
	SETBIT TALENT:ARG:性交熟達, 0
SIF COND("Ａ熟達", ARG)
	SETBIT TALENT:ARG:性交熟達, 1
SIF COND("尿道熟達", ARG)
	SETBIT TALENT:ARG:性交熟達, 2

SIF TALENT:ARG:禁断的知識 >= 2
	TALENT:ARG:具現 = 1

@SET_3SIZE, ARG
#DIM IS_CHANGESIZE
VARSET IS_CHANGESIZE

;体型の変更
IF COND("角色メイク中") == 0 && BASE:ARG:身高
	;身高の変化による素質の変化
	SELECTCASE BASE:ARG:身高
	CASE IS <= NUM("娇小Ⅲの上限")
		SIF TALENT:ARG:高大 || TALENT:ARG:娇小 != 3
			IS_CHANGESIZE = 1
	CASE IS <= NUM("娇小Ⅱの上限")
		SIF TALENT:ARG:高大 || TALENT:ARG:娇小 != 2
			IS_CHANGESIZE = 1
	CASE IS <= NUM("娇小の上限")
		SIF TALENT:ARG:高大 || TALENT:ARG:娇小 != 1
			IS_CHANGESIZE = 1
	CASE IS <= NUM("普通の上限")
		SIF TALENT:ARG:高大 || TALENT:ARG:娇小
			IS_CHANGESIZE = 1
	CASE IS <= NUM("高大の上限")
		SIF TALENT:ARG:高大 != 1 || TALENT:ARG:娇小
			IS_CHANGESIZE = 1
	CASE IS <= NUM("高大Ⅱの上限")
		SIF TALENT:ARG:高大 != 2|| TALENT:ARG:娇小
			IS_CHANGESIZE = 1
	CASEELSE
		SIF TALENT:ARG:高大 == 0 || TALENT:ARG:娇小
			IS_CHANGESIZE = 1
	ENDSELECT
	IF IS_CHANGESIZE
		PRINTFORML （重新测量%CALLNAME:ARG%的身高、腰围等）

		SELECTCASE BASE:ARG:身高
		CASE IS <= NUM("娇小Ⅲの上限")
			TALENT:ARG:高大 = 0
			TALENT:ARG:娇小 = 3
		CASE IS <= NUM("娇小Ⅱの上限")
			TALENT:ARG:高大 = 0
			TALENT:ARG:娇小 = 2
		CASE IS <= NUM("娇小の上限")
			TALENT:ARG:高大 = 0
			TALENT:ARG:娇小 = 1
		CASE IS <= NUM("普通の上限")
			TALENT:ARG:高大 = 0
			TALENT:ARG:娇小 = 0
		CASE IS <= NUM("高大の上限")
			TALENT:ARG:高大 = 1
			TALENT:ARG:娇小 = 0
		CASE IS <= NUM("高大Ⅱの上限")
			TALENT:ARG:高大 = 2
			TALENT:ARG:娇小 = 0
		CASEELSE
			TALENT:ARG:高大 = 3
			TALENT:ARG:娇小 = 0
		ENDSELECT

		CALL CALC, "ＢＷＨ計測", ARG
	ENDIF

	VARSET IS_CHANGESIZE

	;罩杯の変化による素質の変化
	BASE:ARG:罩杯 = CALCF("罩杯", CALCF("罩杯計算値", ARG) )

	IF TALENT:ARG:男性
		SIF BASE:ARG:罩杯
			CALL CALC, "男乳化", ARG
	ELSEIF TALENT:ARG:巨乳 >= 3
		SIF BASE:ARG:罩杯 <= NUM("爆乳の上限")
			IS_CHANGESIZE = 1
	ELSEIF TALENT:ARG:巨乳 == 2
		SIF BASE:ARG:罩杯 <= NUM("巨乳の上限")
			IS_CHANGESIZE = 1
	ELSEIF TALENT:ARG:巨乳 == 1
		SIF BASE:ARG:罩杯 <= NUM("並乳の上限") || BASE:ARG:罩杯 > NUM("巨乳の上限")
			IS_CHANGESIZE = 1
	ELSEIF TALENT:ARG:貧乳
		SIF BASE:ARG:罩杯 > NUM("貧乳の上限")
			IS_CHANGESIZE = 1
	ELSEIF TALENT:ARG:巨乳 + TALENT:ARG:貧乳 == 0
		SIF BASE:ARG:罩杯 <= NUM("貧乳の上限") || BASE:ARG:罩杯 > NUM("並乳の上限")
			IS_CHANGESIZE = 1
	ENDIF
	IF IS_CHANGESIZE
		PRINTFORML （重新测量%CALLNAME:ARG%的胸圍）

		CALL SETFLAG, "胸圍設定", ARG

		PRINTFORML （想要重新测量腰围时、被阻止了…）
	ENDIF

	;お尻のサイズ計測（腰圍と臀圍から判定するだけなので問題ない）
	CALL SETFLAG, "臀圍設定", ARG
	RETURN 0
ENDIF

;ゴールデンカノン (胸圍 = 身高*0.54, 腰圍 = 身高*0.38, 臀圍 = 身高*0.54)を参考。誤差は上下10%程が妥当か。
;腰靈活LVが高いと、腰圍が低く、臀圍が大きくなりやすい
;BASE:身高=身高、BASE:胸圍=胸圍、BASE:罩杯=罩杯、BASE:腰圍=腰圍、BASE:臀圍=臀圍

IF BASE:ARG:身高
	SELECTCASE BASE:ARG:身高
	CASE IS <= NUM("娇小Ⅲの上限")
		TALENT:ARG:高大 = 0
		TALENT:ARG:娇小 = 3
	CASE IS <= NUM("娇小Ⅱの上限")
		TALENT:ARG:高大 = 0
		TALENT:ARG:娇小 = 2
	CASE IS <= NUM("娇小の上限")
		TALENT:ARG:高大 = 0
		TALENT:ARG:娇小 = 1
	CASE IS <= NUM("普通の上限")
		TALENT:ARG:高大 = 0
		TALENT:ARG:娇小 = 0
	CASE IS <= NUM("高大の上限")
		TALENT:ARG:高大 = 1
		TALENT:ARG:娇小 = 0
	CASE IS <= NUM("高大Ⅱの上限")
		TALENT:ARG:高大 = 2
		TALENT:ARG:娇小 = 0
	CASEELSE
		TALENT:ARG:高大 = 3
		TALENT:ARG:娇小 = 0
	ENDSELECT
	CALL CALC, "ＢＷＨ計測", ARG
ELSE
	;娇小Ⅲ118～130cm、娇小Ⅱ131～143cm、娇小144～152cm、通常153～165cm、高大166～182cm
	IF TALENT:ARG:高大 == 3
		CALL CALC, "高大Ⅲ化", ARG
	ELSEIF TALENT:ARG:高大 == 2
		CALL CALC, "高大Ⅱ化", ARG
	ELSEIF TALENT:ARG:高大
		CALL CALC, "高大化", ARG
	ELSEIF TALENT:ARG:娇小 == 3
		CALL CALC, "娇小Ⅲ化", ARG
	ELSEIF TALENT:ARG:娇小 == 2
		CALL CALC, "娇小Ⅱ化", ARG
	ELSEIF TALENT:ARG:娇小
		CALL CALC, "娇小化", ARG
	ELSE
		CALL CALC, "普通体型化", ARG
	ENDIF
ENDIF

;罩杯計測。胸圍(BASE:胸圍)と罩杯(BASE:罩杯)が決められる
CALL SETFLAG, "胸圍設定", ARG

license: unknown


code:
;指导者能力ARGSの解説
@COMMENT_ADVISER(ARGS)
#FUNCTIONS

VARSET LOCALS
SELECTCASE ARGS
CASE "自動補充"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、可以免费補充消耗品
CASE "魔性の香"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、有情绪和快楽的加成
CASE "精力増大"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、主人公精力+10
CASE "罗曼蒂克"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、初期情绪+_HH_HH
CASE "再生"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、毎回合全員的体力回復50
CASE "调教师"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、毎单位時間内欲求不満+10％
CASE "好奇の視線"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、毎单位時間内欲求不満+５％＆恥情の珠的取得+５％
CASE "天才肌"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、習得の珠的取得+５％
CASE "淫蕩薬師"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、媚薬の効果+50％
CASE "縁結"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、每天早上随机对象的好感度增加
CASE "金運招来Ⅱ"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、每天早上钱包都会变得更重
CASE "金運招来"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、每天早上钱包都会稍微变重_L_
CASE "魂蒐集"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、毎单位時間内魂回復量+0.1
CASE "包容力"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、軽減同伴的恐怖和反感
CASE "理性主義"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、主人公不会进入恍惚状態
CASE "单人玩家"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、自慰系指令的効果少许上昇
CASE "和和闹闹"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、時間経過下全員的好感度会少许上昇
CASE "无用相談"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、実行値獲得加成＆情绪有惩罚
CASE "抑制器"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、毎单位時間内全員的欲求不満-10％
CASE "見習的心情"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、習得の珠的取得+５％
CASE "淫精の伝道師"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、Ｈ的射精量ＵＰ
;淫精の伝道師の類似能力
CASE "催精师"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、Ｈ的射精量ＵＰ
CASE "堕天使の甘言"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、甜言蜜语的成功率ＵＰ＆继续時間増加
CASE "冷却器"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、毎单位時間内全員的欲求不満-5％
CASE "動画撮影"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、同伴的恥情の上昇量+50％＆実行値-５
CASE "媚薬精製"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、不知道为什么会增加媚薬
CASE "天然潤滑液"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、不知道为什么会增加潤滑液
CASE "無能"
	LOCALS = 什么也没有、什么也做不了、所以是無能。
CASE "努力的前輩"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、同伴的恭順+10％ 反感-15％
CASE "誘惑"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、同伴的欲情+50％＆体力消費増加
CASE "狩猟の美学"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、同伴的欲情+70％＆体力消費減少
CASE "痛痛飞走啦"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、减轻同伴的疼痛和恐惧
CASE "小悪魔の轻语"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、甜言蜜语时的感度ＵＰ＆攻势ＵＰ
CASE "浄化の火"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、毎回合全員体力回復100、%CALLNAME:MASTER%的精力回復5
CASE "原生主义者"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、脱下衣物的指令更容易实现
CASE "解放感"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、野外的実行値獲得少量BOUNS
CASE "欺诈师"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、実行値獲得少量BOUNS
CASE "撒娇鬼"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、胸部相関指令実行値獲得少量BOUNS
CASE "餓狼の相"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、空腹度在【中】以上时恐怖上昇＆情緒会受到惩罚
CASE "急成長"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、根据満足BONUS%TEXTS("助手の名称")%的習得の珠大幅度上升
CASE "縄酔酒"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、拘束中情緒会有BOUNS
CASE "解読"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、反感大幅度軽減
CASE "三星大厨"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、%TEXTS("助手の名称")%的弁当効果上升
CASE "受胎呪詛"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、妊娠概率上昇 ※对于有[难以妊娠]的对象无效…
CASE "受胎祝福"
	LOCALS = 在被选为%TEXTS("助手の名称")%的情况下、強制排卵
ENDSELECT
RETURNF LOCALS

@EVENTCHECK_A
SIF ASSI <= 0
	RETURN 0

;-------------------------------------------------------------------------------------------------
;技能の成長
;-------------------------------------------------------------------------------------------------
CALL EX_ABLUP, ASSI

;助手のLVUP
SELECTCASE ABL:ASSI:助手
CASE 0
	SIF EXP:ASSI:助手経験 < 50
		RETURN 0
CASE 1
	SIF EXP:ASSI:助手経験 < 200
		RETURN 0
CASE 2
	SIF EXP:ASSI:助手経験 < 500
		RETURN 0
CASE 3
	SIF EXP:ASSI:助手経験 < 1000
		RETURN 0
CASE 4
	SIF EXP:ASSI:助手経験 < 2000
		RETURN 0
CASEELSE
	RETURN 0
ENDSELECT

ABL:ASSI:助手 += 1
CALL BLANKLINE
PRINTFORML %CALLNAME:ASSI%对%TEXTS("助手の名称")%的职责的理解更深了
PRINTFORMW %CALLNAME:ASSI%的%TEXTS("助手の名称")%LV变成了{ABL:ASSI:助手}！
;助手への指示呼び出し
CALL ASSI_CHANGE_INDICATE, ASSI

;-------------------------------------------------
;CONDの助手能力限定版
;ARGSは / 区切りで複数の文字列を指定可能
;-------------------------------------------------
@CADV(ARGS, ARG)
#FUNCTION
#DIM LCOUNT
SIF ARG < 0
	RETURNF 0
SIF ARG == 0 && ASSI:1
	ARG = ASSI:1

VARSET LOCALS
SPLIT ARGS, "/", LOCALS

FOR LCOUNT, 0, 10
	SELECTCASE LOCALS:LCOUNT
	CASE ""
		RETURNF 0
	;それ以外はCSTR:建议を見る。添え字の強化を鑑みて同じ文字列を含んでいたら1を返す
	CASEELSE
		SIF STRCOUNT(CSTR:ARG:建议, LOCALS:LCOUNT)
			RETURNF 1
	ENDSELECT
NEXT
RETURNF 0

;-------------------------------------------------
;指导者の開始時特典
;-------------------------------------------------
@EVENTTRAIN_BONUS_ADVISER
SIF ASSI:1 <= 0
	RETURN 0

;指导者能力発動
IF CADV("魔性の香")
	DRAWLINE
	PRINTL ＜魔性の香＞
	PRINTFORMW %CALLNAME:(ASSI:1)%焚烧了有着昂揚作用的散发着複雑气味的香。

	FLAG:情緒 += 60
	PALAM:欲情 += 5000

	CALL TEXT, "情緒変化", 60
	PRINTFORML 欲情+5000
	IF ASSI
		PALAM:ASSI:欲情 += 5000
		PRINTFORML 欲情+5000(%CALLNAME:ASSI%)
	ENDIF
	WAIT
ENDIF
IF CADV("罗曼蒂克")
	DRAWLINE
	PRINTL ＜罗曼蒂克＞
	PRINTFORMW 周围弥漫着浪漫的气氛…
	FLAG:情緒 += 60
	CALL PRINT_STR, "情緒+ _HH_HH_W"
ENDIF
IF CADV("精力増大")
	DRAWLINE
	PRINTL ＜精力増大＞
	PRINTFORMW 力量从%CALLNAME:(ASSI:1)%流入了体内、%CALLNAME:MASTER%的精力增强了！
	MAXBASE:MASTER:精力 += 10
	BASE:MASTER:精力 += 10
	PRINTFORMW 精力+10(%CALLNAME:MASTER%)
ENDIF
IF CADV("包容力")
	DRAWLINE
	PRINTL ＜包容力＞
	IF TARGET != ASSI:1
		PRINTFORMW 因为%CALLNAME:(ASSI:1)%守护在一旁、大幅度抑制了%CALLNAME:TARGET%恐怖与反感上昇的趋势。
	ELSE
		PRINTFORMW %CALLNAME:TARGET%恐怖与反感上昇的趋势被大幅度抑制了。
	ENDIF
	TEQUIP:包容力 = 1
ENDIF
IF CADV("理性主義")
	DRAWLINE
	PRINTL ＜理性主義＞
	PRINTFORMW 在%CALLNAME:MASTER%因为一時的快楽忘记了自我的時候、因为%CALLNAME:(ASSI:1)%发出的声音而取回了理性。
	TEQUIP:MASTER:理性主義 = 1
ENDIF
IF CADV("单人玩家")
	DRAWLINE
	PRINTL ＜单人玩家＞
	IF TARGET != ASSI:1
		PRINTFORMW 因为站在一旁的%CALLNAME:(ASSI:1)%、%CALLNAME:TARGET%的自慰系指令的効果上升了少许。
	ELSE
		PRINTFORMW %CALLNAME:TARGET%的自慰系指令的効果上升了少许。
	ENDIF
	TEQUIP:单人玩家 = 1
ENDIF
IF CADV("无用相談")
	DRAWLINE
	PRINTL ＜无用相談＞
	IF TARGET != ASSI:1
		PRINTFORMW 因为%CALLNAME:(ASSI:1)%在雑談混杂了一些商谈。虽然比预想中还有用但是气氛被破壊了！
	ELSE
		PRINTFORML %CALLNAME:(ASSI:1)%混进了一些H的雑談。
		PRINTFORMW 多少听进去了一些商谈的内容……但是气氛被破壊了！
	ENDIF
	TEQUIP:MASTER:无用相談 = 1
ENDIF
IF CADV("淫精の伝道師")
	DRAWLINE
	PRINTL ＜淫精の伝道師＞
	PRINTFORML 因为站在一旁的%CALLNAME:(ASSI:1)%、全员射精的射精量都增多了。
	SIF PENIS(ASSI:1)
		PRINTFORML ※%CALLNAME:(ASSI:1)%也不例外※
	WAIT
	TEQUIP:MASTER:淫精の伝道師 = 1
ENDIF
IF CADV("催精师")
	DRAWLINE
	PRINTL ＜催精师＞
	PRINTFORML 因为站在一旁的%CALLNAME:(ASSI:1)%、全员射精的射精量都增多了。
	SIF PENIS(ASSI:1)
		PRINTFORML ※%CALLNAME:(ASSI:1)%也不例外※
	WAIT
	TEQUIP:MASTER:淫精の伝道師 = 1
ENDIF
IF CADV("堕天使の甘言")
	DRAWLINE
	PRINTL ＜堕天使の甘言＞
	IF TARGET != ASSI:1
		PRINTFORMW 因为%CALLNAME:(ASSI:1)%的助言、甜言蜜语的成功率ＵＰ＆継続時間増加了。
	ELSE
		PRINTFORMW 因为%CALLNAME:TARGET%的Ｈ、甜言蜜语的成功率上升、継続時間也増加了。
	ENDIF
	TEQUIP:堕天使の甘言 = 1
ENDIF
IF CADV("動画撮影")
	DRAWLINE
	IF TARGET != ASSI:1
		PRINTL ＜動画撮影＞
		PRINTFORMW 通过让%CALLNAME:(ASSI:1)%辅助拍摄動画撮影、恥情的上昇量+50％且実行値-５。
		TEQUIP:動画撮影 = 1
	ELSE
		PRINTL ＜動画撮影＞
		PRINTFORMW 因为在和%CALLNAME:TARGET%H的时候使用手机进行了自拍、恥情的上昇量+50％且実行値-５。
		TEQUIP:動画撮影 = 1
	ENDIF
ENDIF
IF CADV("努力的前輩")
	DRAWLINE
	PRINTL ＜努力的前輩＞
	IF TARGET != ASSI:1
		PRINTFORML %CALLNAME:(ASSI:1)%会努力地帮助的。仅此而已。
		PRINTFORMW 但是这个姿态解開了%CALLNAME:TARGET%的心、恭順の上昇量＋10％、抑制了反感的上昇。
	ELSE
		PRINTFORMW %CALLNAME:TARGET%比平时更努力、恭順の上昇量＋10％、抑制了反感的上昇。
	ENDIF
	TEQUIP:努力的前輩 = 1
ENDIF
IF CADV("誘惑")
	DRAWLINE
	PRINTL ＜誘惑＞
	IF TARGET != ASSI:1
		PRINTFORMW 由于%CALLNAME:(ASSI:1)%醸出的空気、欲情の上昇量+50％＆体力の消費増加。
	ELSE
		PRINTFORMW 由于%CALLNAME:TARGET%醸出的空気、欲情の上昇量+50％＆体力の消費増加。
	ENDIF
	TEQUIP:誘惑 = 1
ENDIF
IF CADV("狩猟の美学")
	DRAWLINE
	PRINTL ＜狩猟の美学＞
	IF TARGET != ASSI:1
		PRINTFORMW 由于%CALLNAME:(ASSI:1)%豊富的知識、欲情の上昇量+50％＆体力の消費減低。
	ELSE
		PRINTFORMW 由于%CALLNAME:TARGET%豊富的知識、欲情の上昇量+70％＆体力の消費減低。
	ENDIF
	TEQUIP:狩猟の美学 = 1
ENDIF
IF CADV("痛痛飞走啦")
	DRAWLINE
	PRINTL ＜痛痛飞走啦＞
	IF TARGET != ASSI:1
		PRINTFORMW 因为%CALLNAME:(ASSI:1)%守护在一旁、大幅度抑制了%CALLNAME:TARGET%疼痛与恐怖上昇的趋势。
	ELSE
		PRINTFORMW %CALLNAME:TARGET%疼痛与恐怖上昇的趋势被大幅度抑制了。
	ENDIF
	TEQUIP:痛痛飞走啦 = 1
ENDIF
IF CADV("小悪魔の轻语")
	DRAWLINE
	PRINTFORML ＜小悪魔の轻语＞
	PRINTFORML 由于%CALLNAME:(ASSI:1)%的助力、甜言蜜语比平常更能誘惑对方。
	PRINTFORMW 被甜言蜜语発揮効果的对象、感度上升的同时攻势会变得更加激烈。
	TEQUIP:MASTER:小悪魔の轻语 = 1
ENDIF
IF CADV("解放感") && PLACE("野外")
	DRAWLINE
	PRINTL ＜解放感＞
	IF TARGET != ASSI:1
		PRINTFORMW 因为%CALLNAME:(ASSI:1)%习惯于露出行为、%CALLNAME:TARGET%的紧张感也得到了缓解。
	ELSE
		PRINTFORMW %CALLNAME:TARGET%像是在一定程度上习惯了露出行为的样子。
	ENDIF
	TEQUIP:解放感 = 1
ENDIF
IF CADV("欺诈师")
	DRAWLINE
	PRINTL ＜欺诈师＞
	IF TARGET != ASSI:1
		PRINTFORMW 由于%CALLNAME:(ASSI:1)%的帮助、%CALLNAME:TARGET%们变得稍微放松了一些。
	ELSE
		PRINTFORMW 由于%CALLNAME:TARGET%的能力、%CALLNAME:MASTER%们稍微变得放松了一些。
	ENDIF
	TEQUIP:欺诈师 = 1
ENDIF
IF CADV("撒娇鬼")
	DRAWLINE
	PRINTL ＜撒娇鬼＞
	IF TARGET != ASSI:1
		PRINTFORML 由于%CALLNAME:(ASSI:1)%的存在、调教对象的母性本能被激发、胸部相関的指令的效果獲得少许提升。
	ELSE
		PRINTFORML 由于%CALLNAME:(ASSI:1)%助力、调教对象的母性本能被激发、胸部相関的指令的效果獲得少许提升。
	ENDIF
	SIF COND("池面", MASTER) == 0 && STRCOUNT(CSTR:MASTER:建议, "撒娇鬼") == 0
		TEQUIP:MASTER:撒娇鬼 = 1
	SIF COND("池面") == 0 && STRCOUNT(CSTR:建议, "撒娇鬼") == 0
		TEQUIP:撒娇鬼 = 1
ENDIF
IF CADV("餓狼の相") && TARGET != ASSI:1
	SELECTCASE CFLAG:(ASSI:1):食欲
	CASE IS >= 50
		DRAWLINE
		PRINTL ＜餓狼の相＞
		SELECTCASE CFLAG:(ASSI:1):食欲
		CASE IS >= 150
			PRINTFORML %CALLNAME:(ASSI:1)%眯著眼睛看著%CALLNAME:MASTER%們、露出了奇妙的微笑…
		CASE IS >= 100
			PRINTFORML 气息不匀的%CALLNAME:(ASSI:1)%的肚子发出還沒填飽的叫声、死死地盯著%CALLNAME:MASTER%們…
		CASEELSE
			PRINTFORML 眯著眼睛微笑著的%CALLNAME:(ASSI:1)%不時發出咕咕的飢餓聲…
		ENDSELECT
		PRINTFORMW 情緒不容易上升、%CALLNAME:TARGET%每回合獲得恐怖。
		TEQUIP:MASTER:餓狼の相 = 1
	ENDSELECT
ENDIF
SIF CADV("縄酔酒")
	TEQUIP:MASTER:縄酔酒 = 1
IF CADV("解読")
	DRAWLINE
	PRINTL ＜解読＞
	IF TARGET != ASSI:1
		PRINTFORMW 由于%CALLNAME:(ASSI:1)%的帮助、%CALLNAME:TARGET%的心结解開了。
	ELSE
		PRINTFORMW %CALLNAME:TARGET%的心结解開了。
	ENDIF
	TEQUIP:解読 = 1
ENDIF
IF CADV("受胎呪詛")
	DRAWLINE
	PRINTL ＜受胎呪詛＞
	IF TARGET != ASSI:1
		IF TALENT:难以妊娠 || TALENT:避妊の護符 || TALENT:Ｖ妊娠不能
			PRINTFORMW 虽然从%CALLNAME:(ASSI:1)%身上不断地溢出%TEXTR("瘴気/妖気")%、但是对%CALLNAME:TARGET%没有任何效果的样子…
		ELSE
			PRINTFORMW 因为从%CALLNAME:(ASSI:1)%身上不断地溢出%TEXTR("瘴気/妖気")%、%CALLNAME:TARGET%变得更加容易妊娠了
		ENDIF
	ELSE
		PRINTFORMW %CALLNAME:TARGET%因为%TEXTR("瘴気/妖気")%、变得更加容易妊娠了
	ENDIF
	CFLAG:要受精確率 = MAX(CFLAG:要受精確率 - 30, 1)
ENDIF
IF CADV("受胎祝福")
	DRAWLINE
	PRINTL ＜受胎祝福＞
	IF TARGET != ASSI:1
		IF TALENT:避妊の護符 || TALENT:Ｖ妊娠不能
			PRINTFORMW 虽然从%CALLNAME:(ASSI:1)%身上不断地溢出%TEXTR("瘴気/妖気")%、但是对%CALLNAME:TARGET%没有任何效果的样子…
		ELSE
			PRINTFORMW 因为从%CALLNAME:(ASSI:1)%身上不断地溢出%TEXTR("仙気/神気")%、%CALLNAME:TARGET%排卵了
		ENDIF
	ELSE
		PRINTFORMW %CALLNAME:TARGET%因为%TEXTR("仙気/神気")%而排卵了
	ENDIF
	CFLAG:要受精確率 = MAX(CFLAG:要受精確率 - 20, 1)
ENDIF
;指导者のエッチ中のターンごとのBOUNS
@TURN_BONUS_ADVISER
#DIM LCOUNT
SIF ASSI:1 <= 0
	RETURN 0
;再生
IF CADV("再生")
	PRINTFORML ＜再生＞
	FOR LCOUNT, 1, CHARANUM
		SELECTCASE LCOUNT
		CASE MASTER, TARGET, ASSI
			BASE:LCOUNT:体力 = MIN(BASE:LCOUNT:体力 + 50, MAXBASE:LCOUNT:体力)
		ENDSELECT
	NEXT
	PRINTFORML 全員回復50体力
ENDIF
;浄化の火
IF CADV("浄化の火")
	PRINTFORML ＜浄化の火＞
	FOR LCOUNT, 1, CHARANUM
		SELECTCASE LCOUNT
		CASE MASTER
			BASE:LCOUNT:体力 = MIN(BASE:LCOUNT:体力 + 100, MAXBASE:LCOUNT:体力)
			BASE:LCOUNT:精力 = MIN(BASE:LCOUNT:精力 + 5, MAXBASE:LCOUNT:精力)
		CASE TARGET, ASSI
			BASE:LCOUNT:体力 = MIN(BASE:LCOUNT:体力 + 100, MAXBASE:LCOUNT:体力)
		ENDSELECT
	NEXT
	PRINTFORML 全員体力回復了100、%CALLNAME:MASTER%的精力回復了5。
ENDIF
IF TEQUIP:MASTER:餓狼の相 && TARGET != ASSI:1
	CALL VARSET_COMF

	SELECTCASE CFLAG:(ASSI:1):食欲
	CASE IS >= 150
		PRINTFORML ＜餓狼の相(空腹度【極高】＞
		SOURCE:0:恐惧 = 500
	CASE IS >= 100
		PRINTFORML ＜餓狼の相(空腹度【高】＞
		SOURCE:0:恐惧 = 150
	CASE IS >= 50
		PRINTFORML ＜餓狼の相(空腹度【中】＞
		SOURCE:0:恐惧 = 50
	ENDSELECT

	CALL CALC, "調教ソース", 100
ENDIF
IF CADV("縄酔酒")
	PRINTL ＜縄酔酒＞
	PRINTFORM 拘束された
	IF TARGET != ASSI:1
		PRINTFORM %CALLNAME:TARGET%
	ELSE
		PRINTFORM %CALLNAME:(ASSI:1)%
	ENDIF
	PRINTFORMW は甘美な空気に囚われている……
ENDIF

;指导者の終了時特典
@AFTERTRA_BONUS_ADVISER
#DIM LCOUNT
#DIM MEMO_LINECOUNT
#DIM MEMO_BONUS

SIF ASSI:1 <= 0
	RETURN 0

MEMO_BONUS = 0

IF CADV("自動補充") && NUM("消耗品使用数")
	CALL SETFLAG, "消耗品補充"
	DRAWLINE
	PRINTFORML ＜自動補充＞
	PRINTFORMW 本次使用的消耗品由%CALLNAME:(ASSI:1)%自行補充了。
ENDIF
IF CADV("天才肌")
	DRAWLINE
	PRINTFORML ＜天才肌＞
	IF TARGET == ASSI:1
		PRINTFORMW 因为%CALLNAME:(ASSI:1)%的活跃、習得の珠的取得量獲得了５％的加成。
	ELSE
		PRINTFORMW 因为%CALLNAME:(ASSI:1)%的助言、習得の珠的取得量獲得了５％的加成。
	ENDIF
ENDIF
IF CADV("好奇の視線")
	DRAWLINE
	PRINTFORML ＜好奇の視線＞
	IF TARGET == ASSI:1
		PRINTFORMW 因为%CALLNAME:(ASSI:1)%的妄想力、恥情の珠的取得量獲得了５％的加成。
	ELSE
		PRINTFORMW 因为%CALLNAME:(ASSI:1)%的態度、恥情の珠的取得量獲得了５％的加成。
	ENDIF
ENDIF
IF CADV("急成長") && COND("満足") && TARGET == ASSI:1
	DRAWLINE
	PRINTFORML ＜急成長＞
	IF COND("性欲大満足")
		MEMO_BONUS += 10
	ELSEIF COND("性欲満足")
		MEMO_BONUS += 5
	ENDIF
	IF COND("精液欲大満足")
		MEMO_BONUS += 10
	ELSEIF COND("精液欲満足")
		MEMO_BONUS += 5
	ENDIF
	PRINTFORMW %CALLNAME:(ASSI:1)%が満足したことにより、習得の珠の取得量に{MEMO_BONUS}％のBOUNSが発生。
	;布セント出力させようと思ったけど今は気分じゃない（無敵構文）
ENDIF
;精力増大終了
SIF CADV("精力増大")
	CALL SET_COUNTER_BASE

;指导者能力の終了
@RESET_ABL_ADVISER
CVARSET TEQUIP, GETNUM(TEQUIP, "无用相談")
CVARSET TEQUIP, GETNUM(TEQUIP, "单人玩家")
CVARSET TEQUIP, GETNUM(TEQUIP, "理性主義")
CVARSET TEQUIP, GETNUM(TEQUIP, "包容力")
CVARSET TEQUIP, GETNUM(TEQUIP, "淫精の伝道師")
CVARSET TEQUIP, GETNUM(TEQUIP, "堕天使の甘言")
CVARSET TEQUIP, GETNUM(TEQUIP, "動画撮影")
CVARSET TEQUIP, GETNUM(TEQUIP, "努力的前輩")
CVARSET TEQUIP, GETNUM(TEQUIP, "誘惑")
CVARSET TEQUIP, GETNUM(TEQUIP, "狩猟の美学")
CVARSET TEQUIP, GETNUM(TEQUIP, "痛痛飞走啦")
CVARSET TEQUIP, GETNUM(TEQUIP, "小悪魔の轻语")
CVARSET TEQUIP, GETNUM(TEQUIP, "解放感")
CVARSET TEQUIP, GETNUM(TEQUIP, "欺诈师")
CVARSET TEQUIP, GETNUM(TEQUIP, "撒娇鬼")
CVARSET TEQUIP, GETNUM(TEQUIP, "餓狼の相")
CVARSET TEQUIP, GETNUM(TEQUIP, "縄酔酒")
CVARSET TEQUIP, GETNUM(TEQUIP, "解読")

;指导者のSHOP画面特典
@SHOP_BONUS_ADVISER
#DIM LCOUNT
#DIM MEMO_LINECOUNT
#DIM ACTOR

SIF ASSI:1 <= 0
	RETURN 0

MEMO_LINECOUNT = LINECOUNT

IF COND("昼") && CADV("縁結")
	ACTOR = RAND:(CHARANUM - 2) + 2
	LOCAL = RAND:10 + 1
	CFLAG:ACTOR:好感度 += LOCAL
	DRAWLINE
	PRINTFORML ＜縁結＞
	PRINTFORML 因为%CALLNAME:(ASSI:1)%的神通力、和%CALLNAME:ACTOR%関系变好了。
	PRINTFORMW 好感度+{LOCAL}（%CALLNAME:ACTOR%）
ENDIF

IF COND("昼") && CADV("金運招来")
	LOCAL = 1 + RAND:100 + RAND:(MAX(CFLAG:(ASSI:1):好感度/100, 1) )
	DRAWLINE
	IF CADV("金運招来Ⅱ")
		PRINTFORML ＜金運招来Ⅱ＞
		LOCAL += 1 + RAND:10
	ELSE
		PRINTFORML ＜金運招来＞
	ENDIF
	MONEY += LOCAL
	PRINTFORMW 因为%CALLNAME:(ASSI:1)%的神通力、%CALLNAME:MASTER%的钱包变重了……具体来说有%MONEY_C(LOCAL)%左右。
ENDIF

IF COND("夜") && TEXTS("曜日") != "日" && CADV("和和闹闹")
	DRAWLINE
	PRINTFORML ＜和和闹闹＞
	PRINTFORML 因为%CALLNAME:(ASSI:1)%的言動而引发的特殊事件使得部員们的距離縮短了。
	PRINTFORMW 全員的好感度+10＆関系友好度+1

	FOR LCOUNT, 2, CHARANUM
		CFLAG:LCOUNT:好感度 += 10
	NEXT
	CALL CHANGE_RELATION_ALL, 1
ENDIF

IF COND("夜") && CADV("抑制器")
	DRAWLINE
	PRINTFORML ＜抑制器＞
	PRINTFORMW %CALLNAME:(ASSI:1)%吸収了周围的人的性欲……全員的欲求不満度減少10％。
	FOR LCOUNT, 2, CHARANUM
		CALL CALC, "欲求不満解消", LCOUNT, 10
	NEXT
ENDIF

IF CADV("冷却器")
	DRAWLINE
	PRINTFORML ＜冷却器＞
	PRINTFORMW %CALLNAME:(ASSI:1)%調節了温度、提供舒适的空間……全員的欲求不満度減少5％。
	FOR LCOUNT, 2, CHARANUM
		CALL CALC, "欲求不満解消", LCOUNT, 5
	NEXT
ENDIF

IF CADV("调教师")
	DRAWLINE
	PRINTFORML ＜调教师＞
	PRINTFORMW %CALLNAME:(ASSI:1)%周围的人积攒着性的欲求……全員的欲求不満度上昇10％。
	FOR LCOUNT, 2, CHARANUM
		BASE:LCOUNT:欲求不満 = LIMIT(BASE:LCOUNT:欲求不満 + 10, BASE:LCOUNT:欲求不満, 100)
	NEXT
ELSEIF CADV("好奇の視線")
	DRAWLINE
	PRINTFORML ＜好奇の視線＞
	PRINTFORMW %CALLNAME:(ASSI:1)%周围的人积攒着性的欲求……全員的欲求不満度上昇５％。
	FOR LCOUNT, 2, CHARANUM
		BASE:LCOUNT:欲求不満 = LIMIT(BASE:LCOUNT:欲求不満 + 5, BASE:LCOUNT:欲求不満, 100)
	NEXT
ENDIF

IF COND("昼") && TEXTS("曜日") != "日" && CADV("媚薬精製") && ITEM:媚薬 < 99 && !RAND:3
	DRAWLINE
	PRINTFORML ＜媚薬精製＞
	IF CFLAG:ASSI:3900 == 0
		GETFONT
		CHKFONT "ＭＳ Ｐ哥特"
		SIF RESULT
			SETFONT "ＭＳ Ｐ哥特"
			PRINTFORML 　 〓..〓..〓..〓.〓
			PRINTFORML 　／　　　　　　　 ＼
			PRINTFORML ｜　　　　　　　　　 ｜
			PRINTFORML ｜　―――――　｜
			PRINTFORML ｜│　・　ω ・　│｜
			PRINTFORML ｜　―――――　｜
			PRINTFORML ｜　　　　　　　　　 ｜
			PRINTFORML ｜　　　　　　　　　 ｜
			PRINTFORML ｜　　　　　　　　　 ｜
			PRINTFORML 　￣￣￣￣￣￣￣
		SETFONT RESULTS
		CALL BLANKLINE
		PRINTFORML 普通的媚薬旁边摆放着一个奇怪的容器…
		PRINTFORML 检查了一下里面的东西、果然是媚薬…而且是质量很好的媚薬…
		CFLAG:ASSI:3900 = 1
	ELSE
		SELECTCASE RAND:3
		CASE 0
			PRINTFORML 不知不觉间增加了新的媚薬…
		CASE 1
			PRINTFORML 普通潤滑液的旁边、看起来很眼熟的奇怪容器摆放着…
		CASE 2
			GETFONT
			CHKFONT "ＭＳ Ｐ哥特"
			SIF RESULT
				SETFONT "ＭＳ Ｐ哥特"
				PRINTFORML 　 〓..〓..〓..〓.〓
				PRINTFORML 　／　　　　　　　 ＼
				PRINTFORML ｜　　　　　　　　　 ｜
				PRINTFORML ｜　―――――　｜
				PRINTFORML ｜│　・　ω ・　│｜
				PRINTFORML ｜　―――――　｜
				PRINTFORML ｜　　　　　　　　　 ｜
				PRINTFORML ｜　　　　　　　　　 ｜
				PRINTFORML ｜　　　　　　　　　 ｜
				PRINTFORML 　￣￣￣￣￣￣￣
			SETFONT RESULTS
			CALL BLANKLINE
			PRINTFORML 奇怪的容器摆放着…
		ENDSELECT
	ENDIF
	PRINTFORMW 媚薬数量增加了１。
	ITEM:媚薬 += 1
ENDIF

IF COND("昼") && TEXTS("曜日") != "日" && CADV("天然潤滑液") && ITEM:潤滑液 < 99 && !RAND:3
	DRAWLINE
	PRINTFORML ＜天然潤滑液＞
		IF CFLAG:ASSI:4300 == 0
			PRINTFORML 为了扔掉而洗干净潤滑液的空容器不知为何又满了…
			PRINTFORML 检查了一下里面的东西、果然是潤滑液…而且是质量很好的潤滑液…
			CFLAG:ASSI:4300 = 1
		ELSE
			SELECTCASE RAND:3
			CASE 0
				PRINTFORML 不知不觉间增加了新的潤滑液…
			CASE 1
				PRINTFORML 本来是空的潤滑液瓶又满了…
			CASE 2
				PRINTFORML 普通潤滑液的旁边、一排看起来很眼熟的运动饮料形状的容器摆放着…
			ENDSELECT
		ENDIF
	PRINTFORMW 潤滑液数量增加了１。
	ITEM:潤滑液 += 1
ENDIF

SIF LINECOUNT > MEMO_LINECOUNT
	DRAWLINE

;指导者の時間経過特典
@EVENTTURNEND_BONUS_ADVISER
#DIM LCOUNT
SIF ASSI:1 <= 0
	RETURN 0

IF CADV("魂蒐集") && BASE:MASTER:魂 < MAXBASE:MASTER:魂
	DRAWLINE
	PRINTFORML ＜魂蒐集＞
	PRINTFORM %CALLNAME:MASTER%的魂回復了0.1（%TEXTS("0.01", BASE:MASTER:魂)%
	BASE:MASTER:魂 = MIN(BASE:MASTER:魂 + 10, MAXBASE:MASTER:魂)
	PRINTFORML → %TEXTS("0.01", BASE:MASTER:魂)%）
ENDIF

;再生
IF CADV("再生/浄化の火") && CHARA_NUM("Ｖ損傷") + CHARA_NUM("Ａ損傷")
	DRAWLINE
	IF CADV("浄化の火")
		PRINTFORML ＜浄化の火＞
	ELSE
		PRINTFORML ＜再生＞
	ENDIF

	SETCOLOR DEF_COLOR("黄色")
	FOR LCOUNT, 1, CHARANUM
		SIF TALENT:LCOUNT:Ｖ損傷 == 0 && TALENT:LCOUNT:Ａ損傷 == 0
			CONTINUE

		TALENT:LCOUNT:Ｖ損傷 = 0
		TALENT:LCOUNT:Ａ損傷 = 0
		IF LCOUNT == ASSI:1
			PRINTFORMW %CALLNAME:(ASSI:1)%治癒了体内的損傷。
		ELSE
			PRINTFORMW %CALLNAME:(ASSI:1)%治療了%CALLNAME:LCOUNT%的損傷。
		ENDIF
	NEXT
	RESETCOLOR
ENDIF

;-------------------------------------------------
;助手への指示の処理
;優先順位はアルカナ＞道具＞其他
;ARGSには 調教開始、調教中、お掃除 などが入る
;-------------------------------------------------
@EVENT_ASSI_AUTO, ARGS
;助手調教中や助手が居ないときはダメ
SIF ASSI <= 0 || ASSIPLAY
	RETURN 0
;Ｗ推倒や３Ｐに参加している場合もやってこない
SIF TEQUIP:Ｗ推倒 && SELECTCOM:1 >= 0 && TARGET:1 == ASSI
	RETURN 0
SIF SELECTCOM:2 >= 0 && PLAYER:1 == ASSI
	RETURN 0
;指示していないor精力が少ない等
SIF STATE("撃沈", ASSI) || CFLAG:ASSI:助手の指示 == 0 || BASE:ASSI:精力 <= 5
	RETURN 0
;行動済み
SIF ARGS != "調教開始" && TFLAG:助手行動済
	RETURN 0

LOCAL = TFLAG:地の文分岐

SELECTCASE ARGS
CASE "お掃除"
	CALL BLANKLINE
	CALL EVENT_ASSI_OSOUJI
CASE "調教開始"
	CALL EVENT_ASSI_ITEM, ARGS
	CALL EVENT_ASSI_OSOUJI
	IF TFLAG:助手行動済
		CALL KOJO_GUEST, "助手：調教開始前の準備後台詞", ASSI
		CALL BLANKLINE
		PRINTFORMW %CALLNAME:ASSI%侧目听着俩人的会話、好像是已经完成了自己的工作…
	ENDIF
CASEELSE
	CALL EVENT_ASSI_ITEM, ARGS
ENDSELECT

TFLAG:地の文分岐 = LOCAL

@EVENT_ASSI_OSOUJI
;誰々の～が分かるならそれを記述
#DIMS ACTOR_OF

VARSET LOCAL
;主人をお掃除
IF GETBIT(CFLAG:ASSI:助手の指示, 40) && TEQUIP:MASTER:避孕套 == 0
	IF PLAYER == MASTER && COND("絶頂", PLAYER) && INSERT("挿入") == 0 && PENIS(MASTER)
		SIF SHOOT("膣内") && CHECK_STAIN(STAIN:MASTER:Ｐ, "Ｖ")
			LOCAL = 1
		SIF SHOOT("肛門") && CHECK_STAIN(STAIN:MASTER:Ｐ, "Ａ")
			LOCAL = 2
		SIF SHOOT("尿道") && CHECK_STAIN(STAIN:MASTER:Ｐ, "尿")
			LOCAL = 3
	ENDIF
	SIF PLAYER == MASTER && CHECK_STAIN(STAIN:MASTER:Ｐ, "Ｐ恥垢") && COND("真性包茎", MASTER) == 0
		LOCAL = 4
ENDIF
;対象をお掃除
IF GETBIT(CFLAG:ASSI:助手の指示, 41)
	IF COND("絶頂", PLAYER) && INSERT("挿入") == 0
		SIF SHOOT("膣内") && STAIN:Ｖ != SET_STAIN(0, "Ｖ")
			LOCAL:1 = 1
		SIF SHOOT("肛門") && STAIN:Ａ != SET_STAIN(0, "Ａ")
			LOCAL:1 = 2
		IF SHOOT("尿道")
			IF PENIS(TARGET)
				SIF STAIN:Ｐ != SET_STAIN(0, "Ｐ")
					LOCAL:1 = 3
			ELSE
				SIF STAIN:Ｖ != SET_STAIN(0, "Ｖ")
					LOCAL:1 = 3
			ENDIF
		ENDIF
	ENDIF
	SIF TALENT:女性 && CHECK_CLO("Ｖ露出") && CHECK_STAIN(STAIN:Ｖ, "尿") && NOWEX:絶頂漏尿
		LOCAL:1 = 4
ENDIF

IF LOCAL && RANDIF(1, LOCAL:1)
	ACTOR_OF =
	SIF COND("Ｐ汚れの相手", MASTER)
		ACTOR_OF = %CONDS("Ｐ汚れの相手", MASTER)%的
	SELECTCASE LOCAL
	CASE 1
		PRINTFORM %CALLNAME:ASSI%将刚从%ACTOR_OF%膣内拔出来的%CALLNAME:MASTER%的阴茎
		;汚れの状態で判定
		IF CHECK_STAIN(STAIN:MASTER:Ｐ, "Ａ") && TALENT:ASSI:汚臭無視 == 0
			PRINTFORMW 用热毛巾仔细地擦拭干净了…
		ELSEIF (ABL:ASSI:奉仕精神 >= 3 || ABL:ASSI:精液中毒 >= 3) && COND("口の使用", ASSI)
			PRINTFORMW 用嘴含着、仔细地舔干净了……
			CALL KOJO_GUEST, "助手：主人に清洁口交", ASSI
			CALL SETFLAG, "清洁口交", ASSI, MASTER
		ELSE
			PRINTFORMW 用清潔布仔细地擦拭干净了…
		ENDIF
	CASE 2
		PRINTFORM %CALLNAME:ASSI%将刚从%ACTOR_OF%肛門内拔出来的%CALLNAME:MASTER%的阴茎
		;汚れの状態で判定
		IF CHECK_STAIN(STAIN:MASTER:Ｐ, "Ａ") && TALENT:ASSI:汚臭無視 == 0
			PRINTFORMW 用热毛巾仔细地擦拭干净了…
		ELSEIF (ABL:ASSI:奉仕精神 >= 3 || ABL:ASSI:精液中毒 >= 3) && COND("口の使用", ASSI)
			PRINTFORMW 用嘴含着、仔细地舔干净了……
			CALL KOJO_GUEST, "助手：主人に清洁口交", ASSI
			CALL SETFLAG, "清洁口交", ASSI, MASTER
		ELSE
			PRINTFORMW 用清潔布仔细地擦拭干净了…
		ENDIF
	CASE 3
		IF PENIS(TARGET)
			PRINTFORM %CALLNAME:ASSI%把%CALLNAME:TARGET%刚刚拔出了阴茎的%CALLNAME:MASTER%的那个
		ELSE
			PRINTFORM %CALLNAME:ASSI%将刚从%ACTOR_OF%尿道拔出来的%CALLNAME:MASTER%的阴茎
		ENDIF
		;汚れの状態で判定
		IF CHECK_STAIN(STAIN:MASTER:Ｐ, "Ａ") && TALENT:ASSI:汚臭無視 == 0
			PRINTFORMW 用热毛巾仔细地擦拭干净了…
		ELSEIF (ABL:ASSI:奉仕精神 >= 3 || ABL:ASSI:精液中毒 >= 3) && COND("口の使用", ASSI)
			PRINTFORMW 用嘴含着、仔细地舔干净了……
			CALL KOJO_GUEST, "助手：主人に清洁口交", ASSI
			CALL SETFLAG, "清洁口交", ASSI, MASTER
		ELSE
			PRINTFORMW 用清潔布仔细地擦拭干净了…
		ENDIF
	CASE 4
		PRINTFORM %CALLNAME:ASSI%跪在%CALLNAME:MASTER%的股間前、鼻子哼了一声、把阴茎取了出来
		;奉仕精神と献身で判定
		IF ABL:ASSI:奉仕精神 + TALENT:ASSI:献身 >= 4 && COND("口の使用", ASSI)
			PRINTFORMW 把皮卸下来了
			PRINTFORMW 然后把积累的恥垢用舌頭精巧地全部舔舐干净、喉咙咕隆一声咽了下去た……
			CALL KOJO_GUEST, "助手：主人にＰ恥垢清洁口交", ASSI
			CALL SETFLAG, "清洁口交", ASSI, MASTER
		ELSE
			PRINTFORMW 用清潔布仔细地擦拭干净了…
		ENDIF
	ENDSELECT
	CALL RESET_STAIN_EX, "Ｐ", MASTER
ELSEIF LOCAL:1
	SELECTCASE LOCAL:1
	CASE 1
		PRINTFORM %CALLNAME:ASSI%把被侵犯得十分凌乱的%CALLNAME:TARGET%的阴部押開、
		IF (TALENT:ASSI:汚臭無視 || ABL:ASSI:奉仕精神 >= 3) && COND("口の使用", ASSI)
			PRINTFORMW 用舌頭仔细地把汚垢舔舐干净了…
			CALL KOJO_GUEST, "助手：partnerに清洁舔阴", ASSI
			CALL SETFLAG, "清洁舔阴", ASSI, TARGET
		ELSE
			PRINTFORMW 用热毛巾仔细地擦拭干净了…
		ENDIF
		STAIN:Ｖ = SET_STAIN(0, "Ｖ")
	CASE 2
		PRINTFORM %CALLNAME:ASSI%把被侵犯得合不拢嘴巴的%CALLNAME:TARGET%の尻穴押開、
		IF (TALENT:ASSI:汚臭無視 || ABL:ASSI:奉仕精神 >= 7) && COND("口の使用", ASSI)
			PRINTFORMW 把舌頭伸了进去仔细地舔舐汚垢…
			CALL KOJO_GUEST, "助手：partnerに清洁舔A", ASSI
			CALL SETFLAG, "清洁舔A", ASSI, TARGET
		ELSE
			PRINTFORMW 用热毛巾仔细地擦拭干净了…
		ENDIF
		STAIN:Ａ = SET_STAIN(0, "Ａ")
	CASE 3
		IF PENIS(TARGET)
			PRINTFORM %CALLNAME:ASSI%把%CALLNAME:TARGET%还大张着龟頭的阴茎
			IF (TALENT:ASSI:汚臭無視 || ABL:ASSI:奉仕精神 >= 5) && COND("口の使用", ASSI)
				PRINTFORMW 含了进去、把汚垢舔舐干净后仔细地用舌頭清理着…
				CALL KOJO_GUEST, "助手：partnerに清洁口交", ASSI
				CALL SETFLAG, "清洁口交", ASSI, TARGET
			ELSE
				PRINTFORMW 用热毛巾仔细地擦拭干净了…
			ENDIF
			STAIN:Ｐ = SET_STAIN(0, "Ｐ")
		ELSE
			PRINTFORM %CALLNAME:ASSI%把因为被侵犯而变得惨不忍睹的%CALLNAME:TARGET%的那里拉開、把尿道彻底的裸露了出来
			IF (TALENT:ASSI:汚臭無視 || ABL:ASSI:奉仕精神 >= 5) && COND("口の使用", ASSI)
				PRINTFORMW 、用舌頭仔细地舔舐着汚垢…
				CALL KOJO_GUEST, "助手：partnerに清洁舔阴", ASSI
				CALL SETFLAG, "清洁舔阴", ASSI, TARGET
			ELSE
				PRINTFORMW 用热毛巾仔细地擦拭干净了…
			ENDIF
			STAIN:Ｖ = SET_STAIN(0, "Ｖ")
		ENDIF
	CASE 4
		PRINTFORM %CALLNAME:ASSI%把大開着腿露着尿的%CALLNAME:TARGET%的那里掰開、
		IF (TALENT:ASSI:汚臭無視 || ABL:ASSI:奉仕精神 >= 5) && COND("口の使用", ASSI)
			PRINTFORMW 用舌頭仔细地舔舐了之後啾啾地吮吸着尿道…
			CALL KOJO_GUEST, "助手：partnerに清洁舔阴", ASSI
			CALL SETFLAG, "清洁舔阴", ASSI, TARGET
		ELSE
			PRINTFORMW 用热毛巾仔细地擦拭干净了…
		ENDIF
		STAIN:Ｖ = SET_STAIN(0, "Ｖ")
	ENDSELECT
ENDIF
IF LOCAL + LOCAL:1
	CALL BLANKLINE
	TFLAG:助手行動済 = 1
	RETURN 1
ENDIF

@EVENT_ASSI_ITEM, ARGS
;行動済み
SIF ARGS != "調教開始" && TFLAG:助手行動済
	RETURN 0

IF ARGS == "調教開始" && GETBIT(CFLAG:ASSI:助手の指示, 45)
	PRINTL ＜衣服を脱がす＞
	CALL SETFLAG, "衣装全脱ぎ", TARGET
	PRINTFORML %CALLNAME:ASSI%把%CALLNAME:TARGET%剥得一丝不挂！
ENDIF

;潤滑液
IF GETBIT(CFLAG:ASSI:助手の指示, 20) && TEQUIP:潤滑液 == 0 && ITEM:潤滑液 && MIN(PALAM:Ｖ潤, PALAM:Ａ潤) < 10000
	PRINTFORML ＜\@ ARGS != "調教開始" ? オート # \@潤滑液＞
	CALL SETFLAG, "調教外潤滑追加", 10000

	TEQUIP:潤滑液 = 1
	ITEM:潤滑液 -= 1
	TFLAG:助手行動済 = 1
	IF ARGS != "調教開始"
		PRINTFORML %CALLNAME:ASSI%用润滑液把%CALLNAME:TARGET%涂得黏黏糊糊的…
		CALL BLANKLINE
		RETURN 1
	ENDIF
ENDIF

;撮影(撮影されたことがある相手に対してのみ)
IF ARGS == "調教開始" && GETBIT(CFLAG:ASSI:助手の指示, 27) && TEQUIP:攝像機 == 0 && ITEM:撮影機材 && FIRSTCOM(170)
	PRINTL ＜视频拍摄開始＞
	TEQUIP:攝像機 = 1
	TFLAG:助手行動済 = 1
ENDIF

@ASSI_CHANGE_INDICATE, ARG
#DIM MEMO_LINECOUNT
MEMO_LINECOUNT = LINECOUNT
REDRAW 0
CALL BLANKLINE
PRINTFORML %NAME:ARG%的能力一共可以胜任{ABL:ARG:助手}個助手的工作。
PRINTFORML 以下的指示要进行哪一个？
VARSET LOCALS

LOCALS:20 = [20] \@ GETBIT(CFLAG:ARG:助手の指示, 20) ? ○ # － \@ 開始時使用润滑液
LOCALS:21 = [21] \@ GETBIT(CFLAG:ARG:助手の指示, 21) ? ○ # － \@ 開始時使用媚薬

;LOCALS:22 = [22] \@ GETBIT(CFLAG:ARG:助手の指示, 22) ? ○ # － \@ 適度に利尿剤使用

;LOCALS:24 = [24] \@ GETBIT(CFLAG:ARG:助手の指示, 24) ? ○ # － \@ 適度に排卵誘発剤使用

SIF ITEM:撮影機材
	LOCALS:27 = [27] \@ GETBIT(CFLAG:ARG:助手の指示, 27) ? ○ # － \@ 開始時进行撮影（仅限有撮影経験的对象

IF ABL:ARG:奉仕精神 >= 3
	LOCALS:40 = [40] \@ GETBIT(CFLAG:ARG:助手の指示, 40) ? ○ # － \@ 擦拭主人的污迹
	LOCALS:41 = [41] \@ GETBIT(CFLAG:ARG:助手の指示, 41) ? ○ # － \@ 擦拭調教对象的污迹
ENDIF

LOCALS:45 = [45] \@ GETBIT(CFLAG:ARG:助手の指示, 45) ? ○ # － \@ 開始時让調教对象全裸

;SIF ABL:ARG:奉仕精神 >= 3
;	LOCALS:50 = [50] \@ GETBIT(CFLAG:ARG:助手の指示, 50) ? ○ # － \@ 御用商人を互动

FOR LOCAL, 0, 100
	SIF LOCALS:LOCAL != ""
		PRINTFORML  %LOCALS:LOCAL%
NEXT
PRINTFORML [100] 这様就好

$INPUT_LOOP
INPUT

IF RESULT == 100
	REDRAW 1
	RETURN 0
ELSEIF RESULT >= 0 && RESULT < 100 && LOCALS:RESULT != ""
ELSE
	GOTO INPUT_LOOP
ENDIF

LOCAL = RESULT
INVERTBIT CFLAG:ARG:助手の指示, LOCAL

IF NUM_BIT(CFLAG:ARG:助手の指示) > ABL:ARG:助手
	PRINTFORMW 给予的指示数超过了能力上限
	INVERTBIT CFLAG:ARG:助手の指示, LOCAL
ENDIF

CLEARLINE LINECOUNT - MEMO_LINECOUNT
RESTART

;助手に指示する画面
@ASSI_LIST_INDICATE, ARG
IF ABL:ARG:助手 == 0
	PRINTFORM 因为%TEXTS("助手の名称")%还是LV０所以无法给予指示
	RETURN 0
ENDIF

SIF GETBIT(CFLAG:ARG:助手の指示, 20)
	PRINT [潤滑液]
;SIF GETBIT(CFLAG:ARG:助手の指示, 21)
;	PRINT [媚薬]
;SIF GETBIT(CFLAG:ARG:助手の指示, 22)
;	PRINT [利尿剤]

;SIF GETBIT(CFLAG:ARG:助手の指示, 24)
;	PRINT [排卵誘発剤]

SIF GETBIT(CFLAG:ARG:助手の指示, 27)
	PRINT [撮影]

SIF GETBIT(CFLAG:ARG:助手の指示, 40)
	PRINT [对主人进行清洁]
SIF GETBIT(CFLAG:ARG:助手の指示, 41)
	PRINT [对対象进行清洁]
SIF GETBIT(CFLAG:ARG:助手の指示, 45)
	PRINT [让対象全裸]
SIF GETBIT(CFLAG:ARG:助手の指示, 50)
	PRINT [好好招待]

LOCAL:1 = ABL:ARG:助手 - NUM_BIT(CFLAG:ARG:助手の指示)
IF LOCAL:1 > 0
	FOR LOCAL, 0, LOCAL:1
		PRINT []
	NEXT
ENDIF

@ASSI_LIST_ABL, ARG
#DIM LCOUNT

SIF ARG != MASTER
	PRINTPLAINFORM 精{BASE:ARG:精力, 2}
PRINTPLAINFORM 技{ABL:ARG:技巧, 2}
SIF ARG != MASTER
	PRINTPLAINFORM %SUBSTRING(TEXTS("助手の名称"), 0, 2)%{ABL:ARG:助手}

;相性。効果が微妙なものにはテコ入れorコメントアウト
IF TARGET
	IF ARG != TARGET
		IF RELATION:(NO:ARG) >= 200
			PRINTBUTTON "相性☆ ", "相性☆"
		ELSEIF RELATION:(NO:ARG) >= 150
			PRINTBUTTON "相性◎ ", "相性◎"
		ELSEIF RELATION:(NO:ARG) >= 120
			PRINTBUTTON "相性○ ", "相性○"
		ENDIF
	ENDIF
ENDIF

SIF COND("只和你Ｈ", ARG)
	PRINTBUTTON "３Ｐ禁止 ", "３Ｐ禁止"

SIF TALENT:ARG:錬金術
	PRINTBUTTON "調合 ", "調合"

;SIF TALENT:ARG:汚臭無視
;	PRINTBUTTON "汚臭無視 ", "汚臭無視"
;SIF TALENT:ARG:兩面通吃
;	PRINTBUTTON "兩面通吃 ", "兩面通吃"

SIF TALENT:ARG:鼓舞
	PRINTBUTTON "鼓舞 ", "鼓舞"
SIF TALENT:ARG:扶她
	PRINTBUTTON "扶她 ", "扶她"
SIF TALENT:ARG:男性
	PRINTBUTTON "♂ ", "♂"
;SIF TALENT:ARG:禁断的知識
;	PRINTBUTTON "禁断的知識 ", "禁断的知識"
SIF TALENT:ARG:具現
	PRINTBUTTON "具現 ", "具現"
SIF TALENT:ARG:調教知識
	PRINTBUTTON @"%CONDS("調教知識", ARG)% ", CONDS("調教知識", ARG)
SIF TALENT:ARG:甜言蜜语
	PRINTBUTTON "甜言蜜语 ", "甜言蜜语"

VARSET LOCALS
SPLIT CSTR:ARG:建议, "＆", LOCALS

FOR LCOUNT, 0, 10
	SELECTCASE LOCALS:LCOUNT
	CASE ""
		BREAK
	CASE "没有"
		CONTINUE
	CASEELSE
		PRINTBUTTON @"%LOCALS:LCOUNT% ", LOCALS:LCOUNT
	ENDSELECT
NEXT