code:
;食事

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME351
;主人公が女性で相手が男性
IF IS_FEMALE(MPLY:0) && IS_MALE(MTAR:0)
	RESULTS:0 = 食事を奢ってもらう
	RESULTS:1 = 食事に誘われる
ELSE
	RESULTS:0 = 食事に誘う(金-1000)
	RESULTS:1 = 食事を奢らされる(金-1000)
ENDIF

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE351
;共通部分
CALL COM_ABLE_COMMON(351)
SIF RESULT == 0
	RETURN 0
;主人公がプレイヤーのとき限定
SIF MPLY:0 != MASTER
	RETURN 0
;城下町でのデート中限定
SIF GET_PLACENAME(TFLAG:デート場所) != "市街地"
	RETURN 0
;怪我なら不可
SIF CFLAG:(MTAR:0):行動不能状態 == 3
	RETURN 0
;キス中は不可
SIF IS_EQUIP(MPLY:0, 342)
	RETURN 0
;主人公が女性で相手が男性 or 所持金が1000以上のいずれかを満たす必要がある
SIF !((IS_FEMALE(MPLY:0) && IS_MALE(MTAR:0)) || MONEY >= 1000)
	RETURN 0
;既に食事を実行済みなら不可
SIF TFLAG:6
	RETURN 0
RETURN 1

;-------------------------------------------------
;メイン処理
;-------------------------------------------------
@COM351
;実行判定
CALL COM_ORDER_COMMON
IF RESULT == 0
	RETURN 0
ENDIF

;実行済みフラグをON
TFLAG:6 = 1

IF MPLY:0 == MASTER
	;コマンドの成否をTFLAG:コマンド成否にセット
	CALL JUDGE_COM_RESULT(MTAR:0, 5, 10)
	LOCAL:1 = MTAR:0
ELSE
	;コマンドの成否をTFLAG:コマンド成否にセット
	CALL JUDGE_COM_RESULT(MPLY:0, 5, 10)
	LOCAL:1 = MPLY:0
ENDIF

;●プレイヤー側の処理
;固定で獲得するソース
SOURCE:(MPLY:0):歓楽 = 80

;親密に応じた歓楽のソース追加
CALL ADD_SOURCE_KANRAKU(MPLY:0, 200)
SOURCE:(MPLY:0):歓楽 = MAX(SOURCE:(MPLY:0):歓楽, 0)

;主導権に応じたソースの追加
CALL ADD_SOURCE_INITIATIVE_N(MPLY:0, 50, 50)

;●ターゲット側の処理
;固定で獲得するソース
SOURCE:(MTAR:0):歓楽 = 80

;親密に応じた歓楽のソース追加
CALL ADD_SOURCE_KANRAKU(MTAR:0, 200)
SOURCE:(MTAR:0):歓楽 = MAX(SOURCE:(MTAR:0):歓楽, 0)

;主導権に応じたソースの追加
CALL ADD_SOURCE_INITIATIVE_N(MTAR:0, 50, 50)

;主人公が女性で相手が男性
IF IS_FEMALE(MPLY:0) && IS_MALE(MTAR:0)
	;料金は相手持ち
ELSE
	MONEY -= 1000
ENDIF

;失敗
IF TFLAG:コマンド成否 == -1
	TIMES SOURCE:(MPLY:0):歓楽, 0.10
	TIMES SOURCE:(MTAR:0):歓楽, 0.10
	TFLAG:ムード -= 5
;成功
ELSEIF TFLAG:コマンド成否 == 0

;大成功
ELSE
	TIMES SOURCE:(MPLY:0):歓楽, 2.00
	TIMES SOURCE:(MTAR:0):歓楽, 2.00
	TFLAG:ムード += 5
ENDIF

;主導度変化基準値
TFLAG:主導度変化基準値 = 2

;倒錯度変化基準値
TFLAG:倒錯度変化基準値 = 0

RETURN 1

;-------------------------------------------------
;固有の実行判定(プレイヤー側)
;-------------------------------------------------
@COM_ORDER_PLAYER351(ARG:0)
;実行値の設定
TCVAR:(ARG:0):実行値 = 30

;共通部分
CALL COM_ORDER(ARG:0)

;好感度
IF CFLAG:(ARG:0):好感度 < 300
	IF CFLAG:(ARG:0):好感度 < 50
		LOCAL:0 = -12
	ELSEIF CFLAG:(ARG:0):好感度 < 150
		LOCAL:0 = -8
	ELSE
		LOCAL:0 = -4
	ENDIF
	CALL COM_ORDER_ELEMENT(ARG:0, @"好感度不足", LOCAL:0)
ELSE
	LOCAL:0 = CFLAG:(ARG:0):好感度 / 75
	CALL COM_ORDER_ELEMENT(ARG:0, @"好感度", LOCAL:0)
ENDIF

IF TALENT:(ARG:0):臆病
	CALL COM_ORDER_ELEMENT(ARG:0, "臆病", -3)
ENDIF
IF TALENT:(ARG:0):大人しい
	CALL COM_ORDER_ELEMENT(ARG:0, "大人しい", -2)
ENDIF
IF TALENT:(ARG:0):恥じらい
	CALL COM_ORDER_ELEMENT(ARG:0, "恥じらい", -3)
ENDIF
RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE351
;主人公が女性で相手が男性
IF IS_FEMALE(MPLY:0) && IS_MALE(MTAR:0)
	;主導権が主人公側
	IF IS_INITIATIVE(MASTER)
		PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に食事を奢らせた
	;主導権が相手側
	ELSE
		PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%を食事に誘った
	ENDIF

	IF TFLAG:コマンド成否 == 1
		PRINTFORML あまりの美味しさに%ANAME(MPLY:0)%と%ANAME(MTAR:0)%は舌鼓を打った
	ELSEIF TFLAG:コマンド成否 == 0
		PRINTFORML %ANAME(MPLY:0)%と%ANAME(MTAR:0)%は楽しく歓談しながら食事を取った
	ELSEIF TFLAG:コマンド成否 == -1
		PRINTFORML ……もうこの店に来ることはないだろう
	ENDIF

ELSE
	;主導権が主人公側
	IF IS_INITIATIVE(MASTER)
		PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を食事に誘った(所持金:{MONEY + 1000}→{MONEY})
	;主導権が相手側
	ELSE
		PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%に食事を奢らせた(所持金:{MONEY + 1000}→{MONEY})
	ENDIF

	IF TFLAG:コマンド成否 == 1
		PRINTFORML 思った以上に%ANAME(MTAR:0)%に気に入ってもらえたようだ
	ELSEIF TFLAG:コマンド成否 == 0
		PRINTFORML %ANAME(MPLY:0)%と%ANAME(MTAR:0)%は楽しく歓談しながら食事を取った
	ELSEIF TFLAG:コマンド成否 == -1
		PRINTFORML ……もうこの店に来ることはないだろう
	ENDIF
ENDIF

SETCOLOR カラー_注意
PRINTFORML 以降のコマンド成功率が少しだけ上昇しました
RESETCOLOR

;-------------------------------------------------
;地の文(パラメータ・刻印変動後)
;-------------------------------------------------
@COM_TEXT_LAST351
;日常コマンドに共通の地の文
CALL COM_TEXT_LAST_LIFE

;-------------------------------------------------

;コマンド区分
;-------------------------------------------------

@COM_AVAILABLE_WHEN351
RETURN コマンド_日常


code:
;水浴び

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME354
RESULTS:0 = 水浴びする
RESULTS:1 = 水浴びに付き合う

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE354
;共通部分
CALL COM_ABLE_COMMON(354)
SIF RESULT == 0
	RETURN 0
;主人公がプレイヤーのとき限定
SIF MPLY:0 != MASTER && MPLY_NUM != 1
	RETURN 0
;一人ではだめ
SIF MTAR_NUM == 0
	RETURN 0
;川辺でのデート中限定
IF GET_PLACENAME(TFLAG:デート場所) != "遊泳場" && !FLAG:ハウジングモード
	RETURN 0
ENDIF
IF FLAG:ハウジングモード && !C_COND("設備用途:水場",,MASTER)
	RETURN 0
ENDIF

FOR LOCAL, 0, MPLY_NUM
	;怪我なら不可
	SIF CFLAG:(MPLY:LOCAL):行動不能状態 == 3
		RETURN 0
	;体力が一定値以下なら不可
	IF IS_TIRED(MPLY:LOCAL)
		RETURN 0
	ENDIF
NEXT
FOR LOCAL, 0, MTAR_NUM
	;怪我なら不可
	SIF CFLAG:(MTAR:LOCAL):行動不能状態 == 3
		RETURN 0
	;体力が一定値以下なら不可
	IF IS_TIRED(MTAR:LOCAL)
		RETURN 0
	ENDIF
NEXT

;プレイヤーの口が塞がっているなら不可
SIF IS_M_HOLD(MPLY:0)
	RETURN 0
RETURN 1

;-------------------------------------------------
;メイン処理
;-------------------------------------------------
@COM354
#DIM DYNAMIC 異性がいる
#DIM  DYNAMIC 体力消費量
#DIM  DYNAMIC CHARA_ID

;実行判定
CALL COM_ORDER_COMMON
IF RESULT == 0
	RETURN 0
ENDIF

IF MPLY:0 == MASTER
	;コマンドの成否をTFLAG:コマンド成否にセット
	CALL JUDGE_COM_RESULT(MTAR:0, 5, 10)
	LOCAL:1 = MTAR:0
ELSE
	;コマンドの成否をTFLAG:コマンド成否にセット
	CALL JUDGE_COM_RESULT(MPLY:0, 5, 10)
	LOCAL:1 = MPLY:0
ENDIF

;混浴判定
FOR LOCAL, 0, MTAR_NUM
	IF !IS_SAMESEX(MPLY:0, MTAR:LOCAL)
		異性がいる = 1
		BREAK
	ENDIF
NEXT

;プレイヤー側の処理
;-------------------------------------------------
CHARA_ID = MPLY:0
;固定で獲得するソース
SOURCE:CHARA_ID:歓楽 = 20
SOURCE:CHARA_ID:接触 = 10

;親密に応じた歓楽のソース追加
CALL ADD_SOURCE_KANRAKU(CHARA_ID, 190)
SOURCE:CHARA_ID:歓楽 = MAX(SOURCE:CHARA_ID:歓楽, 0)

IF TALENT:CHARA_ID:臆病
	TIMES SOURCE:CHARA_ID:歓楽, 0.85
ENDIF
IF TALENT:CHARA_ID:大人しい
	TIMES SOURCE:CHARA_ID:歓楽, 0.85
ENDIF
IF TALENT:CHARA_ID:恥じらい
	TIMES SOURCE:CHARA_ID:歓楽, 0.85
ENDIF

;主導権に応じたソースの追加
CALL ADD_SOURCE_INITIATIVE_N(CHARA_ID, 100, 100)

;体力処理
体力消費量 = FTIMES(200, 100 - MIN(30, ABL:CHARA_ID:身体 / 4))

;汚れの洗浄
CALL HO_WASH(CHARA_ID)

;失敗
IF TFLAG:コマンド成否 == -1
	TIMES SOURCE:CHARA_ID:歓楽, 0.10
	SOURCE:CHARA_ID:不満 += 500
	;成功
ELSEIF TFLAG:コマンド成否 == 0

	;大成功
ELSE
	TIMES SOURCE:CHARA_ID:歓楽, 2.00
ENDIF
TCVAR:CHARA_ID:HO体力増減値 -= 体力消費量

;ターゲット側の処理
;-------------------------------------------------
FOR LOCAL, 0, MTAR_NUM
	CHARA_ID = MTAR:LOCAL
	;固定で獲得するソース
	SOURCE:CHARA_ID:歓楽 = 20
	SOURCE:CHARA_ID:接触 = 10

	;親密に応じた歓楽のソース追加
	CALL ADD_SOURCE_KANRAKU(MTAR:LOCAL, 190)
	SOURCE:CHARA_ID:歓楽 = MAX(SOURCE:CHARA_ID:歓楽, 0)

	IF TALENT:CHARA_ID:臆病
		TIMES SOURCE:CHARA_ID:歓楽, 0.85
	ENDIF
	IF TALENT:CHARA_ID:大人しい
		TIMES SOURCE:CHARA_ID:歓楽, 0.85
	ENDIF
	IF TALENT:CHARA_ID:恥じらい
		TIMES SOURCE:CHARA_ID:歓楽, 0.85
	ENDIF

	;同性
	IF !異性がいる
		SOURCE:CHARA_ID:露出 = 5
	ELSE
		SOURCE:CHARA_ID:露出 = 20
	ENDIF

	;主導権に応じたソースの追加
	CALL ADD_SOURCE_INITIATIVE_N(CHARA_ID, 100, 100)

	;汚れの洗浄
	CALL HO_WASH(CHARA_ID)

	;体力処理
	体力消費量 = FTIMES(200, 100 - MIN(30, ABL:CHARA_ID:身体 / 4))
	TCVAR:CHARA_ID:HO体力増減値 -= 体力消費量

	;失敗
	IF TFLAG:コマンド成否 == -1
		TIMES SOURCE:CHARA_ID:歓楽, 0.10
		SOURCE:CHARA_ID:不満 += 500
		TFLAG:ムード -= 5
		TCVAR:CHARA_ID:HOムード値 -= 5
		;成功
	ELSEIF TFLAG:コマンド成否 == 0

		;大成功
	ELSE
		TIMES SOURCE:CHARA_ID:歓楽, 2.00
		TFLAG:ムード += 5
		TCVAR:CHARA_ID:HOムード値 += 5
	ENDIF
NEXT

;主導度変化基準値
TFLAG:主導度変化基準値 = 3

;倒錯度変化基準値
TFLAG:倒錯度変化基準値 = -1

RETURN 1

;-------------------------------------------------
;固有の実行判定(プレイヤー側)
;-------------------------------------------------
@COM_ORDER_PLAYER354(ARG:0)
;実行値の設定
TCVAR:(ARG:0):実行値 = 30

;共通部分
CALL COM_ORDER(ARG:0)

;好感度
IF CFLAG:(ARG:0):好感度 < 300
	IF CFLAG:(ARG:0):好感度 < 50
		LOCAL:0 = -30
	ELSEIF CFLAG:(ARG:0):好感度 < 150
		LOCAL:0 = -15
	ELSE
		LOCAL:0 = -5
	ENDIF
	CALL COM_ORDER_ELEMENT(ARG:0, @"好感度不足", LOCAL:0)
ELSE
	LOCAL:0 = CFLAG:(ARG:0):好感度 / 75
	CALL COM_ORDER_ELEMENT(ARG:0, @"好感度", LOCAL:0)
ENDIF

IF TALENT:(ARG:0):臆病
	CALL COM_ORDER_ELEMENT(ARG:0, "臆病", -3)
ENDIF
IF TALENT:(ARG:0):大人しい
	CALL COM_ORDER_ELEMENT(ARG:0, "大人しい", -2)
ENDIF
IF TALENT:(ARG:0):恥じらい
	CALL COM_ORDER_ELEMENT(ARG:0, "恥じらい", -3)
ENDIF
RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE354
#DIM  DYNAMIC TARGET_ID
#DIMS DYNAMIC 対象名
#DIMS DYNAMIC 衣装名
#DIM  DYNAMIC BUST_SIZE
#DIM  DYNAMIC HIP_SIZE

;主導権が主人公側
IF IS_INITIATIVE(MASTER)
	PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0, MTAR_NUM)%と一緒に水浴びをした
	;主導権が相手側
ELSE
	PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0, MTAR_NUM)%に誘われ、一緒に水浴びをした
ENDIF

IF TFLAG:コマンド成否 == 1
	PRINTFORML %ANAME(MTAR:0, MTAR_NUM)%は心から楽しそうに笑っている…
ELSEIF TFLAG:コマンド成否 == -1
	PRINTFORML %ANAME(MTAR:0, MTAR_NUM)%はあまり楽しくなさそうだ…
ENDIF

FOR LOCAL, 0, MTAR_NUM
	TARGET_ID = MTAR:LOCAL
	対象名 = %ANAME(TARGET_ID)%
	衣装名 = %C_COND_MAP_GETS(TARGET_ID, "被覆衣装描写_胸")%
	BUST_SIZE = GET_BUSTSIZE(TARGET_ID)
	HIP_SIZE = GET_HIPSIZE(TARGET_ID)
	IF C_COND("衣装属性:胸:水着",,TARGET_ID) || C_COND("衣装属性:胸:下着",,TARGET_ID)
		{
			CALLF PRINT_RANDC(
				@"%対象名%の%衣装名%に覆われた%STR_BODY("胸", TARGET_ID)%を水滴が伝い落ちる", 1
				,@"%衣装名%越しに%対象名%の%STR_BODY("胸", TARGET_ID)%が描く身体のラインが目に入る", 1
				,@"雫が%対象名%の%STR_BODY("胸", TARGET_ID)%を伝って落ちる", 1
				)
		}
		PRINTL
		{
			CALLF PRINT_RANDC(
				@"布地の少ない%衣装名%の覆いは十分とは言えず、大きく動く度に乳輪が覗き見えてしまっている…", C_COND("衣装属性:胸:面積小",,TARGET_ID)
				,@"布地の少ない%衣装名%は%対象名%の豊かな胸を覆うにはいささか不十分なようだ…", C_COND("衣装属性:胸:面積小",,TARGET_ID) && BUST_SIZE >= 1
				,@"刺激を受けてツンと立った乳首が%衣装名%越しにはっきりと主張してしまっている…", PALAM:TARGET_ID:快Ｂ >= 6000
				)
		}
		PRINTL
		PRINTL
	ELSEIF C_COND("露出部位:胸",,TARGET_ID)
		{
			CALLF PRINT_RANDC(
				@"%対象名%の一糸纏わぬ身体を、水滴が伝い落ちる", 1
				,@"雫が%対象名%の顕になった%STR_BODY("胸", TARGET_ID)%を伝って落ちる", 1
				)
		}
	ELSE
		PRINTFORM %対象名%の服は濡れて肌に張り付き、その
		SIF TALENT:(MTAR:LOCAL):処女 == 1 && IS_FEMALE(MTAR:LOCAL)
			PRINT 男を知らない
		SIF TALENT:(MTAR:LOCAL):体格 == 体格_子供
			PRINT 幼い
		SIF GET_HIPSIZE(MTAR:LOCAL) >= 1 || IS_BOIN(MTAR:LOCAL)
			PRINT 豊満な
		PRINTFORML 身体の線を浮き彫りにしている
	ENDIF
NEXT

;-------------------------------------------------
;地の文(パラメータ・刻印変動後)
;-------------------------------------------------
@COM_TEXT_LAST354
;日常コマンドに共通の地の文
CALL COM_TEXT_LAST_LIFE

;-------------------------------------------------

;コマンド区分
;-------------------------------------------------

@COM_AVAILABLE_WHEN354
IF FLAG:調教モード != 調教_居住区
	RETURN コマンド_日常
ELSE
	RETURN コマンド_居住区
ENDIF

repo_name: pervysquirrelz/erafl

license: unknown


code:
;泳ぐ

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME355
RESULTS:0 = 一緒に泳ぐ
RESULTS:1 = 一緒に泳がされる

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE355
;共通部分
CALL COM_ABLE_COMMON(355)
SIF RESULT == 0
	RETURN 0
;主人公がプレイヤーのとき限定
SIF MPLY:0 != MASTER
	RETURN 0
;川辺でのデート中限定
SIF GET_PLACENAME(TFLAG:デート場所) != "遊泳場"
	RETURN 0
;怪我なら不可
SIF CFLAG:(MTAR:0):行動不能状態 == 3
	RETURN 0
;キス中は不可
SIF IS_EQUIP(MPLY:0, 342)
	RETURN 0
RETURN 1

;-------------------------------------------------
;メイン処理
;-------------------------------------------------
@COM355
;実行判定
CALL COM_ORDER_COMMON
SIF RESULT == 0
	RETURN 0

;成否の判定は身体と適性のみで行う
;LOCAL:1,3は成功率、LOCAL:2,4が大成功率
;１人でも溺れると失敗、２人とも上手く泳げると大成功
LOCAL:5 = ABL:(MPLY:0):身体 + (GROWTYPE_RATE(MPLY:0, "身体") - 100) / 4
LOCAL:6 = ABL:(MTAR:0):身体 + (GROWTYPE_RATE(MTAR:0, "身体") - 100) / 4

