code:
;おねだり

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME111
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%見せつけ

IF TCVAR:MPLY:精飲おねだりフラグ == 2
	VARSET RESULTS, "おねだり充足"
ENDIF

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE111
;共通部分
CALL COM_ABLE_COMMON(111)
SIF RESULT == 0
	RETURN 0
;プレイヤーは最大で5人まで
SIF MPLY_NUM <= 0 || MPLY_NUM > 5
	RETURN 0
;ターゲットは最大で5人まで
SIF MTAR_NUM <= 0 || MTAR_NUM > 5
	RETURN 0
;プレイヤーが行動不能なら不可
SIF !IS_PLAYABLE(MPLY:0)
	RETURN 0

;We won't make this one very restrictive since it's a single quick action
;just imagine they pause whatever they're doing for a moment
FOR LOCAL:0, 0, MPLY_NUM
	SIF IS_M_HOLD(MPLY:(LOCAL:0))
		RETURN 0
	;Ｖ挿入中なら不可
	SIF IS_INSERT_SINGLE(MPLY:(LOCAL:0), "全")
		RETURN 0
	;拘束されていたらダメ
	SIF IS_BIND(MPLY:(LOCAL:0))
		RETURN 0
NEXT

RETURN 1

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

;●全プレイヤーについて処理
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:2 = MPLY:(LOCAL:0)

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

	SOURCE:(LOCAL:2):露出 = 50
	SOURCE:(LOCAL:2):逸脱 = 40
	SOURCE:(LOCAL:2):反感 = 20
	SOURCE:(LOCAL:2):露出 = 1200

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

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

	;精飲おねだり
	{
		IF (PREVCOM == T_N("Ｐ自慰") && !IS_PREV_MPLY(LOCAL:2)) || ((PREVCOM == T_N("手コキ") && IS_PREV_MPLY(LOCAL:2) && IS_PREV_MTAR(MTAR)))
			&& TCVAR:(LOCAL:2):精飲おねだりフラグ != 2
	}
		TCVAR:(LOCAL:2):精飲おねだりフラグ = 1
	ENDIF
NEXT

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

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

	SOURCE:(LOCAL:2):嗜虐 = 50
	SOURCE:(LOCAL:2):逸脱 = 20
	SOURCE:(LOCAL:2):接触 = 30

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

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

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

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

RETURN 1

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

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

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

CALL COM_ORDER_ELEMENT(ARG:0, @"欲望Lv{ABL:(ARG:0):欲望}", ABL:(ARG:0):欲望 * 2)
CALL COM_ORDER_ELEMENT(ARG:0, @"奉仕Lv{ABL:(ARG:0):奉仕}", ABL:(ARG:0):奉仕 * 3)
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 * 3, 30))

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

IF TALENT:(ARG:0):恥じらい
	CALL COM_ORDER_ELEMENT(ARG:0, "恥じらい", -4)
ENDIF

RETURN 1

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

;プレイヤーが2人以上
IF MPLY_NUM >= 2
	LOCALS:0 = %ANAME(MPLY:0)%たち
	;プレイヤーが１人
ELSE
	LOCALS:0 = %ANAME(MPLY:0)%
ENDIF
;ターゲットが2人以上
IF MTAR_NUM >= 2
	LOCALS:1 = %ANAME(MTAR:0)%たち
	;ターゲットが1人
ELSE
	LOCALS:1 = %ANAME(MTAR:0)%
ENDIF

SELECTCASE GET_COM_INITIATIVE()
	CASE 0
	CASE 1
		IF MTAR_NUM == 1 && ABL:(MTAR:0):サド >= 3
			PRINTFORMW %LOCALS:1%は嗜虐的な笑みを浮かべ%LOCALS:0%に命令し、無理やりおねだりさせ%PLAYER_STR("た", "てきた")%…
		ELSEIF MTAR_NUM == 1 && ABL:(MTAR:0):主導度Ｕ < 100
			PRINTFORMW %LOCALS:1%は少し緊張した様子で%LOCALS:0%に命令し、おねだりさせた…
		ELSE
			PRINTFORMW %LOCALS:1%は%LOCALS:0%に命令し、無理やりおねだりさせた…
		ENDIF
		;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%LOCALS:0%に、%LOCALS:1%におねだりするように命令した
ENDSELECT

FOR LOCAL:0, 0, MPLY_NUM
	IF TCVAR:(MPLY:(LOCAL)):精飲おねだりフラグ == 1
		PRINTFORM %ANAME(MPLY:(LOCAL))%は
		{
			CALLF PRINT_RANDC(
				@"眼前の%LOCALS:1%の%語彙_ペニス()%を前に口を大きく開き、射精を待ちわびている…", 1
				,@"亀頭の先で口を開け、舌をつき出して%語彙_精液()%が注がれるのを待ちわびている…", 1
				,@"口を開け、手のひらで椀をつくって%語彙_精液()%が注がれるのを待ちわびている…", PREVCOM == T_N("Ｐ自慰")
				)
		}
		WAIT
	ELSEIF TCVAR:(MPLY:(LOCAL)):精飲おねだりフラグ == 2
		PRINTFORM %ANAME(MPLY:(LOCAL))%は
		{
			CALLF PRINT_RANDC(
				@"放精を受け止めて%S_R("恍惚の/うっとりした/淫猥な")%表情を浮かべている…", 1
				,@"受け止めた%語彙_精液()%を舌で舐め取り、うっとりとした表情で礼を述べた…", 1
				,@"受け止めた%語彙_精液()%を一滴も残さないと言わんばかりに舐め取ると、満足気に喉を鳴らして礼を述べた…", C_COND("素質:精飲中毒",,MPLY:(LOCAL))
				)
		}
		WAIT
	ELSE
		PRINTFORM %ANAME(MPLY:(LOCAL:0))%は、
		SELECTCASE RAND:7
			CASE 0
				PRINTFORM 仰向けの姿勢で両脚を広げ、
			CASE 1
				PRINTFORM 四つん這いの姿勢で尻を突き出し、
			CASE 2
				PRINTFORM 自ら\@ HAS_VAGINA(MPLY:(LOCAL)) ? まんぐり返し# ちんぐり返し\@の姿勢をとり、
			CASE 3
				PRINTFORM 地に頭を擦りつけ土下座をしながら、
			CASE 4
				PRINTFORM 蹲踞の姿勢で股を広げ、
			CASE 5
				PRINTFORM 胸を強調する姿勢を取りながら、
			CASE 6
				PRINTFORM %LOCALS:1%に抱きつきながら、
		ENDSELECT
		SELECTCASE RAND:10
			CASE 0
				PRINTFORM \@ HAS_VAGINA(MPLY:(LOCAL)) ? 秘唇を指で割り広げ、 # 勃起した肉棒を軽く揺らし、 \@
			CASE 1
				PRINTFORM 尻穴を指で割り広げ、
			CASE 2
				PRINTFORM \@ HAS_VAGINA(MPLY:(LOCAL)) ? 秘裂に指を軽く出し入れし、 # 肉棒を軽く扱きあげ、 \@
			CASE 3
				PRINTFORM \@ HAS_PENIS(MPLY:(LOCAL)) ? 肉棒 # クリトリス \@を指先で弄くり、
			CASE 4
				PRINTFORM 菊座を指先で弄びながら、
			CASE 5
				PRINTFORM \@ IS_FEMALE(MPLY:(LOCAL)) ? 乳房を腕で寄せるようにし、 # 胸筋を強調して、 \@
			CASE 6
				PRINTFORM 乳首を指先で軽く弄り、
			CASE 7
				PRINTFORM 淫らに腰を揺らして、
			CASE 8
				PRINTFORM 肉棒をしゃぶるようなジェスチャーをし、
			CASE 9
				PRINTFORM 肉棒を扱くようなジェスチャーをし、
		ENDSELECT
		SELECTCASE RAND:9
			CASE 0
				PRINTFORM 犯して下さい
			CASE 1
				PRINTFORM おチンポを下さい
			CASE 2
				PRINTFORM 気持ちよくして下さい
			CASE 3
				PRINTFORM \@ HAS_VAGINA(MPLY:(LOCAL)) ? 膣内に注いで下さい # 射精させて下さい \@
			CASE 4
				PRINTFORM \@ HAS_VAGINA(MPLY:(LOCAL)) ? 種付けして下さい # ペニスをいじめて下さい \@
			CASE 5
				PRINTFORM 辱めて下さい
			CASE 6
				PRINTFORM 私を奴隷にしてください
			CASE 7
				PRINTFORM 私はあなたの性奴隷です
			CASE 8
				IF !RAND:3 && HAS_VAGINA(MPLY:(LOCAL)) && TALENT:(MPLY:(LOCAL)):処女
					PRINTFORM 処女を奪ってください
				ELSEIF !RAND:3 && HAS_PENIS(MPLY:(LOCAL)) && TALENT:(MPLY:(LOCAL)):童貞
					PRINTFORM 童貞を奪ってください
				ELSE
					PRINTFORM セックス\@ IS_FEMALE(MPLY:(LOCAL)) ? して下さい # させて下さい \@
				ENDIF
		ENDSELECT
		PRINTFORMW と言った……
	ENDIF
NEXT

@COM_TEXT_LAST111
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:1 = MPLY:(LOCAL:0)
	SIF LOCAL:1 == MASTER
		CONTINUE
	IF GETBIT(TALENT:(LOCAL:1):淫乱系, 素質_淫乱_精液便女)
		PRINTFORML 精液便女に成り下がった%ANAME(LOCAL:1)%は、おねだりすることに快楽を見いだしている…
	ELSEIF IS_SLAVE(LOCAL:1)
		PRINTFORML 屈服しきった%ANAME(LOCAL:1)%は、おねだりすることに悦びを見いだしている…
	ELSEIF GETBIT(TALENT:(LOCAL:1):淫乱系, 素質_淫乱_マゾ)
		PRINTFORML すっかり被虐が身についた%ANAME(LOCAL:1)%は、おねだりすることに快楽を見いだしている…
	ELSEIF ABL:(LOCAL:1):主導度Ｕ <= -100 && ABL:(LOCAL:1):倒錯度 >= 300 && !IS_INITIATIVE(LOCAL:1)
		PRINTFORML %ANAME(LOCAL:1)%はおねだりに対し屈辱と、同時に快楽をも覚えつつあるようだ…
	ELSEIF !IS_INITIATIVE(LOCAL:1)
		PRINTFORML %ANAME(LOCAL:1)%はおねだりすることの屈辱に歯ぎしりしている…
	ENDIF
NEXT

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

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

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

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_111()
RETURN POWER(2, 性的嗜好_辱めたい)

@COM_PREFERENCE_TARGET_111()
RETURN POWER(2, 性的嗜好_辱められたい) + POWER(2, 性的嗜好_露出したい)


code:
;露出プレイ

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME112
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_ABLE112
;共通部分
CALL COM_ABLE_COMMON(112)
SIF RESULT == 0
	RETURN 0
;プレイヤーは1人
SIF MPLY_NUM != 1
	RETURN 0

SIF ITEM:首輪 == 0
	RETURN 0
;プレイヤーが行動不能なら不可
SIF !IS_PLAYABLE(MPLY:0) && !FLAG:RECHECKING
	RETURN 0

;拠点以外or既に露出プレイ中なら不可
SIF TFLAG:デート場所 > 0 && !FLAG:RECHECKING
	RETURN 0

SIF IS_BIND(MPLY:0) && !FLAG:RECHECKING
	RETURN 0

RETURN 1

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

IF MPLY:0 == MASTER
	PRINTFORML どこにいこう……？

	FOR LOCAL, 0, VARSIZE("IAN_PLACE")
		PRINTFORML [{LOCAL}] %IAN_PLACE:LOCAL%
	NEXT
	PRINTFORML [99] やめておく

	$INPUT_LOOP
	INPUT
ELSE
	RESULT = RAND(0, VARSIZE("IAN_PLACE"))
	PRINTFORM %ANAME(MPLY:0)%は
ENDIF

IF RESULT == 99
	PRINTFORML やはりやめておいた
	RETURN 0
ELSEIF INRANGE(RESULT, 0, VARSIZE("IAN_PLACE"))
	PRINTFORML %IAN_PLACE:RESULT%に行くことにした
	TFLAG:105 = RESULT
	TSTR:COM_SITUATION '= TRAIN_PLACE
	TRAIN_PLACE = %IAN_PLACE:RESULT%
ELSE
	CLEARLINE 1
	GOTO INPUT_LOOP
ENDIF

;●全プレイヤーについて処理
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:2 = MPLY:(LOCAL:0)

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

	SOURCE:(LOCAL:2):嗜虐 = 20
	SOURCE:(LOCAL:2):露出 = 800
	SOURCE:(LOCAL:2):逸脱 = 20
	SOURCE:(LOCAL:2):不安 = 30

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

;●プレイヤー以外の全参加者について処理
FOR LOCAL:0, 0, CHARANUM
	SIF !IS_PARTICIPATE_TRAIN(LOCAL) || LOCAL:0 == MPLY:0
		CONTINUE

	DOWNBASE:LOCAL:体力 += 80

	SOURCE:LOCAL:逸脱 = 80
	SOURCE:LOCAL:露出 = 1500
	SOURCE:LOCAL:不安 = 30

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

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

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

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

TFLAG:デート場所 = 8
TFLAG:継続ターン = 0

RETURN 1

;-------------------------------------------------
;継続コマンドかどうかを設定
;-------------------------------------------------
@COM_IS_EQUIP112
;継続コマンドかつフィルタリング不可
RETURN 2
;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP112(ARG:0)
;●全プレイヤーについて判定
FOR LOCAL:0, 0, MEQUIP_PLAYER_NUM:(ARG:0)
	LOCAL:2 = MEQUIP_PLAYER:(ARG:0):(LOCAL:0)

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

	SOURCE:(LOCAL:2):嗜虐 += 10
	SOURCE:(LOCAL:2):露出 += 500 + 50 * TFLAG:104
	SOURCE:(LOCAL:2):逸脱 += 10
	SOURCE:(LOCAL:2):不安 += 15

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

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

;●プレイヤー以外の全参加者について処理
FOR LOCAL:0, 0, CHARANUM
	SIF !IS_PARTICIPATE_TRAIN(LOCAL) || LOCAL:0 == MPLY:0
		CONTINUE

	DOWNBASE:LOCAL:体力 += 40

	SOURCE:LOCAL:逸脱 = 10
	SOURCE:LOCAL:露出 = 1000 + 100 * TFLAG:104
	SOURCE:LOCAL:不安 = 10

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

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

;継続ターン増加
TFLAG:継続ターン ++

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE112(ARG:0)
RESULTS = 露出プレイ中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP112(ARG:0)

IF TFLAG:参加者数 >= 8
	RETURN
ENDIF

IF RAND:MAX(TFLAG:継続ターン, 1) * 4 - TFLAG:104 > RAND:20
	CALL CREATE_IAN_MOB(TFLAG:105, 1, 0)
	LOCAL:2 = CHARANUM - 1
	TALENT:(LOCAL:2):露出プレイモブ = 1
	PRINTFORML 騒ぎを聞きつけた%ANAME(LOCAL:2)%が参加した…
	TFLAG:104 ++
	TFLAG:参加者数 ++
ENDIF

