code:
;SHOP画面で88224646でここに来ます
@DEBUG_MODE
#DIM LCOUNT
#DIMS CHOICES

PRINTL
IF TARGET
	;実行可能指令の確認
	CALL CHECK_COM_ABLE, TARGET

	PRINTFORML  現在的編集対象：%CALLNAME:TARGET%
	CALL PRINT_MAIDFACE, TARGET

	CALL START_PRINT_LINEUP
	PRINTFORM %BL(21)%
	CALL PRINT_DRESSL, TARGET, "短縮表示"

	PRINTFORML %BL(21)%[ 0] CFLAG編集
	PRINTFORML %BL(21)%[ 1] ABL編集
	PRINTFORML %BL(21)%[ 2] EXP編集
	PRINTFORML %BL(21)%[ 3] MARK編集
	PRINTFORML %BL(21)%[ 4] TALENT編集
	PRINTFORML %BL(21)%[ 5] BASE編集
	PRINTFORML %BL(21)%[ 6] JUEL編集
	PRINTFORML %BL(21)%[ 7] 尿道の拡張度合い変更処理（仮）

	CALL PRINT_LINEUP
	CALL PRINT_CUTIN, "縮小", TARGET
	CALL START_PRINT_LINEUP, "CIP"

	PRINTFORML %BL(21)%
	PRINTFORML %BL(21)%[ 8] CSTR確認・編集
	PRINTFORML %BL(21)%[ 9] 制服に更衣
	PRINTFORML %BL(21)%[10] 体操服に更衣
	PRINTFORML %BL(21)%[11] 泳装に更衣

	CALL PRINT_LINEUP, "CIP"

	PRINTFORML  [12] 变成内衣姿态
	PRINTFORML  [13] 便装になる
	PRINTFORML  [14] 居家服になる
	PRINTFORML  [15] 外出装になる
	PRINTFORML  [16] 约会衣装になる
	PRINTL  [17] 穿上自己的内衣
	IF EQUIP:胖次
		PRINTL  [18] NO胖次化
		PRINTL  [19] 穿上带污迹的胖次
	ELSE
		CALL PRINT_STRL, "暗灰色_ [×] NO胖次化"
		CALL PRINT_STRL, "暗灰色_ [×] 穿上带污迹的胖次"
	ENDIF
	IF TARGET != MASTER
		IF CSTR:今年の泳装 != ""
			PRINTL  [20] 穿上今年的泳衣
		ELSE
			CALL PRINT_STRL, "暗灰色_ [×] 穿上今年的泳衣"
		ENDIF
	ENDIF
	PRINTFORML  [21] 脱成裸体

	SIF BASE:胎児 == 0
		SETCOLOR DEF_COLOR("灰色")
	PRINTL  [30] TARGET的胎児性別反転（当然只有妊婦才有效）
	RESETCOLOR
	IF TARGET != MASTER && CFLAG:初期仲間 == 0
		IF COND("現在不在")
			PRINTL  [40] 前往还没有勧誘该角色的平行世界(只有当前房间内没有该角色时才能使用)
		ELSE
			PRINTL  [×] 前往还没有勧誘该角色的平行世界(只有当前房间内没有该角色时才能使用)
		ENDIF
	ENDIF
	PRINTL
ENDIF
PRINTL  [50] FLAG編集
PRINTL  [51] 所持金編集
PRINTL  [52] ITEM編集
PRINTL  [53] 日期変更
PRINTL  [54] 試験を受ける

IF TARGET > MASTER
	PRINTL  [60] 看朝Ｈ事件
	PRINTL  [61] 看夜Ｈ事件
ENDIF

PRINTFORML  [70] 発情開關\@ CEVENT("発情スイッチ", MASTER) ? OFF # ON \@

PRINTL  [99] TARGET変更
PRINTL [100] 不、再考慮一下吧。

$INPUT_LOOP
INPUT

SELECTCASE RESULT
CASE 0 TO 6
	SIF TARGET == 0
		GOTO INPUT_LOOP
CASE 7
	SIF TARGET == 0
		GOTO INPUT_LOOP
	CALL DEBUG_U
	RESTART
CASE 8
	SIF TARGET == 0
		GOTO INPUT_LOOP
	CALL DEBUG_CSTR
	RESTART
CASE 9
	CALL SET_COORDINATE, "制服"
	RESTART
CASE 10
	CALL SET_COORDINATE, "体操服"
	RESTART
CASE 11
	CALL SET_COORDINATE, "泳装"
	RESTART
CASE 12
	CALL SETFLAG, "变成内衣姿态", TARGET
	RESTART
CASE 13
	CALL SET_COORDINATE, "便装"
	RESTART
CASE 14
	CALL SET_COORDINATE, "居家服"
	RESTART
CASE 15
	CALL SET_COORDINATE, "外出装"
	RESTART
CASE 16
	CALL SET_COORDINATE, "约会衣装"
	RESTART
CASE 17
	CALL SET_COORDINATE, "内衣", TARGET
	RESTART
CASE 18
	SIF EQUIP:胖次
		CALL SET_PANTIES, ""
	RESTART
CASE 19
	SIF EQUIP:胖次 && CHECK_PANTIES("開洞带污迹的") == 0
		CALL SETFLAG, "汚胖次化"
	RESTART
CASE 20
	SIF TARGET <= MASTER || CSTR:今年の泳装 == ""
		GOTO INPUT_LOOP
	CALL SET_COORDINATE, "今年の泳装"
	RESTART
CASE 21
	SIF TARGET <= MASTER
		GOTO INPUT_LOOP
	CALL SETFLAG, "扒成裸体", TARGET
	RESTART
CASE 30
	IF TARGET <= 0
		PRINTFORMW 角色を選んでください
	ELSEIF BASE:胎児 == 0
		PRINTFORMW 妊娠してないようです
	ELSEIF COND("妊娠中：息子")
		PRINTFORMW お腹の中の兒童は、『女の子』成为了
		CLEARBIT BASE:胎児, 20
	ELSE
		PRINTFORMW お腹の中の兒童は、『男の子』成为了
		SETBIT BASE:胎児, 20
	ENDIF
	RESTART
CASE 40
	SIF TARGET == MASTER || CFLAG:初期仲間 || COND("現在不在") == 0
		GOTO INPUT_LOOP
	PRINTFORMW %NAME:TARGET%を勧誘していない平行世界に移動しました
	CALL DELETE_CHARA, TARGET
	TARGET = FINDCHARA(CFLAG:優先順位, 1, 2)
	RESTART

CASE 50, 52
CASE 51
	CALL DEBUG_CHANGE_MONEY
	RESTART
CASE 53
	CALL DEBUG_CHANGE_DAY
	RESTART
CASE 54
	FOR LCOUNT, 1, CHARANUM
		LOCAL:LCOUNT = BASE:LCOUNT:学力
	NEXT
	CALL EVENT_ACADEMY, "試験当日"
	DRAWLINE
	CALL EVENT_ACADEMY, "試験結果発表"
	RESTART
;看朝Ｈ事件
CASE 60
	SIF TARGET <= MASTER
		GOTO INPUT_LOOP
	STR:選択肢 = 朝接吻/朝足交/朝舐陰/朝逆正常位/朝六九式/朝口交/朝騎乗位/朝Ａ騎乗位/朝乳交/朝の新妻PLAY/朝添い寝/

	PRINTFORML どのイベントを見ますか？
	PRINTFORML （経験などを得てしまうため閲覧後のデータはセーブ不会うにしてください）
	VARSET LOCALS
	STR:選択肢 += "返回"
	SPLIT STR:選択肢, "/", LOCALS
	CALL PRINT_SELECT, STR:選択肢
	CHOICES = %LOCALS:RESULT%
	SELECTCASE CHOICES
	CASE "返回"
		RESTART
	CASEELSE
		CALL RESET_PARTNER
		CALL EVENT_NEWDAY, CHOICES
		CALL SET_PARTNER
	ENDSELECT

	RESTART
;看夜Ｈ事件
CASE 61
	SIF TARGET <= MASTER
		GOTO INPUT_LOOP
	STR:選択肢 = 夜袭騎乗位/夜袭Ａ騎乗位/添い寝/夜袭接吻/

	PRINTFORML どのイベントを見ますか？
	PRINTFORML （経験などを得てしまうため閲覧後のデータはセーブ不会うにしてください）
	VARSET LOCALS
	STR:選択肢 += "返回"
	SPLIT STR:選択肢, "/", LOCALS
	CALL PRINT_SELECT, STR:選択肢
	CHOICES = %LOCALS:RESULT%
	SELECTCASE CHOICES
	CASE "返回"
		RESTART
	CASEELSE
		CALL RESET_PARTNER
		CALL EVENT_YOBAI, CHOICES
		CALL SET_PARTNER
	ENDSELECT

	RESTART
CASE 70
	IF CEVENT("発情スイッチ", MASTER)
		CALL DEL_CEVENT, "発情スイッチ", MASTER
	ELSE
		CALL SET_CEVENT, "発情スイッチ", MASTER
		CVARSET BASE, GETNUM(BASE, "欲求不満"), 100
		PRINTFORML 発情開關ＯＮ！
		PRINTFORMW 全員発情中！！
	ENDIF
	RESTART
CASE 99
	CALL TARGET_CHANGE_DEBUG_MODE
	RESTART
CASE 100
	RETURN 0
CASEELSE
	GOTO INPUT_LOOP
ENDSELECT

CALL DEBUG_FLAG, RESULT

;TARGETの素質変動など
SIF TARGET
	CALL EVENTCHECK_T

RESTART

@DEBUG_CSTR
#DIM LCOUNT
;改行するかの判定に使う
#DIM NEXT_LINE
#DIM MEMO_LINECOUNT
#DIMS CHOICES
#DIM CHOICE

MEMO_LINECOUNT = LINECOUNT

PRINTL

NEXT_LINE = 0

FOR LCOUNT, 0, VARSIZE("CSTR")

	SIF STRLENS(CSTRNAME:LCOUNT) == 0
		CONTINUE

	NEXT_LINE += 1

	PRINTFORM  [{LCOUNT, 3}] %TEXT_RJ(CSTRNAME:LCOUNT, 20)%

	SIF NEXT_LINE%3 == 0
		PRINTL
NEXT

SIF NEXT_LINE%3
	PRINTL
PRINTFORML [999] 返回
PRINTFORML 表示したいCSTRを選択してください

CALL INPUT_SELECT, VARSIZE("CSTR"), 999

CHOICE = RESULT

SELECTCASE CHOICE
CASE 999
	RETURN 0
CASEELSE
	IF CSTRNAME:CHOICE != ""
		PRINTFORML %CSTR:CHOICE%
		CALL PRINT_STRL, "編集しない場合には何も入力せずリターンしてください。空文字にしたい場合には[_BUTTON_DEL_]と入力してください(阴蒂ックでも可)"
		INPUTS
		CHOICES = %RESULTS%
		SELECTCASE CHOICES
		CASE ""
		CASE "DEL", "del", "ＤＥＬ", "[DEL]"
			CSTR:CHOICE =
			PRINTFORMW 空文字にしました。
		CASEELSE
			CSTR:CHOICE = %CHOICES%
		ENDSELECT
	ENDIF
ENDSELECT

CLEARLINE LINECOUNT - MEMO_LINECOUNT
RESTART

@DEBUG_U
#DIM MEMO_LINECOUNT

PRINTFORML [{TARGET, 2}]%CALLNAME:TARGET%の現在的尿道の太さは{CALCF("尿道径")}mmで、尿道拡張レベルは{ABL:尿道拡張}です
MEMO_LINECOUNT = LINECOUNT
PRINTFORML 要怎么做呢？
PRINTFORML  [ 0]  +1mm
PRINTFORML  [ 1]  +5mm
PRINTFORML  [ 2] +10mm
PRINTFORML  [ 3]  -1mm
PRINTFORML  [ 4]  -5mm
PRINTFORML  [ 5] -10mm
PRINTFORML [100] 終了

CALL INPUT_SELECT, 6, 100

SELECTCASE RESULT
CASE 100
	RETURN 0
CASE 0
	IF PENIS(TARGET)
		CSTR:Ｐ尿道拡張度 = %ADDNUM_STR(CSTR:Ｐ尿道拡張度, 1)%
	ELSE
		CSTR:Ｖ尿道拡張度 = %ADDNUM_STR(CSTR:Ｖ尿道拡張度, 1)%
	ENDIF
CASE 1
	IF PENIS(TARGET)
		CSTR:Ｐ尿道拡張度 = %ADDNUM_STR(CSTR:Ｐ尿道拡張度, 5)%
	ELSE
		CSTR:Ｖ尿道拡張度 = %ADDNUM_STR(CSTR:Ｖ尿道拡張度, 5)%
	ENDIF
CASE 2
	IF PENIS(TARGET)
		CSTR:Ｐ尿道拡張度 = %ADDNUM_STR(CSTR:Ｐ尿道拡張度, 10)%
	ELSE
		CSTR:Ｖ尿道拡張度 = %ADDNUM_STR(CSTR:Ｖ尿道拡張度, 10)%
	ENDIF
CASE 3
	IF PENIS(TARGET)
		CSTR:Ｐ尿道拡張度 = %ADDNUM_STR(CSTR:Ｐ尿道拡張度, -1)%
	ELSE
		CSTR:Ｖ尿道拡張度 = %ADDNUM_STR(CSTR:Ｖ尿道拡張度, -1)%
	ENDIF
CASE 4
	IF PENIS(TARGET)
		CSTR:Ｐ尿道拡張度 = %ADDNUM_STR(CSTR:Ｐ尿道拡張度, -5)%
	ELSE
		CSTR:Ｖ尿道拡張度 = %ADDNUM_STR(CSTR:Ｖ尿道拡張度, -5)%
	ENDIF
CASE 5
	IF PENIS(TARGET)
		CSTR:Ｐ尿道拡張度 = %ADDNUM_STR(CSTR:Ｐ尿道拡張度, -10)%
	ELSE
		CSTR:Ｖ尿道拡張度 = %ADDNUM_STR(CSTR:Ｖ尿道拡張度, -10)%
	ENDIF
ENDSELECT

CALL GET_EXABL_U, TARGET

CLEARLINE LINECOUNT - MEMO_LINECOUNT
RESTART

@TARGET_CHANGE_DEBUG_MODE
X = 1
CALL SHOW_CHARA_LIST, ""
PRINTFORML 対象の番号入力({MASTER}～{CHARANUM - 1})。{CHARANUM}以上の値を入力すると前の画面に返回。

$INPUT_LOOP
INPUT

SIF RESULT < MASTER
	GOTO INPUT_LOOP
SIF RESULT >= CHARANUM
	RETURN 0

TARGET = RESULT

@DEBUG_CHANGE_MONEY
PRINTL 所持金をいくらにしますか？

$INPUT_LOOP
INPUT

IF RESULT >= 0
	MONEY = RESULT
	PRINTFORMW 所持金を%MONEY_C(MONEY)%にしました。
ELSE
	GOTO INPUT_LOOP
ENDIF

@DEBUG_CHANGE_DAY
#DIM LCOUNT
#DIM MEMO_DAY
#DIMS CHOICES

MEMO_DAY = DAY

PRINTFORML 日期を入力してください。何も入力しないと変更しません。
PRINTFORML 現在は{DAY}日、%TEXTS("日期表示")%で、一年は{NUM("１年の長さ")}日です。
PRINTFORML 月～日の曜日を入力すると直近のその曜日になります。

PRINTFORML （日期の近いイベント発生日は以下）
FOR LCOUNT, 0, NUM("１年の長さ")
	DAY += 1
	CALL SETFLAG, "年月日"
	LOCALS = %TEXTS("日期対応イベント")%
	SIF LOCALS == ""
		CONTINUE
	SIF DAYEV(LOCALS, "游戏内") == 0
		CONTINUE
	PRINTFORML [{DAY, 3}] %LOCALS% %TEXTS("曜日")%曜
NEXT
DAY = MEMO_DAY

$INPUT_LOOP
INPUTS

CHOICES = %RESULTS%

SELECTCASE CHOICES
CASE "周一", "月"
	DAY += ABS(1 - (DAY - 1)%7)
CASE "周二", "火"
	DAY += ABS(2 - (DAY - 1)%7)
CASE "周三", "水"
	DAY += ABS(3 - (DAY - 1)%7)
CASE "周四", "木"
	DAY += ABS(4 - (DAY - 1)%7)
CASE "周五", "金"
	DAY += ABS(5 - (DAY - 1)%7)
CASE "周六", "土"
	DAY += ABS(6 - (DAY - 1)%7)
CASE "周日", "日"
	DAY += ABS(7 - (DAY - 1)%7)
CASEELSE
	SELECTCASE TOINT(CHOICES)
	CASE 0
		CALL SETFLAG, "年月日"
		PRINTFORMW 日期を{DAY}日、%TEXTS("日期表示")%のまま、変更しませんでした。
		RETURN 0
	CASE IS > 0
		DAY = TOINT(CHOICES)
	CASEELSE
		GOTO INPUT_LOOP
	ENDSELECT
ENDSELECT

CALL SETFLAG, "年月日"
PRINTFORMW 日期を{DAY}日、%TEXTS("日期表示")%にしました。
;未来に飛んだ際には各角色のご無沙汰の数値を新しいDAYに合わせて変わらないようにする
IF DAY > MEMO_DAY
	FOR LCOUNT, 2, CHARANUM
		CFLAG:LCOUNT:前回Ｈ日 += DAY - MEMO_DAY
	NEXT
ENDIF

;ARGに選んだ選択肢番号が入っている
@DEBUG_FLAG, ARG
#DIM LCOUNT
;改行するかの判定に使う
#DIM NEXT_LINE
;変数ごとの最大値
#DIM MAX_VAR
;変更する変数
#DIMS VARS
;変更する変数名
#DIMS VAR_NAME, VARSIZE("CFLAG")
;変更する変数の値
#DIM VAR_VALUE, VARSIZE("CFLAG")
;選んだ番号
#DIM VAR_CHOSE
#DIM CHOICE

NEXT_LINE = 0

PRINTL
SELECTCASE ARG
CASE 0
	VARS = CFLAG
	MAX_VAR = VARSIZE("CFLAG") - 1
	FOR LCOUNT, 0, MAX_VAR + 1
		VAR_NAME:LCOUNT = %CFLAGNAME:LCOUNT%
		VAR_VALUE:LCOUNT = CFLAG:LCOUNT

		SIF STRLENS(VAR_NAME:LCOUNT) == 0
			CONTINUE

		NEXT_LINE += 1

		PRINTFORM [{LCOUNT, 4}]%TEXT_RJ(VAR_NAME:LCOUNT, 18)%:{VAR_VALUE:LCOUNT, 4}

		SIF NEXT_LINE%3 == 0
			PRINTL
	NEXT

	SIF NEXT_LINE%3
		PRINTL
CASE 1
	VARS = ABL
	MAX_VAR = VARSIZE("ABL") - 1
	FOR LCOUNT, 0, MAX_VAR + 1
		VAR_NAME:LCOUNT = %ABLNAME:LCOUNT%
		VAR_VALUE:LCOUNT = ABL:LCOUNT

		SELECTCASE LCOUNT
		CASE IS < 40, IS >= 50
			SIF STRLENS(ABLNAME:LCOUNT) == 0
				CONTINUE

			NEXT_LINE += 1

			IF ABL:LCOUNT >= 100
				PRINTFORM  [{LCOUNT, 2}]%TEXT_RJ(ABLNAME:LCOUNT, 10)%:{ABL:LCOUNT}
			ELSE
				PRINTFORM  [{LCOUNT, 2}]%TEXT_RJ(ABLNAME:LCOUNT, 10)%:{ABL:LCOUNT, 2}
			ENDIF

			SIF NEXT_LINE%4 == 0
				PRINTL
		ENDSELECT
	NEXT

	SIF NEXT_LINE%4
		PRINTL
CASE 2
	VARS = EXP
	MAX_VAR = VARSIZE("EXP") - 1
	FOR LCOUNT, 0, MAX_VAR + 1
		VAR_NAME:LCOUNT = %EXPNAME:LCOUNT%
		VAR_VALUE:LCOUNT = EXP:LCOUNT

		SIF STRLENS(EXPNAME:LCOUNT) == 0
			CONTINUE

		NEXT_LINE += 1

		PRINTFORM  [{LCOUNT, 2}]%TEXT_RJ(EXPNAME:LCOUNT, 14)%:{EXP:LCOUNT, 4}

		SIF NEXT_LINE%3 == 0
			PRINTL
	NEXT

	SIF NEXT_LINE%3
		PRINTL
