code:
;尻尾Ａ挿入

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME7
LOCALS:0 = 尻尾Ａ挿入

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_ABLE7
;共通部分
CALL COM_ABLE_COMMON(7)
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 !TALENT:(MPLY:0):しっぽ
	RETURN 0
;プレイヤーが尻尾を使用中なら不可
SIF IS_EQUIP_PLAYER(MPLY:0, 6, 7, 17)
	RETURN 0
;ターゲットのＶがプレイヤーの尻尾以外で埋まっているなら不可
SIF IS_A_HOLD(MTAR:0)
	RETURN 0
RETURN 1

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

;●プレイヤーについて処理
EXP:(MPLY:0):性技経験値 += 1

SOURCE:(MPLY:0):奉仕 = SERVE_HOUSHI(LOCAL:2, 200)
SOURCE:(MPLY:0):接触 = 60
SOURCE:(MPLY:0):性行動 = 60

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

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

;●ターゲットについて処理
SOURCE:(MTAR:0):露出 = 50
SOURCE:(MTAR:0):接触 = 60
SOURCE:(MTAR:0):性行動 = 150
SOURCE:(MTAR:0):快Ａ += SENSE_HOUSHI(MPLY:0, MTAR:0, 1400)

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

CALL VIRGIN_COMMON_A(MTAR:0, @"%ANAME(MPLY:0)%の尻尾", GET_SITUATION_BY_TRAIN_MODE())

;対象の膣が緩む
CALL TIGHTNESS_DECREASE_A(MTAR:0, RAND(1, 4))

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

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

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

RETURN 1

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

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

;●プレイヤーについて処理
EXP:(LOCAL:2):性技経験値 += 1

SOURCE:(LOCAL:2):奉仕 += SERVE_HOUSHI(LOCAL:2, 60)
SOURCE:(LOCAL:2):接触 += 30
SOURCE:(LOCAL:2):性行動 += 20

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

;●ターゲットについて処理
SOURCE:(LOCAL:3):快Ａ += SENSE_HOUSHI(LOCAL:2, LOCAL:3, 500)
SOURCE:(LOCAL:3):露出 += 20
SOURCE:(LOCAL:3):接触 += 30
SOURCE:(LOCAL:3):性行動 += 50

CALL VIRGIN_COMMON_A(LOCAL:3, @"%ANAME(LOCAL:2)%の尻尾", GET_SITUATION_BY_TRAIN_MODE())

;対象の膣が緩む
CALL TIGHTNESS_DECREASE_A(LOCAL:3, RAND(1, 4))

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE7(ARG:0)
RESULTS = %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%のアナルに尻尾を挿入中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP7(ARG:0)
PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%の尻尾が%EQUIP_TARGET_ANAME(ARG:0)%のアナルを抉っている…

;-------------------------------------------------
;継続を解除したときの地の文
;-------------------------------------------------
@COM_TEXT_RELEASE_EQUIP7(ARG:0)

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

;共通部分
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):奉仕 * 4)

LOCAL:0 = GET_PALAMLV(PALAM:(ARG:0):欲情)
CALL COM_ORDER_ELEMENT(ARG:0, @"欲情Lv{LOCAL:0}", MIN(LOCAL:0 * 2, 20))

IF TCVAR:(ARG:0):媚薬
	CALL COM_ORDER_ELEMENT(ARG:0, "媚薬", 6)
ENDIF

IF TALENT:(ARG:0):恥じらい
	CALL COM_ORDER_ELEMENT(ARG:0, "恥じらい", -1)
ENDIF
IF TALENT:(ARG:0):献身的
	CALL COM_ORDER_ELEMENT(ARG:0, "献身的", 6)
ENDIF
IF TALENT:(ARG:0):快感の否定
	CALL COM_ORDER_ELEMENT(ARG:0, "快感の否定", -1)
ENDIF

;合意
IF !TALENT:(ARG:0):合意 && !TALENT:(ARG:0):親友
	CALL COM_ORDER_ELEMENT(ARG:0, "合意なし", -10)
ENDIF
RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE7
IF ABL:(MTAR:0):Ａ感 >= 3
	LOCALS:0 = 十分に開発されたアナル
ELSEIF ABL:(MTAR:0):Ａ感 >= 2
	LOCALS:0 = 開発途上のアナル
ELSE
	LOCALS:0 = キツく閉じたアナル
ENDIF

IF TALENT:(MTAR:0):美尻
	LOCALS:1 = %STR_BODY("尻：尻肉：長：接触", MTAR:0)%を割り開き、
ELSEIF GET_HIPSIZE(MTAR:0) >= 1
	LOCALS:1 = %STR_BODY("尻肉：長：接触", MTAR:0)%をかきわけ、
ELSE
	LOCALS:1 =
ENDIF

;既に尻尾を挿入中の場合
IF SEARCH_EQUIP(7, MPLY:0, MTAR:0) >= 0
	SELECTCASE GET_COM_INITIATIVE()
		;プレイヤーに主導権
		CASE 0
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%の%LOCALS:1%アナルに挿入された尻尾を何度も抜き挿し、%ANAME(MTAR:0)%を責め立て%TARGET_STR("た", "てきた")%…
		;ターゲットに主導権
		CASE 1
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に促されるまま、%ANAME(MTAR:0)%の%LOCALS:1%アナルに挿入された尻尾を動かして奉仕している…
		;第三者に主導権
		CASEELSE
			PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に%ANAME(MTAR:0)%の%LOCALS:1%尻穴に挿入された尻尾をさらに動かすように命令した
			PRINTFORMW %ANAME(MPLY:0)%は尻尾を何度も抜き挿し、%ANAME(MTAR:0)%のアナルを責め立てた…
	ENDSELECT

;それ以外
ELSE
	SELECTCASE GET_COM_INITIATIVE()
		;プレイヤーに主導権
		CASE 0
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%の%LOCALS:1%%LOCALS:0%に尻尾を挿入し、前後に動かして責め立て%TARGET_STR("た", "てきた")%…
		;ターゲットに主導権
		CASE 1
			PRINTFORMW %ANAME(MTAR:0)%は%LOCALS:1%自身のアナルに%ANAME(MPLY:0)%の尻尾を挿入させ、奉仕するように命令した…
		;第三者に主導権
		CASEELSE
			PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に、尻尾で%ANAME(MTAR:0)%の尻穴を責めるように命令した
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%の%LOCALS:1%%LOCALS:0%に尻尾を挿入し、前後に動かした…
	ENDSELECT
ENDIF

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST7
FOR LOCAL:0, 0, MTAR_NUM
	LOCAL:1 = MTAR:(LOCAL:0)
	IF (LOCAL:1 != MASTER || CONFIG:441) && !IS_ANIMAL(LOCAL:1)
		LOCAL:2 = CUP:(LOCAL:1):快Ａ

		IF TCVAR:(LOCAL:1):失神フラグ
			;気絶中
			PRINTFORML アナルへの刺激に、%ANAME(LOCAL:1)%は意識を失ったまま小さく呻いた
		ELSEIF LOCAL:2 < 300
			PRINTFORML %ANAME(LOCAL:1)%の開発されていないそこはまだ異物を受け入れる場所ではなく、%ANAME(LOCAL:1)%は痛そうに顔を歪めた
		ELSEIF LOCAL:2 < 1000
			PRINTFORML %ANAME(LOCAL:1)%は苦しそうにしながらもその表情にはわずかな快楽と戸惑いが見える
		ELSEIF LOCAL:2 < 3000
			PRINTFORML %ANAME(LOCAL:1)%はこらえきれない快楽に恥ずかしそうな声を漏らしている
		ELSEIF LOCAL:2 < 6000
			PRINTFORML %ANAME(LOCAL:1)%は大分こなれてきた肛門の感覚に、時折自ら快楽を求めるように小さく腰を揺らしている
		ELSEIF LOCAL:2 < 10000
			PRINTFORM %ANAME(LOCAL:1)%は
			IF TALENT:(LOCAL:1):抑圧 || TALENT:(LOCAL:1):孤高 || TALENT:(LOCAL:1):快感の否定
				PRINTFORML あらがえない快楽に、涙目になりながら喘ぎ声を上げている
			ELSE
				PRINTFORML 翻弄する指の動きに合わせて背中を反らし、直腸の刺激に快楽の喘ぎ声を上げた
			ENDIF
		ELSE
			PRINTFORML %ANAME(LOCAL:1)%は淫らに腰を揺らしながら、すっかり菊穴の快楽に溺れて嬌声を上げている
		ENDIF
		IF TALENT:(LOCAL:1):美尻
			PRINTFORML %STR_BODY("尻肉：長：外見", MTAR:0)%がふるふると震えている……
		ELSEIF GET_HIPSIZE(LOCAL:1) >= 1
			PRINTFORML %STR_BODY("尻肉：長：外見", MTAR:0)%がふるふると震えている……
		ENDIF
	ENDIF
NEXT

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

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

@COM_AVAILABLE_WHEN7
RETURN コマンド_ウフフ

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

@COM_PREFERENCE_TARGET_7()
RETURN POWER(2, 性的嗜好_愛撫されたい)


code:
;脅す

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME80
RESULTS:0 = 脅す
RESULTS:3 = 脅される

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE80
;共通部分
CALL COM_ABLE_COMMON(80)
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 !IS_PLAYABLE(MPLY:0)
	RETURN 0
;プレイヤーの口が塞がっているなら不可
SIF IS_M_HOLD(MPLY:0)
	RETURN 0
;プレイヤーが拘束中なら不可
SIF IS_BIND(MPLY:0)
	RETURN 0
;ターゲットが失神中・離脱中なら不可
SIF TCVAR:(MTAR:0):失神フラグ || TCVAR:(MTAR:0):離脱フラグ
	RETURN 0
;プレイヤーに主導権がないなら不可
SIF IS_INITIATIVE_SETTING(MPLY:0) == 0
	RETURN 0
RETURN 1

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

;●プレイヤーについて処理
SOURCE:(MPLY:0):嗜虐 = 100
SOURCE:(MPLY:0):逸脱 = 50
EXP:(MPLY:0):嗜虐経験値 += RAND:2 + 1
;主導権に応じた優越・屈従のソース追加
CALL ADD_SOURCE_INITIATIVE_U(MPLY:0, 130, 0)

;●ターゲットについて処理
LOCAL:0 = EXP:(MTAR:0):トラウマ経験
IF LOCAL:0 < 5
	TFLAG:17 = 0
	SOURCE:(MTAR:0):恐怖 = 50
	SOURCE:(MTAR:0):不安 = 50
	SOURCE:(MTAR:0):反感 = 500
ELSEIF LOCAL:0 < 15
	TFLAG:17 = 1
	SOURCE:(MTAR:0):恐怖 = 200
	SOURCE:(MTAR:0):不安 = 100
	SOURCE:(MTAR:0):反感 = 250
ELSEIF LOCAL:0 < 50
	TFLAG:17 = 2
	SOURCE:(MTAR:0):恐怖 = 400
	SOURCE:(MTAR:0):不安 = 150
	SOURCE:(MTAR:0):反感 = 100
ELSE
	TFLAG:17 = 3
	SOURCE:(MTAR:0):恐怖 = 500
	SOURCE:(MTAR:0):不安 = 200
	SOURCE:(MTAR:0):反感 = 50
ENDIF
IF GETBIT(TALENT:(MTAR:0):淫乱系, 素質_淫乱_マゾ)
	SOURCE:(MTAR:0):反感 = 0
ENDIF

SOURCE:(MTAR:0):逸脱 = 150
EXP:(MTAR:0):被虐経験値 += RAND:2 + 1

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

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

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

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

RETURN 1

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

;共通部分
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 = GET_PALAMLV(PALAM:(ARG:0):欲情)
CALL COM_ORDER_ELEMENT(ARG:0, @"欲情Lv{LOCAL:0}", MIN(LOCAL:0 * 1, 10))

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
IF TALENT:(ARG:0):Ｓ気質
	CALL COM_ORDER_ELEMENT(ARG:0, "Ｓ気質", 6)
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	CALL COM_ORDER_ELEMENT(ARG:0, "サド", 40)
ELSE
	IF ABL:(ARG:0):主導度Ｕ >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 15)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 10)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 5)
	ELSEIF ABL:(ARG:0):主導度Ｕ > -100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 0)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", -5)
	ENDIF

	IF ABL:(ARG:0):倒錯度 >= 800
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 20)
	ELSEIF ABL:(ARG:0):倒錯度 >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 15)
	ELSEIF ABL:(ARG:0):倒錯度 >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 10)
	ELSEIF ABL:(ARG:0):倒錯度 >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 5)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 0)
	ENDIF
ENDIF

RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE80
PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を言葉で脅した…

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST80
IF MTAR:0 != MASTER || CONFIG:441
	LOCAL:2 = CUP:(MTAR:0):怖主
	LOCAL:3 = CUP:(MTAR:0):怒主

	SELECTCASE TFLAG:17
		CASE 0
			;捕虜調教のメインターゲット
			IF FLAG:調教モード == 2 && FINDELEMENT(PRISONER_TARGET, MTAR:0) != -1
				IF LOCAL:2 >= 500
					PRINTFORML %ANAME(MTAR:0)%は反抗的な態度を取っているが、その体は微かに震えている
				ELSE
					PRINTFORML %ANAME(MTAR:0)%は不快感を露わにして%ANAME(MPLY:0)%を睨み返した
				ENDIF
			ELSE
				PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の態度に戸惑っているようだ
			ENDIF
		CASE 1
			;捕虜調教のメインターゲット
			IF FLAG:調教モード == 2 && FINDELEMENT(PRISONER_TARGET, MTAR:0) != -1
				IF LOCAL:2 >= 500
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の言葉に、不安げに瞳を彷徨わせている
				ELSE
					PRINTFORML %ANAME(MTAR:0)%は気丈な瞳で%ANAME(MPLY:0)%を睨み返した
				ENDIF
			ELSE
				IF GETBIT(TALENT:(MTAR:0):淫乱系, 素質_淫乱_マゾ)
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の言葉に興奮を覚えているようだ
				ELSE
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の態度に戸惑っているようだ
				ENDIF
			ENDIF
		CASE 2
			;捕虜調教のメインターゲット
			IF FLAG:調教モード == 2 && FINDELEMENT(PRISONER_TARGET, MTAR:0) != -1
				IF LOCAL:2 >= 500
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%にされた行為を思い出し、ビクリと体を震わせた
				ELSE
					PRINTFORML %ANAME(MTAR:0)%は微かに震えながらも、気丈に%ANAME(MPLY:0)%を睨み返した
				ENDIF
			ELSE
				IF GETBIT(TALENT:(MTAR:0):淫乱系, 素質_淫乱_マゾ)
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の言葉に興奮を覚えているようだ
				ELSE
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の言葉に、思わずビクリと体を震わせた
				ENDIF
			ENDIF
		CASE 3
			;捕虜調教のメインターゲット
			IF FLAG:調教モード == 2 && FINDELEMENT(PRISONER_TARGET, MTAR:0) != -1
				IF LOCAL:2 >= 1500
					PRINTFORML %ANAME(MTAR:0)%はガタガタと震えながら、なりふり構わず%ANAME(MPLY:0)%に許しを乞うている
				ELSEIF LOCAL:2 >= 500
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%にされた行為を思い出し、ガタガタと体を震わせている
				ELSE
					PRINTFORML %ANAME(MTAR:0)%は微かに震えながらも、あくまでも気丈な態度で%ANAME(MPLY:0)%を睨んだ
				ENDIF
			ELSE
				IF GETBIT(TALENT:(MTAR:0):淫乱系, 素質_淫乱_マゾ)
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の言葉に興奮を覚えているようだ
				ELSE
					PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の言葉に、思わずビクリと体を震わせた
				ENDIF
			ENDIF
	ENDSELECT
