code:
;-------------------------------------------------
;ABL:Ｍ感覚 のLVUP処理
;-------------------------------------------------
@ABLUP14
#DIM LCOUNT
#DIM CHOICE
#DIM NUM_CHOICES
#DIM SET_CHOICE
#DIM NUM_JUEL, 10

;必要な珠などの値を取得
CALL IS_ABLUP14
;何もできない場合
IF RESULT == 0 && ABL:Ｍ感覚 >= 99
	PRINTFORMW 已經抵達MAX了。
	RETURN 0
ENDIF

DRAWLINE
VARSET NUM_JUEL
NUM_CHOICES = 0

IF ABL:Ｍ感覚 < 99
	;珠以外で必要な条件や軽減の内訳の記載
	SETCOLOR DEF_COLOR("黄色")
	SELECTCASE EXP:接吻経験
	CASE IS >= EXP_LV(ABL:Ｍ感覚 + 3)
		PRINTFORML ※接吻經驗非常的多、要求的寶珠減少80％※
	CASE IS >= EXP_LV(ABL:Ｍ感覚 + 2)
		PRINTFORML ※接吻經驗很多、要求的寶珠減少50％※
	CASE IS >= EXP_LV(ABL:Ｍ感覚 + 1)
		PRINTFORML ※接吻經驗較多、要求的寶珠減少20％※
	;著しく足りていない
	CASE IS < MAX(EXP_LV(ABL:Ｍ感覚), 1)
		PRINTFORML ※接吻經驗太少、要求的寶珠增加3倍※
	ENDSELECT
	RESETCOLOR

	FOR LCOUNT, 0, 16
		SIF JUEL:0:LCOUNT == 0
			CONTINUE

		IF JUEL:LCOUNT >= JUEL:0:LCOUNT
			PRINTFORML  [{NUM_CHOICES, 2}] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT} ……ＯＫ
		ELSE
			SETCOLOR DEF_COLOR("灰色")
			PRINTFORML  [×] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT}
			RESETCOLOR
		ENDIF
		NUM_JUEL:NUM_CHOICES = LCOUNT
		NUM_CHOICES += 1
	NEXT
ENDIF

;特殊な選択肢
SET_CHOICE = 0
;蕩唇を得る
IF TALENT:蕩唇 == 0
	IF COND("蕩唇取得可能")
		PRINTFORML  [10] 獲得[蕩唇]
		SET_CHOICE = 10
	ELSE
		SETCOLOR DEF_COLOR("灰色")
		PRINTFORML  [×] 獲得[蕩唇](要:快Ｍの珠{NUM("宝珠：蕩唇取得")}、Ｍ感覚4LV、今回Ｍ絶頂数10)
		RESETCOLOR
	ENDIF
ENDIF

PRINTL [100] 不、再考慮一下吧。

CALL INPUT_SELECT, NUM_CHOICES, SET_CHOICE, 100

CHOICE = RESULT

SELECTCASE CHOICE
CASE 100
	RETURN 0
CASE 10
	IF JUEL:快Ｍ >= NUM("宝珠：蕩唇取得") && TALENT:蕩唇 == 0
		JUEL:快Ｍ -= NUM("宝珠：蕩唇取得")
		TALENT:蕩唇 = 1
		PRINTFORMW %CALLNAME:TARGET%看向這邊的眼神很奇怪……
		PRINTFORMW %CALLNAME:TARGET%在性行為結束後、將拖著筋疲力竭的身體整理殘局的%CALLNAME:MASTER%抱在懷裡、強硬的索取著舌吻……
		PRINTL
		SETCOLOR DEF_COLOR("爱心粉紅")
		PRINTFORMW %CALLNAME:TARGET%獲得[蕩唇]
		RESETCOLOR
	ENDIF
CASEELSE
	IF NUM_CHOICES && JUEL:(NUM_JUEL:CHOICE) >= JUEL:0:(NUM_JUEL:CHOICE)
		JUEL:(NUM_JUEL:CHOICE) -= JUEL:0:(NUM_JUEL:CHOICE)
		ABL:Ｍ感覚 += 1
		PRINTFORMW Ａ感覚等級提升到{ABL:Ｍ感覚}LV了。
	ENDIF
ENDSELECT

;喉性感の獲得
IF TALENT:喉性感 == 0 && ABL:Ｍ感覚 + TALENT:Ｍ性向 >= 5
	PRINTFORM %CALLNAME:TARGET%
	CALL PRINT_COLORTEXT, "[喉性感]", DEF_COLOR("黄色")
	PRINTFORML 獲得了
	TALENT:喉性感 = 1
	FORCEWAIT
ENDIF

;まだレベルが上げられたりする場合には最初に返回
CALL IS_ABLUP14
SIF RESULT
	RESTART

;ABL:Ｍ感覚のLVUPに必要な条件を算出し、LVUP出来るなら1を返す
@IS_ABLUP14, ARGS
CALL VARSET_ABLUP
SELECTCASE ABL:Ｍ感覚
CASE 0
	JUEL:0:快Ｍ = 500
CASE 1
	JUEL:0:快Ｍ = 1000
CASE 2
	JUEL:0:快Ｍ = 3000
CASE 3 TO 4
	JUEL:0:快Ｍ = (ABL:Ｍ感覚 - 2) * 5000
CASE 5 TO 9
	JUEL:0:快Ｍ = 10000 + (ABL:Ｍ感覚 - 4) * 10000
CASEELSE
	JUEL:0:快Ｍ = 70000 + (ABL:Ｍ感覚 - 9) * 30000
ENDSELECT

;接吻経験による軽減
SELECTCASE EXP:接吻経験
CASE IS >= EXP_LV(ABL:Ｍ感覚 + 3)
	TIMES JUEL:0:快Ｍ, 0.20
CASE IS >= EXP_LV(ABL:Ｍ感覚 + 2)
	TIMES JUEL:0:快Ｍ, 0.50
CASE IS >= EXP_LV(ABL:Ｍ感覚 + 1)
	TIMES JUEL:0:快Ｍ, 0.80
;著しく足りていない
CASE IS < MAX(EXP_LV(ABL:Ｍ感覚), 1)
	TIMES JUEL:0:快Ｍ, 3.00
ENDSELECT

;蕩唇が獲得できる？
SIF COND("蕩唇取得可能") && ARGS != "ＬＶ限定"
	RETURN 1
;最大LV未満か？
SIF ABL:Ｍ感覚 >= 99
	RETURN 0

;条件のどれかを阴蒂アしてる？
SIF JUEL:0:快Ｍ && JUEL:快Ｍ >= JUEL:0:快Ｍ
	RETURN 1
RETURN 0


code:
;-------------------------------------------------
;ABL:尿道感覚 のLVUP処理
;-------------------------------------------------
@ABLUP15
#DIM LCOUNT
#DIM CHOICE
#DIM NUM_CHOICES
#DIM SET_CHOICE
#DIM NUM_JUEL, 10

;必要な珠などの値を取得
CALL IS_ABLUP15
;何もできない場合
IF RESULT == 0 && ABL:尿道感覚 >= 99
	PRINTFORMW 已經抵達MAX了。
	RETURN 0
ENDIF

DRAWLINE

VARSET NUM_JUEL
NUM_CHOICES = 0
IF ABL:尿道感覚 < 99
	;珠以外で必要な条件や軽減の内訳の記載
	SETCOLOR DEF_COLOR("黄色")
	SELECTCASE EXP:尿道経験
	CASE IS >= EXP_LV(ABL:尿道感覚 + 3)
		PRINTFORML ※尿道經驗非常的多、要求的寶珠減少80％※
	CASE IS >= EXP_LV(ABL:尿道感覚 + 2)
		PRINTFORML ※尿道經驗很多、要求的寶珠減少50％※
	CASE IS >= EXP_LV(ABL:尿道感覚 + 1)
		PRINTFORML ※尿道經驗較多、要求的寶珠減少20％※
	;著しく足りていない
	CASE IS < MAX(EXP_LV(ABL:尿道感覚), 1)
		PRINTFORML ※尿道經驗太少、要求的寶珠增加3倍※
	ENDSELECT
	RESETCOLOR

	FOR LCOUNT, 0, 16
		SIF JUEL:0:LCOUNT == 0
			CONTINUE

		IF JUEL:LCOUNT >= JUEL:0:LCOUNT
			PRINTFORML  [{NUM_CHOICES, 2}] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT} ……ＯＫ
		ELSE
			SETCOLOR DEF_COLOR("灰色")
			PRINTFORML  [×] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT}
			RESETCOLOR
		ENDIF
		NUM_JUEL:NUM_CHOICES = LCOUNT
		NUM_CHOICES += 1
	NEXT
ENDIF

;特殊な選択肢
SET_CHOICE = 0
;尿道狂を得る
IF TALENT:尿道狂 == 0
	IF COND("尿道狂取得可能")
		PRINTFORML  [10] 獲得[尿道狂]
		SET_CHOICE = 10
	ELSE
		SETCOLOR DEF_COLOR("灰色")
		PRINTFORML  [×] 獲得[尿道狂](要:快尿の珠{NUM("宝珠：尿道狂取得")}、尿道感覚4LV、今回尿道絶頂数20)
		RESETCOLOR
	ENDIF
ENDIF

PRINTL [100] 不、再考慮一下吧。

CALL INPUT_SELECT, NUM_CHOICES, SET_CHOICE, 100

CHOICE = RESULT

SELECTCASE CHOICE
CASE 100
	RETURN 0
CASE 10
	IF JUEL:快尿 >= NUM("宝珠：尿道狂取得") && TALENT:尿道狂 == 0
		JUEL:快尿 -= NUM("宝珠：尿道狂取得")
		TALENT:尿道狂 = 1
		PRINTFORMW %CALLNAME:TARGET%看向這邊的眼神很奇怪……
		IF TALENT:恋慕 || TALENT:淫乱
			PRINTFORMW %CALLNAME:TARGET%在激烈的性愛結束後、用柔軟嫵媚的語気懇求%CALLNAME:MASTER%継続蹂躪她的尿道……
		ELSE
			PRINTFORMW %CALLNAME:TARGET%一邊用手指愛撫著被擴張的尿道口、一邊將渴求而朦朧的視線集中在%CALLNAME:MASTER%身上……
		ENDIF
		PRINTL
		SETCOLOR DEF_COLOR("爱心粉紅")
		PRINTFORMW %CALLNAME:TARGET%獲得[尿道狂]
		RESETCOLOR
	ENDIF
CASEELSE
	IF NUM_CHOICES && JUEL:(NUM_JUEL:CHOICE) >= JUEL:0:(NUM_JUEL:CHOICE)
		JUEL:(NUM_JUEL:CHOICE) -= JUEL:0:(NUM_JUEL:CHOICE)
		ABL:尿道感覚 += 1
		PRINTFORMW 尿道感覚等級提升到{ABL:尿道感覚}LV了。
	ENDIF
ENDSELECT

;まだレベルが上げられたりする場合には最初に返回
CALL IS_ABLUP15
SIF RESULT
	RESTART

;ABL:尿道感覚のLVUPに必要な条件を算出し、LVUP出来るなら1を返す
@IS_ABLUP15, ARGS
CALL VARSET_ABLUP
SELECTCASE ABL:尿道感覚
CASE 0
	JUEL:0:快尿 = 500
CASE 1
	JUEL:0:快尿 = 1000
CASE 2
	JUEL:0:快尿 = 3000
CASE 3 TO 4
	JUEL:0:快尿 = (ABL:尿道感覚 - 2) * 5000
CASE 5 TO 9
	JUEL:0:快尿 = 10000 + (ABL:尿道感覚 - 4) * 10000
CASEELSE
	JUEL:0:快尿 = 70000 + (ABL:尿道感覚 - 9) * 30000
ENDSELECT

;尿道経験による軽減(増えづらい経験なので回数はＶやＡより格段に少ない)
SELECTCASE EXP:尿道経験
CASE IS >= EXP_LV(ABL:尿道感覚 + 3)
	TIMES JUEL:0:快尿, 0.20
CASE IS >= EXP_LV(ABL:尿道感覚 + 2)
	TIMES JUEL:0:快尿, 0.50
CASE IS >= EXP_LV(ABL:尿道感覚 + 1)
	TIMES JUEL:0:快尿, 0.80
;著しく足りていない
CASE IS < MAX(EXP_LV(ABL:尿道感覚), 1)
	TIMES JUEL:0:快尿, 3.00
ENDSELECT

;尿道狂が獲得できる？
SIF COND("尿道狂取得可能") && ARGS != "ＬＶ限定"
	RETURN 1
;最大LV未満か？
SIF ABL:尿道感覚 >= 99
	RETURN 0

;条件のどれかを阴蒂アしてる？
SIF JUEL:0:快尿 && JUEL:快尿 >= JUEL:0:快尿
	RETURN 1
RETURN 0

license: unknown


code:
;-------------------------------------------------
;ABL:欲望 のLVUP処理
;-------------------------------------------------
@ABLUP1
#DIM LCOUNT
#DIM NUM_CHOICES
#DIM SET_CHOICE
#DIM NUM_JUEL, 10
#DIM ADDCOND_RESULT

;必要な珠などの値を取得
CALL IS_ABLUP1
;何もできない場合
IF RESULT == 0 && ABL:欲望 >= 99
	PRINTFORMW 已經抵達MAX了。
	RETURN 0
ENDIF

DRAWLINE
;珠以外で必要な条件や軽減の内訳の記載
;SETCOLOR DEF_COLOR("黄色")

;RESETCOLOR
VARSET NUM_JUEL
NUM_CHOICES = 0
IF ABL:欲望 < 99
	FOR LCOUNT, 0, 16
		SIF JUEL:0:LCOUNT == 0
			CONTINUE

		IF JUEL:LCOUNT >= JUEL:0:LCOUNT
			PRINTFORML  [{NUM_CHOICES, 2}] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT} ……ＯＫ
		ELSE
			SETCOLOR DEF_COLOR("灰色")
			PRINTFORML  [×] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT}
			RESETCOLOR
		ENDIF
		NUM_JUEL:NUM_CHOICES = LCOUNT
		NUM_CHOICES += 1
	NEXT
ENDIF

;特殊な選択肢
SET_CHOICE = 0
;淫乱に目覚める
IF TALENT:淫乱 == 0 && COND("恋慕と淫乱の自動獲得可能") == 0

	STR:実行条件 =
	RESULT = 0
	TRYCALLFORM ADDCOND_K{NO:TARGET}("淫乱")
	ADDCOND_RESULT = RESULT

	;ダメだった場合
	IF STR:実行条件 != ""
		CALL PRINT_STRL, @"灰色_ [×] 淫乱に目覚める(%STR:実行条件%)"
	ELSEIF COND("淫乱取得可能") || ADDCOND_RESULT
		PRINTFORML  [10] 覺醒[淫乱]
		SET_CHOICE = 10
	ELSE
		CALL PRINT_STRL, "灰色_ [×] 覺醒[淫乱](要:欲望5LV、自慰中毒或精液中毒的其中一个达到LV３、今回の絶頂数10)"
	ENDIF
ENDIF
PRINTL [100] 不、再考慮一下吧。

CALL INPUT_SELECT, NUM_CHOICES, SET_CHOICE, 100

SELECTCASE RESULT
CASE 100
	RETURN 0
CASE 10
	CALL SETFLAG, "淫乱"
CASEELSE
	IF NUM_CHOICES && JUEL:(NUM_JUEL:RESULT) >= JUEL:0:(NUM_JUEL:RESULT)
		JUEL:(NUM_JUEL:RESULT) -= JUEL:0:(NUM_JUEL:RESULT)
		ABL:欲望 += 1
		PRINTFORMW 欲望变成了LV{ABL:欲望}。
	ENDIF
ENDSELECT

;まだレベルが上げられたりする場合には最初に返回
CALL IS_ABLUP1
SIF RESULT
	RESTART

;ABL:欲望のLVUPに必要な条件を算出し、LVUP出来るなら1を返す
;なお淫乱の獲得もここに含める
@IS_ABLUP1, ARGS
#DIM ADDCOND_RESULT
CALL VARSET_ABLUP
SELECTCASE ABL:欲望
CASE 0
	JUEL:0:欲情 = 100
CASE 1 TO 4
	JUEL:0:欲情 = ABL:欲望 * 1000
CASE 5 TO 9
	JUEL:0:欲情 = 4000 + (ABL:欲望 - 4) * 5000
CASEELSE
	JUEL:0:欲情 = 30000 + (ABL:欲望 - 10) * 20000
ENDSELECT

;淫乱が獲得できる？
IF TALENT:淫乱 == 0 && COND("恋慕と淫乱の自動獲得可能") == 0 && ARGS != "ＬＶ限定"
	STR:実行条件 =
	RESULT = 0
	TRYCALLFORM ADDCOND_K{NO:TARGET}("淫乱")
	ADDCOND_RESULT = RESULT
	SIF STR:実行条件 == "" && (COND("淫乱取得可能") || ADDCOND_RESULT)
		RETURN 1
ENDIF
;最大LV未満か？
SIF ABL:欲望 >= 99
	RETURN 0

;条件のどれかを阴蒂アしてる？
SIF JUEL:0:欲情 && JUEL:欲情 >= JUEL:0:欲情
	RETURN 1
RETURN 0


code:
;-------------------------------------------------
;ABL:受虐属性 のLVUP処理
;-------------------------------------------------
@ABLUP20
#DIM LCOUNT
#DIM NUM_CHOICES
#DIM SET_CHOICE
#DIM NUM_JUEL, 10

;必要な珠などの値を取得
CALL IS_ABLUP20
;何もできない場合
IF RESULT == 0 && ABL:受虐属性 >= 99
	PRINTFORMW 已經抵達MAX了。
	RETURN 0
ENDIF

DRAWLINE
;珠以外で必要な条件や軽減の内訳の記載
SETCOLOR DEF_COLOR("黄色")
;被虐快楽経験による軽減
SELECTCASE EXP:被虐快楽経験
CASE IS >= EXP_LV(ABL:受虐属性 + 5)
	PRINTFORML ※被虐快楽經驗非常的多、要求的寶珠減少80％※
CASE IS >= EXP_LV(ABL:受虐属性 + 4)
	PRINTFORML ※被虐快楽經驗很多、要求的寶珠減少50％※
CASE IS >= EXP_LV(ABL:受虐属性 + 3)
	PRINTFORML ※被虐快楽經驗較多、要求的寶珠減少20％※
;著しく足りていない
CASE IS < EXP_LV(ABL:受虐属性 + 2)
	PRINTFORML ※被虐快楽經驗太少、要求的寶珠增加3倍※
ENDSELECT
RESETCOLOR

VARSET NUM_JUEL
NUM_CHOICES = 0
FOR LCOUNT, 0, 16
	SIF JUEL:0:LCOUNT == 0
		CONTINUE

	IF JUEL:LCOUNT >= JUEL:0:LCOUNT
		PRINTFORML  [{NUM_CHOICES, 2}] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT} ……ＯＫ
	ELSE
		SETCOLOR DEF_COLOR("灰色")
		PRINTFORML  [×] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT}
		RESETCOLOR
	ENDIF
	NUM_JUEL:NUM_CHOICES = LCOUNT
	NUM_CHOICES += 1
NEXT

;特殊な選択肢
SET_CHOICE = 0

PRINTL [100] 不、再考慮一下吧。

CALL INPUT_SELECT, NUM_CHOICES, 100

SELECTCASE RESULT
CASE 100
	RETURN 0
CASEELSE
	IF NUM_CHOICES && JUEL:(NUM_JUEL:RESULT) >= JUEL:0:(NUM_JUEL:RESULT)
		JUEL:(NUM_JUEL:RESULT) -= JUEL:0:(NUM_JUEL:RESULT)
		ABL:受虐属性 += 1
		PRINTFORMW 受虐属性等級提升到{ABL:受虐属性}LV了。
	ENDIF
ENDSELECT

;まだレベルが上げられたりする場合には最初に返回
CALL IS_ABLUP20
SIF RESULT
	RESTART

;ABL:受虐属性のLVUPに必要な条件を算出し、LVUP出来るなら1を返す
@IS_ABLUP20, ARGS
CALL VARSET_ABLUP
SELECTCASE ABL:受虐属性
CASE 0
	JUEL:0:欲情 = 2000
CASE 1
	JUEL:0:欲情 = 5000
CASE 2
	JUEL:0:欲情 = 10000
CASE 3
	JUEL:0:欲情 = 20000
CASE 4
	JUEL:0:欲情 = 30000
CASEELSE
	JUEL:0:欲情 = 40000 + (ABL:受虐属性 - 5) * 30000
ENDSELECT

SIF TALENT:高慢
	TIMES JUEL:0:欲情, 2.00
SIF TALENT:謙虚 || TALENT:倒錯的
	TIMES JUEL:0:欲情, 0.50

;被虐快楽経験による軽減
SELECTCASE EXP:被虐快楽経験
CASE IS >= EXP_LV(ABL:受虐属性 + 5)
	TIMES JUEL:0:欲情, 0.20
CASE IS >= EXP_LV(ABL:受虐属性 + 4)
	TIMES JUEL:0:欲情, 0.50
CASE IS >= EXP_LV(ABL:受虐属性 + 3)
	TIMES JUEL:0:欲情, 0.80
;著しく足りていない
CASE IS < EXP_LV(ABL:受虐属性 + 2)
	TIMES JUEL:0:欲情, 3.00
ENDSELECT

JUEL:0:恐怖 = JUEL:0:欲情 / 2
JUEL:0:恥情 = JUEL:0:欲情 * 3 / 4
JUEL:0:苦痛 = JUEL:0:欲情 / 2

;最大LV未満か？
SIF ABL:受虐属性 >= 99
	RETURN 0

;条件のどれかを阴蒂アしてる？

SIF JUEL:0:恐怖 && JUEL:恐怖 >= JUEL:0:恐怖
	RETURN 1
SIF JUEL:0:恥情 && JUEL:恥情 >= JUEL:0:恥情
	RETURN 1
SIF JUEL:0:欲情 && JUEL:欲情 >= JUEL:0:欲情
	RETURN 1
SIF JUEL:0:苦痛 && JUEL:苦痛 >= JUEL:0:苦痛
	RETURN 1
RETURN 0


code:
;-------------------------------------------------
;ABL:施虐属性 のLVUP処理
;-------------------------------------------------
@ABLUP21
#DIM LCOUNT
#DIM NUM_CHOICES
#DIM SET_CHOICE
#DIM NUM_JUEL, 10

;必要な珠などの値を取得
CALL IS_ABLUP21
;何もできない場合
IF RESULT == 0 && ABL:施虐属性 >= 99
	PRINTFORMW 已經抵達MAX了。
	RETURN 0
ENDIF

DRAWLINE
;珠以外で必要な条件や軽減の内訳の記載
SETCOLOR DEF_COLOR("黄色")
;嗜虐快楽経験による軽減
SELECTCASE EXP:嗜虐快楽経験
CASE IS >= EXP_LV(ABL:施虐属性 + 5)
	PRINTFORML ※嗜虐快楽經驗非常的多、要求的寶珠減少80％※
CASE IS >= EXP_LV(ABL:施虐属性 + 4)
	PRINTFORML ※嗜虐快楽經驗很多、要求的寶珠減少50％※
CASE IS >= EXP_LV(ABL:施虐属性 + 3)
	PRINTFORML ※嗜虐快楽經驗較多、要求的寶珠減少20％※
;著しく足りていない
CASE IS < EXP_LV(ABL:施虐属性 + 2)
	PRINTFORML ※嗜虐快楽經驗太少、要求的寶珠增加3倍※
ENDSELECT
RESETCOLOR

VARSET NUM_JUEL
NUM_CHOICES = 0
FOR LCOUNT, 0, 16
	SIF JUEL:0:LCOUNT == 0
		CONTINUE

	IF JUEL:LCOUNT >= JUEL:0:LCOUNT
		PRINTFORML  [{NUM_CHOICES, 2}] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT} ……ＯＫ
	ELSE
		SETCOLOR DEF_COLOR("灰色")
		PRINTFORML  [×] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT}
		RESETCOLOR
	ENDIF
	NUM_JUEL:NUM_CHOICES = LCOUNT
	NUM_CHOICES += 1
NEXT

;特殊な選択肢
SET_CHOICE = 0

PRINTL [100] 不、再考慮一下吧。

CALL INPUT_SELECT, NUM_CHOICES, 100

SELECTCASE RESULT
CASE 100
	RETURN 0
CASEELSE
	IF NUM_CHOICES && JUEL:(NUM_JUEL:RESULT) >= JUEL:0:(NUM_JUEL:RESULT)
		JUEL:(NUM_JUEL:RESULT) -= JUEL:0:(NUM_JUEL:RESULT)
		ABL:施虐属性 += 1
		PRINTFORMW 施虐属性等級提升到{ABL:施虐属性}LV了。
	ENDIF
ENDSELECT

;まだレベルが上げられたりする場合には最初に返回
CALL IS_ABLUP21
SIF RESULT
	RESTART

;ABL:施虐属性のLVUPに必要な条件を算出し、LVUP出来るなら1を返す
@IS_ABLUP21, ARGS
CALL VARSET_ABLUP
SELECTCASE ABL:施虐属性
CASE 0
	JUEL:0:欲情 = 2000
CASE 1
	JUEL:0:欲情 = 5000
CASE 2
	JUEL:0:欲情 = 10000
CASE 3
	JUEL:0:欲情 = 20000
CASE 4
	JUEL:0:欲情 = 30000
CASEELSE
	JUEL:0:欲情 = 40000 + (ABL:施虐属性 - 5) * 30000
ENDSELECT

SIF TALENT:倒錯的
	TIMES JUEL:0:欲情, 0.50

;嗜虐快楽経験による軽減
SELECTCASE EXP:嗜虐快楽経験
CASE IS >= EXP_LV(ABL:施虐属性 + 5)
	TIMES JUEL:0:欲情, 0.20
CASE IS >= EXP_LV(ABL:施虐属性 + 4)
	TIMES JUEL:0:欲情, 0.50
CASE IS >= EXP_LV(ABL:施虐属性 + 3)
	TIMES JUEL:0:欲情, 0.80
;著しく足りていない
CASE IS < EXP_LV(ABL:施虐属性 + 2)
	TIMES JUEL:0:欲情, 3.00
ENDSELECT

JUEL:0:習得 = JUEL:0:欲情