CASE 3
	VARS = MARK
	MAX_VAR = VARSIZE("MARK") - 1
	FOR LCOUNT, 0, MAX_VAR + 1
		VAR_NAME:LCOUNT = %MARKNAME:LCOUNT%
		VAR_VALUE:LCOUNT = MARK:LCOUNT

		SIF STRLENS(MARKNAME:LCOUNT) == 0
			CONTINUE

		NEXT_LINE += 1

		PRINTFORM   [{LCOUNT, 2}]%TEXT_RJ(MARKNAME:LCOUNT, 18)%:LV{MARK:LCOUNT, 2}

		SIF NEXT_LINE%2 == 0
			PRINTL
	NEXT

	SIF NEXT_LINE%2
		PRINTL
CASE 4
	VARS = TALENT
	MAX_VAR = VARSIZE("TALENT") - 1
	FOR LCOUNT, 0, MAX_VAR + 1
		VAR_NAME:LCOUNT = %TALENTNAME:LCOUNT%
		VAR_VALUE:LCOUNT = TALENT:LCOUNT

		SIF STRLENS(TALENTNAME:LCOUNT) == 0
			CONTINUE

		NEXT_LINE += 1

		PRINTFORM [{LCOUNT, 3}]%TEXT_RJ(VAR_NAME:LCOUNT, 16)%:{VAR_VALUE:LCOUNT, 4}

		SIF NEXT_LINE%3 == 0
			PRINTL
	NEXT

	SIF NEXT_LINE%3
		PRINTL
CASE 5
	VARS = BASE
	MAX_VAR = VARSIZE("BASE") - 1
	FOR LCOUNT, 0, MAX_VAR + 1
		VAR_NAME:LCOUNT = %BASENAME:LCOUNT%
		VAR_VALUE:LCOUNT = BASE:LCOUNT

		SIF STRLENS(BASENAME:LCOUNT) == 0
			CONTINUE

		NEXT_LINE += 1

		LOCALS = %BL(1)%[{LCOUNT, 3}]%TEXT_RJ(BASENAME:LCOUNT, 14)%:{BASE:LCOUNT, 5}

		SELECTCASE STRLENS(LOCALS)
		CASE IS > 27
			SELECTCASE NEXT_LINE%3
			CASE 0
				PRINTL
			CASE 1
				NEXT_LINE += 2
			CASE 2
				NEXT_LINE += 1
			ENDSELECT
		ENDSELECT

		PRINTFORM %LOCALS%

		SIF NEXT_LINE%3 == 0
			PRINTL
	NEXT

	SIF NEXT_LINE%3
		PRINTL
CASE 6
	VARS = JUEL
	MAX_VAR = VARSIZE("PALAM") - 1
	FOR LCOUNT, 0, MAX_VAR + 1
		SIF PALAMNAME:LCOUNT == ""
			CONTINUE

		VAR_NAME:LCOUNT = %PALAMNAME:LCOUNT%の珠
		VAR_VALUE:LCOUNT = JUEL:LCOUNT

		NEXT_LINE += 1

		PRINTFORM   [{LCOUNT,3}] %PALAMNAME:LCOUNT%の珠:{JUEL:LCOUNT, 8}

		SIF NEXT_LINE%3 == 0
			PRINTL
	NEXT

	SIF NEXT_LINE%3
		PRINTL
CASE 50
	VARS = FLAG
	MAX_VAR = VARSIZE("FLAG") - 1
	FOR LCOUNT, 0, MAX_VAR + 1
		VAR_NAME:LCOUNT = %FLAGNAME:LCOUNT%
		VAR_VALUE:LCOUNT = FLAG:LCOUNT

		SIF STRLENS(VAR_NAME:LCOUNT) == 0
			CONTINUE

		NEXT_LINE += 1

		PRINTFORM [{LCOUNT, 4}]%TEXT_RJ(VAR_NAME:LCOUNT, 22)%:{VAR_VALUE:LCOUNT, 17}

		SIF NEXT_LINE%2 == 0
			PRINTL
	NEXT

	SIF NEXT_LINE%2
		PRINTL

CASE 52
	VARS = ITEM
	MAX_VAR = VARSIZE("ITEM") - 1
	FOR LCOUNT, 0, MAX_VAR + 1
		VAR_NAME:LCOUNT = %ITEMNAME:LCOUNT%
		VAR_VALUE:LCOUNT = ITEM:LCOUNT

		SIF STRLENS(ITEMNAME:LCOUNT) == 0
			CONTINUE

		NEXT_LINE += 1

		PRINTFORM  [{LCOUNT, 3}]%TEXT_RJ(ITEMNAME:LCOUNT, 18)%:{ITEM:LCOUNT, 3}

		SIF NEXT_LINE%3 == 0
			PRINTL
	NEXT

	SIF NEXT_LINE%2
		PRINTL
ENDSELECT

PRINTFORML [99999] 返回
PRINTFORML 変更したい%VARS%を入力してください（最大{MAX_VAR}）

SELECTCASE VARS
CASE "BASE"
	PRINTL なお、体力については、最大値も一緒に変更されます
ENDSELECT

$INPUT_LOOP_1
INPUT

CHOICE = RESULT

SELECTCASE CHOICE
CASE 99999
	RETURN 0
CASE IS < 0, IS > MAX_VAR
	GOTO INPUT_LOOP_1
ENDSELECT

VAR_CHOSE = CHOICE

SELECTCASE ARG
CASE 0
	IF VAR_NAME:VAR_CHOSE == ""
		PRINTFORML CFLAG:{VAR_CHOSE} = {CFLAG:VAR_CHOSE} の変更
	ELSE
		PRINTFORML CFLAG:%VAR_NAME:VAR_CHOSE% = {CFLAG:VAR_CHOSE} の変更
	ENDIF
	PRINTL CFLAGに関しては負の値も入力可能です
CASE 50
	IF VAR_NAME:VAR_CHOSE == ""
		PRINTFORML CFLAG:{VAR_CHOSE} = {CFLAG:VAR_CHOSE} の変更
	ELSE
		PRINTFORML %VARS%:%VAR_NAME:VAR_CHOSE% = {VAR_VALUE:VAR_CHOSE} の変更
	ENDIF
CASEELSE
	SIF VAR_NAME:VAR_CHOSE == ""
		GOTO INPUT_LOOP_1
	PRINTFORML %VARS%:%VAR_NAME:VAR_CHOSE% = {VAR_VALUE:VAR_CHOSE} の変更
ENDSELECT

$INPUT_LOOP_2
INPUT

CHOICE = RESULT

SELECTCASE CHOICE
CASE IS < 0
	SIF VARS != "CFLAG"
		GOTO INPUT_LOOP_2
ENDSELECT

SELECTCASE ARG
CASE 0
	CFLAG:VAR_CHOSE = CHOICE
CASE 1
	ABL:VAR_CHOSE = CHOICE
	SELECTCASE VAR_CHOSE
	CASE GETNUM(ABL, "Ｃ感覚")
		ABL:Ｐ感覚 = ABL:Ｃ感覚
	CASE GETNUM(ABL, "Ｐ感覚")
		ABL:Ｃ感覚 = ABL:Ｐ感覚
	ENDSELECT
CASE 2
	EXP:VAR_CHOSE = CHOICE
CASE 3
	MARK:VAR_CHOSE = CHOICE
CASE 4
	TALENT:VAR_CHOSE = CHOICE
CASE 5
	BASE:VAR_CHOSE = CHOICE
	;体力は最大値も変更
	SIF VAR_CHOSE == 0
		MAXBASE:VAR_CHOSE = CHOICE
CASE 6
	JUEL:VAR_CHOSE = CHOICE
CASE 50
	FLAG:VAR_CHOSE = CHOICE
CASE 52
	ITEM:VAR_CHOSE = CHOICE
ENDSELECT

IF VAR_NAME:VAR_CHOSE == ""
	PRINTFORMW %VARS%:{VAR_CHOSE}を {CHOICE} に変更しました
ELSE
	PRINTFORMW %VARS%:%VAR_NAME:VAR_CHOSE%を {CHOICE} に変更しました
ENDIF

RESTART


code:
@EVENTFIRST
#DIM LCOUNT
#DIM MEMO_LINECOUNT
;Verを最新にする
FLAG:VER_eraAkumaMaid = GAMEBASE_VERSION
;フラグに使う現実時間を取得
CALL GET_REALTIMEFORFLAG

ASSI = 0
DAY = 1
TIME = 2
FLAG:オープニング = 1

DELCHARA 0
;[0]番はドッペル你
;この人の変数を対応した変数の一時保存用に使いまくるので重要な人です
ADDCHARA 99

;[1]番は你
ADDCHARA 0
MASTER = 1

MONEY = 5000

;グローバル変数の読み込み
LOADGLOBAL

$SELECT_MODE

REDRAW 0
MEMO_LINECOUNT = LINECOUNT

PRINTL
;モード選択
PRINTL ★★選択模式与設定★★
PRINTL
PRINTFORML  [ 0] NORMAL
PRINTFORML  [ 1] BILLIONAIRE (所持金100倍。除此之外没有区别)
PRINTFORML  [10] Config
SIF GLOBAL > 0 && FLAG:VER_Config != GLOBAL
	PRINTFORML  [11] Config設定 加载（記録日:{GLOBAL/10000}年{(GLOBAL%10000)/100}月{GLOBAL%100}日）
PRINTFORML [100] 返回

$INPUT_LOOP
INPUT

IF RESULT == 100
	REDRAW 1
	BEGIN TITLE
ELSEIF RESULT == 11 && GLOBAL > 0
	CALL LOAD_CONFIGURE
	CLEARLINE LINECOUNT - MEMO_LINECOUNT
	GOTO SELECT_MODE
ELSEIF RESULT == 10
	CALL SET_CONFIGURE
	CLEARLINE LINECOUNT - MEMO_LINECOUNT
	GOTO SELECT_MODE
ELSEIF RESULT == 1
	MONEY *= 100
	PRINTW 以BILLIONAIRE模式開始
ELSEIF RESULT == 0
ELSE
	GOTO INPUT_LOOP
ENDIF

CALL SETFLAG_OPENING

BEGIN SHOP

@SETFLAG_OPENING
REDRAW 1
FLAG:項目OFF = 0
;バージョン格子はしたものと扱う
FLAG:VERUP格子 = 1

;角色メイク中フラグON
SETBIT FLAG:状況判定, 13

CALL CREATE_MASTER

PLAYER = MASTER
SAVESTR:現在位置 = %CSVCALLNAME(NO:MASTER)%的房間

CALL EVENT_OPENING

ASSI:1 = TARGET
ASSI = TARGET

CALL SETFLAG, "同居：一直", TARGET

@EVENT_OPENING
;オープニングのはじまりはじまり
PRINTL
DRAWLINE
PRINTFORMW 「…………来。……起来。请起来、主人様」
PRINTFORMW 在床上睡觉的%CALLNAME:MASTER%被摇晃着睁開了眼睛、映入眼中的是正看着自己的女仆
PRINTFORMW 带着頭巾、身着整洁的女仆装、还穿着吊带袜……不这个就不太女仆了吧
PRINTFORMW 在眼前站立着的有点焦躁的她……

CALL PRINT_STRW, "黄色_※突然的就開始女仆的角色定制了※"

CALL CHARA_MANUAL, 1
DRAWLINE
TARGET = 2
CFLAG:優先順位 = 1

PRINTL
DRAWLINE
PRINTFORMW 「早上好。一直到我叫您起床之前都在熟睡什么的、还真是够散漫呢」
PRINTFORMW 「………………莫非、您忘了吗？」
PRINTL
SETCOLOR DEF_COLOR("粉紅")
FONTSTYLE 1
PRINTFORMW 「今天可是、%CNAME("二人称")%来袭击还没有醒来的%CNAME("一人称")%的日子呦」
FONTSTYLE 0
RESETCOLOR
PRINTL
PRINTFORMW 時间稍微的向前回退
DRAWLINE
PRINTFORMW 眼前的这个女仆模様的女性其实是……以人的魂为食粮的悪魔！
PRINTFORMW 一切的起因、差不多要从在長期休闲马上要结束、新学期就要開始的数日前
PRINTFORMW %CALLNAME:TARGET%用甜言蜜语让%CALLNAME:MASTER%签订了契約这件事開始
PRINTFORMW ……一般来说、现在应该变成了『因为没几天可活了所以干脆就对眼前的女性自由地做各种各様的事情好了』之类的情况
PRINTL
PRINTFORMW 一般来说的话。
PRINTL
CALL PRINT_STRW, @"然而%CALLNAME:MASTER%、拥有着非常稀少的、可以回復魂的损傷的特殊異能_黄色_[復活]_！"
PRINTFORMW 于是注意到这件事的%CALLNAME:TARGET%和%CALLNAME:MASTER%签订了新的契约
PRINTL
PRINTFORMW 「如果%CNAME("二人称")%愿意的话……要不要和%CNAME("一人称")%换成長期的魂的交易契约？」
PRINTL
;一番最初の仲間は系统信息役も担う
CFLAG:初期仲間 = 1
CALL SETFLAG, "同居解消不可能の自動設定", TARGET
;炮友契約
TALENT:炮友 = 2
ABL:信頼 += 1
CALL PRINT_STRW, @"于是%CALLNAME:MASTER%就和%CALLNAME:TARGET%签订了_黄色_[炮友契約]"
CALL SETFLAG, "合意", TARGET
PRINTL
PRINTFORMW 就这様、我们之间的関係以一个新的起点開始了
PRINTL
PRINTFORMW ……诶？你问什么是魂的交易？
PRINTFORML %CALLNAME:TARGET%曾曰道：
PRINTFORMW 「%CNAME("二人称")%和%CNAME("一人称")%一起变得舒服起来的時候、以及进行交易仪式的時候就可以交易魂了」
PRINTFORMW 大概是这个意思
;PRINTFORMW あとは分かるな！？
DRAWLINE
PRINTFORMW 那么、就请享受和悪魔女仆的快乐故事吧
PRINTFORMW ……要是有余裕的话可以去看看ReadMeの"该同人作独自的Rule等"
DRAWLINE

;これはサービスだ！
ITEM:避孕套 += 3
ITEM:潤滑液 += 1

@CREATE_MASTER
PRINTL
CALL RENEWAL_MASTER
CALL PRINT_STRL, "请选择性別（♀和Futanari会自動的变成_黄色_[兩面通吃]_）"
PRINTL [ 0] ♂
PRINTL [ 1] 伪娘(看上去就像女性一様可愛、行为也非常女性化的少年)
PRINTL [ 2] ♀
PRINTL [ 3] 扶她
CALL INPUT_SELECT, 4

SELECTCASE RESULT
CASE 0
	TALENT:MASTER:高大 = 1
CASE 1
	TALENT:MASTER:伪娘 = 1
CASE 2
	TALENT:MASTER:男性 = 0
	TALENT:MASTER:女性 = 1
	TALENT:MASTER:兩面通吃 = 1
CASE 3
	TALENT:MASTER:男性 = 0
	TALENT:MASTER:扶她 = 1
	TALENT:MASTER:兩面通吃 = 1
ENDSELECT

IF TALENT:MASTER:伪娘
	TALENT:MASTER:外見年齢 = 2
ELSE
	TALENT:MASTER:外見年齢 = 3
ENDIF
;初期ちんこは並＆假性にしておく
TALENT:MASTER:阴茎 = 1
TALENT:MASTER:包茎 = 1

;こいつはサービスだぜ
TALENT:MASTER:性豪 = 1
TALENT:MASTER:復活 = MAX(COND("最強復活"), 100)

;MASTERの感度は全て3LV。尿道感覚以外はね
ABL:MASTER:Ｃ感覚 = 3
ABL:MASTER:Ｖ感覚 = 3
ABL:MASTER:Ａ感覚 = 3
ABL:MASTER:Ｂ感覚 = 3
ABL:MASTER:Ｍ感覚 = 3
ABL:MASTER:技巧 = 2

TFLAG:过滤器 = 0
TFLAG:LINECOUNT記録 = 0
CALL SET_DETAIL, MASTER

SIF CONDS("陰毛", MASTER) == "保养完毕"
	CALL SET_PUBIC_HAIR, MASTER

CALL SETCONFIG, "弱点"
CALL SETCONFIG, "性癖"

;調教知識の選択
CALL SETFLAG, "調教知識の選択", MASTER

CALL CREATE_MASTER_MANUAL
SIF RESULT == 1
	RESTART

;初期变量をここで記録
CALL SETFLAG, "初期变量記録", MASTER

@SET_DETAIL, ARG
#DIM LCOUNT
#DIM MEMO_LINECOUNT
#DIM MEMO_LINECOUNT2
#DIM MEMO_USELINE, 2
#DIM CHOICE
#DIM IS_SELECT, 101

MEMO_LINECOUNT = LINECOUNT
REDRAW 0

;色々設定
EXP:ARG:Ｖ経験 = MAX(EXP:ARG:Ｖ経験, EXP:ARG:Ｖ性交経験, EXP:ARG:Ｖ拡張経験)
IF EXP:ARG:Ｖ経験
	TALENT:ARG:処女 = 0
ELSEIF TALENT:ARG:男性 == 0
	SIF TALENT:ARG:処女 == 0
		TALENT:ARG:処女 = 1
ENDIF

EXP:ARG:Ａ経験 = MAX(EXP:ARG:Ａ経験, EXP:ARG:Ａ性交経験, EXP:ARG:Ａ拡張経験)
IF EXP:ARG:Ａ性交経験
	TALENT:ARG:Ａ処女 = 0
ELSE
	TALENT:ARG:Ａ処女 = 1
ENDIF

TALENT:ARG:尿道処女 = 1

IF EXP:ARG:Ｖ挿入経験
	TALENT:ARG:童貞 = 0
ELSEIF TALENT:ARG:男性
	TALENT:ARG:童貞 = 1
ENDIF

SIF CONFIG("陰毛") && COND("陰毛", ARG) == 0
	CALL SETFLAG, "陰毛と腋毛", ARG

CFLAG:ARG:身嗜み = 0
SELECTCASE COND("陰毛", ARG)
CASE 3
	SETBIT CFLAG:ARG:身嗜み, 1
CASE 5
	SETBIT CFLAG:ARG:身嗜み, 2
CASE 7
	SETBIT CFLAG:ARG:身嗜み, 3
ENDSELECT

SELECTCASE COND("腋毛", ARG)
CASE 3
	SETBIT CFLAG:ARG:身嗜み, 6
CASE 7
	SETBIT CFLAG:ARG:身嗜み, 7
ENDSELECT

CALL SETFLAG, "性器年齢", ARG

VARSET IS_SELECT
PRINTL
CALL PRINT_STRL, "请决定素質和経験。每次按下选项相应的值都会增加、表示为_黄色_MAX_时再按下就会变回最小值"
CALL PRINT_STRL, "（每按下一次経験的变化顺序为 1→5→20→50、其他的值每次增加1、一部分的素質会变化名字）"
SIF COND("池面", ARG)
	PRINTFORML "身材"是女性视角的、对于男性[高大]应该是最适合的
SIF FLAG:オープニング
	CALL PRINT_STRL, "顺便_黄色_Ｖ挿入経験_、_黄色_阴茎尺寸_、_黄色_包皮_、_黄色_技巧_的重要度比较高"
PRINTL