ENDIF

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

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

@COM_AVAILABLE_WHEN80
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_80()
RETURN POWER(2, 性的嗜好_虐げたい)

@COM_PREFERENCE_TARGET_80()
RETURN POWER(2, 性的嗜好_虐げられたい)

repo_name: napo/erafl

license: unknown


code:
;スパンキング

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME81
LOCALS:0 = 尻を叩

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_ABLE81
;共通部分
CALL COM_ABLE_COMMON(81)
SIF RESULT == 0
	RETURN 0
;プレイヤーが必要
SIF MPLY_NUM <= 0
	RETURN 0
;ターゲットは最大でプレイヤー*2人まで
SIF MTAR_NUM <= 0 || MTAR_NUM > MPLY_NUM * 2
	RETURN 0

FOR LOCAL:0, 0, MTAR_NUM
	FOR LOCAL:1, 0, MPLY_NUM
		SIF !CAN_REACH_GROIN(MPLY:(LOCAL:1), MTAR:(LOCAL:0))
			RETURN 0
	NEXT
NEXT
RETURN 1

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

;●プレイヤーについて処理
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:1 = MPLY:(LOCAL:0)
	DOWNBASE:(LOCAL:1):体力 += 100
	EXP:(LOCAL:1):嗜虐経験値 += RAND:3 + 1

	SOURCE:(LOCAL:1):嗜虐 = 150
	SOURCE:(LOCAL:1):逸脱 = 50
	SOURCE:(LOCAL:1):接触 = 30
	CALL ADD_SOURCE_INITIATIVE_U(LOCAL:1, 150, 50)
NEXT

;主導権に応じた優越・屈従のソース追加

;●全ターゲットについて処理
FOR LOCAL:0, 0, MTAR_NUM
	LOCAL:1 = MTAR:(LOCAL:0)

	DOWNBASE:(LOCAL:1):体力 += 60

	IF TALENT:(LOCAL:1):美尻 || GET_HIPSIZE(LOCAL:1) >= 1
		FOR LOCAL:2, 0, MPLY_NUM
			SOURCE:(MPLY:(LOCAL:2)):嗜虐 += 30
		NEXT
	ENDIF

	SOURCE:(LOCAL:1):苦痛 = 50 + MIN(ABL:(MPLY:0):身体, 90) * 3
	SOURCE:(LOCAL:1):露出 = 100
	SOURCE:(LOCAL:1):逸脱 = 50
	SOURCE:(LOCAL:1):接触 = 30

	;ターゲットが気絶している場合
	IF TCVAR:(LOCAL:1):失神フラグ
		SOURCE:(LOCAL:1):気絶回復 = 300
	ENDIF

	EXP:(LOCAL:1):被虐経験値 += RAND:3 + 1

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

	FOR LOCAL:2, 0, MPLY_NUM
		IF GETBIT(TALENT:(MPLY:(LOCAL:2)):淫乱系, 素質_淫乱_サド)
			TIMES SOURCE:(LOCAL:1):苦痛, 1.50
		ENDIF
	NEXT
NEXT

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

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

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

CALL FL_PLAYSE("Snap_0.mp3")

RETURN 1

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

;共通部分
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 = GET_PALAMLV(PALAM:(ARG:0):欲情)
CALL COM_ORDER_ELEMENT(ARG:0, @"欲情Lv{LOCAL:0}", MIN(LOCAL:0 * 1, 10))

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
IF TALENT:(ARG:0):Ｓ気質
	CALL COM_ORDER_ELEMENT(ARG:0, "Ｓ気質", 6)
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	CALL COM_ORDER_ELEMENT(ARG:0, "サド", 40)
ELSE
	IF ABL:(ARG:0):主導度Ｕ >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 15)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 10)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 5)
	ELSEIF ABL:(ARG:0):主導度Ｕ > -100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 0)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", -5)
	ENDIF

	IF ABL:(ARG:0):倒錯度 >= 800
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 20)
	ELSEIF ABL:(ARG:0):倒錯度 >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 15)
	ELSEIF ABL:(ARG:0):倒錯度 >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 10)
	ELSEIF ABL:(ARG:0):倒錯度 >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 5)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 0)
	ENDIF
ENDIF

RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE81
;ターゲットの数で分岐
IF MTAR_NUM > 3
	LOCALS:0 = %ANAME(MTAR:0)%たち
	LOCALS:1 = 順番に
	LOCALS:2 = 尻

ELSEIF MTAR_NUM == 2
	LOCALS:0 = %ANAME(MTAR:0)%と%ANAME(MTAR:1)%
	LOCALS:1 = 交互に
	LOCALS:2 = 尻

ELSE
	LOCALS:0 = %ANAME(MTAR:0)%
	LOCALS:1 =
	LOCALS:2  = %STR_BODY("尻：長", MTAR:0)%
ENDIF

;ターゲットの数で分岐
IF MPLY_NUM > 3
	LOCALS:3 = %ANAME(MPLY:0)%たち

ELSEIF MPLY_NUM == 2
	LOCALS:3 = %ANAME(MPLY:0)%と%ANAME(MPLY:1)%

ELSE
	LOCALS:3 = %ANAME(MPLY:0)%

ENDIF

SELECTCASE GET_COM_INITIATIVE()
		;プレイヤーに主導権
	CASE 0
		PRINTFORMW %LOCALS:3%は%LOCALS:0%の%LOCALS:2%を%LOCALS:1%、赤く腫れ上がるほどに何度も叩い%TARGET_STR("た", "てきた")%…
		;ターゲットに主導権
	CASE 1
		PRINTFORML %LOCALS:0%は%ANAME(MPLY:0)%に自身の%LOCALS:2%を向け、それを手で叩くように命令した
		PRINTFORMW %LOCALS:3%は言われるまま、%LOCALS:0%の尻を%LOCALS:1%何度も叩いた…
		;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%LOCALS:3%に対して、%LOCALS:0%の尻を叩くように命令した
		PRINTFORMW %ANAME(MPLY:0)%は言われるまま、%LOCALS:0%の%LOCALS:2%を%LOCALS:1%何度も叩いた…
ENDSELECT

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST81
FOR LOCAL:0, 0, MTAR_NUM
	LOCAL:1 = MTAR:(LOCAL:0)
	IF (LOCAL:1 != MASTER || CONFIG:441) && !IS_ANIMAL(LOCAL:1)
		LOCAL:2 = CUP:(LOCAL:1):怖主
		LOCAL:3 = CUP:(LOCAL:1):怒主

		IF ABL:(LOCAL:1):マゾ >= 5 && IS_PLAYABLE(LOCAL:1)
			PRINTFORML %ANAME(LOCAL:1)%は痛みを感じているにもかかわらず嬉しそうに甘い声を上げている
		ELSEIF ABL:(LOCAL:1):マゾ >= 3
			PRINTFORML %ANAME(LOCAL:1)%は悲鳴を上げるが、その声には甘い色が混じっている
		ELSEIF LOCAL:2 >= 3000
			PRINTFORML %ANAME(LOCAL:1)%はあまりの痛みと恐怖に恥も外聞もなく泣き叫んでいる
		ELSEIF LOCAL:2 >= 1500
			PRINTFORML %ANAME(LOCAL:1)%は痛みに耐えきれず、何度も悲鳴を上げながら悶え狂っている
		ELSEIF LOCAL:2 >= 500
			PRINTFORML %ANAME(LOCAL:1)%は痛みのあまり口から呻きを漏らしている
		ELSE
			IF LOCAL:3 >= 200 && !IS_INITIATIVE(MTAR:(LOCAL:0))
				PRINTFORML %ANAME(LOCAL:1)%は痛みに耐えながら、%ANAME(MPLY:0)%を睨みつけた
			ELSE
				PRINTFORML %ANAME(LOCAL:1)%は歯を食いしばって痛みに耐えている
			ENDIF
		ENDIF
	ENDIF
	SIF GET_HIPSIZE(LOCAL:1) >= 1
		PRINTFORML 叩かれるたび、%ANAME(LOCAL:1)%の%STR_BODY("尻肉：短", MTAR:0)%はふるふると震えている
NEXT

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

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

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

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_81()
RETURN POWER(2, 性的嗜好_虐げたい)

@COM_PREFERENCE_TARGET_81()
RETURN POWER(2, 性的嗜好_虐げられたい)


code:
;鞭

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME82
LOCALS:0 = 鞭

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_ABLE82
;共通部分
CALL COM_ABLE_COMMON(82)
SIF RESULT == 0
	RETURN 0
;プレイヤーは最大で1人まで
SIF MPLY_NUM <= 0 || MPLY_NUM > 1
	RETURN 0
;ターゲットは最大で2人まで
SIF MTAR_NUM <= 0 || MTAR_NUM > 2
	RETURN 0
;鞭が必要
SIF !HO_ITEM_STOCK:ITEM_鞭 && !ITEM:A_鞭
	RETURN 0

FOR LOCAL:0, 0, MTAR_NUM
	SIF !(CAN_REACH_BODY(MPLY:0, MTAR:(LOCAL:0)) || CAN_REACH_GROIN(MPLY:0, MTAR:(LOCAL:0)))
		RETURN 0
NEXT
RETURN 1

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

;●プレイヤーについて処理
DOWNBASE:(MPLY:0):体力 += 100
EXP:(MPLY:0):嗜虐経験値 += RAND:3 + 1

SOURCE:(MPLY:0):嗜虐 = 400
SOURCE:(MPLY:0):逸脱 = 150

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

;●全ターゲットについて処理
FOR LOCAL:0, 0, MTAR_NUM
	LOCAL:1 = MTAR:(LOCAL:0)

	DOWNBASE:(LOCAL:1):体力 += 60

	SOURCE:(LOCAL:1):苦痛 = 400 + MIN(ABL:(MPLY:0):身体, 90) * 3
	SOURCE:(LOCAL:1):露出 = 50
	SOURCE:(LOCAL:1):逸脱 = 150

	;主導権に応じた優越・屈従のソース追加
	CALL ADD_SOURCE_INITIATIVE_U(LOCAL:1, 0, 170)
	EXP:(LOCAL:1):被虐経験値 += RAND:3 + 1

	IF GETBIT(TALENT:(MPLY:0):淫乱系, 素質_淫乱_サド)
		TIMES SOURCE:(LOCAL:1):苦痛, 1.50
	ENDIF
	;鞭打ちによる衣装損壊率の上昇
	IF RAND:2
		CALL IS_COVERED(MTAR:(LOCAL:0), 被覆部位_乳首)
		IF RESULT:1 != 0
			衣装損壊率:(MTAR:(LOCAL:0)):(RESULT:0) += RAND(40, 60)
		ENDIF
	ELSE
		CALL IS_COVERED(MTAR:(LOCAL:0), 被覆部位_秘部)
		IF RESULT:1 != 0
			衣装損壊率:(MTAR:(LOCAL:0)):(RESULT:0) += RAND(40, 60)
		ENDIF
	ENDIF
NEXT

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

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

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

CALL FL_PLAYSE(S_R("Whip_0.mp3/Whip_1.mp3/Whip_2.mp3"))

RETURN 1

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

;共通部分
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 = GET_PALAMLV(PALAM:(ARG:0):欲情)
CALL COM_ORDER_ELEMENT(ARG:0, @"欲情Lv{LOCAL:0}", MIN(LOCAL:0 * 1, 10))

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
IF TALENT:(ARG:0):Ｓ気質
	CALL COM_ORDER_ELEMENT(ARG:0, "Ｓ気質", 6)
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	CALL COM_ORDER_ELEMENT(ARG:0, "サド", 40)
ELSE
	IF ABL:(ARG:0):主導度Ｕ >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 15)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 10)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 5)
	ELSEIF ABL:(ARG:0):主導度Ｕ > -100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 0)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", -5)
	ENDIF

	IF ABL:(ARG:0):倒錯度 >= 800
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 20)
	ELSEIF ABL:(ARG:0):倒錯度 >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 15)
	ELSEIF ABL:(ARG:0):倒錯度 >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 10)
	ELSEIF ABL:(ARG:0):倒錯度 >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 5)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 0)
	ENDIF
ENDIF

RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE82
;ターゲットが２人
IF MTAR_NUM == 2
	LOCALS:0 = %ANAME(MTAR:0)%と%ANAME(MTAR:1)%
	LOCALS:1 = 交互に

	;ターゲットが１人
ELSE
	LOCALS:0 = %ANAME(MTAR:0)%
	LOCALS:1 =
ENDIF

SELECTCASE GET_COM_INITIATIVE()
		;プレイヤーに主導権
	CASE 0
		IF MPLY:0 == MASTER
			PRINTFORMW %ANAME(MPLY:0)%は%LOCALS:0%を%LOCALS:1%鞭で何度も打ち据えた…
		ELSEIF ABL:(MPLY:0):サド >= 3
			PRINTFORMW %ANAME(MPLY:0)%は嗜虐的な表情を浮かべると、%LOCALS:0%を鞭で%LOCALS:1%激しく打ち据えた…
		ELSE
			PRINTFORMW %ANAME(MPLY:0)%はやや緊張するように鞭を構えると、%LOCALS:0%の体に振り下ろした…
		ENDIF
		;ターゲットに主導権
	CASE 1
		PRINTFORML %LOCALS:0%は%ANAME(MPLY:0)%に鞭を持たせると、それで叩くように命令した
		IF MPLY:0 == MASTER
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に言われるまま、%LOCALS:0%を%LOCALS:1%何度も鞭で打った…
		ELSEIF ABL:(MPLY:0):サド >= 3
			PRINTFORMW %ANAME(MPLY:0)%は呆れたように苦笑すると、遠慮無く%LOCALS:0%の体に%LOCALS:1%鞭を振り下ろし%TARGET_STR("た", "てきた")%…
		ELSE
			PRINTFORMW %ANAME(MPLY:0)%は困惑しながらも、言われた通りに%LOCALS:0%の体に%LOCALS:1%鞭を振るった…
		ENDIF
		;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対して、%LOCALS:0%の体を鞭で叩くように命令した
		PRINTFORMW %ANAME(MPLY:0)%は言われるまま、%LOCALS:0%の体に鞭を%LOCALS:1%振り下ろした…