;最大LV未満か？
SIF ABL:施虐属性 >= 99
	RETURN 0

;条件のどれかを阴蒂アしてる？
SIF JUEL:0:習得 && JUEL:習得 >= JUEL:0:習得
	RETURN 1
SIF JUEL:0:欲情 && JUEL:欲情 >= JUEL:0:欲情
	RETURN 1
RETURN 0


code:
;-------------------------------------------------
;ABL:自慰中毒 のLVUP処理
;-------------------------------------------------
@ABLUP22
#DIM LCOUNT
#DIM NUM_CHOICES
#DIM SET_CHOICE
#DIM NUM_JUEL, 10

;必要な珠などの値を取得
CALL IS_ABLUP22
;何もできない場合
IF RESULT == 0 && ABL:自慰中毒 >= 99
	PRINTFORMW 已經抵達MAX了。
	RETURN 0
ENDIF

DRAWLINE
;珠以外で必要な条件や軽減の内訳の記載
SETCOLOR DEF_COLOR("黄色")
;自慰経験による軽減
SELECTCASE EXP:自慰経験
CASE IS >= EXP_LV(ABL:自慰中毒 + 5)
	PRINTFORML ※自慰經驗非常的多、要求的寶珠減少80％※
CASE IS >= EXP_LV(ABL:自慰中毒 + 4)
	PRINTFORML ※自慰經驗很多、要求的寶珠減少50％※
CASE IS >= EXP_LV(ABL:自慰中毒 + 3)
	PRINTFORML ※自慰經驗較多、要求的寶珠減少20％※
;ある程度の経験が必要
CASE IS < EXP_LV(ABL:自慰中毒 + 1)
	PRINTFORML ※自慰經驗太少、自慰中毒的LV是無法提升的※
	SETCOLOR DEF_COLOR("灰色")
	PRINTFORML  [×] 自慰経験 {EXP:自慰経験, 8}/{EXP_LV(ABL:自慰中毒 + 1)}
;著しく足りていない
CASE IS < EXP_LV(ABL:自慰中毒 + 2)
	PRINTFORML ※自慰經驗太少、要求的寶珠增加3倍※
ENDSELECT
RESETCOLOR

VARSET NUM_JUEL
NUM_CHOICES = 0
FOR LCOUNT, 0, 16
	SIF JUEL:0:LCOUNT == 0
		CONTINUE

	IF JUEL:LCOUNT >= JUEL:0:LCOUNT
		PRINTFORML  [{NUM_CHOICES, 2}] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT} ……ＯＫ
	ELSE
		SETCOLOR DEF_COLOR("灰色")
		PRINTFORML  [×] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT}
		RESETCOLOR
	ENDIF
	NUM_JUEL:NUM_CHOICES = LCOUNT
	NUM_CHOICES += 1
NEXT

;特殊な選択肢
SET_CHOICE = 0

PRINTL [100] 不、再考慮一下吧。

CALL INPUT_SELECT, NUM_CHOICES, 100

SELECTCASE RESULT
CASE 100
	RETURN 0
CASEELSE
	IF NUM_CHOICES && JUEL:(NUM_JUEL:RESULT) >= JUEL:0:(NUM_JUEL:RESULT)
		JUEL:(NUM_JUEL:RESULT) -= JUEL:0:(NUM_JUEL:RESULT)
		ABL:自慰中毒 += 1
		PRINTFORMW 自慰中毒等級提升到{ABL:自慰中毒}LV了。
	ENDIF
ENDSELECT

;まだレベルが上げられたりする場合には最初に返回
CALL IS_ABLUP22
SIF RESULT
	RESTART

;ABL:自慰中毒のLVUPに必要な条件を算出し、LVUP出来るなら1を返す
@IS_ABLUP22, ARGS
CALL VARSET_ABLUP
SELECTCASE ABL:自慰中毒
CASE 0
	JUEL:0:欲情 = 2000
CASE 1
	JUEL:0:欲情 = 5000
CASE 2
	JUEL:0:欲情 = 10000
CASE 3
	JUEL:0:欲情 = 20000
CASE 4
	JUEL:0:欲情 = 30000
CASEELSE
	JUEL:0:欲情 = 40000 + (ABL:自慰中毒 - 5) * 30000
ENDSELECT

SIF TALENT:真面目 || TALENT:自制心
	TIMES JUEL:0:欲情, 2.00
SIF TALENT:容易中毒
	TIMES JUEL:0:欲情, 0.50

;自慰経験による軽減
SELECTCASE EXP:自慰経験
CASE IS >= EXP_LV(ABL:自慰中毒 + 5)
	TIMES JUEL:0:欲情, 0.20
CASE IS >= EXP_LV(ABL:自慰中毒 + 4)
	TIMES JUEL:0:欲情, 0.50
CASE IS >= EXP_LV(ABL:自慰中毒 + 3)
	TIMES JUEL:0:欲情, 0.80
;ある程度の自慰経験が必要
CASE IS < EXP_LV(ABL:自慰中毒 + 1)
	JUEL:0:欲情 = 0
;著しく足りていない
CASE IS < EXP_LV(ABL:自慰中毒 + 2)
	TIMES JUEL:0:欲情, 3.00
ENDSELECT

JUEL:0:恥情 = JUEL:0:欲情 * 3 / 2

;最大LV未満か？
SIF ABL:自慰中毒 >= 99
	RETURN 0

;条件のどれかを阴蒂アしてる？
SIF JUEL:0:恥情 && JUEL:恥情 >= JUEL:0:恥情
	RETURN 1
SIF JUEL:0:欲情 && JUEL:欲情 >= JUEL:0:欲情
	RETURN 1
RETURN 0


code:
;-------------------------------------------------
;ABL:精液中毒 のLVUP処理
;-------------------------------------------------
@ABLUP23
#DIM LCOUNT
#DIM NUM_CHOICES
#DIM SET_CHOICE
#DIM NUM_JUEL, 10

;必要な珠などの値を取得
CALL IS_ABLUP23
;何もできない場合
IF RESULT == 0 && ABL:精液中毒 >= 99
	PRINTFORMW 已經抵達MAX了。
	RETURN 0
ENDIF

DRAWLINE
;珠以外で必要な条件や軽減の内訳の記載
SETCOLOR DEF_COLOR("黄色")
;精液経験による軽減
SELECTCASE EXP:精液経験
CASE IS >= EXP_LV(ABL:精液中毒 + 6)
	PRINTFORML ※精液經驗非常的多、要求的寶珠減少80％※
CASE IS >= EXP_LV(ABL:精液中毒 + 5)
	PRINTFORML ※精液經驗很多、要求的寶珠減少50％※
CASE IS >= EXP_LV(ABL:精液中毒 + 4)
	PRINTFORML ※精液經驗較多、要求的寶珠減少20％※
;ある程度の経験が必要
CASE IS < EXP_LV(ABL:精液中毒 + 1)
	PRINTFORML ※精液經驗太少、精液中毒的LV是無法提升的※
	SETCOLOR DEF_COLOR("灰色")
	PRINTFORML  [×] 精液経験 {EXP:精液経験, 8}/{EXP_LV(ABL:精液中毒 + 1)}
;著しく足りていない
CASE IS < EXP_LV(ABL:精液中毒 + 2)
	PRINTFORML ※精液經驗太少、要求的寶珠增加3倍※
ENDSELECT
RESETCOLOR

VARSET NUM_JUEL
NUM_CHOICES = 0
FOR LCOUNT, 0, 16
	SIF JUEL:0:LCOUNT == 0
		CONTINUE

	IF JUEL:LCOUNT >= JUEL:0:LCOUNT
		PRINTFORML  [{NUM_CHOICES, 2}] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT} ……ＯＫ
	ELSE
		SETCOLOR DEF_COLOR("灰色")
		PRINTFORML  [×] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT}
		RESETCOLOR
	ENDIF
	NUM_JUEL:NUM_CHOICES = LCOUNT
	NUM_CHOICES += 1
NEXT

;特殊な選択肢
SET_CHOICE = 0

PRINTL [100] 不、再考慮一下吧。

CALL INPUT_SELECT, NUM_CHOICES, 100

SELECTCASE RESULT
CASE 100
	RETURN 0
CASEELSE
	IF NUM_CHOICES && JUEL:(NUM_JUEL:RESULT) >= JUEL:0:(NUM_JUEL:RESULT)
		JUEL:(NUM_JUEL:RESULT) -= JUEL:0:(NUM_JUEL:RESULT)
		ABL:精液中毒 += 1
		PRINTFORMW 精液中毒等級提升到{ABL:精液中毒}LV了。
	ENDIF
ENDSELECT

IF TALENT:精液弱点 == 0
	CALL CALC, "精液弱点", TARGET
	;素質を得た
	IF TALENT:精液弱点 && EXP:Ｈ回数
		PRINTFORMW %CALLNAME:TARGET%在多次被滾燙的精液澆灌之後、身體在接受精液的過程中也能獲得快樂了……
		PRINTFORM %CALLNAME:TARGET%
		LOCALS = [%TALENT_NAME(GETNUM(TALENT, "精液弱点"), TALENT:精液弱点)%]
		CALL PRINT_COLORTEXT, LOCALS, DEF_COLOR("黄色")
		PRINTFORMW を得た
	ENDIF
ENDIF

;まだレベルが上げられたりする場合には最初に返回
CALL IS_ABLUP23
SIF RESULT
	RESTART

;ABL:精液中毒のLVUPに必要な条件を算出し、LVUP出来るなら1を返す
@IS_ABLUP23, ARGS
CALL VARSET_ABLUP
SELECTCASE ABL:精液中毒
CASE 0
	JUEL:0:欲情 = 10000
CASE 1
	JUEL:0:欲情 = 20000
CASE 2
	JUEL:0:欲情 = 40000
CASE 3
	JUEL:0:欲情 = 50000
CASE 4
	JUEL:0:欲情 = 80000
CASEELSE
	JUEL:0:欲情 = 80000 + (ABL:精液中毒 - 5) * 50000
ENDSELECT

SIF TALENT:汚臭敏感
	TIMES JUEL:0:欲情, 2.00
SIF TALENT:真面目 || TALENT:自制心
	TIMES JUEL:0:欲情, 2.00
SIF TALENT:容易中毒
	TIMES JUEL:0:欲情, 0.50
SIF TALENT:倒錯的 || TALENT:气味弱点
	TIMES JUEL:0:欲情, 0.80

;精液経験による軽減
SELECTCASE EXP:精液経験
CASE IS >= EXP_LV(ABL:精液中毒 + 6)
	TIMES JUEL:0:欲情, 0.20
CASE IS >= EXP_LV(ABL:精液中毒 + 5)
	TIMES JUEL:0:欲情, 0.50
CASE IS >= EXP_LV(ABL:精液中毒 + 4)
	TIMES JUEL:0:欲情, 0.80
;ある程度の精液経験が必要
CASE IS < EXP_LV(ABL:精液中毒 + 1)
	JUEL:0:欲情 = 0
;著しく足りていない
CASE IS < EXP_LV(ABL:精液中毒 + 2)
	TIMES JUEL:0:欲情, 3.00
ENDSELECT

JUEL:0:屈服 = JUEL:0:欲情 * 3 / 2

;最大LV未満か？
SIF ABL:精液中毒 >= 99
	RETURN 0

;条件のどれかを阴蒂アしてる？
SIF JUEL:0:欲情 && JUEL:欲情 >= JUEL:0:欲情
	RETURN 1
SIF JUEL:0:屈服 && JUEL:屈服 >= JUEL:0:屈服
	RETURN 1
RETURN 0


code:
;-------------------------------------------------
;ABL:技巧 のLVUP処理
;-------------------------------------------------
@ABLUP2
#DIM LCOUNT
#DIM NUM_CHOICES
#DIM NUM_JUEL, 10

;必要な珠などの値を取得
CALL IS_ABLUP2
;何もできない場合
IF RESULT == 0 && ABL:技巧 >= 99
	PRINTFORMW 已經抵達MAX了。
	RETURN 0
ENDIF

DRAWLINE
;珠以外で必要な条件や軽減の内訳の記載
SETCOLOR DEF_COLOR("黄色")
;口交経験～舐陰経験の合計によるEXPLVによる軽減
SELECTCASE GET_EXP_LV(EXP:接吻経験 + (EXP:口交経験+EXP:手淫経験+EXP:足交経験+EXP:腰靈活経験+EXP:乳交経験+EXP:玩弄Ａ経験+EXP:舐陰経験)*5) - ABL:技巧*2
CASE IS >= 12
	PRINTFORML ※與技巧關聯的經驗的合計總數顯著的多、必要的寶珠減少80％※
CASE IS >= 9
	PRINTFORML ※與技巧關聯的經驗的合計總數非常的多、必要的寶珠減少60％※
CASE IS >= 6
	PRINTFORML ※與技巧關聯的經驗的合計總數很多、必要的寶珠減少40％※
CASE IS >= 3
	PRINTFORML ※與技巧關聯的經驗的合計總數較多、必要的寶珠減少20％※
ENDSELECT
RESETCOLOR

VARSET NUM_JUEL
NUM_CHOICES = 0
FOR LCOUNT, 0, 16
	SIF JUEL:0:LCOUNT == 0
		CONTINUE

	IF JUEL:LCOUNT >= JUEL:0:LCOUNT
		PRINTFORML  [{NUM_CHOICES, 2}] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT} ……ＯＫ
	ELSE
		SETCOLOR DEF_COLOR("灰色")
		PRINTFORML  [×] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT}
		RESETCOLOR
	ENDIF
	NUM_JUEL:NUM_CHOICES = LCOUNT
	NUM_CHOICES += 1
NEXT

PRINTL [100] 不、再考慮一下吧。

CALL INPUT_SELECT, NUM_CHOICES, 100

SELECTCASE RESULT
CASE 100
	RETURN 0
CASEELSE
	IF NUM_CHOICES && JUEL:(NUM_JUEL:RESULT) >= JUEL:0:(NUM_JUEL:RESULT)
		JUEL:(NUM_JUEL:RESULT) -= JUEL:0:(NUM_JUEL:RESULT)
		ABL:技巧 += 1
		PRINTFORMW 技巧等級提升到LV{ABL:技巧}了。
	ENDIF
ENDSELECT

;まだレベルが上げられたりする場合には最初に返回
CALL IS_ABLUP2
SIF RESULT
	RESTART

;ABL:技巧のLVUPに必要な条件を算出し、LVUP出来るなら1を返す
@IS_ABLUP2, ARGS
CALL VARSET_ABLUP
SELECTCASE ABL:技巧
CASE 0
	JUEL:0:習得 = 100
CASE 1
	JUEL:0:習得 = 1000
CASE 2 TO 9
	JUEL:0:習得 = 1000 + (ABL:技巧 - 1)* 3000
CASEELSE
	JUEL:0:習得 = 30000 + (ABL:技巧 - 10)* 20000
ENDSELECT

;口交経験～舐陰経験の合計によるEXPLVによる軽減
SELECTCASE GET_EXP_LV(EXP:接吻経験 + (EXP:口交経験+EXP:手淫経験+EXP:足交経験+EXP:腰靈活経験+EXP:乳交経験+EXP:玩弄Ａ経験+EXP:舐陰経験)*5) - ABL:技巧*2
CASE IS >= 12
	TIMES JUEL:0:習得, 0.20
CASE IS >= 9
	TIMES JUEL:0:習得, 0.40
CASE IS >= 6
	TIMES JUEL:0:習得, 0.60
CASE IS >= 3
	TIMES JUEL:0:習得, 0.80
ENDSELECT

;最大LV未満か？
SIF ABL:技巧 >= 99
	RETURN 0

;条件のどれかを阴蒂アしてる？
SIF JUEL:0:習得 && JUEL:習得 >= JUEL:0:習得
	RETURN 1
RETURN 0


code:
;-------------------------------------------------
;ABL:Ｖ拡張 のLVUP処理
;-------------------------------------------------
@ABLUP30
#DIM LCOUNT
#DIM NUM_CHOICES
#DIM SET_CHOICE
#DIM NUM_JUEL, 10

SIF TALENT:男性
	RETURN 0
SIF CONFIG("ＶＡ拡張の手動ＬＶＵＰ") == 0
	RETURN 0

;必要な珠などの値を取得
CALL IS_ABLUP30
;何もできない場合
IF RESULT == 0 && ABL:Ｖ拡張 >= 99
	PRINTFORMW 已經抵達MAX了。
	RETURN 0
ENDIF

DRAWLINE

PRINTFORML %CALLNAME:TARGET%現在的Ｖ拡張等級為{ABL:Ｖ拡張}LV、Ｖ名器度為{ABL_V(TARGET, "絶対値")}
PRINTFORML 要提升Ｖ拡張等级吗？（注：Ｖ名器度也會相應減少）
PRINTFORML
;ＬＶＵＰ可能
IF CALCF("Ｖ拡張の上限", TARGET) > ABL:Ｖ拡張
	ABL:Ｖ拡張 += 1
	PRINTFORML  [ 0] Ｖ拡張等級上升為{ABL:Ｖ拡張}LV（等級提升之後的Ｖ名器度為{ABL_V(TARGET, "絶対値")}）
	ABL:Ｖ拡張 -= 1
ELSE
	SETCOLOR DEF_COLOR("灰色")
	PRINTFORML  [×] Ｖ拡張等級上升為{ABL:Ｖ拡張 + 1}LV ……Ｖ拡張経験和素質並不滿足條件……
	RESETCOLOR
ENDIF

PRINTFORML [100] - 返回

CALL INPUT_SELECT, 1, 100

SELECTCASE RESULT
CASE 100
	RETURN 0
CASEELSE
	IF CALCF("Ｖ拡張の上限", TARGET) > ABL:Ｖ拡張
		ABL:Ｖ拡張 += 1
		CALL GET_EXABL2, TARGET
		PRINTFORMW %CALLNAME:TARGET%的Ｖ拡張等級提升為{ABL:Ｖ拡張}LV、名器度成為{ABL_V(TARGET, "絶対値")}了。
	ENDIF
ENDSELECT

;まだレベルが上げられたりする場合には最初に返回
CALL IS_ABLUP30
SIF RESULT
	RESTART

;ABL:Ｖ拡張のLVUPに必要な条件を算出し、LVUP出来るなら1を返す
@IS_ABLUP30, ARGS
SIF TALENT:男性
	RETURN 0
SIF CONFIG("ＶＡ拡張の手動ＬＶＵＰ") == 0
	RETURN 0
;最大LV未満か？
SIF ABL:Ｖ拡張 >= 99
	RETURN 0
;条件のどれかを阴蒂アしてる？
SIF CALCF("Ｖ拡張の上限", TARGET) > ABL:Ｖ拡張
	RETURN 1

RETURN 0


code:
;-------------------------------------------------
;ABL:Ａ拡張 のLVUP処理
;-------------------------------------------------
@ABLUP31
#DIM LCOUNT
#DIM NUM_CHOICES
#DIM SET_CHOICE
#DIM NUM_JUEL, 10

SIF CONFIG("ＶＡ拡張の手動ＬＶＵＰ") == 0
	RETURN 0

;必要な珠などの値を取得
CALL IS_ABLUP31
;何もできない場合
IF RESULT == 0 && ABL:Ａ拡張 >= 99
	PRINTFORMW 已經抵達MAX了。
	RETURN 0
ENDIF

DRAWLINE

PRINTFORML %CALLNAME:TARGET%現在的Ａ拡張等級為{ABL:Ａ拡張}LV、Ａ名器度為{ABL_A(TARGET, "絶対値")}
PRINTFORML 要提升Ａ拡張等级吗？（注：Ａ名器度也會相應減少）
PRINTFORML
;ＬＶＵＰ可能
IF CALCF("Ａ拡張の上限", TARGET) > ABL:Ａ拡張
	ABL:Ａ拡張 += 1
	PRINTFORML  [ 0] Ａ拡張等級上升為{ABL:Ａ拡張}LV（等級提升之後的Ａ名器度為{ABL_A(TARGET, "絶対値")}）
	ABL:Ａ拡張 -= 1
ELSE
	SETCOLOR DEF_COLOR("灰色")
	PRINTFORML  [×] Ａ拡張等級上升為{ABL:Ａ拡張 + 1}LV ……Ａ拡張経験和素質並不滿足條件……
	RESETCOLOR
ENDIF

PRINTFORML [100] - 返回

CALL INPUT_SELECT, 1, 100

SELECTCASE RESULT
CASE 100
	RETURN 0
CASEELSE
	IF CALCF("Ａ拡張の上限", TARGET) > ABL:Ａ拡張
		ABL:Ａ拡張 += 1
		CALL GET_EXABL2, TARGET
		PRINTFORMW %CALLNAME:TARGET%的Ａ拡張等級提升為{ABL:Ａ拡張}LV、名器度成為{ABL_A(TARGET, "絶対値")}了。
	ENDIF
ENDSELECT

;まだレベルが上げられたりする場合には最初に返回
CALL IS_ABLUP31
SIF RESULT
	RESTART

;ABL:Ａ拡張のLVUPに必要な条件を算出し、LVUP出来るなら1を返す
@IS_ABLUP31, ARGS
SIF CONFIG("ＶＡ拡張の手動ＬＶＵＰ") == 0
	RETURN 0
;最大LV未満か？
SIF ABL:Ａ拡張 >= 99
	RETURN 0
;条件のどれかを阴蒂アしてる？
SIF CALCF("Ａ拡張の上限", TARGET) > ABL:Ａ拡張
	RETURN 1

RETURN 0


code:
;-------------------------------------------------
;ABL:奉仕精神 のLVUP処理
;-------------------------------------------------
@ABLUP3
#DIM LCOUNT
#DIM NUM_CHOICES
#DIM NUM_JUEL, 10

;必要な珠などの値を取得
CALL IS_ABLUP3
;何もできない場合
IF RESULT == 0 && ABL:奉仕精神 >= 99
	PRINTFORMW 已經抵達MAX了。
	RETURN 0
ENDIF

DRAWLINE
;珠以外で必要な条件や軽減の内訳の記載
SETCOLOR DEF_COLOR("黄色")
;奉仕快楽経験による軽減
SELECTCASE EXP:奉仕快楽経験
CASE IS >= EXP_LV(ABL:奉仕精神 + 4)
	PRINTFORML ※奉仕快楽経験非常的多、要求的寶珠減少80％※
CASE IS >= EXP_LV(ABL:奉仕精神 + 3)
	PRINTFORML ※奉仕快楽經驗很多、要求的寶珠減少50％※
CASE IS >= EXP_LV(ABL:奉仕精神 + 2)
	PRINTFORML ※奉仕快楽經驗較多、要求的寶珠減少20％※
;著しく足りていない
CASE IS < EXP_LV(ABL:奉仕精神 + 1)
	PRINTFORML ※奉仕快楽經驗太少、要求的寶珠增加3倍※
ENDSELECT
RESETCOLOR

VARSET NUM_JUEL
NUM_CHOICES = 0
FOR LCOUNT, 0, 16
	SIF JUEL:0:LCOUNT == 0
		CONTINUE

	IF JUEL:LCOUNT >= JUEL:0:LCOUNT
		PRINTFORML  [{NUM_CHOICES, 2}] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT} ……ＯＫ
	ELSE
		SETCOLOR DEF_COLOR("灰色")
		PRINTFORML  [×] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT}
		RESETCOLOR
	ENDIF
	NUM_JUEL:NUM_CHOICES = LCOUNT
	NUM_CHOICES += 1
NEXT

PRINTL [100] 不、再考慮一下吧。

CALL INPUT_SELECT, NUM_CHOICES, 100

SELECTCASE RESULT
CASE 100
	RETURN 0
CASEELSE
	IF NUM_CHOICES && JUEL:(NUM_JUEL:RESULT) >= JUEL:0:(NUM_JUEL:RESULT)
		JUEL:(NUM_JUEL:RESULT) -= JUEL:0:(NUM_JUEL:RESULT)
		ABL:奉仕精神 += 1
		PRINTFORMW 奉仕精神等級提升到LV{ABL:奉仕精神}了。
	ENDIF
ENDSELECT

;まだレベルが上げられたりする場合には最初に返回
CALL IS_ABLUP3
SIF RESULT
	RESTART

;ABL:奉仕精神のLVUPに必要な条件を算出し、LVUP出来るなら1を返す
@IS_ABLUP3, ARGS
CALL VARSET_ABLUP
SELECTCASE ABL:奉仕精神
CASE 0
	JUEL:0:恭順 = 1000
CASE 1 TO 4
	JUEL:0:恭順 = 1000 + ABL:奉仕精神 * 2000
CASE 5 TO 9
	JUEL:0:恭順 = 9000 + (ABL:奉仕精神 - 4) * 5000
CASEELSE
	JUEL:0:恭順 = 30000 + (ABL:奉仕精神 - 10) * 20000
ENDSELECT

SIF TALENT:叛逆
	TIMES JUEL:0:恭順, 1.50
SIF TALENT:坦率
	TIMES JUEL:0:恭順, 0.80
SIF TALENT:高慢
	TIMES JUEL:0:恭順, 2.00
SIF TALENT:献身
	TIMES JUEL:0:恭順, 0.50

;奉仕快楽経験による軽減…実質はこっちがLV判定の主
SELECTCASE EXP:奉仕快楽経験
CASE IS >= EXP_LV(ABL:奉仕精神 + 4)
	TIMES JUEL:0:恭順, 0.20
CASE IS >= EXP_LV(ABL:奉仕精神 + 3)
	TIMES JUEL:0:恭順, 0.50
CASE IS >= EXP_LV(ABL:奉仕精神 + 2)
	TIMES JUEL:0:恭順, 0.80
;著しく足りていない
CASE IS < EXP_LV(ABL:奉仕精神 + 1)
	TIMES JUEL:0:恭順, 3.00
ENDSELECT

JUEL:0:習得 = JUEL:0:恭順
JUEL:0:屈服 = JUEL:0:恭順 * 2

;最大LV未満か？
SIF ABL:奉仕精神 >= 99
	RETURN 0

;条件のどれかを阴蒂アしてる？
SIF JUEL:0:恭順 && JUEL:恭順 >= JUEL:0:恭順
	RETURN 1
SIF JUEL:0:屈服 && JUEL:屈服 >= JUEL:0:屈服
	RETURN 1
SIF JUEL:0:習得 && JUEL:習得 >= JUEL:0:習得
	RETURN 1