;-------------------------------------------------
;継続を解除したときの地の文
;-------------------------------------------------
@COM_TEXT_RELEASE_EQUIP112(ARG:0)
TFLAG:デート場所 = 0
TFLAG:継続ターン = 0
TFLAG:104 = 0
;モブはここで削除する
LOCAL:2 = CHARANUM
FOR LOCAL:0, 0, LOCAL:2
	LOCAL:1 = LOCAL:2 - LOCAL:0 - 1
	IF TALENT:(LOCAL:1):露出プレイモブ
		SIF FLAG:主導権所有者 == LOCAL:1
			FLAG:主導権所有者 = -1
		CALL DEL_MPLY(LOCAL:1)
		CALL DEL_MTAR(LOCAL:1)
		CALL RELEASE_ALL_EQUIP(LOCAL:1)
		CALL DELETE_CHARA(LOCAL:1)
		TFLAG:参加者数 --
	ENDIF
NEXT
PRINTFORMW 屋内に戻った
TRAIN_PLACE = %TSTR:COM_SITUATION%

;-------------------------------------------------
;固有の実行判定
;-------------------------------------------------
@COM_ORDER_PLAYER112(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):奉仕 * 4)

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, "恥じらい", -2)
ENDIF
IF TALENT:(ARG:0):恥薄い
	CALL COM_ORDER_ELEMENT(ARG:0, "恥薄い", 5)
ENDIF

RETURN 1

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

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

PRINTFORMW %LOCALS:0%は屋外で行為をすることにした…

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

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

@COM_AVAILABLE_WHEN112
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_112()
RETURN POWER(2, 性的嗜好_辱めたい)

@COM_PREFERENCE_TARGET_112()
RETURN POWER(2, 性的嗜好_辱められたい) + POWER(2, 性的嗜好_露出したい)

repo_name: pervysquirrelz/erafl

license: unknown


code:
;ピアシング

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME113
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_ABLE113
;共通部分
CALL COM_ABLE_COMMON(113)
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:剃刀 <= 0
	RETURN 0
;プレイヤーが行動不能なら不可
SIF !IS_PLAYABLE(MPLY:0)
	RETURN 0
;プレイヤーが拘束中なら不可
SIF IS_BIND(MPLY:0)
	RETURN 0
;プレイヤーとターゲットが挿入されているなら不可
SIF IS_INSERT_SINGLE(MPLY:0, "全") || IS_INSERT_SINGLE(MTAR:0, "全")
	RETURN 0
RETURN 1

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

PRINTFORML %ANAME(MPLY:0)%は%ANAME(MTAR:0)%の毛を管理することにした……
PRINTFORML
PRINTFORML 陰毛を
FOR LOCAL, 0, 11
	CALL PRINTBUTTON_EXL(@"[{LOCAL:0}] %GET_INMOU_NAME(LOCAL:0)%にさせる", LOCAL:0, 1, TALENT:(MTAR:0):陰毛現在値 == LOCAL:0)
NEXT

PRINTFORML 腋毛を
FOR LOCAL, 100, 110
	CALL PRINTBUTTON_EXL(@"[{LOCAL:0}] %GET_ARMPIT_NAME(LOCAL:0 - 100)%にさせる", LOCAL:0, 1, TALENT:(MTAR:0):腋毛現在値 == LOCAL:0 - 100)
NEXT

PRINTFORML [99] 戻る
$INPUT_LOOP
INPUT
IF RESULT == 99
	PRINTFORML やはりやめておいた
	RETURN 0
ELSEIF (INRANGE_INMOU(RESULT) && TALENT:(MTAR:0):陰毛現在値 != RESULT)
	LOCAL:0 = RESULT
	LOCAL:1 = 0
	IF LOCAL:0 == 10
		LOCAL:1 = 1
		LOCAL:0 = 陰毛_標準
	ENDIF
	PRINTFORML %ANAME(MTAR:0)%に、陰毛を\@ LOCAL:1 == 1 ? ハート型 # %GET_INMOU_NAME(LOCAL:0)% \@にするよう伝えた
	IF GET_INMOU(MTAR:0) > LOCAL:0
		PRINTFORML %ANAME(MTAR:0)%の陰毛は、%ANAME(MPLY:0)%の伝えた理想よりも多めだ……
		PRINTFORML いっそこの場で剃りますか？
		CALL ASK_YN
		IF RESULT == 0
			PRINTFORML %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を押さえると、その股座に剃刀を這わせ始めた……
			PRINTFORML 己の陰部が剃り上げられていくのを、%ANAME(MTAR:0)%は顔を赤らめて眺めていた……
			TALENT:(MTAR:0):陰毛現在値 = LOCAL:0
			SIF LOCAL:1
				TALENT:(MTAR:0):陰毛現在値 = 陰毛_ハート型
		ELSE
			PRINTFORML 後で自分で処理させることにした
		ENDIF
	ENDIF
	TALENT:(MTAR:0):陰毛目標値 = LOCAL:0
	SIF LOCAL:1
		TALENT:(MTAR:0):陰毛目標値 = 陰毛_ハート型

	DOWNBASE:(MTAR:0):体力 += 80
	SOURCE:(MTAR:0):逸脱 = 80
	SOURCE:(MTAR:0):露出 = 100
	SOURCE:(MTAR:0):不安 = 30
	;主導度変化基準値
	TFLAG:主導度変化基準値 = 5

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

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

	;主導権に応じた優越・屈従のソース追加
	CALL ADD_SOURCE_INITIATIVE_U(LOCAL:2, 160, 80)
ELSEIF INRANGE_ARMPIT(RESULT - 100) && TALENT:(MTAR:0):腋毛現在値 != RESULT - 100
	LOCAL:0 = RESULT - 100
	LOCAL:1 = 0
	IF LOCAL:0 == 10
		LOCAL:1 = 1
		LOCAL:0 = 腋毛_普通
	ENDIF
	PRINTFORML %ANAME(MTAR:0)%に、腋毛を%GET_ARMPIT_NAME(LOCAL:0)%にするよう伝えた
	IF GET_INMOU(MTAR:0) > LOCAL:0
		PRINTFORML %ANAME(MTAR:0)%の腋毛は、%ANAME(MPLY:0)%の伝えた理想よりも多めだ……
		PRINTFORML いっそこの場で剃りますか？
		CALL ASK_YN
		IF RESULT == 0
			PRINTFORML %ANAME(MPLY:0)%は%ANAME(MTAR:0)%を押さえると、その腋に剃刀を這わせ始めた……
			PRINTFORML 己の腋毛が剃り上げられていくのを、%ANAME(MTAR:0)%は顔を赤らめて眺めていた……
			TALENT:(MTAR:0):腋毛現在値 = LOCAL:0
		ELSE
			PRINTFORML 後で自分で処理させることにした
		ENDIF
	ENDIF
	TALENT:(MTAR:0):腋毛目標値 = LOCAL:0

	DOWNBASE:(MTAR:0):体力 += 80
	SOURCE:(MTAR:0):逸脱 = 120
	SOURCE:(MTAR:0):露出 = 100
	SOURCE:(MTAR:0):不安 = 50
	;主導度変化基準値
	TFLAG:主導度変化基準値 = 5

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

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

	;主導権に応じた優越・屈従のソース追加
	CALL ADD_SOURCE_INITIATIVE_U(LOCAL:2, 160, 80)
ELSE
	GOTO INPUT_LOOP
ENDIF

RETURN 1

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

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

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 * 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_ORDER_TARGET113(ARG:0)
;実行値の設定
TCVAR:(ARG:0):実行値 = 120
;共通部分
CALL COM_ORDER(ARG:0)

CALL COM_ORDER_ELEMENT(ARG:0, @"欲望Lv{ABL:(ARG:0):欲望}", ABL:(ARG:0):欲望 * 3)
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, "恥じらい", -5)
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

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

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

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

@COM_AVAILABLE_WHEN113
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_113()
RETURN POWER(2, 性的嗜好_辱めたい)

@COM_PREFERENCE_TARGET_113()
RETURN POWER(2, 性的嗜好_辱められたい)


code:
;露出プレイ

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME114
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_ABLE114
;共通部分
CALL COM_ABLE_COMMON(114)
SIF RESULT == 0
	RETURN 0
;プレイヤーは1人
SIF MPLY_NUM != 1
	RETURN 0

;ターゲット1人以上
SIF MTAR_NUM <= 0
	RETURN 0
;プレイヤーが行動不能なら不可
SIF !IS_PLAYABLE(MPLY:0) && !FLAG:RECHECKING
	RETURN 0

SIF ITEM:マジック == 0 && ITEM:A_マジック == 0
	RETURN 0
FOR LOCAL:0, 0, MTAR_NUM
	;ターゲットが既に落書き済みなら不可
	SIF IS_EQUIP_TARGET(MTAR:0, 114)
		RETURN 0
	SIF !CAN_REACH_BODY(MPLY:0, MTAR:0) && !FLAG:RECHECKING
		RETURN 0
NEXT
RETURN 1

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

;●全プレイヤーについて処理
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:2 = MPLY:(LOCAL:0)

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

	SOURCE:(LOCAL:2):嗜虐 = 30
	SOURCE:(LOCAL:2):露出 = 20
	SOURCE:(LOCAL:2):逸脱 = 20
	SOURCE:(LOCAL:2):不安 = 30

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

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

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

	SOURCE:(LOCAL:2):逸脱 = 80
	SOURCE:(LOCAL:2):露出 = 1000
	SOURCE:(LOCAL:2):不安 = 30

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

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

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

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

RETURN 1

;-------------------------------------------------
;継続コマンドかどうかを設定
;-------------------------------------------------
@COM_IS_EQUIP114
;継続コマンドかつフィルタリング不可
RETURN 2
;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP114(ARG:0)
;●全プレイヤーについて判定
FOR LOCAL:0, 0, MEQUIP_PLAYER_NUM:(ARG:0)
	LOCAL:2 = MEQUIP_PLAYER:(ARG:0):(LOCAL:0)

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

	SOURCE:(LOCAL:2):嗜虐 = 10
	SOURCE:(LOCAL:2):露出 = 300
	SOURCE:(LOCAL:2):逸脱 = 10
	SOURCE:(LOCAL:2):不安 = 15

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

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

;●全ターゲットについて判定
FOR LOCAL:0, 0, MEQUIP_TARGET_NUM:(ARG:0)
	LOCAL:2 = MEQUIP_TARGET:(ARG:0):(LOCAL:0)

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

	SOURCE:(LOCAL:2):逸脱 = 10
	SOURCE:(LOCAL:2):露出 = 600
	SOURCE:(LOCAL:2):不安 = 10

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

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

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE114(ARG:0)
LOCALS:0 = %EQUIP_TARGET_ANAME(ARG:0)%
RESULTS = %LOCALS:0%の身体に卑猥な落書きがされている

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP114(ARG:0)
	LOCALS:0 = %EQUIP_TARGET_ANAME(ARG:0)%
PRINTFORML %LOCALS:0%の肌に描かれた卑猥な落書きが目をひく……

;-------------------------------------------------
;継続を解除したときの地の文
;-------------------------------------------------
@COM_TEXT_RELEASE_EQUIP114(ARG:0)
	LOCALS:0 = %EQUIP_TARGET_ANAME(ARG:0)%

PRINTFORMW %LOCALS:0%の落書きをよく拭き取ってやった

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

;共通部分
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 * 1, 10))

IF GETBIT(TALENT:(ARG:0):淫乱系, 素質_淫乱_サド)
	CALL COM_ORDER_ELEMENT(ARG:0, "サド", 10)
ENDIF
IF TALENT:(ARG:0):恥じらい
	CALL COM_ORDER_ELEMENT(ARG:0, "恥じらい", -5)
ENDIF
IF TALENT:(ARG:0):恥薄い
	CALL COM_ORDER_ELEMENT(ARG:0, "恥薄い", 5)
ENDIF

RETURN 1

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

LOCALS:0 = %ANAME(MPLY:0)%
;ターゲットが２人以上
IF MTAR_NUM >= 2
	LOCALS:1 = %ANAME(MTAR:0)%たち
;ターゲットが１人
ELSE
	LOCALS:1 = %ANAME(MTAR:0)%
ENDIF

SELECTCASE GET_COM_INITIATIVE()
	;プレイヤーに主導権
	CASE 0
		PRINTFORMW %LOCALS:0%は%LOCALS:1%の身体に、卑猥な落書きを施した……
	;ターゲットに主導権
	CASE 1
		PRINTFORMW %LOCALS:1%は%LOCALS:0%に、身体に卑猥な落書きを施してもらった……
	;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%LOCALS:0%に、%LOCALS:1%の身体に卑猥な落書きを施すよう命令した
		PRINTFORMW %LOCALS:0%は言われるまま、%LOCALS:1%に卑猥な落書きを施していった……
ENDSELECT

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

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

@COM_AVAILABLE_WHEN114
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_114()
RETURN POWER(2, 性的嗜好_辱めたい)

@COM_PREFERENCE_TARGET_114()
RETURN POWER(2, 性的嗜好_辱められたい) + POWER(2, 性的嗜好_露出したい)


code:
;露出プレイ

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME115
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_ABLE115
;共通部分
CALL COM_ABLE_COMMON(115)
SIF RESULT == 0
	RETURN 0
;プレイヤーは1人
SIF MPLY_NUM != 1
	RETURN 0

;プレイヤーが行動不能なら不可
SIF !IS_PLAYABLE(MPLY:0) && !FLAG:RECHECKING
	RETURN 0

;既に撮影しているならダメ
SIF TFLAG:撮影中 > 0 && !FLAG:RECHECKING
	RETURN 0

SIF (ITEM:ビデオカメラ == 0 || ITEM:ビデオテープ == 0) && !FLAG:RECHECKING
	RETURN 0

SIF IS_BIND(MPLY:0) && !FLAG:RECHECKING
	RETURN 0

RETURN 1

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

ITEM:ビデオテープ --

;●全プレイヤーについて処理
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:2 = MPLY:(LOCAL:0)

	SOURCE:(LOCAL:2):嗜虐 = 20
	SOURCE:(LOCAL:2):露出 = 800

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

;●プレイヤー以外の全参加者について処理
FOR LOCAL:0, 0, CHARANUM
	SIF !IS_PARTICIPATE_TRAIN(LOCAL) || LOCAL:0 == MPLY:0
		CONTINUE

	DOWNBASE:LOCAL:体力 += 80

	SOURCE:LOCAL:逸脱 = 80
	SOURCE:LOCAL:露出 = 1000
	SOURCE:LOCAL:不安 = 30

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

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

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

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

TFLAG:撮影中 = 1
TFLAG:71 = 0

FOR LOCAL, 0, CHARANUM
	SIF !IS_PARTICIPATE_TRAIN()
		CONTINUE
	TFLAG:71 += SUM_EX(LOCAL)
NEXT

RETURN 1

;-------------------------------------------------
;継続コマンドかどうかを設定
;-------------------------------------------------
@COM_IS_EQUIP115
;継続コマンドかつフィルタリング不可
RETURN 2
;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP115(ARG:0)
;●全プレイヤーについて判定
FOR LOCAL:0, 0, MEQUIP_PLAYER_NUM:(ARG:0)
	LOCAL:2 = MEQUIP_PLAYER:(ARG:0):(LOCAL:0)

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

	SOURCE:(LOCAL:2):嗜虐 += 10
	SOURCE:(LOCAL:2):露出 += 500
	SOURCE:(LOCAL:2):逸脱 += 10
	SOURCE:(LOCAL:2):不安 += 15

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

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