ENDSELECT

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST82
FOR LOCAL:0, 0, MTAR_NUM
	LOCAL:1 = MTAR:(LOCAL:0)
	IF (LOCAL:1 != MASTER || CONFIG:441) && !IS_ANIMAL(LOCAL:1)
		LOCAL:2 = CUP:(LOCAL:1):怖主
		LOCAL:3 = CUP:(LOCAL:1):怒主

		IF ABL:(LOCAL:1):マゾ >= 5
			PRINTFORML %ANAME(LOCAL:1)%は痛みを感じているにもかかわらず嬉しそうに甘い声を上げている
		ELSEIF ABL:(LOCAL:1):マゾ >= 3
			PRINTFORML %ANAME(LOCAL:1)%は悲鳴を上げるが、その声には甘い色が混じっている
		ELSEIF LOCAL:2 >= 3000
			PRINTFORML %ANAME(LOCAL:1)%はあまりの痛みと恐怖に恥も外聞もなく泣き叫んでいる
		ELSEIF LOCAL:2 >= 1500
			PRINTFORML %ANAME(LOCAL:1)%は痛みに耐えきれず、何度も悲鳴を上げながら悶え狂っている
		ELSEIF LOCAL:2 >= 500
			PRINTFORML %ANAME(LOCAL:1)%は痛みのあまり口から呻きを漏らしている
		ELSE
			IF LOCAL:3 >= 200 && !IS_INITIATIVE(MTAR:(LOCAL:0))
				PRINTFORML %ANAME(LOCAL:1)%は痛みに耐えながら、%ANAME(MPLY:0)%を睨みつけた
			ELSE
				PRINTFORML %ANAME(LOCAL:1)%は歯を食いしばって痛みに耐えている
			ENDIF
		ENDIF
	ENDIF
NEXT

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

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

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

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_82()
RETURN POWER(2, 性的嗜好_虐げたい)

@COM_PREFERENCE_TARGET_82()
RETURN POWER(2, 性的嗜好_虐げられたい)


code:
;針

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME83
LOCALS:0 = 針

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_ABLE83
;共通部分
CALL COM_ABLE_COMMON(83)
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 !ITEM:針 && !ITEM:A_針
	RETURN 0
SIF !CAN_REACH_BODY(MPLY:0, MTAR:0)
	RETURN 0
RETURN 1

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

;●プレイヤーについて処理
DOWNBASE:(MPLY:0):体力 += 100
EXP:(MPLY:0):嗜虐経験値 += RAND:3 + 1

SOURCE:(MPLY:0):嗜虐 = 700
SOURCE:(MPLY:0):逸脱 = 400

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

;●全ターゲットについて処理
FOR LOCAL:0, 0, MTAR_NUM
	LOCAL:1 = MTAR:(LOCAL:0)

	DOWNBASE:(LOCAL:1):体力 += 60

	SOURCE:(LOCAL:1):苦痛 = 900 + MIN(ABL:(MPLY:0):身体, 90) * 3
	SOURCE:(LOCAL:1):露出 = 50
	SOURCE:(LOCAL:1):逸脱 = 400
	EXP:(LOCAL:1):被虐経験値 += RAND:3 + 1

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

	IF GETBIT(TALENT:(MPLY:0):淫乱系, 素質_淫乱_サド)
		TIMES SOURCE:(LOCAL:1):苦痛, 1.50
	ENDIF
NEXT

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

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

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

RETURN 1

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

;共通部分
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 = GET_PALAMLV(PALAM:(ARG:0):欲情)
CALL COM_ORDER_ELEMENT(ARG:0, @"欲情Lv{LOCAL:0}", MIN(LOCAL:0 * 1, 10))

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
IF TALENT:(ARG:0):Ｓ気質
	CALL COM_ORDER_ELEMENT(ARG:0, "Ｓ気質", 6)
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	CALL COM_ORDER_ELEMENT(ARG:0, "サド", 40)
ELSE
	IF ABL:(ARG:0):主導度Ｕ >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 15)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 10)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 5)
	ELSEIF ABL:(ARG:0):主導度Ｕ > -100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 0)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", -5)
	ENDIF

	IF ABL:(ARG:0):倒錯度 >= 800
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 20)
	ELSEIF ABL:(ARG:0):倒錯度 >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 15)
	ELSEIF ABL:(ARG:0):倒錯度 >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 10)
	ELSEIF ABL:(ARG:0):倒錯度 >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 5)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 0)
	ENDIF
ENDIF

RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE83
SELECTCASE GET_COM_INITIATIVE()
	;プレイヤーに主導権
	CASE 0
		IF MPLY:0 == MASTER
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%の肢体に次々と針を突き刺し%TARGET_STR("た", "てきた")%…
		ELSEIF ABL:(MPLY:0):サド >= 3
			PRINTFORMW %ANAME(MPLY:0)%は嗜虐的な表情を浮かべると、%ANAME(MTAR:0)%の肢体に次々と針を突き刺し%TARGET_STR("た", "てきた")%…
		ELSE
			PRINTFORMW %ANAME(MPLY:0)%は恐る恐る針を構えると、ゆっくりと%ANAME(MTAR:0)%の体に突き刺し%TARGET_STR("た", "てきた")%…
		ENDIF
	;ターゲットに主導権
	CASE 1
		PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%に針を持たせると、それを%ANAME(MTAR:0)%自身の体に刺すように命令した
		IF MPLY:0 == MASTER
			PRINTFORMW %ANAME(MPLY:0)%は言われるまま、%ANAME(MTAR:0)%の肢体に針を突き刺した…
		ELSEIF ABL:(MPLY:0):サド >= 3
			PRINTFORMW %ANAME(MPLY:0)%は呆れたように%ANAME(MTAR:0)%を見ながら、%ANAME(MTAR:0)%の肢体に容赦なく針を突き刺し%TARGET_STR("た", "てきた")%…
		ELSE
			PRINTFORMW %ANAME(MPLY:0)%は困惑しながらも、恐る恐る%ANAME(MTAR:0)%の体に針を突き立てた…
		ENDIF
	;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対して、%LOCALS:0%の体に針を突き刺すように命令した
		PRINTFORMW %ANAME(MPLY:0)%は言われるまま、%ANAME(MTAR:0)%の肢体に針を突き刺していった…
ENDSELECT

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST83
FOR LOCAL:0, 0, MTAR_NUM
	LOCAL:1 = MTAR:(LOCAL:0)
	IF LOCAL:1 != MASTER
		LOCAL:2 = CUP:(LOCAL:1):怖主
		LOCAL:3 = CUP:(LOCAL:1):怒主

		IF ABL:(LOCAL:1):マゾ >= 5
			PRINTFORML %ANAME(LOCAL:1)%は痛みを感じているにもかかわらず嬉しそうに甘い声を上げている
		ELSEIF ABL:(LOCAL:1):マゾ >= 3
			PRINTFORML %ANAME(LOCAL:1)%は悲鳴を上げるが、その声には甘い色が混じっている
		ELSEIF LOCAL:2 >= 3000
			PRINTFORML %ANAME(LOCAL:1)%はあまりの痛みと恐怖に恥も外聞もなく泣き叫んでいる
		ELSEIF LOCAL:2 >= 1500
			PRINTFORML %ANAME(LOCAL:1)%は痛みに耐えきれず、何度も悲鳴を上げながら悶え狂っている
		ELSEIF LOCAL:2 >= 500
			PRINTFORML %ANAME(LOCAL:1)%は痛みのあまり口から呻きを漏らしている
		ELSE
			IF LOCAL:3 >= 200 && !IS_INITIATIVE(MTAR:(LOCAL:0))
				PRINTFORML %ANAME(LOCAL:1)%は痛みに耐えながら、%ANAME(MPLY:0)%を睨みつけた
			ELSE
				PRINTFORML %ANAME(LOCAL:1)%は歯を食いしばって痛みに耐えている
			ENDIF
		ENDIF
	ENDIF
NEXT

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

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

@COM_AVAILABLE_WHEN83
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_83()
RETURN POWER(2, 性的嗜好_虐げたい)

@COM_PREFERENCE_TARGET_83()
RETURN POWER(2, 性的嗜好_虐げられたい)


code:
;目隠し

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME84
LOCALS:0 = 目隠し

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_ABLE84
;共通部分
CALL COM_ABLE_COMMON(84)
SIF RESULT == 0
	RETURN 0
;プレイヤーは最大で1人まで
SIF (MPLY_NUM <= 0 || MPLY_NUM > 1) && !FLAG:RECHECKING
	RETURN 0
;ターゲットは1人以上
SIF MTAR_NUM <= 0
	RETURN 0
;目隠しが必要
SIF !HO_ITEM_STOCK:ITEM_目隠し && !ITEM:A_目隠し
	RETURN 0
FOR LOCAL, 0, MTAR_NUM
	;手が使えない場合は不可
	SIF !CAN_USE_HAND(MPLY:0) && !FLAG:RECHECKING
		RETURN 0
NEXT

RETURN 1

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

;●プレイヤーについて処理
SOURCE:(MPLY:0):嗜虐 = 200
SOURCE:(MPLY:0):逸脱 = 80
SOURCE:(MPLY:0):接触 = 20
EXP:(MPLY:0):嗜虐経験値 += 1

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

;●ターゲットについて処理
FOR LOCAL, 0, MTAR_NUM
	EXP:(MTAR:(LOCAL:0)):緊縛経験 += 1
	EXP:(MTAR:(LOCAL:0)):被虐経験値 += 1

	SOURCE:(MTAR:(LOCAL:0)):恐怖 = 100
	SOURCE:(MTAR:(LOCAL:0)):不安 = 100
	SOURCE:(MTAR:(LOCAL:0)):逸脱 = 150
	SOURCE:(MTAR:(LOCAL:0)):接触 = 20
NEXT

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

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

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

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

RETURN 1

;-------------------------------------------------
;継続コマンドかどうかを設定
;-------------------------------------------------
@COM_IS_EQUIP84
;継続コマンドかつフィルタリング不可
RETURN 2

;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP84(ARG:0)

FOR LOCAL:0, 0, MEQUIP_TARGET_NUM:(ARG:0)
	LOCAL:3 = MEQUIP_TARGET:(ARG:0):LOCAL

	EXP:(LOCAL:3):緊縛経験 += 1
	EXP:(LOCAL:3):被虐経験値 += 1

	SOURCE:(LOCAL:3):恐怖 += 50
	SOURCE:(LOCAL:3):不安 += 50
	SOURCE:(LOCAL:3):逸脱 += 100

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

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE84(ARG:0)
SIF !EQUIP_TARGET_NUM_PARTICIPANTS(ARG:0)
	RETURN 0
RESULTS = %EQUIP_TARGET_ANAME(ARG:0)%に目隠し中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP84(ARG:0)
SIF !EQUIP_TARGET_NUM_PARTICIPANTS(ARG:0)
	RETURN 0
PRINTFORML %EQUIP_TARGET_ANAME(ARG:0)%は布で視界を塞がれている…

;-------------------------------------------------
;継続を解除したときの地の文
;-------------------------------------------------
@COM_TEXT_RELEASE_EQUIP84(ARG:0)
PRINTFORMW %EQUIP_TARGET_ANAME(ARG:0)%の目隠しを外した

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

;共通部分
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 = GET_PALAMLV(PALAM:(ARG:0):欲情)
CALL COM_ORDER_ELEMENT(ARG:0, @"欲情Lv{LOCAL:0}", MIN(LOCAL:0 * 1, 10))

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
IF TALENT:(ARG:0):Ｓ気質
	CALL COM_ORDER_ELEMENT(ARG:0, "Ｓ気質", 6)
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	CALL COM_ORDER_ELEMENT(ARG:0, "サド", 40)
ELSE
	IF ABL:(ARG:0):主導度Ｕ >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 15)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 10)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 5)
	ELSEIF ABL:(ARG:0):主導度Ｕ > -100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 0)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", -5)
	ENDIF

	IF ABL:(ARG:0):倒錯度 >= 800
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 20)
	ELSEIF ABL:(ARG:0):倒錯度 >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 15)
	ELSEIF ABL:(ARG:0):倒錯度 >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 10)
	ELSEIF ABL:(ARG:0):倒錯度 >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 5)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 0)
	ENDIF
ENDIF

RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE84

IF MTAR_NUM >= 2
	LOCALS:1 = %ANAME(MTAR:0)%たち
ELSE
	LOCALS:1 = %ANAME(MTAR:0)%
ENDIF

SELECTCASE GET_COM_INITIATIVE()
		;プレイヤーに主導権
	CASE 0
		PRINTFORMW %ANAME(MPLY:0)%は%LOCALS:1%の目の周りに布を巻き付けて視界を奪っ%TARGET_STR("た", "てきた")%…
		;ターゲットに主導権
	CASE 1
		PRINTFORML %LOCALS:1%は%ANAME(MPLY:0)%に布を渡すと、それで目隠しするように命令した
		PRINTFORML %ANAME(MPLY:0)%は言われるまま、%LOCALS:1%の目の周りに布を巻き付けて目隠しした…
		;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対して、%LOCALS:1%に目隠しするように命令した
		PRINTFORML %ANAME(MPLY:0)%は言われるまま、%LOCALS:1%の目の周りに布を巻き付けて目隠しした…
ENDSELECT

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

;目隠し
@COM_CATEGORY84
IF FLAG:調教モード != 調教_居住区 && FLAG:調教モード != 調教_クエスト
	RETURN 3
ELSE
	RETURN 12
ENDIF

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_84()
RETURN POWER(2, 性的嗜好_虐げたい)

@COM_PREFERENCE_TARGET_84()
RETURN POWER(2, 性的嗜好_虐げられたい) + POWER(2, 性的嗜好_縛られたい)


code:
;縄

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME85
VARS COM_NAME
LOCALS:0 = 縄で縛
SELECTCASE COM_OPTION:85
	CASE 0
		COM_NAME '= "縄で縛"
		RESULTS:0 = %COM_NAME%る
		RESULTS:1 = %COM_NAME%らせられる
		RESULTS:2 = %COM_NAME%らせる
		RESULTS:3 = %COM_NAME%られる
		RESULTS:4 = %COM_NAME%らせる
		RESULTS:5 = 縄縛り見せつけ
	CASE 1
		COM_NAME '= "吊り下げ"
		RESULTS:0 = %COM_NAME%る
		RESULTS:1 = %COM_NAME%させられる
		RESULTS:2 = %COM_NAME%させる
		RESULTS:3 = %COM_NAME%られる
		RESULTS:4 = %COM_NAME%させる
		RESULTS:5 = 縄縛り見せつけ
	CASE 2
		COM_NAME '= "縛り付け"
		RESULTS:0 = %COM_NAME%る
		RESULTS:1 = %COM_NAME%させられる
		RESULTS:2 = %COM_NAME%させる
		RESULTS:3 = %COM_NAME%られる
		RESULTS:4 = %COM_NAME%させる
		RESULTS:5 = 縄縛り見せつけ
ENDSELECT

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE85
;共通部分
CALL COM_ABLE_COMMON(85)
SIF RESULT == 0
	RETURN 0
;プレイヤーは最大で1人まで
SIF (MPLY_NUM <= 0 || MPLY_NUM > 1) && !FLAG:RECHECKING
	RETURN 0
;ターゲットは1人以上
SIF MTAR_NUM <= 0
	RETURN 0

;縄が必要
SIF !HO_ITEM_STOCK:ITEM_縄 && !ITEM:A_縄
	RETURN 0