SELECTCASE LOCAL:5
	CASE IS < 30
		LOCAL:1 = LOCAL:5 * 5 / 3
		LOCAL:2 = 0
	CASE IS < 50
		LOCAL:1 = (LOCAL:5 - 30) * 3 / 2 + 50
		LOCAL:2 = LOCAL:5 - 30
	CASE IS < 70
		LOCAL:1 = LOCAL:5 + 30
		LOCAL:2 = LOCAL:5 - 30
	CASE IS < 100
		LOCAL:1 = 100
		LOCAL:2 = LOCAL:5 * 60 / 100
	CASEELSE
		LOCAL:1 = 100
		LOCAL:2 = 60
ENDSELECT

IF MPLY:0 == NAME_TO_CHARA("わかさぎ姫")
	LOCAL:1 += 30
	LOCAL:2 += 30
ENDIF

SELECTCASE LOCAL:6
	CASE IS < 30
		LOCAL:3 = LOCAL:6 * 5 / 3
		LOCAL:4 = 0
	CASE IS < 50
		LOCAL:3 = (LOCAL:6 - 30) * 3 / 2 + 50
		LOCAL:4 = LOCAL:6 - 30
	CASE IS < 70
		LOCAL:3 = LOCAL:6 + 30
		LOCAL:4 = LOCAL:6 - 30
	CASE IS < 100
		LOCAL:3 = 100
		LOCAL:4 = LOCAL:6 * 60 / 100
	CASEELSE
		LOCAL:3 = 100
		LOCAL:4 = 60
ENDSELECT

IF MTAR:0 == NAME_TO_CHARA("わかさぎ姫")
	LOCAL:3 += 30
	LOCAL:4 += 30
ENDIF

SIF LOCAL:1 <= RAND:100
	TFLAG:17 += 1
SIF LOCAL:3 <= RAND:100
	TFLAG:17 += 2

IF TFLAG:17 >= 1
	TFLAG:コマンド成否 = -1
ELSEIF LOCAL:2 > RAND:100 && LOCAL:4 > RAND:100
	TFLAG:コマンド成否 = 1
ELSE
	TFLAG:コマンド成否 = 0
ENDIF

;●プレイヤー側の処理
;固定で獲得するソース
SOURCE:(MPLY:0):歓楽 = 20

;親密に応じた歓楽のソース追加
CALL ADD_SOURCE_KANRAKU(MPLY:0, 180)
SOURCE:(MPLY:0):歓楽 = MAX(SOURCE:(MPLY:0):歓楽, 0)

IF TALENT:(MPLY:0):臆病
	TIMES SOURCE:(MPLY:0):歓楽, 0.90
ENDIF
IF TALENT:(MPLY:0):大人しい
	TIMES SOURCE:(MPLY:0):歓楽, 0.90
ENDIF
IF TALENT:(MPLY:0):恥じらい
	TIMES SOURCE:(MPLY:0):歓楽, 0.90
ENDIF