;●プレイヤー以外の全参加者について処理
FOR LOCAL:0, 0, CHARANUM
	SIF !IS_PARTICIPATE_TRAIN(LOCAL) || LOCAL:0 == MPLY:0
		CONTINUE
	;帰ってたらダメ
	SIF TCVAR:(LOCAL:0):離脱フラグ
		CONTINUE
	DOWNBASE:LOCAL:体力 += 40

	SOURCE:LOCAL:逸脱 = 10
	SOURCE:LOCAL:露出 = 700
	SOURCE:LOCAL:不安 = 10

	EXP:LOCAL:撮影経験 ++

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

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

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE115(ARG:0)
RESULTS = ビデオ撮影中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP115(ARG:0)
SIF MTAR:0 >= 0
	PRINTFORM %ANAME(MTAR:0)%の

PRINTFORML 痴態をカメラが撮影している…

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

PRINTFORMW 撮影を終えた
TFLAG:撮影中 = 2

;-------------------------------------------------
;固有の実行判定
;-------------------------------------------------
@COM_ORDER_PLAYER115(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):奉仕 * 4)

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, "恥じらい", -2)
ENDIF
IF TALENT:(ARG:0):恥薄い
	CALL COM_ORDER_ELEMENT(ARG:0, "恥薄い", 5)
ENDIF

RETURN 1

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

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

PRINTFORMW %LOCALS:0%はビデオを回し始めた…

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

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

@COM_AVAILABLE_WHEN115
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_115()
RETURN POWER(2, 性的嗜好_辱めたい)

@COM_PREFERENCE_TARGET_115()
RETURN POWER(2, 性的嗜好_辱められたい) + POWER(2, 性的嗜好_撮影されたい)


code:
;自慰

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME116
LOCALS:0 =
IF TFLAG:撮影中 == 1
	LOCALS:0 = 撮影
ELSEIF TFLAG:104 >= 2
	LOCALS:0 = 公開
ELSEIF TFLAG:デート場所 == 8
	LOCALS:0 = 野外
ENDIF

LOCALS:0 '= 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_ABLE116
;共通部分
CALL COM_ABLE_COMMON(116)
SIF RESULT == 0
	RETURN 0
;プレイヤーは1人以上
SIF MPLY_NUM <= 0
	RETURN 0
;ターゲットは1人以上
SIF MTAR_NUM <= 0
	RETURN 0
;オナホールが必要
SIF !ITEM:オナホール && !ITEM:A_オナホール
	RETURN 0
;多対多は不可
SIF MPLY_NUM >= 2 && MTAR_NUM >= 2
	RETURN 0

FOR LOCAL, 0, MPLY_NUM
	SIF !IS_PLAYABLE(MPLY:LOCAL)
		RETURN 0
	SIF !HAS_PENIS(MPLY:LOCAL)
		RETURN 0
	SIF IS_BIND(MPLY:LOCAL)
		RETURN 0
	SIF !P_STACKABLE(MPLY:LOCAL, MPLY:LOCAL, 116)
		RETURN 0

NEXT

RETURN 1

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

;●全てのプレイヤーについて処理
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:2 = MPLY:(LOCAL:0)

	EXP:(LOCAL:2):自慰経験値 += 3

	SOURCE:(LOCAL:2):露出 = 1300
	SOURCE:(LOCAL:2):逸脱 = 116
	SOURCE:(LOCAL:2):性行動 = 240

	LOCAL:3 = 500

	SELECTCASE ABL:(LOCAL:2):自慰
		CASE 0
			TIMES LOCAL:3, 1.00
		CASE 1
			TIMES LOCAL:3, 1.20
		CASE 2
			TIMES LOCAL:3, 1.50
		CASE 3
			TIMES LOCAL:3, 1.80
		CASE 4
			TIMES LOCAL:3, 2.00
		CASEELSE
			LOCAL:3 = LOCAL:3 * (420 + (ABL:(LOCAL:2):自慰 - 5)) / 200
	ENDSELECT

	SIF GETBIT(TALENT:(LOCAL:2):淫乱系, 素質_淫乱_自慰狂い)
		TIMES LOCAL:3, 2.0

	SOURCE:(LOCAL:2):快Ｐ = SENSE_HOUSHI_P(LOCAL:2, LOCAL:2, LOCAL:3 * 3 / 2)

NEXT

;主導権の所在を取得
LOCAL:11 = GET_COM_INITIATIVE()

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

	SOURCE:(LOCAL:1):性行動 = 120

	;ターゲットに主導権
	IF LOCAL:11 == 1 || LOCAL:11 == 2
		SOURCE:(LOCAL:1):嗜虐 = 60
	;ターゲットに主導権がない
	ELSE
		SOURCE:(LOCAL:1):逸脱 = 60
		SOURCE:(LOCAL:1):恐怖 = MAX(116 - 30 * ABL:(LOCAL:1):欲望, 0)
	ENDIF

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

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

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

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

RETURN 1

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

;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP116(ARG:0)
;●全プレイヤーについて処理
FOR LOCAL:0, 0, MEQUIP_PLAYER_NUM:(ARG:0)
	LOCAL:2 = MEQUIP_PLAYER:(ARG:0):(LOCAL:0)

	EXP:(LOCAL:2):自慰経験値 += 1

	SOURCE:(LOCAL:2):露出 += 600
	SOURCE:(LOCAL:2):逸脱 += 50
	SOURCE:(LOCAL:2):性行動 += 80

	LOCAL:3 = 500

	SELECTCASE ABL:(LOCAL:2):自慰
		CASE 0
			TIMES LOCAL:3, 1.00
		CASE 1
			TIMES LOCAL:3, 1.20
		CASE 2
			TIMES LOCAL:3, 1.50
		CASE 3
			TIMES LOCAL:3, 1.80
		CASE 4
			TIMES LOCAL:3, 2.00
		CASEELSE
			LOCAL:3 = LOCAL:3 * (420 + (ABL:(LOCAL:2):自慰 - 5)) / 200
	ENDSELECT

	SIF GETBIT(TALENT:(LOCAL:2):淫乱系, 素質_淫乱_自慰狂い)
		TIMES LOCAL:3, 2.0

	SOURCE:(LOCAL:2):快Ｐ += SENSE_HOUSHI_P(LOCAL:2, LOCAL:2, LOCAL:3 * 3 / 2)

NEXT

;●全ターゲットについて処理
FOR LOCAL:0, 0, MEQUIP_TARGET_NUM:(ARG:0)
	LOCAL:2 = MEQUIP_TARGET:(ARG:0):(LOCAL:0)

	SOURCE:(LOCAL:2):性行動 += 40
NEXT

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE116(ARG:0)

LOCALS:0 =
IF TFLAG:撮影中 == 1
	LOCALS:0 = 撮影
ELSEIF TFLAG:104 >= 2
	LOCALS:0 = 公開
ELSEIF TFLAG:デート場所 == 8
	LOCALS:0 = 野外
ENDIF

LOCALS:0 '= LOCALS:0 + "オナホ自慰"

RESULTS = %EQUIP_PLAYER_ANAME(ARG:0)%が%LOCALS:0%中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP116(ARG:0)
LOCAL:1 = 1
FOR LOCAL:0, 0, MEQUIP_PLAYER_NUM:(ARG:0)
	IF !HAS_PENIS(MEQUIP_PLAYER:(ARG:0):(LOCAL:0))
		LOCAL:1 = 0
	ENDIF
NEXT

PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は自らオナホールに腰を振っている…

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

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

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

CALL COM_ORDER_ELEMENT(ARG:0, @"欲望Lv{ABL:(ARG:0):欲望}", ABL:(ARG:0):欲望 * 3)
CALL COM_ORDER_ELEMENT(ARG:0, @"露出Lv{ABL:(ARG:0):露出}", ABL:(ARG:0):露出 * 3)
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 * 3, 30))

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

IF TALENT:(ARG:0):恥じらい
	CALL COM_ORDER_ELEMENT(ARG:0, "恥じらい", -15)
ENDIF
IF TALENT:(ARG:0):恥薄い
	CALL COM_ORDER_ELEMENT(ARG:0, "恥薄い", 8)
ENDIF
IF TALENT:(ARG:0):自制心
	CALL COM_ORDER_ELEMENT(ARG:0, "自制心", -10)
ENDIF
IF TALENT:(ARG:0):目立ちたがり
	CALL COM_ORDER_ELEMENT(ARG:0, "目立ちたがり", 6)
ENDIF
IF TALENT:(ARG:0):自慰しやすい
	CALL COM_ORDER_ELEMENT(ARG:0, "自慰しやすい", 10)
ENDIF
IF TALENT:(ARG:0):快感の否定
	CALL COM_ORDER_ELEMENT(ARG:0, "快感の否定", -5)
ENDIF

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

SIF GETBIT(TALENT:(LOCAL:2):淫乱系, 素質_淫乱_自慰狂い)
	CALL COM_ORDER_ELEMENT(ARG:0, "自慰狂い", 20)
RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE116
LOCALS:3 =

;プレイヤーが竿あり・竿なし混合かどうかを判定
LOCAL:1 = 0
FOR LOCAL:0, 1, MPLY_NUM
	IF HAS_PENIS(MPLY:(LOCAL:0)) != HAS_PENIS(MPLY:0)
		LOCAL:1 = 1
		BREAK
	ENDIF
NEXT

LOCALS:0 = 自らオナホールに腰を振

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

IF MPLY_NUM == 1
	LOCALS:2 = %ANAME(MPLY:0)%
ELSEIF MPLY_NUM == 2
	LOCALS:2 = %ANAME(MPLY:0)%と%ANAME(MPLY:1)%
ELSE
	LOCALS:2 = %ANAME(MPLY:0)%たち
ENDIF

IF TFLAG:撮影中 == 1
	LOCALS:3 = カメラに見えるように、
ELSEIF TFLAG:104 >= 2
	LOCALS:3 = 皆の見ている前で、
ELSEIF TFLAG:デート場所 == 8
	LOCALS:3 = 誰に見られているとも知らない中で、
ELSE
	LOCALS:3 =
ENDIF

SELECTCASE GET_COM_INITIATIVE()
	;プレイヤーに主導権
	CASE 0
		PRINTFORMW %LOCALS:2%は%LOCALS:3%%LOCALS:1%の目の前で%LOCALS:0%る様子を見せつけ%TARGET_STR("た", "てきた")%…
	;ターゲットに主導権
	CASE 1
		PRINTFORML %LOCALS:1%は%LOCALS:2%に、オナホールを使ってオナニーするように命令した
		PRINTFORMW %LOCALS:2%は言われるまま、%LOCALS:3%%LOCALS:1%の目の前で%LOCALS:0%った…
	;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%LOCALS:2%に対して、%LOCALS:1%の前でオナホールを使ってオナニーするように命令した
		PRINTFORMW %LOCALS:2%は言われるまま、%LOCALS:3%%LOCALS:1%の目の前で見せつけるように%LOCALS:0%った…
ENDSELECT

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST116
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非表示 && IS_INITIATIVE(LOCAL:1)
		IF ABL:(LOCAL:1):自慰 >= 5 || GETBIT(TALENT:(LOCAL:1):淫乱系, 素質_淫乱_自慰狂い)
			PRINTFORML %ANAME(LOCAL:1)%はすっかりオナホールの虜になり、激しく腰を振って自ら快感を貪っている
		ELSEIF ABL:(LOCAL:1):露出 >= 5
			PRINTFORML %ANAME(LOCAL:1)%は見られることで興奮しているのか、上気した顔でオナホールに腰を振っている
		ELSEIF ABL:(LOCAL:1):自慰 >= 2
			;捕虜調教のメインターゲット
			IF FLAG:調教モード == 2 && FINDELEMENT(PRISONER_TARGET, MTAR:0) != -1
				PRINTFORML %ANAME(LOCAL:1)%は屈辱に顔を歪めながらも、自ら快感を求めてオナホールに腰を振っている
			ELSE
				PRINTFORML %ANAME(LOCAL:1)%は恥ずかしそうにしているが、無意識に快感を求めるようにオナホールに腰を振っている
			ENDIF
		ELSE
			;捕虜調教のメインターゲット
			IF FLAG:調教モード == 2 && FINDELEMENT(PRISONER_TARGET, MTAR:0) != -1
				PRINTFORML %ANAME(LOCAL:1)%は屈辱に耐えながら、おぼつかない腰使いでオナホールを犯し始めた
			ELSE
				PRINTFORML %ANAME(LOCAL:1)%は恥ずかしさのあまり目を逸らしながら、おぼつかない腰使いでオナホールを犯し始めた
			ENDIF
		ENDIF
	ENDIF
NEXT

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

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

@COM_AVAILABLE_WHEN116
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_116()
RETURN POWER(2, 性的嗜好_辱められたい)

@COM_PREFERENCE_TARGET_116()
RETURN POWER(2, 性的嗜好_辱めたい)

@COM_STACK_SPERM_MPLY_TO_MPLY_116()
RETURN 射精部位_オナホ


code:
;自慰

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME117
LOCALS:0 =
IF TFLAG:撮影中 == 1
	LOCALS:0 = 撮影
ELSEIF TFLAG:104 >= 2
	LOCALS:0 = 公開
ELSEIF TFLAG:デート場所 == 8
	LOCALS:0 = 野外
ENDIF

LOCALS:0 '= 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_ABLE117
;共通部分
CALL COM_ABLE_COMMON(117)
SIF RESULT == 0
	RETURN 0
;プレイヤーは1人以上
SIF MPLY_NUM <= 0
	RETURN 0
;ターゲットは1人以上
SIF MTAR_NUM <= 0
	RETURN 0
;プレイヤーが行動不能なら不可
SIF !IS_PLAYABLE(MPLY:0)
	RETURN 0
;スキマが必要
SIF !ITEM:スキマ
	RETURN 0
;多対多は不可
SIF MPLY_NUM >= 2 && MTAR_NUM >= 2
	RETURN 0

FOR LOCAL, 0, MPLY_NUM
	;拘束中なら不可
	SIF IS_BIND(MPLY:(LOCAL:0))
		RETURN 0

	;プレイヤーに竿が必要
	SIF !HAS_PENIS(MPLY:(LOCAL:0))
		RETURN 0
	SIF !P_STACKABLE(MPLY:LOCAL, MPLY:LOCAL, 117)
		RETURN 0
	;プレイヤーの口が埋まってるなら駄目
	SIF IS_M_HOLD(MPLY:0)
		RETURN 0
NEXT

RETURN 1

;-------------------------------------------------
;快Ｍソースの倍率を取得する関数 ARG:0=PLAYERのキャラ番号
;-------------------------------------------------
@COM117_RATE_M(ARG:0)
#FUNCTION
LOCAL:5 = 1000
SELECTCASE ABL:(ARG:0):奉仕
	CASE 0
		TIMES LOCAL:5, 0.00
		;TIMES SOURCE:(LOCAL:2):不潔, 4.00
	CASE 1
		TIMES LOCAL:5, 0.10
		;TIMES SOURCE:(LOCAL:2):不潔, 2.50
	CASE 2
		TIMES LOCAL:5, 0.30
		;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

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