;exisiting action requires mobility
;There is no good way to do this. We just manually list every action that is restricted by bondage.
FOR LOCAL, 0, MTAR_NUM
	;ターゲットが既に拘束中なら不可
	SIF IS_BIND(MTAR:LOCAL)
		RETURN 0
	SIF !CAN_REACH_BODY(MPLY:0, MTAR:LOCAL) && !FLAG:RECHECKING
		RETURN 0
	SIF IS_EQUIP_PLAYER(MTAR:LOCAL, 0, 1, 3, 4, 5, 9, 10)
		RETURN 0
	SIF IS_EQUIP_PLAYER(MTAR:LOCAL, 12, 14, 15, 16, 18, 23)
		RETURN 0
	SIF IS_EQUIP_PLAYER(MTAR:LOCAL, 87, 88, 90, 94)
		RETURN 0
	SIF IS_EQUIP_PLAYER(MTAR:LOCAL, 100, 101, 102, 103, 105, 106, 116)
		RETURN 0
	;fucking actions. Can't use INSERT_SINGLE because it includes cowgirl etc.
	SIF IS_EQUIP_PLAYER(MTAR:LOCAL, 13, 30, 31, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45)
		RETURN 0
	SIF IS_EQUIP_PLAYER(MTAR:LOCAL, 46, 47, 48, 49, 52, 53, 55, 56, 57, 58, 160, 161)
		RETURN 0
	;giving/receiving tribadism, doubledildo, frotting
	SIF IS_EQUIP(MTAR:LOCAL, 21, 22, 23)
		RETURN 0
NEXT
RETURN 1

;-------------------------------------------------
;オプションを持つコマンドの場合オプション数を指定
;-------------------------------------------------
@COM_HAS_OPTION85
RETURN 2

;-------------------------------------------------
;オプションの実行可否判定
;-------------------------------------------------
@COM_OPTION_ABLE85(COMOPTION)
#DIM COMOPTION
RETURN 1

;-------------------------------------------------
;継続ロック時の強制解除判定
;-------------------------------------------------
@COM_ABLE_AT_EQUIP_LOCKED85
RETURN 0

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

;●プレイヤーについて処理
DOWNBASE:(MPLY:0):体力 += 100
EXP:(MPLY:0):嗜虐経験値 += 1

SOURCE:(MPLY:0):嗜虐 = 300
SOURCE:(MPLY:0):逸脱 = 100
SOURCE:(MPLY:0):接触 = 30

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

;●ターゲットについて処理
FOR LOCAL, 0, MTAR_NUM
	DOWNBASE:(MTAR:(LOCAL:0)):体力 += 60

	EXP:(MTAR:(LOCAL:0)):緊縛経験 += 1
	EXP:(MTAR:(LOCAL:0)):被虐経験値 += 1

	SOURCE:(MTAR:(LOCAL:0)):苦痛 = 80 + MIN(ABL:(MPLY:0):身体, 90) / 2
	SOURCE:(MTAR:(LOCAL:0)):露出 = 50
	SOURCE:(MTAR:(LOCAL:0)):逸脱 = 200
	SOURCE:(MTAR:(LOCAL:0)):接触 = 30
NEXT

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

IF GETBIT(TALENT:(MPLY:0):淫乱系, 素質_淫乱_サド)
	TIMES SOURCE:(MTAR:0):苦痛, 1.50
ENDIF

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

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

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

;領内活動中に装着中状態が継続されるか
SELECTCASE COM_OPTION:85
	CASE 0
		;縄で縛る状態をは、逢瀬後に解除しない
		TFLAG:継続ロックフラグ = 1
	CASEELSE
		;吊り下げ、縛り付け状態は、逢瀬後に解除する
		TFLAG:継続ロックフラグ = 0
ENDSELECT

CALL FL_PLAYSE("Rope_0.mp3")

RETURN 1

;-------------------------------------------------
;継続コマンドかどうかを設定
;-------------------------------------------------
@COM_IS_EQUIP85
;継続コマンドかつフィルタリング不可
RETURN 2

;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP85(ARG:0)
FOR LOCAL:0, 0, MEQUIP_TARGET_NUM:(ARG:0)
	LOCAL:3 = MEQUIP_TARGET:(ARG:0):LOCAL

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

	EXP:(LOCAL:3):緊縛経験 += 1
	EXP:(LOCAL:3):被虐経験値 += 1

	SOURCE:(LOCAL:3):苦痛 += 30
	SOURCE:(LOCAL:3):逸脱 += 150

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

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE85(ARG:0)
SIF !EQUIP_TARGET_NUM_PARTICIPANTS(ARG:0)
	RETURN 0

SELECTCASE MEQUIP_OPTION:(ARG:0)
	CASE 0
		RESULTS = %EQUIP_TARGET_ANAME(ARG:0)%を縄で拘束中
	CASE 1
		RESULTS = %EQUIP_TARGET_ANAME(ARG:0)%を天井から吊り下げ中
	CASE 2
		RESULTS = %EQUIP_TARGET_ANAME(ARG:0)%を壁に縛り付け中
ENDSELECT

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP85(ARG:0)
SIF !EQUIP_TARGET_NUM_PARTICIPANTS(ARG:0)
	RETURN 0

SELECTCASE MEQUIP_OPTION:(ARG:0)
	CASE 0
		PRINTFORML %EQUIP_TARGET_ANAME(ARG:0)%は縄で縛られ、身動き出来ないでいる…
	CASE 1
		PRINTFORML %EQUIP_TARGET_ANAME(ARG:0)%は天井から縄で吊り下げられ、身動き出来ないでいる…
	CASE 2
		PRINTFORML %EQUIP_TARGET_ANAME(ARG:0)%は壁に縄で縛り付けられ、身動き出来ないでいる…
ENDSELECT

;-------------------------------------------------
;継続を解除したときの地の文
; ARG:0 装着物の配列番号
;-------------------------------------------------
@COM_TEXT_RELEASE_EQUIP85(ARG:0)
PRINTFORMW %EQUIP_TARGET_ANAME(ARG:0)%の縄を解いた

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

;共通部分
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 = GET_PALAMLV(PALAM:(ARG:0):欲情)
CALL COM_ORDER_ELEMENT(ARG:0, @"欲情Lv{LOCAL:0}", MIN(LOCAL:0 * 1, 10))

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
IF TALENT:(ARG:0):Ｓ気質
	CALL COM_ORDER_ELEMENT(ARG:0, "Ｓ気質", 6)
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	CALL COM_ORDER_ELEMENT(ARG:0, "サド", 40)
ELSE
	IF ABL:(ARG:0):主導度Ｕ >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 15)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 10)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 5)
	ELSEIF ABL:(ARG:0):主導度Ｕ > -100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 0)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", -5)
	ENDIF

	IF ABL:(ARG:0):倒錯度 >= 800
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 20)
	ELSEIF ABL:(ARG:0):倒錯度 >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 15)
	ELSEIF ABL:(ARG:0):倒錯度 >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 10)
	ELSEIF ABL:(ARG:0):倒錯度 >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 5)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 0)
	ENDIF
ENDIF

RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE85
#DIMS TARGET_NAME

IF MTAR_NUM >= 2
	TARGET_NAME = %ANAME(MTAR:0)%たち
ELSE
	TARGET_NAME = %ANAME(MTAR:0)%
ENDIF

SELECTCASE COM_OPTION:85
	CASE 0
		;縄で縛る
		CALL COM_TEXT_BEFORE85_DEFAULT(TARGET_NAME)
	CASE 1
		;吊り下げる
		CALL COM_TEXT_BEFORE85_HANGING(TARGET_NAME)
	CASE 2
		;縛り付ける
		CALL COM_TEXT_BEFORE85_BINDTOWALL(TARGET_NAME)
ENDSELECT

@COM_TEXT_BEFORE85_DEFAULT(TARGET_NAME)
#DIMS TARGET_NAME
SELECTCASE GET_COM_INITIATIVE()
		;プレイヤーに主導権
	CASE 0
		PRINTFORMW %ANAME(MPLY:0)%は%TARGET_NAME%を縄で縛っ%TARGET_STR("た", "てきた")%…
		;ターゲットに主導権
	CASE 1
		PRINTFORML %TARGET_NAME%は、%ANAME(MPLY:0)%に対して縄で自身を縛るように命令した
		PRINTFORML %ANAME(MPLY:0)%は言われるまま、%TARGET_NAME%を縄で縛った…
		;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対して、%TARGET_NAME%を縄で拘束するように命令した
		PRINTFORML %ANAME(MPLY:0)%は言われるまま、%TARGET_NAME%の体に縄を巻き付け縛り付けた…
ENDSELECT

@COM_TEXT_BEFORE85_HANGING(TARGET_NAME)
#DIMS TARGET_NAME
SELECTCASE GET_COM_INITIATIVE()
		;プレイヤーに主導権
	CASE 0
		PRINTFORMW %ANAME(MPLY:0)%は%TARGET_NAME%の両手を縄で拘束し、%TARGET_NAME%の身体を天井から吊り下げた…
		;ターゲットに主導権
	CASE 1
		PRINTFORML %TARGET_NAME%は、%ANAME(MPLY:0)%に対して自身の両手を縄で縛り、天井から吊り下げるように命令した
		PRINTFORML %ANAME(MPLY:0)%は言われるまま、%TARGET_NAME%を拘束して天井から吊り下げた…
		;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対して、%TARGET_NAME%の両手を縄で縛り天井から吊り下げるように命令した
		PRINTFORML %ANAME(MPLY:0)%は言われるまま、%TARGET_NAME%を拘束して天井から吊り下げた…
ENDSELECT

@COM_TEXT_BEFORE85_BINDTOWALL(TARGET_NAME)
#DIMS TARGET_NAME
SELECTCASE GET_COM_INITIATIVE()
		;プレイヤーに主導権
	CASE 0
		PRINTFORMW %ANAME(MPLY:0)%は%TARGET_NAME%の両腕を縄で拘束し、壁に縛り付けた…
		;ターゲットに主導権
	CASE 1
		PRINTFORML %TARGET_NAME%は、%ANAME(MPLY:0)%に対して自身の両腕を縄で拘束し、壁に縛り付けるように命令した
		PRINTFORML %ANAME(MPLY:0)%は言われるまま、%TARGET_NAME%を拘束して壁に縛り付けた…
		;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対して、%TARGET_NAME%の両腕縄で拘束し、壁に縛り付けるように命令した
		PRINTFORML %ANAME(MPLY:0)%は言われるまま、%TARGET_NAME%を拘束して壁に縛り付けた…
ENDSELECT

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

;コマンド区分
;-------------------------------------------------
@COM_AVAILABLE_WHEN85
RETURN コマンド_ウフフ

;縄
@COM_CATEGORY85
IF FLAG:調教モード != 調教_居住区 && FLAG:調教モード != 調教_クエスト
	RETURN 3
ELSE
	RETURN 12
ENDIF

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_85()
RETURN POWER(2, 性的嗜好_虐げたい)

@COM_PREFERENCE_TARGET_85()
RETURN POWER(2, 性的嗜好_虐げられたい) + POWER(2, 性的嗜好_縛られたい)


code:
;口枷

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME86
LOCALS:0 = 口枷

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_ABLE86
;共通部分
CALL COM_ABLE_COMMON(86)
SIF RESULT == 0
	RETURN 0
;プレイヤーは最大で1人まで
SIF (MPLY_NUM <= 0 || MPLY_NUM > 1) && !FLAG:RECHECKING
	RETURN 0
;ターゲットは1人以上
SIF MTAR_NUM <= 0
	RETURN 0
;口枷が必要
SIF !HO_ITEM_STOCK:ITEM_口枷 && !ITEM:A_口枷
	RETURN 0
;口が塞がってたらダメ
FOR LOCAL, 0, MTAR_NUM
	SIF IS_M_HOLD(MTAR:LOCAL)
		RETURN 0
	;手が使えない場合は不可
	SIF !CAN_USE_HAND(MPLY:0) && !FLAG:RECHECKING
		RETURN 0
NEXT

RETURN 1

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

;●プレイヤーについて処理
SOURCE:(MPLY:0):嗜虐 = 200
SOURCE:(MPLY:0):逸脱 = 80
SOURCE:(MPLY:0):接触 = 20
EXP:(MPLY:0):嗜虐経験値 += 1

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

;●ターゲットについて処理

FOR LOCAL, 0, MTAR_NUM
	EXP:(MTAR:(LOCAL:0)):緊縛経験 += 1
	EXP:(MTAR:(LOCAL:0)):被虐経験値 += 1

	SOURCE:(MTAR:(LOCAL:0)):恐怖 = 40
	SOURCE:(MTAR:(LOCAL:0)):不安 = 70
	SOURCE:(MTAR:(LOCAL:0)):逸脱 = 150
	SOURCE:(MTAR:(LOCAL:0)):接触 = 20

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

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

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

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

RETURN 1

;-------------------------------------------------
;継続コマンドかどうかを設定
;-------------------------------------------------
@COM_IS_EQUIP86
;継続コマンドかつフィルタリング不可
RETURN 2

;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP86(ARG:0)

FOR LOCAL:0, 0, MEQUIP_TARGET_NUM:(ARG:0)
	LOCAL:3 = MEQUIP_TARGET:(ARG:0):LOCAL

	EXP:(LOCAL:3):緊縛経験 += 1
	EXP:(LOCAL:3):被虐経験値 += 1

	SOURCE:(LOCAL:3):恐怖 += 15
	SOURCE:(LOCAL:3):不安 += 30
	SOURCE:(LOCAL:3):逸脱 += 80

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

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE86(ARG:0)
RESULTS = %EQUIP_TARGET_ANAME(ARG:0)%が口枷を装着中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP86(ARG:0)
PRINTFORML %EQUIP_TARGET_ANAME(ARG:0)%は口を塞がれている…

;-------------------------------------------------
;継続を解除したときの地の文
;-------------------------------------------------
@COM_TEXT_RELEASE_EQUIP86(ARG:0)
PRINTFORMW %EQUIP_TARGET_ANAME(ARG:0)%の口枷を外した

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

;共通部分
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 = GET_PALAMLV(PALAM:(ARG:0):欲情)
CALL COM_ORDER_ELEMENT(ARG:0, @"欲情Lv{LOCAL:0}", MIN(LOCAL:0 * 1, 10))

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
IF TALENT:(ARG:0):Ｓ気質
	CALL COM_ORDER_ELEMENT(ARG:0, "Ｓ気質", 6)
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	CALL COM_ORDER_ELEMENT(ARG:0, "サド", 40)
ELSE
	IF ABL:(ARG:0):主導度Ｕ >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 15)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 10)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 5)
	ELSEIF ABL:(ARG:0):主導度Ｕ > -100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 0)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", -5)
	ENDIF

	IF ABL:(ARG:0):倒錯度 >= 800
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 20)
	ELSEIF ABL:(ARG:0):倒錯度 >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 15)
	ELSEIF ABL:(ARG:0):倒錯度 >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 10)
	ELSEIF ABL:(ARG:0):倒錯度 >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 5)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 0)
	ENDIF
ENDIF

RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE86

IF MTAR_NUM >= 2
	LOCALS:1 = %ANAME(MTAR:0)%たち
ELSE
	LOCALS:1 = %ANAME(MTAR:0)%
ENDIF