MEMO_LINECOUNT2 = LINECOUNT
IF TFLAG:过滤器 == 0 || TFLAG:LINECOUNT記録 == 0
	;素質
	PRINTFORM  [ 0]　　　　身材:
	IF TALENT:ARG:高大
		CALL PRINT_STRL, "高大 _黄色_MAX"
	ELSEIF TALENT:ARG:娇小
		PRINTFORML 娇小
	ELSEIF TALENT:ARG:伪娘
		CALL PRINT_STRL, "普通 _黄色_MAX"
	ELSE
		PRINTFORML 普通
	ENDIF
	IS_SELECT:0 = 1
	CALL PRINT_STRL, @" [ 1]　　　　肤色:%CONDS("肤色", ARG)% \@ COND("肤色", ARG) >= 3 ? _黄色_MAX # \@"
	IS_SELECT:1 = 1
	PRINTFORM  [ 2]　　　外見年齢:
	SELECTCASE AGE(ARG)
	CASE 1
		PRINTFORML 兒童
	CASE 2
		IF TALENT:ARG:伪娘
			CALL PRINT_STRL, "少年 _黄色_MAX"
		ELSEIF TALENT:ARG:男性
			PRINTFORML 少年
		ELSE
			PRINTFORML ＪＫ
		ENDIF
	CASE 3
		IF TALENT:ARG:男性
			PRINTFORML 青年
		ELSE
			PRINTFORML ＪＤ
		ENDIF
	CASE 4
		CALL PRINT_STRL, "大人 _黄色_MAX"
	ENDSELECT
	IS_SELECT:2 = 1
	PRINTFORM  [ 3]　　　智力:
	IF TALENT:ARG:聰慧
		CALL PRINT_STRL, "聰慧 _黄色_MAX"
	ELSEIF TALENT:ARG:笨蛋
		PRINTFORML 笨蛋
	ELSE
		PRINTFORML 普通
	ENDIF
	IS_SELECT:3 = 1

	IF TALENT:ARG:男性 == 0
		PRINTFORM  [ 4]　　胸の尺寸:
		IF TALENT:ARG:巨乳 >= 3
			CALL PRINT_STRL, "超乳 _黄色_MAX"
		ELSEIF TALENT:ARG:巨乳 >= 2
			PRINTFORML 爆乳
		ELSEIF TALENT:ARG:巨乳
			PRINTFORML 巨乳
		ELSEIF TALENT:ARG:貧乳
			PRINTFORML 貧乳
		ELSE
			PRINTFORML 普通
		ENDIF
		IS_SELECT:4 = 1
	ENDIF

	IF TALENT:ARG:男性 == 0 && CONFIG("乳頭肥大")
		CALL PRINT_STRL, @" [ 5]　　　乳頭肥大:{TALENT:ARG:乳頭肥大, 2} \@ TALENT:ARG:乳頭肥大 >= 3 ? _黄色_MAX # \@"
		IS_SELECT:5 = 1
	ENDIF
	IF TALENT:ARG:男性 == 0 && CONFIG("陥没乳頭")
		CALL PRINT_STRL, @" [ 6]　　　陥没乳頭:{TALENT:ARG:陥没乳頭, 2} \@ TALENT:ARG:陥没乳頭 >= 3 ? _黄色_MAX # \@"
		IS_SELECT:6 = 1
	ENDIF
	IF TALENT:ARG:男性 == 0 && CONFIG("巨乳輪")
		CALL PRINT_STRL, @" [ 7]　　　　巨乳輪:{TALENT:ARG:巨乳輪, 2} \@ TALENT:ARG:巨乳輪 >= 3 ? _黄色_MAX # \@"
		IS_SELECT:7 = 1
	ENDIF
	IF PENIS(ARG) == 0 && CONFIG("陰核肥大")
		CALL PRINT_STRL, @" [ 8]　　　陰核肥大:{TALENT:ARG:陰核肥大, 2} \@ TALENT:ARG:陰核肥大 >= 3 ? _黄色_MAX # \@"
		IS_SELECT:8 = 1
	ENDIF
	IF PENIS(ARG) == 0 && CONFIG("陰核包茎")
		CALL PRINT_STRL, @" [ 9]　　　陰核包茎:\@ COND("陰核包茎", ARG) ? 包茎 # 露出 \@ \@ TALENT:ARG:陰核包茎 ? _黄色_MAX # \@"
		IS_SELECT:9 = 1
	ENDIF
	IF PENIS(ARG)
		PRINTFORM  [10]　阴茎尺寸:
		SELECTCASE TALENT:ARG:阴茎
		CASE IS >= 3
			CALL PRINT_STRL, "馬根 _黄色_MAX"
		CASE 2
			PRINTFORML 巨根
		CASE 1
			PRINTFORML 普通
		CASE 0
			PRINTFORML 短小
		ENDSELECT
		IS_SELECT:10 = 1
		PRINTFORM  [11]　　　　包皮:
		IF COND("真性包茎", ARG)
			CALL PRINT_STRL, "真性包茎 _黄色_MAX"
		ELSEIF COND("假性包茎", ARG)
			PRINTFORML 假性包茎
		ELSE
			PRINTFORML 无包皮
		ENDIF
		IS_SELECT:11 = 1

		PRINTFORM  [12]　　　我慢強さ:
		IF TALENT:ARG:遅漏
			CALL PRINT_STRL, "遅漏 _黄色_MAX"
		ELSEIF TALENT:ARG:早漏
			PRINTFORML 早漏
		ELSE
			PRINTFORML 普通
		ENDIF
		IS_SELECT:12 = 1
	ENDIF

	PRINTFORM  [13]　　尻の尺寸:
	IF TALENT:ARG:巨尻 >= 3
		CALL PRINT_STRL, "超尻 _黄色_MAX"
	ELSEIF TALENT:ARG:巨尻 >= 2
		PRINTFORML 爆尻
	ELSEIF TALENT:ARG:巨尻
		PRINTFORML 巨尻
	ELSEIF TALENT:ARG:小尻
		PRINTFORML 小尻
	ELSE
		PRINTFORML 普通
	ENDIF
	IS_SELECT:13 = 1

	IF TALENT:ARG:男性 == 0
		PRINTFORM  [14]　　湿的やすさ:
		IF TALENT:ARG:容易濕
			CALL PRINT_STRL, "容易濕 _黄色_MAX"
		ELSEIF TALENT:ARG:不易濕
			PRINTFORML 不易濕
		ELSE
			PRINTFORML 普通
		ENDIF
		IS_SELECT:14 = 1
	ENDIF

	IF CONFIG("陰毛")
		CALL PRINT_STRL, @" [15]　　　　　陰毛:%CONDS("陰毛", ARG)% \@ COND("陰毛", ARG) >= 7 ? _黄色_MAX # \@"
		IS_SELECT:15 = 1
	ENDIF
	IF CONFIG("腋毛")
		CALL PRINT_STRL, @" [16]　　　　　%TEXTS("腋")%毛:%CONDS("腋毛", ARG)% \@ COND("腋毛", ARG) >= 7 ? _黄色_MAX # \@"
		IS_SELECT:16 = 1
	ENDIF
	IF CONFIG("性器年齢") && TALENT:ARG:男性 == 0
		CALL PRINT_STRL, @" [17]　　　性器年齢:{TALENT:ARG:性器年齢, 2} %TALENT_NAME(GETNUM(TALENT, "性器年齢"), TALENT:ARG:性器年齢)% \@ COND("黑木耳", ARG) ? _黄色_MAX # \@"
		IS_SELECT:17 = 1
	ENDIF

	;ABL
	CALL PRINT_STRL, @" [20]　　　　　技巧:{ABL:ARG:技巧, 2} \@ ABL:ARG:技巧 >= 5 ? _黄色_MAX # \@"
	IS_SELECT:20 = 1
	CALL PRINT_STRL, @" [21]　　　施虐属性:{ABL:ARG:施虐属性, 2} \@ ABL:ARG:施虐属性 >= 5 ? _黄色_MAX # \@"
	IS_SELECT:21 = 1
	CALL PRINT_STRL, @" [22]　　　受虐属性:{ABL:ARG:受虐属性, 2} \@ ABL:ARG:受虐属性 >= 5 ? _黄色_MAX # \@"
	IS_SELECT:22 = 1

	;経験
	CALL PRINT_STRL, @" [30]　　　　Ａ経験:{EXP:ARG:Ａ経験, 2} \@ EXP:ARG:Ａ経験 >= 50 ? _黄色_MAX # \@"
	IS_SELECT:30 = 1
	CALL PRINT_STRL, @" [31]　　Ａ性交経験:\@ TALENT:ARG:Ａ処女 ? Ａ処女 # {EXP:ARG:Ａ性交経験, 2} \@ \@ EXP:ARG:Ａ性交経験 >= 50 ? _黄色_MAX # \@"
	IS_SELECT:31 = 1
	CALL PRINT_STRL, @" [32]　　Ａ拡張経験:{EXP:ARG:Ａ拡張経験, 2} \@ EXP:ARG:Ａ拡張経験 >= 20 ? _黄色_MAX # \@"
	IS_SELECT:32 = 1
	IF TALENT:ARG:男性 == 0
		CALL PRINT_STRL, @" [35]　　　　Ｖ経験:\@ TALENT:ARG:処女 ? 処女 # {EXP:ARG:Ｖ経験, 2} \@ \@ EXP:ARG:Ｖ経験 >= 50 ? _黄色_MAX # \@"
		IS_SELECT:35 = 1
		CALL PRINT_STRL, @" [36]　　Ｖ性交経験:{EXP:ARG:Ｖ性交経験, 2} \@ EXP:ARG:Ｖ性交経験 >= 50 ? _黄色_MAX # \@"
		IS_SELECT:36 = 1
		CALL PRINT_STRL, @" [37]　　Ｖ拡張経験:{EXP:ARG:Ｖ拡張経験, 2} \@ EXP:ARG:Ｖ拡張経験 >= 20 ? _黄色_MAX # \@"
		IS_SELECT:37 = 1
	ENDIF
	IF PENIS(ARG)
		CALL PRINT_STRL, @" [40]　　Ｖ挿入経験:\@ EXP:ARG:Ｖ挿入経験 ? {EXP:ARG:Ｖ挿入経験, 2} # 童貞 \@ \@ EXP:ARG:Ｖ挿入経験 >= 50 ? _黄色_MAX # \@"
		IS_SELECT:40 = 1
		CALL PRINT_STRL, @" [41]　　Ａ挿入経験:{EXP:ARG:Ａ挿入経験, 2} \@ EXP:ARG:Ａ挿入経験 >= 50 ? _黄色_MAX # \@"
		IS_SELECT:41 = 1
	ENDIF
ENDIF

;周回専用
IF TFLAG:过滤器 == 1 || TFLAG:LINECOUNT記録 == 0
	CALL PRINT_STRL, @" [60]　　　謎之魅力:{TALENT:ARG:謎之魅力, 2} \@ TALENT:ARG:謎之魅力 >= COND("最強謎之魅力") ? _黄色_MAX # \@"
	IS_SELECT:60 = 1
	CALL PRINT_STRL, @" [61]　　　甜言蜜语:{TALENT:ARG:甜言蜜语, 2} \@ TALENT:ARG:甜言蜜语 >= COND("最強甜言蜜语") ? _黄色_MAX # \@"
	IS_SELECT:61 = 1
	CALL PRINT_STRL, @" [62]　　　　大力士:{TALENT:ARG:大力士, 2} \@ TALENT:ARG:大力士 >= COND("最強大力士") ? _黄色_MAX # \@"
	IS_SELECT:62 = 1
	CALL PRINT_STRL, @" [63]　　　　　性豪:{TALENT:ARG:性豪, 2} \@ TALENT:ARG:性豪 >= COND("最強性豪") ? _黄色_MAX # \@"
	IS_SELECT:63 = 1
	CALL PRINT_STRL, @" [64]　　禁断的知識:{TALENT:ARG:禁断的知識, 2} \@ TALENT:ARG:禁断的知識 >= COND("最強禁断的知識") ? _黄色_MAX # \@"
	IS_SELECT:64 = 1
	CALL PRINT_STRL, @" [65]　　射精量強化:{TALENT:ARG:射精量強化, 2} \@ TALENT:ARG:射精量強化 >= COND("最強射精量強化") ? _黄色_MAX # \@"
	IS_SELECT:65 = 1
	CALL PRINT_STRL, @" [66]　　　　　豊穣:{TALENT:ARG:豊穣, 2} \@ TALENT:ARG:豊穣 >= COND("最強豊穣") ? _黄色_MAX # \@"
	IS_SELECT:66 = 1
	IF PENIS(ARG)
		CALL PRINT_STRL, @" [67]　　　小种马:{TALENT:ARG:小种马, 2} \@ TALENT:ARG:小种马 >= COND("最強小种马") ? _黄色_MAX # \@"
		IS_SELECT:67 = 1
		CALL PRINT_STRL, @" [68]　　　　　業物:{TALENT:ARG:業物, 2} \@ TALENT:ARG:業物 >= COND("最強業物") ? _黄色_MAX # \@"
		IS_SELECT:68 = 1
	ENDIF

	CALL PRINT_STRL, @" [70]　天性の舌靈活:{TALENT:ARG:天性の舌靈活, 2} \@ TALENT:ARG:天性の舌靈活 >= 3 ? _黄色_MAX # \@"
	IS_SELECT:70 = 1
	CALL PRINT_STRL, @" [71]　天性の指靈活:{TALENT:ARG:天性の指靈活, 2} \@ TALENT:ARG:天性の指靈活 >= 3 ? _黄色_MAX # \@"
	IS_SELECT:71 = 1
	CALL PRINT_STRL, @" [72]　天性の腰靈活:{TALENT:ARG:天性の腰靈活, 2} \@ TALENT:ARG:天性の腰靈活 >= 3 ? _黄色_MAX # \@"
	IS_SELECT:72 = 1
	CALL PRINT_STRL, @" [73]　　天性の魔乳:{TALENT:ARG:天性の魔乳, 2} \@ TALENT:ARG:天性の魔乳 >= 3 ? _黄色_MAX # \@"
	IS_SELECT:73 = 1

	CALL PRINT_STRL, @" [74]　　　　Ｖ名器:{TALENT:ARG:Ｖ名器, 2} \@ TALENT:ARG:Ｖ名器 >= 3 ? _黄色_MAX # \@"
	IS_SELECT:74 = 1
	CALL PRINT_STRL, @" [75]　　　　Ａ名器:{TALENT:ARG:Ａ名器, 2} \@ TALENT:ARG:Ａ名器 >= 3 ? _黄色_MAX # \@"
	IS_SELECT:75 = 1
	CALL PRINT_STRL, @" [76]　　　尿道名器:{TALENT:ARG:尿道名器, 2} \@ TALENT:ARG:尿道名器 >= 3 ? _黄色_MAX # \@"
	IS_SELECT:76 = 1
	CALL PRINT_STRL, @" [77]　　　　喉名器:{TALENT:ARG:喉名器, 2} \@ TALENT:ARG:喉名器 >= 3 ? _黄色_MAX # \@"
	IS_SELECT:77 = 1
ENDIF

;縦の長さを測る
IF TFLAG:LINECOUNT記録 == 0
	VARSET MEMO_USELINE
	FOR LCOUNT, 0, 100
		SIF IS_SELECT:LCOUNT == 0
			CONTINUE
		SELECTCASE LCOUNT
		;通常角色メイク
		CASE IS < 60
			MEMO_USELINE:0 += 1
		;周回専用
		CASEELSE
			MEMO_USELINE:1 += 1
		ENDSELECT
	NEXT
	TFLAG:LINECOUNT記録 = MAX(MEMO_USELINE:0, MEMO_USELINE:1)
	CLEARLINE LINECOUNT - MEMO_LINECOUNT
	RESTART
ENDIF
CALL MULTILINE, TFLAG:LINECOUNT記録 - (LINECOUNT - MEMO_LINECOUNT2)

IF TFLAG:过滤器 == 0
	PRINTFORML  [90]Ａ相関经验全部变成0
	IS_SELECT:90 = 1
	IF TALENT:ARG:男性
		PRINTFORML  [91]插入相関经验全部变成0
	ELSE
		PRINTFORML  [91]Ｖ相関经验全部变成0
	ENDIF
	IS_SELECT:91 = 1
ELSE
	PRINTFORML  [96]周目专用奖励全部变成0
	IS_SELECT:96 = 1
	PRINTFORML  [97]周目专用奖励全部变成MAX
	IS_SELECT:97 = 1
ENDIF
IF FLAG:周回数
	IF TFLAG:过滤器 == 0
		PRINTFORML  [98]打開周目专用奖励设定画面
	ELSE
		PRINTFORML  [98]返回通常画面
	ENDIF
	IS_SELECT:98 = 1
ENDIF
PRINTFORML  [99]打開角色制作相関的confige画面
PRINTFORML [100]決定
IS_SELECT:99 = 1
IS_SELECT:100 = 1

$INPUT_LOOP
INPUT

CHOICE = RESULT

IF IS_SELECT:CHOICE == 0
	CLEARLINE LINECOUNT - MEMO_LINECOUNT
	RESTART
ENDIF
SELECTCASE CHOICE
CASE 100
	IF TALENT:ARG:禁断的知識 >= 2
		TALENT:ARG:具現 = 1
	ELSE
		TALENT:ARG:具現 = 0
	ENDIF
	REDRAW 1
	RETURN 1
CASE 99
	CALL SET_CONFIGURE, "角色定制関連"
CASE 98
	INVERTBIT TFLAG:过滤器, 0
CASE 97
	TALENT:ARG:謎之魅力 = COND("最強謎之魅力")
	TALENT:ARG:甜言蜜语 = COND("最強甜言蜜语")
	TALENT:ARG:大力士 = COND("最強大力士")
	TALENT:ARG:性豪 = COND("最強性豪")
	TALENT:ARG:禁断的知識 = COND("最強禁断的知識")
	TALENT:ARG:射精量強化 = COND("最強射精量強化")
	TALENT:ARG:豊穣 = COND("最強豊穣")
	IF PENIS(ARG)
		TALENT:ARG:小种马 = COND("最強小种马")
		TALENT:ARG:業物 = COND("最強業物")
	ENDIF
	TALENT:ARG:天性の舌靈活 = 3
	TALENT:ARG:天性の指靈活 = 3
	TALENT:ARG:天性の腰靈活 = 3
	TALENT:ARG:天性の魔乳 = 3
	TALENT:ARG:Ｖ名器 = 3
	TALENT:ARG:Ａ名器 = 3
	TALENT:ARG:尿道名器 = 3
	TALENT:ARG:喉名器 = 3

CASE 96
	TALENT:ARG:謎之魅力 = 0
	TALENT:ARG:甜言蜜语 = 0
	TALENT:ARG:大力士 = 0
	TALENT:ARG:性豪 = 0
	TALENT:ARG:禁断的知識 = 0
	TALENT:ARG:射精量強化 = 0
	TALENT:ARG:豊穣 = 0
	TALENT:ARG:小种马 = 0
	TALENT:ARG:業物 = 0
	TALENT:ARG:天性の舌靈活 = 0
	TALENT:ARG:天性の指靈活 = 0
	TALENT:ARG:天性の腰靈活 = 0
	TALENT:ARG:天性の魔乳 = 0
	TALENT:ARG:Ｖ名器 = 0
	TALENT:ARG:Ａ名器 = 0
	TALENT:ARG:尿道名器 = 0
	TALENT:ARG:喉名器 = 0

CASE 90
	EXP:ARG:Ａ経験 = 0
	EXP:ARG:Ａ性交経験 = 0
	EXP:ARG:Ａ拡張経験 = 0
CASE 91
	IF TALENT:ARG:男性
		EXP:ARG:Ｖ挿入経験 = 0
		EXP:ARG:Ａ挿入経験 = 0
	ELSE
		EXP:ARG:Ｖ経験 = 0
		EXP:ARG:Ｖ性交経験 = 0
		EXP:ARG:Ｖ拡張経験 = 0
	ENDIF

CASE 0
	IF TALENT:ARG:娇小
		TALENT:ARG:娇小 = 0
		TALENT:ARG:高大 = 0
	ELSEIF TALENT:ARG:高大 || TALENT:ARG:伪娘
		TALENT:ARG:娇小 = 1
		TALENT:ARG:高大 = 0
	ELSE
		TALENT:ARG:娇小 = 0
		TALENT:ARG:高大 = 1
	ENDIF
CASE 1
	TALENT:ARG:肤色 += 1
	SIF TALENT:ARG:肤色 >= 4
		TALENT:ARG:肤色 = 0
CASE 2
	TALENT:ARG:外見年齢 += 1
	IF TALENT:ARG:伪娘
		SIF TALENT:ARG:外見年齢 >= 3
			TALENT:ARG:外見年齢 = 1
	ELSEIF TALENT:ARG:外見年齢 >= 5
		TALENT:ARG:外見年齢 = 1
	ENDIF
CASE 3
	IF TALENT:ARG:聰慧
		TALENT:ARG:聰慧 = 0
		TALENT:ARG:笨蛋 = 1
	ELSEIF TALENT:ARG:笨蛋
		TALENT:ARG:聰慧 = 0
		TALENT:ARG:笨蛋 = 0
	ELSE
		TALENT:ARG:聰慧 = 1
		TALENT:ARG:笨蛋 = 0
	ENDIF
CASE 4
	IF TALENT:ARG:巨乳 >= 3
		TALENT:ARG:貧乳 = 1
		TALENT:ARG:巨乳 = 0
	ELSEIF TALENT:ARG:貧乳
		TALENT:ARG:貧乳 = 0
	ELSE
		TALENT:ARG:巨乳 += 1
	ENDIF
CASE 5
	TALENT:ARG:乳頭肥大 += 1
	SIF TALENT:ARG:乳頭肥大 >= 4
		TALENT:ARG:乳頭肥大 = 0
CASE 6
	TALENT:ARG:陥没乳頭 += 1
	SIF TALENT:ARG:陥没乳頭 >= 4
		TALENT:ARG:陥没乳頭 = 0
CASE 7
	TALENT:ARG:巨乳輪 += 1
	SIF TALENT:ARG:巨乳輪 >= 4
		TALENT:ARG:巨乳輪 = 0
CASE 8
	TALENT:ARG:陰核肥大 += 1
	SIF TALENT:ARG:陰核肥大 >= 4
		TALENT:ARG:陰核肥大 = 0
CASE 9
	TALENT:ARG:陰核包茎 += 1
	SIF TALENT:ARG:陰核包茎 >= 2
		TALENT:ARG:陰核包茎 = 0
CASE 10
	TALENT:ARG:阴茎 += 1
	SIF TALENT:ARG:阴茎 >= 4
		TALENT:ARG:阴茎 = 0