EXP:(MPLY:0):身体経験値 += (ABL:(MPLY:0):身体 < 30 ? 2 # 1) + TFLAG:コマンド成否

;主導権に応じたソースの追加
CALL ADD_SOURCE_INITIATIVE_N(MPLY:0, 100, 100)

;●ターゲット側の処理
;固定で獲得するソース
SOURCE:(MTAR:0):歓楽 = 20

;親密に応じた歓楽のソース追加
CALL ADD_SOURCE_KANRAKU(MTAR:0, 180)
SOURCE:(MTAR:0):歓楽 = MAX(SOURCE:(MTAR:0):歓楽, 0)

IF TALENT:(MTAR:0):臆病
	TIMES SOURCE:(MTAR:0):歓楽, 0.90
ENDIF
IF TALENT:(MTAR:0):大人しい
	TIMES SOURCE:(MTAR:0):歓楽, 0.90
ENDIF
IF TALENT:(MTAR:0):恥じらい
	TIMES SOURCE:(MTAR:0):歓楽, 0.90
ENDIF

EXP:(MTAR:0):身体経験値 += (ABL:(MTAR:0):身体 < 30 ? 2 # 1) + TFLAG:コマンド成否

;同性
IF IS_SAMESEX(MPLY:0, MTAR:0)
	SOURCE:(MPLY:0):露出 = 5
	SOURCE:(MTAR:0):露出 = 5
;異性
ELSE
	SOURCE:(MPLY:0):露出 = 20
	SOURCE:(MTAR:0):露出 = 20
ENDIF

;主導権に応じたソースの追加
CALL ADD_SOURCE_INITIATIVE_N(MTAR:0, 100, 100)

;失敗
IF TFLAG:コマンド成否 == -1
	TIMES SOURCE:(MPLY:0):歓楽, 0.10
	TIMES SOURCE:(MTAR:0):歓楽, 0.10
	SOURCE:(MPLY:0):不満 += 500
	SOURCE:(MTAR:0):不満 += 500
	TFLAG:ムード -= 5
;成功
ELSEIF TFLAG:コマンド成否 == 0

;大成功
ELSE
	TIMES SOURCE:(MPLY:0):歓楽, 2.00
	TIMES SOURCE:(MTAR:0):歓楽, 2.00
	TFLAG:ムード += 5
ENDIF

;全身運動することにより、締まりが改善する！
;失敗0～1　成功0～2　大成功0～3
SIF HAS_VAGINA(MPLY:0)
	TALENT:(MPLY:0):Ｖ締まり = LIMIT(TALENT:(MPLY:0):Ｖ締まり + RAND:(TFLAG:コマンド成否 + 3), 締まり_最低値, 締まり_最高値)
TALENT:(MPLY:0):Ａ締まり = LIMIT(TALENT:(MPLY:0):Ａ締まり + RAND:(TFLAG:コマンド成否 + 3), 締まり_最低値, 締まり_最高値)
SIF HAS_VAGINA(MTAR:0)
	TALENT:(MTAR:0):Ｖ締まり = LIMIT(TALENT:(MTAR:0):Ｖ締まり + RAND:(TFLAG:コマンド成否 + 3), 締まり_最低値, 締まり_最高値)
TALENT:(MTAR:0):Ａ締まり = LIMIT(TALENT:(MTAR:0):Ａ締まり + RAND:(TFLAG:コマンド成否 + 3), 締まり_最低値, 締まり_最高値)

;主導度変化基準値
TFLAG:主導度変化基準値 = 3

;倒錯度変化基準値
TFLAG:倒錯度変化基準値 = -1

RETURN 1

;-------------------------------------------------
;固有の実行判定(プレイヤー側)
;-------------------------------------------------
@COM_ORDER_PLAYER355(ARG:0)
;実行値の設定
TCVAR:(ARG:0):実行値 = 30

;共通部分
CALL COM_ORDER(ARG:0)

;好感度
IF CFLAG:(ARG:0):好感度 < 300
	IF CFLAG:(ARG:0):好感度 < 50
		LOCAL:0 = -30
	ELSEIF CFLAG:(ARG:0):好感度 < 150
		LOCAL:0 = -15
	ELSE
		LOCAL:0 = -5
	ENDIF
	CALL COM_ORDER_ELEMENT(ARG:0, @"好感度不足", LOCAL:0)
ELSE
	LOCAL:0 = CFLAG:(ARG:0):好感度 / 75
	CALL COM_ORDER_ELEMENT(ARG:0, @"好感度", LOCAL:0)
ENDIF

IF TALENT:(ARG:0):臆病
	CALL COM_ORDER_ELEMENT(ARG:0, "臆病", -3)
ENDIF
IF TALENT:(ARG:0):大人しい
	CALL COM_ORDER_ELEMENT(ARG:0, "大人しい", -2)
ENDIF
IF TALENT:(ARG:0):恥じらい
	CALL COM_ORDER_ELEMENT(ARG:0, "恥じらい", -3)
ENDIF
RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE355
;主導権が主人公側
IF IS_INITIATIVE(MASTER)
	PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%と一緒に遊泳スペースで泳ぐことにした
;主導権が相手側
ELSE
	PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に誘われ、一緒に泳ぐことになった
ENDIF

IF TFLAG:コマンド成否 == 1
	PRINTFORML 二人とも上手く泳ぐことができて、%ANAME(MTAR:0)%は満足そうだ…
ELSEIF TFLAG:コマンド成否 == -1
	IF TFLAG:17 == 1
		PRINTFORML %ANAME(MPLY:0)%は溺れて流されてしまった…
	ELSEIF TFLAG:17 == 2
		PRINTFORML %ANAME(MTAR:0)%は溺れて流されてしまった…
	ELSE
		PRINTFORML 二人で仲良く溺れてしまった…
	ENDIF
ENDIF

;-------------------------------------------------
;地の文(パラメータ・刻印変動後)
;-------------------------------------------------
@COM_TEXT_LAST355
;日常コマンドに共通の地の文
CALL COM_TEXT_LAST_LIFE

;-------------------------------------------------

;コマンド区分
;-------------------------------------------------

@COM_AVAILABLE_WHEN355
RETURN コマンド_日常


code:
;花冠を作る

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME356
RESULTS:0 = 花冠をプレゼントする
RESULTS:1 = 花冠を作らされる
RESULTS:2 = 花冠を作ってもらう
RESULTS:3 = 花冠をプレゼントされる

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE356
;共通部分
CALL COM_ABLE_COMMON(356)
SIF RESULT == 0
	RETURN 0
;主人公以外が実行する場合、好感度が300以上必要
SIF MPLY:0 != MASTER && CFLAG:(MPLY:0):好感度 < 300
	RETURN 0
;花畑でのデート中限定
SIF GET_PLACENAME(TFLAG:デート場所) != "花畑"
	RETURN 0
;怪我なら不可
SIF CFLAG:(MTAR:0):行動不能状態 == 3
	RETURN 0
;キス中は不可
SIF IS_EQUIP(MPLY:0, 342)
	RETURN 0
RETURN 1

;-------------------------------------------------
;メイン処理
;-------------------------------------------------
@COM356
IF MPLY:0 == MASTER
	;コマンドの成否をTFLAG:コマンド成否にセット
	CALL JUDGE_COM_RESULT(MTAR:0, 5, 5)
ELSE
	;コマンドの成否をTFLAG:コマンド成否にセット
	CALL JUDGE_COM_RESULT(MPLY:0, 5, 5)
ENDIF

;固定で入るソース
SOURCE:(MPLY:0):接触 = 80
SOURCE:(MTAR:0):接触 = 80

;親密に応じた歓楽のソース追加
SOURCE:(MPLY:0):歓楽 = 10
SOURCE:(MTAR:0):歓楽 = 10
CALL ADD_SOURCE_KANRAKU(MPLY:0, 180)
CALL ADD_SOURCE_KANRAKU(MTAR:0, 180)
SOURCE:(MPLY:0):歓楽 = MAX(SOURCE:(MPLY:0):歓楽, 0)
SOURCE:(MTAR:0):歓楽 = MAX(SOURCE:(MTAR:0):歓楽, 0)

;親密に応じた愛情のソース追加
CALL ADD_SOURCE_AIZYOU(MPLY:0, 60)
CALL ADD_SOURCE_AIZYOU(MTAR:0, 60)

;ターゲットが子供なら歓楽が多めに
IF TALENT:(MTAR:0):幼児 || TALENT:(MTAR:0):幼稚
	TIMES SOURCE:(MTAR:0):歓楽, 1.20
	TIMES SOURCE:(MTAR:0):愛情, 0.70
;ターゲットが男性・男双なら効果減少
ELSEIF GROUPMATCH(TALENT:(MTAR:0):性別, 0, 3)
	TIMES SOURCE:(MTAR:0):歓楽, 0.80
	TIMES SOURCE:(MTAR:0):愛情, 0.80
ENDIF

;主導権に応じたソースの追加
CALL ADD_SOURCE_INITIATIVE_N(MPLY:0, 50, 50)
CALL ADD_SOURCE_INITIATIVE_N(MTAR:0, 50, 50)

;失敗
IF TFLAG:コマンド成否 == -1
	TIMES SOURCE:(MPLY:0):歓楽, 0.20
	TIMES SOURCE:(MPLY:0):愛情, 0.20
	TIMES SOURCE:(MTAR:0):歓楽, 0.20
	TIMES SOURCE:(MTAR:0):愛情, 0.20
	SOURCE:(MPLY:0):不満 += 500
	SOURCE:(MTAR:0):不満 += 500
	TFLAG:ムード -= 5

;成功
ELSEIF TFLAG:コマンド成否 == 0

;大成功
ELSE
	TIMES SOURCE:(MPLY:0):歓楽, 2.00
	TIMES SOURCE:(MPLY:0):愛情, 2.00
	TIMES SOURCE:(MTAR:0):歓楽, 2.00
	TIMES SOURCE:(MTAR:0):愛情, 2.00
	TFLAG:ムード += 5
ENDIF

;主導度変化基準値
TFLAG:主導度変化基準値 = 2

;倒錯度変化基準値
TFLAG:倒錯度変化基準値 = -2

RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE356
;プレイヤーが主人公側
IF MPLY:0 == MASTER
	;主導権が主人公側
	IF IS_INITIATIVE(MASTER)
		PRINTFORMW %ANAME(MPLY:0)%は近くに生えている花を使って花冠を作り、%ANAME(MTAR:0)%の頭に被せた
	;主導権が相手側
	ELSE
		PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%に花冠を作らせ、それをプレゼントさせた
	ENDIF

	IF TFLAG:コマンド成否 == 1
		IF TALENT:(MTAR:0):幼児 || TALENT:(MTAR:0):幼稚
			PRINTFORML %ANAME(MTAR:0)%は花冠を頭に乗せたまま嬉しそうにはしゃぎ回った…
		ELSEIF GROUPMATCH(TALENT:(MTAR:0):性別, 0, 3)
			PRINTFORML %ANAME(MTAR:0)%は顔を赤くしながら、おずおずと似合うかどうか聞いてきた…
		ELSE
			PRINTFORML %ANAME(MTAR:0)%は顔を赤くしながらも、嬉しそうに微笑んだ…
		ENDIF
	ELSEIF TFLAG:コマンド成否 == 0
		IF TALENT:(MTAR:0):幼児 || TALENT:(MTAR:0):幼稚
			PRINTFORML 花冠を受け取った%ANAME(MTAR:0)%は機嫌よさそうに微笑んだ…
		ELSEIF GROUPMATCH(TALENT:(MTAR:0):性別, 0, 3)
			PRINTFORML 花冠を受け取った%ANAME(MTAR:0)%は苦笑いしている…
		ELSE
			PRINTFORML %ANAME(MTAR:0)%は少し照れながらも、%ANAME(MPLY:0)%に似合うかどうか聞いてきた…
		ENDIF
	ELSEIF TFLAG:コマンド成否 == -1
		IF TALENT:(MTAR:0):幼児 || TALENT:(MTAR:0):幼稚 || TFLAG:主導権所有者 == 1
			PRINTFORML ……だが、%ANAME(MTAR:0)%は気に入らなかったのか受け取った花冠を突き返した
		ELSEIF GROUPMATCH(TALENT:(MTAR:0):性別, 0, 3)
			PRINTFORML %ANAME(MTAR:0)%は馬鹿にされたように感じたらしく、花冠を払いのけてしまった…
		ELSE
			PRINTFORML %ANAME(MTAR:0)%は下心でもあると思ったのか、%ANAME(MPLY:0)%に疑いの視線を向けている…
		ENDIF
	ENDIF

;プレイヤーが相手側
ELSE
	;主導権が主人公側
	IF IS_INITIATIVE(MASTER)
		PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%に近くに生えている花を使って花冠を作るように要求した

		IF TFLAG:コマンド成否 == 1
			PRINTFORML %ANAME(MPLY:0)%は快く承諾すると、丁寧に花冠を作って%ANAME(MTAR:0)%の頭に乗せた
			PRINTFORML %ANAME(MPLY:0)%はよく似合っていると言って楽しそうに微笑んだ…
		ELSEIF TFLAG:コマンド成否 == 0
			PRINTFORML %ANAME(MPLY:0)%は快く承諾すると、丁寧に花冠を作って%ANAME(MTAR:0)%の頭に乗せた…
		ELSEIF TFLAG:コマンド成否 == -1
			PRINTFORML ……だが、%ANAME(MTAR:0)%に取り合ってもらえなかった
		ENDIF

	;主導権が相手側
	ELSE
		PRINTFORMW %ANAME(MPLY:0)%は近くに生えている花を使って花冠を作り、%ANAME(MTAR:0)%の頭に被せた

		IF TFLAG:コマンド成否 == 1
			PRINTFORML %ANAME(MPLY:0)%はよく似合っていると言って楽しそうに微笑んだ…
		ELSEIF TFLAG:コマンド成否 == -1
			PRINTFORML しかし出来が良くなかったのか、%ANAME(MPLY:0)%はイマイチという表情だ…
		ENDIF
	ENDIF
ENDIF

;-------------------------------------------------
;地の文(パラメータ・刻印変動後)
;-------------------------------------------------
@COM_TEXT_LAST356
;日常コマンドに共通の地の文
CALL COM_TEXT_LAST_LIFE

;-------------------------------------------------

;コマンド区分
;-------------------------------------------------

@COM_AVAILABLE_WHEN356
RETURN コマンド_日常


code:
;狩りをする

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME357
RESULTS:0 = 狩りに誘う
RESULTS:1 = 狩りに付き合う

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE357
;共通部分
CALL COM_ABLE_COMMON(357)
SIF RESULT == 0
	RETURN 0
;主人公がプレイヤーのとき限定
SIF MPLY:0 != MASTER
	RETURN 0
;森林でのデート中限定
SIF GET_PLACENAME(TFLAG:デート場所) != "森林"
	RETURN 0
;怪我なら不可
SIF CFLAG:(MTAR:0):行動不能状態 == 3
	RETURN 0
;キス中は不可
SIF IS_EQUIP(MPLY:0, 342)
	RETURN 0
RETURN 1

;-------------------------------------------------
;メイン処理
;-------------------------------------------------
@COM357
;コマンドの成否をTFLAG:コマンド成否にセット
CALL JUDGE_COM_RESULT(MTAR:0, 5, 5)

;身体の合計値に応じた確率で成功・失敗が切り替わる
LOCAL:0 = ABL:(MPLY:0):身体 + ABL:(MTAR:0):身体
IF TFLAG:コマンド成否 == -1 && RAND:160 < LOCAL:0
	TFLAG:コマンド成否 = 0
ELSEIF TFLAG:コマンド成否 == 0 && RAND:1000 >= LOCAL:0 * 2 + 800
	TFLAG:コマンド成否 = -1
ENDIF

;成長型による倍率を取得
LOCAL:0 = GROWTYPE_RATE(MTAR:0, "身体")
LOCAL:1 = 120 + (LOCAL:0 - 100) * 5 / 2
LOCAL:2 = 120 + (LOCAL:0 - 100) * 3 / 2

SOURCE:(MTAR:0):歓楽 = 20 * LOCAL:1 / 100

;適性がなく好感度・従属度が低いと恐怖と反感のソースを得る
IF LOCAL:0 < 100
	SOURCE:(MTAR:0):歓楽 = 0
	SOURCE:(MTAR:0):恐怖 = MAX(0, 100 - MAX(CFLAG:(MTAR:0):好感度, CFLAG:(MTAR:0):従属度) * 100 / 800)
	SOURCE:(MTAR:0):不安 = MAX(0, 200 - MAX(CFLAG:(MTAR:0):好感度, CFLAG:(MTAR:0):従属度) * 200 / 500)
ENDIF

;親密に応じた歓楽のソース追加
CALL ADD_SOURCE_KANRAKU(MTAR:0, LOCAL:2)

;親密に応じた愛情のソース追加
CALL ADD_SOURCE_AIZYOU(MPLY:0, 30)
CALL ADD_SOURCE_AIZYOU(MTAR:0, 30)

;主導権に応じたソースの追加
CALL ADD_SOURCE_INITIATIVE_N(MPLY:0, 100, 100)
CALL ADD_SOURCE_INITIATIVE_N(MTAR:0, 100, 100)

;失敗
IF TFLAG:コマンド成否 == -1
	TIMES SOURCE:(MTAR:0):歓楽, 0.20
	TIMES SOURCE:(MTAR:0):愛情, 0.20
	TIMES SOURCE:(MTAR:0):不安, 1.50
	SOURCE:(MTAR:0):不満 += 300

;成功
ELSEIF TFLAG:コマンド成否 == 0

;大成功
ELSE
	TIMES SOURCE:(MTAR:0):歓楽, 2.00
	TIMES SOURCE:(MTAR:0):愛情, 2.00
	TIMES SOURCE:(MTAR:0):不安, 0.50
ENDIF

;主導度変化基準値
TFLAG:主導度変化基準値 = 2

;倒錯度変化基準値
TFLAG:倒錯度変化基準値 = 0

RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE357
;主導権が主人公側
IF IS_INITIATIVE(MASTER)
	PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%と一緒に狩りをすることにした
;主導権が相手側
ELSE
	PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に誘われ、一緒に狩りをすることになった
ENDIF

IF GETBIT(TALENT:(MTAR:0):淫乱系, 素質_淫乱_雌犬)
	PRINTFORMW 獣姦にハマっている%ANAME(MTAR:0)%は、\@ RAND:2 == 0 ? 猟具を運んでいる馬 # 獲物を追い詰める猟犬 \@の逞しい体に色情を滲ませた瞳で見蕩れている
ENDIF

IF TFLAG:コマンド成否 == 1
	PRINTFORML 大きな獲物を捕えて%ANAME(MTAR:0)%は誇らしげにしている…
ELSEIF TFLAG:コマンド成否 == -1
	IF RAND:2 == 0 && ABL:(MPLY:0):身体 < 50 && ABL:(MTAR:0):身体 < 50
		PRINTFORML ……逆に獣に追われて散々な目に合ってしまった
	ELSE
		PRINTFORML ……さっぱり獲物が取れなかった
	ENDIF
ENDIF

;-------------------------------------------------
;地の文(パラメータ・刻印変動後)
;-------------------------------------------------
@COM_TEXT_LAST357
;日常コマンドに共通の地の文
CALL COM_TEXT_LAST_LIFE

;-------------------------------------------------

;コマンド区分
;-------------------------------------------------

@COM_AVAILABLE_WHEN357
RETURN コマンド_日常


code:
;背中を流す

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME358
RESULTS:0 = 背中を流す
RESULTS:1 = 背中を洗わされる
RESULTS:2 = 背中を流してもらう
RESULTS:3 = 背中を洗われる

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE358
;共通部分
CALL COM_ABLE_COMMON(358)
SIF RESULT == 0
	RETURN 0
;主人公以外が実行する場合、好感度が500以上必要
SIF MPLY:0 != MASTER && CFLAG:(MPLY:0):好感度 < 500
	RETURN 0
;温泉でのデート中限定
SIF GET_PLACENAME(TFLAG:デート場所) != "温泉"
	RETURN 0
;怪我なら不可
SIF CFLAG:(MTAR:0):行動不能状態 == 3
	RETURN 0
;キス中は不可
SIF IS_EQUIP(MPLY:0, 342)
	RETURN 0
RETURN 1

;-------------------------------------------------
;メイン処理
;-------------------------------------------------
@COM358
;実行できるかの判定
CALL COM_ORDER_COMMON
IF RESULT == 0
	RETURN 0
ENDIF

IF MPLY:0 == MASTER
	;コマンドの成否をTFLAG:コマンド成否にセット
	CALL JUDGE_COM_RESULT(MTAR:0, 5, 10)
ELSE
	;コマンドの成否をTFLAG:コマンド成否にセット
	CALL JUDGE_COM_RESULT(MPLY:0, 5, 10)
ENDIF

;固定で入るソース
SOURCE:(MPLY:0):接触 = 300
SOURCE:(MTAR:0):接触 = 300
SOURCE:(MPLY:0):露出 = 40
SOURCE:(MTAR:0):露出 = 80

;親密に応じた歓楽のソース追加
SOURCE:(MPLY:0):歓楽 = -30
SOURCE:(MTAR:0):歓楽 = -30
CALL ADD_SOURCE_KANRAKU(MPLY:0, 165)
CALL ADD_SOURCE_KANRAKU(MTAR:0, 165)
SOURCE:(MPLY:0):歓楽 = MAX(SOURCE:(MPLY:0):歓楽, 0)
SOURCE:(MTAR:0):歓楽 = MAX(SOURCE:(MTAR:0):歓楽, 0)

;親密に応じた愛情のソース追加
CALL ADD_SOURCE_AIZYOU(MPLY:0, 120)
CALL ADD_SOURCE_AIZYOU(MTAR:0, 120)

;主導権に応じたソースの追加
CALL ADD_SOURCE_INITIATIVE_N(MPLY:0, 70, 70)
CALL ADD_SOURCE_INITIATIVE_N(MTAR:0, 70, 70)

;レズ・ＢＬ経験基準値
TFLAG:レズ・ＢＬ経験基準値 = 1

;失敗
IF TFLAG:コマンド成否 == -1
	TIMES SOURCE:(MPLY:0):歓楽, 0.20
	TIMES SOURCE:(MPLY:0):愛情, 0.20
	TIMES SOURCE:(MTAR:0):歓楽, 0.20
	TIMES SOURCE:(MTAR:0):愛情, 0.20
	SOURCE:(MPLY:0):不満 += 500
	SOURCE:(MTAR:0):不満 += 500
	TFLAG:ムード -= 5
;成功
ELSEIF TFLAG:コマンド成否 == 0

;大成功
ELSE
	TIMES SOURCE:(MPLY:0):歓楽, 2.00
	TIMES SOURCE:(MPLY:0):愛情, 2.00
	TIMES SOURCE:(MTAR:0):歓楽, 2.00
	TIMES SOURCE:(MTAR:0):愛情, 2.00
	TFLAG:ムード += 5
ENDIF

;主導度変化基準値
TFLAG:主導度変化基準値 = 3

;倒錯度変化基準値
TFLAG:倒錯度変化基準値 = -1

RETURN 1

;-------------------------------------------------
;固有の実行判定
;-------------------------------------------------
@COM_ORDER_PLAYER358(ARG:0)
;実行値の設定
TCVAR:(ARG:0):実行値 = 30

;共通部分
CALL COM_ORDER(ARG:0)

CALL COM_ORDER_ELEMENT(ARG:0, @"欲望Lv{ABL:(ARG:0):欲望}", ABL:(ARG:0):欲望 * 1)
CALL COM_ORDER_ELEMENT(ARG:0, @"奉仕Lv{ABL:(ARG:0):奉仕}", ABL:(ARG:0):奉仕 * 3)

;好感度
LOCAL:0 = CFLAG:(ARG:0):好感度 / 75
CALL COM_ORDER_ELEMENT(ARG:0, @"好感度", LOCAL:0)

IF TALENT:(ARG:0):恥じらい
	CALL COM_ORDER_ELEMENT(ARG:0, "恥じらい", -3)
ENDIF
IF TALENT:(ARG:0):献身的
	CALL COM_ORDER_ELEMENT(ARG:0, "献身的", 6)
ENDIF
IF TALENT:(ARG:0):母性
	CALL COM_ORDER_ELEMENT(ARG:0, "母性", 3)
ENDIF
IF TFLAG:デート場所
	CALL COM_ORDER_ELEMENT(ARG:0, "デート中", 3)
ENDIF
RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE358
;プレイヤーが主人公側
IF MPLY:0 == MASTER
	;主導権が主人公側
	IF IS_INITIATIVE(MASTER)
		PRINTFORMW %ANAME(MPLY:0)%は手拭いを持って%ANAME(MTAR:0)%の背中を洗った
	;主導権が相手側
	ELSE
		PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%に背中を洗わせた
	ENDIF

	IF TFLAG:コマンド成否 == 1
		PRINTFORML %ANAME(MTAR:0)%は気持ち良さそうだ…
	ELSEIF TFLAG:コマンド成否 == -1
		PRINTFORML が、どうやら強く擦りすぎてしまったらしく、%ANAME(MTAR:0)%は痛みに抗議の声を上げた…
	ENDIF

;プレイヤーが相手側
ELSE
	;主導権が主人公側
	IF IS_INITIATIVE(MASTER)
		PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%に背中を洗わせた
	;主導権が相手側
	ELSE
		PRINTFORMW %ANAME(MPLY:0)%は強引に%ANAME(MTAR:0)%に背を向けさせると、手拭いで背中を洗ってきた
	ENDIF

	IF TFLAG:コマンド成否 == 1
		PRINTFORML %ANAME(MPLY:0)%は楽しそうにしている…
	ELSEIF TFLAG:コマンド成否 == -1
		PRINTFORML が、気合が入りすぎたのか、強く擦られすぎて%ANAME(MTAR:0)%の背中はヒリヒリと痛んだ…
	ENDIF
ENDIF

;-------------------------------------------------
;地の文(パラメータ・刻印変動後)
;-------------------------------------------------
@COM_TEXT_LAST358
;日常コマンドに共通の地の文
CALL COM_TEXT_LAST_LIFE

;-------------------------------------------------

;コマンド区分
;-------------------------------------------------

@COM_AVAILABLE_WHEN358
RETURN コマンド_日常


code:
;背面騎乗位

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME35
IF IS_INSERT_SINGLE(MTAR:0, "Ａ") && GROUPMATCH(GET_SEX_POSITION_SINGLE(MTAR:0, "Ａ"), 2, 4, 30) && IS_INSERT_MUTUAL(MPLY:0, MTAR:0) != 2
	LOCALS:0 = 二穴背面騎乗位
ELSE
	LOCALS:0 = 背面騎乗位
ENDIF
RESULTS:0 = %LOCALS:0%で奉仕させる
RESULTS:1 = %LOCALS:0%で責められる
RESULTS:2 = %LOCALS:0%で跨る
RESULTS:3 = %LOCALS:0%で奉仕させられる
RESULTS:4 = %LOCALS:0%で突き上げさせる
RESULTS:5 = %LOCALS:0%見せつけ

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE35
;共通部分
CALL COM_ABLE_COMMON(35)
SIF RESULT == 0
	RETURN 0
;プレイヤーは最大で1人まで
SIF MPLY_NUM <= 0 || MPLY_NUM > 1
	RETURN 0
;ターゲットは最大で1人まで
SIF MTAR_NUM <= 0 || MTAR_NUM > 1
	RETURN 0
;対象にＶが必要
SIF !HAS_VAGINA(MTAR:0, 1)
	RETURN 0
SIF IS_V_HOLD(MTAR:0)
	RETURN 0
;assfucked in any position except doggy or sitting backwards
SIF IS_INSERT_SINGLE(MTAR:0, "Ａ") && !GROUPMATCH(GET_SEX_POSITION_SINGLE(MTAR:0, "Ａ"), 2, 4, 30)
	RETURN 0
SIF !CAN_FUCK(MPLY:0, MTAR:0, 35)
	RETURN 0
SIF REACHING_BODY(MTAR, MPLY)
	RETURN 0
SIF LICKING_BODY(MTAR, MPLY) || LICKING_BODY(MPLY, MTAR)
	RETURN 0
RETURN 1

;-------------------------------------------------
;メイン処理
;-------------------------------------------------
@COM35
;実行判定
CALL COM_ORDER_COMMON
SIF RESULT == 0
	RETURN 0

;既に挿入中なら現在の体位を取得
TFLAG:17 = 0
IF IS_INSERT_MUTUAL(MPLY:0, MTAR:0) == 1
	SELECTCASE GET_SEX_POSITION(MPLY:0, MTAR:0)
		CASE 1
			TFLAG:17 = 1
		CASE 2
			TFLAG:17 = 1
		CASE 3
			TFLAG:17 = 2
		CASE 4
			TFLAG:17 = 2
		CASE 5
			TFLAG:17 = 3
		CASE 6
			TFLAG:17 = 4
		CASE 7
			TFLAG:17 = 1
		CASE 8
			TFLAG:17 = 1
	ENDSELECT
ENDIF
IF TFLAG:17 == 0
	SELECTCASE PREVCOM
		CASE 30
			TFLAG:17 = 1
		CASE 31
			TFLAG:17 = 1
		CASE 32
			TFLAG:17 = 2
		CASE 33
			TFLAG:17 = 2
		CASE 34
			TFLAG:17 = 3
		CASE 35
			TFLAG:17 = 4
		CASE 37
			TFLAG:17 = 1
		CASE 38
			TFLAG:17 = 1
	ENDSELECT
ENDIF

;挿入関係を一時リセット
CALL CLEAR_INSERT_FLAG(MPLY:0, "Ｐ")

;●プレイヤー側の処理
DOWNBASE:(MPLY:0):体力 += 120

EXP:(MPLY:0):性技経験値 += 1
EXP:(MPLY:0):性交経験値 += 2

SOURCE:(MPLY:0):快Ｐ = SENSE_SEX_TARGET_P(MTAR:0, MPLY:0, 1500)
SOURCE:(MPLY:0):露出 = 300
SOURCE:(MPLY:0):性行動 = 450

IF MTAR:0 == MASTER
	CALL ADD_SOURCE_AIZYOU(MPLY:0, 80)
ELSEIF MPLY:0 != MASTER
	SOURCE:(MPLY:0):露出 += 200
ENDIF

;性交系の共通処理
CALL COM_COMMON_SEX_P(MPLY:0, MTAR:0)

;主導権に応じた優越・屈従のソース追加
CALL ADD_SOURCE_INITIATIVE_U(MPLY:0, 180, 150)

;奉仕経験値を得られるコマンドのフラグ
TCVAR:(MPLY:0):奉仕経験取得可能 = 1

;●ターゲット側の処理
DOWNBASE:(MTAR:0):体力 += 160

EXP:(MTAR:0):性技経験値 += 1
EXP:(MTAR:0):性交経験値 += 2

SOURCE:(MTAR:0):快Ｖ = SENSE_SEX_PLAYER(MTAR:0, MPLY:0, 1500)
SOURCE:(MTAR:0):性行動 = 450

IF MPLY:0 == MASTER
	CALL ADD_SOURCE_AIZYOU(MTAR:0, 80)
ELSEIF MTAR:0 != MASTER
	SOURCE:(MTAR:0):露出 += 200
ENDIF

;性交系の共通処理
CALL COM_COMMON_SEX_V(MTAR:0, MPLY:0)

;主導権に応じた優越・屈従のソース追加
CALL ADD_SOURCE_INITIATIVE_U(MTAR:0, 200, 150)

;奉仕経験値を得られるコマンドのフラグ
TCVAR:(MTAR:0):奉仕経験取得可能 = 1

;体位フラグのセット
TCVAR:(MPLY:0):31 = 6
TCVAR:(MTAR:0):33 = 6

;主導度変化基準値
TFLAG:主導度変化基準値 = 3

;倒錯度変化基準値
TFLAG:倒錯度変化基準値 = 1

;レズ・ＢＬ経験基準値
TFLAG:レズ・ＢＬ経験基準値 = 4

RETURN 1

;-------------------------------------------------
;継続コマンドかどうかを設定
;-------------------------------------------------
@COM_IS_EQUIP35
RETURN 1

;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP35(ARG:0)
LOCAL:2 = MEQUIP_PLAYER:(ARG:0):0
LOCAL:3 = MEQUIP_TARGET:(ARG:0):0

;ソースを退避
CALL PUTOUT_SOURCE(LOCAL:2)
CALL PUTOUT_SOURCE(LOCAL:3)

DOWNBASE:(LOCAL:2):体力 += 20

EXP:(LOCAL:2):性技経験値 += 1
EXP:(LOCAL:2):性交経験値 += 1

SOURCE:(LOCAL:2):快Ｐ += SENSE_SEX_TARGET_P(LOCAL:3, LOCAL:2, 750)
SOURCE:(LOCAL:2):露出 += 200
SOURCE:(LOCAL:2):性行動 += 150

;性交系の共通処理
CALL COM_COMMON_SEX_P(LOCAL:2, LOCAL:3)

;奉仕経験値を得られるコマンドのフラグ
TCVAR:(LOCAL:2):奉仕経験取得可能 = 1

DOWNBASE:(LOCAL:3):体力 += 20

EXP:(LOCAL:3):性技経験値 += 1
EXP:(LOCAL:3):性交経験値 += 1

SOURCE:(LOCAL:3):快Ｖ += SENSE_SEX_PLAYER(LOCAL:2, LOCAL:3, 750)
SOURCE:(LOCAL:3):露出 += 200
SOURCE:(LOCAL:3):性行動 += 150

;性交系の共通処理
CALL COM_COMMON_SEX_V(LOCAL:3, LOCAL:2)

;奉仕経験値を得られるコマンドのフラグ
TCVAR:(LOCAL:3):奉仕経験取得可能 = 1

;退避したソースを加算
CALL SUM_SOURCE(LOCAL:2)
CALL SUM_SOURCE(LOCAL:3)

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE35(ARG:0)
RESULTS = %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%の膣に背面騎乗位で挿入中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP35(ARG:0)
LOCAL:0 = MEQUIP_TARGET:(ARG:0):0
SELECTCASE RAND:2
	CASE 0
		;ターゲットが行動不能
		IF !IS_PLAYABLE(LOCAL:0)
			PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%が下から%EQUIP_TARGET_ANAME(ARG:0)%の膣を突き上げている…
		ELSE
			PRINTFORML %EQUIP_TARGET_ANAME(ARG:0)%が%EQUIP_PLAYER_ANAME(ARG:0)%に背を向けて跨がり腰を振っている…
		ENDIF
	CASE 1
		;ターゲットが行動不能
		IF !IS_PLAYABLE(LOCAL:0)
			SELECTCASE RAND:2
				CASE 0
					PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は気絶した%EQUIP_TARGET_ANAME(ARG:0)%の腰を下から激しく突き上げている…
				CASE 1
					PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%はぐったりとした%EQUIP_TARGET_ANAME(ARG:0)%を後ろ向きで腰の上に乗せたまま、下から突き上げている…
			ENDSELECT
		ELSE
			SELECTCASE GET_COM_INITIATIVE()
					;プレイヤーに主導権
				CASE 0
					SELECTCASE RAND:2
						CASE 0
							PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は背面騎乗位の体勢で挿入したままの%EQUIP_TARGET_ANAME(ARG:0)%に尻を振らせている…
						CASE 1
							PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は%EQUIP_TARGET_ANAME(ARG:0)%の尻の動きに合わせて腰を突き上げ、%EQUIP_PLAYER_ANAME(ARG:0)%のソレを膣の奥深くまで押し込んでいる…
					ENDSELECT
					;ターゲットに主導権
				CASE 1
					PRINTFORML %EQUIP_TARGET_ANAME(ARG:0)%は%EQUIP_PLAYER_ANAME(ARG:0)%のソレを締め付けながら、さらに尻を振って%EQUIP_PLAYER_ANAME(ARG:0)%を責め立てている…
					;第三者に主導権
				CASEELSE
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%EQUIP_PLAYER_ANAME(ARG:0)%に背を向けて跨る%EQUIP_TARGET_ANAME(ARG:0)%に対して、もっと激しく尻を振るように命令し
					PRINTFORML %EQUIP_TARGET_ANAME(ARG:0)%は%EQUIP_PLAYER_ANAME(ARG:0)%のソレを締め付けながら、命じられるままにひたすら腰を振っている…

			ENDSELECT
		ENDIF
ENDSELECT

;-------------------------------------------------
;継続を解除したときの地の文
;-------------------------------------------------
@COM_TEXT_RELEASE_EQUIP35(ARG:0)
IF IS_BIND(LOCAL:0) || !IS_PLAYABLE(LOCAL:0)
	PRINTFORMW %EQUIP_PLAYER_ANAME(ARG:0)%は%EQUIP_TARGET_ANAME(ARG:0)%の体を持ち上げて膣から%BAR_NAME(MEQUIP_PLAYER:(ARG:0):0)%を引き抜いた…
ELSE
	PRINTFORMW %EQUIP_TARGET_ANAME(ARG:0)%は腰を上げて%EQUIP_PLAYER_ANAME(ARG:0)%の%BAR_NAME(MEQUIP_PLAYER:(ARG:0):0)%を膣から引き抜いた…
ENDIF

;-------------------------------------------------
;固有の実行判定(ターゲット側)
;-------------------------------------------------
@COM_ORDER_TARGET35(ARG:0)
;実行値の設定
TCVAR:(ARG:0):実行値 = 120

;膣性交共通
CALL COM_ORDER_VSEX_V(ARG:0)
RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE35
IF IS_PIERCED(MTAR:0, ピアス_ラビア)
	LOCALS:0 = ピアスの取り付けられた
ELSE
	LOCALS:0 =
ENDIF
IF TALENT:(MTAR:0):処女 == 1
	LOCALS:0 = まだ乙女の
ELSEIF PALAM:(MTAR:0):潤滑 >= PALAMLV:7
	LOCALS:0 = 濡れそぼった
ELSE
	LOCALS:0 =
ENDIF
IF IS_OVULATION(MTAR:0)
	LOCALS:0 = %LOCALS:0%危険日の
ENDIF

IF TALENT:(MTAR:0):体格 == 体格_小柄
	LOCALS:0 = %LOCALS:0%幼いワレメ
ELSE
	LOCALS:0 = %LOCALS:0%秘裂
ENDIF

;ペニスバンド装着中
IF IS_EQUIP_PLAYER((MPLY:0), 50)
	;ターゲットが行動不能
	IF !IS_PLAYABLE(MTAR:0)
		;第三者に主導権
		IF !GROUPMATCH(GET_COM_INITIATIVE(), 0, 1)
			PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に、%ANAME(MTAR:0)%を背面騎乗位の体勢で犯すように命令した
		ENDIF
		IF TALENT:(MTAR:0):処女
			PRINTFORML %ANAME(MPLY:0)%はぐったりとした%ANAME(MTAR:0)%を後ろ向きにして腰の上に乗せ、下から%ANAME(MTAR:0)%の%LOCALS:0%へと張り型を突き挿れた…
		ELSE
			PRINTFORML %ANAME(MPLY:0)%はぐったりとした%ANAME(MTAR:0)%を後ろ向きにして腰の上に乗せ、下から張り型で%ANAME(MTAR:0)%の%LOCALS:0%を突き上げた…
		ENDIF

	ELSE
		IF TALENT:(MTAR:0):処女
			SELECTCASE GET_COM_INITIATIVE()
					;プレイヤーに主導権
				CASE 0
					PRINTFORML %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に、背面騎乗位で処女を捧げるように要求した
					PRINTFORML %ANAME(MTAR:0)%は言われるまま%ANAME(MPLY:0)%の上に背を向けて跨り、反り立つ張り型を自身の%LOCALS:0%へと挿入した…
					;ターゲットに主導権
				CASE 1
					IF MTAR:0 == MASTER
						PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の上に背を向けて跨り、反り立つ張り型を自身の%LOCALS:0%へと挿入し%PLAYER_STR("た", "てきた")%…
					ELSE
						PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の上に背を向けて跨ると、ゆっくりと自身の%LOCALS:0%に張り型を挿入し%PLAYER_STR("た", "てきた")%…
					ENDIF
					;第三者に主導権
				CASEELSE
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MTAR:0)%に、背面騎乗位で%ANAME(MPLY:0)%に跨るように命令した
					PRINTFORML %ANAME(MTAR:0)%は言われるまま%ANAME(MPLY:0)%の上に背を向けて跨り、反り立つ張り型を自身の%LOCALS:0%へと挿入した…
			ENDSELECT

			;既に挿入済みの場合
		ELSEIF TFLAG:17
			SELECTCASE GET_COM_INITIATIVE()
					;プレイヤーに主導権
				CASE 0
					;前回が正常位・後背位・対面座位・背面座位
					IF GROUPMATCH(TFLAG:17, 1, 2)
						PRINTFORML %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%を後ろ向きで上に跨がらせ、背面騎乗位の体勢で%STR_BODY("尻：長", MTAR:0)%を振らせた…
						;前回が騎乗位
					ELSEIF TFLAG:17 == 3
						PRINTFORML %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%に後ろを向かせ、背面騎乗位の体勢で%STR_BODY("尻：長", MTAR:0)%を振らせた…
						;前回が背面騎乗位
					ELSE
						PRINTFORML %ANAME(MPLY:0)%は%ANAME(MTAR:0)%の%STR_BODY("尻：性交：背面騎乗位：長", MTAR:0)%の動きに合わせて腰を突き上げ、張り型を膣の奥深くまで押し込ん%TARGET_STR("だ", "できた")%…
					ENDIF
					;ターゲットに主導権
				CASE 1
					;前回が正常位・後背位・対面座位・背面座位
					IF GROUPMATCH(TFLAG:17, 1, 2)
						PRINTFORML %ANAME(MTAR:0)%は挿入したまま%ANAME(MPLY:0)%の上に跨がり、背面騎乗位の体勢で%STR_BODY("尻：長", MTAR:0)%を振り始めた…
						;前回が騎乗位
					ELSEIF TFLAG:17 == 3
						PRINTFORML %ANAME(MTAR:0)%は挿入したまま後ろ向きになると、今度は背面騎乗位の体勢で%STR_BODY("尻：長", MTAR:0)%を振り始めた…
						;前回が背面騎乗位
					ELSE
						PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の張り型を締め付けながら、さらに%STR_BODY("尻：長", MTAR:0)%を振って快楽を貪っている…
					ENDIF
					;第三者に主導権
				CASEELSE
					;前回が正常位・後背位・対面座位・背面座位
					IF GROUPMATCH(TFLAG:17, 1, 2)
						PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MTAR:0)%に対し、%ANAME(MPLY:0)%の上になって背面騎乗位で腰を振るように命令した
						PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の上に背を向けて跨ると、張り型を締め付けながら腰を動かし始めた…
						;前回が騎乗位
					ELSEIF TFLAG:17 == 2
						PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に跨って腰を振る%ANAME(MTAR:0)%に対し、後ろを向いて背面騎乗位の体勢になるように命令した
						PRINTFORMW %ANAME(MTAR:0)%は挿入したまま体を回して%ANAME(MPLY:0)%に背を向けると、再び腰を動かし始めた…
						;前回が背面騎乗位
					ELSEIF TFLAG:17 == 3
						PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に背を向けて跨る%ANAME(MTAR:0)%に対して、もっと激しく尻を振るように命令した
						PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の張り型を締め付けながら、命じられるままにひたすら腰を跳ねさせた…
					ENDIF
			ENDSELECT

		ELSE
			SELECTCASE GET_COM_INITIATIVE()
					;プレイヤーに主導権
				CASE 0
					PRINTFORML %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に、背を向けて上に跨り尻を振るように要求した
					PRINTFORML %ANAME(MTAR:0)%は言われるまま%ANAME(MPLY:0)%に%STR_BODY("尻：長", MTAR:0)%を向け、反り立つ張り型を自身の%LOCALS:0%へと挿入した…
					;ターゲットに主導権
				CASE 1
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の上に%STR_BODY("尻：長", MTAR:0)%を向けて跨がると、張り型を自身の%LOCALS:0%で咥え込ん%PLAYER_STR("だ", "できた")%…
					;第三者に主導権
				CASEELSE
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MTAR:0)%に、背面騎乗位で%ANAME(MPLY:0)%に跨るように命令した
					PRINTFORML %ANAME(MTAR:0)%は言われるまま%ANAME(MPLY:0)%の上に背を向けて跨り、反り立つ張り型を自身の%LOCALS:0%へと挿入した…
			ENDSELECT

			IF ABL:(MTAR:0):性技 >= 3 && MTAR:0 != MASTER
				PRINTFORM %ANAME(MTAR:0)%は
				IF TALENT:(MTAR:0):体格 == 体格_小柄
					PRINTFORML %ANAME(MPLY:0)%の腰の上で%STR_BODY("尻：長", MTAR:0)%を上下に振り動かしている…
				ELSE
					PRINTFORML 自ら%ANAME(MPLY:0)%の腰に%STR_BODY("尻：長", MTAR:0)%を打ち付けている…
				ENDIF
			ENDIF
		ENDIF
	ENDIF

	;ペニスバンド不使用