;対Ｐ奉仕系コマンドの継続フラグを解除
CALL RELEASE_SERVE_P

;●全てのプレイヤーについて処理
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:2 = MPLY:(LOCAL:0)

	EXP:(LOCAL:2):自慰経験値 += 3
	EXP:(LOCAL:2):口淫経験 += 1

	SOURCE:(LOCAL:2):露出 = 1300
	SOURCE:(LOCAL:2):逸脱 = 200
	SOURCE:(LOCAL:2):性行動 = 300

	LOCAL:3 = 500

	SELECTCASE ABL:(LOCAL:2):自慰
		CASE 0
			TIMES LOCAL:3, 1.00
		CASE 1
			TIMES LOCAL:3, 1.20
		CASE 2
			TIMES LOCAL:3, 1.50
		CASE 3
			TIMES LOCAL:3, 1.80
		CASE 4
			TIMES LOCAL:3, 2.00
		CASEELSE
			LOCAL:3 = LOCAL:3 * (420 + (ABL:(LOCAL:2):自慰 - 5)) / 200
	ENDSELECT

	SOURCE:(LOCAL:2):快Ｐ = SENSE_HOUSHI_P(LOCAL:2, LOCAL:2, LOCAL:3 * 3 / 2)
	SOURCE:(LOCAL:2):快Ｍ = 600 * COM117_RATE_M(LOCAL:2) / 1000
	;ペニスへのキス
	CALL KISS_COMMON(LOCAL:2, @"%ANAME(LOCAL:2)%のペニス", GET_SITUATION_BY_TRAIN_MODE())

NEXT

;主導権の所在を取得
LOCAL:11 = GET_COM_INITIATIVE()

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

	SOURCE:(LOCAL:1):性行動 = 120

	;ターゲットに主導権
	IF LOCAL:11 == 1 || LOCAL:11 == 2
		SOURCE:(LOCAL:1):嗜虐 = 60
	;ターゲットに主導権がない
	ELSE
		SOURCE:(LOCAL:1):逸脱 = 100
		SOURCE:(LOCAL:1):恐怖 = MAX(117 - 30 * ABL:(LOCAL:1):欲望, 0)
	ENDIF

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

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

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

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

RETURN 1

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

;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP117(ARG:0)
;●全プレイヤーについて処理
FOR LOCAL:0, 0, MEQUIP_PLAYER_NUM:(ARG:0)
	LOCAL:2 = MEQUIP_PLAYER:(ARG:0):(LOCAL:0)

	EXP:(LOCAL:2):自慰経験値 += 1
	EXP:(LOCAL:2):口淫経験 += 1

	SOURCE:(LOCAL:2):露出 += 600
	SOURCE:(LOCAL:2):逸脱 += 100
	SOURCE:(LOCAL:2):性行動 += 80

	LOCAL:3 = 500

	SELECTCASE ABL:(LOCAL:2):自慰
		CASE 0
			TIMES LOCAL:3, 1.00
		CASE 1
			TIMES LOCAL:3, 1.20
		CASE 2
			TIMES LOCAL:3, 1.50
		CASE 3
			TIMES LOCAL:3, 1.80
		CASE 4
			TIMES LOCAL:3, 2.00
		CASEELSE
			LOCAL:3 = LOCAL:3 * (420 + (ABL:(LOCAL:2):自慰 - 5)) / 200
	ENDSELECT

	SOURCE:(LOCAL:2):快Ｐ += SENSE_HOUSHI_P(LOCAL:2, LOCAL:2, LOCAL:3 * 3 / 2)
	SOURCE:(LOCAL:2):快Ｍ += 300 * COM117_RATE_M(LOCAL:2) / 1000

	;ペニスへのキス
	CALL KISS_COMMON(LOCAL:2, @"%ANAME(LOCAL:2)%のペニス", GET_SITUATION_BY_TRAIN_MODE())

NEXT

;●全ターゲットについて処理
FOR LOCAL:0, 0, MEQUIP_TARGET_NUM:(ARG:0)
	LOCAL:2 = MEQUIP_TARGET:(ARG:0):(LOCAL:0)

	SOURCE:(LOCAL:2):性行動 += 40
NEXT

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE117(ARG:0)

LOCALS:0 =
IF TFLAG:撮影中 == 1
	LOCALS:0 = 撮影
ELSEIF TFLAG:104 >= 2
	LOCALS:0 = 公開
ELSEIF TFLAG:デート場所 == 8
	LOCALS:0 = 野外
ENDIF

LOCALS:0 '= LOCALS:0 + "セルフフェラ"

RESULTS = %EQUIP_PLAYER_ANAME(ARG:0)%が%LOCALS:0%中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP117(ARG:0)
LOCAL:1 = 1
FOR LOCAL:0, 0, MEQUIP_PLAYER_NUM:(ARG:0)
	IF !HAS_PENIS(MEQUIP_PLAYER:(ARG:0):(LOCAL:0))
		LOCAL:1 = 0
	ENDIF
NEXT

PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は自らの%BAR_NAME(MEQUIP_PLAYER:(ARG:0):0)%にしゃぶりついている……

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

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

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

CALL COM_ORDER_ELEMENT(ARG:0, @"欲望Lv{ABL:(ARG:0):欲望}", ABL:(ARG:0):欲望 * 3)
CALL COM_ORDER_ELEMENT(ARG:0, @"露出Lv{ABL:(ARG:0):露出}", ABL:(ARG:0):露出 * 3)
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 * 3, 30))

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

IF TALENT:(ARG:0):恥じらい
	CALL COM_ORDER_ELEMENT(ARG:0, "恥じらい", -15)
ENDIF
IF TALENT:(ARG:0):恥薄い
	CALL COM_ORDER_ELEMENT(ARG:0, "恥薄い", 8)
ENDIF
IF TALENT:(ARG:0):自制心
	CALL COM_ORDER_ELEMENT(ARG:0, "自制心", -10)
ENDIF
IF TALENT:(ARG:0):目立ちたがり
	CALL COM_ORDER_ELEMENT(ARG:0, "目立ちたがり", 6)
ENDIF
IF TALENT:(ARG:0):自慰しやすい
	CALL COM_ORDER_ELEMENT(ARG:0, "自慰しやすい", 10)
ENDIF
IF TALENT:(ARG:0):快感の否定
	CALL COM_ORDER_ELEMENT(ARG:0, "快感の否定", -5)
ENDIF

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

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE117
LOCALS:3 =

;プレイヤーが竿あり・竿なし混合かどうかを判定
LOCAL:1 = 0
FOR LOCAL:0, 1, MPLY_NUM
	IF HAS_PENIS(MPLY:(LOCAL:0)) != HAS_PENIS(MPLY:0)
		LOCAL:1 = 1
		BREAK
	ENDIF
NEXT

LOCALS:0 = 自らの%BAR_NAME(MPLY:0)%をしゃぶ

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

IF MPLY_NUM == 1
	LOCALS:2 = %ANAME(MPLY:0)%
ELSEIF MPLY_NUM == 2
	LOCALS:2 = %ANAME(MPLY:0)%と%ANAME(MPLY:1)%
ELSE
	LOCALS:2 = %ANAME(MPLY:0)%たち
ENDIF

IF TFLAG:撮影中 == 1
	LOCALS:3 = カメラに見えるように、
ELSEIF TFLAG:104 >= 2
	LOCALS:3 = 皆の見ている前で、
ELSEIF TFLAG:デート場所 == 8
	LOCALS:3 = 誰に見られているとも知らない中で、
ELSE
	LOCALS:3 =
ENDIF

SELECTCASE GET_COM_INITIATIVE()
	;プレイヤーに主導権
	CASE 0
		PRINTFORMW %LOCALS:2%は%LOCALS:3%%LOCALS:1%の目の前で、スキマを使って%LOCALS:0%る様子を見せつけ%TARGET_STR("た", "てきた")%…
	;ターゲットに主導権
	CASE 1
		PRINTFORML %LOCALS:1%は%LOCALS:2%に、%LOCALS:0%るように命じた
		PRINTFORMW %LOCALS:2%は言われるまま、%LOCALS:3%%LOCALS:1%の目の前でスキマを使って%LOCALS:0%った…
	;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%LOCALS:2%に対して、%LOCALS:1%の前で%LOCALS:0%るように命じた
		PRINTFORMW %LOCALS:2%は言われるまま、%LOCALS:3%%LOCALS:1%の目の前で見せつけるようにスキマを使って%LOCALS:0%った…
ENDSELECT

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

	IF LOCAL:1 != MASTER && !CFLAG:(LOCAL:1):TEXT_LAST非表示 && IS_INITIATIVE(LOCAL:1)
		IF ABL:(LOCAL:1):射精 >= 5 && HAS_PENIS(LOCAL:1)
			PRINTFORML %ANAME(LOCAL:1)%はすっかり射精に夢中になり、激しく腰を振って自らのペニスにしゃぶりついている
		ELSEIF ABL:(LOCAL:1):露出 >= 5
			PRINTFORML %ANAME(LOCAL:1)%は見られることで興奮しているのか、上気した顔で自らの%BAR_NAME(LOCAL:1)%にしゃぶりついている
		ELSEIF ABL:(LOCAL:1):自慰 >= 2
			;捕虜調教のメインターゲット
			IF FLAG:調教モード == 2 && FINDELEMENT(PRISONER_TARGET, MTAR:0) != -1
				PRINTFORML %ANAME(LOCAL:1)%は屈辱に顔を歪めながらも、自ら快感を求めて%BAR_NAME(LOCAL:1)%にしゃぶりついている
			ELSE
				PRINTFORML %ANAME(LOCAL:1)%は恥ずかしそうにしているが、無意識に快感を求めるように%BAR_NAME(LOCAL:1)%をしゃぶっている
			ENDIF
		ELSE
			;捕虜調教のメインターゲット
			IF FLAG:調教モード == 2 && FINDELEMENT(PRISONER_TARGET, MTAR:0) != -1
				PRINTFORML %ANAME(LOCAL:1)%は屈辱に耐えながら、おぼつかない舌遣いで%BAR_NAME(LOCAL:1)%をしゃぶりはじめた
			ELSE
				PRINTFORML %ANAME(LOCAL:1)%は恥ずかしさのあまり目を逸らしながら、おぼつかない舌遣いで%BAR_NAME(LOCAL:1)%をしゃぶりはじめた
			ENDIF
		ENDIF
	ENDIF
NEXT

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

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

@COM_AVAILABLE_WHEN117
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_117()
RETURN POWER(2, 性的嗜好_辱められたい) + POWER(2, 性的嗜好_奉仕したい) + POWER(2, 性的嗜好_汚されたい)

@COM_PREFERENCE_TARGET_117()
RETURN POWER(2, 性的嗜好_辱めたい)

@COM_STACK_SPERM_MPLY_TO_MPLY_117()
RETURN RAND:3 ? 射精部位_口 # 射精部位_顔


code:
;おねだり

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME118
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_ABLE118
;共通部分
CALL COM_ABLE_COMMON(118)
SIF RESULT == 0
	RETURN 0
;プレイヤーは最大で5人まで
SIF MPLY_NUM <= 0 || MPLY_NUM > 5
	RETURN 0
;ターゲットは最大で5人まで
SIF MTAR_NUM <= 0 || MTAR_NUM > 5
	RETURN 0

;We won't make this one very restrictive since it's a single quick action
;just imagine they pause whatever they're doing for a moment
FOR LOCAL:0, 0, MPLY_NUM
	;プレイヤーが行動不能なら不可
	SIF !IS_PLAYABLE(MPLY:LOCAL)
		RETURN 0
	SIF !HAS_VAGINA(MPLY:LOCAL)
		RETURN 0
		;Ｖ挿入中なら不可
	SIF IS_INSERT_SINGLE(MPLY:(LOCAL:0), "全")
		RETURN 0
	;拘束されていたらダメ
	SIF IS_BIND(MPLY:(LOCAL:0))
		RETURN 0
NEXT

RETURN 1

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

;●全プレイヤーについて処理
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:2 = MPLY:(LOCAL:0)

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

	SOURCE:(LOCAL:2):露出 = 70
	SOURCE:(LOCAL:2):逸脱 = 50
	SOURCE:(LOCAL:2):反感 = 40
	SOURCE:(LOCAL:2):露出 = 1400

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

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

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

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

	SOURCE:(LOCAL:2):嗜虐 = 60
	SOURCE:(LOCAL:2):逸脱 = 30
	SOURCE:(LOCAL:2):接触 = 40

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

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

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

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

RETURN 1

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

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

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

CALL COM_ORDER_ELEMENT(ARG:0, @"欲望Lv{ABL:(ARG:0):欲望}", ABL:(ARG:0):欲望 * 3 / 2)
CALL COM_ORDER_ELEMENT(ARG:0, @"露出Lv{ABL:(ARG:0):露出}", ABL:(ARG:0):露出 * 5 / 2)
CALL COM_ORDER_ELEMENT(ARG:0, @"マゾLv{ABL:(ARG:0):マゾ}", ABL:(ARG:0):マゾ * 5 / 2)

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

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

IF TALENT:(ARG:0):恥じらい
	CALL COM_ORDER_ELEMENT(ARG:0, "恥じらい", -4)
ENDIF

RETURN 1

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

;プレイヤーが2人以上
IF MPLY_NUM >= 2
	LOCALS:0 = %ANAME(MPLY:0)%たち
;プレイヤーが１人
ELSE
	LOCALS:0 = %ANAME(MPLY:0)%
ENDIF
;ターゲットが2人以上
IF MTAR_NUM >= 2
	LOCALS:1 = %ANAME(MTAR:0)%たち
;ターゲットが1人
ELSE
	LOCALS:1 = %ANAME(MTAR:0)%
ENDIF

SELECTCASE GET_COM_INITIATIVE()
	CASE 0
	CASE 1
		IF MTAR_NUM == 1 && ABL:(MTAR:0):サド >= 3
			PRINTFORMW %LOCALS:1%は嗜虐的な笑みを浮かべ%LOCALS:0%に命令し、無理やり%STR_BODY("陰唇：処女確認" , MPLY:0)%を指先で開かせ%PLAYER_STR("た", "てきた")%…
		ELSEIF MTAR_NUM == 1 && ABL:(MTAR:0):主導度Ｕ < 100
			PRINTFORMW %LOCALS:1%は少し緊張した様子で%LOCALS:0%に命令し、%STR_BODY("陰唇：処女確認" , MPLY:0)%を指先で開かせた…
		ELSE
			PRINTFORMW %LOCALS:1%は%LOCALS:0%に命令し、%STR_BODY("陰唇：処女確認" , MPLY:0)%を指先で開かせた…
		ENDIF
	;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%LOCALS:0%に、%LOCALS:1%に%STR_BODY("陰唇：処女確認" , MPLY:0)%を指先で開くように命令した
ENDSELECT

PRINTFORM %ANAME(MPLY:(LOCAL:0), MPLY_NUM)%は、
SELECTCASE ABL:(MPLY:0):露出
	CASE IS < ランク閾値:ランク_その他:ランク_E
		PRINTFORM 羞恥で顔を赤く染めながら
	CASE IS < ランク閾値:ランク_その他:ランク_C
		PRINTFORM 戸惑いを感じつつも
	CASE IS < ランク閾値:ランク_その他:ランク_A
		PRINTFORM 悦びを感じながら
	CASEELSE
		PRINTFORM 見られる興奮に愛液を滴らせながら