CASE 11
	TALENT:ARG:包茎 += 1
	SIF TALENT:ARG:包茎 >= 3
		TALENT:ARG:包茎 = 0
CASE 12
	IF TALENT:ARG:遅漏
		TALENT:ARG:遅漏 = 0
		TALENT:ARG:早漏 = 1
	ELSEIF TALENT:ARG:早漏
		TALENT:ARG:遅漏 = 0
		TALENT:ARG:早漏 = 0
	ELSE
		TALENT:ARG:遅漏 = 1
		TALENT:ARG:早漏 = 0
	ENDIF
CASE 13
	IF TALENT:ARG:巨尻 >= 3
		TALENT:ARG:小尻 = 1
		TALENT:ARG:巨尻 = 0
	ELSEIF TALENT:ARG:小尻
		TALENT:ARG:小尻 = 0
	ELSE
		TALENT:ARG:巨尻 += 1
	ENDIF
CASE 14
	IF TALENT:ARG:容易濕
		TALENT:ARG:容易濕 = 0
		TALENT:ARG:不易濕 = 1
	ELSEIF TALENT:ARG:不易濕
		TALENT:ARG:容易濕 = 0
		TALENT:ARG:不易濕 = 0
	ELSE
		TALENT:ARG:容易濕 = 1
		TALENT:ARG:不易濕 = 0
	ENDIF
CASE 15
	BASE:ARG:陰毛 += 100
	SIF BASE:ARG:陰毛 >= 800
		BASE:ARG:陰毛 = 100
CASE 16
	BASE:ARG:腋毛 += 100
	SIF BASE:ARG:腋毛 >= 800
		BASE:ARG:腋毛 = 100
CASE 17
	IF COND("黑木耳", ARG)
		TALENT:ARG:性器年齢 = 1
	ELSE
		TALENT:ARG:性器年齢 += 1
	ENDIF
CASE 20
	ABL:ARG:技巧 += 1
	SIF ABL:ARG:技巧 >= 6
		ABL:ARG:技巧 = 0
CASE 21
	ABL:ARG:施虐属性 += 1
	SIF ABL:ARG:施虐属性 >= 6
		ABL:ARG:施虐属性 = 0
CASE 22
	ABL:ARG:受虐属性 += 1
	SIF ABL:ARG:受虐属性 >= 6
		ABL:ARG:受虐属性 = 0
CASE 30
	EXP:ARG:Ａ経験 = EXP_LV(GET_EXP_LV(EXP:ARG:Ａ経験) + 1)
	SIF EXP:ARG:Ａ経験 > 50
		EXP:ARG:Ａ経験 = 0
	EXP:ARG:Ａ性交経験 = MIN(EXP:ARG:Ａ性交経験, EXP:ARG:Ａ経験)
	EXP:ARG:Ａ拡張経験 = MIN(EXP:ARG:Ａ拡張経験, EXP:ARG:Ａ経験)
CASE 31
	EXP:ARG:Ａ性交経験 = EXP_LV(GET_EXP_LV(EXP:ARG:Ａ性交経験) + 1)
	SIF EXP:ARG:Ａ性交経験 > 50
		EXP:ARG:Ａ性交経験 = 0
CASE 32
	EXP:ARG:Ａ拡張経験 = EXP_LV(GET_EXP_LV(EXP:ARG:Ａ拡張経験) + 1)
	SIF EXP:ARG:Ａ拡張経験 > 20
		EXP:ARG:Ａ拡張経験 = 0
CASE 35
	EXP:ARG:Ｖ経験 = EXP_LV(GET_EXP_LV(EXP:ARG:Ｖ経験) + 1)
	SIF EXP:ARG:Ｖ経験 > 50
		EXP:ARG:Ｖ経験 = 0
	EXP:ARG:Ｖ性交経験 = MIN(EXP:ARG:Ｖ性交経験, EXP:ARG:Ｖ経験)
	EXP:ARG:Ｖ拡張経験 = MIN(EXP:ARG:Ｖ拡張経験, EXP:ARG:Ｖ経験)
CASE 36
	EXP:ARG:Ｖ性交経験 = EXP_LV(GET_EXP_LV(EXP:ARG:Ｖ性交経験) + 1)
	SIF EXP:ARG:Ｖ性交経験 > 50
		EXP:ARG:Ｖ性交経験 = 0
CASE 37
	EXP:ARG:Ｖ拡張経験 = EXP_LV(GET_EXP_LV(EXP:ARG:Ｖ拡張経験) + 1)
	SIF EXP:ARG:Ｖ拡張経験 > 20
		EXP:ARG:Ｖ拡張経験 = 0
CASE 40
	EXP:ARG:Ｖ挿入経験 = EXP_LV(GET_EXP_LV(EXP:ARG:Ｖ挿入経験) + 1)
	SIF EXP:ARG:Ｖ挿入経験 > 50
		EXP:ARG:Ｖ挿入経験 = 0
CASE 41
	EXP:ARG:Ａ挿入経験 = EXP_LV(GET_EXP_LV(EXP:ARG:Ａ挿入経験) + 1)
	SIF EXP:ARG:Ａ挿入経験 > 50
		EXP:ARG:Ａ挿入経験 = 0

CASE 60
	TALENT:ARG:謎之魅力 += 1
	SIF TALENT:ARG:謎之魅力 > COND("最強謎之魅力")
		TALENT:ARG:謎之魅力 = 0
CASE 61
	TALENT:ARG:甜言蜜语 += 1
	SIF TALENT:ARG:甜言蜜语 > COND("最強甜言蜜语")
		TALENT:ARG:甜言蜜语 = 0
CASE 62
	TALENT:ARG:大力士 += 1
	SIF TALENT:ARG:大力士 > COND("最強大力士")
		TALENT:ARG:大力士 = 0
CASE 63
	TALENT:ARG:性豪 += 1
	SIF TALENT:ARG:性豪 > COND("最強性豪")
		TALENT:ARG:性豪 = 0
CASE 64
	TALENT:ARG:禁断的知識 += 1
	SIF TALENT:ARG:禁断的知識 > COND("最強禁断的知識")
		TALENT:ARG:禁断的知識 = 0
CASE 65
	TALENT:ARG:射精量強化 += 1
	SIF TALENT:ARG:射精量強化 > COND("最強射精量強化")
		TALENT:ARG:射精量強化 = 0
CASE 66
	TALENT:ARG:豊穣 += 1
	SIF TALENT:ARG:豊穣 > COND("最強豊穣")
		TALENT:ARG:豊穣 = 0
CASE 67
	TALENT:ARG:小种马 += 1
	SIF TALENT:ARG:小种马 > COND("最強小种马")
		TALENT:ARG:小种马 = 0
CASE 68
	TALENT:ARG:業物 += 1
	SIF TALENT:ARG:業物 > COND("最強業物")
		TALENT:ARG:業物 = 0

CASE 70
	TALENT:ARG:天性の舌靈活 += 1
	SIF TALENT:ARG:天性の舌靈活 > 3
		TALENT:ARG:天性の舌靈活 = 0
CASE 71
	TALENT:ARG:天性の指靈活 += 1
	SIF TALENT:ARG:天性の指靈活 > 3
		TALENT:ARG:天性の指靈活 = 0
CASE 72
	TALENT:ARG:天性の腰靈活 += 1
	SIF TALENT:ARG:天性の腰靈活 > 3
		TALENT:ARG:天性の腰靈活 = 0
CASE 73
	TALENT:ARG:天性の魔乳 += 1
	SIF TALENT:ARG:天性の魔乳 > 3
		TALENT:ARG:天性の魔乳 = 0

CASE 74
	TALENT:ARG:Ｖ名器 += 1
	SIF TALENT:ARG:Ｖ名器 > 3
		TALENT:ARG:Ｖ名器 = 0
CASE 75
	TALENT:ARG:Ａ名器 += 1
	SIF TALENT:ARG:Ａ名器 > 3
		TALENT:ARG:Ａ名器 = 0
CASE 76
	TALENT:ARG:尿道名器 += 1
	SIF TALENT:ARG:尿道名器 > 3
		TALENT:ARG:尿道名器 = 0
CASE 77
	TALENT:ARG:喉名器 += 1
	SIF TALENT:ARG:喉名器 > 3
		TALENT:ARG:喉名器 = 0
ENDSELECT

CLEARLINE LINECOUNT - MEMO_LINECOUNT
RESTART

;MASTER作成用関数
@CREATE_MASTER_MANUAL
#DIM LCOUNT
#DIM MEMO_LINECOUNT
#DIM CHOICE

REDRAW 0

MEMO_LINECOUNT = LINECOUNT
PRINTL

IF CEVENT("同一性保持", MASTER) == 0
	;MASTERの複製作成(いくつかの素質などを随机変更するので、変更前の角色を保存する)
	ADDCOPYCHARA MASTER

	IF FLAG:周回数 == 0
		FOR LCOUNT, 0, 4
			SELECTCASE RAND:10 + ABL:MASTER:技巧
			CASE 0 TO 2
				LOCAL = 0
			CASE 3 TO 5
				LOCAL = 1
			CASE 6 TO 8
				LOCAL = 2
			CASEELSE
				LOCAL = 3
			ENDSELECT

			SELECTCASE LCOUNT
			CASE 0
				TALENT:MASTER:天性の舌靈活 = LOCAL
			CASE 1
				TALENT:MASTER:天性の指靈活 = LOCAL
			CASE 2
				TALENT:MASTER:天性の腰靈活 = LOCAL
			CASE 3
				SIF TALENT:MASTER:男性 == 0
					TALENT:MASTER:天性の魔乳 = LOCAL
			ENDSELECT
		NEXT
	ENDIF

	FOR LCOUNT, 0, 100
		SIF EXP:MASTER:LCOUNT
			EXP:MASTER:LCOUNT = MAX(MULTIPLY(EXP:MASTER:LCOUNT, 50 + (RAND:6 + RAND:6)*10), 1)
	NEXT

	CALL SETFLAG, "識別番号", MASTER
	CALL RESET_EXP_GAIN, MASTER
	CALL GET_EXABL, MASTER
	CALL GET_EXTALENT, MASTER
	CALL SET_3SIZE, MASTER
	;これは設定済みなのでいらない
	;CALL SETFLAG, "乳頭の詳細設定", MASTER
	;CALL SETFLAG, "陰核の詳細設定", MASTER
	CALL SETFLAG, "属性", MASTER
	CALL CHECK_FAV_POSITION, MASTER
	CALL SET_COUNTER_BASE
	CALL VARSET_MAIDFACE, MASTER
	CALL SET_COORDINATE, "内衣", MASTER
	CALL SET_COORDINATE, "制服", MASTER
	CALL SET_CEVENT, "同一性保持", MASTER
ENDIF

CALL NEW_PRINT_STATE, MASTER, "角色メイク"
PRINTL
PRINTFORML 这様可以了吗？（[ 3]在变更完後也会随机属性）
PRINTFORML [ 0]确定　[ 1]重新设定　[ 2]重新加载　[ 3]名前変更　[ 4]confige　[ 5]颜绘を\@ CFLAG:MASTER:颜绘 ? 変更 # 設定 \@する
CALL INPUT_SELECT, 6
CHOICE = RESULT

SELECTCASE CHOICE
CASE 0, 1
	REDRAW 1
	CALL DEL_CEVENT, "同一性保持", MASTER
	DELCHARA CHARANUM-1
	RETURN CHOICE
CASE 2
	CALL DEL_CEVENT, "同一性保持", MASTER
	;現在的MASTERの各パラメータを保存されていたものに戻し、変更前角色を消す
	COPYCHARA CHARANUM-1, MASTER
	DELCHARA CHARANUM-1
;[3]～を選択した場合には角色を保つようにする
CASE 3
	CALL NAME_CONVERT, MASTER

	;変更前の保存用角色にも反映させる
	NAME:(CHARANUM - 1) = %NAME:MASTER%
	CALLNAME:(CHARANUM - 1) = %CALLNAME:MASTER%
	NICKNAME:(CHARANUM - 1) = %NICKNAME:MASTER%
CASE 4
	CALL SET_CONFIGURE, "角色定制関連"
CASE 5
	CALL SIMULATE_MAIDFACE, MASTER
	CALL SETFLAG, "髪の記録", MASTER
	CALL SETFLAG, "表情の記録", MASTER

	;変更前の保存用角色にも反映させる
	CALL SETFLAG, "髪記録からの復元", CHARANUM - 1
	CALL SETFLAG, "表情記録からの復元", CHARANUM - 1
	CFLAG:(CHARANUM - 1):颜绘 = CFLAG:MASTER:颜绘
	CSTR:(CHARANUM - 1):所持内衣 = %CSTR:MASTER:所持内衣%
ENDSELECT

CLEARLINE LINECOUNT - MEMO_LINECOUNT
RESTART

@RENEWAL_MASTER, ARGS
#DIM LCOUNT
#DIMS MEMO_CSTR, 200
#DIM MEMO_CFLAG

VARSET MEMO_CSTR
VARSET MEMO_CFLAG

;颜绘関係は全引継ぎ
MEMO_CFLAG = CFLAG:MASTER:颜绘
FOR LCOUNT, 0, 90
	SELECTCASE CSTRNAME:LCOUNT
	CASE "弱点", "性癖", "称号", "学年", "所持内衣"
		MEMO_CSTR:LCOUNT = %CSTR:MASTER:LCOUNT%
	ENDSELECT
NEXT
FOR LCOUNT, 90, 110
	MEMO_CSTR:LCOUNT = %CSTR:MASTER:LCOUNT%
NEXT

SELECTCASE ARGS
CASE "作り直し"
	DELCHARA CHARANUM-1
	ADDCHARA 0
CASEELSE
	VARSET TALENT:MASTER:0, 0
	VARSET CFLAG:MASTER:0, 0
	VARSET ABL:MASTER:0, 0
	VARSET EXP:MASTER:0, 0
	VARSET MARK:MASTER:0, 0
	VARSET JUEL:MASTER:0, 0
	VARSET CSTR:MASTER:0, ""

	ABL:MASTER:技巧 = 0
	TALENT:MASTER:男性 = 1
	;妊娠イベントなど、ベースフラグの重置
	VARSET BASE:MASTER:0, 0, 20, 60
	VARSET TCVAR:MASTER:0
ENDSELECT

CFLAG:MASTER:颜绘 = MEMO_CFLAG
FOR LCOUNT, 0, 110
	CSTR:MASTER:LCOUNT = %MEMO_CSTR:LCOUNT%
NEXT

;-------------------------------------------------
;※次の周に移行すると以下が起きます※"
;1.日期が１年目の１日目に戻り、角色も初期化＆未勧誘に返回
;2.你の角色メイクで周回限定の操作が追加される
;3.周回数と、[恋慕]or[淫乱]にした人数に応じた実行値のBOUNSを得る(永続＆周回ごとに純増)
;-------------------------------------------------
@GAME_RENEWAL
#DIM LCOUNT
#DIM IS_NewGamePlus

DRAWLINE
PRINTFORMW 次の周回への移行を開始します。
;	DRAWLINE
;	PRINTFORML ……%CALLNAME:MASTER%と弗理希艾尔の能力を保ちますか？
;	CALL PRINT_SELECT, "是/重置する"
;	SELECTCASE RESULT
;	CASE 0
;		IS_NewGamePlus = 1
;	CASEELSE
;		IS_NewGamePlus = 0
;	ENDSELECT

;フラグに使う現実時間を取得
CALL GET_REALTIMEFORFLAG
DAY = 1
TIME = 2
CALL SETFLAG, "年月日"

;前周の勧誘角色を記録
SAVESTR:前周の勧誘角色 =
FOR LCOUNT, 2, CHARANUM
	SAVESTR:前周の勧誘角色 += @"%CSVCALLNAME(NO:LCOUNT)%/"
NEXT

;角色消去
;IF IS_NewGamePlus
;	FOR LCOUNT, 3, CHARANUM
;		DELCHARA 3
;	NEXT
;ELSE
	FOR LCOUNT, 2, CHARANUM
		DELCHARA 2
	NEXT
;ENDIF

;FLAG消去
FLAG:角色介绍 = 0
FLAG:勧誘可能 = 0
FLAG:標語 = 0
FLAG:昼の相手 = 0
FLAG:夜の相手 = 0
FLAG:個室 = 0
FLAG:季節イベントフラグ = 0
FLAG:点心当番 = 0
FLAG:便当制作者 = 0
FLAG:この周での陥落人数 = 0
;SAVESTR消去
FOR LCOUNT, 0, 100
	SELECTCASE LCOUNT
	;残すもの
	CASE 30 TO 39, GETNUM(SAVESTR, "陥落角色"), GETNUM(SAVESTR, "前周の勧誘角色")
	CASEELSE
		SAVESTR:LCOUNT =
	ENDSELECT
NEXT
SAVESTR:前周まででの陥落角色 = %SAVESTR:陥落角色%

VARSET STR
VARSET TFLAG
TARGET = 1
;你の最強パラを更新
CALL SETFLAG, "最強パラ記録"
CALL RENEWAL_MASTER, "作り直し"

FLAG:周回数 += 1
DRAWLINE
CALL SETFLAG_OPENING

PRINTFORMW 那么请享受第{FLAG:周回数 + 1}周目。

CALL EVENTSHOP_MAIN

license: unknown


code:
@SYSTEM_TITLE
;@SYSTEM_TITLEが定義されていると、標準の标题画面の代わりにSYSTEM_TITLEが呼ばれる。

;この領帯ミングでグローバル変数を読んでおけば取りこぼしが無くなる。
;GLOBALはRESETDATAやLOADDATAによって初期化・上書きされない。
;必要に応じてコメントアウトを解除すること。
;LOADGLOBAL

;颜绘パネルの作成
SIF SPRITEGETCOLOR("颜绘パネル1", 0, 0) < 0
	CALL MADEFACEPHOTO

;CBG関連の重置
CALL EFFECT_ALLRESET

;标题表示
$TITLE_SELECT

;[IF_NDEBUG]
	CALL MULTILINE, WINDOWROWS() - 10
	HTML_PRINT "<shape type='space' param='3600'><img src='TITLE' height='3600' ypos='-3300'>"
;[ENDIF]

DRAWLINE

ALIGNMENT CENTER
PRINTFORML %GAMEBASE_TITLE%
PRINTFORML %VERS_eraAkumaMaid()%
PRINTFORML %GAMEBASE_AUTHOR%
PRINTFORML (%GAMEBASE_YEAR%)
PRINTL
PRINTFORML 汉化版仅为学习日语的交流之用，禁止一切盗用、商用行为
PRINTL
PRINTFORML %GAMEBASE_INFO%
ALIGNMENT LEFT

DRAWLINE

;選択肢表示。_Rename.csvで指定した値を読むことはできないのでここで指定する必要がある。
PRINTL [0] 從最初開始
PRINTL [1] 讀档继續

$TITLE_INPUT
INPUT
IF RESULT == 0
	DRAWLINE
	RESETDATA
	;ADDDEFCHARAはeramakerの動作を再現するために存在する専用の関数です
	;他の場面ではADDCHARA、ADDSPCHARA等を使うことを勧めます
	ADDDEFCHARA
	BEGIN FIRST
	RETURN
ELSEIF RESULT == 1
	LOADGLOBAL
	SELECTCASE GLOBAL:最新ＳＬ番号
	CASE 0 TO 98
		CALL LOADGAME_EX, GLOBAL:最新ＳＬ番号/20
	CASEELSE
		CALL LOADGAME_EX
	ENDSELECT
	GOTO TITLE_SELECT
	;LOADGAME_EXでLOADを行わずに回来了場合、もう一度選択しなおす。
ELSE
	CLEARLINE 1
	REUSELASTLINE 無効な値です
	GOTO TITLE_INPUT
ENDIF

;SYSTEM_TITLE中でRETURNすると次に実行する行が無くなり、エラーになる。
;必ずBEGIN命令かLOADGAMEを行うこと。


code:
@EVENTEND
#PRI
REDRAW 1
;二人推倒の時には、きちんと二回ここに来るのに注意

SIF FLAG:助手を調教した == 0
	FLAG:助手の調教で終了 = ASSIPLAY

;PLAYERをMASTERに直す
SIF PLAYER != MASTER
	CALL SETFLAG, "調教者交代", 1

;恋慕を外した時に戻し忘れているなら、ここで復帰
CALL SETFLAG, "助手相手の恋慕外し終了"

CALL CHECK_SATISFACTION, TARGET
CALL CHECK_SATISFACTION, ASSI

CALL SETFLAG, "調教終了", TARGET
CALL SETFLAG, "調教終了", MASTER
SIF ASSI
	CALL SETFLAG, "調教終了", ASSI

@EVENTEND
#LATER