SELECTCASE GET_COM_INITIATIVE()
		;プレイヤーに主導権
	CASE 0
		PRINTFORMW %ANAME(MPLY:0)%は%LOCALS:1%に口枷を装着し%TARGET_STR("た", "てきた")%…
		;ターゲットに主導権
	CASE 1
		PRINTFORMW %LOCALS:1%は%ANAME(MPLY:0)%に口枷を渡すと、それを%LOCALS:1%の口に装着するように命令した…
		PRINTFORML %ANAME(MPLY:0)%は言われるまま、%LOCALS:1%に口枷をはめた…
		;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対して、%LOCALS:1%に口枷を付けるように命令した
		PRINTFORML %ANAME(MPLY:0)%は言われるまま、%LOCALS:1%に口枷を装着した…
ENDSELECT

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

;口枷
@COM_CATEGORY86
IF FLAG:調教モード != 調教_居住区 && FLAG:調教モード != 調教_クエスト
	RETURN 3
ELSE
	RETURN 12
ENDIF

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_86()
RETURN POWER(2, 性的嗜好_虐げたい)

@COM_PREFERENCE_TARGET_86()
RETURN POWER(2, 性的嗜好_虐げられたい) + POWER(2, 性的嗜好_縛られたい)


code:
;フィストファック

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME87
LOCALS:0 = フィストファック

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_ABLE87
;共通部分
CALL COM_ABLE_COMMON(87)
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 !CAN_REACH_GROIN(MPLY:0, MTAR:0)
	RETURN 0
RETURN 1

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

;ターゲットのＶ拡張経験による諸々の倍率
LOCAL:10 = MIN(100 + EXP:(MTAR:0):Ｖ拡張経験 * 10 + MIN(ABL:(MTAR:0):Ｖ感, 6) * 30, 600)

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

EXP:(MPLY:0):性技経験値 += 1
EXP:(MPLY:0):嗜虐経験値 += RAND(1, 4)

SOURCE:(MPLY:0):嗜虐 = 900
SOURCE:(MPLY:0):逸脱 = 600
SOURCE:(MPLY:0):性行動 = 150

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

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

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

EXP:(MTAR:0):Ｖ拡張経験 += 1
EXP:(MTAR:0):被虐経験値 += RAND(1, 4)

SOURCE:(MTAR:0):快Ｖ += SENSE_HOUSHI(MPLY:0, MTAR:0, 500) * LOCAL:10 / 100
SOURCE:(MTAR:0):苦痛 = 5000 * 100 / LOCAL:10
SOURCE:(MTAR:0):逸脱 = 600
SOURCE:(MTAR:0):露出 = 150
SOURCE:(MTAR:0):性行動 = 300

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

IF PALAM:(MTAR:0):潤滑 < PALAMLV:1
	TIMES SOURCE:(MTAR:0):快Ｖ, 0.05
	TIMES SOURCE:(MTAR:0):苦痛, 2.50
ELSEIF PALAM:(MTAR:0):潤滑 < PALAMLV:3
	TIMES SOURCE:(MTAR:0):快Ｖ, 0.20
	TIMES SOURCE:(MTAR:0):苦痛, 2.00
ELSEIF PALAM:(MTAR:0):潤滑 < PALAMLV:5
	TIMES SOURCE:(MTAR:0):快Ｖ, 0.60
	TIMES SOURCE:(MTAR:0):苦痛, 1.50
ELSEIF PALAM:(MTAR:0):潤滑 < PALAMLV:7
	TIMES SOURCE:(MTAR:0):快Ｖ, 0.85
	TIMES SOURCE:(MTAR:0):苦痛, 1.20
ELSE
	TIMES SOURCE:(MTAR:0):快Ｖ, 1.00
	TIMES SOURCE:(MTAR:0):苦痛, 1.00
ENDIF

IF GETBIT(TALENT:(MPLY:0):淫乱系, 素質_淫乱_サド)
	TIMES SOURCE:(MTAR:0):苦痛, 1.30
ENDIF

IF TALENT:(MTAR:0):体格 == 体格_小柄 && !TALENT:(MPLY:0):体格 == 体格_小柄
	TIMES SOURCE:(MTAR:0):苦痛, 1.30
ENDIF

IF TALENT:(MTAR:0):処女 == 1
	SOURCE:(MTAR:0):苦痛 = SOURCE:(MTAR:0):苦痛 * 2 + 500
ENDIF

CALL TIGHTNESS_DECREASE_V(MTAR:0, RAND(5, 8))

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

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

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

CALL VIRGIN_COMMON(MTAR:0, @"%ANAME(MPLY:0)%の腕", GET_SITUATION_BY_TRAIN_MODE())

IF TALENT:(MTAR:0):処女
	IF MPLY:0 == MASTER
		;処女喪失フラグ(主人に性交以外で奪われる)
		TCVAR:(MTAR:0):処女喪失フラグ = 2
	ELSE
		;処女喪失フラグ(主人以外に性交以外で奪われる)
		TCVAR:(MTAR:0):処女喪失フラグ = 4
	ENDIF

ENDIF

RETURN 1

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

;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP87(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)

;ターゲットのＶ拡張経験による諸々の倍率
LOCAL:10 = MIN(100 + EXP:(LOCAL:3):Ｖ拡張経験 * 10 + MIN(ABL:(LOCAL:3):Ｖ感, 6) * 30, 600)

;●プレイヤーの処理
DOWNBASE:(LOCAL:2):体力 += 20

EXP:(LOCAL:2):性技経験値 += 1
EXP:(LOCAL:2):嗜虐経験値 += 1
SOURCE:(LOCAL:2):嗜虐 += 450
SOURCE:(LOCAL:2):逸脱 += 300
SOURCE:(LOCAL:2):性行動 += 50

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

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

;●ターゲットの処理
DOWNBASE:(LOCAL:3):体力 += 30

EXP:(LOCAL:3):Ｖ拡張経験 += 1
EXP:(LOCAL:3):被虐経験値 += 1

SOURCE:(LOCAL:3):快Ｖ += SENSE_HOUSHI(LOCAL:2, LOCAL:3, 300) * LOCAL:10 / 100
SOURCE:(LOCAL:3):苦痛 += 2000 * 100 / LOCAL:10
SOURCE:(LOCAL:3):逸脱 += 300
SOURCE:(LOCAL:3):露出 += 75
SOURCE:(LOCAL:3):性行動 += 100

IF PALAM:(LOCAL:3):潤滑 < PALAMLV:1
	TIMES SOURCE:(LOCAL:3):快Ｖ, 0.05
	TIMES SOURCE:(LOCAL:3):苦痛, 2.50
ELSEIF PALAM:(LOCAL:3):潤滑 < PALAMLV:3
	TIMES SOURCE:(LOCAL:3):快Ｖ, 0.20
	TIMES SOURCE:(LOCAL:3):苦痛, 2.00
ELSEIF PALAM:(LOCAL:3):潤滑 < PALAMLV:5
	TIMES SOURCE:(LOCAL:3):快Ｖ, 0.60
	TIMES SOURCE:(LOCAL:3):苦痛, 1.50
ELSEIF PALAM:(LOCAL:3):潤滑 < PALAMLV:7
	TIMES SOURCE:(LOCAL:3):快Ｖ, 0.85
	TIMES SOURCE:(LOCAL:3):苦痛, 1.20
ELSE
	TIMES SOURCE:(LOCAL:3):快Ｖ, 1.00
	TIMES SOURCE:(LOCAL:3):苦痛, 1.00
ENDIF

IF GETBIT(TALENT:(LOCAL:2):淫乱系, 素質_淫乱_サド)
	TIMES SOURCE:(LOCAL:3):苦痛, 1.30
ENDIF

IF TALENT:(LOCAL:3):体格 == 体格_小柄 && !TALENT:(LOCAL:2):体格 == 体格_小柄
	TIMES SOURCE:(LOCAL:3):苦痛, 1.30
ENDIF

CALL TIGHTNESS_DECREASE_V(LOCAL:3, RAND(5, 8))

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

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

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE87(ARG:0)
RESULTS = %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%にフィストファック中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP87(ARG:0)
PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%の膣に拳を押し込んでいる…

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

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

;共通部分
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):奉仕 * 4)
CALL COM_ORDER_ELEMENT(ARG:0, @"サドLv{ABL:(ARG:0):サド}", ABL:(ARG:0):サド * 3)

LOCAL:0 = GET_PALAMLV(PALAM:(ARG:0):欲情)
CALL COM_ORDER_ELEMENT(ARG:0, @"欲情Lv{LOCAL:0}", MIN(LOCAL:0 * 1, 10))

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	CALL COM_ORDER_ELEMENT(ARG:0, "サド", 50)
ELSEIF FLAG:主導権所有者 == ARG:0
	;主導度
	IF ABL:(ARG:0):主導度Ｕ >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 20)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 5)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度不足", -50)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度不足", -200)
	ENDIF

	;倒錯度
	IF ABL:(ARG:0):倒錯度 >= 800
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 20)
	ELSEIF ABL:(ARG:0):倒錯度 >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 5)
	ELSEIF ABL:(ARG:0):倒錯度 >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度不足", -150)
	ELSEIF ABL:(ARG:0):倒錯度 >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度不足", -300)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度不足", -500)
	ENDIF
ENDIF

;合意
IF !TALENT:(ARG:0):合意 && !TALENT:(ARG:0):親友
	CALL COM_ORDER_ELEMENT(ARG:0, "合意なし", -10)
ENDIF
RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE87
LOCALS:1 = 無理やり
IF IS_PIERCED(MTAR:0, ピアス_ラビア)
	LOCALS:0 = ピアスの取り付けられた
ELSE
	LOCALS:0 =
ENDIF
IF TALENT:(MTAR:0):処女 == 1
	LOCALS:0 = %LOCALS:0%まだ乙女の
ENDIF

IF PALAM:(MTAR:0):潤滑 >= PALAMLV:7
	LOCALS:0 = %LOCALS:0%濡れそぼった
ENDIF

IF EXP:(MTAR:0):Ｖ拡張経験 >= 50
	LOCALS:0 = %LOCALS:0%拡張されてすっかり広がりきった
	LOCALS:1 =
ELSEIF EXP:(MTAR:0):Ｖ拡張経験 >= 20
	LOCALS:0 = %LOCALS:0%拡張されて良く広がるようになった
	LOCALS:1 =
ENDIF

IF TALENT:(MTAR:0):体格 == 体格_小柄
	LOCALS:0 = %LOCALS:0%小さなワレメ
ELSE
	LOCALS:0 = %LOCALS:0%ワレメ
ENDIF

SELECTCASE GET_COM_INITIATIVE()
	;プレイヤーに主導権
	CASE 0
		PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%の%LOCALS:0%を、拳で%LOCALS:1%押し広げて陵辱し%TARGET_STR("た", "てきた")%…
	;ターゲットに主導権
	CASE 1
		PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の前に%LOCALS:0%を晒すと、中に拳を突き入れて犯すように命令した…
		IF ABL:(MPLY:0):サド >= 3
			PRINTFORMW %ANAME(MPLY:0)%は言われるまま、%ANAME(MTAR:0)%の膣内を%LOCALS:1%押し広げながら拳を突き入れていった…
		ELSE
			PRINTFORMW %ANAME(MPLY:0)%は戸惑いながらも、力を込めてゆっくりと拳を%LOCALS:1%%ANAME(MTAR:0)%の膣内に収めていった…
		ENDIF
	;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に、%ANAME(MTAR:0)%の膣を拳で犯すように命令した
		IF ABL:(MPLY:0):サド >= 3
			PRINTFORMW %ANAME(MPLY:0)%は言われるまま、%ANAME(MTAR:0)%の膣内を%LOCALS:1%押し広げながら拳を突き入れていった…
		ELSE
			PRINTFORMW %ANAME(MPLY:0)%は戸惑いながらも、力を込めてゆっくりと拳を%LOCALS:1%%ANAME(MTAR:0)%の膣内に収めていった…
		ENDIF
ENDSELECT

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

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

@COM_AVAILABLE_WHEN87
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_87()
RETURN POWER(2, 性的嗜好_虐げたい)

@COM_PREFERENCE_TARGET_87()
RETURN POWER(2, 性的嗜好_虐げられたい)


code:
;アナルフィスト

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME88
LOCALS:0 = アナルフィスト

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_ABLE88
;共通部分
CALL COM_ABLE_COMMON(88)
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 IS_A_HOLD(MTAR:0)
	RETURN 0
SIF !CAN_REACH_GROIN(MPLY:0, MTAR:0)
	RETURN 0
RETURN 1

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

;ターゲットのＡ拡張経験による諸々の倍率
LOCAL:10 = MIN(100 + EXP:(MTAR:0):Ａ拡張経験 * 10 + MIN(ABL:(MTAR:0):Ａ感, 6) * 30, 600)

;●プレイヤー側の処理
DOWNBASE:(MPLY:0):体力 += 120
EXP:(MPLY:0):嗜虐経験値 += RAND(1, 4)

SOURCE:(MPLY:0):嗜虐 = 1000
SOURCE:(MPLY:0):逸脱 = 600
SOURCE:(MPLY:0):性行動 = 90

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

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

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

EXP:(MTAR:0):Ａ拡張経験 += 1
EXP:(MTAR:0):被虐経験値 += RAND(1, 4)

SOURCE:(MTAR:0):快Ａ += SENSE_HOUSHI(MPLY:0, MTAR:0, 500) * LOCAL:10 / 100
SOURCE:(MTAR:0):苦痛 = 5000 * 100 / LOCAL:10
SOURCE:(MTAR:0):逸脱 = 600
SOURCE:(MTAR:0):露出 = 400
SOURCE:(MTAR:0):性行動 = 150

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

IF PALAM:(MTAR:0):潤滑 < PALAMLV:1
	TIMES SOURCE:(MTAR:0):快Ａ, 0.05
	TIMES SOURCE:(MTAR:0):苦痛, 2.50
ELSEIF PALAM:(MTAR:0):潤滑 < PALAMLV:3
	TIMES SOURCE:(MTAR:0):快Ａ, 0.20
	TIMES SOURCE:(MTAR:0):苦痛, 2.00
ELSEIF PALAM:(MTAR:0):潤滑 < PALAMLV:5
	TIMES SOURCE:(MTAR:0):快Ａ, 0.60
	TIMES SOURCE:(MTAR:0):苦痛, 1.50
ELSEIF PALAM:(MTAR:0):潤滑 < PALAMLV:7
	TIMES SOURCE:(MTAR:0):快Ａ, 0.85
	TIMES SOURCE:(MTAR:0):苦痛, 1.20
ELSE
	TIMES SOURCE:(MTAR:0):快Ａ, 1.00
	TIMES SOURCE:(MTAR:0):苦痛, 1.00
ENDIF

IF GETBIT(TALENT:(MPLY:0):淫乱系, 素質_淫乱_サド)
	TIMES SOURCE:(MTAR:0):苦痛, 1.30
ENDIF

IF TALENT:(MTAR:0):体格 == 体格_小柄 && !TALENT:(MPLY:0):体格 == 体格_小柄
	TIMES SOURCE:(MTAR:0):苦痛, 1.30
ENDIF

CALL TIGHTNESS_DECREASE_A(MTAR:0, RAND(5, 8))
CALL VIRGIN_COMMON_A(MTAR:0, @"%ANAME(MPLY:0)%の腕", GET_SITUATION_BY_TRAIN_MODE())

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

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

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

RETURN 1

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