ENDSELECT

PRINTFORMW %STR_BODY("陰唇：処女確認" , MPLY:0)%を指先で割り開いてみせた……

@COM_TEXT_LAST118
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:1 = MPLY:(LOCAL:0)
	SIF CUM_GET_AMOUNT:(LOCAL:1):射精部位_膣内 > 0
		PRINTFORML 中出しを受けた%ANAME(LOCAL:1)%の%STR_BODY("陰唇", LOCAL:1)%から、白いものがとろりと溢れた……
NEXT

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

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

@COM_AVAILABLE_WHEN118
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_118()
RETURN POWER(2, 性的嗜好_辱められたい) + POWER(2, 性的嗜好_露出したい)

@COM_PREFERENCE_TARGET_118()
RETURN POWER(2, 性的嗜好_辱めたい)


code:
;おねだり

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME119
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_ABLE119
;共通部分
CALL COM_ABLE_COMMON(119)
SIF RESULT == 0
	RETURN 0
;プレイヤーは最大で5人まで
SIF MPLY_NUM <= 0 || MPLY_NUM > 5
	RETURN 0
;ターゲットは最大で5人まで
SIF MTAR_NUM <= 0 || MTAR_NUM > 5
	RETURN 0

;We won't make this one very restrictive since it's a single quick action
;just imagine they pause whatever they're doing for a moment
FOR LOCAL:0, 0, MPLY_NUM
	;プレイヤーが行動不能なら不可
	SIF !IS_PLAYABLE(MPLY:LOCAL)
		RETURN 0
	;Ａ挿入中なら不可
	SIF IS_INSERT_SINGLE(MPLY:(LOCAL:0), "全")
		RETURN 0
	;拘束されていたらダメ
	SIF IS_BIND(MPLY:(LOCAL:0))
		RETURN 0
NEXT

RETURN 1

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

;●全プレイヤーについて処理
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:2 = MPLY:(LOCAL:0)

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

	SOURCE:(LOCAL:2):露出 = 70
	SOURCE:(LOCAL:2):逸脱 = 50
	SOURCE:(LOCAL:2):反感 = 40
	SOURCE:(LOCAL:2):露出 = 1400

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

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

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

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

	SOURCE:(LOCAL:2):嗜虐 = 60
	SOURCE:(LOCAL:2):逸脱 = 30
	SOURCE:(LOCAL:2):接触 = 40

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

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

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

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

RETURN 1

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

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

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

CALL COM_ORDER_ELEMENT(ARG:0, @"欲望Lv{ABL:(ARG:0):欲望}", ABL:(ARG:0):欲望 * 3 / 2)
CALL COM_ORDER_ELEMENT(ARG:0, @"露出Lv{ABL:(ARG:0):露出}", ABL:(ARG:0):露出 * 5 / 2)
CALL COM_ORDER_ELEMENT(ARG:0, @"マゾLv{ABL:(ARG:0):マゾ}", ABL:(ARG:0):マゾ * 5 / 2)

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

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

IF TALENT:(ARG:0):恥じらい
	CALL COM_ORDER_ELEMENT(ARG:0, "恥じらい", -4)
ENDIF

RETURN 1

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

;プレイヤーが2人以上
IF MPLY_NUM >= 2
	LOCALS:0 = %ANAME(MPLY:0)%たち
;プレイヤーが１人
ELSE
	LOCALS:0 = %ANAME(MPLY:0)%
ENDIF
;ターゲットが2人以上
IF MTAR_NUM >= 2
	LOCALS:1 = %ANAME(MTAR:0)%たち
;ターゲットが1人
ELSE
	LOCALS:1 = %ANAME(MTAR:0)%
ENDIF

SELECTCASE GET_COM_INITIATIVE()
	CASE 0
	CASE 1
		IF MTAR_NUM == 1 && ABL:(MTAR:0):サド >= 3
			PRINTFORMW %LOCALS:1%は嗜虐的な笑みを浮かべ%LOCALS:0%に命令し、無理やり%STR_BODY("アナル" , MPLY:0)%を指先で開かせ%PLAYER_STR("た", "てきた")%…
		ELSEIF MTAR_NUM == 1 && ABL:(MTAR:0):主導度Ｕ < 100
			PRINTFORMW %LOCALS:1%は少し緊張した様子で%LOCALS:0%に命令し、%STR_BODY("アナル" , MPLY:0)%を指先で開かせた…
		ELSE
			PRINTFORMW %LOCALS:1%は%LOCALS:0%に命令し、%STR_BODY("アナル" , MPLY:0)%を指先で開かせた…
		ENDIF
	;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%LOCALS:0%に、%LOCALS:1%に%STR_BODY("アナル" , MPLY:0)%を指先で開くように命令した
ENDSELECT

PRINTFORM %ANAME(MPLY:(LOCAL:0), MPLY_NUM)%は、
SELECTCASE ABL:(MPLY:0):露出
	CASE IS < ランク閾値:ランク_その他:ランク_E
		PRINTFORM 羞恥で顔を赤く染めながら
	CASE IS < ランク閾値:ランク_その他:ランク_C
		PRINTFORM 戸惑いを感じつつも
	CASE IS < ランク閾値:ランク_その他:ランク_A
		PRINTFORM 悦びを感じながら
	CASEELSE
		PRINTFORM 見られる興奮に愛液を滴らせながら
ENDSELECT

PRINTFORMW %STR_BODY("アナル" , MPLY:0)%を指先で割り開いてみせた……

@COM_TEXT_LAST119
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:1 = MPLY:(LOCAL:0)
	SIF CUM_GET_AMOUNT:(LOCAL:1):射精部位_アナル > 0
		PRINTFORML 中出しを受けた%ANAME(LOCAL:1)%の%STR_BODY("アナル", LOCAL:1)%から、白いものがとろりと溢れた……
NEXT

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

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

@COM_AVAILABLE_WHEN119
RETURN コマンド_ウフフ

;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_119()
RETURN POWER(2, 性的嗜好_辱められたい) + POWER(2, 性的嗜好_露出したい)

@COM_PREFERENCE_TARGET_119()
RETURN POWER(2, 性的嗜好_辱めたい)


code:
;フェラチオ

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME11
;挿入中
FOR LOCAL, 0, MTAR_NUM
	IF GROUPMATCH(IS_INSERT_SINGLE(MTAR:LOCAL, "Ｐ"), 1, 3)
		LOCALS:1 = Cleaning
		BREAK
	ELSEIF IS_INSERT_SINGLE(MTAR:LOCAL, "Ｐ") == 2
		LOCALS:1 = A Cleaning
		BREAK
	ELSE
		LOCALS:1 '= ""
	ENDIF
NEXT
LOCALS:2 '= ""
IF FLAG:ハウジングモード
	IF C_COND("設備属性:机",,MPLY)
		LOCALS:2 = Below
	ENDIF
ENDIF
IF MTAR_NUM > 3
	LOCALS:0 = %LOCALS:1% circle BJ
ELSEIF MTAR_NUM == 3
	LOCALS:0 = %LOCALS:1% + 3some BJ
ELSEIF MTAR_NUM == 2
	LOCALS:0 = %LOCALS:1% + 2some BJ
ELSEIF MPLY_NUM == 3 && MTAR_NUM == 1
	LOCALS:0 = Ｔ%LOCALS:1%BJ
ELSEIF MPLY_NUM == 2 && MTAR_NUM == 1
	LOCALS:0 = Ｗ%LOCALS:1%BJ
ELSE
	;プレイヤーからターゲットに顔面騎乗中 or ターゲットからプレイヤーにクンニ中
	IF IS_RIDE(MPLY:0, MTAR:0) || SEARCH_EQUIP(2, MTAR:0, MPLY:0) >= 0
		LOCALS:0 = 69
		;ターゲットからプレイヤーにフェラ中
	ELSEIF SEARCH_EQUIP(11, MTAR:0, MPLY:0) >= 0
		LOCALS:0 = Mutual B J
	ELSE
		LOCALS:0 = %LOCALS:1%BJ
	ENDIF
ENDIF
LOCAL:1 = 0
FOR LOCAL, 0, MTAR_NUM
	IF HAS_PENIS(MTAR:LOCAL)
		LOCAL:1 = 1
	ENDIF
NEXT
SIF !LOCAL:1
	LOCALS:0 = ペニバン%LOCALS:0%

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

IF TFLAG:割込コマンド実行
	IF MPLY_NUM == 1
		RESULTS:3 = 横取りフェラ
	ENDIF
ENDIF

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE11
;共通部分
CALL COM_ABLE_COMMON(11)
SIF RESULT == 0
	RETURN 0
;プレイヤーは最大で3人まで
SIF MPLY_NUM <= 0 || MPLY_NUM > 3
	RETURN 0
;ターゲットが必要
SIF MTAR_NUM <= 0
	RETURN 0

FOR LOCAL:0, 0, MTAR_NUM
	;penis or strapon
	SIF !HAS_PENIS(MTAR:(LOCAL:0)) && !IS_EQUIP_PLAYER((MTAR:(LOCAL:0)), 50)
		RETURN 0
NEXT

FOR LOCAL:0, 0, MPLY_NUM
	FOR LOCAL:1, 0, MTAR_NUM
		;プレイヤーがターゲットの性器を舐められる
		SIF !CAN_LICK_GROIN(MPLY:(LOCAL:0), MTAR:(LOCAL:1))
			RETURN 0
		;1本の男性器に対する同時実行制限
		SIF !P_STACKABLE(MPLY:(LOCAL:0), MTAR:(LOCAL:1), 11)
			RETURN 0
		;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
		SIF (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
	NEXT
NEXT

RETURN 1

;-------------------------------------------------
;快Ｍソースの倍率を取得する関数 ARG:0=PLAYERのキャラ番号
;-------------------------------------------------
@COM11_RATE_M(ARG:0)
#FUNCTION
LOCAL:5 = 1000
SELECTCASE ABL:(ARG:0):奉仕
	CASE 0
		TIMES LOCAL:5, 0.00
		;TIMES SOURCE:(LOCAL:2):不潔, 4.00
	CASE 1
		TIMES LOCAL:5, 0.10
		;TIMES SOURCE:(LOCAL:2):不潔, 2.50
	CASE 2
		TIMES LOCAL:5, 0.30
		;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

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

TFLAG:16 = 0
;挿入中
FOR LOCAL, 0, MTAR_NUM
	IF IS_INSERT_SINGLE(MTAR:LOCAL, "Ｐ")
		TFLAG:16 = IS_INSERT_SINGLE(MTAR:LOCAL, "Ｐ")
		BREAK
	ENDIF
NEXT

;●人数補正の設定
LOCAL:10 = 100

SELECTCASE MPLY_NUM
	CASE 2
		TIMES LOCAL:10, 0.75
	CASE 3
		TIMES LOCAL:10, 0.60
ENDSELECT

SELECTCASE MTAR_NUM
	CASE 2
		TIMES LOCAL:10, 0.75
ENDSELECT

;●全プレイヤーについて判定
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:2 = MPLY:(LOCAL:0)

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

	EXP:(LOCAL:2):性技経験値 += MAX(MTAR_NUM / 2 + 1, 1)
	EXP:(LOCAL:2):口淫経験 += 1

	SOURCE:(LOCAL:2):奉仕 = SERVE_HOUSHI(LOCAL:2, 400)
	SOURCE:(LOCAL:2):接触 = 50
	SOURCE:(LOCAL:2):快Ｍ = 600 * COM11_RATE_M(LOCAL:2) / 1000
	SOURCE:(LOCAL:2):性行動 = 300

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

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

	;全ターゲットに与える快感系ソースを計算
	FOR LOCAL:1, 0, MTAR_NUM
		LOCAL:3 = MTAR:(LOCAL:1)
		LOCAL:4 = SENSE_HOUSHI_P(LOCAL:2, LOCAL:3, 1500) * LOCAL:10 / 100
		IF TALENT:(LOCAL:2):舌使い
			TIMES LOCAL:4, 1.50
		ENDIF
		SOURCE:(LOCAL:3):快Ｐ += LOCAL:4

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

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

	;●ソースの計算
	DOWNBASE:(LOCAL:1):体力 += 60

	SOURCE:(LOCAL:1):接触 = 50
	SOURCE:(LOCAL:1):性行動 = 180

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

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

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

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

RETURN 1

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

;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP11(ARG:0)
;●人数補正の設定
LOCAL:10 = 100

SELECTCASE MEQUIP_PLAYER_NUM:(ARG:0)
	CASE 2
		TIMES LOCAL:10, 0.75
	CASE 3
		TIMES LOCAL:10, 0.60
ENDSELECT

SELECTCASE MEQUIP_TARGET_NUM:(ARG:0)
	CASE 2
		TIMES LOCAL:10, 0.75
ENDSELECT

;●全プレイヤーについて判定
FOR LOCAL:0, 0, MEQUIP_PLAYER_NUM:(ARG:0)
	LOCAL:2 = MEQUIP_PLAYER:(ARG:0):(LOCAL:0)

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

	EXP:(LOCAL:2):性技経験値 += MAX(MEQUIP_TARGET_NUM:(ARG:0) / 2 + 1, 1)
	EXP:(LOCAL:2):口淫経験 += 1

	SOURCE:(LOCAL:2):奉仕 += SERVE_HOUSHI(LOCAL:2, 150)
	SOURCE:(LOCAL:2):接触 += 25
	SOURCE:(LOCAL:2):快Ｍ += 300 * COM11_RATE_M(LOCAL:2) / 1000
	SOURCE:(LOCAL:2):性行動 += 100

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

	;全ターゲットに与える快感系ソースを計算
	FOR LOCAL:1, 0, MEQUIP_TARGET_NUM:(ARG:0)
		LOCAL:3 = MEQUIP_TARGET:(ARG:0):(LOCAL:1)
		LOCAL:4 = SENSE_HOUSHI_P(LOCAL:2, LOCAL:3, 500) * LOCAL:10 / 100
		IF TALENT:(LOCAL:2):舌使い
			TIMES LOCAL:4, 1.50
		ENDIF
		SOURCE:(LOCAL:3):快Ｐ += LOCAL:4

	NEXT
NEXT

;●全ターゲットについて判定
FOR LOCAL:0, 0, MEQUIP_TARGET_NUM:(ARG:0)
	LOCAL:1 = MEQUIP_TARGET:(ARG:0):(LOCAL:0)

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

	SOURCE:(LOCAL:1):接触 += 25
	SOURCE:(LOCAL:1):性行動 += 60
NEXT

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE11(ARG:0)
LOCALS:0 '= ""
IF FLAG:調教モード == 調教_居住区
	CALL HO_CHECK_USE_MODULE_ELEMENT(MASTER, "机")
	IF RESULT == 1
		LOCALS:0 = 机下
	ELSE
		LOCALS:0 '= ""
	ENDIF
ENDIF
RESULTS = %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%に%LOCALS:0%フェラ中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP11(ARG:0)
;If anyone has a penis, "penis" is used instead of "strapon"
LOCALS:0 = %BAR_NAME(MEQUIP_TARGET:(ARG:0):0)%
FOR LOCAL, 0, MEQUIP_TARGET_NUM:(ARG:0)
	SIF HAS_PENIS(MEQUIP_TARGET:(ARG:0):LOCAL)
		LOCALS:0 = %BAR_NAME(MEQUIP_TARGET:(ARG:0):LOCAL)%
NEXT
PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%が%EQUIP_TARGET_ANAME(ARG:0)%の%LOCALS:0%を口で咥え込んで舐め回している…

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

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

;共通部分
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 * 3, 30))

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):男嫌い
	CALL COM_ORDER_ELEMENT(ARG:0, "男嫌い", -12)