;調教中フラグOFF
FLAG:状況判定 = 0
FLAG:助手の調教で終了 = 0
IF FLAG:助手を調教した != 2

	CALL BLANKLINE
	IF EQUIP:Ｈ的奖励
		PRINTFORML 和%CALLNAME:TARGET%的奖励Ｈ結束了。
	ELSEIF FLAG:放課後Ｈ
		PRINTFORML 和%CALLNAME:TARGET%的放課後Ｈ結束了。
	ELSE
		PRINTFORML 和%CALLNAME:TARGET%的秘事结束了。
	ENDIF

	;録画したビデオを売却
	CALL SELL_VIDEO

	;調教後行為の格子
	CALL SELF_CHECK

	;助手の調教終了時特典
	CALL AFTERTRA_BONUS_ADVISER
ENDIF

CALL EVENT_AFTER_TRAIN

BEGIN ABLUP

@EVENT_AFTER_TRAIN
;体力の上昇格子
CALL EVENT_GROWTH

;体力と精力が減り過ぎていたら回復させる
BASE:精力 = MAX(BASE:精力, MAXBASE:精力/4)
BASE:体力 = MAX(BASE:体力, MAXBASE:体力/4)

;Ｈ的写真
CALL SHOW_TRAINPHOTO

;何の珠を得られたか
CALL JUEL_CHECK

;TFLAG初期化
VARSET TFLAG

;調教経験を増やす
EXP:Ｈ回数 += 1

;日期の記録
CFLAG:前回Ｈ日 = DAY
CFLAG:前回お相手日 = DAY

@EVENT_AFTER_TRAIN_COS, ARG
#DIM MEMO_TIME
#DIM MEMO_DAY
#DIMS MEMO_PLACE

;PRINTFORM %SAVESTR:現在位置%, %TEXTS("時間")% →

MEMO_TIME = TIME
MEMO_DAY = DAY
MEMO_PLACE = %SAVESTR:現在位置%

CALL SETFLAG, "次の時間帯のＴＰＯ"

;PRINTFORML %SAVESTR:現在位置%, %TEXTS("時間")%

;汚れを初期化
CALL RESET_STAIN_EX, "老廃物以外全部", ARG

;便装に着替えてもらう。ここでは次の時間の衣装になる
CALL SET_COORDINATE, "内衣", ARG
CALL SET_COORDINATE, "便装", ARG

TIME = MEMO_TIME
DAY = MEMO_DAY
SAVESTR:現在位置 = %MEMO_PLACE%

@SHOW_TRAINPHOTO
#DIM LCOUNT
#DIMS PHOTOS, 100
#DIM NUM_PHOTO

VARSET PHOTOS
NUM_PHOTO = 0
VARSET LOCALS
SPLIT SAVESTR:Ｈ中の撮影履歴, "/", LOCALS

FOR LCOUNT, 0, 100
	SIF LOCALS:LCOUNT == ""
		BREAK
	;partnerが写っているか判別
	SIF STRCOUNT(LOCALS:LCOUNT, CALLNAME:TARGET) == 0
		CONTINUE
	PHOTOS:NUM_PHOTO = 『%LOCALS:LCOUNT%』
	NUM_PHOTO += 1
NEXT
;一枚も撮っていない場合はここで終わり
SIF NUM_PHOTO == 0
	RETURN 0

DRAWLINE
PRINTFORML 今回撮影的%CALLNAME:TARGET%的Ｈ的写真、
FOR LCOUNT, 0, NUM_PHOTO
	SIF PHOTOS:LCOUNT == ""
		BREAK
	PRINTFORML %PHOTOS:LCOUNT%
NEXT
PRINTFORMW 共{NUM_PHOTO}枚（類似・重複除外）。

@JUEL_CHECK
#DIM LCOUNT
#DIM BONUS
;指导者能力などでのBOUNS
#DIM EX_BONUS, 16
#DIM MEMO_LV
#DIM MEMO_TEC
#DIM MEMO_LINECOUNT
#DIM MEMO_REDRAW
#DIM A_JUST
#DIM V_JUST
#DIM U_JUST

DRAWLINE
VARSET LOCAL
BONUS = 0
VARSET EX_BONUS
;性欲などの充足BOUNS
IF COND("性欲大満足")
	PRINT 性欲大満足
	BONUS += MIN(ABL:欲望, 10) + 5
ELSEIF COND("性欲満足")
	PRINT 性欲満足
	BONUS += MIN(ABL:欲望/2, 4) + 1
ENDIF
IF COND("精液欲大満足")
	SIF BONUS
		PRINT ＆
	PRINT 精液欲大満足
	BONUS += MIN(ABL:精液中毒*2, 10) + 5
ELSEIF COND("精液欲満足")
	SIF BONUS
		PRINT ＆
	PRINT 精液欲満足
	BONUS += MIN(ABL:精液中毒, 4) + 1
ENDIF
IF EX:連続絶頂 >= 3
	SIF BONUS
		PRINT ＆
	PRINTFORM 連続絶頂{EX:連続絶頂}COMBO
	BONUS += LIMIT(EX:連続絶頂 - 2, 1, 5)
ENDIF

IF BONUS
	PRINTL BOUNS！
	PRINTFORML 獲得的珠增加了{BONUS}％（反感の珠减少了{BONUS}％）
	CALL BLANKLINE
ENDIF
IF EXP_GAIN("媚薬経験")
	SETCOLOR DEF_COLOR("イエロー")
	PRINTL ※因为使用了媚薬、所以獲得的珠的量減少了※
	RESETCOLOR
	CALL BLANKLINE
ENDIF
;-------------------------------------------------
;指导者BOUNS
;-------------------------------------------------
SIF CADV("天才肌")
	EX_BONUS:3 = 5
SIF CADV("好奇の視線")
	EX_BONUS:4 = 5
IF CADV("急成長") && TARGET == ASSI:1
	IF COND("性欲大満足")
		EX_BONUS:3 += 10
	ELSEIF COND("性欲満足")
		EX_BONUS:3 += 5
	ENDIF
	IF COND("精液欲大満足")
		EX_BONUS:3 += 10
	ELSEIF COND("精液欲満足")
		EX_BONUS:3 += 5
	ENDIF
ENDIF
;-------------------------------------------------
;反感の珠の打ち消し格子
;-------------------------------------------------
CALL VARSET_DENIAL_CHECK
FOR LCOUNT, 0, 16
	SELECTCASE PALAMNAME:LCOUNT
	CASE ""
		CONTINUE
	CASE "反感"
		GOTJUEL:LCOUNT = MULTIPLY(GET_JUEL(LCOUNT), 100 - BONUS)
		JUEL:0:LCOUNT = JUEL:LCOUNT + GOTJUEL:LCOUNT
	CASEELSE
		GOTJUEL:LCOUNT = MULTIPLY(GET_JUEL(LCOUNT), 100 + BONUS + EX_BONUS:LCOUNT)
		JUEL:0:LCOUNT = JUEL:LCOUNT + GOTJUEL:LCOUNT
	ENDSELECT
NEXT
CALL DENIAL_CHECK
;-------------------------------------------------

PRINTL 調教の結果：
SELECTCASE CFLAG:好感度 - TCVAR:好感度開始前
CASE IS > 0
	CALL PRINT_STRW, @"好感度到達{CFLAG:好感度}_爱心粉紅_(+{CFLAG:好感度 - TCVAR:好感度開始前})_。"
CASE IS < 0
	CALL PRINT_STRW, @"好感度到達{CFLAG:好感度}_青_(-{TCVAR:好感度開始前 - CFLAG:好感度})_。"
CASE 0
	CALL PRINT_STRW, @"好感度{CFLAG:好感度}沒有變化。"
ENDSELECT

SELECTCASE BASE:魂 - TCVAR:收集的魂開始前
CASE IS > 0
	CALL PRINT_STRW, @"收集的魂到達%TEXTS("0.01", BASE:魂)%_爱心粉紅_(+%TEXTS("0.01", BASE:魂 - TCVAR:收集的魂開始前)%)_。"
ENDSELECT

CALL BLANKLINE
FOR LCOUNT, 0, 16
	SIF PALAMNAME:LCOUNT == ""
		CONTINUE

	PRINTFORM %PALAMNAME:LCOUNT%の珠：({JUEL:LCOUNT, 10} \@ GOTJUEL:LCOUNT >= 0 ? + # - \@
	IF GOTJUEL:LCOUNT > 0
		SETCOLOR DEF_COLOR("黄色")
	ELSEIF GOTJUEL:LCOUNT < 0
		SETCOLOR DEF_COLOR("青")
	ENDIF
	PRINTFORM {ABS(GOTJUEL:LCOUNT), 10}
	RESETCOLOR

	JUEL:LCOUNT += GOTJUEL:LCOUNT

	PRINTFORML = {JUEL:LCOUNT, 10}\)
NEXT

PRINTW 獲得了以上的珠。

;絶頂BOUNSはここで重置
JUEL:快ＣBOUNS = 0
JUEL:快ＶBOUNS = 0
JUEL:快ＡBOUNS = 0
JUEL:快ＢBOUNS = 0
JUEL:快ＭBOUNS = 0
JUEL:快尿BOUNS = 0

CALL BLANKLINE
MEMO_LINECOUNT = LINECOUNT

FOR LCOUNT, 0, 100
	SELECTCASE LCOUNT
	CASE 4 TO 7
		CONTINUE
	ENDSELECT

	SIF EXPNAME:LCOUNT != "" && EXP_GAIN(EXPNAME:LCOUNT)
		PRINTFORML %TEXT_RJ(EXPNAME:LCOUNT, 16)%＋{EXP_GAIN(EXPNAME:LCOUNT), 3}
NEXT

IF LINECOUNT > MEMO_LINECOUNT
	PRINTFORMW 以上的経験\@ EXP_GAIN("経験値") ? 和、経験値{EXP_GAIN("経験値")}Ｐ #  \@獲得了。
ELSEIF EXP_GAIN("経験値")
	PRINTFORMW 獲得了経験値{EXP_GAIN("経験値")}Ｐ。
ELSE
	CLEARLINE 1
ENDIF

;精液のやり取り
CALL BLANKLINE
IF EX:絶対搾精量 && EX:主人への絶対射精量
	PRINTFORMW 这次%CALLNAME:TARGET%被%TEXTS("間柄の", MASTER)%%CALLNAME:MASTER%射进了{EX:絶対搾精量}ml精液、并反过来射出了{EX:主人への絶対射精量}ml的精液。
ELSEIF EX:絶対搾精量
	PRINTFORM %CALLNAME:TARGET%被%TEXTS("間柄の", MASTER)%%CALLNAME:MASTER%给
	IF COND("避孕套搾精量")
		IF COND("避孕套搾精量") != EX:絶対搾精量
			PRINTFORMW 注入了{EX:絶対搾精量 - COND("避孕套搾精量")}ml精液、在避孕套里射出了{COND("避孕套搾精量")}ml精液。
		ELSE
			PRINTFORMW 在避孕套里射出了{COND("避孕套搾精量")}ml精液。
		ENDIF
	ELSE
		PRINTFORMW 注入了{EX:絶対搾精量}ml精液。
	ENDIF
ELSEIF EX:主人への絶対射精量
	PRINTFORMW %CALLNAME:TARGET%向%TEXTS("間柄の", MASTER)%的%CALLNAME:MASTER%注入了{EX:主人への絶対射精量}ml的精液。
ELSE
	CLEARLINE 1
ENDIF

;完美契合のアナウンス
V_JUST = 0
A_JUST = 0
U_JUST = 0

IF EXP_GAIN("Ｖ性交経験")
	SIF COND("Ｖ完美契合")
		V_JUST = 1
	CLEARBIT TALENT:完美契合, 0

	CALL CALC, "Ｖ履歴：記憶母数", TARGET
	SIF CHECK("Ｖ完美契合", TARGET, MASTER)
		SETBIT TALENT:完美契合, 0
	SIF V_JUST == 0 && COND("Ｖ完美契合")
		CALL PRINT_STRW, @"UH_%CALLNAME:TARGET%獲得了_黄色_[Ｖ完美契合]_ _UH"
ENDIF
IF EXP_GAIN("Ａ性交経験")
	SIF COND("Ａ完美契合")
		A_JUST = 1
	CLEARBIT TALENT:完美契合, 1

	CALL CALC, "Ａ履歴：記憶母数", TARGET
	SIF CHECK("Ａ完美契合", TARGET, MASTER)
		SETBIT TALENT:完美契合, 1
	SIF A_JUST == 0 && COND("Ａ完美契合")
		CALL PRINT_STRW, @"UH_%CALLNAME:TARGET%獲得了_黄色_[Ａ完美契合]_ _UH"
ENDIF
IF EXP_GAIN("尿道性交経験")
	SIF COND("尿道完美契合")
		U_JUST = 1
	CLEARBIT TALENT:完美契合, 2

	CALL CALC, "尿道履歴：記憶母数", TARGET
	SIF CHECK("尿道完美契合", TARGET, MASTER)
		SETBIT TALENT:完美契合, 2
	SIF U_JUST == 0 && COND("尿道完美契合")
		CALL PRINT_STRW, @"UH_%CALLNAME:TARGET%獲得了_黄色_[Ｕ完美契合]_ _UH"
ENDIF

;欲求不満の解消
LOCAL = 0
SELECTCASE BASE:性欲
CASE IS >= MAXBASE:性欲 * 2
	LOCAL += 99
CASE IS >= MAXBASE:性欲
	LOCAL += 75
CASE IS >= 1
	LOCAL += 25
CASEELSE
	LOCAL += 5
ENDSELECT

SELECTCASE BASE:精液欲
CASE IS >= MAXBASE:精液欲 * 2
	LOCAL += 75
CASE IS >= MAXBASE:精液欲
	LOCAL += 50
CASE IS >= 1
	LOCAL += 25
ENDSELECT

;欲望と精液欲を同時に満足させると、欲求不満が大幅に解消される
SIF COND("性欲満足") && COND("精液欲満足")
	LOCAL += 100

;欲求不満の解消
IF BASE:欲求不満 && COND("性欲満足") + COND("精液欲満足")
	CALL BLANKLINE
	MEMO_LINECOUNT = LINECOUNT

	SETCOLOR DEF_COLOR("黄色")
	IF COND("性欲満足") && COND("精液欲満足")
		PRINTFORMW %CALLNAME:TARGET%的欲求不満完全解消了！
	ELSEIF COND("性欲満足") || COND("精液欲満足")
		PRINTFORMW %CALLNAME:TARGET%的欲求不満大幅解消了。
	ENDIF
	RESETCOLOR

	SIF LINECOUNT == MEMO_LINECOUNT
		CLEARLINE 1
ENDIF

CALL CALC, "欲求不満解消", TARGET, LOCAL

MEMO_REDRAW = CURRENTREDRAW()
REDRAW 0

DRAWLINE
MEMO_LINECOUNT = LINECOUNT

;ＶＡ拡張レベルを自動レベルアップにしているならそれの判定と表示
;ちなみに開始時のABLはTCVARの800番台で全て記録されている
FOR LCOUNT, 0, 32
	;性別の問題などで表示されないものを選別
	SELECTCASE ABLNAME:LCOUNT
	CASE "Ｖ拡張"
		SIF TALENT:男性
			CONTINUE
		;上限を上回っている場合には戻す
		ABL:Ｖ拡張 = MIN(CALCF("Ｖ拡張の上限", TARGET), ABL:Ｖ拡張)
		;ＶＡ拡張度を手動で不给場合は、自動的に最大レベルになる
		SIF CONFIG("ＶＡ拡張の手動ＬＶＵＰ") == 0
			ABL:Ｖ拡張 = CALCF("Ｖ拡張の上限", TARGET)
		SIF TCVAR:Ｖ拡張 >= ABL:Ｖ拡張
			CONTINUE
		REDRAW 1
		PRINTFORMW %CALLNAME:TARGET%通过积累経験、%ABLNAME:LCOUNT%变成了LV{ABL:Ｖ拡張}。
	CASE "Ａ拡張"
		;上限を上回っている場合には戻す
		ABL:Ａ拡張 = MIN(CALCF("Ａ拡張の上限", TARGET), ABL:Ａ拡張)
		;ＶＡ拡張度を手動で不给場合は、自動的に最大レベルになる
		SIF CONFIG("ＶＡ拡張の手動ＬＶＵＰ") == 0
			ABL:Ａ拡張 = CALCF("Ａ拡張の上限", TARGET)
		SIF TCVAR:Ａ拡張 >= ABL:Ａ拡張
			CONTINUE
		REDRAW 1
		PRINTFORMW %CALLNAME:TARGET%通过积累経験、%ABLNAME:LCOUNT%变成了LV{ABL:Ａ拡張}。
	CASE "喉拡張"
		SIF TCVAR:喉拡張 >= ABL:喉拡張
			CONTINUE
		REDRAW 1
		PRINTFORMW %CALLNAME:TARGET%通过积累経験、%ABLNAME:LCOUNT%变成了LV{ABL:喉拡張}。
	CASE "尿道拡張"
		SIF TCVAR:尿道拡張 >= ABL:尿道拡張
			CONTINUE
		REDRAW 1
		PRINTFORMW %CALLNAME:TARGET%通过积累経験、%ABLNAME:LCOUNT%变成了LV{ABL:尿道拡張}。
	ENDSELECT
NEXT

IF LINECOUNT == MEMO_LINECOUNT
	CLEARLINE 1
ELSE
	DRAWLINE
ENDIF

;縦深菊穴の自動取得
IF CONFIG("使い込まれ素質の自動獲得")
	IF TALENT:縦深菊穴 == 0
		IF EXP:Ａ経験 >= 300 + RAND:200 && EXP:Ａ拡張経験 >= 20 + RAND:30 && ABL:Ａ拡張 >= 3 + RAND:3
			CALL PRINT_STRW, @"%CALLNAME:TARGET%的尻穴、由于过度的使用变成了_黄色_[縦深菊穴]_。"
			TALENT:縦深菊穴 = 1
		ENDIF
	ENDIF
ENDIF

REDRAW MEMO_REDRAW

RETURN 0

;反感の珠の打ち消し処理でドッペル你のパラメーターを判定に用いる
@VARSET_DENIAL_CHECK
;JUELの20番までを初期化
VARSET JUEL:0:0, 0, 0, 20

@DENIAL_CHECK
#DIM LCOUNT
#DIM NO_JUEL
;各珠の減少量
#DIM LOSE_JUEL, 16
;減らす量
#DIM VALUE_LOSE
SIF JUEL:0:反感 == 0
	RETURN 0

PRINTL 発生反感の珠抵消其他珠的事件。

VARSET LOSE_JUEL

FOR LCOUNT, 0, 100
	;欲情・恭順・屈服の珠が無いなら、恥情・苦痛・恐怖の珠を減らす
	IF JUEL:0:恭順 + JUEL:0:欲情 + JUEL:0:屈服
		IF JUEL:0:恭順 && RANDIF(1, JUEL:0:欲情, JUEL:0:屈服)
			NO_JUEL = 0
		ELSEIF JUEL:0:欲情 && RANDIF(1, JUEL:0:屈服)
			NO_JUEL = 1
		ELSE
			NO_JUEL = 2
		ENDIF
	ELSEIF JUEL:0:恥情 + JUEL:0:苦痛 + JUEL:0:恐怖
		IF JUEL:0:恥情 && RANDIF(1, JUEL:0:苦痛, JUEL:0:恐怖)
			NO_JUEL = 4
		ELSEIF JUEL:0:苦痛 && RANDIF(1, JUEL:0:恐怖)
			NO_JUEL = 5
		ELSE
			NO_JUEL = 6
		ENDIF
	ELSE
		BREAK
	ENDIF

	VALUE_LOSE = LIMIT(JUEL:0:反感 / 2, 1, JUEL:0:NO_JUEL)

	LOSE_JUEL:NO_JUEL += VALUE_LOSE

	JUEL:0:NO_JUEL -= VALUE_LOSE
	JUEL:0:反感 -= VALUE_LOSE

	GOTJUEL:NO_JUEL -= VALUE_LOSE
	GOTJUEL:反感 -= VALUE_LOSE

	SIF JUEL:0:反感 <= 0
		BREAK
NEXT
;減少量表示
FOR LCOUNT, 0, 16
	SIF LOSE_JUEL:LCOUNT == 0
		CONTINUE
	PRINTFORML %PALAMNAME:LCOUNT%の珠×{LOSE_JUEL:LCOUNT}個減少
NEXT

CALL BLANKLINE


code:
;-------------------------------------------------
;カウンター初期設定
;恍惚確率			TFLAG:恍惚確率
;弱点効果			TFLAG:恍惚確率の弱点補正
;推倒確率		TFLAG:推倒確率
;反撃せず			CFLAG:マグロ
;-------------------------------------------------
@SET_COUNTER_BASE
#DIM LCOUNT