ELSE
	;ターゲットが行動不能
	IF !IS_PLAYABLE(MTAR:0)
		;第三者に主導権
		IF !GROUPMATCH(GET_COM_INITIATIVE(), 0, 1)
			PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に、%ANAME(MTAR:0)%を背面騎乗位の体勢で犯すように命令した
		ENDIF
		IF TALENT:(MTAR:0):処女
			PRINTFORML %ANAME(MPLY:0)%はぐったりとした%ANAME(MTAR:0)%を後ろ向きにして腰の上に乗せ、下から%ANAME(MTAR:0)%の%LOCALS:0%へとペニスを突き挿れた…
		ELSE
			PRINTFORML %ANAME(MPLY:0)%はぐったりとした%ANAME(MTAR:0)%を後ろ向きにして腰の上に乗せ、下から%ANAME(MTAR:0)%の%LOCALS:0%を突き上げた…
		ENDIF

	ELSE
		IF TALENT:(MTAR:0):処女
			SELECTCASE GET_COM_INITIATIVE()
					;プレイヤーに主導権
				CASE 0
					PRINTFORML %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に、背面騎乗位で処女を捧げるように要求した
					PRINTFORML %ANAME(MTAR:0)%は言われるまま%ANAME(MPLY:0)%の上に背を向けて跨り、反り立つペニスを自身の%LOCALS:0%へと挿入した…
					;ターゲットに主導権
				CASE 1
					IF MTAR:0 == MASTER
						PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の上に背を向けて跨り、反り立つペニスを自身の%LOCALS:0%へと挿入し%PLAYER_STR("た", "てきた")%…
					ELSE
						PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の上に背を向けて跨ると、少し緊張した様子でペニスを自身の%LOCALS:0%へと挿入し%PLAYER_STR("た", "てきた")%…
					ENDIF
					;第三者に主導権
				CASEELSE
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MTAR:0)%に、背面騎乗位で%ANAME(MPLY:0)%に跨るように命令した
					PRINTFORML %ANAME(MTAR:0)%は言われるまま%ANAME(MPLY:0)%の上に背を向けて跨り、反り立つペニスを自身の%LOCALS:0%へと挿入した…
			ENDSELECT

			;既に挿入済みの場合
		ELSEIF TFLAG:17
			SELECTCASE GET_COM_INITIATIVE()
					;プレイヤーに主導権
				CASE 0
					;前回が正常位・後背位・対面座位・背面座位
					IF GROUPMATCH(TFLAG:17, 1, 2)
						PRINTFORML %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%を後ろ向きで上に跨がらせ、背面騎乗位の体勢で%STR_BODY("尻：長", MTAR:0)%を振らせた…
						;前回が騎乗位
					ELSEIF TFLAG:17 == 3
						PRINTFORML %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%に後ろを向かせ、背面騎乗位の体勢で%STR_BODY("尻：長", MTAR:0)%を振らせた…
						;前回が背面騎乗位
					ELSE
						PRINTFORML %ANAME(MPLY:0)%は%ANAME(MTAR:0)%の%STR_BODY("尻：性交：背面騎乗位：長", MTAR:0)%の動きに合わせて腰を突き上げ、ペニスを膣の奥深くまで押し込ん%TARGET_STR("だ", "できた")%…
					ENDIF
					;ターゲットに主導権
				CASE 1
					;前回が正常位・後背位・対面座位・背面座位
					IF GROUPMATCH(TFLAG:17, 1, 2)
						PRINTFORML %ANAME(MTAR:0)%は挿入したまま%ANAME(MPLY:0)%の上に跨がり、背面騎乗位の体勢で%STR_BODY("尻：長", MTAR:0)%を振り始めた…
						;前回が騎乗位
					ELSEIF TFLAG:17 == 3
						PRINTFORML %ANAME(MTAR:0)%は挿入したまま後ろ向きになると、今度は背面騎乗位の体勢で%STR_BODY("尻：長", MTAR:0)%を振り始めた…
						;前回が背面騎乗位
					ELSE
						PRINTFORML %ANAME(MTAR:0)%はペニスを締め付けながら、さらに%STR_BODY("尻：長", MTAR:0)%を振って%ANAME(MPLY:0)%を責め立て%PLAYER_STR("た", "てきた")%…
					ENDIF
					;第三者に主導権
				CASEELSE
					;前回が正常位・後背位・対面座位・背面座位
					IF GROUPMATCH(TFLAG:17, 1, 2)
						PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MTAR:0)%に対し、%ANAME(MPLY:0)%の上になって背面騎乗位で腰を振るように命令した
						PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の上に背を向けて跨ると、ペニスを締め付けながら腰を動かし始めた…
						;前回が騎乗位
					ELSEIF TFLAG:17 == 2
						PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に跨って腰を振る%ANAME(MTAR:0)%に対し、後ろを向いて背面騎乗位の体勢になるように命令した
						PRINTFORML %ANAME(MTAR:0)%は挿入したまま体を回して%ANAME(MPLY:0)%に背を向けると、再び腰を動かし始めた…
						;前回が背面騎乗位
					ELSEIF TFLAG:17 == 3
						PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に背を向けて跨る%ANAME(MTAR:0)%に対して、もっと激しく尻を振るように命令した
						PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%のペニスを締め付けながら、命じられるままにひたすら腰を跳ねさせた…
					ENDIF
			ENDSELECT

		ELSE
			SELECTCASE GET_COM_INITIATIVE()
					;プレイヤーに主導権
				CASE 0
					PRINTFORML %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に、背を向けて上に跨り尻を振るように要求した
					PRINTFORML %ANAME(MTAR:0)%は言われるまま%ANAME(MPLY:0)%に%STR_BODY("尻：長", MTAR:0)%を向け、反り立つペニスを自身の%LOCALS:0%へと挿入した…
					;ターゲットに主導権
				CASE 1
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の上に%STR_BODY("尻：長", MTAR:0)%を向けて跨がると、自身の%LOCALS:0%でペニスを咥え込ん%PLAYER_STR("だ", "できた")%…
					;第三者に主導権
				CASEELSE
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MTAR:0)%に、背面騎乗位で%ANAME(MPLY:0)%に跨るように命令した
					PRINTFORML %ANAME(MTAR:0)%は言われるまま%ANAME(MPLY:0)%の上に背を向けて跨り、反り立つペニスを自身の%LOCALS:0%へと挿入した…
			ENDSELECT

			IF ABL:(MTAR:0):性技 >= 3 && MTAR:0 != MASTER
				PRINTFORM %ANAME(MTAR:0)%は
				IF TALENT:(MTAR:0):体格 == 体格_小柄
					PRINTFORML %ANAME(MPLY:0)%の腰の上で%STR_BODY("尻：長", MTAR:0)%を上下に振り動かしている…
				ELSE
					PRINTFORML 自ら%ANAME(MPLY:0)%の腰に%STR_BODY("尻：長", MTAR:0)%を打ち付けている…
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF
WAIT

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST35
SIF IS_PIERCED(MPLY:0, ピアス_ペニス)
	PRINTFORML %ANAME(MPLY:0)%のペニスに取り付けられたピアスが、%ANAME(MTAR:0)%の膣内をごりごりと抉っていく……

IF MPLY:0 != MASTER
ENDIF

IF MTAR:0 != MASTER
	LOCAL:2 = CUP:(MTAR:0):快Ｖ

	IF TCVAR:(MTAR:0):失神フラグ
		;気絶中
		PRINTFORML %ANAME(MTAR:0)%は突き上げられるたびにガクガクと体を震わせ、口端からだらしなく涎を垂らしている
	ELSEIF LOCAL:2 < 300
		PRINTFORML %ANAME(MTAR:0)%は必死に腰を動かすが、まだ快楽を得るには遠いようで、少し苦しそうだ
	ELSEIF LOCAL:2 < 1000
		PRINTFORML %ANAME(MTAR:0)%は苦しそうにしているが、その声には快楽の喘ぎが混じっている
	ELSEIF LOCAL:2 < 3000
		PRINTFORML %ANAME(MTAR:0)%は腰を振りながらこらえきれない快楽に可愛らしい声を漏らしている
	ELSEIF LOCAL:2 < 6000
		PRINTFORML %ANAME(MTAR:0)%は大分慣れてきたのか、快楽に突き上げられながら自ら進んで腰を振っている
	ELSEIF LOCAL:2 < 10000
		PRINTFORM %ANAME(MTAR:0)%は
		IF TALENT:(MTAR:0):抑圧 || TALENT:(MTAR:0):孤高 || TALENT:(MTAR:0):快感の否定
			PRINTFORML 快楽を否定する言葉を吐きつつ、こらえ切れない喘ぎ声を上げ続けている
		ELSE
			IF TALENT:(MTAR:0):体格 == 体格_小柄
				PRINTFORM その小さな身体で
			ENDIF
			PRINTFORML 一生懸命腰を振り背中を反らしながら快楽の喘ぎ声を上げた
		ENDIF
	ELSE
		PRINTFORML %ANAME(MTAR:0)%はあられもない嬌声を上げながら、激しく腰を振り快楽を貪っている
	ENDIF
ENDIF

;-------------------------------------------------

;コマンド区分
;-------------------------------------------------

@COM_AVAILABLE_WHEN35
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_35()
RETURN POWER(2, 性的嗜好_性交したい)

@COM_PREFERENCE_TARGET_35()
RETURN POWER(2, 性的嗜好_性交されたい)

@COM_STACK_SPERM_MPLY_TO_MTAR_35()
RETURN 射精部位_膣内


code:
;代わる代わる挿入する

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME36

IF IS_INSERT_SINGLE(MTAR:0, "Ａ") && IS_INSERT_MUTUAL(MPLY, MTAR:0) != 2
	LOCALS:0 = 二穴二本挿入
ELSE
	LOCALS:0 = 二本挿入
ENDIF

RESULTS:0 = %LOCALS:0%する
RESULTS:1 = %LOCALS:0%させられる
RESULTS:2 = %LOCALS:0%させる
RESULTS:3 = %LOCALS:0%される
RESULTS:4 = %LOCALS:0%させる
RESULTS:5 = %LOCALS:0%見せつけ

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE36
;共通部分
CALL COM_ABLE_COMMON(36)
SIF RESULT == 0
	RETURN 0
;プレイヤーは2人
SIF MPLY_NUM != 2
	RETURN 0
;ターゲットは1人
SIF MTAR_NUM != 1
	RETURN 0

FOR LOCAL:0, 0, MPLY_NUM
	SIF !CAN_FUCK(MPLY:(LOCAL:0), MTAR:0, 36)
		RETURN 0

NEXT

;Ｖが必要
SIF !HAS_VAGINA(MTAR:0, 1)
	RETURN 0
;Ｖが埋まっているなら不可
SIF IS_V_HOLD(MTAR:0)
	RETURN 0
;todo shouldn't this mostly depend on TALENT:MTAR:Ｖ締まり? same with the text
;SIF EXP:(MTAR:0):Ｖ拡張経験 <= 5 && ABL:(MTAR:0):Ｖ感 < 5
;	RETURN 0
RETURN 1

;-------------------------------------------------
;メイン処理
;-------------------------------------------------
@COM36
;実行判定
CALL COM_ORDER_COMMON
SIF RESULT == 0
	RETURN 0

;挿入関係を一時リセット

FOR LOCAL:0, 0, MPLY_NUM
	CALL CLEAR_INSERT_FLAG(MPLY:(LOCAL:0), "Ｐ")

	;プレイヤーが行動不能または拘束中なら騎乗位挿入にする
	LOCAL:6 = !IS_PLAYABLE(MPLY:(LOCAL:0)) || IS_BIND(MPLY:(LOCAL:0))

	;●プレイヤー側の処理
	EXP:(MPLY:(LOCAL:0)):性技経験値 += 2
	EXP:(MPLY:(LOCAL:0)):性交経験値 += 3

	LOCAL:5 = 0
	FOR LOCAL:1, 0, MTAR_NUM
		IF LOCAL:6
			SOURCE:(MPLY:(LOCAL:0)):快Ｐ = SENSE_SEX_TARGET_P(MTAR:0, MPLY:(LOCAL:0), 1500)
		ELSE
			SOURCE:(MPLY:(LOCAL:0)):快Ｐ = SENSE_SEX_PLAYER_P(MTAR:0, MPLY:(LOCAL:0), 1500)
		ENDIF

		;性交系の共通処理
		CALL COM_COMMON_SEX_P(MPLY:(LOCAL:0), MTAR:(LOCAL:1))

		LOCAL:5 += SOURCE:(MPLY:(LOCAL:0)):快Ｐ
		SOURCE:(MPLY:(LOCAL:0)):快Ｐ = 0
	NEXT
	SOURCE:(MPLY:(LOCAL:0)):快Ｐ = LOCAL:5 / MPLY_NUM
	SOURCE:(MPLY:(LOCAL:0)):露出 = 100
	SOURCE:(MPLY:(LOCAL:0)):性行動 = 450

	;主導権に応じた優越・屈従のソース追加
	CALL ADD_SOURCE_INITIATIVE_U(MPLY:(LOCAL:0), 200, 100)

	;奉仕経験値を得られるコマンドのフラグ
	TCVAR:(MPLY:(LOCAL:0)):4 = 1