ENDIF
IF TALENT:(ARG:0):キス未経験
	IF TALENT:(ARG:0):一線越えない
		CALL COM_ORDER_ELEMENT(ARG:0, "キス未経験", -15)
	ELSE
		CALL COM_ORDER_ELEMENT(ARG:0, "キス未経験", -10)
	ENDIF
ENDIF

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

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE11
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)

IF MTAR_NUM == 1
	LOCALS:6 =
ELSE
	LOCALS:6 = たち
ENDIF

IF TFLAG:16 == 1
	LOCALS:7 = 膣から引き抜かれたばかりの
ELSEIF TFLAG:16 == 2
	LOCALS:7 = アナルから引き抜かれたばかりの
ELSE
	LOCALS:7 =
ENDIF

IF HAS_PENIS(MTAR:0)
	LOCALS:3 = 竿
	LOCALS:4 = ペニス
	LOCALS:5 = ペニスを口で気持ち良くする
ELSE
	LOCALS:3 = 張り型
	LOCALS:4 = 張り型
	LOCALS:5 = 張り型にフェラする
ENDIF

;Blowjob orgy chaos gets a generic description
IF MPLY_NUM >=2 && MTAR_NUM >=2
	SELECTCASE GET_COM_INITIATIVE()
			;giver (MPLY) has initiative
		CASE 0
			PRINTFORMW %ANAME(MPLY:0)%たちは順番に%ANAME(MTAR:0)%たちの%LOCALS:3%を舐め回し、しゃぶっている…
			;taker (MTAR) has initiative
		CASE 1
			PRINTFORMW %ANAME(MTAR:0)%たちは%ANAME(MPLY:0)%に命じ、%LOCALS:3%を順番に舐め回し、しゃぶらせている…
			;third person initiative
		CASEELSE
			PRINTFORMW %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に命じ、%ANAME(MTAR:0)%の%LOCALS:3%を順番に舐め回し、しゃぶらせている…
	ENDSELECT

	;３人
ELSEIF MPLY_NUM == 3
	LOCAL:0 = RAND:3
	LOCAL:1 = (LOCAL:0 + 1) % 3
	LOCAL:2 = (LOCAL:0 + 2) % 3
	IF IS_PIERCED(MTAR:0, ピアス_ペニス)
		LOCALS:1 = ピアスの取り付けられた
	ELSE
		LOCALS:1 =
	ENDIF
	SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
		CASE 0
			IF HAS_PENIS(MTAR:0)
				PRINTFORML %ANAME(MPLY:(LOCAL:1))%と%ANAME(MPLY:(LOCAL:2))%は左右から顔を寄せ、二人で%LOCALS:7%%ANAME(MTAR:0)%%LOCALS:6%の%LOCALS:1%竿に舌を這わせて責め立て%TARGET_STR("た", "てきた")%
				PRINTFORMW さらに%ANAME(MPLY:(LOCAL:0))%が正面から亀頭を舐め回して刺激している…
			ELSE
				PRINTFORML %ANAME(MPLY:(LOCAL:1))%と%ANAME(MPLY:(LOCAL:2))%は左右から顔を寄せ、二人で%LOCALS:7%%ANAME(MTAR:0)%%LOCALS:6%の張り型にいやらしく舌を絡め%TARGET_STR("た", "てきた")%
				PRINTFORMW さらに%ANAME(MPLY:(LOCAL:0))%が正面から張り型の先をチロチロと舌先で舐め回している…
			ENDIF
			;ターゲットに主導権
		CASE 1
			PRINTFORML %ANAME(MPLY:(LOCAL:1))%と%ANAME(MPLY:(LOCAL:2))%は左右から顔を寄せ、二人で%LOCALS:7%%ANAME(MTAR:0)%%LOCALS:6%の%LOCALS:1%%LOCALS:3%に舌を絡めて奉仕した
			PRINTFORMW さらに%ANAME(MPLY:(LOCAL:0))%が正面から%LOCALS:3%の先っぽの部分にチロチロと舌を這わせている…
			;第三者に主導権
		CASEELSE
			PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%、%ANAME(MPLY:1)%、%ANAME(MPLY:2)%の三人に、%ANAME(MTAR:0)%%LOCALS:6%の%LOCALS:5%ように命令した
			IF HAS_PENIS(MTAR:0)
				PRINTFORML %ANAME(MPLY:(LOCAL:1))%と%ANAME(MPLY:(LOCAL:2))%は左右から顔を寄せ、二人で%LOCALS:7%%ANAME(MTAR:0)%%LOCALS:6%の%LOCALS:1%竿に舌を這わせた
				PRINTFORMW さらに%ANAME(MPLY:(LOCAL:0))%が正面から亀頭を舐め回して刺激している…
			ELSE
				PRINTFORML %ANAME(MPLY:(LOCAL:1))%と%ANAME(MPLY:(LOCAL:2))%は左右から顔を寄せ、二人で%LOCALS:7%%ANAME(MTAR:0)%%LOCALS:6%の張り型に舌を這わせた
				PRINTFORMW さらに%ANAME(MPLY:(LOCAL:0))%が正面から張り型の先をチロチロと舌先で舐め回している…
			ENDIF
	ENDSELECT

	;２人
ELSEIF MPLY_NUM == 2
	IF IS_PIERCED(MTAR:0, ピアス_ペニス)
		LOCALS:1 = ピアスの取り付けられた
	ELSE
		LOCALS:1 =
	ENDIF
	IF SEARCH_EQUIP(GETNUM(TRAINNAME, "キス"), MPLY:0, MPLY:1) != -1 || SEARCH_EQUIP(GETNUM(TRAINNAME, "キス"), MPLY:1, MPLY:0) != -1 && GET_COM_INITIATIVE() == 1
		PRINTFORMW %ANAME(MTAR:0)%は熱烈なキスを交わす%ANAME(MPLY:0)%と%ANAME(MPLY:1)%の唇の隙間に%LOCALS:7%%LOCALS:1%%LOCALS:4%をねじ込み、奉仕させた…
	ELSE
		SELECTCASE GET_COM_INITIATIVE()
				;プレイヤーに主導権
			CASE 0
				IF HAS_PENIS(MTAR:0)
					PRINTFORMW %ANAME(MPLY:0)%と%ANAME(MPLY:1)%は左右から顔を寄せ、二人で%LOCALS:7%%ANAME(MTAR:0)%%LOCALS:6%の%LOCALS:1%%LOCALS:4%に舌を這わせて責め立て%TARGET_STR("た", "てきた")%…
				ELSE
					PRINTFORMW %ANAME(MPLY:0)%と%ANAME(MPLY:1)%は左右から顔を寄せ、二人で%LOCALS:7%%ANAME(MTAR:0)%%LOCALS:6%の%LOCALS:1%%LOCALS:4%を、見せつけるようにいやらしく舐め回し%TARGET_STR("た", "てきた")%…
				ENDIF
				;ターゲットに主導権
			CASE 1
				PRINTFORMW %ANAME(MPLY:0)%と%ANAME(MPLY:1)%は左右から顔を寄せ、二人で協力して%LOCALS:7%%ANAME(MTAR:0)%%LOCALS:6%の%LOCALS:1%%LOCALS:4%を舐めしゃぶった…
				;第三者に主導権
			CASEELSE
				PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%と%ANAME(MPLY:1)%に、%ANAME(MTAR:0)%%LOCALS:6%の%LOCALS:5%ように命令した
				IF HAS_PENIS(MTAR:0)
					PRINTFORMW %ANAME(MPLY:0)%と%ANAME(MPLY:1)%は左右から顔を寄せ、二人で%LOCALS:7%%ANAME(MTAR:0)%%LOCALS:6%の%LOCALS:4%に舌を這わせて責め立てた…
				ELSE
					PRINTFORMW %ANAME(MPLY:0)%と%ANAME(MPLY:1)%は左右から顔を寄せ、二人で%LOCALS:7%%ANAME(MTAR:0)%%LOCALS:6%の%LOCALS:4%を、見せつけるようにいやらしく舐め回した…
				ENDIF
		ENDSELECT
	ENDIF
	;１人(シックスナイン)
ELSEIF LOCAL:5 >= 0 || LOCAL:6 >= 0 || LOCAL:7 >= 0 || LOCAL:8 >= 0
	IF LOCAL:6 >= 0
		LOCALS:0 = アナル
	ELSEIF LOCAL:5 >= 0 && !HAS_VAGINA(MPLY:0)
		LOCALS:0 = 玉
	ELSEIF LOCAL:7 >= 0
		LOCALS:0 = %BAR_NAME(MPLY:0)%
	ELSE
		LOCALS:0 = 秘唇
	ENDIF
	IF IS_PIERCED(MTAR:0, ピアス_ペニス)
		LOCALS:1 = ピアスの取り付けられた
	ELSE
		LOCALS:1 =
	ENDIF
	SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
		CASE 0
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に自身の%LOCALS:0%を舐めさせながら、%LOCALS:7%%ANAME(MTAR:0)%の%LOCALS:1%%LOCALS:3%を舐め回し%TARGET_STR("た", "てきた")%…
			;ターゲットに主導権
		CASE 1
			PRINTFORMW %ANAME(MTAR:0)%は%ANAME(MPLY:0)%の%LOCALS:0%を舐めながら、%LOCALS:7%%ANAME(MPLY:0)%に自身の%LOCALS:1%%LOCALS:3%を咥えさせた…
			;第三者に主導権
		CASEELSE
			IF LOCAL:5 >= 0  && !HAS_VAGINA(MPLY:0)
				PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に対し、%ANAME(MTAR:0)%の%LOCALS:1%%LOCALS:5%ように命令した
			ELSEIF LOCAL:7 >= 0
				PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%と%ANAME(MTAR:0)%に、互いの男性器を舐め合うように命令した
			ELSE
				PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%と%ANAME(MTAR:0)%に、シックスナインの体勢で絡み合うように命令した
			ENDIF
			PRINTFORMW %ANAME(MPLY:0)%は%ANAME(MTAR:0)%に自身の%LOCALS:0%を舐めさせながら、%LOCALS:7%%ANAME(MTAR:0)%の%LOCALS:1%%LOCALS:3%を舐め回した…
	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 IS_BIND(MPLY:0)
	IF TALENT:(MPLY:0):体格 == 体格_子供 || TALENT:(MPLY:0):体格 == 体格_小柄
		LOCALS:0 = 小さな口
	ELSE
		LOCALS:0 = 口
	ENDIF

	SELECTCASE GET_COM_INITIATIVE()
			;プレイヤーに主導権
		CASE 0
			PRINTFORMW %ANAME(MPLY:0)%は自身の%LOCALS:0%に%LOCALS:7%%ANAME(MTAR:0)%%LOCALS:6%の%LOCALS:1%%LOCALS:4%を挿れさせ、じゅるじゅると音を立ててしゃぶった…
			;ターゲットに主導権
		CASE 1
			PRINTFORMW %ANAME(MTAR:0)%%LOCALS:6%は身動きの取れない%ANAME(MPLY:0)%の%LOCALS:0%に無理やり%LOCALS:7%%LOCALS:1%%LOCALS:4%を押し込み舐めさせた…
			;第三者に主導権
		CASEELSE
			PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に、%ANAME(MTAR:0)%%LOCALS:6%の%LOCALS:1%%LOCALS:4%を口で気持ち良くするように命令した
			PRINTFORMW %ANAME(MPLY:0)%は差し出された%LOCALS:7%%ANAME(MTAR:0)%%LOCALS:6%の%LOCALS:1%%LOCALS:4%を%LOCALS:0%で咥え込み、じゅるじゅると音を立ててしゃぶった…
	ENDSELECT

	;縄で縛るの地の文をカットする
	LOCAL:0 = SEARCH_EQUIP(85, -1, MPLY:0)
	IF LOCAL:0 >= 0
		MEQUIP_CUT:(LOCAL:0) = 1
	ENDIF
	LOCAL:0 = SEARCH_EQUIP(208, -1, MPLY:0)
	IF LOCAL:0 >= 0
		MEQUIP_CUT:(LOCAL:0) = 1
	ENDIF

	;１人