RETURN 0


code:
;-------------------------------------------------
;ABL:露出癖 のLVUP処理
;-------------------------------------------------
@ABLUP4
#DIM LCOUNT
#DIM NUM_CHOICES
#DIM NUM_JUEL, 10

;必要な珠などの値を取得
CALL IS_ABLUP4
;何もできない場合
IF RESULT == 0 && ABL:露出癖 >= 99
	PRINTFORMW 已經抵達MAX了。
	RETURN 0
ENDIF

DRAWLINE
;珠以外で必要な条件や軽減の内訳の記載
SETCOLOR DEF_COLOR("黄色")
;羞恥快楽経験と露出経験による軽減
SELECTCASE EXP:露出経験 + EXP:羞恥快楽経験
CASE IS >= EXP_LV(ABL:露出癖 + 4)
	PRINTFORML ※與之關聯的經驗非常的多、要求的寶珠減少80％※
CASE IS >= EXP_LV(ABL:露出癖 + 3)
	PRINTFORML ※與之關聯經驗很多、要求的寶珠減少50％※
CASE IS >= EXP_LV(ABL:露出癖 + 2)
	PRINTFORML ※與之關聯經驗較多、要求的寶珠減少20％※
;著しく足りていない
CASE IS < EXP_LV(ABL:露出癖 + 1)
	PRINTFORML ※與之關聯經驗太少、要求的寶珠增加3倍※
ENDSELECT
RESETCOLOR

VARSET NUM_JUEL
NUM_CHOICES = 0
FOR LCOUNT, 0, 16
	SIF JUEL:0:LCOUNT == 0
		CONTINUE

	IF JUEL:LCOUNT >= JUEL:0:LCOUNT
		PRINTFORML  [{NUM_CHOICES, 2}] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT} ……ＯＫ
	ELSE
		SETCOLOR DEF_COLOR("灰色")
		PRINTFORML  [×] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT}
		RESETCOLOR
	ENDIF
	NUM_JUEL:NUM_CHOICES = LCOUNT
	NUM_CHOICES += 1
NEXT

PRINTL [100] 不、再考慮一下吧。

CALL INPUT_SELECT, NUM_CHOICES, 100

SELECTCASE RESULT
CASE 100
	RETURN 0
CASEELSE
	IF NUM_CHOICES && JUEL:(NUM_JUEL:RESULT) >= JUEL:0:(NUM_JUEL:RESULT)
		JUEL:(NUM_JUEL:RESULT) -= JUEL:0:(NUM_JUEL:RESULT)
		ABL:露出癖 += 1
		PRINTFORMW 露出癖等級提升到LV{ABL:露出癖}了。
	ENDIF
ENDSELECT

;まだレベルが上げられたりする場合には最初に返回
CALL IS_ABLUP4
SIF RESULT
	RESTART

;ABL:露出癖のLVUPに必要な条件を算出し、LVUP出来るなら1を返す
@IS_ABLUP4, ARGS
CALL VARSET_ABLUP
SELECTCASE ABL:露出癖
CASE 0
	JUEL:0:恥情 = 1000
CASE 1 TO 4
	JUEL:0:恥情 = 1000 + ABL:露出癖 * 1500
CASE 5 TO 9
	JUEL:0:恥情 = 7000 + (ABL:露出癖 - 4) * 4000
CASEELSE
	JUEL:0:恥情 = 30000 + (ABL:露出癖 - 10) * 20000
ENDSELECT

SIF TALENT:清楚
	TIMES JUEL:0:恥情, 1.50
SIF TALENT:倒錯的
	TIMES JUEL:0:恥情, 0.75
SIF TALENT:喜歡引人注目
	TIMES JUEL:0:恥情, 0.50

;羞恥快楽経験と露出経験による軽減
SELECTCASE EXP:露出経験 + EXP:羞恥快楽経験
CASE IS >= EXP_LV(ABL:露出癖 + 4)
	TIMES JUEL:0:恥情, 0.20
CASE IS >= EXP_LV(ABL:露出癖 + 3)
	TIMES JUEL:0:恥情, 0.50
CASE IS >= EXP_LV(ABL:露出癖 + 2)
	TIMES JUEL:0:恥情, 0.80
;著しく足りていない
CASE IS < EXP_LV(ABL:露出癖 + 1)
	TIMES JUEL:0:恥情, 3.00
ENDSELECT

;最大LV未満か？
SIF ABL:露出癖 >= 99
	RETURN 0

;条件のどれかを阴蒂アしてる？
SIF JUEL:0:恥情 && JUEL:恥情 >= JUEL:0:恥情
	RETURN 1
RETURN 0


code:
;-------------------------------------------------
;素質の獲得
;-------------------------------------------------
@ABLUP90
#DIM MEMO_LINECOUNT
#DIM MEMO_LINECOUNT2
#DIM CHOICE
#DIM IS_GET, 300
#DIMS TALENTNAME_UP
#DIMS TALENTNAME_NOW
#DIMS TALENTNAME_DOWN

REDRAW 0

MEMO_LINECOUNT = LINECOUNT

PRINTL

CALL PRINT_STRL, @"使用_黄色_{NUM("経験値：素質獲得")}Ｐ_經驗值的話、就可以獲得/失去某些素質"
;PRINTFORML （但是哟、每一次改变素質、都会使下一次改变所必要的経験値增加200Ｐ）
PRINTFORML 还有{EXP:経験値}Ｐ経験値

PRINTFORML
VARSET IS_GET

PRINTFORML [  0] 体力+200（現在的体力为{MAXBASE:体力}）
IS_GET:0 = 1

;37で性器年齢+1, 38で性器年齢-1
IF TALENT:男性 == 0 && CONFIG("性器年齢") && COND("性器年齢変更禁止") == 0
	TALENTNAME_UP =
	TALENTNAME_DOWN =
	TALENTNAME_NOW = [%TALENT_NAME(GETNUM(TALENT, "性器年齢"), TALENT:性器年齢)%]

	IF TALENT:性器年齢 <= 4
		PRINTFORM [ 37] [性器年齢]を+1させる

		TALENTNAME_UP = [%TALENT_NAME(GETNUM(TALENT, "性器年齢"), TALENT:性器年齢 + 1)%]
		SELECTCASE TALENTNAME_UP
		CASE "[性器年齢]"
			SIF TALENTNAME_NOW != "[性器年齢]"
				PRINTFORM (%TALENTNAME_NOW%を失います)
		CASE TALENTNAME_NOW
		;	PRINTFORM (現在は%TALENTNAME_NOW%です)
		CASEELSE
			IF TALENTNAME_NOW != "[性器年齢]"
				CALL PRINT_STR, @"(%TALENTNAME_NOW%から_黄色_%TALENTNAME_UP%_になります)"
			ELSE
				PRINTFORM (%TALENTNAME_UP%になります)
			ENDIF
		ENDSELECT
		IS_GET:37 = 1
	ELSE
		CALL PRINT_STR, "暗灰色_[ ×] [性器年齢]を+1させる"
	ENDIF
	PRINTL

	IF TALENT:性器年齢 >= 2
		PRINTFORM [ 38] [性器年齢]を-1させる

		TALENTNAME_DOWN = [%TALENT_NAME(GETNUM(TALENT, "性器年齢"), TALENT:性器年齢 - 1)%]
		SELECTCASE TALENTNAME_DOWN
		CASE "[性器年齢]"
			SIF TALENTNAME_NOW != "[性器年齢]"
				PRINTFORM (%TALENTNAME_NOW%を失います)
		CASE TALENTNAME_NOW
		;	PRINTFORM (現在は%TALENTNAME_NOW%です)
		CASEELSE
			IF TALENTNAME_NOW != "[性器年齢]"
				CALL PRINT_STR, @"(%TALENTNAME_NOW%から_黄色_%TALENTNAME_DOWN%_になります)"
			ELSE
				PRINTFORM (%TALENTNAME_DOWN%になります)
			ENDIF
		ENDSELECT
		IS_GET:38 = 1
	ELSE
		CALL PRINT_STR, "暗灰色_[ ×] [性器年齢]を-1させる"
	ENDIF
	PRINTL
ENDIF

IF TALENT:不易濕 && COND("不易濕変更禁止") == 0
	PRINTFORML [ 41] 失卻[不易濕]
	IS_GET:41 = 1
ELSEIF TALENT:容易濕 == 0 && COND("容易濕変更禁止") == 0
	PRINTFORML [ 40] 獲得[容易濕]
	IS_GET:40 = 1
ENDIF

IF PENIS(TARGET)
	IF TALENT:遅漏 && COND("遅漏変更禁止") == 0
		PRINTFORML [ 43] 失卻[遅漏]
		IS_GET:43 = 1
	ELSEIF TALENT:早漏 && COND("早漏変更禁止") == 0
		PRINTFORML [ 42] 失卻[早漏]
		IS_GET:42 = 1
	ELSE
 		IF COND("早漏変更禁止") == 0
			PRINTFORML [ 42] 獲得[早漏]
			IS_GET:42 = 1
		ENDIF
		IF COND("遅漏変更禁止") == 0
			PRINTFORML [ 43] 獲得[遅漏]
			IS_GET:43 = 1
		ENDIF
	ENDIF
ENDIF
IF TALENT:縦深菊穴 == 0 && COND("縦深菊穴変更禁止") == 0
	IF EXP:Ａ経験 >= 300 && EXP:Ａ拡張経験 >= 20 && ABL:Ａ拡張 >= 3
		PRINTFORML [ 45] 獲得[縦深菊穴]
		IS_GET:45 = 1
	ELSE
		CALL PRINT_STR, "暗灰色_[ ×] 獲得[縦深菊穴]　　　（要:Ａ経験300＆Ａ拡張経験20＆Ａ拡張3LV）_L"
	ENDIF
ENDIF
IF TALENT:腸液分泌体質 == 0 && COND("腸液分泌体質変更禁止") == 0
	IF EXP:Ａ経験 >= 100
		PRINTFORML [ 50] 獲得[腸液分泌体質]
		IS_GET:50 = 1
	ELSE
		CALL PRINT_STR, "暗灰色_[ ×] 獲得[腸液分泌体質]　（要:Ａ経験100）_L"
	ENDIF
ENDIF
IF TALENT:絶頂失禁体質 == 0 && COND("絶頂失禁体質変更禁止") == 0
	IF EXP:漏尿経験 >= 5
		PRINTFORML [ 51] 獲得[絶頂失禁体質]
		IS_GET:51 = 1
	ELSE
		CALL PRINT_STR, "暗灰色_[ ×] 獲得[絶頂失禁体質]　（要:漏尿経験5）_L"
	ENDIF
ENDIF
IF TALENT:発情体質 == 0 && COND("発情体質変更禁止") == 0
	PRINTFORML [ 53] 獲得[発情体質]
	IS_GET:53 = 1
ENDIF
IF TALENT:嘔吐反射耐性 == 0 && COND("嘔吐反射耐性変更禁止") == 0
	IF EXP:口交経験 >= 150 || EXP:喉性交経験 >= 20
		PRINTFORML [ 55] 獲得[嘔吐反射耐性]
		IS_GET:55 = 1
	ELSE
		CALL PRINT_STR, "暗灰色_[ ×] [嘔吐反射耐性] を得る　（要:口交経験150 or 喉性交経験20）_L"
	ENDIF
ENDIF
IF TALENT:拡張適性 == 0 && COND("拡張適性変更禁止") == 0
	IF MAX(EXP:Ｖ拡張経験, EXP:Ａ拡張経験, EXP:尿道拡張経験) >= 20
		PRINTFORML [ 57] 獲得[拡張適性]
		IS_GET:57 = 1
	ELSE
		CALL PRINT_STR, "暗灰色_[ ×] 獲得[拡張適性]　　　（要:Ｖ拡張経験20 or Ａ拡張経験20 or 尿道拡張経験20）_L"
	ENDIF
ENDIF

IF TALENT:汚臭無視 == 0 && COND("汚臭無視変更禁止") == 0
	PRINTFORML [124] 獲得[汚臭無視]
	IS_GET:124 = 1
ENDIF
IF TALENT:具現 == 0 && COND("具現変更禁止") == 0
	IF COND("種族：悪魔") || COND("種族：魔法使") || COND("種族：妖术使") || COND("種族：淫魔")
		PRINTFORML [136] 獲得[具現]
		IS_GET:136 = 1
	ELSE
		CALL PRINT_STR, "暗灰色_[ ×] 獲得[具現]　　　　　（要:[魔法使] or [妖术使] or [悪魔] or [淫魔]）_L"
	ENDIF
ENDIF

IF TALENT:笨蛋 == 0 && COND("笨蛋変更禁止") == 0
	PRINTFORML [144] \@ TALENT:調教知識 ? 変更 # 獲得 \@[調教知識]
	IS_GET:144 = 1
ENDIF

IF TALENT:Ｃ性向 == 0 && COND("Ｃ性向変更禁止") == 0
	PRINTFORML [160] 獲得[Ｃ性向]
	IS_GET:160 = 1
ENDIF
IF TALENT:男性 == 0 && COND("Ｖ性向変更禁止") == 0
	IF TALENT:Ｖ性向 == 0
		PRINTFORML [162] 獲得[Ｖ性向]
		IS_GET:162 = 1
	ENDIF
ENDIF
IF TALENT:Ａ性向 == 0 && COND("Ａ性向変更禁止") == 0
	PRINTFORML [164] 獲得[Ａ性向]
	IS_GET:164 = 1
ENDIF
IF TALENT:男性 == 0 && COND("Ｂ性向変更禁止") == 0
	IF TALENT:Ｂ性向 == 0
		PRINTFORML [166] 獲得[Ｂ性向]
		IS_GET:166 = 1
	ENDIF
ENDIF
IF TALENT:Ｍ性向 == 0 && COND("Ｍ性向変更禁止") == 0
	PRINTFORML [168] 獲得[Ｍ性向]
	IS_GET:168 = 1
ENDIF
IF TALENT:尿道性感 == 0 && COND("尿道性感変更禁止") == 0
	IF ABL:Ｃ感覚 >= 3 && EXP:尿道経験 >= 5
		PRINTFORML [170] 獲得[尿道性感]
		IS_GET:170 = 1
	ELSE
		CALL PRINT_STR, "暗灰色_[ ×] 獲得[尿道性感]　　　（要:Ｃ感覚3LV＆尿道経験5）_L"
	ENDIF
ENDIF
IF TALENT:喉性感 == 0 && COND("喉性感変更禁止") == 0
	IF ABL:Ｍ感覚 >= 3
		PRINTFORML [172] 獲得[喉性感]
		IS_GET:172 = 1
	ELSE
		CALL PRINT_STR, "暗灰色_[ ×] 獲得[喉性感]　　　　（要:Ｍ感覚3LV）_L"
	ENDIF
ENDIF
IF TALENT:子宮性感 == 0 && TALENT:男性 == 0 && COND("子宮性感変更禁止") == 0
	IF ABL:Ｖ感覚 >= 3 && EXP:子宮口経験 >= 5
		PRINTFORML [173] 獲得[子宮性感]
		IS_GET:173 = 1
	ELSE
		CALL PRINT_STR, "暗灰色_[ ×] 獲得[子宮性感]　　　（要:Ｖ感覚3LV＆子宮口経験5）_L"
	ENDIF
ENDIF
IF TALENT:气味弱点 == 0 && COND("气味弱点変更禁止") == 0
	PRINTFORML [175] 獲得[气味弱点]\@ TALENT:汚臭鈍感 ? （同時失卻[污臭鈍感]）# \@
	IS_GET:175 = 1
ENDIF
IF TALENT:結腸性感 == 0 && COND("結腸性感変更禁止") == 0
	IF TALENT:尻穴狂い && EXP:結腸経験 >= 5
		PRINTFORML [177] 獲得[結腸性感]
		IS_GET:177 = 1
	ELSE
		CALL PRINT_STR, "暗灰色_[ ×] 獲得[結腸性感]　　　（要:[尻穴狂]＆結腸経験5）_L"
	ENDIF
ENDIF

IF ABL:技巧 >= 5
	PRINTFORML [200] 降低提升過度的技巧(現在{ABL:技巧}LV)
	IS_GET:200 = 1
ENDIF
IF EXP:経験値/NUM("経験値：素質獲得") > 10
	PRINTFORML [201] 多次进行体力+200
	IS_GET:201 = 1
ENDIF
PRINTL [999] 返回

CALL INPUT_SELECT, 202, 999

CHOICE = RESULT

IF CHOICE == 999
	REDRAW 1
	RETURN 0
ELSEIF IS_GET:CHOICE == 0
	CLEARLINE LINECOUNT - MEMO_LINECOUNT
	RESTART
ELSEIF EXP:経験値 < NUM("経験値：素質獲得")
	PRINTW 經驗值不足
	REDRAW 1
	RETURN 0
ENDIF

SELECTCASE CHOICE
CASE 0
	MAXBASE:体力 += 200
	BASE:体力 += 200
	PRINTFORMW 体力值上昇200
CASE 200
	$INPUT_LOOP
	MEMO_LINECOUNT2 = LINECOUNT
	PRINTL
	PRINTFORML 現在的技巧為{ABL:技巧}LV
	PRINTFORML 要降低到多少級呢？ 請輸入0～{ABL:技巧 - 1}範圍內的值。放棄更改時請輸入[100]
	PRINTFORML 順便、%CALLNAME:MASTER%的技巧是{ABL:MASTER:技巧}LV
	PRINTL
	PRINTL [100]果然還是放棄
	CALL INPUT_SELECT, ABL:技巧, 100
	CHOICE = RESULT

	SELECTCASE CHOICE
	CASE 100
		CLEARLINE LINECOUNT - MEMO_LINECOUNT
		RESTART
	CASEELSE
		PRINTFORML 真的要下降至{CHOICE}LV嗎？
		CALL PRINT_SELECT, "是/否"
		IF RESULT == 0
			PRINTFORMW 技巧從{ABL:技巧}LV下降至{CHOICE}LV
			ABL:技巧 = CHOICE
		ELSE
			CLEARLINE LINECOUNT - MEMO_LINECOUNT2
			GOTO INPUT_LOOP
		ENDIF
	ENDSELECT
CASE 201
	$INPUT_LOOP2
	MEMO_LINECOUNT2 = LINECOUNT
	PRINTL
	PRINTFORML 現在的体力为{MAXBASE:体力}
	CALL PRINT_STRL, @"要进行几次+200呢？ 请输入0～_黄色_{EXP:経験値/NUM("経験値：素質獲得")}_范围内的数字。取消的话请输入[  0]"
	PRINTFORML 顺便、%CALLNAME:MASTER%的体力为{MAXBASE:MASTER:体力}
	PRINTL
	SIF EXP:経験値/NUM("経験値：素質獲得") > 10
		PRINTL [ 10]10回
	SIF EXP:経験値/NUM("経験値：素質獲得") > 100
		PRINTL [100]100回
	PRINTFORML [{EXP:経験値/NUM("経験値：素質獲得"), 3}]用光所有的経験値
	PRINTL [  0]还是算了
	CALL INPUT_SELECT, EXP:経験値/NUM("経験値：素質獲得") + 1
	CHOICE = RESULT

	SELECTCASE CHOICE
	CASE 0
		CLEARLINE LINECOUNT - MEMO_LINECOUNT
		RESTART
	CASEELSE
		CALL PRINT_STRL, @"真的要将最大体力增加_黄色_{CHOICE*200}_吗？"
		CALL PRINT_STRL, @"最大体力: {MAXBASE:体力} -> {MAXBASE:体力 + CHOICE*200} (+_黄色_{CHOICE*200}_)"
		CALL PRINT_STRL, @"  経験値: {EXP:経験値} -> {EXP:経験値 - CHOICE*NUM("経験値：素質獲得")} (-_黄色_{CHOICE*NUM("経験値：素質獲得")}_)"
		CALL PRINT_SELECT, "是/否"
		IF RESULT == 0
			CALL PRINT_STRL, @"最大体力增加了_黄色_{CHOICE*200}_"
			CALL PRINT_STRL, @"最大体力: {MAXBASE:体力} -> {MAXBASE:体力 + CHOICE*200} (+_黄色_{CHOICE*200}_)"
			CALL PRINT_STRL, @"  経験値: {EXP:経験値} -> {EXP:経験値 - CHOICE*NUM("経験値：素質獲得")} (-_黄色_{CHOICE*NUM("経験値：素質獲得")}_)"
			MAXBASE:体力 = MAXBASE:体力 + CHOICE*200
			BASE:体力 = BASE:体力 + CHOICE*200
			;1回は後で消費するので CHOICE-1 回だけここで追加で消費する
			EXP:経験値 -= NUM("経験値：素質獲得")*(CHOICE - 1)
			ABL:素質獲得回数 += CHOICE - 1
		ELSE
			CLEARLINE LINECOUNT - MEMO_LINECOUNT2
			GOTO INPUT_LOOP2
		ENDIF
	ENDSELECT
CASE 37
	TALENT:性器年齢 += 1
	SELECTCASE TALENT_NAME(GETNUM(TALENT, "性器年齢"), TALENT:性器年齢)
	CASE "性器年齢", TALENT_NAME(GETNUM(TALENT, "性器年齢"), TALENT:性器年齢 - 1)
		PRINTFORMW 性器年齢+1
	CASEELSE
		PRINTFORMW 性器年齢が+1、变成了[%TALENT_NAME(GETNUM(TALENT, "性器年齢"), TALENT:性器年齢)%]
	ENDSELECT
CASE 38
	TALENT:性器年齢 -= 1
	SELECTCASE TALENT_NAME(GETNUM(TALENT, "性器年齢"), TALENT:性器年齢)
	CASE "性器年齢", TALENT_NAME(GETNUM(TALENT, "性器年齢"), TALENT:性器年齢 + 1)
		PRINTFORMW 性器年齢が-1されました
	CASEELSE
		PRINTFORMW 性器年齢が-1され、[%TALENT_NAME(GETNUM(TALENT, "性器年齢"), TALENT:性器年齢)%]成为了
	ENDSELECT
;以下は素質名で判定
CASEELSE
	SELECTCASE TALENTNAME:CHOICE
	CASE "調教知識"
		LOCAL = TALENT:調教知識
		CALL SETFLAG, "調教知識の選択", TARGET
		SIF TALENT:調教知識 == LOCAL
			RESTART
	CASE "气味弱点"
		TALENT:CHOICE = 1
		PRINTFORMW 獲得[%TALENTNAME:CHOICE%]
		IF TALENT:汚臭鈍感
			TALENT:汚臭鈍感 = 0
			PRINTFORMW 同時、失卻[污臭鈍感]
		ENDIF
	;純粋喪失
	CASE "不易濕"
		TALENT:CHOICE = 0
		PRINTFORMW 失卻[%TALENTNAME:CHOICE%]
	;逆転
	CASE "早漏", "遅漏"
		IF TALENT:CHOICE
			TALENT:CHOICE = 0
			PRINTFORMW 失卻[%TALENTNAME:CHOICE%]
		ELSE
			TALENT:CHOICE = 1
			PRINTFORMW 獲得[%TALENTNAME:CHOICE%]
		ENDIF
	;それ以外は純粋獲得
	CASEELSE
		TALENT:CHOICE = 1
		PRINTFORMW 獲得[%TALENTNAME:CHOICE%]
	ENDSELECT
ENDSELECT

EXP:経験値 -= NUM("経験値：素質獲得")
ABL:素質獲得回数 += 1

SIF COND("素質獲得可能")
	RESTART

REDRAW 1


code:
;-------------------------------------------------
;MARK:屈服刻印 のLVUP処理。最大LVは3
;-------------------------------------------------
@ABLUP98
#DIM LCOUNT
#DIM NUM_CHOICES
#DIM NUM_JUEL, 10

;必要な珠などの値を取得
CALL IS_ABLUP98
;何もできない場合
IF RESULT == 0 && MARK:屈服刻印 >= 3
	PRINTFORMW 已經抵達MAX了。
	RETURN 0
ENDIF

DRAWLINE
;珠以外で必要な条件や軽減の内訳の記載
;SETCOLOR DEF_COLOR("黄色")

;RESETCOLOR

VARSET NUM_JUEL
NUM_CHOICES = 0
FOR LCOUNT, 0, 16
	SIF JUEL:0:LCOUNT == 0
		CONTINUE

	IF JUEL:LCOUNT >= JUEL:0:LCOUNT
		PRINTFORML  [{NUM_CHOICES, 2}] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT} ……ＯＫ
	ELSE
		SETCOLOR DEF_COLOR("灰色")
		PRINTFORML  [×] %PALAMNAME:LCOUNT%の珠 {JUEL:LCOUNT, 8}/{JUEL:0:LCOUNT}
		RESETCOLOR
	ENDIF
	NUM_JUEL:NUM_CHOICES = LCOUNT
	NUM_CHOICES += 1
NEXT

PRINTL [100] 不、再考慮一下吧。

CALL INPUT_SELECT, NUM_CHOICES, 100

SELECTCASE RESULT
CASE 100
	RETURN 0
CASEELSE
	IF NUM_CHOICES && JUEL:(NUM_JUEL:RESULT) >= JUEL:0:(NUM_JUEL:RESULT)
		JUEL:(NUM_JUEL:RESULT) -= JUEL:0:(NUM_JUEL:RESULT)
		MARK:屈服刻印 += 1
		PRINTFORMW 屈服刻印等級提升到LV{MARK:屈服刻印}了。
	ENDIF
ENDSELECT

;まだレベルが上げられたりする場合には最初に返回
CALL IS_ABLUP98
SIF RESULT
	RESTART

;MARK:屈服刻印のLVUPに必要な条件を算出し、LVUP出来るなら1を返す
@IS_ABLUP98, ARGS
CALL VARSET_ABLUP

;屈服or恐怖でLVUP
SELECTCASE MARK:屈服刻印
CASE 0
	JUEL:0:屈服 = 3000
CASE 1
	JUEL:0:屈服 = 10000
CASE 2
	JUEL:0:屈服 = 30000
ENDSELECT

;最大LV未満か？
SIF MARK:屈服刻印 >= 3
	RETURN 0

;条件のどれかを阴蒂アしてる？
SIF JUEL:0:屈服 && JUEL:屈服 >= JUEL:0:屈服
	RETURN 1
RETURN 0