;MASTER以外の精力限界値セット
FOR LCOUNT, 2, CHARANUM
	MAXBASE:LCOUNT:精力 = 3 + MAXBASE:LCOUNT:体力/300 + TALENT:LCOUNT:性豪*20

	SELECTCASE ABL:LCOUNT:欲望
	CASE IS <= 10
		MAXBASE:LCOUNT:精力 += ABL:LCOUNT:欲望*3
	CASEELSE
		MAXBASE:LCOUNT:精力 += 30 + (ABL:LCOUNT:欲望 - 10)
	ENDSELECT

	SIF TALENT:LCOUNT:淫乱
		MAXBASE:LCOUNT:精力 += 10
	SIF MARK:LCOUNT:淫紋 >= 2
		MAXBASE:LCOUNT:精力 += (MARK:LCOUNT:淫紋 - 1)*5
NEXT

;MASTERの精力限界値重置
MAXBASE:MASTER:精力 = 10 + TALENT:MASTER:性豪*20 + TALENT:MASTER:復活*15/100

;精力の回復処理
FOR LCOUNT, 1, CHARANUM
	SIF BASE:LCOUNT:精力 == 0 || BASE:LCOUNT:精力 > MAXBASE:LCOUNT:精力
		BASE:LCOUNT:精力 = MAXBASE:LCOUNT:精力
NEXT

;你以外の魂は、集めた量なのでここでは設定しない
MAXBASE:MASTER:魂 = 100 + TALENT:MASTER:復活

;設定直後は０なのでMAXBASEに合わせる
SIF BASE:MASTER:魂 == 0
	BASE:MASTER:魂 = MAXBASE:MASTER:魂

@SET_COUNTER_ABL
#DIM LCOUNT
;ジャンルごとに何をやるかとその確率を決定
CALL CALC_COUNTER_ABL, TARGET

;同じ指令を連続で行う確率は低くする
FOR LCOUNT, 0, 11
	SIF ABL:(LCOUNT + 70) && I:LCOUNT == PREVCOM
		ABL:(LCOUNT + 70) = MAX(ABL:(LCOUNT + 70)/2, 1)
NEXT
;-------------------------------------------------
;挿入している時の口交など、不可能な行動はここで処理
;-------------------------------------------------
;挿入でイかされた後は、ご奉仕か接吻率が高い
IF ( (INSERT("Ｖ挿入") || PREVCOM == 65 || PREVCOM == 66 || PREVCOM == 67) && PREVEX("Ｖ絶頂") ) || ( (INSERT("Ａ挿入") || PREVCOM == 75) && PREVEX("Ａ絶頂") ) || ( (INSERT("尿道挿入") || PREVCOM == 88) && PREVEX("尿道絶頂") )
	ABL:手 /= 4
	ABL:口 *= 4
	SIF I:2 != 104
		ABL:胸 /= 4
	ABL:足 /= 4
	;施虐属性あるならお掃除強要
	IF ABL:欲望 + ABL:施虐属性 >= ABL:奉仕精神 * 2 && RAND:2 == 0
		ABL:面部騎乗 *= 3
	ELSE
		ABL:面部騎乗 /= 5
	ENDIF
	ABL:接吻 *= 2
	ABL:玩弄臀部 /= 5
	ABL:强奸 /= 5
	ABL:素股 /= 4
	ABL:道具 = 0
;挿入の後は挿入or挿入れたままできること
ELSEIF INSERT("挿入") && ABL:騎乗位 + ABL:接吻 && RAND:4
	ABL:手 = 0
	ABL:口 = 0
	SIF I:2 != 104
		ABL:胸 = 0
	ABL:足 = 0
	ABL:面部騎乗 = 0
	ABL:玩弄臀部 = 0
	ABL:强奸 = 0
	ABL:素股 = 0
	ABL:道具 = 0
;强奸の後は連続强奸or使った穴に礼物
ELSEIF (PREVCOM == 120 || PREVCOM == 126) && ABL:强奸 && RAND:3
	ABL:手 = 0
	SIF TALENT:恋慕 == 0 && ABL:奉仕精神 < ABL:施虐属性
		ABL:口 = 0
	ABL:胸 = 0
	ABL:足 = 0
	ABL:面部騎乗 = 0
	ABL:騎乗位 = 0
	ABL:接吻 = 0
	SIF PREVCOM != 84 && ABL:奉仕精神 < ABL:施虐属性
		ABL:玩弄臀部 = 0
	ABL:素股 = 0
	ABL:道具 = 0
;阴茎に奉仕した後は奉仕or挿入率が高い
ELSEIF PENIS(PLAYER) && PREVCOM >= 90 && PREVCOM <= 119 && ABL:手 + ABL:口 + ABL:胸 + ABL:玩弄臀部 + ABL:素股 && RAND:4
	ABL:足 = 0
	ABL:騎乗位 *= 2
	ABL:接吻 = 0
	ABL:强奸 = 0
	ABL:道具 = 0
;潤滑が少ない時には、面部騎乗や口交率が高く、挿入率が低い
ELSEIF MAX(PALAM:Ｖ潤, PALAM:Ａ潤, PALAM:PLAYER:Ｐ潤) < 500 && ABL:面部騎乗
	SIF I:1 == 91
		ABL:口 *= 2
	ABL:面部騎乗 *= 2
	ABL:騎乗位 /= 5
	ABL:素股 /= 5
ENDIF

SELECTCOM = SET_COUNTERCOM(TARGET)

CALL SETFLAG, "狂野摇摆", TARGET

@SET_COUNTERCOM(ARG)
#FUNCTION
#DIM LCOUNT
;確率の母体決定
LOCAL = ABL:ARG:手+ABL:ARG:口+ABL:ARG:胸+ABL:ARG:足+ABL:ARG:面部騎乗+ABL:ARG:騎乗位+ABL:ARG:接吻+ABL:ARG:玩弄臀部+ABL:ARG:强奸+ABL:ARG:素股+ABL:ARG:道具
IF LOCAL == 0
	IF ARG == TARGET
		IF TALENT:男性
			ABL:面部騎乗 = 1
			RETURNF 9
		ELSE
			ABL:面部騎乗 = 1
			RETURNF 1
		ENDIF
	ELSE
		RETURNF -1
	ENDIF
ENDIF

;PRINTFORML 確率母体 = {LOCAL}
;FOR LCOUNT, 40, 51
;	PRINTFORML %TEXT_RJ(ABLNAME:LCOUNT, 10)%率 ≒ {ABL:ARG:LCOUNT*100/LOCAL}％
;NEXT

LOCAL = 1 + RAND:LOCAL
SELECTCASE LOCAL
;手
CASE IS <= ABL:ARG:手
	RETURNF I:0
;口
CASE IS <= ABL:ARG:手+ABL:ARG:口
	RETURNF I:1
;胸
CASE IS <= ABL:ARG:手+ABL:ARG:口+ABL:ARG:胸
	RETURNF I:2
;足
CASE IS <= ABL:ARG:手+ABL:ARG:口+ABL:ARG:胸+ABL:ARG:足
	RETURNF I:3
;面部騎乗
CASE IS <= ABL:ARG:手+ABL:ARG:口+ABL:ARG:胸+ABL:ARG:足+ABL:ARG:面部騎乗
	RETURNF I:4
;騎乗位
CASE IS <= ABL:ARG:手+ABL:ARG:口+ABL:ARG:胸+ABL:ARG:足+ABL:ARG:面部騎乗+ABL:ARG:騎乗位
	RETURNF I:5
;接吻
CASE IS <= ABL:ARG:手+ABL:ARG:口+ABL:ARG:胸+ABL:ARG:足+ABL:ARG:面部騎乗+ABL:ARG:騎乗位+ABL:ARG:接吻
	RETURNF I:6
;お尻
CASE IS <= ABL:ARG:手+ABL:ARG:口+ABL:ARG:胸+ABL:ARG:足+ABL:ARG:面部騎乗+ABL:ARG:騎乗位+ABL:ARG:接吻+ABL:ARG:玩弄臀部
	RETURNF I:7
;强奸
CASE IS <= ABL:ARG:手+ABL:ARG:口+ABL:ARG:胸+ABL:ARG:足+ABL:ARG:面部騎乗+ABL:ARG:騎乗位+ABL:ARG:接吻+ABL:ARG:玩弄臀部+ABL:ARG:强奸
	RETURNF I:8
;素股
CASE IS <= ABL:ARG:手+ABL:ARG:口+ABL:ARG:胸+ABL:ARG:足+ABL:ARG:面部騎乗+ABL:ARG:騎乗位+ABL:ARG:接吻+ABL:ARG:玩弄臀部+ABL:ARG:强奸+ABL:ARG:素股
	RETURNF I:9
CASEELSE
	RETURNF I:10
ENDSELECT

@CALC_COUNTER_ABL, ARG
#DIM LCOUNT
#DIM MEMO_TARGET
MEMO_TARGET = TARGET
TARGET = ARG

;奉仕系の種別では、対応する得意技能の意味が強め
VARSET I

SELECTCASE MIN(ABL:奉仕精神, 10)/2 - MIN(ABL:欲望, 10)/2 - TEQUIP:媚薬/100
CASE IS > 0
	LOCAL:1 = (MIN(ABL:奉仕精神, 10)/2 - MIN(ABL:欲望, 10)/2 - TEQUIP:媚薬/100)*2
CASE IS < 0
	LOCAL:2 = (TEQUIP:媚薬/100 + MIN(ABL:欲望, 10)/2 - MIN(ABL:奉仕精神, 10)/2)*2
ENDSELECT

;ABL:手,手
IF COND("調教側")
	CALL COUNTER_ABL, 0, 5, 7, 8, 141
ELSE
	CALL COUNTER_ABL, 0, 90, 97, 105
ENDIF
IF ABL:手
	ABL:手 += TALENT:献身 + LOCAL:1 + ABL:指靈活
	SIF COND("手弱点", PLAYER)
		ABL:手 += 5
ENDIF

;ABL:口,口
IF COND("調教側")
	CALL COUNTER_ABL, 1, 1
ELSE
	CALL COUNTER_ABL, 1, 91, 98, 150
ENDIF
IF ABL:口
	ABL:口 += TALENT:献身 + LOCAL:1 + ABL:舌靈活
	SIF COND("口弱点", PLAYER)
		ABL:口 += 5
ENDIF

;ABL:胸,胸
IF COND("調教側")
ELSE
	CALL COUNTER_ABL, 2, 82, 92, 104
ENDIF
IF ABL:胸
	ABL:胸 += TALENT:献身 + TALENT:巨乳*3 + LOCAL:1 + ABL:魔乳
	SIF COND("胸弱点", PLAYER)
		ABL:胸 += 5
ENDIF

;ABL:足,足
IF COND("調教側")
ELSE
	IF MAX(ABL:施虐属性, ABL:奉仕精神) + ABL:PLAYER:受虐属性 >= 2
		CALL COUNTER_ABL, 3, 95
	ELSE
		ABL:足 = 0
	ENDIF
ENDIF
IF ABL:足
	ABL:足 += TALENT:高慢 + LOCAL:1 + MIN(ABL:施虐属性, 5) + ABL:指靈活
	SIF COND("脚弱点", PLAYER)
		ABL:足 += 5
ENDIF

;ABL:面部騎乗,面部騎乗
IF COND("調教側")
	CALL COUNTER_ABL, 4, 98
ELSE
	;聖水イベントは前提条件が厳しくレアなので確率優遇
	CALL COM_ABLE144
	IF RESULT
		CALL COUNTER_ABL, 4, 144
	ELSEIF ABL:Ａ感覚 >= 3 || TALENT:男性
		CALL COUNTER_ABL, 4, 1, 9, 144
	ELSE
		CALL COUNTER_ABL, 4, 1, 144
	ENDIF
ENDIF
IF ABL:面部騎乗
	ABL:面部騎乗 += TALENT:好色 + TALENT:淫乱 + LOCAL:2 + ABL:腰靈活 + MIN(ABL:PLAYER:受虐属性, 5)/2
	SELECTCASE I:4
	CASE 1
		ABL:面部騎乗 += TALENT:淫壷
		SIF COND("♀弱点", PLAYER)
			ABL:面部騎乗 += 5
	CASE 9
		ABL:面部騎乗 += TALENT:尻穴狂い
		SIF COND("肛門弱点", PLAYER)
			ABL:面部騎乗 += 5
	CASE 144
		;比較的レアイベントなので確率高め
		ABL:面部騎乗 += ABL:施虐属性*10
		SIF TALENT:倒錯的
			ABL:面部騎乗 += 50
		SELECTCASE BASE:尿意
		CASE IS >= 20000
			ABL:面部騎乗 += 100
		CASE IS >= 15000
			ABL:面部騎乗 += 50
		ENDSELECT
	ENDSELECT
ENDIF

;ABL:騎乗位,騎乗位
IF COND("調教側")
ELSE
	;基本はＶ騎乗位だが、Ａと尿道でも出来るかで分岐
	IF CHECK("Ａ挿入") && CHECK("尿道挿入")
		;淫壷と尻穴狂いの有無で確率にすごい偏りが出る
		IF TALENT:淫壷 && TALENT:尻穴狂い == 0 && TALENT:尿道狂 == 0 && RAND:10
			CALL COUNTER_ABL, 5, 65, 66, 67, 68
		ELSEIF TALENT:淫壷 == 0 && TALENT:尻穴狂い && TALENT:尿道狂 == 0 && RAND:10
			CALL COUNTER_ABL, 5, 75
		ELSEIF TALENT:淫壷 == 0 && TALENT:尻穴狂い == 0 && TALENT:尿道狂 && RAND:10
			CALL COUNTER_ABL, 5, 88
		ELSE
			CALL COUNTER_ABL, 5, 65, 66, 67, 68, 75, 88
		ENDIF
	ELSEIF CHECK("尿道挿入")
		;淫壷と尿道狂の有無で確率にすごい偏りが出る
		IF TALENT:淫壷 && TALENT:尿道狂 == 0 && RAND:10
			CALL COUNTER_ABL, 5, 65, 66, 67, 68
		ELSEIF TALENT:淫壷 == 0 && TALENT:尿道狂 && RAND:10
			CALL COUNTER_ABL, 5, 88
		ELSE
			CALL COUNTER_ABL, 5, 65, 66, 67, 68, 88
		ENDIF
	ELSEIF CHECK("Ａ挿入")
		;淫壷と尻穴狂いの有無で確率にすごい偏りが出る
		IF TALENT:淫壷 && TALENT:尻穴狂い == 0 && RAND:10
			CALL COUNTER_ABL, 5, 65, 66, 67, 68
		ELSEIF TALENT:淫壷 == 0 && TALENT:尻穴狂い && RAND:10
			CALL COUNTER_ABL, 5, 75
		ELSE
			CALL COUNTER_ABL, 5, 65, 66, 67, 68, 75
		ENDIF
	ELSE
		CALL COUNTER_ABL, 5, 65, 66, 67, 68
	ENDIF
ENDIF
IF ABL:騎乗位
	;肛門騎乗位や尿道騎乗位はしてこないかも
	IF I:5 >= 70 && I:5 <= 79 && TALENT:尻穴狂い == 0 && ABL:Ａ感覚 < 5
		CALL COM_ABLE65
		IF RESULT
			SIF COND("発情期") || EXP:Ａ性交経験 < MIN(50, EXP:Ｖ性交経験)
				I:5 = 65
		ENDIF
	ELSEIF I:5 == 88 && TALENT:尿道狂 == 0
		CALL COM_ABLE65
		IF RESULT
			SIF COND("発情期") || EXP:尿道性交経験 < MIN(50, EXP:Ｖ性交経験)
				I:5 = 65
		ENDIF
	ENDIF

	ABL:騎乗位 += TALENT:好色 + TALENT:淫乱 + LOCAL:2 + ABL:腰靈活
	SIF MARK:淫紋 && TALENT:男性 == 0
		ABL:騎乗位 += (MARK:淫紋 + 1)/2

	SELECTCASE I:5
	CASE 65 TO 69
		SIF TARGET == ASSI
			I:5 = 65
		ABL:騎乗位 += MIN(ABL:Ｖ感覚, 10)/2 + TALENT:淫壷 + TALENT:Ｖ性向
		SIF INSERT("Ｖ挿入")
			ABL:騎乗位 += 5
		SIF COND("♀弱点", PLAYER)
			ABL:騎乗位 += 5
	CASE 75
		ABL:騎乗位 += MIN(ABL:Ａ感覚, 10)/2 + TALENT:尻穴狂い + TALENT:Ａ性向
		SIF INSERT("Ａ挿入")
			ABL:騎乗位 += 5
		SIF COND("肛門弱点", PLAYER)
			ABL:騎乗位 += 5
	CASE 88
		ABL:騎乗位 += MIN(ABL:尿道感覚, 10)/2 + TALENT:尿道狂 + TALENT:尿道性感
		SIF INSERT("尿道挿入")
			ABL:騎乗位 += 5
	ENDSELECT
ENDIF

;ABL:接吻,接吻
IF COND("調教側")
	CALL COUNTER_ABL, 6, 6
ELSE
	CALL COUNTER_ABL, 6, 6
ENDIF
IF ABL:接吻
	ABL:接吻 += TALENT:恋慕 + TALENT:蕩唇 + LOCAL:2 + ABL:舌靈活
	SIF COND("接吻弱点", PLAYER)
		ABL:接吻 += 5
ENDIF

;ABL:玩弄臀部,玩弄臀部
IF COND("調教側")
	CALL COUNTER_ABL, 7, 2, 142
ELSE
	CALL COUNTER_ABL, 7, 96
ENDIF
IF ABL:玩弄臀部 && EXP:玩弄Ａ経験 >= 20 && EXP:Ａ舐め経験 >= 5 && MAX(MIN(ABL:施虐属性, 5), MIN(ABL:奉仕精神, 10)/2) + ABL:PLAYER:受虐属性 >= 6
	ABL:玩弄臀部 += MIN(ABL:施虐属性, 5)/2 + MIN(ABL:PLAYER:受虐属性, 5)/2 + LOCAL:1
	;肛門調教知識
	SIF GETBIT(TALENT:調教知識, 3)
		ABL:玩弄臀部 += 5
ELSE
	ABL:玩弄臀部 = 0
	I:7 = 0
ENDIF

;ABL:强奸,TARGETの阴茎使用or逆強姦
IF COND("調教側")
	CALL COUNTER_ABL, 8, 60, 61, 64, 65, 71, 75, 83, 88, 140
ELSE
	CALL COUNTER_ABL, 8, 4, 120, 126
ENDIF
IF ABL:强奸
	ABL:强奸 += LOCAL:2 + ABL:腰靈活
	SIF PENIS(TARGET)
		ABL:强奸 += MIN(ABL:欲望, 10)/2
	;男性
	SIF TALENT:男性
		ABL:强奸 += 5
ENDIF

;ABL:素股,素股
IF COND("調教側")
ELSE
	CALL COUNTER_ABL, 9, 80, 93, 94
ENDIF
SIF ABL:素股
	ABL:素股 += TALENT:献身 + LOCAL:1 + ABL:腰靈活/2

;ABL:道具
IF COND("調教側")
ELSE
	CALL COUNTER_ABL, 10
ENDIF
SIF ABL:道具
	ABL:道具 += LOCAL:2

TARGET = MEMO_TARGET

@COUNTER_ABL, ARG, ARG:1, ARG:2, ARG:3, ARG:4, ARG:5, ARG:6, ARG:7, ARG:8, ARG:9
#DIM LCOUNT
ABL:(70 + ARG) = 0
LOCAL = 1
FOR LCOUNT, 1, 10
	TRYCALLFORM COM_ABLE{ARG:LCOUNT}
	IF RESULT
		ABL:(70 + ARG) += 1
		SIF RAND:LOCAL == 0 || I:ARG == 0
			I:ARG = ARG:LCOUNT
		LOCAL += 1
	ENDIF
	SIF ARG:(LCOUNT + 1) == 0
		BREAK
NEXT

;-------------------------------------------------
;撃沈していないなら、恍惚格子
;-------------------------------------------------
@COUNTER_SYS_2
;-------------------------------------------------
;恍惚状態からの復帰判定
;-------------------------------------------------
IF STATE("恍惚", PLAYER)
	CALL COUNTER_REVIVAL
	;恍惚から復帰（恍惚变成了ターンは復活しません）
	SIF STATE("恍惚", PLAYER) == 0
		CALL KOJO_COUNTER, "恍惚から復帰"
ELSE
	CALL COUNTER_FASCINATION
ENDIF

;-------------------------------------------------
;脫力状態からの復帰判定
;-------------------------------------------------
IF STATE("脫力", PLAYER)
	IF TFLAG:脫力回合数 >= 9
		PRINTFORMW %CALLNAME:PLAYER%は脫力状態から復帰した！
		CALL REMOVE_STATE, PLAYER, "脫力"
	ELSE
		PRINTFORMW %CALLNAME:PLAYER%は脫力になっている……
		TFLAG:脫力回合数 += 1
	ENDIF
ENDIF

;-------------------------------------------------
;撃沈判定
;精力0時に助手は行動不可・主人は復活判定
;-------------------------------------------------
CALL COUNTER_DOWN

RETURN 0