ELSE
	IF TALENT:(MPLY:0):体格 == 体格_子供 || TALENT:(MPLY:0):体格 == 体格_小柄
		LOCALS:0 = 小さな口で必死に
	ELSE
		LOCALS:0 = 口で
	ENDIF
	SELECTCASE MTAR_NUM
		CASE 1
			IF IS_PIERCED(MTAR:0, ピアス_ペニス)
				LOCALS:1 = ピアスの取り付けられた
			ELSE
				LOCALS:1 =
			ENDIF
			SELECTCASE GET_COM_INITIATIVE()
					;プレイヤーに主導権
				CASE 0
					;同一メンバーによる連続実行
					IF PREV_MPLY == MPLY && PREV_MTAR == MTAR && PREVCOM == SELECTCOM
						IF ABL:(MPLY:0):性技 >= 3
							PRINTFORM %ANAME(MPLY:0)%は%LOCALS:7%%ANAME(MTAR:0)%の%LOCALS:1%%LOCALS:4%を%LOCALS:0%より深く咥え込み、
							{
								CALLF PRINT_RANDC(
									TEXT_CONCATE(
									@"%S_R("竿に舌を這わせ続け/巧みな舌使いで舐めしゃぶり続け/口腔全体を巧みに使い舐めしゃぶり続け/舌を舐め這わせ")%"
									,@"%TARGET_STR("た", "ている")%…"
									), 1
									)
							}
							PRINTW
						ELSE
							PRINTFORM %ANAME(MPLY:0)%は%LOCALS:7%%ANAME(MTAR:0)%の%LOCALS:1%%LOCALS:4%を%LOCALS:0%咥え込み、
							PRINTFORMW %S_R("不慣れな/おぼつかない/たどたどしい")%舌使いで責めたて続け%TARGET_STR("た", "てきた")%…
						ENDIF
					ELSE
						PRINTFORM %ANAME(MPLY:0)%は%LOCALS:7%%ANAME(MTAR:0)%の%LOCALS:1%%LOCALS:4%を%LOCALS:0%咥え込み、
						IF ABL:(MPLY:0):性技 >= 3
							PRINTFORMW 巧みな舌使いで舐めしゃぶっ%TARGET_STR("た", "てきた")%…
						ELSE
							PRINTFORMW %S_R("不慣れな/おぼつかない/たどたどしい")%舌使いで責めたて%TARGET_STR("た", "てきた")%…
						ENDIF
					ENDIF
					;ターゲットに主導権
				CASE 1
					PRINTFORM %ANAME(MPLY:0)%は%LOCALS:7%%ANAME(MTAR:0)%の%LOCALS:1%%LOCALS:4%を%LOCALS:0%咥え込み、
					IF ABL:(MPLY:0):性技 >= 3
						PRINTFORMW 巧みな舌使いで奉仕している…
					ELSE
						PRINTFORMW 不慣れな舌使いで奉仕している…
					ENDIF
					;第三者に主導権
				CASEELSE
					IF TFLAG:主導権所有者 != -1
						PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に、%ANAME(MTAR:0)%の%LOCALS:4%を口で気持ち良くするように命令した
					ENDIF
					PRINTFORM %ANAME(MPLY:0)%は%LOCALS:7%%ANAME(MTAR:0)%の%LOCALS:1%%LOCALS:4%を%LOCALS:0%咥え込み、
					IF ABL:(MPLY:0):性技 >= 3
						PRINTFORMW 巧みな舌使いで舐めしゃぶった…
					ELSE
						PRINTFORMW 不慣れな舌使いで舐め回した…
					ENDIF
			ENDSELECT
			;一人が二人の竿を
		CASE 2
			IF IS_PIERCED(MTAR:0, ピアス_ペニス) && IS_PIERCED(MTAR:1, ピアス_ペニス)
				LOCALS:1 = ピアスの取り付けられた
			ELSE
				LOCALS:1 =
			ENDIF
			SELECTCASE GET_COM_INITIATIVE()
					;プレイヤーに主導権
				CASE 0
					PRINTFORM %ANAME(MPLY:0)%は%LOCALS:7%%ANAME(MTAR:0)%と%ANAME(MTAR:1)%の%LOCALS:1%%LOCALS:4%を%LOCALS:0%咥え込み、
					IF ABL:(MPLY:0):性技 >= 3
						PRINTFORMW 巧みな舌使いで舐めしゃぶっ%TARGET_STR("た", "てきた")%…
					ELSE
						PRINTFORMW 不慣れな舌使いで責めたて%TARGET_STR("た", "てきた")%…
					ENDIF
					;ターゲットに主導権
				CASE 1
					PRINTFORM %ANAME(MPLY:0)%は%LOCALS:7%%ANAME(MTAR:0)%と%ANAME(MTAR:1)%の%LOCALS:1%%LOCALS:4%を%LOCALS:0%咥え込み、
					IF ABL:(MPLY:0):性技 >= 3
						PRINTFORMW 巧みな舌使いで奉仕している…
					ELSE
						PRINTFORMW 不慣れな舌使いで奉仕している…
					ENDIF
					;第三者に主導権
				CASEELSE
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に、%ANAME(MTAR:0)%と%ANAME(MTAR:1)%の%LOCALS:4%を口で気持ち良くするように命令した
					PRINTFORM %ANAME(MPLY:0)%は%LOCALS:7%%ANAME(MTAR:0)%の%LOCALS:1%%LOCALS:4%を%LOCALS:0%咥え込み、
					IF ABL:(MPLY:0):性技 >= 3
						PRINTFORMW 巧みな舌使いで舐めしゃぶった…
					ELSE
						PRINTFORMW 不慣れな舌使いで舐め回した…
					ENDIF
			ENDSELECT
			;一人が三人の竿を
		CASE 3
			IF IS_PIERCED(MTAR:0, ピアス_ペニス) && IS_PIERCED(MTAR:1, ピアス_ペニス) && IS_PIERCED(MTAR:2, ピアス_ペニス)
				LOCALS:1 = ピアスの取り付けられた
			ELSE
				LOCALS:1 =
			ENDIF
			SELECTCASE GET_COM_INITIATIVE()
					;プレイヤーに主導権
				CASE 0
					PRINTFORM %ANAME(MPLY:0)%は%LOCALS:7%%ANAME(MTAR:0)%と%ANAME(MTAR:1)%と%ANAME(MTAR:2)%の%LOCALS:1%%LOCALS:4%を%LOCALS:0%咥え込み、
					IF ABL:(MPLY:0):性技 >= 3
						PRINTFORMW 巧みな舌使いで舐めしゃぶっ%TARGET_STR("た", "てきた")%…
					ELSE
						PRINTFORMW 不慣れな舌使いで責めたて%TARGET_STR("た", "てきた")%…
					ENDIF
					;ターゲットに主導権
				CASE 1
					PRINTFORM %ANAME(MPLY:0)%は%LOCALS:7%%ANAME(MTAR:0)%と%ANAME(MTAR:1)%と%ANAME(MTAR:2)%の%LOCALS:1%%LOCALS:4%を%LOCALS:0%咥え込み、
					IF ABL:(MPLY:0):性技 >= 3
						PRINTFORMW 巧みな舌使いで奉仕している…
					ELSE
						PRINTFORMW 不慣れな舌使いで奉仕している…
					ENDIF
					;第三者に主導権
				CASEELSE
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に、%ANAME(MTAR:0)%と%ANAME(MTAR:1)%と%ANAME(MTAR:2)%の%LOCALS:4%を口で気持ち良くするように命令した
					PRINTFORM %ANAME(MPLY:0)%は%LOCALS:7%%ANAME(MTAR:0)%の%LOCALS:1%%LOCALS:4%を%LOCALS:0%咥え込み、
					IF ABL:(MPLY:0):性技 >= 3
						PRINTFORMW 巧みな舌使いで舐めしゃぶった…
					ELSE
						PRINTFORMW 不慣れな舌使いで舐め回した…
					ENDIF
			ENDSELECT
		CASEELSE
			IF IS_PIERCED(MTAR:0, ピアス_ペニス) && IS_PIERCED(MTAR:1, ピアス_ペニス) && IS_PIERCED(MTAR:2, ピアス_ペニス)
				LOCALS:1 = ピアスの取り付けられた
			ELSE
				LOCALS:1 =
			ENDIF
			SELECTCASE GET_COM_INITIATIVE()
					;プレイヤーに主導権
				CASE 0
					PRINTFORM %ANAME(MPLY:0)%は%LOCALS:7%%ANAME(MTAR:0)%たちの%LOCALS:1%%LOCALS:4%を%LOCALS:0%咥え込み、
					IF ABL:(MPLY:0):性技 >= 3
						PRINTFORMW 巧みな舌使いで舐めしゃぶっ%TARGET_STR("た", "てきた")%…
					ELSE
						PRINTFORMW 不慣れな舌使いで責めたて%TARGET_STR("た", "てきた")%…
					ENDIF
					;ターゲットに主導権
				CASE 1
					PRINTFORM %ANAME(MPLY:0)%は%LOCALS:7%%ANAME(MTAR:0)%たちの%LOCALS:1%%LOCALS:4%を%LOCALS:0%咥え込み、
					IF ABL:(MPLY:0):性技 >= 3
						PRINTFORMW 巧みな舌使いで奉仕している…
					ELSE
						PRINTFORMW 不慣れな舌使いで奉仕している…
					ENDIF
					;第三者に主導権
				CASEELSE
					PRINTFORML %ANAME(TFLAG:主導権所有者)%は%ANAME(MPLY:0)%に、%ANAME(MTAR:0)%たちの%LOCALS:4%を口で気持ち良くするように命令した
					PRINTFORM %ANAME(MPLY:0)%は%LOCALS:7%%ANAME(MTAR:0)%たちの%LOCALS:1%%LOCALS:4%を%LOCALS:0%咥え込み、
					IF ABL:(MPLY:0):性技 >= 3
						PRINTFORMW 巧みな舌使いで舐めしゃぶった…
					ELSE
						PRINTFORMW 不慣れな舌使いで舐め回した…
					ENDIF
			ENDSELECT
	ENDSELECT
ENDIF

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST11
FOR LOCAL:0, 0, MPLY_NUM
	IF (MPLY:LOCAL != MASTER || CONFIG:441) && !IS_ANIMAL(MPLY:LOCAL)
		IF (PALAM:(MPLY:LOCAL):欲情 >= PALAMLV:7 || (PALAM:(MPLY:LOCAL):欲情 >= PALAMLV:5 && TCVAR:(MPLY:LOCAL):60)) && ((ABL:(MPLY:LOCAL):欲望 >= ランク閾値:ランク_その他:ランク_D) || ABL:(MPLY:LOCAL):精愛 >= ランク閾値:ランク_その他:ランク_C)
			SELECTCASE RAND:2
				CASE 0
					SELECTCASE RAND:2
						CASE 0
							PRINTFORM %ANAME(MPLY:LOCAL)%は%S_R("興奮で鼻息を荒くしながら/情欲に突き動かされるまま/頬を染めて熱い吐息を漏らしながら", 1)%、
						CASE 1
							PRINTFORM %S_R("興奮しきった様子の/発情しきった様子の/恍惚とした表情で息を荒らげる/頬を紅潮させて熱い吐息を漏らす", 1)%%ANAME(MPLY:LOCAL)%は、
					ENDSELECT
					PRINTFORML %S_R("じゅぼじゅぼと音を立てて/下品な音を立てて/涎を垂らして/激しく頭を前後させながら/夢中で/必死に", 1)%%ANAME(MTAR:0)%の%語彙_ペニス()%%S_R("に舌を這わせている/を舐め回している/にしゃぶり付いている/に吸い付いている/を頬張っている", 1)%…
				CASE 1
					PRINTFORM %ANAME(MPLY:LOCAL)%は%S_R("興奮で息を荒げながら/蕩けたような顔をしながら/熱に浮かされたような顔をしながら", 1)%、
					PRINTFORML %S_R("味わうように/形を確かめるように/愛おしげに", 1)%%ANAME(MTAR:0)%の%語彙_ペニス()%%S_R("をしゃぶっている/を頬張っている/へ舌を這わせている/を舐めまわしている", 1)%…
			ENDSELECT
		ENDIF
	ENDIF
NEXT
;-------------------------------------------------

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

@COM_AVAILABLE_WHEN11
IF FLAG:調教モード != 調教_居住区 && FLAG:調教モード != 調教_クエスト
	RETURN コマンド_ウフフ
ELSE
	RETURN コマンド_居住区
ENDIF
;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_11()
RETURN POWER(2, 性的嗜好_奉仕したい)

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

@COM_STACK_SPERM_MTAR_TO_MPLY_11()
RETURN RAND:3 ? 射精部位_口 # 射精部位_顔


code:
;自慰

;-------------------------------------------------
;コマンド名称
;-------------------------------------------------
@COM_NAME120
LOCALS:0 =
IF TFLAG:撮影中 == 1
	LOCALS:0 = Photograph
ELSEIF TFLAG:104 >= 2
	LOCALS:0 = Public
ELSEIF TFLAG:デート場所 == 8
	LOCALS:0 = Field
ENDIF

LOCALS:0 '= LOCALS:0 + " masturbate"
SIF HAS_PENIS(MPLY:0) && HAS_VAGINA(MPLY:0)
	LOCALS:0 += "(P)"

IF IS_SOLO_PLAY()
	RESULTS:0 = %LOCALS:0%する
ELSE
	RESULTS:0 = Show off %LOCALS:0%
	RESULTS:1 = %LOCALS:0%させられる
	RESULTS:2 = %LOCALS:0%させる
	RESULTS:3 = %LOCALS:0%を見せつけられる
	RESULTS:4 = %LOCALS:0%させる
	RESULTS:5 = %LOCALS:0%見せつけ
ENDIF

;-------------------------------------------------
;選択可否判定
;-------------------------------------------------
@COM_ABLE120
;共通部分
CALL COM_ABLE_COMMON(120)
SIF RESULT == 0
	RETURN 0
;プレイヤーは1人以上
SIF MPLY_NUM <= 0
	RETURN 0
;複数人いてターゲットなしは不可
SIF MPLY_NUM > 1 && MTAR_NUM == 0
	RETURN 0
;プレイヤーが行動不能なら不可
SIF !IS_PLAYABLE(MPLY:0)
	RETURN 0
;全てのプレイヤーについて判定
FOR LOCAL:0, 0, MPLY_NUM
	;単独実行は複数人では不可
	SIF IS_MPLY(LOCAL) && IS_MTAR(LOCAL) && ((MPLY_NUM > 1) || (MTAR_NUM > 1))
		RETURN 0
	;拘束中なら不可
	SIF IS_BIND(MPLY:(LOCAL:0))
		RETURN 0
	;todo this action really needs to be split into penis masturbation and vaginal masturbation to make sense
	SIF !(HAS_PENIS(MPLY:LOCAL) && P_STACKABLE(MPLY:0, MPLY:0, 120))
		RETURN 0
	;既に自慰中なら不可
	SIF IS_EQUIP_PLAYER(MPLY:LOCAL, T_N("Ｐ自慰"))
		RETURN 0
NEXT
RETURN 1

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

;各プレイヤーの絡む自慰・触手オナニーの継続状態を解除
FOR LOCAL:0, 0, MPLY_NUM
	CALL RELEASE_EQUIP_EX(120, MPLY:(LOCAL:0), -1)
	CALL RELEASE_EQUIP_EX(211, MPLY:(LOCAL:0), -1)
NEXT

;●全てのプレイヤーについて処理
FOR LOCAL:0, 0, MPLY_NUM
	LOCAL:2 = MPLY:(LOCAL:0)

	EXP:(LOCAL:2):自慰経験値 += 3

	SOURCE:(LOCAL:2):露出 = 1300
	SOURCE:(LOCAL:2):逸脱 = 100
	SOURCE:(LOCAL:2):性行動 = 240

	LOCAL:3 = 500

	SELECTCASE ABL:(LOCAL:2):自慰
		CASE 0
			TIMES LOCAL:3, 1.00
		CASE 1
			TIMES LOCAL:3, 1.20
		CASE 2
			TIMES LOCAL:3, 1.50
		CASE 3
			TIMES LOCAL:3, 1.80
		CASE 4
			TIMES LOCAL:3, 2.00
		CASEELSE
			LOCAL:3 = LOCAL:3 * (420 + (ABL:(LOCAL:2):自慰 - 5)) / 200
	ENDSELECT

	;割り込みで実行された場合補正
	IF TFLAG:割込コマンド実行
		TIMES LOCAL:3, 2.00
	ENDIF

	SIF GETBIT(TALENT:(LOCAL:2):淫乱系, 素質_淫乱_自慰狂い)
		TIMES LOCAL:3, 2.0

	SOURCE:(LOCAL:2):快Ｐ = SENSE_HOUSHI_P(LOCAL:2, LOCAL:2, LOCAL:3 * 5 / 3)

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

NEXT

IF !IS_SOLO_PLAY()
	;主導権の所在を取得
	LOCAL:11 = GET_COM_INITIATIVE()

	;●全てのターゲットについて処理
	FOR LOCAL:0, 0, MTAR_NUM
		;単独実行ならターゲット処理省略
		SIF IS_MPLY(LOCAL:0)
			CONTINUE
		LOCAL:1 = MTAR:(LOCAL:0)

		SOURCE:(LOCAL:1):性行動 = 120

		;ターゲットに主導権
		IF LOCAL:11 == 1 || LOCAL:11 == 2
			SOURCE:(LOCAL:1):嗜虐 = 60
			;ターゲットに主導権がない
		ELSE
			SOURCE:(LOCAL:1):逸脱 = 60
			SOURCE:(LOCAL:1):恐怖 = MAX(100 - 30 * ABL:(LOCAL:1):欲望, 0)
		ENDIF

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

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

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

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

RETURN 1

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