;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP88(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)

;ターゲットのＶ拡張経験による諸々の倍率
LOCAL:10 = MIN(100 + EXP:(LOCAL:3):Ａ拡張経験 * 10 + MIN(ABL:(LOCAL:3):Ａ感, 6) * 30, 600)

;●プレイヤーの処理
DOWNBASE:(LOCAL:2):体力 += 20

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

SOURCE:(LOCAL:2):嗜虐 += 500
SOURCE:(LOCAL:2):逸脱 += 300
SOURCE:(LOCAL:2):性行動 += 30

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

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

;●ターゲットの処理
DOWNBASE:(LOCAL:3):体力 += 30

EXP:(LOCAL:3):Ａ拡張経験 += 1
EXP:(LOCAL:3):被虐経験値 += 1

SOURCE:(LOCAL:3):快Ａ += SENSE_HOUSHI(LOCAL:2, LOCAL:3, 300) * LOCAL:10 / 100
SOURCE:(LOCAL:3):苦痛 += 2000 * 100 / LOCAL:10
SOURCE:(LOCAL:3):逸脱 += 300
SOURCE:(LOCAL:3):露出 += 200
SOURCE:(LOCAL:3):性行動 += 50

IF PALAM:(LOCAL:3):潤滑 < PALAMLV:1
	TIMES SOURCE:(LOCAL:3):快Ａ, 0.05
	TIMES SOURCE:(LOCAL:3):苦痛, 2.50
ELSEIF PALAM:(LOCAL:3):潤滑 < PALAMLV:3
	TIMES SOURCE:(LOCAL:3):快Ａ, 0.20
	TIMES SOURCE:(LOCAL:3):苦痛, 2.00
ELSEIF PALAM:(LOCAL:3):潤滑 < PALAMLV:5
	TIMES SOURCE:(LOCAL:3):快Ａ, 0.60
	TIMES SOURCE:(LOCAL:3):苦痛, 1.50
ELSEIF PALAM:(LOCAL:3):潤滑 < PALAMLV:7
	TIMES SOURCE:(LOCAL:3):快Ａ, 0.85
	TIMES SOURCE:(LOCAL:3):苦痛, 1.20
ELSE
	TIMES SOURCE:(LOCAL:3):快Ａ, 1.00
	TIMES SOURCE:(LOCAL:3):苦痛, 1.00
ENDIF

IF GETBIT(TALENT:(LOCAL:2):淫乱系, 素質_淫乱_サド)
	TIMES SOURCE:(LOCAL:3):苦痛, 1.30
ENDIF

IF TALENT:(LOCAL:3):体格 == 体格_小柄 && !TALENT:(LOCAL:2):体格 == 体格_小柄
	TIMES SOURCE:(LOCAL:3):苦痛, 1.30
ENDIF

CALL TIGHTNESS_DECREASE_A(LOCAL:3, RAND(5, 8))

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

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

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE88(ARG:0)
RESULTS = %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%にアナルフィスト中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP88(ARG:0)
PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%のアナルに拳を押し込んでいる…

;-------------------------------------------------
;継続を解除したときの地の文
;-------------------------------------------------
@COM_TEXT_RELEASE_EQUIP88(ARG:0)
PRINTFORMW %EQUIP_PLAYER_ANAME(ARG:0)%は%EQUIP_TARGET_ANAME(ARG:0)%のアナルから拳を引き抜いた…

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

;共通部分
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):奉仕 * 4)
CALL COM_ORDER_ELEMENT(ARG:0, @"サドLv{ABL:(ARG:0):サド}", ABL:(ARG:0):サド * 3)

LOCAL:0 = GET_PALAMLV(PALAM:(ARG:0):欲情)
CALL COM_ORDER_ELEMENT(ARG:0, @"欲情Lv{LOCAL:0}", MIN(LOCAL:0 * 1, 10))

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	CALL COM_ORDER_ELEMENT(ARG:0, "サド", 50)
ELSEIF FLAG:主導権所有者 == ARG:0
	;主導度
	IF ABL:(ARG:0):主導度Ｕ >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 20)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 5)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度不足", -50)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度不足", -200)
	ENDIF

	;倒錯度
	IF ABL:(ARG:0):倒錯度 >= 800
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 20)
	ELSEIF ABL:(ARG:0):倒錯度 >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 5)
	ELSEIF ABL:(ARG:0):倒錯度 >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度不足", -150)
	ELSEIF ABL:(ARG:0):倒錯度 >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度不足", -300)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度不足", -500)
	ENDIF
ENDIF

;合意
IF !TALENT:(ARG:0):合意 && !TALENT:(ARG:0):親友
	CALL COM_ORDER_ELEMENT(ARG:0, "合意なし", -10)
ENDIF
RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE88
LOCALS:1 = 無理やり
IF EXP:(MTAR:0):Ａ拡張経験 >= 50
	LOCALS:0 = 拡張されてすっかり広がりきった
	LOCALS:1 =
ELSEIF EXP:(MTAR:0):Ａ拡張経験 >= 20
	LOCALS:0 = 拡張されて良く広がるようになった
	LOCALS:1 =
ELSE
	LOCALS:0 =
ENDIF

IF TALENT:(MTAR:0):体格 == 体格_小柄
	LOCALS:0 = %LOCALS:0%小さなアナル
ELSE
	LOCALS:0 = %LOCALS:0%アナル
ENDIF

IF TALENT:(MTAR:0):美尻
	LOCALS:2 = %STR_BODY("尻：尻肉：長：愛撫：感触", MTAR:0)%を割り開き、
ELSEIF GET_HIPSIZE(MTAR:0) >= 1
	LOCALS:2 = %STR_BODY("尻肉：長", MTAR:0)%をかきわけ、
ELSE
	LOCALS:2 =
ENDIF

SELECTCASE GET_COM_INITIATIVE()
	;プレイヤーに主導権
	CASE 0
		PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%の%LOCALS:2%%LOCALS:0%を、拳で%LOCALS:1%押し広げて陵辱し%TARGET_STR("た", "てきた")%…
	;ターゲットに主導権
	CASE 1
		PRINTFORMW %ANAME(MTAR:0)%は%LOCALS:2%%ANAME(MPLY:0)%の前に%LOCALS:0%を晒すと、中に拳を突き入れて犯すように命令した…
		IF ABL:(MPLY:0):サド >= 3
			PRINTFORMW %ANAME(MPLY:0)%は言われるまま、%ANAME(MTAR:0)%のアナルを%LOCALS:1%押し広げながら拳を突き入れていった…
		ELSE
			PRINTFORMW %ANAME(MPLY:0)%は戸惑いながらも、力を込めてゆっくりと拳を%ANAME(MTAR:0)%のアナルに収めていった…
		ENDIF
	;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に、%ANAME(MTAR:0)%のアナルを拳で犯すように命令した
		IF ABL:(MPLY:0):サド >= 3
			PRINTFORMW %ANAME(MPLY:0)%は言われるまま、%ANAME(MTAR:0)%の%LOCALS:2%アナルを%LOCALS:1%押し広げながら拳を突き入れていった…
		ELSE
			PRINTFORMW %ANAME(MPLY:0)%は戸惑いながらも、%LOCALS:2%力を込めてゆっくりと拳を%ANAME(MTAR:0)%のアナルに収めていった…
		ENDIF
ENDSELECT

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

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

@COM_AVAILABLE_WHEN88
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_88()
RETURN POWER(2, 性的嗜好_虐げたい)

@COM_PREFERENCE_TARGET_88()
RETURN POWER(2, 性的嗜好_虐げられたい)


code:
;平手打ち

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME89
LOCALS:0 = 平手打ち

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_ABLE89
;共通部分
CALL COM_ABLE_COMMON(89)
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 !CAN_REACH_BODY(MPLY:0, MTAR:0)
	RETURN 0
RETURN 1

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

;●プレイヤーについて処理
SOURCE:(MPLY:0):嗜虐 = 150
SOURCE:(MPLY:0):逸脱 = 50
SOURCE:(MPLY:0):接触 = 30
EXP:(MPLY:0):嗜虐経験値 += 1

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

;●ターゲットについて処理
SOURCE:(MTAR:0):苦痛 = 60 + MIN(ABL:(MPLY:0):身体, 90) * 2
SOURCE:(MTAR:0):逸脱 = 50
SOURCE:(MTAR:0):接触 = 30
EXP:(MTAR:0):被虐経験値 += 1

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

IF GETBIT(TALENT:(MPLY:0):淫乱系, 素質_淫乱_サド)
	TIMES SOURCE:(MTAR:0):苦痛, 1.50
ENDIF

;ターゲットが気絶している場合
IF TCVAR:(MTAR:0):失神フラグ
	SOURCE:(MTAR:0):気絶回復 = 300
ENDIF

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

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

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

CALL FL_PLAYSE("Snap_0.mp3")

RETURN 1

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

;共通部分
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 = GET_PALAMLV(PALAM:(ARG:0):欲情)
CALL COM_ORDER_ELEMENT(ARG:0, @"欲情Lv{LOCAL:0}", MIN(LOCAL:0 * 1, 10))

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
IF TALENT:(ARG:0):Ｓ気質
	CALL COM_ORDER_ELEMENT(ARG:0, "Ｓ気質", 6)
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	CALL COM_ORDER_ELEMENT(ARG:0, "サド", 40)
ELSE
	IF ABL:(ARG:0):主導度Ｕ >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 15)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 10)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 5)
	ELSEIF ABL:(ARG:0):主導度Ｕ > -100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 0)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", -5)
	ENDIF

	IF ABL:(ARG:0):倒錯度 >= 800
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 20)
	ELSEIF ABL:(ARG:0):倒錯度 >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 15)
	ELSEIF ABL:(ARG:0):倒錯度 >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 10)
	ELSEIF ABL:(ARG:0):倒錯度 >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 5)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 0)
	ENDIF
ENDIF

RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE89
IF TCVAR:(MPLY:0):失神フラグ
	LOCALS:1 = 失神して意識のない
ELSE
	LOCALS:1 =
ENDIF

SELECTCASE GET_COM_INITIATIVE()
		;プレイヤーに主導権
	CASE 0
		IF MPLY:0 == MASTER
			PRINTFORMW %ANAME(MPLY:0)%は%LOCALS:1%%ANAME(MTAR:0)%の頬を平手で強く叩い%TARGET_STR("た", "てきた")%…
		ELSEIF ABL:(MPLY:0):サド >= 3
			PRINTFORMW %ANAME(MPLY:0)%は嗜虐的な笑みを浮かべながら、%LOCALS:1%%ANAME(MTAR:0)%の頬を平手で思い切り張り叩い%TARGET_STR("た", "てきた")%…
		ELSE
			PRINTFORMW %ANAME(MPLY:0)%は%LOCALS:1%%ANAME(MTAR:0)%の頬を平手で叩い%TARGET_STR("た", "てきた")%…
		ENDIF
		;ターゲットに主導権
	CASE 1
		PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0)%に対して、自分の頬を叩くように命令した
		IF MPLY:0 == MASTER
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に言われるまま、%ANAME(MTAR:0)%の頬を平手で叩いた…
		ELSEIF ABL:(MPLY:0):サド >= 3
			PRINTFORMW %ANAME(MPLY:0)%は呆れたように%ANAME(MTAR:0)%を見ると、%ANAME(MTAR:0)%の頬を思い切り張り叩い%TARGET_STR("た", "てきた")%…
		ELSE
			PRINTFORMW %ANAME(MPLY:0)%は困惑しながらも、言われた通りに%ANAME(MTAR:0)%の頬を平手で叩いた…
		ENDIF
		;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対して、%ANAME(MTAR:0)%の頬を叩くように命令した
		PRINTFORMW %ANAME(MPLY:0)%は言われるまま、%LOCALS:1%%ANAME(MTAR:0)%の頬を平手で叩いた…
ENDSELECT

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST89
FOR LOCAL:0, 0, MTAR_NUM
	LOCAL:1 = MTAR:(LOCAL:0)
	IF LOCAL:1 != MASTER && IS_PLAYABLE(LOCAL:1)
		LOCAL:2 = CUP:(MTAR:0):怖主
		LOCAL:3 = CUP:(MTAR:0):怒主

		IF GETBIT(TALENT:(LOCAL:1):淫乱系, 素質_淫乱_マゾ)
			PRINTFORML %ANAME(LOCAL:1)%は与えられた苦痛と屈辱に興奮したのか、恍惚とした表情で息を荒らげている
		ELSEIF ABL:LOCAL:マゾ >= 3
			PRINTFORML %ANAME(LOCAL:1)%は痛みに頬を押さえながらも、どこか恍惚とした表情を浮かべている
		ELSEIF LOCAL:2 >= 1500
			PRINTFORML %ANAME(LOCAL:1)%は痛みと恐怖のあまり体を竦ませ震えている
		ELSEIF LOCAL:2 >= 500
			IF LOCAL:3 >= 200 && !IS_INITIATIVE(MTAR:(LOCAL:0))
				PRINTFORML %ANAME(LOCAL:1)%は涙目になりながらも、怒りの篭った瞳で%ANAME(MPLY:0)%を睨みつけた
			ELSEIF LOCAL:3 >= 50 && !IS_INITIATIVE(MTAR:(LOCAL:0))
				PRINTFORML %ANAME(LOCAL:1)%は涙目になりながら%ANAME(MPLY:0)%を睨んだ
			ELSE
				PRINTFORML %ANAME(LOCAL:1)%は涙目になりながら痛みに耐えている
			ENDIF
		ELSE
			IF LOCAL:3 >= 200 && !IS_INITIATIVE(MTAR:(LOCAL:0))
				PRINTFORML %ANAME(LOCAL:1)%は怒りの篭った瞳で%ANAME(MPLY:0)%を睨みつけた
			ELSEIF LOCAL:3 >= 50 && !IS_INITIATIVE(MTAR:(LOCAL:0))
				PRINTFORML %ANAME(LOCAL:1)%は%ANAME(MPLY:0)%を睨みつけた
			ELSE
				PRINTFORML %ANAME(LOCAL:1)%は頬を張られる痛みに小さく呻いた
			ENDIF
		ENDIF
	ENDIF
NEXT

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

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

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

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_89()
RETURN POWER(2, 性的嗜好_虐げたい)

@COM_PREFERENCE_TARGET_89()
RETURN POWER(2, 性的嗜好_虐げられたい)


code:
;クンニ

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME8
LOCAL:0 = IS_RIDE(MPLY:0, MTAR:0)

;男性プレイヤーがターゲットに顔面騎乗中
IF LOCAL:0 && !HAS_VAGINA(MPLY:0)
	LOCALS:0 = 顔騎アナル舐め
	;非男性プレイヤーがターゲットに顔面騎乗中 or ターゲットからプレイヤーにフェラ・クンニ・アナル舐め中
ELSEIF LOCAL:0 || SEARCH_EQUIP(11, MTAR:0, MPLY:0) >= 0 || SEARCH_EQUIP(2, MTAR:0, MPLY:0) >= 0 || SEARCH_EQUIP(8, MTAR:0, MPLY:0) >= 0
	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_ABLE8
;共通部分
CALL COM_ABLE_COMMON(8)
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 !CAN_LICK_GROIN(MPLY:0 ,MTAR:0)
	RETURN 0