;-------------------------------------------------
;被逆推た時の判定と処理
;ARGが基本の猶予時間で1.5～10秒の範囲
;-------------------------------------------------
@CHECK_OSHITAOSHI, ARG
;ARG msの時間の猶予で推倒の選択肢表示＆TEQUIP:推倒等の処理を行う
LOCAL = LIMIT(MULTIPLY(ARG, 100 - LIMIT(ABL:欲望 + ABL:技巧 - ABL:PLAYER:技巧, 0, 10)*10), 1500, 10000)
PRINTFORML [0]抵抗！
PRINTFORML [1]委身于下

IF CONFIG("制限時間")
	TINPUT LOCAL, 100, 1
ELSE
	CALL INPUT_SELECT, 2
ENDIF

IF RESULT
	TEQUIP:推倒 = 1
	;挿入中なら騎乗位へ
	SIF INSERT("挿入")
		TEQUIP:体位 = CLEARBITS(TEQUIP:体位, 0, 9) + 1p5
ENDIF

@COUNTER_FASCINATION
#DIM CHOICE
;恍惚、推倒判定
SIF TEQUIP:拘束 || TEQUIP:尿道探针 || COND("３Ｐ")
	RETURN 0
SIF STATE("撃沈", PLAYER) || STATE("恍惚", PLAYER)
	RETURN 0
;立位中は無理
SIF INSERT("立位")
	RETURN 0
;素質でやってこない
SIF TALENT:受け身
	RETURN 0

SELECTCASE SELECTCOM
CASE 280
	RETURN 0
ENDSELECT

TFLAG:恍惚確率 = 0
;恍惚確率を算出する
IF TCVAR:PLAYER:絶頂度 || CALCF("弱点突かれ", SELECTCOM)
	TFLAG:恍惚確率 = TCVAR:PLAYER:絶頂度*3 + (TALENT:謎之魅力 + TALENT:魅力)*2 - MIN(ABL:PLAYER:技巧, 10)

	;弱点の処理
	TFLAG:恍惚確率の弱点補正 = CALCF("弱点突かれ", SELECTCOM)*2 + CALCF("属性突かれ", TARGET)*2
	;二人推倒
	IF TEQUIP:Ｗ推倒
		TFLAG:恍惚確率 += TALENT:ASSI:謎之魅力 + TALENT:ASSI:魅力 + 2
		TFLAG:恍惚確率の弱点補正 += CALCF("弱点突かれ", SELECTCOM:1) + CALCF("属性突かれ", ASSI)
	ENDIF
	TFLAG:恍惚確率 += TFLAG:恍惚確率の弱点補正

	;酔酒
	SIF STATE("酔酒", PLAYER)
		TFLAG:恍惚確率 += 10

	;弱点優遇措置
	TFLAG:恍惚確率 = LIMIT(TFLAG:恍惚確率, TFLAG:恍惚確率の弱点補正, 100)
	;5％未満なら切捨て
	SIF TFLAG:恍惚確率 < 5
		TFLAG:恍惚確率 = 0
ENDIF

;恍惚、推倒判定
IF TFLAG:恍惚確率 > RAND:100
	CALL BLANKLINE
	PRINTFORML %CALLNAME:PLAYER%恍惚了……
	IF TEQUIP:PLAYER:理性主義
		FONTSTYLE 1
		PRINTFORMW 弹簧（原文：パチン）！
		FONTSTYLE 0
		PRINTFORMW 出乎意料之外、%CALLNAME:(ASSI:1)%发出巨大的声音使自己重新恢复理智！
	ELSE
		CHOICE = 0
		IF CONFIG("恍惚耐性") && BASE:PLAYER:精力 >= 2
			IF CONFIG("恍惚耐性") == 2
				CHOICE = 1
			ELSE
				CALL PRINT_SELECT, "恍惚感に任憑擺佈/抵抗！（精力-１）"
				CHOICE = RESULT
			ENDIF
		ENDIF
		IF CHOICE
			BASE:PLAYER:精力 -= 1
		;	PRINTFORML 精力-１(%CALLNAME:PLAYER%)
			PRINTFORMW %CALLNAME:PLAYER%竭尽全力找回了自我！
		ELSE
			TEQUIP:推倒 = 1
			CALL ADD_STATE, PLAYER, "恍惚"
			;手下留情中なら、解除
			IF TEQUIP:手下留情
				TEQUIP:手下留情 = 0
				PRINTFORML 主导权被%CALLNAME:TARGET%夺走、%CALLNAME:PLAYER%不能从其手下逃脱…！
			ENDIF
			SIF CONFIG("恍惚耐性") == 0 || BASE:PLAYER:精力 < 2
				FORCEWAIT
			SIF COND("疲労") == 0
				CALL KOJO_COUNTER, "恍惚"
		ENDIF
	ENDIF
ENDIF

;以下、推倒状態でないなら推倒判定
SIF TEQUIP:推倒
	RETURN 0
;施虐属性が必要
SIF ABL:施虐属性 == 0
	RETURN 0
;やってこない状態
SIF TEQUIP:眼罩 || TEQUIP:浣腸 || TEQUIP:尿道探针 || STATE("恍惚", PLAYER) || CFLAG:マグロ
	RETURN 0
;大怪我
SIF TALENT:Ｖ損傷 || TALENT:Ａ損傷
	RETURN 0
;性癖の問題
SIF COND("性別嫌悪")
	RETURN 0
;今日は生が無理な時
SIF COND("女性主導生性交") == 0 && COND("Ａ熟達") == 0
	RETURN 0

;体位によっては無理
SELECTCASE CONDS("体位")
CASE "正常位", "屈曲位", "後背位"
	RETURN 0
ENDSELECT

TFLAG:推倒確率 = MIN(ABL:欲望*2, 20) + (BASE:欲求不満/5) + (ABL:施虐属性 - ABL:受虐属性)*3 - COND("絶頂", PLAYER)*5 - NOWEX:絶頂数合計*20
SIF TALENT:強気
	TFLAG:推倒確率 += 15
SIF TALENT:淫乱
	TFLAG:推倒確率 += 10
SIF TALENT:好色
	TFLAG:推倒確率 += 5
SIF STATE("酔酒", TARGET)
	TFLAG:推倒確率 += 30
;イかされまくっても、推倒てこなくなる
SIF BASE:性欲 >= MAXBASE:性欲
	TFLAG:推倒確率 -= 20

;体力による補正(プラス减少補正はここまでで済ませる)
TFLAG:推倒確率 = TFLAG:推倒確率*BASE:体力/MAXBASE:体力
;欲情による補正
SELECTCASE PALAM:欲情
CASE IS < 500
	TIMES TFLAG:推倒確率, 0.10
CASE IS < 3000
	TIMES TFLAG:推倒確率, 0.30
CASE IS < 10000
	TIMES TFLAG:推倒確率, 0.50
CASE IS > 30000
	TIMES TFLAG:推倒確率, 1.20
ENDSELECT

;推倒頻度補正
SIF TCVAR:推倒頻度補正 > 0
	TFLAG:推倒確率 /= TCVAR:推倒頻度補正

;推倒確率が０以下の場合は当然押し倒さない
TFLAG:推倒確率 = LIMIT(TFLAG:推倒確率, 0, 100)

IF TFLAG:推倒確率 > RAND:100
	;推倒頻度減少
	TCVAR:推倒頻度補正 += 5 + RAND:6

	PRINTFORML %CALLNAME:TARGET%推倒了%CALLNAME:PLAYER%！

	CALL CHECK_OSHITAOSHI, (100 - TFLAG:推倒確率 )*30

	IF TEQUIP:推倒
		IF RAND:2 && TALENT:女性 && TALENT:不知羞恥 && (TALENT:強気 || ABL:施虐属性 + ABL:PLAYER:受虐属性 >= 5) && COND("室内") && USE_V(TARGET)
			CALL BLANKLINE
			;PRINTFORML %CALLNAME:TARGET%は飛び上がって%CALLNAME:PLAYER%の顔を太ももで挟み込むと、股間を押し付けて視界を奪いながら床に推倒てきた！
			VARSET LOCAL
			IF TEQUIP:六九式 == 0 && PENIS(PLAYER) && COND("指の使用")
				CALL COM_ABLE99
				LOCAL:1 = RESULT
			ENDIF
			IF INSERT("合体中") == 0 && PENIS(PLAYER) && COND("Ｖ熟達")
				CALL COM_ABLE65
				LOCAL:2 = RESULT
			ENDIF

			IF LOCAL:2 && RANDIF(2, LOCAL:1)
				PRINTFORML %CALLNAME:TARGET%被%CALLNAME:PLAYER%大骂、理所当然地用自己的阴道叼进了阴茎！

				CALL SET_INSERT, TARGET, PLAYER, 65
			ELSEIF LOCAL:1 && RAND:2
				PRINTFORM %CALLNAME:TARGET%用手抓住仰望已久的%CALLNAME:PLAYER%的阴茎、
				IF RAND:2
					PRINTFORML 把脸埋入股间、蹭在了鼻子上！
				ELSE
					PRINTFORML 把屁股压在脸上、坐了下来！
				ENDIF
				TEQUIP:六九式 = 90
				TEQUIP:PLAYER:六九式 = 1
				TEQUIP:面部騎乗 = 1
			ELSE
				PRINTFORML %CALLNAME:TARGET%仰面倒下了的、%CALLNAME:PLAYER%用膝盖跨过身体、慢慢地掉下腰用股间堵住鼻子和口！
				TEQUIP:面部騎乗 = 1
			ENDIF
		ENDIF
		CALL KOJO_COUNTER, "推倒"
		PRINTFORMW %CALLNAME:PLAYER%被压倒了……！
		IF TEQUIP:手下留情
			TEQUIP:手下留情 = 0
			PRINTFORMW 主导权被%CALLNAME:TARGET%夺走、%CALLNAME:PLAYER%不能从其手下逃脱…！
		ENDIF
		;情緒増加
		FLAG:情緒 += 5
	ELSE
		IF TALENT:恋慕 && PLAYER == MASTER
			PRINTFORMW %CALLNAME:PLAYER%抱住%CALLNAME:TARGET%、在耳边低声私语、让%CALLNAME:TARGET%把自己交给%CALLNAME:PLAYER%吧……
			IF CFLAG:マグロ == 0 && MOOD_HEART() >= 3
				PRINTFORMW %CALLNAME:TARGET%似乎把自己交给了%CALLNAME:PLAYER%……
				;値が２だとエロ終了時に０に戻される
				CFLAG:マグロ = 2
			ENDIF
		ELSE
			IF RAND:2 == 0
				PRINTFORMW 可是%CALLNAME:PLAYER%还是轻易地抵抗掉了！
			ELSE
				PRINTFORMW 可是%CALLNAME:PLAYER%巧妙地躲開了身体！
			ENDIF
			;情緒減少
			FLAG:情緒 -= 5
		ENDIF
	ENDIF
	CALL BLANKLINE
ENDIF

;基本的にはMASTERかASSIかPLAYER:1だけが対象
@COUNTER_DOWN
#DIM MEMO_LINECOUNT

;助手は指令を実行できなくなる
IF ASSI && STATE("撃沈", ASSI) == 0
	IF (ASSIPLAY || (SELECTCOM >= 160 && SELECTCOM <= 169) || TEQUIP:Ｗ推倒 || SELECTCOM:1 >= 0 || SELECTCOM:2 >= 0) && (BASE:ASSI:体力 < 500 || BASE:ASSI:精力 <= 0)
		CALL ASSI_DOWN, ASSI
		CALL KOJO_COUNTER, "助手が限界"
	ENDIF
ENDIF
;主人
IF BASE:MASTER:精力 <= 0 || BASE:MASTER:魂 <= 0
	PRINTFORMW %CALLNAME:MASTER%已经到达极限了……
	IF BASE:MASTER:魂 <= 0
		CALL PRINT_STR, "紅_＜復活！＞_W_"
		PRINTFORMW %CALLNAME:MASTER%用尽最后的力量复活了！
		BASE:MASTER:魂 = 1
	ENDIF
	PRINTFORMW ★★★★结束床戏★★★★
	CALL ADD_STATE, MASTER, "撃沈"
	CALL BLANKLINE
	MEMO_LINECOUNT = LINECOUNT

	CALL KOJO_COUNTER, "強制終了"

	SIF LINECOUNT == MEMO_LINECOUNT
		CLEARLINE 1

	BEGIN AFTERTRAIN
ENDIF

RETURN 0

;助手の撃沈アナウンス。３Ｐなどだと助手以外でもここに来る
@ASSI_DOWN, ARG
SIF STATE("撃沈", ARG) || (BASE:ARG:体力 >= 500 && BASE:ARG:精力 > 0)
	RETURN 0

CALL BLANKLINE
SIF ARG == ASSI
	PRINTFORML ★%TEXTS("助手の名称")%击沉★
PRINTFORMW %CALLNAME:ARG%はもう体力の限界だ。
PRINTFORMW 看来再让%CALLNAME:ARG%参加是不可能的……
CALL ADD_STATE, ARG, "撃沈"
CALL SETFLAG, "撃沈", ARG
;一部の指导者能力に影響
SIF ASSI == ASSI:1
	CALL RESET_ABL_ADVISER

@TARGET_DOWN
SIF CALCF("撃沈判定") == 0
	RETURN 0

;現在partnerが指导者(開始時は助手の立場)の場合には助手撃沈として処理をする
IF TARGET == ASSI:1 && CHECK_EXCHANGE("partner")
	CALL SETFLAG, "対象交代"
	CALL ASSI_DOWN, ASSI
	CALL KOJO_COUNTER, "助手が限界"
	RETURN 1
ENDIF

IF NOWEX:嘔吐
	PRINTFORMW %CALLNAME:TARGET%因為過度疲勞和精神上的苦痛而意気消沈…
	PRINTFORMW 好像有点过分勉强了……
ELSEIF TEQUIP:推倒
	PRINTFORMW %CALLNAME:TARGET%因疲劳过度而喘息着……
	PRINTFORMW 好像有点勉强了……
ELSE
	PRINTFORMW %CALLNAME:TARGET%因疲劳过度而气息奄奄……
	PRINTFORMW 好像有点过分勉强了……
	IF BASE:体力 <= 0
		;受虐属性有
		IF ABL:受虐属性 || ABL:欲望 >= 3 || COND("発情期")
			PRINTFORMW 可是、在%CALLNAME:TARGET%脸上也能看见欢喜的表情…。
		;それ以外で信頼Lvが1以上なら1下げる。推倒のときは除外
		;ELSEIF ABL:信頼 > 0 && ABL:信頼 < 5 && COND("欲求不満") == 0
		;	ABL:信頼 -= 1
		;	PRINTFORML %CALLNAME:TARGET%的信赖下降了一点。
		ENDIF
	ENDIF
ENDIF
CALL ADD_STATE, TARGET, "撃沈"
;BASE:精力 = MAX(BASE:精力, 1)
BASE:体力 = MAX(BASE:体力, 1)

IF BASE:体力 <= 0
	PRINTFORMW ★体力已经到了极限、虽然正在享受中、但还是结束了。★
ELSEIF NOWEX:嘔吐
	PRINTFORMW ★H的氛圍全部消失了、虽然正在享受中、但还是结束了。★
ELSE
	PRINTFORMW ★精力已经到了极限、虽然正在享受中、但还是结束了。★
ENDIF
BEGIN AFTERTRAIN

@COUNTER_REVIVAL
;復帰判定
SIF STATE("恍惚", PLAYER) == 0
	RETURN 0
;復帰確率を算出して代入(母乳を飲んでいると復帰率減少)
LOCAL = 10 + LIMIT(ABL:PLAYER:技巧 - ABL:技巧, -5, 5)*4 - EXP_GAIN("飲乳経験", PLAYER)*5
SIF BASE:PLAYER:精力*2 >= MAXBASE:PLAYER:精力
	LOCAL += 10
SIF COND("絶頂", PLAYER) == 0
	LOCAL += 5

;１Ｔごとに復帰率が５％ＵＰ
SELECTCASE TFLAG:恍惚回合数
CASE 0
	LOCAL = 0
CASEELSE
	LOCAL += (TFLAG:恍惚回合数 - 1)*5
ENDSELECT
;减少または100％を超えていたら修正
LOCAL = LIMIT(LOCAL, 0, 100)

IF LOCAL > RAND:100
	PRINTFORML %CALLNAME:PLAYER%清醒过来了！
	CALL REMOVE_STATE, PLAYER, "恍惚"
	;自動で推倒から復帰するのはオミット
	;IF LOCAL > RAND:100 && TEQUIP:Ｗ推倒 == 0 && STATE("バインド", PLAYER) == 0
	;	PRINTFORMW %CALLNAME:PLAYER%は被逆推状態から復帰した！
	;	TEQUIP:推倒 = 0
	;ENDIF
ELSE
	PRINTFORMW %CALLNAME:PLAYER%恍惚着……
	TFLAG:恍惚回合数 += 1
ENDIF


code:
;------------------------------------------------------------------------
;調教終了時の満足度格子
;------------------------------------------------------------------------
@CHECK_SATISFACTION, ARG
SIF ARG <= 0
	RETURN 0

CFLAG:ARG:満足度 = 0
;体力格子
SIF COND("疲労")
	SETBIT CFLAG:ARG:満足度, 0

;性欲格子
IF ABL:ARG:欲望
	CALL SETFLAG, "性欲ゲージ", ARG

	SELECTCASE BASE:ARG:性欲
	CASE 0
	;大満足
	CASE IS >= MAXBASE:ARG:性欲 * 2
		SETBIT CFLAG:ARG:満足度, 2
	CASE IS >= MAXBASE:ARG:性欲
		SETBIT CFLAG:ARG:満足度, 1
	ENDSELECT
ENDIF
;精液欲格子
IF ABL:ARG:精液中毒
	CALL SETFLAG, "精液欲ゲージ", ARG
	SELECTCASE BASE:ARG:精液欲
	CASE 0
	;大満足
	CASE IS >= MAXBASE:ARG:精液欲 * 2
		SETBIT CFLAG:ARG:満足度, 4
	CASE IS >= MAXBASE:ARG:精液欲
		SETBIT CFLAG:ARG:満足度, 3
	ENDSELECT
ENDIF

;レズ中毒格子
;PLAYER絶頂格子

;------------------------------------------------------------------------
;TARGETによる否定判定
;------------------------------------------------------------------------
@REFUSE_CHECK()
#FUNCTION
SIF TFLAG:指令中止 || NEXTCOM == 999
	RETURNF 1

RETURNF 0

;------------------------------------------------------------------------
;口上等で行われた射精ゲージの増加を変数にも影響させる
;------------------------------------------------------------------------
@CHECK_BASEPLAYER2
TCVAR:絶頂増加 = MAX(TCVAR:絶頂増加, BASE:絶頂 - TCVAR:絶頂開始前)
TCVAR:MASTER:絶頂増加 = MAX(TCVAR:MASTER:絶頂増加, BASE:MASTER:絶頂 - TCVAR:MASTER:絶頂開始前)
SIF ASSI
	TCVAR:ASSI:絶頂増加 = MAX(TCVAR:ASSI:絶頂増加, BASE:ASSI:絶頂 - TCVAR:ASSI:絶頂開始前)

@EVENT_NEXTTIME
SIF TARGET <= 0
	RETURN 0
SIF EXP:Ｈ回数 == 0
	RETURN 0

;[精液弱点]を得るかの格子。ただし通常は精液中毒を上昇させた時に得るのであくまで補助的
IF TALENT:精液弱点 == 0
	CALL CALC, "精液弱点", TARGET
	;素質を得た
	IF TALENT:精液弱点
		PRINTFORM %CALLNAME:TARGET%在无数次接受精液的过程中、
		SELECTCASE TALENT_NAME(GETNUM(TALENT, "精液弱点"), TALENT:精液弱点)
		CASE "精飲弱点"
			PRINT 被灌饮精液
		CASE "膣内射精弱点"
			PRINT 被腔内中出
		CASE "肛内射精弱点"
			PRINT 被射在肠子里
		CASE "乳内射精弱点"
			PRINT 被射在胸上
		CASE "尿道内射精弱点"
			PRINT 被侵犯射进尿道里
		ENDSELECT
		PRINTFORMW 身体似乎变得很舒适、感受到了快乐……
		PRINTFORM %CALLNAME:TARGET%
		LOCALS = [%TALENT_NAME(GETNUM(TALENT, "精液弱点"), TALENT:精液弱点)%]
		CALL PRINT_COLORTEXT, LOCALS, DEF_COLOR("黄色")
		PRINTFORMW 得到。
	ENDIF