code:
;TARGETの素質変動など
@EVENTCHECK_T
#DIM ADDCOND_RESULT
;-------------------------------------------------------------------------------------------------
;技能の成長
;-------------------------------------------------------------------------------------------------
CALL EX_ABLUP, TARGET

;-------------------------------------------------------------------------------------------------
;ネガティブな素質の克服
;-------------------------------------------------------------------------------------------------
CALL SETFLAG, "叛逆消去", TARGET

CALL EVENT_NEXTTIME

;恋慕と淫乱の自動取得
IF COND("恋慕と淫乱の自動獲得可能")
	IF TALENT:恋慕 == 0
		STR:実行条件 =
		RESULT = 0
		TRYCALLFORM ADDCOND_K{NO:TARGET}("恋慕")
		ADDCOND_RESULT = RESULT
		SIF STR:実行条件 == "" && (COND("恋慕取得可能") || ADDCOND_RESULT)
			CALL SETFLAG, "恋慕"
	ENDIF
	IF TALENT:淫乱 == 0 && COND("恋慕と淫乱の自動獲得可能")
		STR:実行条件 =
		RESULT = 0
		TRYCALLFORM ADDCOND_K{NO:TARGET}("淫乱")
		ADDCOND_RESULT = RESULT
		SIF STR:実行条件 == "" && (COND("淫乱取得可能") || ADDCOND_RESULT)
			CALL SETFLAG, "淫乱"
	ENDIF
ENDIF

;同居できるよう变成了か
SIF COND("合意：同居") == 0 && COND("同居可能")
	CALL SETFLAG, "合意：同居", TARGET

;其他合意格子
CALL SETFLAG, "合意", TARGET

;助手化が可能变成了か
IF COND("助手可能") == 0 && ABL:信頼 >= 5 && ABL:技巧 >= 3
	CALL PRINT_STR, @"%CALLNAME:TARGET%_黄色_成为了%TEXTS("助手の名称")%_ _W"
	CFLAG:助手可能 = 1
ENDIF

;MASTERの素質変動など
@EVENTCHECK_M
;堕とした人数が1人以上で、謎之魅力が付く
IF FLAG:この周での陥落人数 && TALENT:MASTER:謎之魅力 == 0
	PRINTFORMW 在経験的积累下%CALLNAME:MASTER%獲得了【謎之魅力】
	TALENT:MASTER:謎之魅力 = 1
ENDIF
;Ａ経験５００以上、Ａ拡張経験３５以上で尻穴狂い化
IF EXP:MASTER:Ａ経験 >= 500 && EXP:MASTER:Ａ拡張経験 >= 35 && TALENT:MASTER:尻穴狂い == 0
	PRINTFORMW 身体的情况有点奇怪…
	PRINTFORML 屁股又热又舒服、疼得受不了。
	PRINTFORMW 看起来在累积的刺激下%CALLNAME:MASTER%觉醒了自身新的快楽…
	PRINTFORMW %CALLNAME:MASTER%獲得了【尻穴狂い】
	TALENT:MASTER:尻穴狂い = 1
ENDIF
;Ｖ経験５００以上で淫壷化
IF EXP:MASTER:Ｖ経験 >= 500 && TALENT:MASTER:淫壷 == 0
	PRINTFORMW 身体的情况有点奇怪…
	PRINTFORML 子宮附近又热又舒服、疼得受不了。
	PRINTFORMW 看起来在累积的刺激下%CALLNAME:MASTER%觉醒了自身新的快楽…
	PRINTFORMW %CALLNAME:MASTER%獲得了【淫壷】
	TALENT:MASTER:淫壷 = 1
ENDIF
;経験値によって復活がレベルアップ
IF EXP:MASTER:経験値 >= 300 && TALENT:MASTER:復活 < 200
	TALENT:MASTER:復活 = 200
	PRINTFORMW 感觉从身体深处涌出了活力……
	CALL PRINT_STR, @"在経験的积累下%CALLNAME:MASTER%獲得了_黄色_[%TALENT_NAME(GETNUM(TALENT, "復活"), TALENT:MASTER:復活)%]_"
	FORCEWAIT
ENDIF

CALL ABLUP_MASTER, "通常"

;MASTERの技能獲得
@ABLUP_MASTER, ARGS
#DIM LCOUNT
#DIM MEMO_LINECOUNT
#DIM CHOICE
#DIM MAXABL_TECH
#DIM MEMO_MASTERABL
#DIM AVERAGE_TECH
#DIM MEMO_FLAG

MEMO_LINECOUNT = LINECOUNT

SELECTCASE ARGS
CASE "通常"
	IF CONFIG("ＶＡ拡張の手動ＬＶＵＰ") == 0
		ABL:MASTER:Ｖ拡張 = CALCF("Ｖ拡張の上限", MASTER)
		ABL:MASTER:Ａ拡張 = CALCF("Ａ拡張の上限", MASTER)
	ENDIF
	CALL EX_ABLUP, MASTER