;target already getting a rimjob
SIF IS_EQUIP_TARGET(MTAR:0, 8)
	RETURN 0
;vaginal facesitting is a special case
SIF IS_EQUIP_PLAYER(MTAR:0, 101)
	RETURN 0
RETURN 1

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

;●プレイヤーについて処理
DOWNBASE:(MPLY:0):体力 += 120

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

SOURCE:(MPLY:0):奉仕 = SERVE_HOUSHI(MPLY:0, 300)
SOURCE:(MPLY:0):接触 = 50
SOURCE:(MPLY:0):性行動 = 300

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

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

;膣口へのキス
CALL KISS_COMMON(MPLY:0, @"%ANAME(MTAR:0)%のアナル", GET_SITUATION_BY_TRAIN_MODE())

;●ターゲットについて処理
DOWNBASE:(MTAR:0):体力 += 60

SOURCE:(MTAR:0):液体追加 = 300
SOURCE:(MTAR:0):露出 = 150
SOURCE:(MTAR:0):逸脱 = 50
SOURCE:(MTAR:0):接触 = 50
SOURCE:(MTAR:0):快Ａ = SENSE_HOUSHI(MPLY:0, MTAR:0, 1500)
SOURCE:(MTAR:0):性行動 = 300

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

IF TALENT:(MPLY:0):舌使い
	TIMES SOURCE:(MTAR:0):快Ａ, 1.50
ENDIF

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

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

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

CALL FL_PLAYSE("Lick_1.mp3",,"SEX")

RETURN 1

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

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

;●プレイヤーの処理
DOWNBASE:(LOCAL:2):体力 += 20

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

SOURCE:(LOCAL:2):奉仕 += SERVE_HOUSHI(LOCAL:2, 100)
SOURCE:(LOCAL:2):接触 += 25
SOURCE:(LOCAL:2):性行動 += 100

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

;●ターゲットの処理
DOWNBASE:(LOCAL:3):体力 += 10

SOURCE:(LOCAL:3):液体追加 += 150
SOURCE:(LOCAL:3):露出 += 75
SOURCE:(LOCAL:3):逸脱 += 25
SOURCE:(LOCAL:3):接触 += 25
SOURCE:(LOCAL:3):性行動 += 100

IF TALENT:(LOCAL:2):舌使い
	SOURCE:(LOCAL:3):快Ａ += SENSE_HOUSHI(LOCAL:2, LOCAL:3, 1125)
ELSE
	SOURCE:(LOCAL:3):快Ａ += SENSE_HOUSHI(LOCAL:2, LOCAL:3, 750)
ENDIF

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE8(ARG:0)
RESULTS = %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%にアナル舐め中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP8(ARG:0)
PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%のアナルを舌で舐めている…

;-------------------------------------------------
;継続を解除したときの地の文
;-------------------------------------------------
@COM_TEXT_RELEASE_EQUIP8(ARG:0)

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

;共通部分
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):奉仕 * 4)

LOCAL:0 = GET_PALAMLV(PALAM:(ARG:0):欲情)
CALL COM_ORDER_ELEMENT(ARG:0, @"欲情Lv{LOCAL:0}", MIN(LOCAL:0 * 2, 20))

IF TCVAR:(ARG:0):媚薬
	CALL COM_ORDER_ELEMENT(ARG:0, "媚薬", 6)
ENDIF

IF TALENT:(ARG:0):恥じらい
	CALL COM_ORDER_ELEMENT(ARG:0, "恥じらい", -1)
ENDIF
IF TALENT:(ARG:0):汚臭鈍感
	CALL COM_ORDER_ELEMENT(ARG:0, "汚臭鈍感", 1)
ENDIF
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, "快感の否定", -1)
ENDIF
;合意
IF !TALENT:(ARG:0):合意 && !TALENT:(ARG:0):親友
	CALL COM_ORDER_ELEMENT(ARG:0, "合意なし", -10)
ENDIF
RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE8
LOCAL:5 = SEARCH_EQUIP(101, MPLY:0, MTAR:0)
LOCAL:6 = SEARCH_EQUIP(102, MPLY:0, MTAR:0)
LOCAL:7 = SEARCH_EQUIP(11, MTAR:0, MPLY:0)
LOCAL:8 = SEARCH_EQUIP(2, MTAR:0, MPLY:0)
LOCAL:9 = SEARCH_EQUIP(101, MTAR:0, MPLY:0)

IF TALENT:(MTAR:0):美尻
	LOCALS:2 = %STR_BODY("尻：尻肉：長：接触", MTAR:0)%を割り開き、
ELSEIF GET_HIPSIZE(MTAR:0) >= 1
	LOCALS:2 = %STR_BODY("尻肉：長：接触", MTAR:0)%をかきわけ、
ELSE
	LOCALS:2 =
ENDIF

IF HAS_PENIS(MTAR:0)
	LOCALS:1 = 竿の付け根のあたりから
ELSEIF TALENT:(MTAR:0):体格 == 体格_子供
	LOCALS:1 = 色素も沈着していない
ELSEIF ABL:(MTAR:0):Ａ感 <= 1
	LOCALS:1 = 未だ不慣れな
ELSE
	LOCALS:1 =
ENDIF

IF GET_INMOU_LEVEL(MTAR:0) >= 2
	LOCALS:3 = 菊座近くまで毛の繁った
ELSE
	LOCALS:3 =
ENDIF

IF CUM_GET_AMOUNT:(MTAR:0):射精部位_アナル > 0
	LOCALS:4 = 白濁をこぼしている
ELSE
	LOCALS:4 =
ENDIF

;プレイヤーがターゲットに顔面騎乗中かつ男の場合
IF LOCAL:5 >= 0 && !HAS_VAGINA(MPLY:0)
	SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
		CASE 0
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に自身の玉を舐めさせながら、%ANAME(MTAR:0)%の%LOCALS:2%%LOCALS:1%%LOCALS:3%%LOCALS:4%アナルを舐めほぐし%TARGET_STR("た", "てきた")%…
			;ターゲットに主導権
		CASE 1
			PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の玉を舐めながら、%LOCALS:2%%ANAME(MPLY:0)%に自身の%LOCALS:1%%LOCALS:3%%LOCALS:4%アナルを舐めさせた…
			;第三者に主導権
		CASEELSE
			PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に%ANAME(MTAR:0)%の菊穴を舐めるように命令した
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に自身の玉を舐めさせながら、%ANAME(MTAR:0)%の%LOCALS:2%%LOCALS:1%%LOCALS:3%%LOCALS:4%アナルを舐めほぐした…
	ENDSELECT
	;顔面騎乗の地の文をカット
	IF LOCAL:5 >= 0
		MEQUIP_CUT:(LOCAL:5) = 1
	ENDIF

	;非男性プレイヤーがターゲットに顔面騎乗中 or ターゲットからプレイヤーにフェラ・クンニ中
ELSEIF LOCAL:5 >= 0 || LOCAL:6 >= 0 || LOCAL:7 >= 0 || LOCAL:8 >= 0
	IF LOCAL:6 >= 0
		LOCALS:0 = アナル
	ELSEIF LOCAL:7 >= 0
		LOCALS:0 = ペニス
	ELSE
		LOCALS:0 = 秘唇
	ENDIF
	SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
		CASE 0
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に自身の%LOCALS:0%を舐めさせながら、%ANAME(MTAR:0)%の%LOCALS:2%%LOCALS:1%%LOCALS:3%%LOCALS:4%アナルを舐めほぐし%TARGET_STR("た", "てきた")%…
			;ターゲットに主導権
		CASE 1
			PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の%LOCALS:0%を舐めながら、%LOCALS:2%%ANAME(MPLY:0)%に自身の%LOCALS:1%%LOCALS:3%%LOCALS:4%アナルを舐めさせた…
			;第三者に主導権
		CASEELSE
			PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%と%ANAME(MTAR:0)%にシックスナインの体勢で絡み合うように命令した
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に自身の%LOCALS:0%を舐めさせながら、%ANAME(MTAR:0)%の%LOCALS:2%%LOCALS:1%%LOCALS:3%%LOCALS:4%アナルを舐めほぐした…
	ENDSELECT
	;顔面騎乗・フェラ・クンニの地の文をカット
	IF LOCAL:5 >= 0
		MEQUIP_CUT:(LOCAL:5) = 1
	ENDIF
	IF LOCAL:6 >= 0
		MEQUIP_CUT:(LOCAL:6) = 1
	ENDIF
	IF LOCAL:7 >= 0
		MEQUIP_CUT:(LOCAL:7) = 1
	ENDIF
	IF LOCAL:8 >= 0
		MEQUIP_CUT:(LOCAL:8) = 1
	ENDIF

	;ターゲットからプレイヤーに顔面騎乗中
ELSEIF LOCAL:8 >= 0
	SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
		CASE 0
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を顔の上に跨がらせたまま、下から%ANAME(MTAR:0)%の%LOCALS:2%%LOCALS:3%%LOCALS:4%アナルを貪るように舐め上げ%TARGET_STR("た", "てきた")%…
			;ターゲットに主導権
		CASE 1
			PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の顔に跨ったまま、%LOCALS:2%グリグリと腰を押し付けて自身の%LOCALS:3%%LOCALS:4%アナルを舐めさせた…
			;第三者に主導権
		CASEELSE
			PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に%ANAME(MTAR:0)%の菊穴を舐めるように命令した
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を顔の上に跨がらせたまま、下から%ANAME(MTAR:0)%の%LOCALS:2%%LOCALS:3%%LOCALS:4%アナルを舐め上げた…
	ENDSELECT
	;顔面騎乗の地の文をカットする
	MEQUIP_CUT:(LOCAL:8) = 1

	;プレイヤーが拘束中
ELSEIF IS_BIND(MPLY:0)
	SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
		CASE 0
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%の%LOCALS:1%%LOCALS:3%%LOCALS:4%アナルを顔に押し当てさせると、%LOCALS:2%舌で激しく舐め回し%TARGET_STR("た", "てきた")%…
			;ターゲットに主導権
		CASE 1
			PRINTFORMW %ANAME(MTAR:0)%は%LOCALS:2%身動きの取れない%ANAME(MPLY:0)%の口に%LOCALS:1%%LOCALS:3%%LOCALS:4%アナルを押し付け、舐めさせ奉仕させた…
			;第三者に主導権
		CASEELSE
			PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MTAR:0)%に対して、%ANAME(MPLY:0)%に菊穴を舐めさせるように命令した
			PRINTFORMW %ANAME(MTAR:0)%は%LOCALS:2%身動きの取れない%ANAME(MPLY:0)%の口に%LOCALS:1%%LOCALS:3%%LOCALS:4%アナルを押し付け、舐めさせた…
	ENDSELECT

ELSE
	SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
		CASE 0
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%の%LOCALS:2%%LOCALS:1%%LOCALS:3%%LOCALS:4%アナルを舌で舐め上げ%TARGET_STR("た", "てきた")%…
			;ターゲットに主導権
		CASE 1
			IF GETBIT(TALENT:(MTAR:0):淫乱系, 素質_淫乱_サド)
				LOCALS:2 = サディステックな笑みを浮かべながら、
			ELSEIF GETBIT(TALENT:(MTAR:0):淫乱系, 素質_淫乱_淫乱)
				LOCALS:2 = 恍惚とした表情を浮かべながら、
			ENDIF
			PRINTFORMW %ANAME(MTAR:0)%は%LOCALS:2%%ANAME(MPLY:0)%の口に%LOCALS:1%%LOCALS:3%%LOCALS:4%アナルを押し付け、舐めさせ奉仕させた…
			;第三者に主導権
		CASEELSE
			PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に%ANAME(MTAR:0)%の菊穴を舐めるように命令した
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%の%LOCALS:2%%LOCALS:1%%LOCALS:3%%LOCALS:4%アナルを舌で舐め上げた…
	ENDSELECT
ENDIF

IF CUM_CUR_AMOUNT:(MTAR:0):射精部位_アナル
	PRINTFORM %SPLIT_RAND("熱い/粘つく/濃厚な/新鮮な", 1)%精液が

	IF ABL:(MPLY:0):精愛 >= 4
		PRINTFORML %SPLIT_RAND("精液好きの/精愛味覚を得た/精液に飢えた", 1)%%ANAME(MPLY:0)%の口に滴ると、%PRONOUN(MPLY:0)%は悦びの呻き声を漏らした…
	ELSE
		PRINTFORML %ANAME(MPLY:0)%の口に滴るが、%PRONOUN(MPLY:0)%は奉仕を余儀なくされた…
	ENDIF
	;target eats 1/4th + 3 cum, up to 20
	LOCAL = LIMIT(MIN(((CUM_CUR_AMOUNT:(MTAR:0):射精部位_アナル / 4) + 3), CUM_CUR_AMOUNT:(MTAR:0):射精部位_アナル) , 0, 20)
	CUM_CUR_AMOUNT:(MTAR:0):射精部位_アナル -= LOCAL
	CUM_CUR_AMOUNT:(MPLY:0):射精部位_口 += LOCAL
	SIF CUM_CUR_AMOUNT:(MTAR:0):射精部位_アナル == 0
		PRINTFORML %ANAME(MTAR:0)%の%STR_BODY("アナル", MPLY:0)%の精液は全て%ANAME(MPLY:0)%が飲み干した
	;Cumlove exp increases by amount of cum
	EXP:(MPLY:0):精愛経験値 += LOCAL
	;Swallowing exp
	SIF ABL:(MPLY:0):精愛 >= 4
		EXP:(MPLY:0):口内射精経験 ++
	WAIT
ENDIF
;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST8
IF (MTAR:0 != MASTER || CONFIG:441) && !IS_ANIMAL(MTAR:0)
	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
		PRINTFORM 敏感な穴を舐められると感じるのか、%ANAME(MTAR:0)%は
		IF TALENT:(MTAR:0):恥じらい
			PRINT 羞恥に頬を赤く染め手で自分の口を抑えて声が出るのをこらえている
		ELSEIF TALENT:(MTAR:0):解放 || TALENT:(MTAR:0):快感に素直
			PRINTL 熱い吐息を吐きながら快楽に身をゆだねている
		ELSEIF TALENT:(MTAR:0):抑圧 || TALENT:(MTAR:0):孤高 || TALENT:(MTAR:0):快感の否定
			PRINTL 快楽を否定するように首を振って耐えている
		ELSE
			PRINTL 腰をくねらせながらわずかに小さく吐息を漏らした
		ENDIF
	ELSEIF LOCAL:2 < 6000
		PRINTFORML %ANAME(MTAR:0)%の菊穴を舌でねぶり回してやると%ANAME(MTAR:0)%は可愛らしい声を漏らしながらがくがくと身体を揺らした
	ELSEIF LOCAL:2 < 10000
		PRINTFORML %ANAME(MTAR:0)%は明らかな快楽の声をあげ、無意識にこちらの頭を手で押さえてさらにその部分を押し付けてきた
	ELSE
		IF TALENT:(MTAR:0):Ａ敏感
			PRINTFORML %ANAME(MTAR:0)%は敏感なアナルへの責めに激しく身もだえし、あられも無い声を張り上げ続けた
		ELSE
			PRINTFORML %ANAME(MTAR:0)%はアナルへの刺激に激しい喘ぎ声を上げながら悶え続けた
		ENDIF
	ENDIF
	IF TALENT:(MTAR:0):美尻
		PRINTFORML %STR_BODY("尻肉：長：外見", MTAR:0)%がふるふると震えている……
	ELSEIF GET_HIPSIZE(LOCAL:1) >= 1
		PRINTFORML %STR_BODY("尻肉：長：外見", MTAR:0)%がふるふると震えている……
	ENDIF