;精液弱点箇所の変更判定
ELSE
	LOCAL = TALENT:精液弱点
	CALL CALC, "精液弱点部位の変化", TARGET
	IF TALENT:精液弱点 != LOCAL
		PRINTFORM %CALLNAME:TARGET%在无数次接受精液的过程中、
		SELECTCASE TALENT_NAME(GETNUM(TALENT, "精液弱点"), TALENT:精液弱点)
		CASE "精飲弱点"
			PRINT 被灌饮精液
		CASE "膣内射精弱点"
			PRINT 被腔内中出
		CASE "肛内射精弱点"
			PRINT 被射在肠子里
		CASE "乳内射精弱点"
			PRINT 被射在胸上
		CASE "尿道内射精弱点"
			PRINT 被侵犯射进尿道里
		ENDSELECT
		PRINTFORMW 身体似乎变得很舒适、感受到了快乐……
		PRINTFORM %CALLNAME:TARGET%
		LOCALS = [%TALENT_NAME(GETNUM(TALENT, "精液弱点"), LOCAL)%]
		CALL PRINT_COLORTEXT, LOCALS, DEF_COLOR("黄色")
		PRINTFORM 失去、
		LOCALS = [%TALENT_NAME(GETNUM(TALENT, "精液弱点"), TALENT:精液弱点)%]
		CALL PRINT_COLORTEXT, LOCALS, DEF_COLOR("黄色")
		PRINTFORMW 得到。
	ENDIF
ENDIF

;------------------------------------------------------------------------
;調教終了後40%の確率で体力の最大値が上昇
;ただし増加する値は＋30が限度。
;------------------------------------------------------------------------
@EVENT_GROWTH
#DIM MEMO_CUPS
#DIM MEMO_TALENT
#DIM VALUE_GROWTH

;豊穣
IF TEQUIP:豊穣
	MEMO_CUPS = BASE:罩杯
	MEMO_TALENT = TALENT:貧乳 + TALENT:巨乳*2
	CALL BLANKLINE
	;ひとまずはここが限界
	IF BASE:胸圍成長 >= 500
		PRINTFORML 在%CALLNAME:TARGET%的胸口恶作剧……什么也没有变化。
		PRINTFORML 看来、就是拥有%CALLNAME:MASTER%这么大的力量也做不到的様子。
	ELSE
		PRINTFORML 由于被%CALLNAME:MASTER%恶作剧的缘故、%CALLNAME:TARGET%的胸部好像变得丰满了一些。
		PRINTFORML 胸围+0.{TEQUIP:豊穣}cm
		IF (BASE:胸圍成長 + TEQUIP:豊穣)/10 > BASE:胸圍成長/10
			BASE:胸圍 += 1
			;罩杯の変化による素質の変化
			BASE:罩杯 = CALCF("罩杯", CALCF("罩杯計算値", TARGET) )
			SIF BASE:罩杯 > MEMO_CUPS
				BASE:罩杯成長 += 1
			CALL SETFLAG, "胸圍の素質設定", TARGET
			IF TALENT:貧乳 + TALENT:巨乳*2 != MEMO_TALENT
				IF TALENT:巨乳 >= 3
					CALL PRINT_STR, @"%CALLNAME:TARGET%变成了_黄色_[超乳]_！_L"
				ELSEIF TALENT:巨乳 >= 2
					CALL PRINT_STR, @"%CALLNAME:TARGET%变成了_黄色_[爆乳]_！_L"
				ELSEIF TALENT:巨乳
					CALL PRINT_STR, @"%CALLNAME:TARGET%变成了_黄色_[巨乳]_！_L"
				ELSE
					CALL PRINT_STR, @"%CALLNAME:TARGET%的[貧乳]消失了。_L"
				ENDIF
			ENDIF
		ENDIF
		BASE:胸圍成長 += TEQUIP:豊穣
	ENDIF
	TEQUIP:豊穣 = 0
	WAIT
ENDIF

;絶頂＆射精回数と强制绝顶回数、精液経験で体力増加
VALUE_GROWTH = EXP_GAIN("絶頂経験") + EXP_GAIN("射精経験") + EXP_GAIN("强制绝顶回数")*2 + EXP_GAIN("精液経験")/3
SIF RAND:5 <= 2 || VALUE_GROWTH <= RAND:20
	RETURN 0

SELECTCASE VALUE_GROWTH
CASE IS < 5
	VALUE_GROWTH = 1 + RAND:5
CASE IS < 20
	VALUE_GROWTH = 3 + RAND:10
CASE IS < 50
	VALUE_GROWTH = 5 + RAND:15
CASEELSE
	VALUE_GROWTH = 10 + RAND:20
ENDSELECT

SELECTCASE MAXBASE:体力
CASE IS >= CSVBASE(NO:TARGET, GETNUM(BASE, "体力") )*3
	VALUE_GROWTH = MAX(VALUE_GROWTH/4, 1)
CASE IS >= CSVBASE(NO:TARGET, GETNUM(BASE, "体力") )*2
	VALUE_GROWTH = MAX(VALUE_GROWTH/2, 1)
ENDSELECT

MAXBASE:体力 += VALUE_GROWTH
CALL BLANKLINE
PRINTFORML 因为激烈的調教、%CALLNAME:TARGET%更多地了解了忍耐的快感。
PRINTFORMW %CALLNAME:TARGET%的体力的最大値上升了{VALUE_GROWTH}。


code:
@RESET_TFLAGS
;NEXTCOMを使用している時には改行を入れる
;なお、NEXTCOMの時には@COM_ABLEを通らないので、実行可能かどうかを判定してから設定すること。
SIF NEXTCOM >= 0
	CALL BLANKLINE
;次の調教は空白とする
NEXTCOM = -1
;不要な文字列を初期化
VARSET STR, "", 101, 110
;助手の選んだ指令重置
SELECTCOM:1 = -1
SELECTCOM:2 = -1
SELECTCOM:3 = -1

;派生指令などで変更される前のSELECTCOMを保存
SELECTCOM:4 = SELECTCOM

;TFLAG:0～TFLAG:29は指令ごとに重置
VARSET TFLAG, 0, 0, 30

TFLAG:地の文スキップ = 0

;NOWEX、TCVAR:0～TCVAR:29は毎ターン初期化＆假阳具はＰ汚れ无
CALL SETFLAG, "ターン開始", TARGET
CALL SETFLAG, "ターン開始", MASTER
SIF ASSI
	CALL SETFLAG, "ターン開始", ASSI

@EVENTCOM
#PRI
REDRAW 1
CALL RESET_TFLAGS

;指令選択時のTARGETを記録
CALL SET_PARTNER

SIF FLAG:調教開始時の対象 != TARGET
	FLAG:助手を調教した = 1

CALL SETFLAG, "助手相手の恋慕外し開始"

;以下指令ジャンプなど
;酔っ支付
IF PREVCOM != 507 && (TEQUIP:推倒 || (SELECTCOM >= 90 && SELECTCOM <= 119) ) && STATE("酔酒", TARGET) && RAND:3 == 0
	SELECTCOM = 507
;ELSEIF TEQUIP:推倒 == 0 && STATE("酔酒", PLAYER) && RAND:3 == 0
;	SELECTCOM = 506
;以下はSELECTCOM依存
ELSE
	SELECTCASE SELECTCOM
	;胸愛撫
	CASE 5
		;洗面奶
		SIF TEQUIP:推倒
			SELECTCOM = 104
	;性交系
	CASE 60 TO 79, 83 TO 88
		;ひょっとしたら挿入れる前に暴発しちゃうかも
		IF CHECK_COM("挿入前暴発")
			CALL SETFLAG, "挿入前暴発フラグ", PLAYER
			SELECTCOM = 511
		ENDIF

		;うっかり子宮挿入フラグ。挿入子宮口玩弄を連続実行＆Ｖ挿入中で無いと発生しない
		IF CHECK_COM("うっかり子宮挿入") && (RAND:5 == 0 || MARK:淫紋 >= 4 || EX:Ｖ絶頂 >= 5)
			CALL SETFLAG, "うっかり子宮挿入フラグ", TARGET
			SELECTCOM = 68
		ENDIF

		SELECTCASE SELECTCOM
		CASE 68
		CASEELSE
			;騎乗位連続＆腰靈活＆強気などで狂野摇摆(連続ではしてこない)
			CALL SETFLAG, "狂野摇摆", TARGET
			;前のPLAYが性交系かつ調教者の技巧3以上の場合、挿入刺激Ｇ点または挿入子宮口玩弄へ派生
			;Ｖ感覚が高く欲情しているほど子宮口へ行きやすい
			SIF CHECK_COM("两根挿入Ｖ中") == 0 && CHECK_COM("二穴挿入") == 0
				SELECTCOM = CHECK_COM("刺激挿入部位", SELECTCOM)
		ENDSELECT
	;打屁股
	CASE 130
		;SIF TEQUIP:女王様PLAY
		;	SELECTCOM = 509
	CASE 141 TO 143
		;二本フィストフラグ解除
		SIF SELECTCOM != PREVCOM
			CLEARBIT TEQUIP:PLAYER:特殊行動, 1
	;逆剃毛
	CASE 145
		SIF TEQUIP:推倒
			SELECTCOM = 504
	ENDSELECT
ENDIF

;助手参加(挣扎、顺其自然の時にはそれぞれのCOMF中で決定)
IF TEQUIP:Ｗ推倒
	IF SELECTCOM == 280 || SELECTCOM == 281
		SELECTCOM:1 = PREVCOM:1
	ELSE
		CALL SET_SELECTCOM_MULTI, "Ｗ推倒"
	ENDIF
ELSE
	;六九式判定
	CALL SET_PLAY69

	;３Ｐによる協力指令管理
	SIF TARGET:1 && STATE("撃沈", TARGET:1) == 0 && (PREVCOM:1 >= 0 || PREVCOM:2 >= 0)
		CALL SET_SELECTCOM_MULTI, "３Ｐ"
;坏心眼い人は思ったとおりに動いてくれない、とかどうだろう
;ELSEIF TEQUIP:推倒 == 0 && TALENT:坏心眼 && ABL:信頼 + ABL:奉仕精神 <= 5
;	IF SELECTCOM == 91 && NO:TARGET == 12
;		CALL COM_ABLE95
;		IF RESULT == 1
;			SELECTCOM = 95
;			PRINTFORMW 「我に希望用口ですって？　ふんっ、你なんか足で十分でしょ」
;		ENDIF
;	ENDIF
ENDIF

;PLAYERが交代しているならば参加していない人の挿入など解除
IF SELECTCOM:2 == -1
	CALL RESET_INSERT, PLAYER:1
	;調教者のものを咥えているので無いなら解除
	SIF TEQUIP:深喉 != PLAYER
		TEQUIP:深喉 = 0
ENDIF

;接吻継続…ここではフラグOFFのみ
;フラグONはCHECK_EX_EQUIPで行う
;挿入中はモード継続してみる
IF INSERT("挿入") == 0
	SELECTCASE SELECTCOM
	;接吻、刺激挿入部位などは値を変更させない。道具とアルカナも変更しないことに
	CASE 6, 65 TO 68, 230 TO 279, 282, 301, 311, TNUM("甜言蜜语"), TNUM("夸奖"), TNUM("抱上去")
	;同じ調教者で連続選択時のみ接吻継続
	CASE 0, 2, 5, 7, 8, 10, 15, 16, 60 TO 79, 83 TO 88, 90, 93, 94, 97, 105, 120 TO 129, 130, 176, 280, 281, 283, 286
		;調教者が変わるとダメ
		SIF COND("前Ｔ調教者") != PLAYER
			TEQUIP:接吻 = 0

		;前のターンの指令次第でダメ
		SELECTCASE PREVCOM
		CASE TNUM("接吻")
		;連続実行ならOK
		CASE SELECTCOM
		CASEELSE
			SELECTCASE SELECTCOM
			;挿入中はモード継続してみる
			CASE 60 TO 79
			CASEELSE
				SIF PREVPLAY("挿入") == 0
					TEQUIP:接吻 = 0
			ENDSELECT
		ENDSELECT
	CASEELSE
		TEQUIP:接吻 = 0
	ENDSELECT
ENDIF

;占有不可な場合
IF TEQUIP:Ｗ推倒 || COND("３Ｐ")
	TEQUIP:接吻 = 0
	TEQUIP:ASSI:接吻 = 0
ENDIF

;自慰のフラグ消滅判定
;特定指令の次のターン、ないし特定の状況化じゃないとダメということにしておく
SELECTCASE SELECTCOM
;舐陰, 自慰, 舐陰莖, 接吻, 舐肛, 扒開阴道, 扒開菊穴, 肛門奉仕, 洗面奶
CASE 1, 3, 4, 6, 9, 13, 14, 96, 104, 282

CASEELSE
	IF TEQUIP:面部騎乗
	ELSE
		TEQUIP:PLAYER:自慰 = 0
	ENDIF
ENDSELECT

;胸愛撫のフラグ消滅判定
SIF SELECTCOM != 5
	TEQUIP:胸愛撫 = 0
;阴部愛撫のフラグ消滅判定
SIF SELECTCOM != 7
	TEQUIP:阴部愛撫 = 0
;足交のフラグ消滅判定
SIF SELECTCOM != 95
	TEQUIP:足交 = 0

;調教指令実行前のパラメータの記録
CALL SAVE_PALAM_BEFORECOM

;-------------------------------------------------
;嗜虐or奉仕快楽経験発生フラグ
;-------------------------------------------------
CALL SETFLAG, "快楽経験判定", SELECTCOM

@EVENTCOMEND
#LATER
#DIM LCOUNT

;-------------------------------------------------
;効果終了のお知らせなど、ターンの最後に出力するテ接吻ト
;-------------------------------------------------
IF TEQUIP:甜言蜜语 == 1
	TEQUIP:甜言蜜语 = 0
	CALL BLANKLINE
	PRINTL 高涨的情緒回到了原状…
ENDIF
;视频拍摄中
SIF TEQUIP:攝像機
	CALL EQUIP_COM170_EVENTCOMEND
;女王様PLAY中
;IF TEQUIP:女王様PLAY
;	IF TEQUIP:女王様PLAY == 1 && EXP_GAIN("嗜虐快楽経験") >= 30
;		TEQUIP:女王様PLAY = 2
;	ELSEIF TEQUIP:女王様PLAY == 2 && EXP_GAIN("嗜虐快楽経験") >= 100
;		TEQUIP:女王様PLAY = 3
;	ENDIF
;ENDIF

;-------------------------------------------------
;PLAYERのTEQUIPの管理
;-------------------------------------------------
IF SELECTCOM == 106
	TEQUIP:PLAYER:振動棒 = 0
ELSEIF SELECTCOM == 107
	TEQUIP:PLAYER:肛用振動棒 = 0
ENDIF

CALL SETFLAG, "助手相手の恋慕外し終了"

;-------------------------------------------------
;特別経験獲得_5
;-------------------------------------------------
CALL RECORD_SP_EXP_ALLACTOR

;被逆推と起きるイベント
IF TEQUIP:推倒
	;マスかき止め！ぱんつは就这様
	TEQUIP:PLAYER:自慰 = 0

	IF TEQUIP:手下留情
		CALL BLANKLINE
		PRINTFORMW 主导权被%CALLNAME:TARGET%夺走、%CALLNAME:PLAYER%不能从其手下逃脱…！
	ENDIF
	TEQUIP:手下留情 = 0

	;３ＰはＷ推倒に移行
	SIF TEQUIP:推倒 && SELECTCOM:1 >= 90 && SELECTCOM:1 <= 97
		CALL SETFLAG, "Ｗ推倒"
ELSE
	;推倒の解除→二人推倒も解除
	SIF TARGET:1 && TEQUIP:(TARGET:1):Ｗ推倒
		CALL SETFLAG, "Ｗ推倒解除"
ENDIF

;六九式における道具指令等の処理
CALL SET_PLAY69_TURNEND

CALL TARGET_DOWN

;衣装的污垢など
CALL STAIN_CALC_COSPLAY

;PLAYERが恍惚状態
IF STATE("恍惚", PLAYER)
	SIF TEQUIP:推倒 == 0
		TEQUIP:推倒 = 1
	;相手が乗り気じゃない
	IF TALENT:叛逆
		CALL BLANKLINE
		PRINTFORM ……%CALLNAME:TARGET%似乎不想自己主动做的様子、
		IF RAND:2
			PRINTFORMW 摇着%CALLNAME:PLAYER%的肩膀直到%CALLNAME:PLAYER%清醒过来为止。
		ELSE
			PRINTFORMW 轻轻拍打着%CALLNAME:PLAYER%的脸頬直到%CALLNAME:PLAYER%清醒过来为止。
		ENDIF
		CALL REMOVE_STATE, PLAYER, "恍惚"
		TEQUIP:推倒 = 0
	;恍惚状態で相手の好きにさせるなら
	ELSEIF COND("疲労") == 0 && FLAG:恍惚状態
		NEXTCOM = 281
	ELSEIF COND("疲労")
		CALL BLANKLINE
		PRINTFORM %CALLNAME:TARGET%感觉像是累了的样子、
		IF TALENT:恋慕 && PLAYER == MASTER
			IF RAND:2
				IF INSERT("挿入")
					PRINTFORMW 用骑着的姿势看着%CALLNAME:PLAYER%的脸、等待%CALLNAME:PLAYER%清醒过来…
				ELSE
					PRINTFORMW 撫摸着%CALLNAME:PLAYER%的頭髪用膝枕等待着%CALLNAME:PLAYER%清醒过来…
				ENDIF
			ELSE
				PRINTFORMW 就这样抱着等待%CALLNAME:PLAYER%恢复正常…
			ENDIF
		ELSEIF RAND:2
			PRINTFORMW 摇着%CALLNAME:PLAYER%的肩膀直到%CALLNAME:PLAYER%清醒过来为止…
		ELSE
			PRINTFORMW 轻轻拍打着%CALLNAME:PLAYER%的脸頬直到%CALLNAME:PLAYER%清醒过来为止…
		ENDIF
		CALL REMOVE_STATE, PLAYER, "恍惚"
	ENDIF
ENDIF

IF STATE("脫力", PLAYER)
	SIF TEQUIP:推倒 == 0
		TEQUIP:推倒 = 1
	;相手が疲れている
	IF COND("疲労")
		PRINTFORML %CALLNAME:TARGET%似乎想要结束秘事…
		TRYCALLFORM KOJO_COUNTER_K{NO:TARGET}, "到脱力为止结束的提案"
		SIF NEXTCOM == 999
			BEGIN AFTERTRAIN
		CALL PRINT_SELECT, "结束/继续"
		IF RESULT == 0
			BEGIN AFTERTRAIN
		ELSE
			TRYCALLFORM KOJO_COUNTER_K{NO:TARGET}, "拒绝到脱力为止结束"
			CALL REMOVE_STATE, PLAYER, "脫力"
		ENDIF
	ELSE
		NEXTCOM = 281
	ENDIF
ENDIF

;撃沈フラグ操作
FOR LCOUNT, 2, CHARANUM
	SIF STATE("撃沈", LCOUNT)
		CALL SETFLAG, "撃沈", LCOUNT
NEXT

;-------------------------------------------------
;各種フラグの阴蒂ンナップ
;-------------------------------------------------
DRAWLINE
CALL SETFLAG, "ターン終了", TARGET
CALL SETFLAG, "ターン終了", MASTER
IF ASSI
	CALL SETFLAG, "ターン終了", ASSI
	;助手経験
	IF TEQUIP:推倒 == 0 && PLAYER != ASSI && RAND:2
		EXP:ASSI:助手経験 += 1
		SIF TALENT:ASSI:聰慧 && RAND:2
			EXP:ASSI:助手経験 += 1
		SIF TALENT:ASSI:笨蛋 && RAND:2
			EXP:ASSI:助手経験 -= 1
	ENDIF

	;相性の変動(とりあえずは上昇のみ)。絶頂していなくても上昇します。
	IF (NOWEX:絶頂数合計 + NOWEX:射精 + NOWEX:噴乳 + NOWEX:絶頂漏尿 >= RAND:10 && ASSIPLAY) || (COND("絶頂", PLAYER) >= RAND:4 && TEQUIP:Ｗ推倒 && TARGET:1 == ASSI)
		LOCAL = 0
		SELECTCASE RELATION:(NO:ASSI)
		CASE IS >= 200
			SIF RAND:12 == 0
				LOCAL = 1
		CASE IS >= 150
			SIF RAND:8 == 0
				LOCAL = 1
		CASE IS >= 120
			SIF RAND:6 == 0
				LOCAL = 1
		CASEELSE
			SIF RAND:4 == 0
				LOCAL = 1
		ENDSELECT
		IF LOCAL && NO:ASSI != 99
			CALL CHANGE_RELATION, 5, TARGET, ASSI
			;CALL BLANKLINE
			;PRINTFORMW %CALLNAME:TARGET%と%CALLNAME:ASSI%の仲が良くなったようだ…
		ENDIF
	ENDIF
ENDIF
;-------------------------------------------------
;助手の行動や起こった事を総合して今回の指令行動を記録
;-------------------------------------------------
CALL SETFLAG, "今回指令"

;前回のTARGETが誰か
TFLAG:前Ｔ対象 = TARGET
;前回の調教者が助手か主人か
TFLAG:前Ｔ調教者 = PLAYER