CASE "週末", "能力変更"
	REDRAW 0

	;技巧の現在値記録
	MEMO_MASTERABL = ABL:MASTER:技巧

	$START
	VARSET LOCAL, 0, 0, 100
	SELECTCASE ARGS
	CASE "週末"
		PRINTFORML 为了下周、进行%CALLNAME:MASTER%的能力的LV変更
		PRINTFORML 请在可能的範囲内自由変更
		PRINTFORML (在能力の表示上昇画面里点进来、什么時候都可以进行)
	CASEELSE
		PRINTFORML 进行%CALLNAME:MASTER%的能力的LV変更
		PRINTFORML 请在可能的範囲内自由変更
	ENDSELECT
	CALL PRINT_STR, "イエロー_※技巧LV的上昇是指靈活等、～使い的LV的合計满足必要値的条件※_L_"

	MEMO_FLAG = FLAG:項目OFF
	CLEARBIT FLAG:項目OFF, 12
	CALL NEW_PRINT_ABL, MASTER
	FLAG:項目OFF = MEMO_FLAG

	DRAWLINE

	;技巧ＬＶが上げられるかどうか
	SELECTCASE ABL:MASTER:舌靈活+ABL:MASTER:指靈活+ABL:MASTER:腰靈活+ABL:MASTER:魔乳
	CASE IS <= 20
		MAXABL_TECH = LIMIT( (ABL:MASTER:舌靈活+ABL:MASTER:指靈活+ABL:MASTER:腰靈活+ABL:MASTER:魔乳)/2, COND("初期技巧", MASTER), 99)
	CASEELSE
		MAXABL_TECH = LIMIT(ABL:MASTER:舌靈活+ABL:MASTER:指靈活+ABL:MASTER:腰靈活+ABL:MASTER:魔乳-10, COND("初期技巧", MASTER), 99)
	ENDSELECT

	SIF ABL:MASTER:技巧 < MAX(MAXABL_TECH, MEMO_MASTERABL)
		LOCAL:0 = 1
	PRINTFORM  [\@ LOCAL:0 ?  {0, 2} # × \@] 技巧＋1LV
	SIF LOCAL:0 == 0 && ABL:MASTER:技巧 < 99
		PRINTFORM 　升到次LV需要～各个LV的总和：还需要{(ABL:MASTER:技巧 + 1)*2 - (ABL:MASTER:舌靈活+ABL:MASTER:指靈活+ABL:MASTER:腰靈活+ABL:MASTER:魔乳)}
	PRINTL

	SIF ABL:MASTER:技巧 > 0
		LOCAL:1 = 1
	PRINTFORML  [\@ LOCAL:1 ?  {1, 2} # × \@] 技巧－1LV
	SIF ABL:MASTER:受虐属性 < 5
		LOCAL:2 = 1
	PRINTFORML  [\@ LOCAL:2 ?  {2, 2} # × \@] 受虐属性＋1LV
	SIF ABL:MASTER:受虐属性 > 0
		LOCAL:3 = 1
	PRINTFORML  [\@ LOCAL:3 ?  {3, 2} # × \@] 受虐属性－1LV
	SIF ABL:MASTER:施虐属性 < 5
		LOCAL:4 = 1
	PRINTFORML  [\@ LOCAL:4 ?  {4, 2} # × \@] 施虐属性＋1LV
	SIF ABL:MASTER:施虐属性 > 0
		LOCAL:5 = 1
	PRINTFORML  [\@ LOCAL:5 ?  {5, 2} # × \@] 施虐属性－1LV
	IF CONFIG("ＶＡ拡張の手動ＬＶＵＰ")
		IF TALENT:MASTER:男性 == 0
			SIF CALCF("Ｖ拡張の上限", MASTER) > ABL:MASTER:Ｖ拡張
				LOCAL:10 = 1
			PRINTFORML  [\@ LOCAL:10 ?  {10, 2} # × \@] Ｖ拡張＋1LV
		ENDIF
		SIF CALCF("Ａ拡張の上限", MASTER) > ABL:MASTER:Ａ拡張
			LOCAL:11 = 1
		PRINTFORML  [\@ LOCAL:11 ?  {11, 2} # × \@] Ａ拡張＋1LV
	ENDIF

	PRINTFORML  [98] 使技巧符合全体部員的平均値
	PRINTFORML  [99] 尽可能提升技巧
	PRINTFORML [100] 終了

	CALL INPUT_SELECT, 12, 98, 99, 100

	CHOICE = RESULT

	IF CHOICE == 100
		REDRAW 1
		RETURN 0
	ELSEIF CHOICE == 98
		AVERAGE_TECH = 0
		FOR LCOUNT, 2, CHARANUM
			AVERAGE_TECH += ABL:LCOUNT:技巧*10
		NEXT
		AVERAGE_TECH /= (CHARANUM - 2)
		;小数点第一位を四捨五入する
		IF AVERAGE_TECH%10 >= 5
			ABL:MASTER:技巧 = MIN(MAXABL_TECH, (AVERAGE_TECH/10) + 1)
		ELSE
			ABL:MASTER:技巧 = MIN(MAXABL_TECH, AVERAGE_TECH/10)
		ENDIF
	ELSEIF CHOICE == 99
		ABL:MASTER:技巧 = MAX(MAXABL_TECH, MEMO_MASTERABL)
	ELSEIF LOCAL:CHOICE
		SELECTCASE CHOICE
		CASE 0
			ABL:MASTER:技巧 += 1
		CASE 1
			ABL:MASTER:技巧 -= 1
		CASE 2
			ABL:MASTER:受虐属性 += 1
		CASE 3
			ABL:MASTER:受虐属性 -= 1
		CASE 4
			ABL:MASTER:施虐属性 += 1
		CASE 5
			ABL:MASTER:施虐属性 -= 1
		CASE 10
			ABL:MASTER:Ｖ拡張 += 1
		CASE 11
			ABL:MASTER:Ａ拡張 += 1
		ENDSELECT
	ENDIF
	CLEARLINE LINECOUNT - MEMO_LINECOUNT
	GOTO START
ENDSELECT

@EX_ABLUP, ARG
#DIM LCOUNT
#DIM MEMO_LINECOUNT

VARSET LOCAL
;ABL:舌靈活, ABL:指靈活, ABL:腰靈活, ABL:魔乳
FOR LCOUNT, 60, 64
	LOCAL:LCOUNT = ABL:ARG:LCOUNT
NEXT
CALL GET_EXABL, ARG

MEMO_LINECOUNT = LINECOUNT
DRAWLINE
FOR LCOUNT, 60, 64
	IF ABL:ARG:LCOUNT > LOCAL:LCOUNT
		PRINTFORML %NAME:ARG%的%ABLNAME:LCOUNT%的LV提升了！
		PRINTFORMW %ABLNAME:LCOUNT%的LV变成了{ABL:ARG:LCOUNT}！
		PRINTFORML
	ENDIF
NEXT

LOCAL = TALENT:ARG:吸精体質

CALL GET_EXTALENT, ARG

IF TALENT:ARG:吸精体質 > LOCAL
	PRINTFORMW %CALLNAME:ARG%的吸精体質上升到了LV{TALENT:ARG:吸精体質}！
	PRINTFORML
ENDIF

CLEARLINE 1
SIF LINECOUNT > MEMO_LINECOUNT
	DRAWLINE

;経験値の増加処理。ARGには主にCOND("絶頂", PLAYER)orNOWEX:絶頂数合計、ARG:1は経験値の受け取り手が入る
@GET_EXPERIENCE, ARG, ARG:1
#DIM ACTOR
IF ARG:1 == TARGET
	ACTOR = PLAYER
ELSE
	ACTOR = TARGET
ENDIF
;技巧差による補正をかける
LOCAL = MULTIPLY(ARG*5, 100 + LIMIT(ABL:ACTOR:技巧 - ABL:(ARG:1):技巧, -100, 100)*20)
LOCAL = MAX(LOCAL - 3, 1)
EXP:(ARG:1):経験値 += LOCAL


code:
;ARGは１度に交換する単位。初期は１万
@JUEL_TO_EXP, ARG
#DIM LCOUNT
#DIM MEMO_EXP
#DIM MEMO_JUEL, 16

;まずは経験値と各種珠の量を記録
MEMO_EXP = EXP:経験値
FOR LCOUNT, 0, 16
	MEMO_JUEL:LCOUNT = JUEL:LCOUNT
NEXT

CALL JUEL_TO_EXP_CALC, ARG, JUEL:0, JUEL:1, JUEL:2, JUEL:3, JUEL:4, JUEL:5, JUEL:6, JUEL:7, JUEL:8, JUEL:9, JUEL:10, JUEL:11, JUEL:12, JUEL:13, JUEL:14, JUEL:15

;やり直す？
IF RESULT == 99
	EXP:経験値 = MEMO_EXP
	FOR LCOUNT, 0, 16
		JUEL:LCOUNT = MEMO_JUEL:LCOUNT
	NEXT
	RESTART
ENDIF

;交換単位は最小１万。ARG < 0ならば全部交換
@JUEL_TO_EXP_CALC, ARG, ARG:1, ARG:2, ARG:3, ARG:4, ARG:5, ARG:6, ARG:7, ARG:8, ARG:9, ARG:10, ARG:11, ARG:12, ARG:13, ARG:14, ARG:15, ARG:16
#DIM LCOUNT
#DIM MEMO_LINECOUNT
#DIM CHOICE

MEMO_LINECOUNT = LINECOUNT
REDRAW 0

PRINTFORML
PRINTFORML 在这里用各種宝珠１万個可以交換経験値10Ｐ
PRINTFORML 因为并不是很划算的比例、所以请只在宝珠有剩余的情况下使用
PRINTFORML
PRINTFORM 交換後的経験値是{EXP:経験値}Ｐ、
IF ARG < 0
	PRINTFORML 選択的宝珠会全部交換。
	PRINTFORML 要交換哪一个呢？
ELSE
	PRINTFORML 単位是{ARG/10000}万。要交換哪一个呢？
	PRINTFORML （交換単位不足的以１万为基础单位进行交換）
ENDIF

FOR LCOUNT, 0, 16
	SIF PALAMNAME:LCOUNT == "" || PALAMNAME:LCOUNT == "反感"
		CONTINUE

	SELECTCASE ARG:(LCOUNT+1)
	CASE IS >= 10000
		PRINTFORM  [{LCOUNT, 2}]
	CASEELSE
		SETCOLOR DEF_COLOR("灰色")
		PRINTFORM  [×]
	ENDSELECT

	PRINTFORM %PALAMNAME:LCOUNT%の珠:{ARG:(LCOUNT+1), 8}
	SIF JUEL:LCOUNT != ARG:(LCOUNT+1)
		PRINTFORM  → {JUEL:LCOUNT, 8} {(ARG:(LCOUNT+1) - JUEL:LCOUNT)/1000, 5}Ｐ get
	PRINTL
	RESETCOLOR
NEXT

SELECTCASE ARG
CASE 10000 TO 1000000
	PRINTFORML  [90] 交換単位增加{ARG/1000}万
CASE 10000000
	PRINTFORML  [90] 全部宝珠都交換成経験値
CASEELSE
	PRINTFORML  [90] 交換単位回到１万
ENDSELECT

PRINTFORML  [99] 重置交換状況
PRINTFORML [100] 終了

CALL INPUT_SELECT, 16, 90, 99, 100

CHOICE = RESULT

SELECTCASE CHOICE
CASE 100
	REDRAW 1
	RETURN 1
CASE 99
	CLEARLINE LINECOUNT - MEMO_LINECOUNT
	REDRAW 1
	RETURN 99
CASE 90
	SELECTCASE ARG
	CASE 10000 TO 1000000
		ARG *= 10
	CASE 10000000
		ARG = -1
	CASEELSE
		ARG = 10000
	ENDSELECT
CASEELSE
	IF PALAMNAME:CHOICE != "" && PALAMNAME:CHOICE != "反感"
		IF JUEL:CHOICE < 10000

		ELSEIF ARG > 0 && JUEL:CHOICE >= ARG
			JUEL:CHOICE -= ARG
			EXP:経験値 += 10 * ARG / 10000
		ELSE
			LOCAL = JUEL:CHOICE / 10000

			JUEL:CHOICE -= 10000 * LOCAL
			EXP:経験値 += 10 * LOCAL
		ENDIF
	ENDIF
ENDSELECT

CLEARLINE LINECOUNT - MEMO_LINECOUNT
RESTART


code:
;USERCOMから呼び出す
@SHOW_WILLGET_JUEL
#DIM LCOUNT
#DIM MEMO_LINECOUNT

PRINTL 現在的宝珠取得予定数
PRINTL
;Ｖ潤Ａ潤Ｐ潤は無いので15番までで良い
FOR LCOUNT, 0, 16
	SIF PALAMNAME:LCOUNT == ""
		CONTINUE
	;パラメータ名・桁数を揃えつつパラメータを表示
	PRINTFORM %PALAMNAME:LCOUNT% {PALAM:LCOUNT, 10}
	;桁数を揃えつつ現在＋予定＝合計を表示
	PRINTFORM %PALAMNAME:LCOUNT%の珠×({JUEL:LCOUNT, 10} +

	SIF GET_JUEL(LCOUNT)
		SETCOLOR DEF_COLOR("黄色")
	PRINTFORM {GET_JUEL(LCOUNT), 10}
	RESETCOLOR

	PRINTFORM ) ={JUEL:LCOUNT + GET_JUEL(LCOUNT), 10}

	;快ＣＶＡＢＭ尿は絶頂回数を表示
	SELECTCASE PALAMNAME:LCOUNT
	CASE "快Ｃ"
		SIF EX:Ｃ絶頂 >= 1
			PRINTFORM  < Ｃ絶頂:{EX:Ｃ絶頂, 2}回 >
	CASE "快Ｖ"
		SIF EX:Ｖ絶頂 >= 1
			PRINTFORM  < Ｖ絶頂:{EX:Ｖ絶頂, 2}回 >
	CASE "快Ａ"
		SIF EX:Ａ絶頂 >= 1
			PRINTFORM  < Ａ絶頂:{EX:Ａ絶頂, 2}回 >
	CASE "快Ｂ"
		SIF EX:Ｂ絶頂 >= 1
			PRINTFORM  < Ｂ絶頂:{EX:Ｂ絶頂, 2}回 >
	CASE "快Ｍ"
		SIF EX:Ｍ絶頂 >= 1
			PRINTFORM  < Ｍ絶頂:{EX:Ｍ絶頂, 2}回 >
	CASE "快尿"
		SIF EX:尿道絶頂 >= 1
			PRINTFORM  < 尿道絶頂:{EX:尿道絶頂, 2}回 >
	ENDSELECT
	PRINTL
NEXT

PRINTL

MEMO_LINECOUNT = LINECOUNT
;ABLUPも表示
CALL PRINT_SHOW_ABLUP_SELECT, "予定"
SIF LINECOUNT > MEMO_LINECOUNT
	PRINTL

PRINTL 反感之珠會優先和欲情・恭順・屈服之珠相互抵消。
PRINTL 之後、才會和恥情・苦痛・恐怖之珠相互抵消。
IF EXP_GAIN("媚薬経験")
	SETCOLOR DEF_COLOR("イエロー")
	PRINTL ※因为使用了媚薬、所以獲得的珠的量減少了※
	RESETCOLOR
ENDIF
WAIT

@GET_JUEL(ARG, ARG:1)
#FUNCTION
SIF ARG:1 == 0 && TARGET
	ARG:1 = TARGET

SELECTCASE ARG
;Ｖ潤、Ａ潤、Ｐ潤の珠は存在しない
CASE IS >= 20
	RETURNF 0
;反感の珠だけは対応パラメーターによる取得数が他の10倍
CASE 7
	LOCAL = CALC_JUEL(ARG, ARG:1)*10
CASEELSE
	LOCAL = CALC_JUEL(ARG, ARG:1)
ENDSELECT
RETURNF LOCAL

;JUEL:ARGをいくつ得るか計算する
@CALC_JUEL(ARG, ARG:1)
#FUNCTION

SIF ARG:1 == 0 && TARGET
	ARG:1 = TARGET

;パラメータレベルによる取得数
SELECTCASE PALAM:(ARG:1):ARG
;LV 0
CASE IS < 100
	LOCAL = 0
;LV1
CASE 100 TO 499
	LOCAL = 1 + (PALAM:(ARG:1):ARG - 100) * 9 / 399
;LV2
CASE 500 TO 2999
	LOCAL = 10 + (PALAM:(ARG:1):ARG - 500) * 90 / 2499
;LV3
CASE 3000 TO 9999
	LOCAL = 100 + (PALAM:(ARG:1):ARG - 3000) * 900 / 6999
;LV4
CASE 10000 TO 29999
	LOCAL = 1000 + (PALAM:(ARG:1):ARG - 10000) * 1000 / 19999
;LV5
CASE 30000 TO 59999
	LOCAL = 2000 + (PALAM:(ARG:1):ARG - 30000) * 1000 / 29999
;LV6
CASE 60000 TO 99999
	LOCAL = 3000 + (PALAM:(ARG:1):ARG - 60000) * 2000 / 39999
;LV7
CASE 100000 TO 149999
	LOCAL = 5000 + (PALAM:(ARG:1):ARG - 100000) * 3000 / 49999
;LV8
CASE 150000 TO 249999
	LOCAL = 8000 + (PALAM:(ARG:1):ARG - 150000) * 4000 / 99999
;LV9
CASE 250000 TO 499999
	LOCAL = 12000 + (PALAM:(ARG:1):ARG - 250000) * 4000 / 249999
;LV10
CASE 500000 TO 999999
	LOCAL = 16000 + (PALAM:(ARG:1):ARG - 500000) * 4000 / 499999
;LV11以上
CASEELSE
	LOCAL = 20000 + (PALAM:(ARG:1):ARG - 1000000) * 5000 / 3999999
ENDSELECT

;快ＣＶＡＢＭ尿絶頂BOUNS＆性向によるBOUNS
SELECTCASE PALAMNAME:ARG
CASE "快Ｃ"
	LOCAL += EX:(ARG:1):Ｃ絶頂*1000 + JUEL:(ARG:1):快ＣBOUNS
	SIF TALENT:(ARG:1):Ｃ性向
		TIMES LOCAL, 1.50
CASE "快Ｖ"
	LOCAL += EX:(ARG:1):Ｖ絶頂*1000 + JUEL:(ARG:1):快ＶBOUNS
	SIF TALENT:(ARG:1):Ｖ性向
		TIMES LOCAL, 1.50
CASE "快Ａ"
	LOCAL += EX:(ARG:1):Ａ絶頂*1000 + JUEL:(ARG:1):快ＡBOUNS
	SIF TALENT:(ARG:1):Ａ性向
		TIMES LOCAL, 1.50
CASE "快Ｂ"
	LOCAL += EX:(ARG:1):Ｂ絶頂*1000 + JUEL:(ARG:1):快ＢBOUNS
	SIF TALENT:(ARG:1):Ｂ性向
		TIMES LOCAL, 1.50
CASE "快Ｍ"
	LOCAL += EX:(ARG:1):Ｍ絶頂*1000 + JUEL:(ARG:1):快ＭBOUNS
	SIF TALENT:(ARG:1):Ｍ性向
		TIMES LOCAL, 1.50
CASE "快尿"
	LOCAL += EX:(ARG:1):尿道絶頂*1000 + JUEL:(ARG:1):快尿BOUNS
ENDSELECT

;媚薬によるペナルティ
SIF EXP_GAIN("媚薬経験", ARG:1) > 0
	LOCAL /= 1 + EXP_GAIN("媚薬経験", ARG:1)
SIF TFLAG:进行性処理
	LOCAL /= 3

RETURNF LOCAL


code:
;-------------------------------------------------
;角色ARGに胖次ARGSを着せる。ARGS == ""なら脱がす
;-------------------------------------------------
@SET_PANTIES, ARGS, ARG
#DIMS MEMO_CLO
SIF ARG == 0 && TARGET > 0
	ARG = TARGET
MEMO_CLO = %CSTR:ARG:胖次%
;汚れ＆移開たりしたフラグ等を初期化して新品にする
SIF COND("胖次花绳中", ARG) == 0
	STAIN:ARG:胖次 = 0

CALL PALAM_PANTIES, ARGS, ARG

;コモンフラグを設定する
CSTR:ARG:胖次 = %SET_CLO_COMMON(CSTR:ARG:胖次, ARG)%
CSTR:ARG:胸罩 = %SET_CLO_COMMON(CSTR:ARG:胸罩, ARG)%

EQUIP:ARG:胖次 = STRLENS(CSTR:ARG:胖次)
EQUIP:ARG:胸罩 = STRLENS(CSTR:ARG:胸罩)

;贴身制服は脱がす
SIF EQUIP:ARG:胖次 && EQUIP:ARG:贴身制服
	CALL SET_BODYS, "", ARG
;布鲁马被りは禁止
SIF CHECK_PANTIES("布鲁马", ARG) && CHECK_OUTER("布鲁马", ARG)
	CALL SET_OUTER, "", ARG

SIF MEMO_CLO != CSTR:ARG:胖次 && COND("胖次花绳中", ARG) == 0
	TFLAG:着替えた = 1

;-------------------------------------------------
;ARGの穿いている胖次の名前。ARGSに"略"と入れると略称になる
;-------------------------------------------------
@PANTIES(ARG, ARGS)
#FUNCTIONS
#DIMS COLOR_ABOUT
#DIMS CIPTYPE

VARSET LOCALS
SELECTCASE ARGS
CASE "蝴蝶結"
	SIF CHECK_PANTIES("蝴蝶結", ARG) == 0 || CHECK_PANTIES("下拉半遮", ARG)
		RETURNF ""
	RETURNF EXTSTR(CSTR:ARG:胖次, "蝴蝶結", "/")
CASE "CIP正面"
	IF CHECK_PANTIES("開放型開洞", ARG)
		SIF PENIS(ARG)
			RETURNF ""
		LOCALS = 贴身開放型開洞胖次
		SIF SHIRT(ARG, "CIP正面") + SKIRT(ARG, "CIP正面") + SOCKS(ARG, "CIP正面") + OUTER(ARG, "CIP正面") != ""
			LOCALS = 開放型開洞胖次
	ELSEIF CHECK_PANTIES("Ｖ露出", ARG)
		RETURNF ""
	ELSEIF CHECK_PANTIES("Ｃ胖次", ARG)
		LOCALS = 贴身Ｃ胖次
		SIF SHIRT(ARG, "CIP正面") + SKIRT(ARG, "CIP正面") + SOCKS(ARG, "CIP正面") + OUTER(ARG, "CIP正面") != ""
			LOCALS = Ｃ胖次
	ELSEIF CHECK_PANTIES("前貼", ARG)
		LOCALS = 贴身前貼
		SIF SHIRT(ARG, "CIP正面") + SKIRT(ARG, "CIP正面") + SOCKS(ARG, "CIP正面") + OUTER(ARG, "CIP正面") != ""
			LOCALS = 前貼
	ELSEIF CHECK_PANTIES("襯褲", ARG)
		LOCALS = 襯褲
	ELSEIF CHECK_PANTIES("下拉半遮", ARG)
		LOCALS = 胖次下拉半遮
	ELSEIF CHECK_PANTIES("高開衩布鲁马", ARG)
		LOCALS = 高開衩布鲁马
	ELSEIF CHECK_PANTIES("叶子胖次", ARG)
		LOCALS = 叶子胖次
	ELSEIF CHECK_PANTIES("兜襠布", ARG)
		LOCALS = 兜襠布
	ELSEIF CHECK_PANTIES("儿童胖次", ARG)
		LOCALS = 儿童胖次
	ELSEIF CHECK_PANTIES("四角内褲", ARG) || CHECK_PANTIES("鬥士胖次", ARG) || CHECK_PANTIES("衝浪胖次", ARG) || CHECK_PANTIES("四角褲", ARG)
		LOCALS = 四角内褲
		SIF PENIS(ARG)
			LOCALS += "贴阴内裤"
	ELSEIF CHECK_PANTIES("淚珠泳衣", ARG)
		LOCALS = 淚珠泳衣
	ELSEIF CHECK_PANTIES("Micro", ARG)
		IF CHECK_PANTIES("比基尼", ARG) == 0 && CHECK_PANTIES("拘束衣", ARG) == 0
			LOCALS = Micro內褲
		ELSE
			LOCALS = Micro
		ENDIF
	ELSEIF CHECK_PANTIES("超低腰", ARG)
		LOCALS = 超低腰
	ELSEIF CHECK_PANTIES("低腰胖次", ARG)
		LOCALS = 低腰胖次
	ELSEIF CHECK_PANTIES("低腰內褲", ARG)
		LOCALS = 低腰內褲
	ELSEIF CHECK_PANTIES("丁字褲", ARG)
		IF CHECK_PANTIES("繩系胖次", ARG)
			LOCALS = 紐丁字褲
		ELSE
			LOCALS = 丁字褲
		ENDIF
	ELSEIF CHECK_PANTIES("比基尼", ARG)
		IF CHECK_PANTIES("繩系胖次", ARG)
			LOCALS = 紐比基尼
		ELSE
			LOCALS = 比基尼
		ENDIF
	ELSEIF CHECK_PANTIES("褶边高開衩", ARG)
		LOCALS = 褶边高開衩
	ELSEIF CHECK_PANTIES("褶边", ARG)
		LOCALS = 褶边
	ELSEIF CHECK_PANTIES("高開衩", ARG)
		LOCALS = 高開衩
	ELSEIF CHECK_PANTIES("蕾丝", ARG) || CHECK_PANTIES("透明", ARG)
		LOCALS = 蕾丝
	ELSEIF CHECK_PANTIES("條紋", ARG)
		LOCALS = 縞胖次
	ELSEIF CHECK_PANTIES("內褲", ARG) || CHECK_PANTIES("全後衛", ARG)
		LOCALS = 內褲
	ELSEIF CHECK_PANTIES("三角胖次", ARG)
		LOCALS = 三角胖次
	ELSEIF CHECK_PANTIES("Ｔ字褲", ARG)
		IF CHECK_PANTIES("繩系胖次", ARG)
			LOCALS = 背面紐Ｔ字褲
		ELSE
			LOCALS = 背面Ｔ字褲
		ENDIF
	ELSE
		RETURNF ""
	ENDIF
CASE "CIPすじ"
	IF CHECK_PANTIES("開放型開洞", ARG)
		SIF PENIS(ARG)
			RETURNF ""
		RETURNF "贴身開放型開洞胖次"
	ELSEIF CHECK_PANTIES("Ｃ胖次", ARG)
		RETURNF "贴身Ｃ胖次"
	ELSEIF CHECK_PANTIES("前貼", ARG)
		RETURNF "贴身前貼"
	ELSEIF CHECK_PANTIES("創口貼", ARG)
		RETURNF "贴身創口貼"
	ELSE
		RETURNF ""
	ENDIF
CASE "CIP背面"
	IF CHECK_PANTIES("Ｃ胖次", ARG)
		RETURNF ""
	ELSEIF CHECK_PANTIES("Micro", ARG)
		LOCALS = 背面Micro
	ELSEIF CHECK_PANTIES("Ｔ字褲", ARG)
		IF CHECK_PANTIES("繩系胖次", ARG)
			LOCALS = 背面紐Ｔ字褲
		ELSE
			LOCALS = 背面Ｔ字褲
		ENDIF
	ELSE
		RETURNF ""
	ENDIF
CASE "CIP正面カラー", "CIP背面カラー", "CIPすじカラー"
	SELECTCASE ARGS
	CASE "CIP正面カラー"
		CIPTYPE = CIP正面
	CASE "CIP背面カラー"
		CIPTYPE = CIP背面
	CASE "CIPすじカラー"
		CIPTYPE = CIPすじ
	ENDSELECT

	SELECTCASE PANTIES(ARG, CIPTYPE)
	;色指定が無いもの
	CASE "", "すじ"
		RETURNF ""
	;特殊
	CASE "儿童胖次"
		RETURNF CLOCOLOR(CSTR:ARG:胖次, "色のみ")
	CASE "開放型開洞胖次", "贴身開放型開洞胖次"
		SELECTCASE CLOCOLOR(CSTR:ARG:胖次, "色のみ")
		CASE "白", "純白"
			RETURNF "白"
		CASE "黒", "豹纹"
			RETURNF "黒"
		CASE "紫"
			RETURNF "紫"
		CASE "真紅", "赤"
			RETURNF "赤"
		ENDSELECT
	CASE "前貼", "贴身前貼", "Ｃ胖次", "贴身Ｃ胖次"
		SELECTCASE CLOCOLOR(CSTR:ARG:胖次, "色のみ")
		CASE "白", "純白"
			RETURNF "白"
		CASE "黒", "豹纹"
			RETURNF "黒"
		CASE "薄桃色", "桃色"
			RETURNF "桃色"
		CASE "青", "水色"
			RETURNF "青"
		CASEELSE
			RETURNF "白"
		ENDSELECT
	CASE "高開衩布鲁马"
		SELECTCASE CLOCOLOR(CSTR:ARG:胖次, "色のみ")
		CASE "赤"
			RETURNF "赤"
		CASE "水色"
			RETURNF "水色"
		CASE "紺色"
			RETURNF "紺色"
		CASE "緑色"
			RETURNF "緑色"
		CASEELSE
			RETURNF "紺色"
		ENDSELECT
	;白赤黒紫青分岐
	CASE "Micro內褲", "背面Micro"
		SELECTCASE CLOCOLOR(CSTR:ARG:胖次, "色のみ")
		CASE "白", "純白"
			RETURNF "白"
		CASE "黒", "豹纹"
			RETURNF "黒"
		CASE "紫"
			RETURNF "紫"
		CASE "真紅", "赤", "薄桃色"
			RETURNF "赤"
		CASE "青", "紺色", "薄青色", "水色"
			RETURNF "青"
		;用意されていない色
		CASE "緑色", "薄緑", "黄色", "橙色"
			RETURNF ""
		ENDSELECT
	CASE "背面紐Ｔ字褲", "背面Ｔ字褲", "紐丁字褲", "丁字褲"
		IF STRCOUNT(CSTR:ARG:胖次, "水玉")
			SELECTCASE CLOCOLOR(CSTR:ARG:胖次, "色のみ")
			CASE "粉紅", "水玉粉紅"
				RETURNF "水玉粉紅"
			CASE "黄色", "橙色", "水玉黄色"
				RETURNF "水玉黄色"
			CASE "黒", "水玉黒"
				RETURNF "水玉黒"
			CASE "薄青色", "水色", "水玉水色"
				RETURNF "水玉水色"
			CASE "白", "水玉白"
				RETURNF "水玉白"
			CASE "白黒", "水玉白黒"
				RETURNF "水玉白黒"
			ENDSELECT
		ELSEIF STRCOUNT(CSTR:ARG:胖次, "豹纹")
			RETURNF "豹纹"
		ELSEIF STRCOUNT(CSTR:ARG:胖次, "奶牛")
			RETURNF "奶牛"
		ELSEIF STRCOUNT(CSTR:ARG:胖次, "虎紋")
			RETURNF "虎紋"
		ENDIF
		SELECTCASE CLOCOLOR(CSTR:ARG:胖次, "色のみ")
		CASE "白", "純白"
			RETURNF "白"
		CASE "黒"
			RETURNF "黒"
		CASE "紫"
			RETURNF "紫"
		CASE "真紅", "赤"
			RETURNF "赤"
		CASE "薄桃色", "粉紅", "桃色"
			RETURNF "桃色"
		CASE "青", "紺色"
			RETURNF "青"
		CASE "薄青色", "水色"
			RETURNF "水色"
		CASE "緑色"
			RETURNF "緑色"
		CASE "薄緑"
			RETURNF "薄緑"
		CASE "灰色"
			RETURNF "灰色"
		CASE "黄色", "橙色"
			RETURNF "黄色"
		ENDSELECT
	CASE "比基尼", "紐比基尼", "Ｔ字褲比基尼", "紐Ｔ字褲比基尼"
		SELECTCASE CLOCOLOR(CSTR:ARG:胖次, "色のみ")
		CASE "豹纹"
			RETURNF "豹纹"
		CASE "白", "純白"
			RETURNF "白"
		CASE "黒"
			RETURNF "黒"
		CASE "紫"
			RETURNF "紫"
		CASE "真紅", "赤"
			RETURNF "赤"
		CASE "薄桃色", "粉紅", "桃色"
			RETURNF "桃色"
		CASE "青", "紺色"
			RETURNF "青"
		CASE "薄青色", "水色"
			RETURNF "水色"
		CASE "緑色"
			RETURNF "緑色"
		CASE "薄緑"
			RETURNF "薄緑"
		CASE "灰色"
			RETURNF "灰色"
		CASE "黄色", "橙色"
			RETURNF "黄色"
		ENDSELECT
	CASE "Micro", "淚珠泳衣", "背面Ｔ字褲"
		SIF STRCOUNT(CSTR:ARG:胖次, "豹纹")
			RETURNF "豹纹"
		SELECTCASE CLOCOLOR(CSTR:ARG:胖次, "色のみ")
		CASE "白", "純白"
			RETURNF "白"
		CASE "黒"
			RETURNF "黒"
		CASE "紫"
			RETURNF "紫"
		CASE "真紅", "赤", "薄桃色"
			RETURNF "赤"
		CASE "青", "紺色", "薄青色", "水色"
			RETURNF "青"
		;用意されていない色
		CASE "緑色", "薄緑", "黄色", "橙色"
			RETURNF ""
		ENDSELECT
	CASE "縞胖次"
		SELECTCASE CLOCOLOR(CSTR:ARG:胖次, "色のみ")
		CASE "紅白", "緑白", "黄白", "黒白", "青白"
			RETURNF CLOCOLOR(CSTR:ARG:胖次, "色のみ")
		ENDSELECT
	;其他は８カラ―
	CASEELSE
		SELECTCASE CLOCOLOR(CSTR:ARG:胖次, "色のみ")
		CASE "白", "純白", "灰色", "水玉白"
			RETURNF "白"
		CASE "黒", "豹纹", "水玉黒", "水玉白黒", "黒白"
			RETURNF "黒"
		CASE "紫"
			RETURNF "紫"
		CASE "真紅", "赤", "紅白"
			RETURNF "赤"
		CASE "薄桃色", "桃色", "水玉粉紅"
			RETURNF "桃色"
		CASE "青", "紺色", "薄青色", "條紋", "水玉", "水色", "水玉水色", "青白"
			RETURNF "水色"
		CASE "緑色", "薄緑", "緑白"
			RETURNF "緑色"
		CASE "黄色", "橙色", "米色", "水玉黄色", "黄白"
			RETURNF "黄色"
		CASEELSE
			RETURNF "黒"
		ENDSELECT
	ENDSELECT
	RETURNF ""

CASE "胖次", "内衣", "ぱんつ"
	IF CHECK_PANTIES("前貼", ARG)
		LOCALS = 前貼
	ELSEIF CHECK_PANTIES("泳装", ARG)
		LOCALS = 比基尼
	ELSEIF CHECK_PANTIES("布鲁马", ARG)
		LOCALS = 布鲁马
	ELSE
		LOCALS = %ARGS%
	ENDIF
CASE "略"
	IF CHECK_PANTIES("貞操帯", ARG)
		LOCALS = 貞操帯
	ELSEIF CHECK_PANTIES("布鲁马", ARG)
		LOCALS = 布鲁马
	ELSEIF CHECK_PANTIES("鬥士胖次", ARG)
		LOCALS = 鬥士胖次
	ELSEIF CHECK_PANTIES("简约胖次", ARG)
		LOCALS = 简约胖次
	ELSEIF CHECK_PANTIES("四角褲", ARG)
		LOCALS = 四角褲
	ELSEIF CHECK_PANTIES("兜襠布", ARG)
		LOCALS = 兜襠布
	;比基尼って呼称は上下不搭配とちょっと微妙かも
	ELSEIF CHECK_PANTIES("比基尼", ARG)
		IF CHECK_PANTIES("淚珠泳衣", ARG)
			LOCALS = 淚珠泳衣比基尼
		ELSEIF CHECK_PANTIES("Micro", ARG)
			LOCALS = Micro比基尼
		ELSE
			LOCALS = 比基尼胖次
		ENDIF
	;ELSEIF CHECK_PANTIES("紧身短褲", ARG)
	;	LOCALS = 紧身短褲
	ELSEIF CHECK_PANTIES("襯褲", ARG)
		LOCALS = 襯褲
	ELSEIF CHECK_PANTIES("Ｃ胖次", ARG)
		LOCALS = Ｃ胖次
	ELSEIF CHECK_PANTIES("前貼", ARG)
		LOCALS = 前貼
	;ELSEIF CHECK_PANTIES("創口貼", ARG)
	;	LOCALS = 創口貼
	ELSE
		LOCALS = 胖次
	ENDIF
CASE "種類"
	;LOCALSに名称が入る
	SPLIT CSTR:ARG:胖次, "/", LOCALS
CASE ""
	;LOCALSに名称が入る
	SPLIT CSTR:ARG:胖次, "/", LOCALS
	COLOR_ABOUT = %CHECK_CLOCOLOR(CSTR:ARG:胖次)%

	IF CHECK_PANTIES("男物", ARG)
		LOCALS = \@ TALENT:ARG:男性 == 0 ? 男式 # \@%LOCALS%
	;名称と色が被ってる場合は省略
	ELSEIF STRCOUNT(LOCALS, COLOR_ABOUT)
		RETURNF LOCALS
	;一部の柄物
	ELSEIF STRCOUNTS(CSTR:ARG:胖次, "條紋", "水玉模様", "豹纹")
		SELECTCASE COLOR_ABOUT
		CASE ""
		CASE "赤", "青", "黒", "白"
			LOCALS = %COLOR_ABOUT%い%LOCALS%
		CASE "水玉粉紅", "水玉黒", "水玉黄色", "水玉水色", "水玉白黒", "水玉白"
			LOCALS = %EXTSTR(COLOR_ABOUT, "水玉")%の%LOCALS%
		CASEELSE
			LOCALS = %COLOR_ABOUT%の%LOCALS%
		ENDSELECT
	ELSE
		LOCALS = %CLOCOLOR(CSTR:ARG:胖次, "形容詞")%%LOCALS%
	ENDIF
ENDSELECT
RETURNF LOCALS

;-------------------------------------------------
;ARG番の胖次の名称。換装などで表を作る際に使う
;-------------------------------------------------
@NAME_PANTIES(ARG)
#FUNCTIONS
VARSET LOCALS

SELECTCASE ARG
CASE 0
	LOCALS = 內褲
CASE 1
	LOCALS = 三角胖次
CASE 2
	LOCALS = 全後衛胖次
CASE 3
	LOCALS = 低腰胖次
CASE 4
	LOCALS = 超低腰胖次
CASE 5
	LOCALS = 高開衩胖次
CASE 6
	LOCALS = 丁字褲
CASE 7
	LOCALS = 紐丁字褲
CASE 8
	LOCALS = Ｃ胖次
CASE 9
	LOCALS = 四角内褲
CASE 10
	LOCALS = 開放型開洞胖次
CASE 11
	LOCALS = 後開型
CASE 12
	LOCALS = Micro內褲

CASE 20
	LOCALS = 蕾丝的胖次
CASE 21
	LOCALS = 透明胖次
CASE 22
	LOCALS = 褶边の胖次
CASE 23
	LOCALS = 儿童胖次
CASE 24
	LOCALS = 皮革胖次
CASE 25
	LOCALS = 兜襠布
CASE 26
	LOCALS = 貞操帯
CASE 27
	LOCALS = 前貼

CASE 30
	LOCALS = 比基尼
CASE 31
	LOCALS = Micro比基尼
CASE 32
	LOCALS = 淚珠泳衣比基尼

CASE 35
	LOCALS = 四角褲
CASE 36
	LOCALS = 鬥士胖次
CASE 37
	LOCALS = 高開衩布鲁马

CASE 39
	LOCALS = Ｈ的内衣
ENDSELECT

RETURNF LOCALS

;-------------------------------------------------
;角色ARGに胖次ARGSを着せた場合のCSTR処理
;名前/色/属性/…/属性/ というルールで記述される(一番左は名前、次は色で固定)
;後で属性を追加したい際には CSTR:胖次 += "Ｖ露出/" のように単純に追加すればよい。同じ属性が複数あっても問題ない
;横部分を紐で結んでる領帯プの属性は 繩系胖次 で固定
;-------------------------------------------------
@PALAM_PANTIES, ARGS, ARG
;追加で記述された属性を一時的に保管する
#DIMS STR_ADD

SIF ARG == 0 && TARGET > 0
	ARG = TARGET

STR_ADD = %EXTSTR(ARGS, "/")%
ARGS = %EXTSTR(ARGS, "", "/")%

;Ｈ的内衣に関しては最初に別のものに変換してしまう
SELECTCASE ARGS
CASE "Ｈ的内衣"
	ARGS = %TEXTR("丁字褲/紐丁字褲/高開衩胖次/Ｃ胖次/開放型開洞胖次/蕾丝的胖次/Micro內褲")%
	STR_ADD += "/Ｈ的颜色/"
ENDSELECT

SELECTCASE ARGS
CASE "", "没穿内褲", "没有"
	CSTR:ARG:胖次 =
CASE "しまった内衣"
	VARSET LOCALS
	SPLIT CSTR:ARG:しまった内衣, "_", LOCALS
	CSTR:ARG:胖次 = %LOCALS:0%
	CSTR:ARG:胸罩 = %LOCALS:1%
	CSTR:ARG:しまった内衣 =

CASE "內褲"
	CSTR:ARG:胖次 = 內褲/淡色/正面蝴蝶結/
CASE "简约內褲"
	CSTR:ARG:胖次 = 简约內褲/淡色/简约/
CASE "三角胖次"
	CSTR:ARG:胖次 = 三角胖次/淡色/正面蝴蝶結/
CASE "全後衛胖次"
	CSTR:ARG:胖次 = 全後衛胖次/淡色/
CASE "低腰內褲"
	CSTR:ARG:胖次 = 低腰內褲/淡色/
CASE "低腰胖次"
	CSTR:ARG:胖次 = 低腰胖次/淡色/
;本作では超低腰＆低腰の小さい胖次を超低腰胖次とする。not儿童胖次
CASE "超低腰胖次"
	CSTR:ARG:胖次 = 超低腰胖次/淡色/
CASE "高開衩胖次"
	CSTR:ARG:胖次 = 高開衩胖次/隨機顏色/
CASE "Ｃ胖次"
	CSTR:ARG:胖次 = Ｃ胖次/隨機顏色/Ｔ字褲/不可移開/
CASE "四角内褲"
	CSTR:ARG:胖次 = 四角内褲/淡色/
CASE "開放型開洞胖次"
	CSTR:ARG:胖次 = 開放型開洞胖次/Ｈ的颜色/Ｖ露出/Ａ露出/
CASE "後開型"
	CSTR:ARG:胖次 = 後開型/辣妹/Ａ露出/超低腰/
CASE "Micro內褲"
	CSTR:ARG:胖次 = Micro內褲/隨機顏色/
CASE "襯褲"
	CSTR:ARG:胖次 = 襯褲/白/不可移開/

CASE "條紋胖次"
	CSTR:ARG:胖次 = 條紋胖次/條紋色/
CASE "肉球印花胖次"
	CSTR:ARG:胖次 = 肉球印花胖次/黒/繩系胖次/

CASE "蕾丝的胖次"
	CSTR:ARG:胖次 = 蕾丝的胖次/Ｈ的颜色/透明/蕾丝情趣内衣/
CASE "透明胖次"
	CSTR:ARG:胖次 = 透明胖次/淡色/蕾丝情趣内衣/
CASE "褶边の胖次"
	CSTR:ARG:胖次 = 褶边の胖次/淡色/正面蝴蝶結紐/蕾丝情趣内衣/
CASE "褶边高開衩"
	CSTR:ARG:胖次 = 褶边高開衩/淡色/正面蝴蝶結紐/蕾丝情趣内衣/

CASE "皮革胖次"
	CSTR:ARG:胖次 = 皮革胖次/黒/高開衩/Ｔ字褲/
CASE "叶子胖次"
	CSTR:ARG:胖次 = 叶子胖次/緑色/超低腰/

CASE "比基尼"
	CSTR:ARG:胖次 = 比基尼/比基尼色/
CASE "紐比基尼"
	CSTR:ARG:胖次 = 紐比基尼/比基尼色/繩系胖次/
CASE "Ｔ字褲比基尼"
	CSTR:ARG:胖次 = Ｔ字褲比基尼/比基尼色/Ｔ字褲/
CASE "紐Ｔ字褲比基尼"
	CSTR:ARG:胖次 = 紐Ｔ字褲比基尼/比基尼色/繩系胖次/Ｔ字褲/

CASE "白色比基尼"
	CSTR:ARG:胖次 = 白色比基尼/白/
CASE "黑色比基尼"
	CSTR:ARG:胖次 = 黑色比基尼/黒/

CASE "丁字褲"
	CSTR:ARG:胖次 = 丁字褲/辣妹/高開衩/Ｔ字褲/
CASE "紐丁字褲"
	CSTR:ARG:胖次 = 紐丁字褲/辣妹/高開衩/Ｔ字褲/繩系胖次/
CASE "丁字褲比基尼"
	CSTR:ARG:胖次 = 丁字褲比基尼/辣妹/高開衩/Ｔ字褲/
CASE "紐丁字褲比基尼"
	CSTR:ARG:胖次 = 紐丁字褲比基尼/辣妹/高開衩/Ｔ字褲/繩系胖次/

CASE "Micro比基尼"
	CSTR:ARG:胖次 = Micro比基尼/隨機顏色/高開衩/Ｔ字褲/
CASE "淚珠泳衣比基尼"
	CSTR:ARG:胖次 = 淚珠泳衣比基尼/隨機顏色/Ｔ字褲/Micro/

CASE "拘束衣胖次"
	CSTR:ARG:胖次 = 拘束衣胖次/黒/皮革/Micro/
CASE "開放型拘束衣胖次"
	CSTR:ARG:胖次 = 開放型拘束衣胖次/黒/皮革/Ｖ露出/Ａ露出/

CASE "男式比基尼"
	CSTR:ARG:胖次 = 男式比基尼/黒/泳装/男物/
CASE "衝浪胖次"
	CSTR:ARG:胖次 = 衝浪胖次/黒/泳装/男物/

CASE "兜襠布"
	CSTR:ARG:胖次 = 兜襠布/白/高開衩/Ｔ字褲/
CASE "貞操帯"
	CSTR:ARG:胖次 = 貞操帯/黒/皮革/不可移開/脱衣不可/
CASE "前貼"
	CSTR:ARG:胖次 = 前貼/白/Ａ露出/不可移開/通気性没有/
CASE "心形貼紙"
	CSTR:ARG:胖次 = 心形貼紙/隨機顏色/Ａ露出/不可移開/通気性没有/
CASE "儿童胖次"
	CSTR:ARG:胖次 = 儿童胖次/儿童胖次颜色/

CASE "四角褲"
	CSTR:ARG:胖次 = 四角褲/男式色/男物/
CASE "鬥士胖次"
	CSTR:ARG:胖次 = 鬥士胖次/男式色/男物/

CASE "高開衩布鲁马"
	CSTR:ARG:胖次 = 高開衩布鲁马/

CASEELSE
	CSTR:ARG:胖次 = %ARGS%/隨機顏色/
ENDSELECT

CSTR:ARG:胖次 = %MERGE_STR(CSTR:ARG:胖次, STR_ADD)%

;-------------------------------------------------
;ARGの穿いている胖次の詳細
;-------------------------------------------------
@DETAIL_PANTIES(ARG, ARGS)
#FUNCTIONS
;種類名：内衣か胖次か比基尼か布鲁马
#DIMS TYPE_PANTU
SIF ARG == 0 && TARGET
	ARG = TARGET

IF CHECK_PANTIES("布鲁马", ARG)
	TYPE_PANTU = 布鲁马
ELSEIF CHECK_PANTIES("比基尼", ARG)
	TYPE_PANTU = 比基尼
ELSE
	TYPE_PANTU = %TEXTR("胖次/内衣")%
ENDIF
VARSET LOCALS
SELECTCASE ARGS
;触っただけで胖次を類推する場合
CASE "感触"
	IF CHECK_PANTIES("Ｖ露出", ARG)
		IF CHECK_PANTIES("Ａ露出", ARG)
			LOCALS += "股間的前面到後側都完全露出了"
		ELSE
			LOCALS += "陰部並沒有被布料遮擋著"
		ENDIF
	ELSEIF CHECK_PANTIES("Ａ露出", ARG)
		LOCALS += "菊門周圍完全沒有布料"
	ELSEIF CHECK_PANTIES("開衩", ARG)
		LOCALS += "内衣部分遮掩着窄缝"
	;Micro（Ｔ字褲でもある）
	ELSEIF CHECK_PANTIES("Micro", ARG)
		LOCALS += "布料面積異常的少"
	ELSEIF CHECK_PANTIES("带拉链的", ARG)
		LOCALS += "內衣部分隱藏著拉鏈"
	ELSEIF CHECK_PANTIES("繩系胖次", ARG)
		LOCALS += "側面由絲帶繫結來固定"
	ELSEIF CHECK_PANTIES("蕾丝", ARG)
		LOCALS += "帶著彩色的蕾絲花邊的"
	ENDIF

	IF CHECK_PANTIES("前貼", ARG)
		RETURNF "前貼"
	ELSEIF CHECK_PANTIES("兜襠布", ARG)
		RETURNF "兜襠布"
	ELSEIF CHECK_PANTIES("淚珠泳衣", ARG)
		LOCALS += "所謂淚珠泳衣の"
	ELSEIF CHECK_PANTIES("Ｃ胖次", ARG)
		LOCALS += "Ｃ胖次的"
	ELSEIF CHECK_PANTIES("丁字褲", ARG)
		LOCALS += "丁字褲的"
	ELSEIF CHECK_PANTIES("Ｔ字褲", ARG)
		LOCALS += "Ｔ字褲的"
	;ローorハイ
	ELSEIF CHECK_PANTIES("超低腰", ARG)
		LOCALS += "低腰胖次的"
	ELSEIF CHECK_PANTIES("高開衩", ARG)
		LOCALS += "高衩胖次的"
	ELSEIF LOCALS != ""
		LOCALS += "後衛胖次的"
	ENDIF
	SIF LOCALS == ""
		LOCALS = %TEXTR("標準的/普通的/帶來安定感的")%後衛胖次的
	LOCALS = %LOCALS%%TYPE_PANTU%

CASEELSE
	;前貼
	IF CHECK_PANTIES("前貼", ARG)
		LOCALS = %TEXTR("完美贴合/紧紧贴住")%股間遮住%TEXTR("重要地方/阴部")%的贴纸
	;Ｈ的内衣
	ELSEIF CHECK_PANTIES("Ｈ的内衣", ARG) || CHECK_PANTIES("Ｖ露出", ARG) || CHECK_PANTIES("Ａ露出", ARG)
		SIF CHECK_PANTIES("蕾丝", ARG)
			LOCALS += "帶著彩色的蕾絲花邊的"

		IF CHECK_PANTIES("透明", ARG)
			LOCALS += "透明素材的"
		ELSEIF CHECK_PANTIES("絲綢", ARG)
			LOCALS += "輕薄的絲制的"
		ENDIF

		IF CHECK_PANTIES("Ｖ露出", ARG)
			IF CHECK_PANTIES("Ａ露出", ARG)
				LOCALS += "股間的前面到後側都完全露出了"
			ELSE
				LOCALS += "陰部並沒有被布料遮擋著"
			ENDIF
		ELSEIF CHECK_PANTIES("Ａ露出", ARG)
			LOCALS += "菊門周圍完全沒有布料"
		;Micro（Ｔ字褲でもある）
		ELSEIF CHECK_PANTIES("Micro", ARG)
			LOCALS += "布料面積異常的少"
		ELSEIF CHECK_PANTIES("带拉链的", ARG)
			LOCALS += "內衣部分隱藏著拉鏈"
		ELSEIF CHECK_PANTIES("開衩", ARG)
			LOCALS += "内衣部分遮掩着窄缝"
		ENDIF

		SIF LOCALS == ""
			LOCALS = 洋溢著情色氣息的

		IF CHECK_PANTIES("丁字褲", ARG)
			LOCALS += "丁字褲"
			TYPE_PANTU =
		ELSEIF CHECK_PANTIES("Ｔ字褲", ARG)
			LOCALS += "Ｔ字褲"
			TYPE_PANTU =
		;ローorハイ
		ELSEIF CHECK_PANTIES("超低腰", ARG)
			LOCALS += "超低腰"
		ELSEIF CHECK_PANTIES("高開衩", ARG)
			LOCALS += "高開衩"
		ENDIF
		;紐
		IF CHECK_PANTIES("繩系胖次", ARG)
			LOCALS += "紐"
			SIF CHECK_PANTIES("比基尼", ARG) == 0
				TYPE_PANTU = 胖次
		ENDIF
		LOCALS = %LOCALS%%TYPE_PANTU%
	ELSEIF CHECK_PANTIES("Micro", ARG)
		IF RAND:2
			LOCALS = 用碎布來形容會更恰當一些的、用料非常緊張的\@ CHECK_PANTIES("比基尼", ARG) ? 比基尼 # 胖次 \@
		ELSE
			LOCALS = 重要的地方完全无法遮掩住的用料極少的\@ CHECK_PANTIES("比基尼", ARG) ? 泳装 # 内衣 \@
		ENDIF
	ELSEIF CHECK_PANTIES("比基尼", ARG)
		LOCALS = 風格大膽的比基尼
	ELSEIF CHECK_PANTIES("Ｃ胖次", ARG)
		LOCALS = 讓人迷惑與是否能稱為胖次的逸品、C胖次
	;ELSEIF CHECK_PANTIES("兜襠布", ARG)

	;ELSEIF CHECK_PANTIES("貞操帯", ARG)

	ELSEIF CHECK_PANTIES("肉球印花胖次", ARG)
		LOCALS = 正面印有小小猫耳的胖次
	ELSEIF CHECK_PANTIES("條紋", ARG)
		IF RAND:2
			LOCALS = 股間的%TEXTR("陰影/線條")%被%TEXTR("柔和的/保守的")%%TEXTR("顯示著/主張著")%的條紋%TEXTR("胖次/内衣")%
		ELSE
			LOCALS = 条纹沿着%TEXTR("臀部/股間")%稍稍弯曲的条纹胖次
		ENDIF
	ELSEIF CHECK_PANTIES("水玉模様", ARG)
		LOCALS = 可愛的水玉模様の%TEXTR("胖次/の内衣")%
	ELSEIF CHECK_PANTIES("豹纹", ARG)
		SELECTCASE AGE(ARG)
		CASE IS >= 4
			LOCALS = %TEXTR("風格性感的/洋溢著情色氣息的/飄蕩著成熟氣息的")%
		CASE 3
			LOCALS = %TEXTR("風格性感的/帶著挑起慾望的暗示的/作為辣妹這一群體的象徵物一樣的")%
		CASE 2
			LOCALS = %TEXTR("具備成熟風韻的/帶著微妙可愛感的/帶著挑起慾望的暗示的/")%
		CASE 1
			LOCALS = %TEXTR("與現在的氣氛十分相稱的/帶著微妙可愛感的/帶著挑起慾望的暗示的")%
		ENDSELECT
		LOCALS += @"%PANTIES(ARG)%"
	ELSEIF CHECK_PANTIES("蕾丝的胖次", ARG)
		IF RAND:4 == 0
			LOCALS = 彰顯女性魅力的%CLOCOLOR(CSTR:胸罩, "形容詞")%蕾絲質地的
		ELSEIF RAND:3 == 0
			LOCALS = 飄蕩著成熟氣息的%CLOCOLOR(CSTR:ARG:胸罩, "形容詞")%蕾絲花邊的
		ELSEIF RAND:2
			LOCALS = 風格典雅的美麗的蕾絲質地的
		ELSE
			LOCALS = 具備成熟風韻而不失可愛的蕾絲花邊的
		ENDIF
		LOCALS = %LOCALS%%TYPE_PANTU%
	ELSEIF CHECK_PANTIES("褶边の胖次", ARG)
		LOCALS = 有%TEXTR("可愛的/清純的")%褶邊%TEXTR("装飾著的/附著的")%%TYPE_PANTU%
	ELSEIF CHECK_PANTIES("繩系胖次", ARG)
		IF RAND:2
			LOCALS = 用十分容易解下的絲帶繫住的繩系胖次
		ELSE
			LOCALS = %TEXTR("両侧的打结/三角形的布料部分")%十分显眼的繩系胖次
		ENDIF
	ELSEIF CHECK_PANTIES("丁字褲", ARG)
		LOCALS = 連接的帶子深陷在股溝中的大膽的丁字褲
	ELSEIF CHECK_PANTIES("Ｔ字褲", ARG)
		LOCALS = 將可愛的尻部的線條勾畫出來的T字褲
	ELSEIF CHECK_PANTIES("低腰", ARG)
		LOCALS = 在大腿上側用淺色橡膠套緊的低腰褲
	ELSEIF CHECK_PANTIES("透明胖次", ARG)
		IF RAND:3 == 0
			LOCALS = 隐约露出%CALLNAME:ARG%的%TEXTR("下腹部/臀部")%的内衣
		ELSEIF RAND:2 == 0
			LOCALS = 大膽地透明質地的內衣
		ELSE
			LOCALS = 氣氛淫靡、能看的通透的內褲
		ENDIF
	ELSEIF CHECK_PANTIES("高開衩布鲁马", ARG)
		LOCALS = %TEXTR("突显柔软恥丘的/讓能被一覽無遺的腹股沟更加引人注意的/潇洒精致的/深深切入股間的")%高開衩布鲁马
	ELSEIF CHECK_PANTIES("高開衩胖次", ARG)
		LOCALS = %TEXTR("將柔軟的恥丘明顯的凸顯出來的/讓能被一覽無遺的鼠蹊部更加引人注意的/讓美麗的身體更加誘人的/深深切入股間的")%高衩內褲
	ELSEIF CHECK_PANTIES("皮革胖次", ARG)
		LOCALS = 在股間附有隱蔽的拉鏈的、緊繃的皮革高衩內褲
	ELSEIF CHECK_PANTIES("超低腰", ARG)
		SELECTCASE COND("陰毛", ARG)
		CASE 1, 2
			LOCALS = 剝殼雞蛋一樣光潔的恥丘
		CASE 3
			LOCALS = 被完全剔除陰毛的恥丘
		CASE 4
			IF CONDS("陰毛", ARG) == "剃过留痕"
				LOCALS = 生長著微小毛茬的恥丘
			ELSE
				LOCALS = 稍微生长了的陰毛
			ENDIF
		CASE 5
			IF CEVENT("陰毛の名称", ARG) && RAND:2
				LOCALS = 被整齊修剪成%CEVENTS("陰毛の名称", ARG)%的陰毛
			ELSE
				LOCALS = 被漂亮的整理過的陰毛
			ENDIF
		CASE IS >= 6
			LOCALS = 十分茂密的陰毛
		ENDSELECT
		IF LOCALS != ""
			IF RAND:3 == 0
				LOCALS = 就像是將%LOCALS%特意展示出來一樣的設計
			ELSEIF RAND:2
				IF AGE(ARG) >= 3
					LOCALS = %LOCALS%姑且不論、甚至于被包裹的小小陰蒂也能看見
				ELSE
					LOCALS = %LOCALS%姑且不論、甚至于縱筋的上端也能看見
				ENDIF
			ELSE
				LOCALS = %LOCALS%\@ ABL:ARG:露出癖 >= 3 ? 正以最為適合展示的姿態被 # 清楚地彰顯著 \@
			ENDIF
		ELSE
			LOCALS = 股間的布料異常的薄的
		ENDIF
		LOCALS = %LOCALS%低腰胖次
	ELSEIF CHECK_PANTIES("正面蝴蝶結", ARG)
		LOCALS = %TEXTR("被小小的蝴蝶結玩笑似的點綴著的/在前方附著小小的蝴蝶結的/附著可愛的蝴蝶結的")%%CLOCOLOR(CSTR:ARG:胖次, "形容詞")%%TYPE_PANTU%
	ELSEIF CHECK_PANTIES("简约", ARG)
		LOCALS = 装飾感較低的%CLOCOLOR(CSTR:ARG:胖次, "形容詞")%%TYPE_PANTU%
	ELSE
		LOCALS = %PANTIES(ARG)%
	ENDIF
ENDSELECT

RETURNF LOCALS

;-------------------------------------------------
;ARGがARGSの胖次を好きor嫌いか格子する
;-------------------------------------------------
@FAV_PANTIES(ARGS, ARG)
#FUNCTION
SIF ARG == 0 && TARGET
	ARG = TARGET
RETURNF STRCOUNT(CSTR:ARG:喜欢的胖次, ARGS)

@DISLIKE_PANTIES(ARGS, ARG)
#FUNCTION
SIF ARG == 0 && TARGET
	ARG = TARGET
RETURNF STRCOUNT(CSTR:ARG:讨厌的胖次, ARGS)

;-------------------------------------------------
;ARGの胖次が条件ARGSを満たすか確認する
;-------------------------------------------------
@CHECK_PANTIES(ARGS, ARG)
#FUNCTION
SIF ARG == 0 && TARGET
	ARG = TARGET
SIF CSTR:ARG:胖次 == ""
	RETURNF 0

SELECTCASE ARGS
CASE "胖次花绳可能"
	SIF STRCOUNTS(CSTR:ARG:胖次, "鬥士胖次", "简约胖次", "四角褲", "四角内褲", "男物", "儿童胖次", "襯褲")
		RETURNF 0
	SIF STRCOUNTS(CSTR:ARG:胖次, "Ｃ胖次", "前貼", "貞操帯", "兜襠布", "葉っぱ", "淚珠泳衣")
		RETURNF 0
	SIF STRCOUNTS(CSTR:ARG:胖次, "带拉链的開", "Ｖ露出", "Ａ露出", "開衩")
		RETURNF 0
	;胖次の色が胖次花绳の対応色に含まれている必要がある
	SIF STRCOUNT(CUSEABLE("胖次花绳"), CLOCOLOR(CSTR:ARG:胖次, "色のみ") )
		RETURNF 1
CASE "下ろせる"
	SIF STRCOUNT(CSTR:ARG:胖次, "下拉半遮")
		RETURNF 0
	SIF STRCOUNTS(CSTR:ARG:胖次, "鬥士胖次", "简约胖次", "四角褲", "四角内褲")
		RETURNF 0
	SIF STRCOUNTS(CSTR:ARG:胖次, "Ｃ胖次", "兜襠布", "貞操帯", "前貼", "Ｖ露出", "Micro")
		RETURNF 0
	SIF STRCOUNTS(CSTR:ARG:胖次, "布鲁马", "繩系胖次")
		RETURNF 0
	;胖次の色が超低腰の持ち色に含まれている必要がある
	SIF STRCOUNT(CUSEABLE("超低腰胖次"), CLOCOLOR(CSTR:ARG:胖次) )
		RETURNF 1

CASE "紐比基尼"
	SIF CHECK_PANTIES("比基尼", ARG) && CHECK_PANTIES("繩系胖次", ARG)
		RETURNF 1
CASE "Ｔ字褲比基尼"
	SIF CHECK_PANTIES("比基尼", ARG) && CHECK_PANTIES("Ｔ字褲", ARG)
		RETURNF 1
CASE "はみ胖次可能"
	SIF STRCOUNTS(CSTR:ARG:胖次, "高開衩", "Ｔ字褲", "Ｃ胖次", "Micro", "前貼", "貞操帯")
		RETURNF 0
	RETURNF 1
CASE "半脱ぎ時太もも保持可能"
	SIF STRCOUNTS(CSTR:ARG:胖次, "Ｃ胖次", "兜襠布", "貞操帯", "前貼")
		RETURNF 0
	RETURNF 1
CASE "ワイド開洞"
	SIF STRCOUNTS(CSTR:ARG:胖次, "鬥士胖次", "简约胖次", "四角褲", "四角内褲")
		RETURNF 1
;主に"阴部のチラ見せ撮影"の判定で使う
CASE "めくり可能"
	;男物胖次は股間の布地が横幅有過ぎてめくれない
	SIF STRCOUNTS(CSTR:ARG:胖次, "鬥士胖次", "简约胖次", "四角褲", "四角内褲")
		RETURNF 0
	;めくれなさそうなもの
	SIF STRCOUNTS(CSTR:ARG:胖次, "Ｃ胖次", "兜襠布", "貞操帯", "前貼", "Ｖ露出")
		RETURNF 0
	RETURNF 1
;不可移開でなく、ずらしていない
CASE "ずらし可", "可以移開"
	IF STRCOUNTS(CSTR:ARG:胖次, "带拉链的")
		SIF STRCOUNTS(CSTR:ARG:胖次, "带拉链的開")
			RETURNF 0
		SIF STRCOUNTS(CSTR:ARG:胖次, "带拉链的閉")
			RETURNF 1
	ENDIF
	SIF STRCOUNTS(CSTR:ARG:胖次, "移開的")
		RETURNF 0
	SIF STRCOUNTS(CSTR:ARG:胖次, "不可移開")
		RETURNF 0
	RETURNF 1
;带拉链的が有、あけていない
CASE "带拉链的閉"
	SIF STRCOUNTS(CSTR:ARG:胖次, "带拉链的開")
		RETURNF 0
	SIF STRCOUNTS(CSTR:ARG:胖次, "带拉链的")
		RETURNF 1
CASE "開放型開洞"
	SIF STRCOUNT(CSTR:ARG:胖次, ARGS)
		RETURNF 1
	SIF STRCOUNT(CSTR:ARG:胖次, "Ｖ露出") && STRCOUNT(CSTR:ARG:胖次, "Ａ露出")
		RETURNF 1
CASE "ＶＡ露出"
	SIF STRCOUNT(CSTR:ARG:胖次, "Ｖ露出") && STRCOUNT(CSTR:ARG:胖次, "Ａ露出")
		RETURNF 1
CASE "Ａのみ露出"
	SIF STRCOUNT(CSTR:ARG:胖次, "Ｖ露出") == 0 && STRCOUNT(CSTR:ARG:胖次, "Ａ露出")
		RETURNF 1
CASE "開洞", "Ｖ開洞", "尿開洞"
	SIF STRCOUNTS(CSTR:ARG:胖次, "带拉链的開", "移開的", "破開的", "Ｖ露出", "開衩")
		RETURNF 0
	RETURNF 1
CASE "Ａ開洞"
	SIF STRCOUNTS(CSTR:ARG:胖次, "带拉链的開", "移開的", "破開的", "Ａ露出", "開衩")
		RETURNF 0
	RETURNF 1
CASE "勒紧的"
	SIF STRCOUNTS(CSTR:ARG:胖次, "移開的", "带拉链的開", "Ｖ露出", "開衩", "破開的")
		RETURNF 0
	SIF STRCOUNTS(CSTR:ARG:胖次, "高開衩", "淚珠泳衣", "Micro")
		RETURNF 1
CASE "Ｈ"
	SIF STRCOUNTS(CSTR:ARG:胖次, "Ｈ", "透明", "高開衩", "Ｔ字褲", "带拉链的", "開衩", "開放型", "後開型")
		RETURNF 1
CASE "性感"
	SIF STRCOUNTS(CSTR:ARG:胖次, "Ｈ", "透明", "高開衩", "Ｔ字褲", "带拉链的", "開衩")
		RETURNF 1
	SIF STRCOUNTS(CSTR:ARG:胖次, "ストリング", "Micro", "Ｖ露出", "Ａ露出")
		RETURNF 1
CASE "Micro"
	SIF STRCOUNT(CSTR:ARG:胖次, "Micro")
		RETURNF 1
	SIF STRCOUNT(CSTR:ARG:胖次, "高開衩") && STRCOUNT(CSTR:ARG:胖次, "Ｔ字褲") && STRCOUNT(CSTR:ARG:胖次, "超低腰")
		RETURNF 1
CASE "闷热的"
	SIF STRCOUNTS(CSTR:ARG:胖次, "移開的", "带拉链的開", "Ｖ露出", "開衩", "破開的")
		RETURNF 0
	SIF CHECK_STAIN(STAIN:ARG:胖次, "闷热的")
		RETURNF 1
CASE "湿的"
	SIF STRCOUNTS(CSTR:ARG:胖次, "移開的", "带拉链的開", "Ｖ露出", "開衩", "破開的", "通気性没有")
		RETURNF 0
	SIF CHECK_STAIN(STAIN:ARG:胖次, "湿的")
		RETURNF 1
CASE "男物"
	SIF STRCOUNTS(CSTR:ARG:胖次, "鬥士胖次", "简约胖次", "四角褲")
		RETURNF 1
CASEELSE
	SIF STRCOUNT(CSTR:ARG:胖次, ARGS)
		RETURNF 1
ENDSELECT
RETURNF 0


code:
;-------------------------------------------------
;角色ARGに胸罩ARGSを着せる。ARGS == ""なら脱がす
;-------------------------------------------------
@SET_BRA, ARGS, ARG
#DIMS MEMO_CLO
SIF ARG == 0 && TARGET > 0
	ARG = TARGET
MEMO_CLO = %CSTR:ARG:胸罩%
CALL PALAM_BRA, ARGS, ARG

;コモンフラグを設定する
CSTR:ARG:胖次 = %SET_CLO_COMMON(CSTR:ARG:胖次, ARG)%
CSTR:ARG:胸罩 = %SET_CLO_COMMON(CSTR:ARG:胸罩, ARG)%

EQUIP:ARG:胸罩 = STRLENS(CSTR:ARG:胸罩)
EQUIP:ARG:胖次 = STRLENS(CSTR:ARG:胖次)

;胖次と色を揃える
CALL EQ_CLOCOLOR, ARG

;贴身制服は脱がす
SIF EQUIP:ARG:胸罩 && EQUIP:ARG:贴身制服
	CALL SET_BODYS, "", ARG
SIF MEMO_CLO != CSTR:ARG:胸罩
	TFLAG:着替えた = 1

;-------------------------------------------------
;ARGの付けている胸罩の名前。ARGSに"略"と入れると略称になる
;-------------------------------------------------
@BRA(ARG, ARGS)
#FUNCTIONS
#DIMS COLOR_ABOUT

VARSET LOCALS
SELECTCASE ARGS
CASE "略"
	IF CHECK_BRA("貝殻", ARG)
		LOCALS = 貝殻胸罩
	ELSEIF CHECK_BRA("拘束衣", ARG)
		LOCALS = 拘束衣胸罩
	ELSEIF CHECK_BRA("帷子", ARG)
		LOCALS = 帷子
	ELSEIF CHECK_BRA("前掛け", ARG)
		LOCALS = 前掛け
	ELSEIF CHECK_BRA("吊帯背心", ARG)
		LOCALS = 吊帯背心
	;ELSEIF CHECK_BRA("Micro", ARG)
	;	LOCALS = Micro胸罩
	ELSEIF CHECK_BRA("泳装", ARG)
		IF CHECK_BRA("Micro", ARG)
			LOCALS = Micro比基尼
		ELSE
			LOCALS = 比基尼
		ENDIF
	ELSEIF CHECK_BRA("吊帯衫", ARG)
		LOCALS = 吊帯衫
	ELSEIF CHECK_BRA("抹胸", ARG)
		LOCALS = 抹胸
	ELSEIF CHECK_BRA("胸垫", ARG)
		LOCALS = 胸垫
	ELSEIF CHECK_BRA("裹胸布", ARG)
		LOCALS = 裹胸布
	ELSEIF CHECK_BRA("運動胸罩", ARG)
		LOCALS = スポ胸罩
	ELSEIF CHECK_BRA("乳贴", ARG)
		LOCALS = 乳贴
	ELSE
		LOCALS = 文胸
	ENDIF
CASE "種類"
	;LOCALSに名称が入る
	SPLIT CSTR:ARG:胸罩, "/", LOCALS
CASE "大体の形状"
	IF CHECK_BRA("三明治リヨン", ARG)
		LOCALS = 褶边吊罩
	ELSEIF CHECK_BRA("拘束衣", ARG)
		LOCALS = 拘束衣胸罩
	ELSEIF CHECK_BRA("３／４杯", ARG)
		LOCALS = ３／４杯胸罩
	ELSEIF CHECK_BRA("半杯", ARG)
		LOCALS = 半杯胸罩
	ELSEIF CHECK_BRA("１／４杯胸罩", ARG)
		LOCALS = １／４杯胸罩
	ELSEIF CHECK_BRA("褶边比基尼", ARG)
		LOCALS = 褶边比基尼胸罩
	ELSEIF CHECK_BRA("Micro比基尼", ARG)
		LOCALS = Micro比基尼
	ELSEIF CHECK_BRA("比基尼", ARG)
		LOCALS = 比基尼胸罩
	ELSEIF CHECK_BRA("抹胸", ARG)
		LOCALS = 抹胸
	ELSEIF CHECK_BRA("吊帯背心", ARG)
		LOCALS = 吊帯背心
	ELSEIF CHECK_BRA("運動胸罩", ARG)
		LOCALS = 運動胸罩
	ELSEIF CHECK_BRA("胸垫", ARG)
		LOCALS = 胸垫
	ELSEIF CHECK_BRA("開放型胸罩", ARG)
		LOCALS = 開放型胸罩
	ELSEIF CHECK_BRA("Micro胸罩", ARG)
		LOCALS = Micro胸罩
	ELSEIF CHECK_BRA("蕾丝", ARG)
		LOCALS = 蕾丝胸罩ジャー
	ELSEIF CHECK_BRA("褶边", ARG)
		LOCALS = 褶边の文胸
	ELSEIF CHECK_BRA("裹胸布", ARG)
		LOCALS = 裹胸布
	ELSEIF CHECK_BRA("吊帯衫", ARG)
		LOCALS = 吊帯衫
	ELSE
		LOCALS = 普通胸罩
	ENDIF
CASE ""
	;LOCALSに名称が入る
	SPLIT CSTR:ARG:胸罩, "/", LOCALS
	COLOR_ABOUT = %CHECK_CLOCOLOR(CSTR:ARG:胸罩)%

	;名称と色が被ってる場合は省略
	IF STRCOUNT(LOCALS, COLOR_ABOUT)
		RETURNF LOCALS
	;一部の柄物
	ELSEIF STRCOUNTS(CSTR:ARG:胸罩, "條紋", "水玉模様", "豹纹")
		SELECTCASE COLOR_ABOUT
		CASE ""
		CASE "赤", "青", "黒", "白"
			LOCALS = %COLOR_ABOUT%い%LOCALS%
		CASE "水玉粉紅", "水玉黒", "水玉黄色", "水玉水色", "水玉白黒", "水玉白"
			LOCALS = %EXTSTR(COLOR_ABOUT, "水玉")%の%LOCALS%
		CASEELSE
			LOCALS = %COLOR_ABOUT%の%LOCALS%
		ENDSELECT
	ELSE
		LOCALS = %CLOCOLOR(CSTR:ARG:胸罩, "形容詞")%%LOCALS%
	ENDIF

ENDSELECT
RETURNF LOCALS

;-------------------------------------------------
;ARG番の胸罩の名称。換装などで表を作る際に使う
;-------------------------------------------------
@NAME_BRA(ARG)
#FUNCTIONS
VARSET LOCALS

SELECTCASE ARG
CASE 0
	LOCALS = 简约胸罩
CASE 1
	LOCALS = 满杯胸罩
CASE 2
	LOCALS = ３／４杯胸罩
CASE 3
	LOCALS = 半杯胸罩
CASE 4
	LOCALS = １／４杯胸罩
CASE 5
	LOCALS = 抹胸
CASE 6
	LOCALS = 吊帯背心
CASE 7
	LOCALS = 運動胸罩
CASE 8
	LOCALS = 胸垫
CASE 9
	LOCALS = 開放型胸罩
CASE 10
	LOCALS = Micro胸罩
CASE 11
	LOCALS = 吊帯衫
CASE 12
	LOCALS = 褶边吊罩

CASE 15
	LOCALS = 條紋胸罩

CASE 20
	LOCALS = 蕾丝胸罩
CASE 21
	LOCALS = 透明胸罩
CASE 22
	LOCALS = 褶边の胸罩
CASE 23
	LOCALS = 皮革胸罩
CASE 24
	LOCALS = 猫型胸罩
CASE 25
	LOCALS = 裹胸布

CASE 30
	LOCALS = 比基尼胸罩
CASE 31
	LOCALS = Micro比基尼胸罩

CASE 39
	LOCALS = Ｈ的胸罩

CASE 40
	LOCALS = 心形乳貼
CASE 41
	LOCALS = 圆形乳贴
CASE 42
	LOCALS = ×型乳贴
CASE 43
	LOCALS = 星型乳贴
ENDSELECT

RETURNF LOCALS

;-------------------------------------------------
;角色ARGに胸罩ARGSを着せた場合のCSTR処理
;名前/色/属性/…/属性/ というルールで記述される(一番左は名前、次は色で固定)
;後で属性を追加したい際には CSTR:胸罩 += "泳装/" のように単純に追加すればよい。同じ属性が複数あっても問題ない
;-------------------------------------------------
@PALAM_BRA, ARGS, ARG
;追加で記述された属性を一時的に保管する
#DIMS STR_ADD

SIF ARG == 0 && TARGET > 0
	ARG = TARGET

STR_ADD = %EXTSTR(ARGS, "/")%
ARGS = %EXTSTR(ARGS, "", "/")%

;Ｈ的内衣に関しては最初に別のものに変換してしまう
SELECTCASE ARGS
CASE "Ｈ的胸罩"
	ARGS = %TEXTR("半杯胸罩/１／４杯胸罩/開放型胸罩/Micro胸罩/蕾丝胸罩")%
	STR_ADD += "/Ｈ的颜色/"
ENDSELECT

SELECTCASE ARGS
CASE "", "无胸罩", "没有"
	CSTR:ARG:胸罩 =
CASE "简约胸罩"
	CSTR:ARG:胸罩 = 简约胸罩/淡色/满杯/
CASE "文胸"
	CSTR:ARG:胸罩 = 文胸/淡色/满杯/
CASE "满杯胸罩"
	CSTR:ARG:胸罩 = 满杯胸罩/淡色/
CASE "３／４杯胸罩"
	CSTR:ARG:胸罩 = ３／４杯胸罩/淡色/
CASE "半杯胸罩"
	CSTR:ARG:胸罩 = 半杯胸罩/Ｈ的颜色/
CASE "１／４杯胸罩"
	CSTR:ARG:胸罩 = １／４杯胸罩/Ｈ的颜色/乳頭露出/乳房露出/
CASE "抹胸"
	CSTR:ARG:胸罩 = 抹胸/淡色/
CASE "吊帯背心"
	CSTR:ARG:胸罩 = 吊帯背心/淡色/
CASE "運動胸罩"
	CSTR:ARG:胸罩 = 運動胸罩/淡色/
CASE "胸垫"
	CSTR:ARG:胸罩 = 胸垫/隨機顏色/
CASE "開放型胸罩"
	CSTR:ARG:胸罩 = 開放型胸罩/Ｈ的颜色/乳頭露出/满杯/
CASE "Micro胸罩"
	CSTR:ARG:胸罩 = Micro胸罩/隨機顏色/

CASE "條紋胸罩"
	CSTR:ARG:胸罩 = 條紋胸罩/條紋色/满杯/

CASE "褶边吊罩"
	CSTR:ARG:胸罩 = 褶边吊罩/淡色/褶边/蕾丝情趣内衣/
CASE "蕾丝胸罩"
	CSTR:ARG:胸罩 = 蕾丝胸罩/Ｈ的颜色/透明/蕾丝情趣内衣/
CASE "透明胸罩"
	CSTR:ARG:胸罩 = 透明胸罩/淡色/蕾丝情趣内衣/
CASE "褶边の胸罩"
	CSTR:ARG:胸罩 = 褶边の胸罩/淡色/蕾丝情趣内衣/
CASE "皮革胸罩"
	CSTR:ARG:胸罩 = 皮革胸罩/黒/
CASE "拘束衣胸罩"
	CSTR:ARG:胸罩 = 拘束衣胸罩/黒/皮革/谷間露出/
CASE "紐拘束衣胸罩"
	CSTR:ARG:胸罩 = 紐拘束衣胸罩/黒/皮革/谷間露出/乳頭露出/乳房露出/

CASE "比基尼胸罩"
	CSTR:ARG:胸罩 = 比基尼胸罩/隨機顏色/紐/满杯/
CASE "褶边比基尼胸罩"
	CSTR:ARG:胸罩 = 褶边比基尼胸罩/隨機顏色/紐/
CASE "Micro比基尼胸罩"
	CSTR:ARG:胸罩 = Micro比基尼胸罩/隨機顏色/紐/

;特殊
CASE "裹胸布"
	CSTR:ARG:胸罩 = 裹胸布/白/
CASE "吊帯衫"
	CSTR:ARG:胸罩 = 吊帯衫/淡色/蕾丝情趣内衣/

CASE "心形乳貼"
	CSTR:ARG:胸罩 = 心形乳貼/隨機顏色/
CASE "圆形乳贴"
	CSTR:ARG:胸罩 = 圆形乳贴/隨機顏色/
CASE "×型乳贴"
	CSTR:ARG:胸罩 = ×型乳贴/隨機顏色/
CASE "星型乳贴"
	CSTR:ARG:胸罩 = 星型乳贴/隨機顏色/

CASE "白色比基尼胸罩"
	CSTR:ARG:胸罩 = 白色比基尼胸罩/白/紐/满杯/
CASE "黑色比基尼胸罩"
	CSTR:ARG:胸罩 = 黑色比基尼胸罩/黒/紐/满杯/
CASE "虎紋比基尼胸罩"
	CSTR:ARG:胸罩 = 虎紋比基尼胸罩/虎紋/紐/
CASE "奶牛比基尼胸罩"
	CSTR:ARG:胸罩 = 奶牛比基尼胸罩/奶牛/紐/

CASE "猫型胸罩"
	CSTR:ARG:胸罩 = 猫型胸罩/黒/紐/蕾丝情趣内衣/
CASEELSE
	CSTR:ARG:胸罩 = %ARGS%/隨機顏色/
ENDSELECT

CSTR:ARG:胸罩 = %MERGE_STR(CSTR:ARG:胸罩, STR_ADD)%

;-------------------------------------------------
;ARGの着けている胸罩の詳細
;-------------------------------------------------
@DETAIL_BRA(ARG, ARGS)
#FUNCTIONS

SIF ARG == 0 && TARGET
	ARG = TARGET

VARSET LOCALS
SELECTCASE ARGS
;触っただけで類推する場合
CASE "感触"

CASEELSE
	;Ｈ的内衣
	IF CHECK_BRA("Ｈ的胸罩", ARG)
		LOCALS = 洋溢著情色氣息的
		IF CHECK_BRA("透明", ARG)
			LOCALS += "透明素材的"
		ELSEIF CHECK_BRA("蕾丝", ARG)
			LOCALS += "帶著彩色的蕾絲花邊的"
		ELSEIF CHECK_BRA("絲綢", ARG)
			LOCALS += "輕薄的絲制的"
		ENDIF
		IF CHECK_BRA("開放型胸罩", ARG)
			LOCALS += "興奮勃起的乳頭周圍、完全暴露出來的文胸(？)"
		ELSEIF CHECK_BRA("１／４杯胸罩", ARG)
			LOCALS += "一直到乳房的下端都一覽無遺的文胸(？)"
		ELSEIF CHECK_BRA("Micro", ARG)
			LOCALS += "布料麵積異常的少的文胸"
		ELSEIF CHECK_BRA("半杯", ARG)
			LOCALS += "能看見一半乳暈、几乎是靠乳頭抵住上端的文胸"
		ELSE
			LOCALS += "文胸"
		ENDIF

	ELSEIF CHECK_BRA("Micro比基尼", ARG)
		IF RAND:2
			LOCALS = 用碎布來形容會更恰當一些的、用料非常緊張的比基尼
		ELSE
			LOCALS = 幾乎只蓋住勃起的乳頭的、重要的地方完全沒有被遮掩的用料極少的泳衣
		ENDIF

	ELSEIF CHECK_BRA("比基尼", ARG)
		LOCALS = 風格大膽的比基尼泳衣式的文胸
	ELSEIF CHECK_BRA("開放型胸罩", ARG)
		LOCALS = 乳頭週邊完全沒有被隱藏起來的文胸
	ELSEIF CHECK_BRA("吊帯背心", ARG)
		LOCALS = 適合運動的吊帶背心
	ELSEIF CHECK_BRA("運動胸罩", ARG)
		LOCALS = 能有效地防止胸部搖晃的運動文胸
	ELSEIF CHECK_BRA("裹胸布", ARG)
		LOCALS = 恰好將整個胸部包裹住的熱情的抹胸
	ELSEIF CHECK_BRA("吊帯衫", ARG)
		LOCALS = 可愛風格的吊帶式文胸
	ELSEIF CHECK_BRA("乳贴", ARG)
		LOCALS = 乳頭だけを隠すように貼られた
		IF CHECK_BRA("心型")
			LOCALS += "心型の"
		ELSEIF CHECK_BRA("丸型")
			LOCALS += "丸い"
		ELSEIF CHECK_BRA("×型")
			LOCALS += "叉叉印の"
		ELSEIF CHECK_BRA("星型")
			LOCALS += "星型の"
		ENDIF
		LOCALS += "乳贴"

	ELSEIF CHECK_BRA("條紋", ARG)
		LOCALS = 保守主義式的樸素橫條紋文胸
	ELSEIF CHECK_BRA("水玉模様", ARG)
		LOCALS = 可愛的水玉様式的%TEXTR("胸罩/内衣")%
	ELSEIF CHECK_BRA("豹纹胸罩", ARG)
		SELECTCASE AGE(ARG)
		CASE IS >= 4
			LOCALS = %TEXTR("風格性感的/洋溢著情色氣息的/飄蕩著成熟氣息的")%
		CASE 3
			LOCALS = %TEXTR("風格性感的/帶著挑起慾望的暗示的/作為辣妹這一群體的象徵物一樣的")%
		CASE 2
			LOCALS = %TEXTR("具備成熟風韻的/帶著微妙可愛感的/帶著挑起慾望的暗示的/")%
		CASE 1
			LOCALS = %TEXTR("與現在的氣氛十分相稱的/帶著微妙可愛感的/帶著挑起慾望的暗示的")%
		ENDSELECT
		LOCALS += "豹纹胸罩"

	ELSEIF CHECK_BRA("皮革", ARG)
		LOCALS = 散發著奇妙的氛圍的、黑色的皮革文胸

	ELSEIF CHECK_BRA("蕾丝胸罩", ARG)
		IF RAND:4 == 0
			LOCALS = 彰顯女性魅力的%CLOCOLOR(CSTR:胸罩, "形容詞")%蕾絲質地的文胸
		ELSEIF RAND:3 == 0
			LOCALS = 飄蕩著成熟氣息的%CLOCOLOR(CSTR:ARG:胸罩, "形容詞")%蕾絲花邊胸罩
		ELSEIF RAND:2
			LOCALS = 風格典雅的美麗的蕾絲質地的胸罩
		ELSE
			LOCALS = 具備成熟風韻而不失可愛的蕾絲花邊胸罩
		ENDIF
	ELSEIF CHECK_BRA("褶边の胸罩", ARG)
		LOCALS = 被%TEXTR("可愛的/清純的")%褶皺%TEXTR("装飾著的/點綴著邊緣的")%文胸
	ELSEIF CHECK_BRA("透明胸罩", ARG)
		IF RAND:2 == 0
			LOCALS = 風格大膽的透明材質的文胸
		ELSE
			LOCALS = 洋溢著淫靡氛圍的透明的胸罩
		ENDIF

	ELSEIF CHECK_BRA("半杯", ARG)
		LOCALS = 能看見一半乳暈、几乎是靠乳頭抵住上端的%CLOCOLOR(CSTR:ARG:胸罩, "形容詞")%文胸
	ELSEIF CHECK_BRA("１／４杯", ARG)
		LOCALS = 一直到乳房的下端都一覽無遺的文胸
	ELSEIF CHECK_BRA("胸垫", ARG)
		LOCALS = 連肩帶和吊繩也沒有的、清楚地勾勒出胸部輪廓的胸罩
	ELSEIF CHECK_BRA("抹胸", ARG)
		LOCALS = 恰好遮住胸膛的抹胸
	ELSEIF CHECK_BRA("简约", ARG)
		LOCALS = 装飾感較低的%CLOCOLOR(CSTR:胸罩, "形容詞")%文胸
	ELSE
		LOCALS = %BRA(ARG)%
	ENDIF
ENDSELECT

RETURNF LOCALS

;-------------------------------------------------
;ARGが胸罩ARGSを好きor嫌いか格子する
;-------------------------------------------------
@FAV_BRA(ARGS, ARG)
#FUNCTION
SIF ARG == 0 && TARGET
	ARG = TARGET
RETURNF STRCOUNT(CSTR:ARG:喜欢的胸罩, ARGS)

@DISLIKE_BRA(ARGS, ARG)
#FUNCTION
SIF ARG == 0 && TARGET
	ARG = TARGET
RETURNF STRCOUNT(CSTR:ARG:讨厌的胸罩, ARGS)

;-------------------------------------------------
;ARGの胸罩が条件ARGSを満たすか確認する
;-------------------------------------------------
@CHECK_BRA(ARGS, ARG)
#FUNCTION
SIF ARG == 0 && TARGET
	ARG = TARGET
SIF EQUIP:ARG:胸罩 == 0
	RETURNF 0

SELECTCASE ARGS
CASE "半脱可"
	;既に露出している場合
	SIF STRCOUNTS(CSTR:ARG:胸罩, "胸露出", "乳頭露出", "半脱的", "半脱不可")
		RETURNF 0
	RETURNF 1
CASE "乳頭露出"
	SIF STRCOUNTS(CSTR:ARG:胸罩, "胸露出", "乳頭露出")
		RETURNF 1
CASE "乳輪露出"
	SIF STRCOUNTS(CSTR:ARG:胸罩, "胸露出", "乳頭露出", "乳輪露出")
		RETURNF 1
CASE "性感"
	SIF STRCOUNTS(CSTR:ARG:胸罩, "胸露出", "乳頭露出", "乳輪露出", "Micro")
		RETURNF 1
CASE "見栄え良し"
	SIF STRCOUNTS(CSTR:ARG:胸罩, "蕾丝", "透明", "褶边")
		RETURNF 1
CASEELSE
	SIF STRCOUNT(CSTR:ARG:胸罩, ARGS)
		RETURNF 1
ENDSELECT

RETURNF 0

;-------------------------------------------------
;角色ARGが今身に着けている胖次にふさわしい胸罩を（あれば）選ぶ
;-------------------------------------------------
@COORDINATE_BRA, ARG
;男物だと変更无
IF CHECK_PANTIES("男物", ARG)
	;胖次と色を揃える
	CALL EQ_CLOCOLOR, ARG
ELSEIF CHECK_PANTIES("Ｈ的内衣", ARG)
	CALL SET_BRA, "Ｈ的胸罩", ARG
ELSEIF CHECK_PANTIES("開放型開洞", ARG)
	CALL SET_BRA, "開放型胸罩", ARG
ELSEIF CHECK_PANTIES("兜襠布", ARG)
	CALL SET_BRA, "裹胸布", ARG
ELSEIF CHECK_PANTIES("Micro比基尼", ARG)
	CALL SET_BRA, "Micro比基尼胸罩", ARG
ELSEIF CHECK_PANTIES("比基尼", ARG)
	CALL SET_BRA, "比基尼胸罩", ARG

ELSEIF CHECK_PANTIES("條紋", ARG)
	CALL SET_BRA, "條紋胸罩", ARG

ELSEIF CHECK_PANTIES("蕾丝", ARG)
	CALL SET_BRA, "蕾丝胸罩", ARG
ELSEIF CHECK_PANTIES("透明", ARG)
	CALL SET_BRA, "透明胸罩", ARG
ELSEIF CHECK_PANTIES("褶边", ARG)
	CALL SET_BRA, "褶边の胸罩", ARG
ELSEIF CHECK_PANTIES("皮革", ARG)
	CALL SET_BRA, "皮革胸罩", ARG
ELSE
	;胖次と色を揃える
	CALL EQ_CLOCOLOR, ARG
ENDIF


code:
;-------------------------------------------------
;角色ARGに服ARGSを着せる。ARGS == ""なら脱がす
;連衣裙属性を持つ服は裙も同時に設定する
;-------------------------------------------------
@SET_SHIRT, ARGS, ARG
#DIMS MEMO_CLO
;追加で記述された属性を一時的に保管する
#DIMS STR_ADD

SIF ARG == 0 && TARGET > 0
	ARG = TARGET
MEMO_CLO = %CSTR:ARG:服%
;汚れ＆移開たりしたフラグ等を初期化して新品にする
STAIN:ARG:服 = 0

CALL PALAM_SHIRT, ARGS, ARG

;コモンフラグを設定する
CSTR:ARG:服 = %SET_CLO_COMMON(CSTR:ARG:服, ARG)%
EQUIP:ARG:服 = STRLENS(CSTR:ARG:服)

;裙もセット？
IF CHECK_SHIRT("連衣裙", ARG)
	;ワンピは裙に服の名称を加える
	CSTR:ARG:裙 += @"%SHIRT(ARG, "種類")%/"

	STR_ADD = %EXTSTR(ARGS, "/")%
	CSTR:ARG:裙 = %MERGE_STR(CSTR:ARG:裙, STR_ADD)%

	CSTR:ARG:裙 = %SET_CLO_COMMON(CSTR:ARG:裙, ARG)%
	EQUIP:ARG:裙 = STRLENS(CSTR:ARG:裙)

;服が連衣裙じゃない場合に裙が連衣裙なのは脱がせ忘れなので、裙を脱がす
ELSEIF CHECK_SHIRT("連衣裙", ARG) == 0 && CHECK_SKIRT("連衣裙", ARG)
	CALL SET_SKIRT, "", ARG
ENDIF
SIF MEMO_CLO != CSTR:ARG:服
	TFLAG:着替えた = 1

;-------------------------------------------------
;ARGの恤の名前。ARGSに"略"と入れると略称になる
;-------------------------------------------------
@SHIRT(ARG, ARGS)
#FUNCTIONS
#DIMS CIPTYPE

VARSET LOCALS
SELECTCASE ARGS
CASE "CIP正面衣领颜色"
	IF CHECK_OTHER("前開V领毛衣", ARG)
		LOCALS = V领毛衣前開
		IF SKIRT(ARG, "CIP正面") != ""
			IF CHECK_SKIRT("荷葉邊", ARG)
				RETURNF ""
			ELSEIF CFLAG:ARG:掀起裙子 == 0

			ELSE
				LOCALS += "裙"
			ENDIF
		ENDIF
	ENDIF
CASE "CIP正面"
	;連衣裙は裙の方で管理する
	IF CHECK_SHIRT("連衣裙", ARG) && EQUIP:ARG:裙
		RETURNF ""

	;以下はワンピでない服
	ELSEIF CHECK_SHIRT("縦毛衣", ARG)
		RETURNF "縦毛衣"
	ELSEIF CHECK_SHIRT("毛衣", ARG) && CHECK_SHIRT("提起裙角", ARG)
		LOCALS = 長毛衣
		IF SKIRT(ARG, "CIP正面") != ""
			IF CHECK_SKIRT("荷葉邊", ARG)
				RETURNF ""
			ELSEIF CFLAG:ARG:掀起裙子 == 0

			ELSE
				RETURNF ""
			ENDIF
		ENDIF
	ELSEIF CHECK_SHIRT("吊帯衫", ARG)
		SIF CHECK_SHIRT("露脐", ARG)
			RETURNF ""
		LOCALS = 吊帯衫
		IF SKIRT(ARG, "CIP正面") != ""
			;IF CHECK_SKIRT("荷葉邊", ARG)
			;	RETURNF ""
			IF CFLAG:ARG:掀起裙子 == 0

			ELSE
				LOCALS += "捲り"
			ENDIF
		ENDIF
	ELSEIF CHECK_SHIRT("吊帯背心", ARG)
		SIF CHECK_SHIRT("露脐", ARG)
			RETURNF ""
		LOCALS = 吊帯背心
		IF SKIRT(ARG, "CIP正面") != ""
			;IF CHECK_SKIRT("荷葉邊", ARG)
			;	RETURNF ""
			IF CFLAG:ARG:掀起裙子 == 0

			ELSE
				LOCALS += "捲り"
			ENDIF
		ENDIF
	ELSEIF CHECK_SHIRT("V领毛衣", ARG)
		LOCALS = V领毛衣
		IF SKIRT(ARG, "CIP正面") != ""
			IF CHECK_SKIRT("荷葉邊", ARG)
				RETURNF ""
			ELSEIF CFLAG:ARG:掀起裙子 == 0

			ELSE
				LOCALS += "裙"
			ENDIF
		ENDIF
	ELSEIF CHECK_SHIRT("运动衫", ARG)
		SIF CHECK_SHIRT("詰襟", ARG)
			RETURNF ""
		LOCALS = 运动衫
		IF SKIRT(ARG, "CIP正面") != ""
			IF CHECK_SKIRT("荷葉邊", ARG)
				RETURNF ""
			ELSEIF CFLAG:ARG:掀起裙子 == 0
			ELSEIF CHECK_SKIRT("迷你", ARG)
				LOCALS += "露脐装超短裙"
			ELSE
				LOCALS += "裙"
			ENDIF
		ENDIF
	ELSEIF CHECK_SHIRT("西装外衣", ARG)
		LOCALS = 西装外衣
		IF SKIRT(ARG, "CIP正面") != ""
			IF CHECK_SKIRT("荷葉邊", ARG)
				RETURNF ""
			ELSEIF CFLAG:ARG:掀起裙子 == 0
			ELSEIF CHECK_SKIRT("迷你", ARG)
				LOCALS += "露脐装超短裙"
			ELSE
				LOCALS += "裙"
			ENDIF
		ENDIF
	ELSEIF CHECK_SHIRT("Ｔ恤", ARG)
		SIF CHECK_SHIRT("露脐", ARG)
			RETURNF ""

		LOCALS = Ｔ恤
		IF SKIRT(ARG, "CIP正面") != ""
			IF CHECK_SKIRT("荷葉邊", ARG)
				RETURNF ""
			ELSEIF CFLAG:ARG:掀起裙子 == 0
				IF CHECK_SKIRT("迷你", ARG)
					LOCALS += "露脐装超短裙平時"
				ELSE
					LOCALS += "裙平時"
				ENDIF
			ELSEIF CHECK_SKIRT("迷你", ARG)
				LOCALS += "露脐装超短裙"
			ELSE
				LOCALS += "裙"
			ENDIF
		ENDIF
	ELSEIF CHECK_SHIRT("水手", ARG)
		SIF CHECK_SHIRT("超短", ARG)
			RETURNF ""
		LOCALS = 水手
	ELSEIF CHECK_SHIRT("蕾丝女式衬衫")
		RETURNF ""
	ELSEIF CHECK_SHIRT("女式衬衫", ARG) + CHECK_SHIRT("背心", ARG)
		IF CHECK_SHIRT("露脐", ARG)
			LOCALS = 女式衬衫露脐
		;收下摆属性があると裙の中に下摆を入れる
		ELSEIF CHECK_SHIRT("收下摆", ARG) + CHECK_SKIRT("收下摆", ARG) && SKIRT(ARG, "CIP正面") != "" && CHECK_SKIRT("裙", ARG)
			LOCALS = 女式衬衫收下摆
		ELSE
			LOCALS = 女式衬衫
			IF SKIRT(ARG, "CIP正面") != ""
				IF CHECK_SKIRT("荷葉邊", ARG)
					RETURNF ""
				ELSEIF CFLAG:ARG:掀起裙子 == 0
				ELSEIF CHECK_SKIRT("迷你", ARG)
					LOCALS += "露脐装超短裙"
				ELSE
					LOCALS += "裙"
				ENDIF
			ENDIF
		ENDIF
	ELSEIF CHECK_SHIRT("体操服", ARG)
		IF CHECK_SHIRT("露脐", ARG)
			LOCALS = 体操服短
		ELSE
			LOCALS = 体操服
		ENDIF
	ELSE
		RETURNF ""
	ENDIF
CASE "CIP背面"
	RETURNF ""
CASE "CIP正面カラー", "CIP背面カラー"
	SELECTCASE ARGS
	CASE "CIP正面カラー"
		CIPTYPE = CIP正面
	CASE "CIP背面カラー"
		CIPTYPE = CIP背面
	ENDSELECT
	RETURNF CLOCOLOR_MAIDFACE(SHIRT(ARG, CIPTYPE), CHECK_CLOCOLOR(CSTR:ARG:服), ARG)

CASE "柄"
	SIF CHECK_SHIRT("柄：", ARG) == 0
		RETURNF LOCALS
	RETURNF EXTSTR(CSTR:ARG:服, "柄：", "/")
CASE "略"
	IF CHECK_SHIRT("鎧", ARG)
		LOCALS = 鎧
	ELSEIF CHECK_SHIRT("V领毛衣", ARG)
		LOCALS = V领毛衣
	ELSEIF CHECK_SHIRT("露肩夹克", ARG)
		LOCALS = 露肩夹克
	ELSEIF CHECK_SHIRT("夹克", ARG)
		LOCALS = 夹克
	ELSEIF CHECK_SHIRT("毛衣", ARG)
		LOCALS = 毛衣
	ELSEIF CHECK_SHIRT("睡衣", ARG)
		LOCALS = 睡衣
	ELSEIF CHECK_SHIRT("晨衣", ARG)
		LOCALS = 晨衣
	ELSEIF CHECK_SHIRT("情趣内衣", ARG)
		LOCALS = 情趣内衣
	ELSEIF CHECK_SHIRT("紧身胸衣", ARG)
		LOCALS = 紧身胸衣
	ELSEIF CHECK_SHIRT("修道服", ARG)
		LOCALS = 修道服
	;哥特蘿莉礼服と夏日礼服の略称は礼服で良いかも
	;ELSEIF CHECK_SHIRT("哥特蘿莉礼服", ARG)
	;	LOCALS = 哥特蘿莉礼服
	;ELSEIF CHECK_SHIRT("夏日礼服", ARG)
	;	LOCALS = 夏日礼服
	ELSEIF CHECK_SHIRT("礼服", ARG)
		LOCALS = 礼服
	ELSEIF CHECK_SHIRT("巫女服", ARG)
		LOCALS = 巫女服
	ELSEIF CHECK_SHIRT("女式衬衫", ARG)
		LOCALS = 女式衬衫
	ELSEIF CHECK_SHIRT("西装外衣", ARG)
		LOCALS = 西装外衣
	ELSEIF CHECK_SHIRT("背心", ARG)
		LOCALS = 背心
	ELSEIF CHECK_SHIRT("水手", ARG)
		LOCALS = 水手服
	ELSEIF CHECK_SHIRT("旗袍", ARG)
		LOCALS = 旗袍
	ELSEIF CHECK_SHIRT("护士服", ARG)
		LOCALS = 护士服
	ELSEIF CHECK_SHIRT("体操服", ARG)
		LOCALS = 体操服
	ELSEIF CHECK_SHIRT("執事服", ARG)
		LOCALS = 執事服
	ELSEIF CHECK_SHIRT("女仆装", ARG)
		LOCALS = 女仆装
	ELSEIF CHECK_SHIRT("振袖", ARG)
		LOCALS = 振袖
	ELSEIF CHECK_SHIRT("浴衣", ARG)
		LOCALS = 浴衣
	ELSEIF CHECK_SHIRT("和服", ARG)
		LOCALS = 和服
	ELSEIF CHECK_SHIRT("吊帯衫", ARG)
		LOCALS = 吊帯衫
	ELSEIF CHECK_SHIRT("制服", ARG)
		LOCALS = 制服
	ELSEIF CHECK_SHIRT("衬衫", ARG)
		LOCALS = 衬衫
	ELSEIF CHECK_SHIRT("衬衫", ARG)
		LOCALS = 衬衫
	ELSEIF CHECK_SHIRT("Ｔ恤", ARG)
		LOCALS = Ｔ恤
	ELSEIF CHECK_SHIRT("侍者服", ARG)
		LOCALS = 侍者服の制服
	ELSEIF CHECK_SHIRT("运动衫", ARG)
		LOCALS = 运动衫
	ELSEIF CHECK_SHIRT("偶像衣装", ARG)
		LOCALS = 偶像衣装
	ELSEIF CHECK_SHIRT("ローブ", ARG)
		LOCALS = ローブ
	ELSEIF CHECK_SHIRT("聖誕服", ARG)
		LOCALS = 聖誕服
	ELSEIF CHECK_SHIRT("逆兔女郎套装", ARG)
		LOCALS = 逆兔女郎套装
	ELSE
		LOCALS = 服
	ENDIF
CASE "種類"
	;LOCALS:0に名称が入る
	SPLIT CSTR:ARG:服, "/", LOCALS
CASE ""
	;LOCALS:0に名称が入る
	SPLIT CSTR:ARG:服, "/", LOCALS
	RETURNF @"%CLOCOLOR(CSTR:ARG:服, "形容詞")%%LOCALS%"
ENDSELECT
RETURNF LOCALS

;-------------------------------------------------
;ARG番の恤の名称。換装などで表を作る際に使う
;-------------------------------------------------
@NAME_SHIRT(ARG)
#FUNCTIONS
VARSET LOCALS

SELECTCASE ARG
CASE 0
	LOCALS = 女仆装
CASE 1
	LOCALS = 护士服
CASE 2
	LOCALS = 旗袍
CASE 3
	LOCALS = 巫女服
CASE 4
	LOCALS = 婚纱礼服
CASE 5
	LOCALS = 修道服
CASE 6
	LOCALS = 哥特蘿莉礼服
CASE 7
	LOCALS = 情趣内衣
CASE 8
	LOCALS = 和服
CASE 9
	LOCALS = 振袖
CASE 10
	LOCALS = 浴衣
CASE 11
	LOCALS = 皮革夹克
CASE 12
	LOCALS = 水手服
CASE 13
	LOCALS = 西装外衣
CASE 14
	LOCALS = 校服
CASE 15
	LOCALS = 男子西装
CASE 16
	LOCALS = 体操服
CASE 17
	LOCALS = 运动衫
CASE 18
	LOCALS = 女式衬衫
CASE 19
	LOCALS = 領帯女式衬衫
CASE 20
	LOCALS = 无袖女式衬衫
CASE 21
	LOCALS = 宽松女式衬衫
CASE 22
	LOCALS = 褶边女式衬衫
CASE 23
	LOCALS = Ｔ恤
CASE 24
	LOCALS = 怪图案Ｔ恤
CASE 25
	LOCALS = 宽大的Ｔ恤
CASE 26
	LOCALS = 衬衫
CASE 27
	LOCALS = 半開衬衫
CASE 28
	LOCALS = 切驳服
CASE 29
	LOCALS = 后背蝴蝶結切驳服
CASE 30
	LOCALS = 開胸高領毛衣
CASE 31
	LOCALS = 蝴蝶結露肩外衣
CASE 32
	LOCALS = 针织露肩衣
CASE 33
	LOCALS = 针织毛衣
CASE 34
	LOCALS = 露背针织毛衣
CASE 35
	LOCALS = 萌袖毛衣
CASE 36
	LOCALS = 吊帯背心
CASE 37
	LOCALS = 露脐吊帯背心
CASE 38
	LOCALS = 夏日礼服
CASE 39
	LOCALS = 連衣裙
CASE 40
	LOCALS = 洛丽塔連衣裙
CASE 41
	LOCALS = 哥特連衣裙
CASE 42
	LOCALS = 紧身高袍
CASE 43
	LOCALS = 連帽風衣
CASE 44
	LOCALS = 制服
CASE 45
	LOCALS = 執事服
CASE 46
	LOCALS = 前開的衬衫
CASE 47
	LOCALS = 前開的衬衫
CASE 48
	LOCALS = 背心
CASE 49
	LOCALS = V领毛衣
CASE 50
	LOCALS = 萌え袖V领毛衣
CASE 51
	LOCALS = 聖誕服
CASE 52
	LOCALS = 逆兔女郎套装
ENDSELECT

RETURNF LOCALS

;-------------------------------------------------
;角色ARGに服ARGSを着せた場合のCSTR処理。ARGSは/で区切って追加属性をくっつける事も出来る
;例）CALL SET_SHIRT, "前開的衬衫/緑色/腋露出" とすると、CSTR:ARG:服 の末尾に本来の文字列に加えて 緑色/腋露出/ が追加される
;裙の設定追加は連衣裙属性以外は禁止
;-------------------------------------------------
@PALAM_SHIRT, ARGS, ARG
;追加で記述された属性を一時的に保管する
#DIMS STR_ADD

SIF ARG == 0 && TARGET > 0
	ARG = TARGET

STR_ADD = %EXTSTR(ARGS, "/")%
ARGS = %EXTSTR(ARGS, "", "/")%

SELECTCASE ARGS
CASE "", "没有"
	IF CHECK_SHIRT("連衣裙", ARG)
		CSTR:ARG:裙 =
		EQUIP:ARG:裙 = 0
	ENDIF
	CSTR:ARG:服 =
CASE @"%CALLNAME:MASTER%の衬衫"
	IF TALENT:ARG:娇小
		CSTR:ARG:服 = %CALLNAME:MASTER%の衬衫/連衣裙/白/
		CSTR:ARG:裙 = 下摆/連衣裙/迷你/
	ELSE
		CSTR:ARG:服 = %CALLNAME:MASTER%の衬衫/白/
	ENDIF

;Cosplay
CASE "女仆装"
	CSTR:ARG:服 = 女仆装/連衣裙/
	CSTR:ARG:裙 = 围裙/長/褶边/連衣裙/
CASE "露脐装超短裙女仆"
	CSTR:ARG:服 = 露脐装超短裙女仆/女仆装/連衣裙/
	CSTR:ARG:裙 = 围裙/露脐装超短裙/褶边/連衣裙/
CASE "法式女仆装"
	CSTR:ARG:服 = 法式女仆装/腋露出/女仆装/褶边/連衣裙/
	CSTR:ARG:裙 = 围裙/超露脐装超短裙/褶边/連衣裙/
CASE "圍裙"
	CSTR:ARG:服 = 圍裙/連衣裙/
	CSTR:ARG:裙 = 下摆/圍裙/露脐装超短裙/褶边/連衣裙/
CASE "护士服"
	CSTR:ARG:服 = 护士服/連衣裙/
	CSTR:ARG:裙 = 裙/迷你/連衣裙/
CASE "旗袍"
	CSTR:ARG:服 = 旗袍/腋露出/連衣裙/
	CSTR:ARG:裙 = 前垂/紧身/開衩/連衣裙/
CASE "開胸旗袍"
	CSTR:ARG:服 = 開胸旗袍/腋露出/連衣裙/谷間露出/
	CSTR:ARG:裙 = 前垂/紧身/開衩/連衣裙/
CASE "巫女服"
	CSTR:ARG:服 = 巫女服/
CASE "腋巫女"
	CSTR:ARG:服 = 腋巫女/巫女服/腋露出/
CASE "婚纱礼服"
	CSTR:ARG:服 = 婚纱礼服/谷間露出/連衣裙/
	CSTR:ARG:裙 = 包臀裙/長/連衣裙/
CASE "啦啦队制服"
	CSTR:ARG:服 = 啦啦队制服/腋露出/提起裙角/
CASE "修道服"
	CSTR:ARG:服 = 修道服/提起裙角/連衣裙/
	CSTR:ARG:裙 = 長裙/連衣裙/
CASE "哥特蘿莉礼服"
	CSTR:ARG:服 = 哥特蘿莉礼服/連衣裙/
	CSTR:ARG:裙 = 裙/連衣裙/
CASE "偶像衣装"
	CSTR:ARG:服 = 偶像衣装/連衣裙/
	CSTR:ARG:裙 = 裙/連衣裙/
CASE "情趣内衣"
	CSTR:ARG:服 = 情趣内衣/腋露出/透明/提起裙角/蕾丝情趣内衣/連衣裙/
	CSTR:ARG:裙 = 下摆/超短迷你/情趣内衣/透明/連衣裙/
CASE "晨衣"
	CSTR:ARG:服 = 晨衣/腋露出/透明/提起裙角/連衣裙/
	CSTR:ARG:裙 = 下摆/透明/連衣裙/
CASE "睡衣"
	CSTR:ARG:服 = 睡衣/萌え袖/
CASE "聖誕服"
	CSTR:ARG:服 = 聖誕服/連衣裙/
	CSTR:ARG:裙 = 圣诞裙/連衣裙/
CASE "逆兔女郎套装"
	CSTR:ARG:服 = 逆兔女郎套装/乳房露出/谷間露出/腋露出/露脐/半脱不可/

;和装
CASE "和服"
	CSTR:ARG:服 = 和服/連衣裙/和服/
	CSTR:ARG:裙 = 下摆/連衣裙/和服/
CASE "振袖"
	CSTR:ARG:服 = 振袖/連衣裙/和服/
	CSTR:ARG:裙 = 下摆/振袖/連衣裙/和服/
CASE "浴衣"
	CSTR:ARG:服 = 浴衣/連衣裙/
	CSTR:ARG:裙 = 下摆/浴衣/連衣裙/
CASE "紋付袴"
	CSTR:ARG:服 = 紋付袴/和服/

;制服
CASE "水手服"
	CSTR:ARG:服 = 水手服/提起裙角/
CASE "水手夏服"
	CSTR:ARG:服 = 水手夏服/提起裙角/露脐/汗水浸湿的/
CASE "超短水手服"
	CSTR:ARG:服 = 超短水手服/提起裙角/腋露出/露脐/汗水浸湿的/
CASE "无袖水手服"
	CSTR:ARG:服 = 无袖水手服/提起裙角/腋露出/汗水浸湿的/

;萌え袖オプションが有ます
CASE "V领毛衣"
	CSTR:ARG:服 = V领毛衣/萌え袖/
CASE "萌え袖V领毛衣"
	CSTR:ARG:服 = 萌え袖V领毛衣/萌え袖/

CASE "西装外衣"
	CSTR:ARG:服 = 西装外衣/
CASE "蝴蝶結領帯丝巾西装外衣"
	CSTR:ARG:服 = 蝴蝶結領帯丝巾西装外衣/
CASE "領帶西装"
	CSTR:ARG:服 = 領帶西装/

CASE "校服"
	CSTR:ARG:服 = 校服/男物/黒/和裤子颜色搭配/
CASE "男子西装"
	CSTR:ARG:服 = 男子西装/男物/領帯

CASE "前開的衬衫"
	CSTR:ARG:服 = 前開的衬衫/男物/
CASE "皮革夹克"
	CSTR:ARG:服 = 皮革夹克/谷間露出/露脐/皮革/黒/
CASE "恤皮革夹克"
	CSTR:ARG:服 = 恤皮革夹克/露脐/皮革/黒/
CASE "前開的衬衫"
	CSTR:ARG:服 = 前開的衬衫/谷間露出/汗水浸湿的/
CASE "背心"
	CSTR:ARG:服 = 背心/
CASE "男子背心"
	CSTR:ARG:服 = 男子背心/男物/

;体操服
CASE "体操服"
	CSTR:ARG:服 = 体操服/提起裙角/
CASE "体操服(短)", "体操服（短）"
	CSTR:ARG:服 = 体操服(短)/提起裙角/露脐/
CASE "运动衫"
	CSTR:ARG:服 = 运动衫/萌え袖/
CASE "詰襟运动衫"
	CSTR:ARG:服 = 詰襟运动衫/

;便装など
CASE "女式衬衫"
	CSTR:ARG:服 = 女式衬衫/汗水浸湿的/
CASE "露脐女式衬衫"
	CSTR:ARG:服 = 露脐女式衬衫/汗水浸湿的/露脐/
CASE "領帯女式衬衫"
	CSTR:ARG:服 = 領帯女式衬衫/汗水浸湿的/

CASE "蝴蝶結領帯丝巾女式衬衫"
	CSTR:ARG:服 = 蝴蝶結領帯丝巾女式衬衫/汗水浸湿的/

CASE "无袖", "无袖女式衬衫"
	CSTR:ARG:服 = 无袖女式衬衫/汗水浸湿的/腋露出/
CASE "无袖Ｂ", "无袖女式衬衫Ｂ"
	CSTR:ARG:服 = 无袖女式衬衫Ｂ/汗水浸湿的/腋露出/
CASE "領帯无袖女式衬衫"
	CSTR:ARG:服 = 領帯无袖女式衬衫/汗水浸湿的/腋露出/領帯/

CASE "露脐无袖", "露脐无袖女式衬衫"
	CSTR:ARG:服 = 露脐无袖女式衬衫/汗水浸湿的/腋露出/露脐/
CASE "露脐領帯无袖女式衬衫"
	CSTR:ARG:服 = 露脐領帯无袖女式衬衫/汗水浸湿的/腋露出/領帯/露脐/

CASE "宽松女式衬衫"
	CSTR:ARG:服 = 宽松女式衬衫/谷間露出/汗水浸湿的/露脐/
CASE "美式校服女式衬衫"
	CSTR:ARG:服 = 美式校服女式衬衫/谷間露出/汗水浸湿的/露脐/

CASE "褶边女式衬衫"
	CSTR:ARG:服 = 褶边女式衬衫/汗水浸湿的/褶边/
CASE "蕾丝女式衬衫"
	CSTR:ARG:服 = 蕾丝女式衬衫/汗水浸湿的/

CASE "Ｔ恤"
	CSTR:ARG:服 = Ｔ恤/提起裙角/
CASE "露脐Ｔ恤"
	CSTR:ARG:服 = 露脐Ｔ恤/露脐/提起裙角/
CASE "怪图案Ｔ恤"
	CSTR:ARG:服 = 怪图案Ｔ恤/提起裙角/
CASE "宽大的Ｔ恤"
	CSTR:ARG:服 = 宽大的Ｔ恤/連衣裙/提起裙角/
	CSTR:ARG:裙 = 衬衫下摆/超短迷你/Ｔ恤/連衣裙/
;衬衫と衬衫……？まぁ好きな方選んでよって事で
CASE "衬衫"
	CSTR:ARG:服 = 衬衫/汗水浸湿的/
CASE "衬衫"
	CSTR:ARG:服 = 衬衫/汗水浸湿的/
CASE "半開衬衫"
	CSTR:ARG:服 = 半開衬衫/提起裙角/

CASE "切驳服"
	CSTR:ARG:服 = 切驳服/
CASE "后背蝴蝶結切驳服"
	CSTR:ARG:服 = 后背蝴蝶結切驳服/

CASE "蝴蝶結露肩外衣"
	CSTR:ARG:服 = 蝴蝶結露肩外衣/
CASE "针织露肩衣"
	CSTR:ARG:服 = 针织露肩衣/
CASE "露肩外衣"
	CSTR:ARG:服 = 露肩外衣/
CASE "哥特式披风"
	CSTR:ARG:服 = 哥特式披风/

CASE "縦毛衣"
	CSTR:ARG:服 = 縦毛衣/提起裙角/
CASE "针织毛衣"
	CSTR:ARG:服 = 针织毛衣/提起裙角/
;童貞を殺すあれです
CASE "露背针织毛衣"
	CSTR:ARG:服 = 露背针织毛衣/提起裙角/腋露出/連衣裙/
	CSTR:ARG:裙 = 下摆/連衣裙/
CASE "萌袖毛衣"
	CSTR:ARG:服 = 萌袖毛衣/提起裙角/
CASE "无袖毛衣"
	CSTR:ARG:服 = 无袖毛衣/提起裙角/腋露出/

CASE "高領毛衣"
	CSTR:ARG:服 = 高領毛衣/提起裙角/
CASE "開胸高領毛衣"
	CSTR:ARG:服 = 開胸高領毛衣/谷間露出/提起裙角/
CASE "无袖高領毛衣"
	CSTR:ARG:服 = 无袖高領毛衣/提起裙角/腋露出/

CASE "吊帯衫"
	CSTR:ARG:服 = 吊帯衫/腋露出/提起裙角/
CASE "露脐吊帯衫"
	CSTR:ARG:服 = 露脐吊帯衫/腋露出/提起裙角/露脐/
CASE "吊帯背心"
	CSTR:ARG:服 = 吊帯背心/腋露出/汗水浸湿的/提起裙角/
CASE "露脐吊帯背心"
	CSTR:ARG:服 = 露脐吊帯背心/腋露出/汗水浸湿的/露脐/提起裙角/
CASE "短外套"
	CSTR:ARG:服 = 短外套/
CASE "夏日礼服"
	CSTR:ARG:服 = 夏日礼服/腋露出/連衣裙/
	CSTR:ARG:裙 = 裙/連衣裙/
CASE "連衣裙", "白色連衣裙"
	CSTR:ARG:服 = 白色連衣裙/提起裙角/
	CSTR:ARG:裙 = 裙/連衣裙/
CASE "格子連衣裙"
	CSTR:ARG:服 = 格子連衣裙/連衣裙/
	CSTR:ARG:裙 = 裙/連衣裙/
CASE "格子連衣裙黒蝴蝶結"
	CSTR:ARG:服 = 格子連衣裙黒蝴蝶結/連衣裙/
	CSTR:ARG:裙 = 裙/連衣裙/
CASE "格子連衣裙Ｂ"
	CSTR:ARG:服 = 格子連衣裙Ｂ/連衣裙/
	CSTR:ARG:裙 = 裙/連衣裙/
CASE "格子連衣裙Ｂ黒蝴蝶結"
	CSTR:ARG:服 = 格子連衣裙Ｂ黒蝴蝶結/連衣裙/
	CSTR:ARG:裙 = 裙/連衣裙/
CASE "格子連衣裙Ｂ"
	CSTR:ARG:服 = 格子連衣裙Ｂ/連衣裙/
	CSTR:ARG:裙 = 裙/連衣裙/
CASE "褶边連衣裙"
	CSTR:ARG:服 = 褶边連衣裙/提起裙角/
	CSTR:ARG:裙 = 裙/連衣裙/
CASE "露肩連衣裙"
	CSTR:ARG:服 = 露肩連衣裙/腋露出/提起裙角/
	CSTR:ARG:裙 = 裙/連衣裙/
CASE "洛丽塔連衣裙"
	CSTR:ARG:服 = 洛丽塔連衣裙/連衣裙/
	CSTR:ARG:裙 = 裙/連衣裙/
CASE "哥特連衣裙"
	CSTR:ARG:服 = 哥特連衣裙/汗水浸湿的/褶边/連衣裙/
	CSTR:ARG:裙 = 哥特連衣裙裙/褶边/連衣裙/
CASE "哥特礼服"
	CSTR:ARG:服 = 哥特礼服/汗水浸湿的/褶边/連衣裙/
	CSTR:ARG:裙 = 哥特連衣裙裙/褶边/連衣裙/
CASE "紧身高袍"
	CSTR:ARG:服 = 紧身高袍/提起裙角
CASE "中世紧身高袍"
	CSTR:ARG:服 = 中世紧身高袍/提起裙角

CASE "連帽風衣"
	CSTR:ARG:服 = 連帽風衣/提起裙角/
CASE "无袖連帽風衣"
	CSTR:ARG:服 = 无袖連帽風衣/提起裙角/腋露出/
CASE "長連帽風衣"
	CSTR:ARG:服 = 長連帽風衣/提起裙角/連衣裙/
	CSTR:ARG:裙 = 下摆/連衣裙/
CASE "制服"
	CSTR:ARG:服 = 制服/和裤子颜色搭配/黒/
CASE "執事服"
	CSTR:ARG:服 = 執事服/男物/和裤子颜色搭配/黒/
CASE "浴衣"
	CSTR:ARG:服 = 浴衣/連衣裙/提起裙角
	CSTR:ARG:裙 = 下摆/連衣裙/
CASE "軍服"
	CSTR:ARG:服 = 軍服
	CSTR:ARG:裙 = 軍用休闲褲

;角色衣装
CASE "红黑色无袖連帽風衣"
	CSTR:ARG:服 = 红黑色无袖連帽風衣/腋露出/連衣裙/提起裙角/
	CSTR:ARG:裙 = 下摆/連衣裙/長連帽風衣/
CASE "白色和金色装饰的民族衣装"
	CSTR:ARG:服 = 白色和金色装饰的民族衣装/連衣裙/提起裙角
	CSTR:ARG:裙 = 裙/連衣裙/
CASE "脏連体泳装"
	CSTR:ARG:服 = 脏連体泳装/連衣裙/
	CSTR:ARG:裙 = 弄脏的裙/連衣裙/

CASEELSE
	CSTR:ARG:服 = %ARGS%/
ENDSELECT

CSTR:ARG:服 = %MERGE_STR(CSTR:ARG:服, STR_ADD)%

;-------------------------------------------------
;ARGの恤が条件ARGSを満たすか確認する
;-------------------------------------------------
@CHECK_SHIRT(ARGS, ARG)
#FUNCTION
SIF ARG == 0 && TARGET
	ARG = TARGET
SIF EQUIP:ARG:服 == 0
	RETURNF 0
SELECTCASE ARGS
CASE "衬衫"
	SIF STRCOUNTS(CSTR:ARG:服, "衬衫", "衬衫")
		RETURNF 1
CASE "領帶西装"
	SIF STRCOUNT(CSTR:ARG:服, "西装外衣") && STRCOUNT(CSTR:ARG:服, "領帯")
		RETURNF 1
CASE "領帯女式衬衫"
	SIF STRCOUNT(CSTR:ARG:服, "女式衬衫") && STRCOUNT(CSTR:ARG:服, "領帯")
		RETURNF 1
CASE "半脱可"
	SIF STRCOUNT(CSTR:ARG:服, "半脱的")
		RETURNF 0
	SIF STRCOUNT(CSTR:ARG:服, "半脱不可")
		RETURNF 0
	RETURNF 1
CASEELSE
	SIF STRCOUNT(CSTR:ARG:服, ARGS)
		RETURNF 1
ENDSELECT

RETURNF 0