NEXT

;体位フラグのセット
;TCVAR:(MPLY:0):31 = 1
;TCVAR:(MTAR:0):33 = 1

LOCAL:3 = MPLY:(RAND:MPLY_NUM)

EXP:(MTAR:0):性技経験値 += 2
EXP:(MTAR:0):性交経験値 += 3
EXP:(MTAR:0):Ｖ拡張経験 += 1
EXP:(MTAR:0):輪姦経験 += 1
IF LOCAL:6
	SOURCE:(MTAR:0):快Ｖ = SENSE_SEX_PLAYER(LOCAL:2, LOCAL:3, MAX(1200 - MTAR_NUM * 75, 600))
ELSE
	SOURCE:(MTAR:0):快Ｖ = SENSE_SEX_TARGET(LOCAL:2, LOCAL:3, MAX(1200 - MTAR_NUM * 75, 600))
ENDIF
SOURCE:(MTAR:0):露出 = 400
SOURCE:(MTAR:0):性行動 = 450

;共通処理で呼ばれる前に独自に処女喪失
CALL VIRGIN_COMMON(MTAR:0, @"%ANAME(LOCAL:3)%たち", (GET_SITUATION_BY_TRAIN_MODE() == "和姦" ? "乱交" # "輪姦"))
;性交系の共通処理
CALL COM_COMMON_SEX_V(MTAR:0, LOCAL:3)
	;主導権に応じた優越・屈従のソース追加
CALL ADD_SOURCE_INITIATIVE_U(MTAR:0, 150, 100)
	;奉仕経験値を得られるコマンドのフラグ
TCVAR:(MTAR:0):奉仕経験取得可能 = 1

;主導度変化基準値
TFLAG:主導度変化基準値 = 3

;倒錯度変化基準値
TFLAG:倒錯度変化基準値 = 0

;レズ・ＢＬ経験基準値
TFLAG:レズ・ＢＬ経験基準値 = 4

RETURN 1

;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP36(ARG:0)
;挿入関係を一時リセット

FOR LOCAL:0, 0, MEQUIP_PLAYER_NUM:(ARG:0)
	LOCAL:1 = MEQUIP_PLAYER:(ARG:0):(LOCAL:0)
	DOWNBASE:(LOCAL:1):体力 += 50

	;プレイヤーが行動不能または拘束中なら騎乗位挿入にする
	LOCAL:6 = !IS_PLAYABLE(LOCAL:1) || IS_BIND(LOCAL:1)

	;●プレイヤー側の処理
	EXP:(LOCAL:1):性技経験値 += 2
	EXP:(LOCAL:1):性交経験値 += 2

	LOCAL:5 = 0
	LOCAL:2 = MEQUIP_TARGET:(ARG:0):0
	IF LOCAL:6
		SOURCE:(LOCAL:1):快Ｐ = SENSE_SEX_TARGET_P(LOCAL:2, LOCAL:1, 1500)
	ELSE
		SOURCE:(LOCAL:1):快Ｐ = SENSE_SEX_PLAYER_P(LOCAL:2, LOCAL:1, 1500)
	ENDIF
		;性交系の共通処理
	CALL COM_COMMON_SEX_P(LOCAL:1, LOCAL:2)
	LOCAL:5 += SOURCE:(LOCAL:1):快Ｐ
	SOURCE:(LOCAL:1):快Ｐ = 0
	SOURCE:(LOCAL:1):快Ｐ = LOCAL:5 / MEQUIP_PLAYER_NUM:(ARG:0)
	SOURCE:(LOCAL:1):露出 += 100
	SOURCE:(LOCAL:1):性行動 += 450

	;主導権に応じた優越・屈従のソース追加
	CALL ADD_SOURCE_INITIATIVE_U(LOCAL:1, 200, 100)

	;奉仕経験値を得られるコマンドのフラグ
	TCVAR:(LOCAL:1):奉仕経験取得可能 = 1
NEXT
;体位フラグのセット
;TCVAR:(MPLY:0):31 = 1
;TCVAR:(MTAR:0):33 = 1

;●ターゲット側の処理
LOCAL:2 =  MEQUIP_TARGET:(ARG:0):0
LOCAL:3 = MEQUIP_PLAYER:(ARG:0):(RAND:(MEQUIP_PLAYER_NUM:(ARG:0)))

EXP:(LOCAL:2):性技経験値 += 2
EXP:(LOCAL:2):性交経験値 += 2
EXP:(LOCAL:2):Ｖ拡張経験 += 1
EXP:(LOCAL:2):輪姦経験 += 1

IF LOCAL:6
	SOURCE:(LOCAL:2):快Ｖ += SENSE_SEX_PLAYER(LOCAL:2, LOCAL:3, MAX(1200 - MTAR_NUM * 75, 600))
ELSE
	SOURCE:(LOCAL:2):快Ｖ += SENSE_SEX_TARGET(LOCAL:2, LOCAL:3, MAX(1200 - MTAR_NUM * 75, 600))
ENDIF
SOURCE:(LOCAL:2):露出 += 400
SOURCE:(LOCAL:2):性行動 += 450

	;性交系の共通処理
CALL COM_COMMON_SEX_V(LOCAL:2, LOCAL:3)

	;主導権に応じた優越・屈従のソース追加
CALL ADD_SOURCE_INITIATIVE_U(LOCAL:2, 150, 100)

	;奉仕経験値を得られるコマンドのフラグ
TCVAR:(LOCAL:2):奉仕経験取得可能 = 1

RETURN 1

;-------------------------------------------------
;継続コマンドかどうかを設定
;-------------------------------------------------
@COM_IS_EQUIP36
RETURN 1

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE36(ARG:0)
RESULTS = %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%の膣に二本挿入中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP36(ARG:0)
PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は%EQUIP_TARGET_ANAME(ARG:0)%のヴァギナを同時に犯している……

;-------------------------------------------------
;継続を解除したときの地の文
;-------------------------------------------------
@COM_TEXT_RELEASE_EQUIP36(ARG:0)
PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は%EQUIP_TARGET_ANAME(ARG:0)%からペニスを引き抜いた

;-------------------------------------------------
;固有の実行判定(プレイヤー側)
;-------------------------------------------------
@COM_ORDER_PLAYER36(ARG:0)
;実行値の設定
TCVAR:(ARG:0):実行値 = 90

;膣性交共通
CALL COM_ORDER_VSEX_P(ARG:0)
RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE36
LOCALS:0 = %ANAME(MTAR:0)%
LOCALS:2 = こちらに向け
LOCALS:3 = その雌穴が悲鳴をあげるのも構わず、

LOCALS:4 = %ANAME(MPLY:0)%と%ANAME(MPLY:1)%

SELECTCASE GET_COM_INITIATIVE()
	;プレイヤーに主導権
	CASE 0
		PRINTFORML %LOCALS:4%は%LOCALS:0%を%LOCALS:2%ると、%LOCALS:3%自らの竿を同時に突き入れていった…
	;ターゲットに主導権
	CASE 1
		PRINTFORML %LOCALS:0%は%LOCALS:4%を押し倒すと、上に跨り膣でそれぞれの竿を同時に咥え込ん%PLAYER_STR("でいった", "できた")%…
	;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%LOCALS:4%に、%LOCALS:0%を%LOCALS:3%犯すように命令した
		PRINTFORML %LOCALS:4%は%LOCALS:2%られた%LOCALS:0%の雌穴に、%LOCALS:3%同時に竿を挿入していった…
ENDSELECT
SELECTCASE EXP:(MTAR:0):Ｖ拡張経験
	CASE IS < 20
		PRINTFORMW 二本ものペニスを咥え込まされ、%LOCALS:0%の膣穴はぎちぎちと嫌な音をたてている……
	CASE IS < 50
		PRINTFORMW いくらか余裕はあるようだが、それでも%LOCALS:0%は苦しそうだ……
	CASE IS < 70
		PRINTFORMW 二本もペニスを突き込まれ、%LOCALS:0%は強い快楽を覚えている……
	CASEELSE
		PRINTFORMW 二本もペニスを突き込まれ、%LOCALS:0%はただ快楽に喘ぐことしかできない……
ENDSELECT

;-------------------------------------------------

;コマンド区分
;-------------------------------------------------

@COM_AVAILABLE_WHEN36
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_36()
RETURN POWER(2, 性的嗜好_性交したい)

@COM_PREFERENCE_TARGET_36()
RETURN POWER(2, 性的嗜好_性交されたい) + POWER(2, 性的嗜好_輪姦されたい)

@COM_STACK_SPERM_MPLY_TO_MTAR_36()
RETURN 射精部位_膣内


code:
;後背位

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME37
LOCALS:0 = 側位

IF IS_INSERT_SINGLE(MTAR:0, "Ａ") && GROUPMATCH(GET_SEX_POSITION_SINGLE(MTAR:0, "Ａ"), 30) && IS_INSERT_MUTUAL(MPLY:0, MTAR:0) != 2
	LOCALS:0 = 二穴側位
ELSE
	LOCALS:0 = 側位
ENDIF
RESULTS:0 = %LOCALS:0%で挿入
RESULTS:1 = %LOCALS:0%で挿入させられる
RESULTS:2 = %LOCALS:0%で挿入させる
RESULTS:3 = %LOCALS:0%で挿入される
RESULTS:4 = %LOCALS:0%で挿入させる
RESULTS:5 = %LOCALS:0%見せつけ

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE37
;共通部分
CALL COM_ABLE_COMMON(37)
SIF RESULT == 0
	RETURN 0
;プレイヤーは最大で1人まで
SIF MPLY_NUM <= 0 || MPLY_NUM > 1
	RETURN 0
;ターゲットは最大で1人まで
SIF MTAR_NUM <= 0 || MTAR_NUM > 1
	RETURN 0
;対象にＶが必要
SIF !HAS_VAGINA(MTAR:0, 1)
	RETURN 0
SIF IS_V_HOLD(MTAR:0)
	RETURN 0
SIF IS_INSERT_SINGLE(MTAR:0, "Ａ") && !GROUPMATCH(GET_SEX_POSITION_SINGLE(MTAR:0, "Ａ"), 30)
	RETURN 0
SIF !CAN_FUCK(MPLY:0, MTAR:0, 37)
	RETURN 0
;player and target have to face each other
SIF LICKING_BODY(MPLY:0, MTAR:0) || LICKING_BODY(MTAR:0, MPLY:0)
	RETURN 0
;target has to face player
SIF REACHING_BODY(MTAR:0, MPLY:0)
	RETURN 0
RETURN 1

;-------------------------------------------------
;メイン処理
;-------------------------------------------------
@COM37
;実行判定
CALL COM_ORDER_COMMON
SIF RESULT == 0
	RETURN 0

;既に挿入中なら現在の体位を取得
TFLAG:17 = 0
IF IS_INSERT_MUTUAL(MPLY:0, MTAR:0) == 1
	SELECTCASE GET_SEX_POSITION(MPLY:0, MTAR:0)
		CASE 1
			TFLAG:17 = 3
		CASE 2
			TFLAG:17 = 3
		CASE 3
			TFLAG:17 = 3
		CASE 4
			TFLAG:17 = 2
		CASE 5
			TFLAG:17 = 3
		CASE 6
			TFLAG:17 = 2
		CASE 7
			TFLAG:17 = 1
		CASE 8
			TFLAG:17 = 3
	ENDSELECT
ENDIF
IF TFLAG:17 == 0
	SELECTCASE PREVCOM
		CASE 30
			TFLAG:17 = 3
		CASE 31
			TFLAG:17 = 3
		CASE 32
			TFLAG:17 = 3
		CASE 33
			TFLAG:17 = 2
		CASE 34
			TFLAG:17 = 3
		CASE 35
			TFLAG:17 = 2
		CASE 36
			TFLAG:17 = 1
		CASE 37
			TFLAG:17 = 3
	ENDSELECT
ENDIF

;挿入関係を一時リセット
CALL CLEAR_INSERT_FLAG(MPLY:0, "Ｐ")

;●プレイヤー側の処理
DOWNBASE:(MPLY:0):体力 += 160

EXP:(MPLY:0):性技経験値 += 1
EXP:(MPLY:0):性交経験値 += 2

SOURCE:(MPLY:0):快Ｐ = SENSE_SEX_PLAYER_P(MTAR:0, MPLY:0, 1500)
SOURCE:(MPLY:0):性行動 = 450

IF MTAR:0 == MASTER
	CALL ADD_SOURCE_AIZYOU(MPLY:0, 20)
ELSEIF MPLY:0 != MASTER
	SOURCE:(MPLY:0):露出 += 200
ENDIF

;性交系の共通処理
CALL COM_COMMON_SEX_P(MPLY:0, MTAR:0)

;主導権に応じた優越・屈従のソース追加
CALL ADD_SOURCE_INITIATIVE_U(MPLY:0, 200, 80)

;奉仕経験値を得られるコマンドのフラグ
TCVAR:(MPLY:0):奉仕経験取得可能 = 1

;●ターゲット側の処理
DOWNBASE:(MTAR:0):体力 += 120

EXP:(MTAR:0):性技経験値 += 1
EXP:(MTAR:0):性交経験値 += 2

SOURCE:(MTAR:0):快Ｖ = SENSE_SEX_TARGET(MPLY:0, MTAR:0, 1500)
SOURCE:(MTAR:0):露出 = 400
SOURCE:(MTAR:0):性行動 = 450

IF MPLY:0 == MASTER
	CALL ADD_SOURCE_AIZYOU(MTAR:0, 20)
ELSEIF MTAR:0 != MASTER
	SOURCE:(MTAR:0):露出 += 200
ENDIF

;性交系の共通処理
CALL COM_COMMON_SEX_V(MTAR:0, MPLY:0)

;主導権に応じた優越・屈従のソース追加
CALL ADD_SOURCE_INITIATIVE_U(MTAR:0, 120, 180)

;奉仕経験値を得られるコマンドのフラグ
TCVAR:(MTAR:0):奉仕経験取得可能 = 1

;体位フラグのセット
TCVAR:(MPLY:0):37 = 2
TCVAR:(MTAR:0):33 = 2

;主導度変化基準値
TFLAG:主導度変化基準値 = 3

;倒錯度変化基準値
TFLAG:倒錯度変化基準値 = 1

;レズ・ＢＬ経験基準値
TFLAG:レズ・ＢＬ経験基準値 = 3

RETURN 1

;-------------------------------------------------
;継続コマンドかどうかを設定
;-------------------------------------------------
@COM_IS_EQUIP37
RETURN 1

;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP37(ARG:0)
LOCAL:2 = MEQUIP_PLAYER:(ARG:0):0
LOCAL:3 = MEQUIP_TARGET:(ARG:0):0

;ソースを退避
CALL PUTOUT_SOURCE(LOCAL:2)
CALL PUTOUT_SOURCE(LOCAL:3)

DOWNBASE:(LOCAL:2):体力 += 20

EXP:(LOCAL:2):性技経験値 += 1
EXP:(LOCAL:2):性交経験値 += 1

SOURCE:(LOCAL:2):快Ｐ += SENSE_SEX_PLAYER_P(LOCAL:3, LOCAL:2, 750)
SOURCE:(LOCAL:2):性行動 += 150

;性交系の共通処理
CALL COM_COMMON_SEX_P(LOCAL:2, LOCAL:3)

;奉仕経験値を得られるコマンドのフラグ
TCVAR:(LOCAL:2):奉仕経験取得可能 = 1

;倒錯度変化基準値
TCVAR:(LOCAL:2):倒錯度変化基準値 += 1

DOWNBASE:(LOCAL:3):体力 += 20

EXP:(LOCAL:3):性技経験値 += 1
EXP:(LOCAL:3):性交経験値 += 1

SOURCE:(LOCAL:3):快Ｖ += SENSE_SEX_TARGET(LOCAL:2, LOCAL:3, 750)
SOURCE:(LOCAL:3):露出 += 200
SOURCE:(LOCAL:3):性行動 += 150

;性交系の共通処理
CALL COM_COMMON_SEX_V(LOCAL:3, LOCAL:2)

;奉仕経験値を得られるコマンドのフラグ
TCVAR:(LOCAL:3):奉仕経験取得可能 = 1

;倒錯度変化基準値
TCVAR:(LOCAL:3):倒錯度変化基準値 += 1

;退避したソースを加算
CALL SUM_SOURCE(LOCAL:2)
CALL SUM_SOURCE(LOCAL:3)

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE37(ARG:0)
RESULTS = %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%の膣に側位で挿入中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP37(ARG:0)
IF TALENT:(MEQUIP_TARGET:(ARG:0):0):処女 == 1
	LOCALS:0 = まだ乙女の
ELSEIF PALAM:(MEQUIP_TARGET:(ARG:0):0):潤滑 >= PALAMLV:7
	LOCALS:0 = 濡れそぼった
ELSE
	LOCALS:0 =
ENDIF
IF IS_OVULATION(MEQUIP_TARGET:(ARG:0):0)
	LOCALS:0 = %LOCALS:0%危険日の
ENDIF

IF TALENT:(MEQUIP_TARGET:(ARG:0):0):体格 == 体格_小柄
	LOCALS:0 = %LOCALS:0%幼いワレメ
ELSE
	LOCALS:0 = %LOCALS:0%秘裂
ENDIF
SELECTCASE RAND:2
	CASE 0
		PRINTFORML %EQUIP_TARGET_ANAME(ARG:0)%の膣が%EQUIP_PLAYER_ANAME(ARG:0)%の%BAR_NAME(MEQUIP_PLAYER:(ARG:0):0)%を咥え込んでいる…
	CASE 1
		LOCAL:0 = MEQUIP_TARGET:(ARG:0):0
			;ターゲットが行動不能
		IF !IS_PLAYABLE(LOCAL:0)
			SELECTCASE RAND:2
				CASE 0
					PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は気絶した%EQUIP_TARGET_ANAME(ARG:0)%を横に寝そべらせ、膣を激しく突いている…
				CASE 1
					PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%はぐったりしている%EQUIP_TARGET_ANAME(ARG:0)%を横に寝そべらせ、%LOCALS:0%に何度も腰を打ち付けている…
			ENDSELECT
		ELSE
			SELECTCASE GET_COM_INITIATIVE()
					;プレイヤーに主導権
				CASE 0
					SELECTCASE RAND:2
						CASE 0
							PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は横向きに寝そべる%EQUIP_TARGET_ANAME(ARG:0)%の腰を掴み、激しく膣奥を突いている…
						CASE 1
							PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は横向きに寝そべる%EQUIP_TARGET_ANAME(ARG:0)%の%LOCALS:0%に突き入れ、何度も腰を打ち付けている…
					ENDSELECT
					;ターゲットに主導権
				CASE 1
					PRINTFORML %EQUIP_TARGET_ANAME(ARG:0)%は%EQUIP_PLAYER_ANAME(ARG:0)%に、もっと激しく腰を動かすように要求し
					SELECTCASE RAND:2
						CASE 0
							PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は横向きに寝そべる%EQUIP_TARGET_ANAME(ARG:0)%の腰を掴みなおすと、何度も腰を打ち付けて%EQUIP_TARGET_ANAME(ARG:0)%の膣奥を突いている…
						CASE 1
							PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は横向きに寝そべる%EQUIP_TARGET_ANAME(ARG:0)%の腰を掴みなおすと、何度も腰を打ち付け%LOCALS:0%に突き入れている…
					ENDSELECT
					;第三者に主導権
				CASEELSE
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%EQUIP_TARGET_ANAME(ARG:0)%に側位で挿入している%EQUIP_PLAYER_ANAME(ARG:0)%に対し、もっと激しく腰を動かすように命令し
					SELECTCASE RAND:2
						CASE 0
							PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は言われるまま腰の動きを激しくし、何度も%EQUIP_TARGET_ANAME(ARG:0)%の膣奥を突いている…
						CASE 1
							PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は言われるまま腰の動きを激しくし、何度も%EQUIP_TARGET_ANAME(ARG:0)%の%LOCALS:0%に突き入れている…
					ENDSELECT
			ENDSELECT
		ENDIF
ENDSELECT

;-------------------------------------------------
;継続を解除したときの地の文
;-------------------------------------------------
@COM_TEXT_RELEASE_EQUIP37(ARG:0)
PRINTFORMW %EQUIP_PLAYER_ANAME(ARG:0)%は%EQUIP_TARGET_ANAME(ARG:0)%の膣内から%BAR_NAME(MEQUIP_PLAYER:(ARG:0):0)%を引き抜いた…

;-------------------------------------------------
;固有の実行判定(プレイヤー側)
;-------------------------------------------------
@COM_ORDER_PLAYER37(ARG:0)
;実行値の設定
TCVAR:(ARG:0):実行値 = 100

;膣性交共通
CALL COM_ORDER_VSEX_P(ARG:0)
RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE37
IF IS_PIERCED(MTAR:0, ピアス_ラビア)
	LOCALS:0 = ピアスの取り付けられた
ELSE
	LOCALS:0 =
ENDIF
IF TALENT:(MTAR:0):処女 == 1
	LOCALS:0 = まだ乙女の
ELSEIF PALAM:(MTAR:0):潤滑 >= PALAMLV:7
	LOCALS:0 = 濡れそぼった
ELSE
	LOCALS:0 =
ENDIF
IF IS_OVULATION(MTAR:0)
	LOCALS:0 = %LOCALS:0%危険日の
ENDIF

IF TALENT:(MTAR:0):体格 == 体格_小柄
	LOCALS:0 = %LOCALS:0%幼いワレメ
ELSE
	LOCALS:0 = %LOCALS:0%秘裂
ENDIF

;ペニスバンド装着中
IF IS_EQUIP_PLAYER((MPLY:0), 50)
	;既に挿入済みの場合
	IF TFLAG:17
		SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
			CASE 0
				;前回が側位
				IF TFLAG:17 == 1
					PRINTFORMW %ANAME(MPLY:0)%は横向きに寝そべらせた%ANAME(MTAR:0)%の%STR_BODY("腰：外見", MTAR:0)%を掴むと、さらに激しく腰を動かして膣奥を突い%TARGET_STR("た", "てきた")%…
				;背面座位・背面騎乗位
				ELSEIF TFLAG:17 == 2
					PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を横に寝そべらせ後ろからぴったり寄り添うと、側位の体勢で再び腰を動かし始めた…
				;正常位・対面座位・騎乗位
				ELSEIF TFLAG:17 == 3
					PRINTFORMW %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%を横に寝そべらせ後ろからぴったり寄り添うと、側位の体勢で再び腰を動かし始めた…
				ENDIF
			;ターゲットに主導権
			CASE 1
				;前回が側位
				IF TFLAG:17 == 1
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%に見せつけるように%STR_BODY("腰：外見", MTAR:0)%を振りながら、もっと激しく腰を動かすように要求した
					PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%の%STR_BODY("腰：外見", MTAR:0)%を掴みなおすと、側位の姿勢で何度も腰を打ち付けて%ANAME(MTAR:0)%の膣奥を突いた…
				;背面座位・背面騎乗位
				ELSEIF TFLAG:17 == 2
					PRINTFORMW %ANAME(MTAR:0)%は自ら横に寝そべると、%ANAME(MPLY:0)%に側位で腰を振らせた…
				;正常位・対面座位・騎乗位
				ELSEIF TFLAG:17 == 3
					PRINTFORMW %ANAME(MTAR:0)%は体をひねって自ら横に寝そべると、今度は%ANAME(MPLY:0)%に側位で腰を振らせた…
				ENDIF
			;第三者に主導権
			CASEELSE
				;前回が側位
				IF TFLAG:17 == 1
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MTAR:0)%に側位で挿入している%ANAME(MPLY:0)%に対し、もっと激しく腰を動かすように命令した
					PRINTFORMW %ANAME(MPLY:0)%は言われるまま腰の動きを激しくし、何度も%ANAME(MTAR:0)%の膣奥を突いた…
				;背面座位・背面騎乗位
				ELSEIF TFLAG:17 == 2
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対し、体位を側位に変えて再び腰を動かすように命令した
					PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を横に寝そべらせ後ろからぴったり寄り添うと、再び腰を動かし始めた…
				;正常位・対面座位・騎乗位
				ELSEIF TFLAG:17 == 3
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対し、体位を側位に変えて再び腰を動かすように命令した
					PRINTFORMW %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%を横に寝そべらせ後ろからぴったり寄り添うと、再び腰を動かし始めた…
				ENDIF
		ENDSELECT

	ELSE
		SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
			CASE 0
				PRINTFORMW %ANAME(MPLY:0)%は張り型を横に寝そべらせた%ANAME(MTAR:0)%の%LOCALS:0%に突き入れ、何度も腰を打ち付け%TARGET_STR("た", "てきた")%…
			;ターゲットに主導権
			CASE 1
				PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%に%STR_BODY("腰：外見", MTAR:0)%を向け、側位の姿勢で%LOCALS:0%に張り型を挿入させた…
			;第三者に主導権
			CASEELSE
				PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に、側位で%ANAME(MTAR:0)%を犯すように命令した
				PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を横向きに寝そべらせると、装着した張り型を%ANAME(MTAR:0)%の%LOCALS:0%に突き入れて腰を振った…
		ENDSELECT
	ENDIF

;ペニスバンド不使用
ELSE
	;既に挿入済みの場合
	IF TFLAG:17
		SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
			CASE 0
				;前回が側位
				IF TFLAG:17 == 1
					PRINTFORMW %ANAME(MPLY:0)%は横向きに寝そべらせた%ANAME(MTAR:0)%の%STR_BODY("腰：外見", MTAR:0)%を掴むと、さらに激しく腰を動かして膣奥を突い%TARGET_STR("た", "てきた")%…
				;背面座位・背面騎乗位
				ELSEIF TFLAG:17 == 2
					PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を横に寝そべらせ後ろからぴったり寄り添うと、側位の体勢で再び腰を動かし始めた…
				;正常位・対面座位・騎乗位
				ELSEIF TFLAG:17 == 3
					PRINTFORMW %ANAME(MTAR:0)%を横に寝そべらせ後ろからぴったり寄り添うと、側位の体勢で再び腰を動かし始めた…
				ENDIF
			;ターゲットに主導権
			CASE 1
				;前回が側位
				IF TFLAG:17 == 1
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%に見せつけるように%STR_BODY("腰：外見", MTAR:0)%を振りながら、もっと激しく腰を動かすように要求した
					PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%の%STR_BODY("腰：外見", MTAR:0)%を掴みなおすと、側位の姿勢で何度も腰を打ち付けて%ANAME(MTAR:0)%の膣奥を突いた…
				;背面座位・背面騎乗位
				ELSEIF TFLAG:17 == 2
					PRINTFORMW %ANAME(MTAR:0)%は自ら横に寝そべると、%ANAME(MPLY:0)%に側位で腰を振らせた…
				;正常位・対面座位・騎乗位
				ELSEIF TFLAG:17 == 3
					PRINTFORMW %ANAME(MTAR:0)%は体をひねって自ら横に寝そべると、今度は%ANAME(MPLY:0)%に側位で腰を振らせた…
				ENDIF
			;第三者に主導権
			CASEELSE
				;前回が側位
				IF TFLAG:17 == 1
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MTAR:0)%に側位で挿入している%ANAME(MPLY:0)%に対し、もっと激しく腰を動かすように命令した
					PRINTFORMW %ANAME(MPLY:0)%は言われるまま腰の動きを激しくし、何度も%ANAME(MTAR:0)%の膣奥を突いた…
				;背面座位・背面騎乗位
				ELSEIF TFLAG:17 == 2
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対し、体位を側位に変えて再び腰を動かすように命令した
					PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を横に寝そべらせ後ろからぴったり寄り添うと、再び腰を動かし始めた…
				;正常位・対面座位・騎乗位
				ELSEIF TFLAG:17 == 3
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対し、体位を側位に変えて再び腰を動かすように命令した
					PRINTFORMW %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%を横に寝そべらせ後ろからぴったり寄り添うと、再び腰を動かし始めた…
				ENDIF
		ENDSELECT

	ELSE
		SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
			CASE 0
				PRINTFORMW %ANAME(MPLY:0)%は横向きに寝そべらせた%ANAME(MTAR:0)%の%LOCALS:0%にペニスを突き入れ、何度も腰を打ち付け%TARGET_STR("た", "てきた")%…
			;ターゲットに主導権
			CASE 1
				PRINTFORMW %ANAME(MTAR:0)%は自ら横に寝そべると、%ANAME(MPLY:0)%に%LOCALS:0%にペニスを挿入させた…
			;第三者に主導権
			CASEELSE
				PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に、側位で%ANAME(MTAR:0)%を犯すように命令した
				PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%横向きに寝そべらせると、%ANAME(MTAR:0)%の%LOCALS:0%にペニス突き入れて腰を振った…
		ENDSELECT
	ENDIF