;-------------------------------------------------
;継続状態の処理
;-------------------------------------------------
@COM_EQUIP120(ARG:0)
;●全プレイヤーについて処理
FOR LOCAL:0, 0, MEQUIP_PLAYER_NUM:(ARG:0)
	LOCAL:2 = MEQUIP_PLAYER:(ARG:0):(LOCAL:0)

	EXP:(LOCAL:2):自慰経験値 += 1

	SIF IS_EQUIP_TARGET(LOCAL:2, 61)
		EXP:(LOCAL:2):自慰経験値 += 1

	SIF IS_EQUIP_TARGET(LOCAL:2, 62)
		EXP:(LOCAL:2):自慰経験値 += 1

	SOURCE:(LOCAL:2):露出 += 600
	SOURCE:(LOCAL:2):逸脱 += 50
	SOURCE:(LOCAL:2):性行動 += 80

	LOCAL:3 = 500

	SELECTCASE ABL:(LOCAL:2):自慰
		CASE 0
			TIMES LOCAL:3, 1.00
		CASE 1
			TIMES LOCAL:3, 1.20
		CASE 2
			TIMES LOCAL:3, 1.50
		CASE 3
			TIMES LOCAL:3, 1.80
		CASE 4
			TIMES LOCAL:3, 2.00
		CASEELSE
			LOCAL:3 = LOCAL:3 * (420 + (ABL:(LOCAL:2):自慰 - 5)) / 200
	ENDSELECT

	SIF GETBIT(TALENT:(LOCAL:2):淫乱系, 素質_淫乱_自慰狂い)
		TIMES LOCAL:3, 2.0

	SOURCE:(LOCAL:2):快Ｐ += SENSE_HOUSHI_P(LOCAL:2, LOCAL:2, LOCAL:3 * 3 / 2)

NEXT

;●全ターゲットについて処理
FOR LOCAL:0, 0, MEQUIP_TARGET_NUM:(ARG:0)
	LOCAL:2 = MEQUIP_TARGET:(ARG:0):(LOCAL:0)

	SOURCE:(LOCAL:2):性行動 += 40
NEXT

;-------------------------------------------------
;継続中の表示
;-------------------------------------------------
@EQUIP_MESSAGE120(ARG:0)

LOCALS:0 =
IF TFLAG:撮影中 == 1
	LOCALS:0 = 撮影
ELSEIF TFLAG:104 >= 2
	LOCALS:0 = 公開
ELSEIF TFLAG:デート場所 == 8
	LOCALS:0 = 野外
ENDIF

LOCALS:0 '= LOCALS:0 + "自慰"

RESULTS = %EQUIP_PLAYER_ANAME(ARG:0)%が%LOCALS:0%中

;-------------------------------------------------
;継続中の地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE_EQUIP120(ARG:0)
LOCAL:2 = 0
FOR LOCAL:0, 0, MEQUIP_PLAYER_NUM:(ARG:0)
	SIF HAS_VAGINA(MEQUIP_PLAYER:(ARG:0):(LOCAL:0))
		LOCAL:2 = 1
NEXT

PRINTFORML %EQUIP_PLAYER_ANAME(ARG:0)%は%BAR_NAME(MEQUIP_PLAYER:(ARG:0):0)%を自らの指で扱いている…

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

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

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

CALL COM_ORDER_ELEMENT(ARG:0, @"欲望Lv{ABL:(ARG:0):欲望}", ABL:(ARG:0):欲望 * 3)
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):自慰 * 4)

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

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

IF TALENT:(ARG:0):恥じらい
	CALL COM_ORDER_ELEMENT(ARG:0, "恥じらい", -12)
ENDIF
IF TALENT:(ARG:0):恥薄い
	CALL COM_ORDER_ELEMENT(ARG:0, "恥薄い", 8)
ENDIF
IF TALENT:(ARG:0):自制心
	CALL COM_ORDER_ELEMENT(ARG:0, "自制心", -6)
ENDIF
IF TALENT:(ARG:0):目立ちたがり
	CALL COM_ORDER_ELEMENT(ARG:0, "目立ちたがり", 6)
ENDIF
IF TALENT:(ARG:0):自慰しやすい
	CALL COM_ORDER_ELEMENT(ARG:0, "自慰しやすい", 10)
ENDIF
IF TALENT:(ARG:0):快感の否定
	CALL COM_ORDER_ELEMENT(ARG:0, "快感の否定", -2)
ENDIF

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

SIF GETBIT(TALENT:(LOCAL:2):淫乱系, 素質_淫乱_自慰狂い)
	CALL COM_ORDER_ELEMENT(ARG:0, "自慰狂い", 20)

RETURN 1

;-------------------------------------------------
;地の文(前文)
;-------------------------------------------------
@COM_TEXT_BEFORE120
#DIM DYNAMIC CHARA_ID
#DIMS DYNAMIC 衣装描写_胸
#DIMS DYNAMIC 衣装描写_秘部
LOCALS:3 =

LOCALS:0 = 自身の指でペニスを擦り上げ

IF !IS_SOLO_PLAY()
	IF MTAR_NUM == 1
		LOCALS:1 = %ANAME(MTAR:0)%
	ELSEIF MTAR_NUM == 2
		LOCALS:1 = %ANAME(MTAR:0)%と%ANAME(MTAR:1)%
	ELSE
		LOCALS:1 = %ANAME(MTAR:0)%たち
	ENDIF
ENDIF

IF MPLY_NUM == 1
	LOCALS:2 = %ANAME(MPLY:0)%
ELSEIF MPLY_NUM == 2
	LOCALS:2 = %ANAME(MPLY:0)%と%ANAME(MPLY:1)%
ELSE
	LOCALS:2 = %ANAME(MPLY:0)%たち
ENDIF

IF TFLAG:撮影中 == 1
	LOCALS:3 = カメラに見えるように、
ELSEIF TFLAG:104 >= 2
	LOCALS:3 = 皆の見ている前で、
ELSEIF TFLAG:デート場所 == 8
	LOCALS:3 = 誰に見られているとも知らない中で、
ELSE
	LOCALS:3 =
ENDIF

;一人で自慰
IF IS_SOLO_PLAY()
	CHARA_ID = MPLY:0
	IF TCVAR:(CHARA_ID):催眠中
		IF CFLAG:CHARA_ID:一時的ふたなり
			{
				CALLF PRINT_RAND(
					@"%ANAME(CHARA_ID)%は虚ろな瞳で自身に生えた%語彙_ペニス()%をしごき上げ、快楽に浸っている"
					,@"催眠にかかった%ANAME(CHARA_ID)%は表情を弛緩させ、%語彙_ペニス()%を扱くことで得られる不慣れな快楽の虜になっている"
					,@"%ANAME(CHARA_ID)%は虚ろな瞳で股間に生えた%語彙_ペニス()%を擦り続け、にちゃにちゃと淫らな水音を周囲に響かせている"
					,@"%語彙_ペニス()%から淫汁を垂れ流しながら、%ANAME(CHARA_ID)%はうつろな瞳で自身の新たな性器を快楽任せにしごき続けている"
					)
			}
			PRINTW
		ELSE
			{
				CALLF PRINT_RAND(
					@"%ANAME(CHARA_ID)%は虚ろな瞳で%語彙_ペニス()%をしごき上げ、快楽に浸っている"
					,@"催眠にかかった%ANAME(CHARA_ID)%は表情を弛緩させ、%語彙_ペニス()%を%語彙_夢中()%にしごいて悦楽に浸っている"
					,@"%ANAME(CHARA_ID)%は虚ろな瞳で%語彙_ペニス()%を擦り上げ、快楽の虜になっている"
					,@"%語彙_ペニス()%から淫汁を垂れ流しながら、%ANAME(CHARA_ID)%はうつろな瞳で自身を慰め続けている"
					)
			}
			PRINTW
		ENDIF
	ELSE
		PRINTFORMW %LOCALS:2%は自身の%語彙_ペニス()%を手でしごき、自分自身を慰めた…
	ENDIF
	RETURN
ENDIF

衣装描写_胸 = %C_COND_MAP_GETS(MTAR, "被覆描写_胸")%
衣装描写_秘部 = %C_COND_MAP_GETS(MTAR, "被覆描写_秘部")%
SELECTCASE GET_COM_INITIATIVE()
		;プレイヤーに主導権
	CASE 0
		IF TFLAG:奉仕カテゴリ == 奉仕_見抜き
			{
				CALLF PRINT_RANDC(
					@"%LOCALS:2%は%LOCALS:3%%LOCALS:1%の肢体を舐めるように見つめながら自身の%語彙_ペニス()%を無心に扱いている…", 1
					,@"%LOCALS:2%は%LOCALS:3%%LOCALS:1%に自身の痴態を見せるつけ、劣情に駆られながら%語彙_ペニス()%を擦り続けている…", 1
					,@"%LOCALS:2%は%ANAME(MTAR)%の@C:{カラー_ピンク}@%衣装描写_胸%@/C@%S_R("を凝視し/に劣情を駆り立てられ")%、%語彙_ペニス()%を無心に扱き上げている…", C_COND("露出_胸:下着",,MTAR)
					,@"%LOCALS:2%は%ANAME(MTAR)%の@C:{カラー_ピンク}@%衣装描写_秘部%@/C@%S_R("を凝視し/に劣情を駆り立てられ")%、%語彙_ペニス()%を無心に扱き上げている…", C_COND("露出_秘部:下着",,MTAR)
					,@"%LOCALS:2%はあらわになった%ANAME(MTAR)%の@C:{カラー_ピンク}@%STR_BODY("クリ：感度：欲情", MTAR)%@/C@%S_R("を凝視し/により息を荒げ")%、%語彙_ペニス()%を無心に扱き上げている…", C_COND("露出_秘部:露出",,MTAR)
					,@"%LOCALS:2%はあらわになった%ANAME(MTAR)%の@C:{カラー_ピンク}@%STR_BODY("乳首：感度", MTAR)%@/C@%S_R("を凝視し/により息を荒げ")%、%語彙_ペニス()%を無心に扱き上げている…", C_COND("露出_胸:露出",,MTAR)
					,@"%LOCALS:2%はあらわになった%ANAME(MTAR)%の@C:{カラー_ピンク}@%STR_BODY("胸：感触：精液汚れ", MTAR)%@/C@%S_R("を凝視し/により息を荒げ")%、%語彙_ペニス()%を無心に扱き上げている…", C_COND("露出_胸:露出",,MTAR)
					)
			}
			PRINTW
		ELSE
			PRINTFORM %LOCALS:2%は%LOCALS:3%%LOCALS:1%の
			PRINTFORM %S_R("鼻先/口元/髪/眼前/眼の前")%に%S_R(@"%語彙_ペニス()%/亀頭")%を%S_R("押し当て/突き付け/擦り付け")% 、
			PRINTFORM %S_R(@"自身の指でシゴく/にちゃにちゃと擦り上げる/快楽に耽る/自分自身を慰める")%様子を見せつけ
			PRINTFORMW %TARGET_STR("た", "てきた")%…
		ENDIF
		;ターゲットに主導権
	CASE 1
		PRINTFORML %LOCALS:1%は%LOCALS:2%に、その場でオナニーするように命令した
		PRINTFORMW %LOCALS:2%は言われるまま、%LOCALS:3%%LOCALS:1%の目の前で%LOCALS:0%た…
		;第三者に主導権
	CASEELSE
		PRINTFORML %ANAME(TFLAG:主導権所有者)%は%LOCALS:2%に対して、%LOCALS:1%の前でオナニーするように命令した
		PRINTFORMW %LOCALS:2%は言われるまま、%LOCALS:3%%LOCALS:1%の目の前で見せつけるように%LOCALS:0%た…
ENDSELECT

;--------------------------------------------------------
;地の文(パラメータ・刻印変動後)
;--------------------------------------------------------
@COM_TEXT_LAST120
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非表示 && IS_INITIATIVE(LOCAL:1)
		IF ABL:(LOCAL:1):自慰 >= 5 || GETBIT(TALENT:(LOCAL:1):淫乱系, 素質_淫乱_自慰狂い)
			PRINTFORML %ANAME(LOCAL:1)%はすっかりオナニーに没頭し、激しく%語彙_ペニス()%をしごいて自ら快感を貪っている
		ELSEIF TCVAR:(LOCAL:1):催眠中
			{
				CALLF PRINT_RAND(
					@"%ANAME(LOCAL:1)%は虚ろな瞳で%語彙_ペニス()%をしごき上げ、快楽に浸っている"
					,@"催眠にかかった%ANAME(LOCAL:1)%は表情を弛緩させ、%語彙_ペニス()%を%語彙_夢中()%しごいて悦楽に浸っている"
					,@"%ANAME(LOCAL:1)%は虚ろな瞳で%語彙_ペニス()%を擦り上げ、快楽の虜になっている"
					,@"%語彙_ペニス()%から淫汁を垂れ流しながら、%ANAME(LOCAL:1)%はうつろな瞳で自身を慰め続けている"
					)
			}
		ELSEIF ABL:(LOCAL:1):露出 >= 5
			PRINTFORML %ANAME(LOCAL:1)%は見られることで興奮しているのか、上気した顔で%語彙_ペニス()%をしごいている
		ELSEIF ABL:(LOCAL:1):自慰 >= 2
			;捕虜調教のメインターゲット
			IF FLAG:調教モード == 2 && FINDELEMENT(PRISONER_TARGET, MTAR:0) != -1
				PRINTFORML %ANAME(LOCAL:1)%は屈辱に顔を歪めながらも、快感を求めて%語彙_ペニス()%をしごきあげる手が止まらない様子だ
			ELSE
				PRINTFORML %ANAME(LOCAL:1)%は恥ずかしそうにしているが、無意識に快感を求めるように%語彙_ペニス()%をしごいている
			ENDIF
		ELSE
			;捕虜調教のメインターゲット
			IF FLAG:調教モード == 2 && FINDELEMENT(PRISONER_TARGET, MTAR:0) != -1
				PRINTFORML %ANAME(LOCAL:1)%は屈辱に耐えながら、おぼつかない手付きで%語彙_ペニス()%をこすり上げた
			ELSE
				PRINTFORML %ANAME(LOCAL:1)%は恥ずかしさのあまり目を逸らしながら、おぼつかない手付きで%語彙_ペニス()%をこすり上げた
			ENDIF
		ENDIF
	ENDIF
NEXT

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

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

@COM_AVAILABLE_WHEN120
IF FLAG:調教モード != 調教_居住区 && FLAG:調教モード != 調教_クエスト
	RETURN コマンド_ウフフ
ELSE
	RETURN コマンド_居住区
ENDIF
;--------------------
;性嗜好用関数
;--------------------
@COM_PREFERENCE_PLAYER_120()
RETURN POWER(2, 性的嗜好_辱められたい) + POWER(2, 性的嗜好_露出したい)

@COM_PREFERENCE_TARGET_120()
RETURN POWER(2, 性的嗜好_辱めたい)

@COM_STACK_SPERM_MPLY_TO_MPLY_120()
RETURN !RAND:3 ? 射精部位_手 # 射精部位_無駄

@COM_STACK_SPERM_MPLY_TO_MTAR_120()
IF MPLY:0 != MTAR:0
	RETURN IFRAND(@"{射精部位_無駄}", 1, @"{射精部位_顔}", RAND:100 < 50, @"{射精部位_髪}", RAND:100 < 50)
ELSE
	RETURN 射精部位_無駄
ENDIF