ENDIF

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

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

@COM_AVAILABLE_WHEN8
RETURN コマンド_ウフフ

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

@COM_PREFERENCE_TARGET_8()
RETURN POWER(2, 性的嗜好_奉仕されたい)

@COM_STACK_SPERM_MTAR_TO_MPLY_8()
RETURN 射精部位_顔


code:
;イラマチオ

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME90
;挿入中
LOCALS:0 =
SIF IS_INSERT_SINGLE(MPLY:0, "Ｐ")
	LOCALS:0 += "お掃除"

SELECTCASE MPLY_NUM
	CASE 1
	CASE 2
		LOCALS:0 += "二本"
	CASE 3
		LOCALS:0 += "三本"
	CASEELSE
		LOCALS:0 += "輪"
ENDSELECT

LOCALS:0 += "イラマチオ"

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_ABLE90
;共通部分
CALL COM_ABLE_COMMON(90)

IF RESULT == 0
	RETURN 0
ENDIF
;プレイヤーが必要
IF MPLY_NUM <= 0
	RETURN 0
ENDIF
;ターゲットは最大で1人まで
IF MTAR_NUM <= 0 || MTAR_NUM > 1
	RETURN 0
ENDIF

FOR LOCAL:0, 0, MPLY_NUM
	;penis or strapon
	IF !HAS_PENIS(MPLY:(LOCAL:0), 1) && !IS_EQUIP_PLAYER((MPLY:(LOCAL:0)), 50)
		RETURN 0
	ENDIF
NEXT

FOR LOCAL:0, 0, MPLY_NUM
	FOR LOCAL:1, 0, MTAR_NUM
		IF !CAN_LICK_GROIN(MTAR:(LOCAL:1), MPLY:(LOCAL:0))
			RETURN 0
		ENDIF
		IF !P_STACKABLE(MTAR:(LOCAL:1), MPLY:(LOCAL:0), 11)
			RETURN 0
		ENDIF
		IF !CAN_FUCK(MPLY:(LOCAL:0), MTAR:(LOCAL:1), 90)
			RETURN 0
		ENDIF
		;If a player is riding a target or getting cunnilingus/bj/rimjob from them already, then it's a 69, and can only be 1-on-1
		IF (MPLY_NUM > 1 || MTAR_NUM > 1) && (IS_RIDE(MPLY:LOCAL, MTAR:(LOCAL:1)) || SEARCH_EQUIP(2, MTAR:(LOCAL:1), MPLY:LOCAL) >= 0 || SEARCH_EQUIP(11, MTAR:(LOCAL:1), MPLY:LOCAL) >= 0 || SEARCH_EQUIP(8, MTAR:(LOCAL:1), MPLY:LOCAL) >= 0)
			RETURN 0
		ENDIF
	NEXT
NEXT

RETURN 1

;-------------------------------------------------
;快Ｍソースの倍率を取得する関数 ARG:0=PLAYERのキャラ番号
;-------------------------------------------------
@COM90_RATE_M(ARG:0)
#FUNCTION
LOCAL:5 = 1000
SELECTCASE ABL:(ARG:0):奉仕
	CASE 0
		TIMES LOCAL:5, 0.25
		;TIMES SOURCE:(LOCAL:2):不潔, 4.00
	CASE 1
		TIMES LOCAL:5, 0.50
		;TIMES SOURCE:(LOCAL:2):不潔, 2.50
	CASE 2
		TIMES LOCAL:5, 0.60
		;TIMES SOURCE:(LOCAL:2):不潔, 1.50
	CASE 3
		TIMES LOCAL:5, 0.80
		;TIMES SOURCE:(LOCAL:2):不潔, 1.00
	CASE 4
		TIMES LOCAL:5, 1.00
		;TIMES SOURCE:(LOCAL:2):不潔, 0.50
	CASEELSE
		LOCAL:5 = LOCAL:5 * (100 + (ABL:(ARG:0):奉仕 - 5) * 3) / 100
		;TIMES SOURCE:(LOCAL:2):不潔, 0.10
ENDSELECT

SELECTCASE ABL:(ARG:0):性技
	CASE 0
		TIMES LOCAL:5, 1.00
	CASE 1
		TIMES LOCAL:5, 1.10
	CASE 2
		TIMES LOCAL:5, 1.20
	CASE 3
		TIMES LOCAL:5, 1.30
	CASE 4
		TIMES LOCAL:5, 1.40
	CASEELSE
		LOCAL:5 = LOCAL:5 * ((ABL:(ARG:0):性技 - 5) * 2 + 150) / 100
ENDSELECT

RETURNF LOCAL:5

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

;プレイヤーの挿入状態を解除

;●プレイヤーについて判定
FOR LOCAL, 0, MPLY_NUM
	LOCAL:1 = MPLY:LOCAL
	CALL CLEAR_INSERT_FLAG(LOCAL:1, "Ｐ")
	SOURCE:(LOCAL:1):接触 = 50
	SOURCE:(LOCAL:1):嗜虐 = 50
	SOURCE:(LOCAL:1):逸脱 = 50
	SOURCE:(LOCAL:1):性行動 = 180
	EXP:(LOCAL:1):嗜虐経験値 += 1

	LOCAL:2 = SENSE_HOUSHI_P(MTAR:0, LOCAL:1, 600)
	IF TALENT:(MTAR:0):舌使い
		TIMES LOCAL:2, 1.50
	ENDIF

	SOURCE:(LOCAL:1):快Ｐ += SENSE_HOUSHI_P(LOCAL:1, LOCAL:1, 800) + LOCAL:2

	;主導権に応じた優越・受動のソース追加
	CALL ADD_SOURCE_INITIATIVE_U(LOCAL:1, 160, 60)

NEXT

;●ターゲットについて判定
EXP:(MTAR:0):性技経験値 += 1
EXP:(MTAR:0):口淫経験 += 1
EXP:(MTAR:0):被虐経験値 += 1

SOURCE:(MTAR:0):奉仕 = SERVE_HOUSHI(MTAR:0, 100)
SOURCE:(MTAR:0):接触 = 50
SOURCE:(MTAR:0):快Ｍ = 600 * COM90_RATE_M(MTAR:0) / 1000
SOURCE:(MTAR:0):逸脱 = 100
SOURCE:(MTAR:0):苦痛 = 130 + MIN(ABL:(MPLY:0):身体, 90) / 2
SOURCE:(MTAR:0):性行動 = 300

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

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

;ペニスへのキス
IF MTAR_NUM == 1
	;ペニスへのキス
	CALL KISS_COMMON(MTAR:0, @"%ANAME(MPLY:0)%のペニス", GET_SITUATION_BY_TRAIN_MODE())
ELSE
	CALL KISS_COMMON(MTAR:0, @"%ANAME(MPLY:0)%たちのペニス", (GET_SITUATION_BY_TRAIN_MODE() == "和姦" ? "乱交" # "輪姦"))
ENDIF

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

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

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

RETURN 1

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

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

;●プレイヤーについて判定
FOR LOCAL, 0, MEQUIP_PLAYER_NUM:(ARG:0)
	LOCAL:2 = MEQUIP_PLAYER:(ARG:0):LOCAL
	SOURCE:(LOCAL:2):接触 += 25
	SOURCE:(LOCAL:2):嗜虐 += 25
	SOURCE:(LOCAL:2):性行動 += 60
	EXP:(LOCAL:2):嗜虐経験値 += 1

	LOCAL:4 = SENSE_HOUSHI_P(LOCAL:3, LOCAL:2, 200)
	IF TALENT:(LOCAL:3):舌使い
		TIMES LOCAL:4, 1.50
	ENDIF

	SOURCE:(LOCAL:2):快Ｐ += SENSE_HOUSHI_P(LOCAL:2, LOCAL:2, 250) + LOCAL:4

	SOURCE:(LOCAL:3):苦痛 += 65 + MIN(ABL:(LOCAL:2):身体, 90) / 4
NEXT

;●ターゲットについて判定
EXP:(LOCAL:3):性技経験値 += 1
EXP:(LOCAL:3):口淫経験 += 1
EXP:(LOCAL:3):被虐経験値 += 1

SOURCE:(LOCAL:3):奉仕 += SERVE_HOUSHI(LOCAL:3, 30)
SOURCE:(LOCAL:3):接触 += 25
SOURCE:(LOCAL:3):快Ｍ += 300 * COM90_RATE_M(LOCAL:3) / 1000
SOURCE:(LOCAL:3):逸脱 += 50
SOURCE:(LOCAL:3):性行動 += 100

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

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE90(ARG:0)
RESULTS = %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%にイラマチオ中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP90(ARG:0)
PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%の口内を%BAR_NAME(MEQUIP_PLAYER:(ARG:0):0)%で蹂躙している…

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

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

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

CALL COM_ORDER_ELEMENT(ARG:0, @"欲望Lv{ABL:(ARG:0):欲望}", ABL:(ARG:0):欲望 * 4)
CALL COM_ORDER_ELEMENT(ARG:0, @"サドLv{ABL:(ARG:0):サド}", ABL:(ARG:0):サド * 3)

LOCAL:0 = GET_PALAMLV(PALAM:(ARG:0):欲情)
CALL COM_ORDER_ELEMENT(ARG:0, @"欲情Lv{LOCAL:0}", MIN(LOCAL:0 * 1, 10))

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
IF TALENT:(ARG:0):Ｓ気質
	CALL COM_ORDER_ELEMENT(ARG:0, "Ｓ気質", 6)
ENDIF

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	CALL COM_ORDER_ELEMENT(ARG:0, "サド", 15)
ELSE
	IF ABL:(ARG:0):主導度Ｕ >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 15)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 10)
	ELSEIF ABL:(ARG:0):主導度Ｕ >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 5)
	ELSEIF ABL:(ARG:0):主導度Ｕ > -100
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", 0)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "主導度", -5)
	ENDIF

	IF ABL:(ARG:0):倒錯度 >= 800
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 20)
	ELSEIF ABL:(ARG:0):倒錯度 >= 500
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 15)
	ELSEIF ABL:(ARG:0):倒錯度 >= 300
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 10)
	ELSEIF ABL:(ARG:0):倒錯度 >= 100
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 5)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "倒錯度", 0)
	ENDIF
ENDIF

RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE90
IF TALENT:(MTAR:0):体格 == 体格_小柄
	LOCALS:0 = 小さな口
ELSE
	LOCALS:0 = 口
ENDIF
IF IS_PIERCED(MPLY:0, ピアス_ペニス)
	LOCALS:1 = ピアスの取り付けられた
ELSE
	LOCALS:1 =
ENDIF
;自前の竿
IF HAS_PENIS(MPLY:0, 1)
	SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
		CASE 0
			PRINTFORMW %ANAME(MPLY:0, MPLY_NUM)%は%ANAME(MTAR:0)%の%LOCALS:0%に%LOCALS:1%竿を押し込み、喉奥を突い%TARGET_STR("た", "てきた")%…
			;ターゲットに主導権
		CASE 1
			PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0, MPLY_NUM)%のペニスの前で口を開けると、自身の口を犯すよう%ANAME(MPLY:0, MPLY_NUM)%に命じた
			PRINTFORMW %ANAME(MPLY:0, MPLY_NUM)%は言われるまま%ANAME(MTAR:0)%の%LOCALS:0%に%LOCALS:1%竿を突き入れ、必死に腰を振った…
			;第三者に主導権
		CASEELSE
			PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0, MPLY_NUM)%に対して、%ANAME(MTAR:0)%の口にペニスを突き入れて犯すように命令した
			PRINTFORMW %ANAME(MPLY:0, MPLY_NUM)%は言われるまま%ANAME(MTAR:0)%の%LOCALS:0%に%LOCALS:1%竿を突き入れ、激しく腰を振った…
	ENDSELECT

	;ペニスバンド
ELSE
	SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
		CASE 0
			PRINTFORMW %ANAME(MPLY:0, MPLY_NUM)%は%ANAME(MTAR:0)%の%LOCALS:0%に張り型を押し込み、喉奥を突い%TARGET_STR("た", "てきた")%…
			;ターゲットに主導権
		CASE 1
			PRINTFORML %ANAME(MTAR:0)%は%ANAME(MPLY:0, MPLY_NUM)%に、装着した張り型で%ANAME(MTAR:0)%の口内を犯すように命じた
			PRINTFORMW %ANAME(MPLY:0, MPLY_NUM)%は言われるまま%ANAME(MTAR:0)%の%LOCALS:0%に張り型を突き入れ、腰を振って喉奥を突いた…
			;第三者に主導権
		CASEELSE
			PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0, MPLY_NUM)%に対して、%ANAME(MTAR:0)%の口に張り型を突き入れて犯すように命令した
			PRINTFORMW %ANAME(MPLY:0, MPLY_NUM)%は言われるまま%ANAME(MTAR:0)%の%LOCALS:0%に張り型を突き入れ、腰を振って喉奥を突いた…
	ENDSELECT
ENDIF

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST90
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:1 = MPLY:(LOCAL:0)

	IF ((LOCAL:1 != MASTER || CONFIG:441) && !IS_ANIMAL(LOCAL:1)) && !CFLAG:(LOCAL:1):TEXT_LAST非表示
		LOCAL:2 = CUP:(LOCAL:1):射精 + CUP:(LOCAL:1):快Ｃ

		IF LOCAL:2 < 1000
			PRINTFORML %ANAME(LOCAL:1)%はひたすら淡々と腰を振って、%ANAME(MTAR:0)%の口に%BAR_NAME(MPLY:0)%を打ち付けている
		ELSEIF LOCAL:2 < 3000
			PRINTFORML %ANAME(LOCAL:1)%は時折気持ち良さそうに声を上げながら、%ANAME(MTAR:0)%の口に%BAR_NAME(MPLY:0)%を打ち付けている
		ELSEIF LOCAL:2 < 6000
			PRINTFORML %ANAME(LOCAL:1)%は気持ち良さそうな声を出しながら、腰を振って%ANAME(MTAR:0)%の口の感触を味わっている
		ELSEIF LOCAL:2 < 10000
			PRINTFORML %ANAME(LOCAL:1)%は気持ち良さそうに喘ぎながら、快感に突き動かされるように腰を打ち付けて%ANAME(MTAR:0)%の口の感触を味わっている
		ELSE
			PRINTFORML %ANAME(LOCAL:1)%は快感のあまり表情を蕩けさせながら、獣の様に腰を打ち付けて%ANAME(MTAR:0)%の口マンコを堪能している
		ENDIF
	ENDIF
NEXT

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

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

@COM_AVAILABLE_WHEN90
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_90()
RETURN POWER(2, 性的嗜好_虐げたい)

@COM_PREFERENCE_TARGET_90()
RETURN POWER(2, 性的嗜好_虐げられたい)

@COM_STACK_SPERM_MPLY_TO_MTAR_90()
RETURN 射精部位_口