ENDIF

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST37
SIF IS_PIERCED(MPLY:0, ピアス_ペニス)
	PRINTFORML %ANAME(MPLY:0)%のペニスに取り付けられたピアスが、%ANAME(MTAR:0)%の膣内をごりごりと抉っていく……

;-------------------------------------------------

;コマンド区分
;-------------------------------------------------

@COM_AVAILABLE_WHEN37
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_37()
RETURN POWER(2, 性的嗜好_性交したい)

@COM_PREFERENCE_TARGET_37()
RETURN POWER(2, 性的嗜好_性交されたい)

@COM_STACK_SPERM_MPLY_TO_MTAR_37()
RETURN 射精部位_膣内


code:
;屈曲位

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME38
IF IS_INSERT_SINGLE(MTAR:0, "Ａ") && GROUPMATCH(GET_SEX_POSITION_SINGLE(MTAR:0, "Ａ"), 6, 30) && IS_INSERT_MUTUAL(MPLY:0, MTAR:0) != 2
	LOCALS:0 = 二穴屈曲位
ELSE
	LOCALS:0 = 屈曲位
ENDIF

RESULTS:0 = %LOCALS:0%で挿入
RESULTS:1 = %LOCALS:0%で挿入させられる
RESULTS:2 = %LOCALS:0%で挿入させる
RESULTS:3 = %LOCALS:0%で挿入される
RESULTS:4 = %LOCALS:0%で挿入させる
RESULTS:5 = %LOCALS:0%見せつけ

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE38
;共通部分
CALL COM_ABLE_COMMON(38)
SIF RESULT == 0
	RETURN 0
;プレイヤーは最大で1人まで
SIF MPLY_NUM <= 0 || MPLY_NUM > 1
	RETURN 0
;ターゲットは最大で1人まで
SIF MTAR_NUM <= 0 || MTAR_NUM > 1
	RETURN 0
;対象にＶが必要
SIF !HAS_VAGINA(MTAR:0, 1)
	RETURN 0
SIF IS_V_HOLD(MTAR:0)
	RETURN 0
;ターゲットのＡが他のキャラの竿で埋まっていて、体位がＡ背面騎乗位以外なら不可
SIF IS_INSERT_SINGLE(MTAR:0, "Ａ") && !GROUPMATCH(GET_SEX_POSITION_SINGLE(MTAR:0, "Ａ"), 6, 30)
	RETURN 0
SIF !CAN_FUCK(MPLY:0, MTAR:0, 38)
	RETURN 0
RETURN 1

;-------------------------------------------------
;メイン処理
;-------------------------------------------------
@COM38
;実行判定
CALL COM_ORDER_COMMON
SIF RESULT == 0
	RETURN 0

;既に挿入中なら現在の体位を取得
TFLAG:17 = 0
IF IS_INSERT_MUTUAL(MPLY:0, MTAR:0) == 1
	SELECTCASE GET_SEX_POSITION(MPLY:0, MTAR:0)
		CASE 1
			TFLAG:17 = 1
		CASE 2
			TFLAG:17 = 3
		CASE 3
			TFLAG:17 = 2
		CASE 4
			TFLAG:17 = 3
		CASE 5
			TFLAG:17 = 2
		CASE 6
			TFLAG:17 = 3
		CASE 7
			TFLAG:17 = 3
		CASE 8
			TFLAG:17 = 1
	ENDSELECT
ENDIF
IF TFLAG:17 == 0
	SELECTCASE PREVCOM
		CASE 30
			TFLAG:17 = 1
		CASE 31
			TFLAG:17 = 3
		CASE 32
			TFLAG:17 = 2
		CASE 33
			TFLAG:17 = 3
		CASE 34
			TFLAG:17 = 2
		CASE 35
			TFLAG:17 = 3
		CASE 37
			TFLAG:17 = 3
		CASE 38
			TFLAG:17 = 1
	ENDSELECT
ENDIF

;挿入関係を一時リセット
CALL CLEAR_INSERT_FLAG(MPLY:0, "Ｐ")

;●プレイヤー側の処理
DOWNBASE:(MPLY:0):体力 += 160

EXP:(MPLY:0):性技経験値 += 1
EXP:(MPLY:0):性交経験値 += 2

SOURCE:(MPLY:0):快Ｐ = SENSE_SEX_PLAYER_P(MTAR:0, MPLY:0, 1500)
SOURCE:(MPLY:0):露出 = 100
SOURCE:(MPLY:0):性行動 = 450

;性交系の共通処理
CALL COM_COMMON_SEX_P(MPLY:0, MTAR:0)

;主導権に応じた優越・屈従のソース追加
CALL ADD_SOURCE_INITIATIVE_U(MPLY:0, 150, 80)

;奉仕経験値を得られるコマンドのフラグ
TCVAR:(MPLY:0):奉仕経験取得可能 = 1

;●ターゲット側の処理
DOWNBASE:(MTAR:0):体力 += 120

EXP:(MTAR:0):性技経験値 += 1
EXP:(MTAR:0):性交経験値 += 2

SOURCE:(MTAR:0):快Ｖ = SENSE_SEX_TARGET(MPLY:0, MTAR:0, 1500)
SOURCE:(MTAR:0):露出 = 200
SOURCE:(MTAR:0):性行動 = 450

;性交系の共通処理
CALL COM_COMMON_SEX_V(MTAR:0, MPLY:0)

;主導権に応じた優越・屈従のソース追加
CALL ADD_SOURCE_INITIATIVE_U(MTAR:0, 150, 100)

;奉仕経験値を得られるコマンドのフラグ
TCVAR:(MTAR:0):奉仕経験取得可能 = 1

;体位フラグのセット
TCVAR:(MPLY:0):31 = 1
TCVAR:(MTAR:0):33 = 1

;射精箇所と対象をセット(ターゲット側)
CALL STACK_SPERM(MTAR:0, MPLY:0, 0)

;主導度変化基準値
TFLAG:主導度変化基準値 = 2

;倒錯度変化基準値
TFLAG:倒錯度変化基準値 = -1

;レズ・ＢＬ経験基準値
TFLAG:レズ・ＢＬ経験基準値 = 4

RETURN 1

;-------------------------------------------------
;継続コマンドかどうかを設定
;-------------------------------------------------
@COM_IS_EQUIP38
RETURN 1

;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP38(ARG:0)
LOCAL:2 = MEQUIP_PLAYER:(ARG:0):0
LOCAL:3 = MEQUIP_TARGET:(ARG:0):0

;ソースを退避
CALL PUTOUT_SOURCE(LOCAL:2)
CALL PUTOUT_SOURCE(LOCAL:3)

DOWNBASE:(LOCAL:2):体力 += 20

EXP:(LOCAL:2):性技経験値 += 1
EXP:(LOCAL:2):性交経験値 += 1

SOURCE:(LOCAL:2):快Ｐ += SENSE_SEX_PLAYER_P(LOCAL:3, LOCAL:2, 750)
SOURCE:(LOCAL:2):露出 += 50
SOURCE:(LOCAL:2):性行動 += 150

;性交系の共通処理
CALL COM_COMMON_SEX_P(LOCAL:2, LOCAL:3)

;奉仕経験値を得られるコマンドのフラグ
TCVAR:(LOCAL:2):奉仕経験取得可能 = 1

;倒錯度変化基準値
TCVAR:(LOCAL:2):倒錯度変化基準値 -= 1

DOWNBASE:(LOCAL:3):体力 += 20

EXP:(LOCAL:3):性技経験値 += 1
EXP:(LOCAL:3):性交経験値 += 1

SOURCE:(LOCAL:3):快Ｖ += SENSE_SEX_TARGET(LOCAL:2, LOCAL:3, 750)
SOURCE:(LOCAL:3):露出 += 100
SOURCE:(LOCAL:3):性行動 += 150

;性交系の共通処理
CALL COM_COMMON_SEX_V(LOCAL:3, LOCAL:2)

;奉仕経験値を得られるコマンドのフラグ
TCVAR:(LOCAL:3):奉仕経験取得可能 = 1

;倒錯度変化基準値
TCVAR:(LOCAL:3):倒錯度変化基準値 -= 1

;退避したソースを加算
CALL SUM_SOURCE(LOCAL:2)
CALL SUM_SOURCE(LOCAL:3)

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE38(ARG:0)
RESULTS = %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%の膣に屈曲位で挿入中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP38(ARG:0)
SELECTCASE RAND:2
	CASE 0
		PRINTFORML %EQUIP_TARGET_ANAME(ARG:0)%の膣が%EQUIP_PLAYER_ANAME(ARG:0)%の%BAR_NAME(MEQUIP_PLAYER:(ARG:0):0)%を咥え込んでいる…
	CASE 1
		LOCAL:0 = MEQUIP_TARGET:(ARG:0):0
			;ターゲットが行動不能
		IF !IS_PLAYABLE(LOCAL:0)
			PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%はぐったりとしている%EQUIP_TARGET_ANAME(ARG:0)%に覆いかぶさるように挿入したまま、さらに激しく腰を動かしている…
		ELSE
			SELECTCASE GET_COM_INITIATIVE()
					;プレイヤーに主導権
				CASE 0
					PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は%EQUIP_TARGET_ANAME(ARG:0)%に挿入したまま、さらに激しく腰を動かしている…
					;ターゲットに主導権
				CASE 1
					PRINTFORML %EQUIP_TARGET_ANAME(ARG:0)%は%EQUIP_PLAYER_ANAME(ARG:0)%の腰に足を絡めながら、さらに激しく腰を動かすように要求し
					PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は%EQUIP_TARGET_ANAME(ARG:0)%に求められるまま、覆いかぶさるように何度も腰を打ち付けている…
					;第三者に主導権
				CASEELSE
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%EQUIP_TARGET_ANAME(ARG:0)%に屈曲位で挿入している%EQUIP_PLAYER_ANAME(ARG:0)%に対し、もっと激しく腰を動かすように命令し
					PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は言われるがまま、上から激しく何度も%EQUIP_TARGET_ANAME(ARG:0)%の膣奥を突いている…
			ENDSELECT
		ENDIF
ENDSELECT

;-------------------------------------------------
;継続を解除したときの地の文
;-------------------------------------------------
@COM_TEXT_RELEASE_EQUIP38(ARG:0)
PRINTFORMW %EQUIP_PLAYER_ANAME(ARG:0)%は%EQUIP_TARGET_ANAME(ARG:0)%の膣内から%BAR_NAME(MEQUIP_PLAYER:(ARG:0):0)%を引き抜いた…

;-------------------------------------------------
;固有の実行判定(プレイヤー側)
;-------------------------------------------------
@COM_ORDER_PLAYER38(ARG:0)
;実行値の設定
TCVAR:(ARG:0):実行値 = 90

;膣性交共通
CALL COM_ORDER_VSEX_P(ARG:0)
RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE38
IF IS_PIERCED(MTAR:0, ピアス_ラビア)
	LOCALS:0 = ピアスの取り付けられた
ELSE
	LOCALS:0 =
ENDIF

IF TALENT:(MTAR:0):処女 == 1
	LOCALS:0 = まだ乙女の
ELSEIF PALAM:(MTAR:0):潤滑 >= PALAMLV:7
	LOCALS:0 = 濡れそぼった
ELSE
	LOCALS:0 =
ENDIF
IF IS_OVULATION(MTAR:0)
	LOCALS:0 = %LOCALS:0%危険日の
ENDIF

IF TALENT:(MTAR:0):体格 == 体格_小柄
	LOCALS:0 = %LOCALS:0%幼いワレメ
ELSE
	LOCALS:0 = %LOCALS:0%秘裂
ENDIF
IF SEARCH_EQUIP(20, MPLY:0, MTAR:0) != -1 || SEARCH_EQUIP(20, MTAR:0, MPLY:0) != -1
	LOCALS:1 = 口づけを交わしながら
ELSE
	LOCALS:1 =
ENDIF
;ペニスバンド装着中
IF IS_EQUIP_PLAYER((MPLY:0), 50)
	;既に挿入済みの場合
	IF TFLAG:17
		SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
			CASE 0
				;前回が屈曲位
				IF TFLAG:17 == 1
					PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に挿入したまま、%LOCALS:1%さらに激しく腰を動かし%TARGET_STR("た", "てきた")%…
				;対面座位・騎乗位
				ELSEIF TFLAG:17 == 2
					PRINTFORMW %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%を押し倒し、%LOCALS:1%上から覆い被さって再び腰を動かし始めた…
				;後背位・背面座位・背面騎乗位
				ELSEIF TFLAG:17 == 3
					PRINTFORMW %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%の体を正面に向けると、%LOCALS:1%上から覆い被さって再び腰を動かし始めた…
				ENDIF
			;ターゲットに主導権
			CASE 1
				;前回が屈曲位
				IF TFLAG:17 == 1
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の腰に足を絡めながら、さらに激しく腰を動かすように要求した
					PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に求められるまま、%LOCALS:1%上から何度も腰を打ち付けて%ANAME(MTAR:0)%の膣奥を突いた…
				;対面座位・騎乗位
				ELSEIF TFLAG:17 == 2
					PRINTFORMW %ANAME(MTAR:0)%は自ら後ろに倒れ込んで下になり、%LOCALS:1%%ANAME(MPLY:0)%に屈曲位で腰を振らせた…
				;後背位・背面座位・背面騎乗位
				ELSEIF TFLAG:17 == 3
					PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の正面に向き直ると、%LOCALS:1%自ら下になって再び%ANAME(MPLY:0)%に腰を振らせた…
				ENDIF
			;第三者に主導権
			CASEELSE
				;前回が屈曲位
				IF TFLAG:17 == 1
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MTAR:0)%に屈曲位で挿入している%ANAME(MPLY:0)%に対し、もっと激しく腰を動かすように命令した
					PRINTFORMW %ANAME(MPLY:0)%は言われるまま腰の動きを激しくし、%LOCALS:1%上から何度も%ANAME(MTAR:0)%の膣奥を突いた…
				;対面座位・騎乗位
				ELSEIF TFLAG:17 == 2
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対し、体位を屈曲位に変えて再び腰を動かすように命令した
					PRINTFORMW %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%を押し倒し、%LOCALS:1%上から覆い被さって再び腰を動かし始めた…
				;後背位・背面座位・背面騎乗位
				ELSEIF TFLAG:17 == 3
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対し、体位を屈曲位に変えて再び腰を動かすように命令した
					PRINTFORMW %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%の体を正面に向けると、%LOCALS:1%上から覆い被さって再び腰を動かし始めた…
				ENDIF
		ENDSELECT

	ELSE
		SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
			CASE 0
				PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を押し倒すと、%LOCALS:1%装着した張り型を%ANAME(MTAR:0)%の%LOCALS:0%に突き入れ%TARGET_STR("た", "てきた")%…
			;ターゲットに主導権
			CASE 1
				PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の下になって、%LOCALS:1%自身の%LOCALS:0%へと張り型を導いて挿入させた…
			;第三者に主導権
			CASEELSE
				PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に、屈曲位で%ANAME(MTAR:0)%を犯すように命令した
				PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を押し倒すと、%LOCALS:1%装着した張り型を%ANAME(MTAR:0)%の%LOCALS:0%に突き入れた…
		ENDSELECT
	ENDIF

;ペニスバンド不使用
ELSE
	;既に挿入済みの場合
	IF TFLAG:17
		SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
			CASE 0
				;前回が屈曲位
				IF TFLAG:17 == 1
					PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に挿入したまま、%LOCALS:1%さらに激しく腰を動かし%TARGET_STR("た", "てきた")%…
				;対面座位・騎乗位
				ELSEIF TFLAG:17 == 2
					PRINTFORMW %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%を押し倒し、%LOCALS:1%上から覆い被さって再び腰を動かし始めた…
				;後背位・背面座位・背面騎乗位
				ELSEIF TFLAG:17 == 3
					PRINTFORMW %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%の体を正面に向けると、%LOCALS:1%上から覆い被さって再び腰を動かし始めた…
				ENDIF
			;ターゲットに主導権
			CASE 1
				;前回が屈曲位
				IF TFLAG:17 == 1
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の腰に足を絡めながら、さらに激しく腰を動かすように要求した
					PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に求められるまま、%LOCALS:1%上から何度も腰を打ち付けて%ANAME(MTAR:0)%の膣奥を突いた…
				;対面座位・騎乗位
				ELSEIF TFLAG:17 == 2
					PRINTFORMW %ANAME(MTAR:0)%は自ら後ろに倒れ込んで下になり、%LOCALS:1%%ANAME(MPLY:0)%に屈曲位で腰を振らせた…
				;後背位・背面座位・背面騎乗位
				ELSEIF TFLAG:17 == 3
					PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の正面に向き直ると、%LOCALS:1%自ら下になって再び%ANAME(MPLY:0)%に腰を振らせた…
				ENDIF
			;第三者に主導権
			CASEELSE
				;前回が屈曲位
				IF TFLAG:17 == 1
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MTAR:0)%に屈曲位で挿入している%ANAME(MPLY:0)%に対し、もっと激しく腰を動かすように命令した
					PRINTFORMW %ANAME(MPLY:0)%は言われるまま腰の動きを激しくし、%LOCALS:1%上から何度も%ANAME(MTAR:0)%の膣奥を突いた…
				;対面座位・騎乗位
				ELSEIF TFLAG:17 == 2
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対し、体位を屈曲位に変えて再び腰を動かすように命令した
					PRINTFORMW %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%を押し倒し、%LOCALS:1%上から覆い被さって再び腰を動かし始めた…
				;後背位・背面座位・背面騎乗位
				ELSEIF TFLAG:17 == 3
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対し、体位を屈曲位に変えて再び腰を動かすように命令した
					PRINTFORMW %ANAME(MPLY:0)%は挿入したまま%ANAME(MTAR:0)%の体を正面に向けると、%LOCALS:1%上から覆い被さって再び腰を動かし始めた…
				ENDIF
		ENDSELECT

	ELSE
		SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
			CASE 0
				PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を押し倒すと、%ANAME(MTAR:0)%の%LOCALS:0%にペニスを突き入れ%LOCALS:1%腰を動かし%TARGET_STR("た", "てきた")%…
			;ターゲットに主導権
			CASE 1
				PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の下になって、%LOCALS:1%ペニスを自身の%LOCALS:0%へと導いて挿入させた…
			;第三者に主導権
			CASEELSE
				PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に、屈曲位で%ANAME(MTAR:0)%を犯すように命令した
				PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を押し倒すと、%LOCALS:1%ペニスを%ANAME(MTAR:0)%の%LOCALS:0%に突き入れて腰を動かした…
		ENDSELECT
	ENDIF
ENDIF

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST38
SIF IS_PIERCED(MPLY:0, ピアス_ペニス)
	PRINTFORML %ANAME(MPLY:0)%のペニスに取り付けられたピアスが、%ANAME(MTAR:0)%の膣内をごりごりと抉っていく……

;-------------------------------------------------

;コマンド区分
;-------------------------------------------------

@COM_AVAILABLE_WHEN38
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_38()
RETURN POWER(2, 性的嗜好_性交したい)

@COM_PREFERENCE_TARGET_38()
RETURN POWER(2, 性的嗜好_性交されたい)

@COM_STACK_SPERM_MPLY_TO_MTAR_38()
RETURN 射精部位_膣内


code:
;二人で出掛ける

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME390
RESULTS:0 = 外に誘う
RESULTS:1 = 外に誘われる

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE390
;共通部分
CALL COM_ABLE_COMMON(390)
SIF RESULT == 0
	RETURN 0
;捕虜会話では不可
SIF FLAG:調教モード == 6
	RETURN 0
;主人公がプレイヤーのとき限定
SIF MPLY:0 != MASTER
	RETURN 0
;既にデート中なら選択不可
SIF TFLAG:デート場所
	RETURN 0
;既に出掛けた後なら不可
SIF TFLAG:57 > 0
	RETURN 0
;臨月、育児、怪我なら不可
SIF CFLAG:(MTAR:0):行動不能状態 == 行動不能_臨月 || CFLAG:(MTAR:0):行動不能状態 == 行動不能_育児 || CFLAG:(MTAR:0):行動不能状態 == 3
	RETURN 0
;キス中は不可
SIF IS_EQUIP(MPLY:0, 342)
	RETURN 0
RETURN 1

;-------------------------------------------------
;メイン処理
;-------------------------------------------------
@COM390
;実行できるかの判定
CALL COM_ORDER_COMMON
IF RESULT == 0
	RETURN 0
ENDIF

;TFLAG:17にデートの種類を設定
;0=通常、1=パートナーが勝手に決定、2=パートナーの行きたいデート先、3=パートナーが行きたいデート先以外
TFLAG:17 = 0

;相手が行きたいデート先を取得
CALL PARTNER_SELECT_DATE
LOCAL:0 = RESULT

;主導権ポイント計算
LOCAL:2 = GET_INITIATIVE_RATE(MTAR:0)

;相手の主導権ポイントが極端に高い＆パートナーに主導権があると、たまにデートの行き先を勝手に決定される
IF LOCAL:2 >= 40 && MIN(50, LOCAL:2 / 2) > RAND:100 && TFLAG:主導権所有者 == 1
	;相手が握る
	PRINTFORMW %ANAME(MTAR:0)%の行きたいところに連れて行かれた…
	;強制的に大成功になる
	TFLAG:コマンド成否 = 1
	TFLAG:デート場所 = LOCAL:0
	TFLAG:17 = 1

ELSE
	;1/10の確率でパートナーに行きたいデート先あり。選んだデート先が同じ場合ボーナス追加
	IF RAND:10 == 0
		PRINTFORMW %ANAME(MTAR:0)%は%GET_PLACENAME(LOCAL:0)%に行きたいようだ…
	ELSE
		;パートナーに行きたいデート先がない場合LOCAL:0をクリア
		LOCAL:0 = 0
	ENDIF

	;デート先の選択
	CALL SELECT_DATE_PLACE
	IF RESULT == 0
		;キャンセルした場合コマンドを中止
		RETURN 0
	ENDIF
	TFLAG:デート場所 = RESULT

	;相手に行きたい場所の希望がない場合
	IF LOCAL:0 == 0
		;コマンドの成否をTFLAG:コマンド成否にセット
		CALL JUDGE_COM_RESULT(MTAR:0, 5, 5)

		;相手の行きたい場所を選択した場合
	ELSEIF TFLAG:デート場所 == LOCAL:0
		;強制的に大成功になる
		TFLAG:コマンド成否 = 1
		TFLAG:17 = 2

		;相手の行きたい場所と異なる場所を選択した場合
	ELSE
		;コマンドの成否をTFLAG:コマンド成否にセット(通常より厳しい)
		CALL JUDGE_COM_RESULT(MTAR:0, 0, 50)
		TFLAG:17 = 3
	ENDIF
ENDIF

;好感度に応じた歓楽のソース追加
CALL ADD_SOURCE_KANRAKU(MTAR:0, 120)

LOCAL:1 = 0
IF TALENT:(MTAR:0):親愛
	TIMES SOURCE:(MTAR:0):歓楽, 1.20
	SOURCE:(MTAR:0):接触 += 100
	LOCAL:1 += 40
ENDIF

IF TALENT:(MTAR:0):恋慕
	TIMES SOURCE:(MTAR:0):歓楽, 1.20
	SOURCE:(MTAR:0):接触 += 50
	LOCAL:1 += 30
ENDIF

IF TALENT:(MTAR:0):恋人
	TIMES SOURCE:(MTAR:0):歓楽, 1.10
	SOURCE:(MTAR:0):接触 += 100
	LOCAL:1 += 30
ELSEIF CFLAG:(MTAR:0):好感度 > 800
	SOURCE:(MTAR:0):接触 += 50
ENDIF

;親密に応じた愛情のソース追加
CALL ADD_SOURCE_AIZYOU(MTAR:0, LOCAL:1)

;主導権に応じたソースの追加
CALL ADD_SOURCE_INITIATIVE_N(MPLY:0, 100, 100)
CALL ADD_SOURCE_INITIATIVE_N(MTAR:0, 100, 100)

;失敗
IF TFLAG:コマンド成否 == -1
	TIMES SOURCE:(MTAR:0):歓楽, 0.20
	TIMES SOURCE:(MTAR:0):愛情, 0.20
	TIMES SOURCE:(MTAR:0):接触, 0.20
	SOURCE:(MTAR:0):不満 += 500
	TFLAG:ムード -= 5
	;成功
ELSEIF TFLAG:コマンド成否 == 0

	;大成功
ELSE
	TIMES SOURCE:(MTAR:0):歓楽, 2.00
	TIMES SOURCE:(MTAR:0):愛情, 2.00
	TIMES SOURCE:(MTAR:0):接触, 2.00
ENDIF

EXP:(MPLY:0):デート経験 += 1
EXP:(MTAR:0):デート経験 += 1

;行き先に応じた処理
CALL DATE_START_BYPLACE

TSTR:COM_SITUATION '= TRAIN_PLACE
TRAIN_PLACE = %GET_PLACENAME(TFLAG:デート場所)%

SIF CFLAG:(MTAR:0):行動不能状態 != 行動不能_子供 || !TALENT:(MTAR:0):幼児
	TFLAG:調教ターン数 += 3

;経過時間のカウント開始
TFLAG:57 ++

;主導度変化基準値
TFLAG:主導度変化基準値 = 3

;倒錯度変化基準値
TFLAG:倒錯度変化基準値 = -1

RETURN 1

;-------------------------------------------------
;固有の実行判定
;-------------------------------------------------
@COM_ORDER_PLAYER390(ARG:0)
CALL COM_ORDER_COMMON390(ARG:0)
RETURN 1

@COM_ORDER_TARGET390(ARG:0)
CALL COM_ORDER_COMMON390(ARG:0)
RETURN 1

@COM_ORDER_COMMON390(ARG:0)
;実行値の設定
TCVAR:(ARG:0):実行値 = 20

;共通部分
CALL COM_ORDER(ARG:0)

IF TALENT:(ARG:0):恥じらい
	CALL COM_ORDER_ELEMENT(ARG:0, "恥じらい", -5)
ENDIF
IF TALENT:(ARG:0):献身的
	CALL COM_ORDER_ELEMENT(ARG:0, "献身的", 3)
ENDIF
IF TALENT:(ARG:0):サボり魔
	CALL COM_ORDER_ELEMENT(ARG:0, "サボり魔", 10)
ENDIF
IF TALENT:(ARG:0):教導
	CALL COM_ORDER_ELEMENT(ARG:0, "教導", 20)
ENDIF
IF IS_MALE(MASTER)
	IF TALENT:(ARG:0):男嫌い
		CALL COM_ORDER_ELEMENT(ARG:0, "男嫌い", -7)
	ENDIF
ELSE
	IF TALENT:(ARG:0):女嫌い
		CALL COM_ORDER_ELEMENT(ARG:0, "女嫌い", -7)
	ENDIF
ENDIF

IF FLAG:調教モード != 調教_居住区
	;好感度
	LOCAL:0 = 0
	IF CFLAG:(ARG:0):好感度 < 300
		IF CFLAG:(ARG:0):好感度 < 100
			LOCAL:0 = -12
		ELSEIF CFLAG:(ARG:0):好感度 < 200
			LOCAL:0 = -8
		ELSE
			LOCAL:0 = -4
		ENDIF
		CALL COM_ORDER_ELEMENT(ARG:0, @"好感度不足", LOCAL:0)
	ELSE
		LOCAL:0 = CFLAG:(ARG:0):好感度 / 75
		CALL COM_ORDER_ELEMENT(ARG:0, @"好感度", LOCAL:0)
	ENDIF

ENDIF

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE390
;主導権が主人公側
IF IS_INITIATIVE(MASTER)
	PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を連れて%GET_PLACENAME(TFLAG:デート場所)%へと向かいました
ELSE
	PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に先導されるようにして%GET_PLACENAME(TFLAG:デート場所)%へと向かいました
ENDIF

IF TFLAG:コマンド成否 == 1
	PRINTFORML %ANAME(MTAR:0)%は、%ANAME(MPLY:0)%と出掛けるのを楽しみにしているようだ…
ELSEIF TFLAG:コマンド成否 == -1
	PRINTFORML どうやら、%ANAME(MTAR:0)%はあまり乗り気ではないようだ…
ENDIF

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST390
;日常コマンドに共通の地の文
CALL COM_TEXT_LAST_LIFE

;---------------------------------------------------------
;パートナーの行きたいデート先の決定
;---------------------------------------------------------
@PARTNER_SELECT_DATE
;選択可能なデート先のリストを作成
LOCAL:1 = 0
FOR LOCAL:0, 1, 50
	IF GET_PLACENAME(LOCAL:0) != "" && LOCAL:0 != TFLAG:デート場所
		;場所ごとの条件判定
		TRYCCALLFORM DATE_PLACE_ABLE{LOCAL:0}
			IF !RESULT
				CONTINUE
			ENDIF
		CATCH
		ENDCATCH

		LOCAL:(LOCAL:1 + 10) = LOCAL:0
		LOCAL:1 ++
	ENDIF
NEXT

;リストからランダムなものを選んで返す
RETURN LOCAL:(RAND:(LOCAL:1) + 10)

;※最終的には、キャラごとの好きな場所(CSVで設定)を出やすくする

;---------------------------------------------------------
;行き先決定
;---------------------------------------------------------
@SELECT_DATE_PLACE
;表示処理
PRINTL どこに向かいますか？

LOCAL:1 = 0
FOR LOCAL:0, 1, 20
	;場所名が未定義、または現在のデート場所と同じなら表示しない
	IF GET_PLACENAME(LOCAL:0) == "" || TFLAG:デート場所 == LOCAL:0
		CONTINUE
	ENDIF

	;場所ごとの条件判定
	TRYCCALLFORM DATE_PLACE_ABLE{LOCAL:0}
		IF !RESULT
			CONTINUE
		ENDIF
	CATCH
	ENDCATCH

	;改行処理
	IF LOCAL:1 > 0 && LOCAL:1 % 3 == 0
		PRINTL
	ENDIF
	LOCAL:1 += 1

	PRINTFORM [{LOCAL:0, 3}] %GET_PLACENAME(LOCAL:0), 16, LEFT%
NEXT
PRINTL
PRINTL [100] やっぱりやめる

$INPUT_LOOP0
INPUT

IF RESULT == 100
	RETURN 0

ELSEIF RESULT >= 0 && RESULT < 20
	LOCAL:5 = RESULT

	;場所名が空白でなく、現在のデート場所と異なる
	IF GET_PLACENAME(LOCAL:5) != "" && LOCAL:5 != TFLAG:デート場所
		;場所ごとの条件判定
		TRYCCALLFORM DATE_PLACE_ABLE{LOCAL:5}
			IF !RESULT
				GOTO INPUT_LOOP0
			ENDIF
		CATCH
		ENDCATCH

		RETURN LOCAL:5
	ENDIF
ENDIF

GOTO INPUT_LOOP0

;---------------------------------------------------------
;デート中の補正
;---------------------------------------------------------
@EQUIP_DATE(ARG:0)
;好感度に応じた歓楽のソース追加
CALL ADD_SOURCE_KANRAKU(ARG:0, 60)

IF TALENT:(ARG:0):サボり魔
	TIMES SOURCE:(ARG:0):歓楽, 1.15
	TIMES SOURCE:(ARG:0):反感, 0.80
	TIMES SOURCE:(ARG:0):不安, 0.80
ENDIF

LOCAL:1 = 0
IF TALENT:(ARG:0):親愛
	SOURCE:(ARG:0):接触 += 40
	LOCAL:1 += 20
ENDIF

IF TALENT:(ARG:0):恋慕
	SOURCE:(ARG:0):接触 += 20
	LOCAL:1 += 20
ENDIF

IF TALENT:(ARG:0):恋人
	SOURCE:(ARG:0):接触 += 40
	LOCAL:1 += 20
ELSEIF CFLAG:(ARG:0):好感度 > 800
	SOURCE:(ARG:0):接触 += 20
ENDIF

;親密に応じた愛情のソース追加
CALL ADD_SOURCE_AIZYOU(ARG:0, LOCAL:1)

;主導権に応じた優越・受動のソース追加
;CALL ADD_SOURCE_INITIATIVE(ARG:0, 100)

;行き先に応じた補正
CALL DATE_EQUIP_BYPLACE(ARG:0)

EXP:(ARG:0):デート経験 += 1
EXP:(ARG:0):デート経験 += 1

;---------------------------------------------------------
;ARG:0番に対応する場所名の取得
;---------------------------------------------------------
@GET_PLACENAME(ARG:0)
#FUNCTIONS
SELECTCASE ARG:0
	CASE 1
		IF FLAG:ウフフフラグ
			RETURNF "ホテル"
		ELSE
			RETURNF "市街地"
		ENDIF
	CASE 2
		RETURNF "遊泳場"
	CASE 3
		RETURNF "花畑"
	CASE 4
		RETURNF "森林"
	CASE 7
		RETURNF "温泉"
	CASE 8
		RETURNF "野外"
ENDSELECT
RETURNF ""

;---------------------------------------------------------
;ARG:0番に対応する場所の地面の名称を取得(射精時の地の文に使用)
;---------------------------------------------------------
@GET_GROUND_NAME(ARG:0)
#FUNCTIONS
SELECTCASE ARG:0
	CASE 2
		RETURNF "地面"
	CASE 3
		RETURNF "地面"
	CASE 4
		RETURNF "地面"
	CASE 8
		RETURNF "地面"
	CASE 7
		RETURNF "床"
	CASE 50
		RETURNF "床"
	CASEELSE
		RETURNF "寝台"
ENDSELECT

;---------------------------------------------------------
;場所固有のデート開始時の処理
;---------------------------------------------------------
@DATE_START_BYPLACE
;川辺
IF TFLAG:デート場所 == 2
	;温泉
ELSEIF TFLAG:デート場所 == 7
ENDIF

;---------------------------------------------------------
;場所固有のデート中の補正
;---------------------------------------------------------
@DATE_EQUIP_BYPLACE(ARG:0)
;城下町
IF TFLAG:デート場所 == 1
	TIMES SOURCE:(ARG:0):歓楽, 1.20
	;ウフフ中
	IF FLAG:ウフフフラグ
		TIMES SOURCE:(ARG:0):愛情, 1.20
	ENDIF

	;川辺
ELSEIF TFLAG:デート場所 == 2
	TIMES SOURCE:(ARG:0):歓楽, 1.07
	;ウフフ中
	IF FLAG:ウフフフラグ
		TIMES SOURCE:(ARG:0):露出, 1.20
		SOURCE:(ARG:0):露出 += 100
	ELSE
		;同性
		IF IS_SAMESEX(MASTER, ARG:0)
			SOURCE:(ARG:0):露出 += 5
			;異性
		ELSE
			SOURCE:(ARG:0):露出 += 20
		ENDIF
	ENDIF
	;ムードの上昇
	TFLAG:ムード += 1

	;花畑
ELSEIF TFLAG:デート場所 == 3
	;ウフフ中
	IF FLAG:ウフフフラグ
		TIMES SOURCE:(ARG:0):露出, 1.30
		SOURCE:(ARG:0):露出 += 150
	ENDIF
	;ムードの上昇
	TFLAG:ムード += RAND:2 + 2

	;森林
ELSEIF TFLAG:デート場所 == 4
	;ウフフ中
	IF FLAG:ウフフフラグ
		TIMES SOURCE:(ARG:0):露出, 1.10
		SOURCE:(ARG:0):露出 += 80
	ENDIF
	;ムードの上昇
	TFLAG:ムード += 1

	;温泉
ELSEIF TFLAG:デート場所 == 7

	;ウフフ中
	IF FLAG:ウフフフラグ
		TIMES SOURCE:(ARG:0):露出, 1.30
		SOURCE:(ARG:0):露出 += 150
	ELSE
		;同性
		IF IS_SAMESEX(MASTER, ARG:0)
			SOURCE:(ARG:0):露出 += 30
			;異性
		ELSE
			SOURCE:(ARG:0):露出 += 100
		ENDIF
	ENDIF
ENDIF

;---------------------------------------------------------
;デート場所によるパラメータ上昇の補正(快感系)
;SOURCE計算中に呼び出される
;---------------------------------------------------------
@UP_DATE_CHECK1(ARG:0)
;城下町
IF TFLAG:デート場所 == 1
	;川辺
ELSEIF TFLAG:デート場所 == 2
	;花畑
ELSEIF TFLAG:デート場所 == 3
	;森林
ELSEIF TFLAG:デート場所 == 4
	;温泉
ELSEIF TFLAG:デート場所 == 7
ENDIF

;---------------------------------------------------------
;デート場所によるパラメータ上昇の補正(快感系以外)
;SOURCE計算中に呼び出される
;---------------------------------------------------------
@UP_DATE_CHECK2(ARG:0)
;城下町
IF TFLAG:デート場所 == 1
	IF PALAM:(ARG:0):哀主 >= 0
		TIMES PALAM:(ARG:0):哀主, 0.90
	ENDIF

	;川辺
ELSEIF TFLAG:デート場所 == 2
	IF PALAM:(ARG:0):怒主 >= 0
		TIMES PALAM:(ARG:0):怒主, 0.90
	ENDIF
	IF PALAM:(ARG:0):怖主 >= 0
		TIMES PALAM:(ARG:0):怖主, 1.10
	ENDIF

	;花畑
ELSEIF TFLAG:デート場所 == 3
	IF PALAM:(ARG:0):怒主 >= 0
		TIMES PALAM:(ARG:0):怒主, 0.90
	ENDIF
	IF PALAM:(ARG:0):哀主 >= 0
		TIMES PALAM:(ARG:0):哀主, 0.85
	ENDIF

	;森林
ELSEIF TFLAG:デート場所 == 4
	IF PALAM:(ARG:0):怒主 >= 0
		TIMES PALAM:(ARG:0):怒主, 0.70
	ENDIF
	IF PALAM:(ARG:0):怖主 >= 0
		TIMES PALAM:(ARG:0):怖主, 1.30
	ENDIF

	;温泉
ELSEIF TFLAG:デート場所 == 7
	IF PALAM:(ARG:0):怒主 >= 0
		TIMES PALAM:(ARG:0):怒主, 0.80
	ENDIF
	IF PALAM:(ARG:0):哀主 >= 0
		TIMES PALAM:(ARG:0):哀主, 0.85
	ENDIF
ENDIF

;---------------------------------------------------------
;デート場所が選択可能かどうかを判定する関数群
;---------------------------------------------------------
;温泉
@DATE_PLACE_ABLE7
;同性で好感度500以上、または合意
IF TALENT:(MTAR:0):合意 || (CFLAG:(MTAR:0):好感度 >= 500 && IS_SAMESEX(MPLY:0, MTAR:0))
	RETURN 1
ENDIF
RETURN 0

;野外
;野外プレイで利用するのみなのでなし
@DATE_PLACE_ABLE8
RETURN 0

;-------------------------------------------------

;コマンド区分
;-------------------------------------------------

@COM_AVAILABLE_WHEN390
RETURN コマンド_日常


code:
;移動

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME391
RESULTS:0 = 場所を変える
RESULTS:1 = 場所を変える

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE391
;共通部分
CALL COM_ABLE_COMMON(391)
SIF RESULT == 0
	RETURN 0
;主人公がプレイヤーのとき限定
SIF MPLY:0 != MASTER
	RETURN 0
;デート中限定
SIF !TFLAG:デート場所
	RETURN 0
;キス中は不可
SIF IS_EQUIP(MPLY:0, 342)
	RETURN 0
RETURN 1

;-------------------------------------------------
;メイン処理
;-------------------------------------------------
@COM391
LOCAL:8 = TFLAG:デート場所

;TFLAG:17にデートの種類を設定
;0=通常、1=パートナーが勝手に決定、2=パートナーの行きたいデート先、3=パートナーが行きたいデート先以外
TFLAG:17 = 0

;相手が行きたいデート先を取得
CALL PARTNER_SELECT_DATE
LOCAL:0 = RESULT

;主導権ポイント計算
LOCAL:2 = GET_INITIATIVE_RATE(MTAR:0)

LOCAL:1 = 0
IF LOCAL:2 >= 50
	LOCAL:1 = MIN(50, LOCAL:2 / 4)
ENDIF

;相手の主導権ポイントが極端に高い＆パートナーに主導権があると、たまにデートの行き先を勝手に決定される
IF LOCAL:1 > RAND:100 && IS_INITIATIVE(MTAR:0) == 1
	PRINTFORMW %ANAME(MTAR:0)%の行きたいところに連れて行かれた…
	TFLAG:デート場所 = LOCAL:0
	TFLAG:17 = 1
ELSE
	;デート先の選択
	CALL SELECT_DATE_PLACE
	IF RESULT == 0
		;キャンセルした場合コマンドを中止
		RETURN 0
	ENDIF
	TFLAG:デート場所 = RESULT
ENDIF

;行き先に応じた処理
CALL DATE_START_BYPLACE

;主導権に応じたソースの追加
CALL ADD_SOURCE_INITIATIVE_N(MPLY:0, 100, 100)
CALL ADD_SOURCE_INITIATIVE_N(MTAR:0, 100, 100)

TRAIN_PLACE = %GET_PLACENAME(TFLAG:デート場所)%

;主導度変化基準値
TFLAG:主導度変化基準値 = 2

;倒錯度変化基準値
TFLAG:倒錯度変化基準値 = -1

RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE391
;主導権が主人公側
IF IS_INITIATIVE(MASTER)
	PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を連れて%GET_PLACENAME(TFLAG:デート場所)%へと向かいました
ELSE
	PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に先導されるようにして%GET_PLACENAME(TFLAG:デート場所)%へと向かいました
ENDIF

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST391
;日常コマンドに共通の地の文
CALL COM_TEXT_LAST_LIFE

;-------------------------------------------------

;コマンド区分
;-------------------------------------------------

@COM_AVAILABLE_WHEN391
RETURN コマンド_日常


code:
;告白する

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME398
RESULTS:0 '= TR("告白する")

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE398
;共通部分
CALL COM_ABLE_COMMON(398)
SIF RESULT == 0
	RETURN 0
;プレイヤーは最大で1人まで
SIF MPLY_NUM != 1
	RETURN 0
;ターゲットは最大で1人まで
SIF MTAR_NUM != 1
	RETURN 0
;ソロ実行(MPLY == MTARとなるケースは不可)
SIF MTAR:0 == MPLY:0
	RETURN 0
;捕虜調教とかだと駄目
SIF !(FLAG:調教モード == 調教_居住区 || (FLAG:調教モード == 調教_閨))
	RETURN 0
;プレイヤーとターゲットのうちいずれかが行動不能なら不可
SIF !IS_PLAYABLE(MPLY:0) || !IS_PLAYABLE(MTAR:0)
	RETURN 0
;主人公がプレイヤーのとき限定
SIF MPLY:0 != MASTER
	RETURN 0
;主人公に主導権があるとき限定
; SIF FLAG:主導権所有者 != MASTER
; 	RETURN 0
SIF TALENT:(MTAR:0):恋人 || IS_SLAVE(MTAR:0) || IS_SLAVED_BY(MTAR:0)
	RETURN 0
;プレイヤーの口が塞がっているなら不可
SIF IS_M_HOLD(MPLY:0)
	RETURN 0
;ターゲットの口が塞がっているなら不可
SIF IS_M_HOLD(MTAR:0)
	RETURN 0
RETURN 1

;-------------------------------------------------
;メイン処理
;-------------------------------------------------
@COM398
;●実行値の計算
CVARSET TCVAR, 24, -10000
CVARSET TCVAR, 25, 10000

TCVAR:(MTAR:0):実行値 = 120

CALL COM_ORDER(MTAR:0)

CALL COM_ORDER_ELEMENT(MTAR:0, "好感度", CFLAG:(MTAR:0):好感度 / 50)

IF TALENT:(MTAR:0):恋慕
	CALL COM_ORDER_ELEMENT(MTAR:0, "恋慕", 30)
ENDIF

IF TALENT:(MTAR:0):親友
	CALL COM_ORDER_ELEMENT(MTAR:0, "親友", 15)
ENDIF

IF TALENT:(MTAR:0):親愛
	CALL COM_ORDER_ELEMENT(MTAR:0, "親愛", 30)
ENDIF

IF TALENT:(MTAR:0):キス未経験
	CALL COM_ORDER_ELEMENT(MTAR:0, "キス未経験", -10)
ENDIF

IF TALENT:(MTAR:0):一線越えない
	CALL COM_ORDER_ELEMENT(MTAR:0, "一線越えない", -15)
ENDIF

IF CFLAG:(MTAR:0):捕虜先 == CFLAG:MASTER:所属
	CALL COM_ORDER_ELEMENT(MTAR:0, "捕虜", -40)
ENDIF

;CALL COM_ORDER_ELEMENT(MTAR:0, "閨での告白", -10)

;IF IS_SAMESEX(MASTER, MTAR:0) && !TALENT:(MTAR:0):両刀
IF !IS_SEXUAL(MTAR:0, MASTER)
	CALL COM_ORDER_ELEMENT(MTAR:0, "恋愛対象外", -20)
ENDIF

;判定結果を表示
PRINTFORMW  = {TCVAR:(MTAR:0):判定値} %TOSTR_COMPARE(TCVAR:(MTAR:0):判定値, TCVAR:(MTAR:0):実行値)% 実行値{TCVAR:(MTAR:0):実行値}

;判定成功
IF TCVAR:(MTAR:0):判定値 >= TCVAR:(MTAR:0):実行値
	;口上表示
	CALL KOJO_EVENT(MTAR:0, 2)

	;恋人になる処理
	CALL GET_LOVERS(MTAR:0)

	;キスの共通処理
	CALL KISS_COMMON(MPLY:0, @"%ANAME(MTAR:0)%の唇", GET_SITUATION_BY_TRAIN_MODE())
	CALL KISS_COMMON(MTAR:0, @"%ANAME(MPLY:0)%の唇", GET_SITUATION_BY_TRAIN_MODE())
	EXP:(MPLY:0):キス経験 += 1
	EXP:(MTAR:0):キス経験 += 1

	IF TALENT:(MTAR:0):恋慕 || TALENT:(MTAR:0):親友
		SOURCE:(MTAR:0):歓喜 += 3000
	ELSE
		SOURCE:(MTAR:0):歓喜 += 500
	ENDIF

	;判定失敗
ELSE
	;口上表示
	CALL KOJO_EVENT(MTAR:0, 3)
	IF TALENT:(MTAR:0):恋慕 || TALENT:(MTAR:0):親友
		SOURCE:(MTAR:0):反感 += 100
		SOURCE:(MTAR:0):不安 += 200
	ELSE
		SOURCE:(MTAR:0):反感 += 500
	ENDIF
ENDIF

RETURN 1

;-------------------------------------------------

;コマンド区分
;-------------------------------------------------

@COM_AVAILABLE_WHEN398
IF FLAG:調教モード != 調教_居住区 && FLAG:調教モード != 調教_クエスト
	RETURN コマンド_ウフフ
ELSE
	RETURN コマンド_居住区
ENDIF


code:
;告白する

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME399
RESULTS:0 = 告白する

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE399
;共通部分
CALL COM_ABLE_COMMON(399)
SIF RESULT == 0
	RETURN 0
;主人公がプレイヤーのとき限定
SIF MPLY:0 != MASTER
	RETURN 0

SIF TALENT:(MTAR:0):恋人 || IS_SLAVE(MTAR:0) || IS_SLAVED_BY(MTAR:0)
	RETURN 0

;キス中は不可
SIF IS_EQUIP(MPLY:0, 342)
	RETURN 0
RETURN 1

;-------------------------------------------------
;メイン処理
;-------------------------------------------------
@COM399
;●実行値の計算
CVARSET TCVAR, 24, -10000
CVARSET TCVAR, 25, 10000

TCVAR:(MTAR:0):実行値 = 110

CALL COM_ORDER(MTAR:0)

CALL COM_ORDER_ELEMENT(MTAR:0, "好感度", CFLAG:(MTAR:0):好感度 / 50)

IF TALENT:(MTAR:0):恋慕
	CALL COM_ORDER_ELEMENT(MTAR:0, "恋慕", 30)
ENDIF

IF TALENT:(MTAR:0):親友
	CALL COM_ORDER_ELEMENT(MTAR:0, "親友", 15)
ENDIF

IF TALENT:(MTAR:0):親愛
	CALL COM_ORDER_ELEMENT(MTAR:0, "親愛", 30)
ENDIF

IF TALENT:(MTAR:0):キス未経験
	CALL COM_ORDER_ELEMENT(MTAR:0, "キス未経験", -10)
ENDIF

IF TALENT:(MTAR:0):一線越えない
	CALL COM_ORDER_ELEMENT(MTAR:0, "一線越えない", -15)
ENDIF

IF CFLAG:(MTAR:0):捕虜先 == CFLAG:MASTER:所属
	CALL COM_ORDER_ELEMENT(MTAR:0, "捕虜", -40)
ENDIF

IF TFLAG:ムード < 10
	LOCAL:0 = -10
ELSEIF TFLAG:ムード < 30
	LOCAL:0 = -5
ELSEIF TFLAG:ムード < 50
	LOCAL:0 = 0
ELSEIF TFLAG:ムード < 100
	LOCAL:0 = (TFLAG:ムード - 50) / 10
ELSE
	LOCAL:0 = MIN(10, (TFLAG:ムード - 100) / 50 + 5)
ENDIF
;CALL COM_ORDER_ELEMENT(MTAR:0, "ムード", LOCAL:0)

IF IS_SAMESEX(MASTER, MTAR:0) && !TALENT:(MTAR:0):両刀
	CALL COM_ORDER_ELEMENT(MTAR:0, "恋愛対象外", -20)
ENDIF

;判定結果を表示
PRINTFORMW  = {TCVAR:(MTAR:0):判定値} %TOSTR_COMPARE(TCVAR:(MTAR:0):判定値, TCVAR:(MTAR:0):実行値)% 実行値{TCVAR:(MTAR:0):実行値}

;判定成功
IF TCVAR:(MTAR:0):判定値 >= TCVAR:(MTAR:0):実行値
	;口上表示
	CALL KOJO_EVENT(MTAR:0, 2)

	;恋人になる処理
	CALL GET_LOVERS(MTAR:0)

	;キスの共通処理
	CALL KISS_COMMON(MPLY:0, @"%ANAME(MTAR:0)%の唇", GET_SITUATION_BY_TRAIN_MODE())
	CALL KISS_COMMON(MTAR:0, @"%ANAME(MPLY:0)%の唇", GET_SITUATION_BY_TRAIN_MODE())
	EXP:(MPLY:0):キス経験 += 1
	EXP:(MTAR:0):キス経験 += 1

	IF TALENT:(MTAR:0):恋慕 || TALENT:(MTAR:0):親友
		SOURCE:(MTAR:0):歓喜 += 3000
	ELSE
		SOURCE:(MTAR:0):歓喜 += 500
	ENDIF

	;判定失敗
ELSE
	;口上表示
	CALL KOJO_EVENT(MTAR:0, 3)
	IF TALENT:(MTAR:0):恋慕 || TALENT:(MTAR:0):親友
		SOURCE:(MTAR:0):反感 += 100
		SOURCE:(MTAR:0):不安 += 200
	ELSE
		SOURCE:(MTAR:0):反感 += 500
	ENDIF
ENDIF

RETURN 1

;-------------------------------------------------

;コマンド区分
;-------------------------------------------------

@COM_AVAILABLE_WHEN399
RETURN コマンド_日常