code:
;-------------------------------------------------
;# COM_AUTOSELECT_1_コマンドのカテゴリ設定
;-------------------------------------------------
@COM_AUTOSELECT_SET_COM_CATEGORY
#DIM L_COUNTER

;-------------------------------------------------
;## リセット
;-------------------------------------------------
VARSET COM_AUTO_COM_CATEGORY, 0

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_愛撫する
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("見つめあう"), COM_AUTO_CATEGORY_NUM_愛撫する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("愛撫"), COM_AUTO_CATEGORY_NUM_愛撫する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("胸愛撫"), COM_AUTO_CATEGORY_NUM_愛撫する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("指挿入れ"), COM_AUTO_CATEGORY_NUM_愛撫する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("アナル愛撫"), COM_AUTO_CATEGORY_NUM_愛撫する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("乳首吸い"), COM_AUTO_CATEGORY_NUM_愛撫する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("キス"), COM_AUTO_CATEGORY_NUM_愛撫する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("性の知識を教える"), COM_AUTO_CATEGORY_NUM_愛撫する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("なにもしない"), COM_AUTO_CATEGORY_NUM_愛撫する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("囁きかける"), COM_AUTO_CATEGORY_NUM_愛撫する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("舌を這わす"), COM_AUTO_CATEGORY_NUM_愛撫する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("服を脱ぐ"), COM_AUTO_CATEGORY_NUM_愛撫する)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_奉仕する
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("泡踊り"), COM_AUTO_CATEGORY_NUM_奉仕する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("手コキ"), COM_AUTO_CATEGORY_NUM_奉仕する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("フェラチオ"), COM_AUTO_CATEGORY_NUM_奉仕する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("パイズリ"), COM_AUTO_CATEGORY_NUM_奉仕する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("素股"), COM_AUTO_CATEGORY_NUM_奉仕する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("尻コキ"), COM_AUTO_CATEGORY_NUM_奉仕する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("玉舐め"), COM_AUTO_CATEGORY_NUM_奉仕する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("尻尾コキ"), COM_AUTO_CATEGORY_NUM_奉仕する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("亀頭責め手コキ"), COM_AUTO_CATEGORY_NUM_奉仕する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("足を舐める"), COM_AUTO_CATEGORY_NUM_奉仕する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("亀頭責めフェラ"), COM_AUTO_CATEGORY_NUM_奉仕する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("指フェラ"), COM_AUTO_CATEGORY_NUM_奉仕する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("玉揉み"), COM_AUTO_CATEGORY_NUM_奉仕する)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_潤滑追加する
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("ローション"), COM_AUTO_CATEGORY_NUM_潤滑追加する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("クンニ"), COM_AUTO_CATEGORY_NUM_潤滑追加する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("アナル舐め"), COM_AUTO_CATEGORY_NUM_潤滑追加する)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_避妊する
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("コンドーム"), COM_AUTO_CATEGORY_NUM_避妊する)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_性交する
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("尻尾挿入"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("尻尾Ａ挿入"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("貝合わせ"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("兜合わせ"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("ペニバン装着"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("正常位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("後背位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("対面座位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("背面座位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("騎乗位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("背面騎乗位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("側位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("屈曲位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("駅弁"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("背面駅弁"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("立ちバック"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("二本挿入"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("順番に挿入"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("代わる代わる挿入"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ａ正常位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ａ後背位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ａ対面座位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ａ背面座位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ａ騎乗位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ａ背面騎乗位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ａ側位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ａ屈曲位"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ａ駅弁"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ａ背面駅弁"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ａ立ちバック"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ａ二本挿入"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("順番にＡ挿入"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("代わる代わるＡ挿入"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("尿道挿入"), COM_AUTO_CATEGORY_NUM_性交する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("服を脱ぐ"), COM_AUTO_CATEGORY_NUM_性交する)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_道具使う
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("オナホコキ"), COM_AUTO_CATEGORY_NUM_道具使う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("双頭バイブ"), COM_AUTO_CATEGORY_NUM_道具使う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("ローター"), COM_AUTO_CATEGORY_NUM_道具使う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("バイブ"), COM_AUTO_CATEGORY_NUM_道具使う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("アナルバイブ"), COM_AUTO_CATEGORY_NUM_道具使う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("クリキャップ"), COM_AUTO_CATEGORY_NUM_道具使う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("ニプルキャップ"), COM_AUTO_CATEGORY_NUM_道具使う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("媚薬"), COM_AUTO_CATEGORY_NUM_道具使う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("排卵誘発剤"), COM_AUTO_CATEGORY_NUM_道具使う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("メイガスの夜"), COM_AUTO_CATEGORY_NUM_道具使う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("桃源香"), COM_AUTO_CATEGORY_NUM_道具使う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("搾乳機"), COM_AUTO_CATEGORY_NUM_道具使う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("尿道ブジー"), COM_AUTO_CATEGORY_NUM_道具使う)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_加虐する
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("顔面騎乗"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ａ顔面騎乗"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ｗ顔面騎乗"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("イラマチオ"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("髪コキ"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("足コキ"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("脅す"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("平手打ち"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("スパンキング"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("目隠し"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("鞭"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("針"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("縄"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("口枷"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("ペニバン口枷"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ｖ拡張バルーン"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ａ拡張バルーン"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("鼻フック"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("フィストファック"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("アナルフィスト"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("ニプルファック"), COM_AUTO_CATEGORY_NUM_加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("服を破る"), COM_AUTO_CATEGORY_NUM_加虐する)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_酷く加虐する
;	後遺症を残すもの、命を保証できないもの
;	九条鞭とかピアスとか綿ロープとか、道具次第で加減できるものは含めない
;	腹パンはターゲットの妊娠期間を確認できない位置なので一応こっち
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("麻薬"), COM_AUTO_CATEGORY_NUM_酷く加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("首絞め"), COM_AUTO_CATEGORY_NUM_酷く加虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("腹パン"), COM_AUTO_CATEGORY_NUM_酷く加虐する)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_露出する
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("電気按摩"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("露出プレイ"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("体毛管理"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("身体に落書き"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("遠隔調教"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("ビデオ撮影"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ｃ自慰"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("Ｐ自慰"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("セルフ挿入"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("セルフＡ挿入"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("セルフフェラ"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("土下座"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("おねだり"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("オナホ自慰"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("秘貝開帳"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("アナル開帳"), COM_AUTO_CATEGORY_NUM_露出する)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_小排泄する
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("放尿する"), COM_AUTO_CATEGORY_NUM_小排泄する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("尿を掛ける"), COM_AUTO_CATEGORY_NUM_小排泄する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("口内放尿"), COM_AUTO_CATEGORY_NUM_小排泄する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("利尿剤"), COM_AUTO_CATEGORY_NUM_小排泄する)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_大排泄する
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("顔騎放屁"), COM_AUTO_CATEGORY_NUM_大排泄する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("放屁する"), COM_AUTO_CATEGORY_NUM_大排泄する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("浣腸"), COM_AUTO_CATEGORY_NUM_大排泄する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("浣腸＆プラグ"), COM_AUTO_CATEGORY_NUM_大排泄する)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_触手を扱う
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手召喚"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手挿入"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手Ａ挿入"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手クリ責め"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手胸愛撫"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手オナホ"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手コキ"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手搾乳"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手緊縛"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手口辱"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手産卵"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手Ａ産卵"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手オナニー"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手乳腺開発"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手尿道挿入"), COM_AUTO_CATEGORY_NUM_触手を扱う)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手Ｕ産卵"), COM_AUTO_CATEGORY_NUM_触手を扱う)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_愛撫させる
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("愛撫"), COM_AUTO_CATEGORY_NUM_愛撫させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("胸愛撫"), COM_AUTO_CATEGORY_NUM_愛撫させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("指挿入れ"), COM_AUTO_CATEGORY_NUM_愛撫させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("アナル愛撫"), COM_AUTO_CATEGORY_NUM_愛撫させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("キス"), COM_AUTO_CATEGORY_NUM_愛撫させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("尿道指挿入れ"), COM_AUTO_CATEGORY_NUM_愛撫させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("囁きかける"), COM_AUTO_CATEGORY_NUM_愛撫させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("舌を這わす"), COM_AUTO_CATEGORY_NUM_愛撫させる)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_奉仕させる
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("泡踊り"), COM_AUTO_CATEGORY_NUM_奉仕させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("手コキ"), COM_AUTO_CATEGORY_NUM_奉仕させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("フェラチオ"), COM_AUTO_CATEGORY_NUM_奉仕させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("パイズリ"), COM_AUTO_CATEGORY_NUM_奉仕させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("素股"), COM_AUTO_CATEGORY_NUM_奉仕させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("尻コキ"), COM_AUTO_CATEGORY_NUM_奉仕させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("玉舐め"), COM_AUTO_CATEGORY_NUM_奉仕させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("尻尾コキ"), COM_AUTO_CATEGORY_NUM_奉仕させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("亀頭責め手コキ"), COM_AUTO_CATEGORY_NUM_奉仕させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("足を舐める"), COM_AUTO_CATEGORY_NUM_奉仕させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("亀頭責めフェラ"), COM_AUTO_CATEGORY_NUM_奉仕させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("指フェラ"), COM_AUTO_CATEGORY_NUM_奉仕させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("玉揉み"), COM_AUTO_CATEGORY_NUM_奉仕させる)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_潤滑追加させる
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("ローション"), COM_AUTO_CATEGORY_NUM_潤滑追加させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("クンニ"), COM_AUTO_CATEGORY_NUM_潤滑追加させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("アナル舐め"), COM_AUTO_CATEGORY_NUM_潤滑追加させる)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_避妊させる
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("コンドーム"), COM_AUTO_CATEGORY_NUM_避妊させる)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_性交させる
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("尻尾挿入"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("尻尾Ａ挿入"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("貝合わせ"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("兜合わせ"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("ペニバン装着"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("正常位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("後背位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("対面座位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("背面座位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("騎乗位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("背面騎乗位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("側位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("屈曲位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("駅弁"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("背面駅弁"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("立ちバック"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("二本挿入"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("順番に挿入"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("代わる代わる挿入"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ａ正常位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ａ後背位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ａ対面座位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ａ背面座位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ａ騎乗位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ａ背面騎乗位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ａ側位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ａ屈曲位"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ａ駅弁"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ａ背面駅弁"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ａ立ちバック"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ａ二本挿入"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("順番にＡ挿入"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("代わる代わるＡ挿入"), COM_AUTO_CATEGORY_NUM_性交させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("尿道挿入"), COM_AUTO_CATEGORY_NUM_性交させる)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_道具使わせる
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("オナホコキ"), COM_AUTO_CATEGORY_NUM_道具使わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("双頭バイブ"), COM_AUTO_CATEGORY_NUM_道具使わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("ローター"), COM_AUTO_CATEGORY_NUM_道具使わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("バイブ"), COM_AUTO_CATEGORY_NUM_道具使わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("アナルバイブ"), COM_AUTO_CATEGORY_NUM_道具使わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("クリキャップ"), COM_AUTO_CATEGORY_NUM_道具使わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("ニプルキャップ"), COM_AUTO_CATEGORY_NUM_道具使わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("媚薬"), COM_AUTO_CATEGORY_NUM_道具使わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("排卵誘発剤"), COM_AUTO_CATEGORY_NUM_道具使わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("メイガスの夜"), COM_AUTO_CATEGORY_NUM_道具使わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("桃源香"), COM_AUTO_CATEGORY_NUM_道具使わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("搾乳機"), COM_AUTO_CATEGORY_NUM_道具使わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("尿道ブジー"), COM_AUTO_CATEGORY_NUM_道具使わせる)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_被虐する
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("顔面騎乗"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ａ顔面騎乗"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ｗ顔面騎乗"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("髪コキ"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("イラマチオ"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("足コキ"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("脅す"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("スパンキング"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("鞭"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("針"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("目隠し"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("縄"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("口枷"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("ペニバン口枷"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ｖ拡張バルーン"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ａ拡張バルーン"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("フィストファック"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("アナルフィスト"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("平手打ち"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("鼻フック"), COM_AUTO_CATEGORY_NUM_被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("ニプルファック"), COM_AUTO_CATEGORY_NUM_被虐する)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_酷く被虐する
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("麻薬"), COM_AUTO_CATEGORY_NUM_酷く被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("首絞め"), COM_AUTO_CATEGORY_NUM_酷く被虐する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("腹パン"), COM_AUTO_CATEGORY_NUM_酷く被虐する)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_露出させる
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("見つめあう"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("電気按摩"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("身体に落書き"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("露出プレイ"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("体毛管理"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("遠隔調教"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("ビデオ撮影"), COM_AUTO_CATEGORY_NUM_露出する)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ｃ自慰"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("Ｐ自慰"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("セルフ挿入"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("セルフＡ挿入"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("セルフフェラ"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("土下座"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("おねだり"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("オナホ自慰"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("秘貝開帳"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("アナル開帳"), COM_AUTO_CATEGORY_NUM_露出させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("服を脱ぐ"), COM_AUTO_CATEGORY_NUM_露出させる)
;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_小排泄させる
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("放尿する"), COM_AUTO_CATEGORY_NUM_小排泄させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("尿を掛ける"), COM_AUTO_CATEGORY_NUM_小排泄させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("口内放尿"), COM_AUTO_CATEGORY_NUM_小排泄させる)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("利尿剤"), COM_AUTO_CATEGORY_NUM_小排泄させる)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_大排泄させる
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("顔騎放屁"), COM_AUTO_CATEGORY_NUM_大排泄させる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("放屁する"), COM_AUTO_CATEGORY_NUM_大排泄させる)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("浣腸"), COM_AUTO_CATEGORY_NUM_大排泄させる)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("浣腸＆プラグ"), COM_AUTO_CATEGORY_NUM_大排泄させる)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_触手を扱わせる
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手召喚"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手挿入"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手Ａ挿入"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手クリ責め"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手胸愛撫"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手オナホ"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手コキ"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手搾乳"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手緊縛"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手口辱"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手産卵"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手Ａ産卵"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("触手オナニー"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手乳腺開発"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手尿道挿入"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)
CALL SET_COM_AUTO_COM_CATEGORY(ADD_NUM_対象が実行 + GET_TRAINNUM("触手Ｕ産卵"), COM_AUTO_CATEGORY_NUM_触手を扱わせる)

;-------------------------------------------------
;## COM_AUTO_CATEGORY_NUM_説得
;-------------------------------------------------
CALL SET_COM_AUTO_COM_CATEGORY(GET_TRAINNUM("忠誠を誓わせる(逆調教)"), COM_AUTO_CATEGORY_NUM_説得)

;-------------------------------------------------
;## デバッグ登録漏れ確認
;-------------------------------------------------
[IF_DEBUG]
;DEBUGPRINTFORML
;DEBUGPRINTFORML #### DEBUG カテゴリ設定 登録漏れ確認
FOR L_COUNTER, 0, 1000
	SIF TRAINNAME:L_COUNTER == ""
		CONTINUE
	;処理が特殊なので設定していないコマンド
	SIF GROUPMATCH(L_COUNTER, GET_TRAINNUM("酒恥肉倫"), GET_TRAINNUM("ピアシング"), GET_TRAINNUM("タトゥー"), GET_TRAINNUM("おまかせする"), GET_TRAINNUM("忠誠を誓わせる"))
		CONTINUE
	IF COM_AUTO_COM_CATEGORY:L_COUNTER == 0
		;DEBUGPRINTFORML {L_COUNTER, 4}.%TRAINNAME:L_COUNTER, 26, LEFT% %NUM_FORMAT(COM_AUTO_COM_PRIORITY:L_COUNTER), 10, RIGHT% カテゴリなし
	ENDIF
NEXT

[ENDIF]

RETURN 0


code:
;-------------------------------------------------
;# おまかせ時のプレイヤー選択
;-------------------------------------------------
@COM_AUTOSELECT_DECIDE_PLAYER
#DIM CHARA_ID
#DIM RETURN_CHARA_NUM
#DIM DECIDE_REFERENCE_VALUE					;重みの基準
#DIM MULTI_SITUATION_DECIDE_REFERENCE_VALUE	;状況による重みの乗算補正
#DIM CHECK_BEING_IAN_SERVE_FEMALE
#DIM CHECK_BEING_IAN_GUEST_FEMALE

DEBUGPRINTFORML
DEBUGPRINTFORML #### DEBUG メインプレイヤー選択

;-------------------------------------------------
;## リセット
;-------------------------------------------------
CALL COM_AUTO_RANDOMIZED_WEIGHTED_START

;-------------------------------------------------
;## 慰安時のキャラ性別チェック
;	FOR文軽量化のため先に確認して代入しておく
;-------------------------------------------------
IF FLAG:調教モード == 調教_慰安
	;慰安サービス側に女はいるか
	CHECK_BEING_IAN_SERVE_FEMALE = BEING_IAN_SERVE_FEMALE(0) ;行動可能かどうかは問わない
	;慰安客側に女はいるか
	CHECK_BEING_IAN_GUEST_FEMALE = BEING_IAN_GUEST_FEMALE()
ENDIF

;-------------------------------------------------
;## 候補設定
;-------------------------------------------------
FOR CHARA_ID, 0, CHARANUM
	;---------------------------------------------
	;### 不可候補
	;---------------------------------------------
	;参加者ではない、または行動不可能
	SIF !IS_AUTOSELECT(CHARA_ID)
		CONTINUE
	;慰安モード、このキャラが男慰安客、サービス側に行動可能な女性がいない、客に行動可能な女性がいる
	IF FLAG:調教モード == 調教_慰安 && IS_IAN_GUEST_MALE(CHARA_ID) && !CHECK_BEING_IAN_SERVE_FEMALE && CHECK_BEING_IAN_GUEST_FEMALE
		DEBUGPRINTFORML %ANAME(CHARA_ID)%は候補から除外された
		CONTINUE
	ENDIF
	IF TFLAG:奉仕モード
		;奉仕モードで奉仕者でも被奉仕者でもないキャラは実行者にならない
		IF !TCVAR:CHARA_ID:奉仕者フラグ && !TCVAR:CHARA_ID:被奉仕者フラグ
			CONTINUE
		ENDIF
	ENDIF
	;---------------------------------------------
	;### 重みの基準
	;	主導度Ｕプラス量を元に10～100 +1は0除算回避用
	;---------------------------------------------
	DECIDE_REFERENCE_VALUE = MAX((1000 + ABL:CHARA_ID:主導度Ｕ + 1) / 20, 10)

	SIF FLAG:調教モード == 調教_逆調教特殊 && IS_FALLEN_TO_SP_COUNTRY(CHARA_ID)
		DECIDE_REFERENCE_VALUE += 30
	;---------------------------------------------
	;### 状況の補正
	;---------------------------------------------
	;慰安でないときは主人公に挿入している・されているキャラを優先
	IF FLAG:調教モード != 調教_慰安 && IS_INSERT_MUTUAL(MASTER, CHARA_ID) >= 1
		MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
		;挿入中ではないキャラ
	ELSE
		MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 50
	ENDIF
	;主導除外フラグが立っていたら0補正する
	SIF CFLAG:CHARA_ID:主導除外 == 1
		MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 0
	;特定カテゴリは奉仕モードの場合常に受け身に回る
	IF TFLAG:奉仕モード
		IF TCVAR:CHARA_ID:奉仕者フラグ == 奉仕_見抜き
			MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 0
		ENDIF
		;ENDIF
	ENDIF

	;---------------------------------------------
	;### 重みの計算
	;---------------------------------------------
	DECIDE_REFERENCE_VALUE = DECIDE_REFERENCE_VALUE * MULTI_SITUATION_DECIDE_REFERENCE_VALUE

	;---------------------------------------------
	;### 候補の追加
	;---------------------------------------------
	CALL COM_AUTO_RANDOMIZED_WEIGHTED_VALUE(CHARA_ID, DECIDE_REFERENCE_VALUE)
	DEBUGPRINTFORML      %ANAME(CHARA_ID), MAX_CHARANAME_LENGTH, LEFT%  %TOSTR_SEX(TALENT:CHARA_ID:性別), 6%  重み {DECIDE_REFERENCE_VALUE, 10}
NEXT

;-------------------------------------------------
;## 結果取得
;-------------------------------------------------
RETURN_CHARA_NUM = COM_AUTO_RANDOMIZED_WEIGHTED_RESULT()
IF RETURN_CHARA_NUM < 0
	; PRINTFORML ※おまかせ実行者が見つかりませんでした
	; PRINTFORML ※ログをスレにエラー報告して頂けると助かります
	; PRINTFORML ※@COM_AUTOSELECT_DECIDE_PLAYER @COM_AUTO_RANDOMIZED_WEIGHTED_RESULT
	RETURN -1
ENDIF

RETURN RETURN_CHARA_NUM

;-------------------------------------------------
;# おまかせ時のターゲット選択
;-------------------------------------------------
@COM_AUTOSELECT_DECIDE_TARGET(プレイヤー)
#DIM CHARA_ID
#DIM プレイヤー
#DIM RETURN_CHARA_NUM
#DIM DECIDE_REFERENCE_VALUE					;重みの基準
#DIM MULTI_SEX_DECIDE_REFERENCE_VALUE		;性別による重みの乗算補正
#DIM MULTI_VIRGIN_DECIDE_REFERENCE_VALUE	;処女性による重みの乗算補正
#DIM MULTI_SITUATION_DECIDE_REFERENCE_VALUE	;状況による重みの乗算補正

DEBUGPRINTFORML
DEBUGPRINTFORML #### DEBUG メインターゲット選択

;-------------------------------------------------
;## リセット
;-------------------------------------------------
CALL COM_AUTO_RANDOMIZED_WEIGHTED_START

;-------------------------------------------------
;## 候補設定
;-------------------------------------------------
FOR CHARA_ID, 0, CHARANUM
	;---------------------------------------------
	;### 不可候補
	;---------------------------------------------
	;;参加者ではない　MASTERが調教参加フラグ設定されるのは慰安系のみのようなのでMASTERを除外
	;SIF !CFLAG:CHARA_ID:調教参加フラグ && !( FLAG:調教モード != 調教_慰安 && CHARA_ID == MASTER )
	;	CONTINUE
	SIF !IS_PARTICIPATE_TRAIN(CHARA_ID)
		CONTINUE
	;実行者
	SIF CHARA_ID == プレイヤー
		CONTINUE
	;CFLAG:慰安参加者非対象化を持ってるキャラは慰安参加者を対象に取らない
	SIF CFLAG:プレイヤー:慰安参加者非対象化 && CFLAG:CHARA_ID:慰安参加者
		CONTINUE
	;一時離脱フラグが立っていない
	SIF TCVAR:CHARA_ID:離脱フラグ == 離脱フラグ_一時離脱
		CONTINUE
	IF TFLAG:奉仕モード
		;奉仕モードで非参加者は対象にとらない
		IF !TCVAR:CHARA_ID:奉仕者フラグ && !TCVAR:CHARA_ID:被奉仕者フラグ
			CONTINUE
		ENDIF
		;被奉仕者がプレイヤーの場合、被奉仕者を対象にとらない
		IF TCVAR:プレイヤー:被奉仕者フラグ && TCVAR:CHARA_ID:被奉仕者フラグ
			CONTINUE
		ENDIF
	ENDIF
	;---------------------------------------------
	;### 重みの基準
	;	主導度Ｕマイナス量を元に10～100
	;---------------------------------------------
	DECIDE_REFERENCE_VALUE = MAX((2000 - (1000 + ABL:CHARA_ID:主導度Ｕ)) / 20, 10)

	;---------------------------------------------
	;### 性別組の補正
	;---------------------------------------------
	;対象があなたで実行が浮気癖所持
	IF CHARA_ID == MASTER && GETBIT(TALENT:プレイヤー:淫乱系, 素質_淫乱_浮気癖)
		MULTI_SEX_DECIDE_REFERENCE_VALUE = 15
		;対象があなたで実行が陥落済み ただし特殊勢力逆調教を除く
	ELSEIF CHARA_ID == MASTER && ( TALENT:プレイヤー:恋慕 || TALENT:プレイヤー:服従 || TALENT:プレイヤー:主人 ) && !GROUPMATCH(FLAG:調教モード, 調教_逆調教特殊)
		MULTI_SEX_DECIDE_REFERENCE_VALUE = 100
		;両刀or実行ふたなりor対象ふたなり
	ELSEIF TALENT:プレイヤー:両刀 || (HAS_PENIS(プレイヤー) && HAS_VAGINA(プレイヤー)) || (HAS_PENIS(CHARA_ID) && HAS_VAGINA(CHARA_ID))
		MULTI_SEX_DECIDE_REFERENCE_VALUE = 70
		;異性
	ELSEIF (HAS_PENIS(プレイヤー) && HAS_VAGINA(CHARA_ID)) || (HAS_VAGINA(プレイヤー) && HAS_PENIS(CHARA_ID))
		MULTI_SEX_DECIDE_REFERENCE_VALUE = 70
		;同性
	ELSE
		MULTI_SEX_DECIDE_REFERENCE_VALUE = 1
	ENDIF

	;---------------------------------------------
	;### 処女系の補正
	;---------------------------------------------
	;マスターが対象で処女系素質を持つとき ただし浮気癖がある場合は除外
	IF CHARA_ID == MASTER && (TALENT:MASTER:キス未経験 || (HAS_VAGINA(MASTER) && TALENT:MASTER:処女) || (HAS_PENIS(MASTER) && TALENT:MASTER:童貞)) && !GETBIT(TALENT:プレイヤー:淫乱系, 素質_淫乱_浮気癖)
		MULTI_VIRGIN_DECIDE_REFERENCE_VALUE = 100
		;対象が処女系素質を持つとき
	ELSEIF TALENT:CHARA_ID:キス未経験 || (HAS_VAGINA(CHARA_ID) && TALENT:CHARA_ID:処女) || (HAS_PENIS(CHARA_ID) && TALENT:CHARA_ID:童貞)
		MULTI_VIRGIN_DECIDE_REFERENCE_VALUE = 100
		;処女系は持たないとき
	ELSE
		MULTI_VIRGIN_DECIDE_REFERENCE_VALUE = 1
	ENDIF

	;---------------------------------------------
	;### 状況の補正
	;---------------------------------------------
	; ;特殊勢力逆調教時の男あなた
	; IF CHARA_ID == MASTER && GROUPMATCH(FLAG:調教モード, 調教_逆調教特殊) && IS_MALE(CHARA_ID)
	; 	MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 20
	; 	;特殊勢力逆調教かつ特殊キャラでない女
	; ELSEIF !IS_SP_CHARA(CHARA_ID) && GROUPMATCH(FLAG:調教モード, 調教_逆調教特殊) && IS_FEMALE(CHARA_ID)
	; 	MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 70
	; 	;逆調教の主人公
	; ELSEIF CHARA_ID == MASTER && GROUPMATCH(FLAG:調教モード, 調教_逆調教特殊, 調教_逆調教通常) && !GETBIT(TALENT:プレイヤー:淫乱系, 素質_淫乱_浮気癖)
	; 	MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
	; 	;逆調教以外の主人公
	; ELSEIF CHARA_ID == MASTER && !GETBIT(TALENT:プレイヤー:淫乱系, 素質_淫乱_浮気癖)
	; 	MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 70
	;捕虜調教のターゲット
	IF FLAG:調教モード == 調教_捕虜調教 && FINDELEMENT(PRISONER_TARGET, CHARA_ID)
		MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 70
		;慰安モードで主導者が慰安客のとき慰安客は確率低下
	ELSEIF FLAG:調教モード == 調教_慰安 && (TALENT:プレイヤー:慰安モブ || CFLAG:プレイヤー:慰安参加者) && (TALENT:CHARA_ID:慰安モブ || CFLAG:CHARA_ID:慰安参加者)
		MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
		;慰安モードで主導者がサービス側のときサービス側は確率低下
	ELSEIF FLAG:調教モード == 調教_慰安 && !TALENT:プレイヤー:慰安モブ && !CFLAG:プレイヤー:慰安参加者 && !TALENT:CHARA_ID:慰安モブ && !CFLAG:CHARA_ID:慰安参加者
		MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 15
		;それ以外
	ELSE
		MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 30
	ENDIF
	;奉仕者がプレイヤーの場合、奉仕者を対象に取る確率は低下
	IF TCVAR:プレイヤー:奉仕者フラグ && TCVAR:CHARA_ID:奉仕者フラグ
		MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
	ENDIF
	;奉仕者がプレイヤーの場合、被奉仕者を対象に取る確率は上昇
	IF TCVAR:プレイヤー:奉仕者フラグ && TCVAR:CHARA_ID:被奉仕者フラグ
		MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
	ENDIF
	;---------------------------------------------
	;### 重みの計算
	;---------------------------------------------
	DECIDE_REFERENCE_VALUE = DECIDE_REFERENCE_VALUE * MULTI_SEX_DECIDE_REFERENCE_VALUE * MULTI_VIRGIN_DECIDE_REFERENCE_VALUE * MULTI_SITUATION_DECIDE_REFERENCE_VALUE

	;---------------------------------------------
	;### 候補の追加
	;---------------------------------------------
	CALL COM_AUTO_RANDOMIZED_WEIGHTED_VALUE(CHARA_ID, DECIDE_REFERENCE_VALUE)
	DEBUGPRINTFORML      %ANAME(CHARA_ID), MAX_CHARANAME_LENGTH, LEFT%  %TOSTR_SEX(TALENT:CHARA_ID:性別), 6%  重み {DECIDE_REFERENCE_VALUE, 10}
NEXT

;-------------------------------------------------
;## 結果取得
;-------------------------------------------------
RETURN_CHARA_NUM = COM_AUTO_RANDOMIZED_WEIGHTED_RESULT()
IF RETURN_CHARA_NUM < 0
	PRINTFORML ※おまかせ対象者が見つかりませんでした
	PRINTFORML ※ログをスレにエラー報告して頂けると助かります
	PRINTFORML ※@COM_AUTOSELECT_DECIDE_TARGET @COM_AUTO_RANDOMIZED_WEIGHTED_RESULT
	RETURN -1
ENDIF

RETURN RETURN_CHARA_NUM

;-------------------------------------------------
;# 第三者の参加を決定する
;-------------------------------------------------
@AUTO_SET_THIRD_PERSON(主導者, 対象者, コマンド)
#DIM L_COUNTER
#DIM CHARA_COUNTER
#DIM コマンド
#DIM 主導者
#DIM 対象者
#DIM 今回候補
#DIM DECIDE_REFERENCE_VALUE							;候補取得の重み
#DIM PLAYER_DECIDE_REFERENCE_VALUE					;する側に回る重みの基準
#DIM PLAYER_MULTI_SEX_DECIDE_REFERENCE_VALUE		;する側に回る性別による重みの乗算補正
#DIM PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE	;する側に回る状況による重みの乗算補正
#DIM TARGET_DECIDE_REFERENCE_VALUE					;される側に回る重みの基準
#DIM TARGET_MULTI_SEX_DECIDE_REFERENCE_VALUE		;される側に回る性別による重みの乗算補正
#DIM TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE	;される側に回る状況による重みの乗算補正
#DIM CONST ASSIST_PLAYER_ID = 1						;候補識別用・この番号が選ばれたら実行者
#DIM CONST ASSIST_TARGET_ID = 2						;候補識別用・この番号が選ばれたら対象者
#DIM ASSIST_ID_RESULT								;する側とされる側どっちが選ばれたか受け取る

DEBUGPRINTFORML
DEBUGPRINTFORML #### DEBUG 第三の参加者選択

;候補取得と実行可否チェックを繰り返す
FOR L_COUNTER, 0, 5
	SIF RAND:100 > 20
		CONTINUE
	DEBUGPRINTFORML
	DEBUGPRINTFORML      第三者の参加チェック {L_COUNTER + 1}周目

	;---------------------------------------------
	;## 今回候補キャラ選択
	;---------------------------------------------

	;---------------------------------------------
	;### リセット
	;---------------------------------------------
	今回候補 = -1
	CALL COM_AUTO_RANDOMIZED_WEIGHTED_START

	;---------------------------------------------
	;### 候補設定
	;---------------------------------------------
	FOR CHARA_COUNTER, 0, CHARANUM
		DECIDE_REFERENCE_VALUE = 0
		;不可候補 行動できないか、既に実行者あるいは対象者
		SIF !IS_AUTOSELECT(CHARA_COUNTER) || IS_MPLY(CHARA_COUNTER) || IS_MTAR(CHARA_COUNTER)
			CONTINUE
		;CFLAG:慰安参加者非対象化を持ってるキャラは慰安参加者を対象に取らない
		SIF CFLAG:主導者:慰安参加者非対象化 && CFLAG:CHARA_COUNTER:慰安参加者 && IS_MTAR(CHARA_COUNTER)
			CONTINUE
		IF TFLAG:奉仕モード
			;奉仕モードで非参加者は対象にとらない
			IF !TCVAR:CHARA_COUNTER:奉仕者フラグ && !TCVAR:CHARA_COUNTER:被奉仕者フラグ
				CONTINUE
			ENDIF
		ENDIF
		;CHARA_COUNTERが陥落済みで対象があなた
		IF 対象者 == MASTER && ( TALENT:CHARA_COUNTER:恋慕 || TALENT:CHARA_COUNTER:服従 || TALENT:CHARA_COUNTER:主人 )
			DECIDE_REFERENCE_VALUE = 100
			;CHARA_COUNTERが特殊勢力陥落済みで特殊勢力逆調教かつ対象がMASTER
		ELSEIF 対象者 == MASTER && FLAG:調教モード == 調教_逆調教特殊
			DECIDE_REFERENCE_VALUE = 70
			;CHARA_COUNTERが両刀、あるいはフタナリがいる
		ELSEIF TALENT:CHARA_COUNTER:両刀 || (HAS_PENIS(CHARA_COUNTER) && HAS_VAGINA(CHARA_COUNTER)) || (HAS_PENIS(主導者) && HAS_VAGINA(主導者)) || (HAS_PENIS(対象者) && HAS_VAGINA(対象者))
			DECIDE_REFERENCE_VALUE = 70
			;CHARA_COUNTERの異性がいる
		ELSEIF (HAS_PENIS(CHARA_COUNTER) && HAS_VAGINA(主導者)) || (HAS_VAGINA(CHARA_COUNTER) && HAS_PENIS(主導者)) || (HAS_PENIS(CHARA_COUNTER) && HAS_VAGINA(対象者)) || (HAS_VAGINA(CHARA_COUNTER) && HAS_PENIS(対象者))
			DECIDE_REFERENCE_VALUE = 70
			;両刀もなく全員同性なら消極参加
		ELSE
			DECIDE_REFERENCE_VALUE = 1
		ENDIF
		;候補追加
		CALL COM_AUTO_RANDOMIZED_WEIGHTED_VALUE(CHARA_COUNTER, DECIDE_REFERENCE_VALUE)
		DEBUGPRINTFORML      %ANAME(CHARA_COUNTER), MAX_CHARANAME_LENGTH, LEFT%  %TOSTR_SEX(TALENT:CHARA_COUNTER:性別), 6%  重み {DECIDE_REFERENCE_VALUE, 10}
	NEXT

	;-----------------------------------------
	;### 結果取得
	;-----------------------------------------
	今回候補 = COM_AUTO_RANDOMIZED_WEIGHTED_RESULT()
	IF RESULT < 0 || 今回候補 == -1 || (RESULT == MASTER && !IS_PARTICIPATE_TRAIN(MASTER))
		DEBUGPRINTFORML      候補になれるキャラがいないので抜ける
		BREAK
	ENDIF

	;---------------------------------------------
	;## する側される側どちらを望むか
	;---------------------------------------------

	;---------------------------------------------
	;### リセット
	;---------------------------------------------
	CALL COM_AUTO_RANDOMIZED_WEIGHTED_START

	;---------------------------------------------
	;### 重みの基準
	;---------------------------------------------
	;MPLYに加わる欲求
	PLAYER_DECIDE_REFERENCE_VALUE = MAX((1000 + ABL:今回候補:主導度Ｕ) / 20, 10)
	;MTARに加わる欲求
	TARGET_DECIDE_REFERENCE_VALUE = MAX((2000 - (1000 + ABL:今回候補:主導度Ｕ)) / 20, 10)

	;---------------------------------------------
	;### 性別組の補正
	;---------------------------------------------
	;MPLYに加わる欲求 性別組補正
	PLAYER_MULTI_SEX_DECIDE_REFERENCE_VALUE = 0
	;MTARに加わる欲求 性別組補正
	TARGET_MULTI_SEX_DECIDE_REFERENCE_VALUE = 0

	;主導者が実行
	IF IS_MPLY(主導者) && IS_MTAR(対象者)
		;相手があなたで今回候補が陥落済み
		IF 対象者 == MASTER && ( TALENT:今回候補:恋慕 || TALENT:今回候補:服従 || TALENT:今回候補:主人 )
			PLAYER_MULTI_SEX_DECIDE_REFERENCE_VALUE = 100
			;今回候補が両刀、あるいは今回候補か相手のどちらかがフタナリ
		ELSEIF TALENT:今回候補:両刀 || (HAS_PENIS(今回候補) && HAS_VAGINA(今回候補)) || (HAS_PENIS(対象者) && HAS_VAGINA(対象者))
			;男両刀や男ふたなりは攻め手に回りやすい
			IF IS_MALE(今回候補)
				PLAYER_MULTI_SEX_DECIDE_REFERENCE_VALUE = 70
				;女両刀や女ふたなりは受け手に回りやすい
			ELSE
				PLAYER_MULTI_SEX_DECIDE_REFERENCE_VALUE = 30
			ENDIF
			;相手が異性ならする側に消極的
		ELSEIF (HAS_PENIS(今回候補) && HAS_VAGINA(対象者)) || (HAS_VAGINA(今回候補) && HAS_PENIS(対象者))
			PLAYER_MULTI_SEX_DECIDE_REFERENCE_VALUE = 70
			;相手が同性ならする側に消極的
		ELSE
			PLAYER_MULTI_SEX_DECIDE_REFERENCE_VALUE = 1
		ENDIF
		;相手があなたで今回候補が陥落済み
		IF 対象者 == MASTER && ( TALENT:今回候補:恋慕 || TALENT:今回候補:服従 || TALENT:今回候補:主人 )
			TARGET_MULTI_SEX_DECIDE_REFERENCE_VALUE = 50
			;今回候補が両刀、あるいは今回候補か相手のどちらかがフタナリ
		ELSEIF TALENT:今回候補:両刀 || (HAS_PENIS(今回候補) && HAS_VAGINA(今回候補)) || (HAS_PENIS(主導者) && HAS_VAGINA(主導者))
			;男両刀や男ふたなりは攻め手に回りやすい
			IF IS_MALE(今回候補)
				TARGET_MULTI_SEX_DECIDE_REFERENCE_VALUE = 30
				;女両刀や女ふたなりは受け手に回りやすい
			ELSE
				TARGET_MULTI_SEX_DECIDE_REFERENCE_VALUE = 70
			ENDIF
			;相手が異性ならされる側に消極的
		ELSEIF (HAS_PENIS(今回候補) && HAS_VAGINA(主導者)) || (HAS_VAGINA(今回候補) && HAS_PENIS(主導者))
			TARGET_MULTI_SEX_DECIDE_REFERENCE_VALUE = 70
			;相手が同性ならされる側に消極的
		ELSE
			TARGET_MULTI_SEX_DECIDE_REFERENCE_VALUE = 1
		ENDIF
		;主導者が対象
	ELSE
		;今回候補が両刀、あるいは今回候補か対象のどちらかがフタナリ
		IF TALENT:今回候補:両刀 || (HAS_PENIS(今回候補) && HAS_VAGINA(今回候補)) || (HAS_PENIS(主導者) && HAS_VAGINA(主導者))
			;男両刀や男ふたなりは攻め手に回りやすい
			IF IS_MALE(今回候補)
				PLAYER_MULTI_SEX_DECIDE_REFERENCE_VALUE = 70
				;女両刀や女ふたなりは受け手に回りやすい
			ELSE
				PLAYER_MULTI_SEX_DECIDE_REFERENCE_VALUE = 30
			ENDIF
			;対象が異性ならする側に消極的
		ELSEIF (HAS_PENIS(今回候補) && HAS_VAGINA(主導者)) || (HAS_VAGINA(今回候補) && HAS_PENIS(主導者))
			PLAYER_MULTI_SEX_DECIDE_REFERENCE_VALUE = 70
			;対象が同性ならする側に消極的
		ELSE
			PLAYER_MULTI_SEX_DECIDE_REFERENCE_VALUE = 1
		ENDIF
		;今回候補が両刀、あるいは今回候補か主導のどちらかがフタナリ
		IF TALENT:今回候補:両刀 || (HAS_PENIS(今回候補) && HAS_VAGINA(今回候補)) || (HAS_PENIS(対象者) && HAS_VAGINA(対象者))
			;男両刀や男ふたなりは攻め手に回りやすい
			IF IS_MALE(今回候補)
				TARGET_MULTI_SEX_DECIDE_REFERENCE_VALUE = 30
				;女両刀や女ふたなりは受け手に回りやすい
			ELSE
				TARGET_MULTI_SEX_DECIDE_REFERENCE_VALUE = 70
			ENDIF
			;相手が異性ならされる側に消極的
		ELSEIF (HAS_PENIS(今回候補) && HAS_VAGINA(対象者)) || (HAS_VAGINA(今回候補) && HAS_PENIS(対象者))
			TARGET_MULTI_SEX_DECIDE_REFERENCE_VALUE = 70
			;主導者が同性ならされる側に消極的
		ELSE
			TARGET_MULTI_SEX_DECIDE_REFERENCE_VALUE = 1
		ENDIF
	ENDIF

	;---------------------------------------------
	;### 状況の補正
	;---------------------------------------------
	;MPLYに加わる欲求 状況補正
	PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 0
	;MTARに加わる欲求 状況補正
	TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 0

	;捕虜調教のターゲットは仲間の補助に回りやすい
	IF FLAG:調教モード == 調教_捕虜調教 && FINDELEMENT(PRISONER_TARGET, 今回候補)
		;主導者が仲間で実行者
		IF FINDELEMENT(PRISONER_TARGET, 主導者) && IS_MPLY(主導者)
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
			;対象者が仲間で実行者
		ELSEIF FINDELEMENT(PRISONER_TARGET, 対象者) && IS_MPLY(対象者)
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
			;主導者が仲間で対象者
		ELSEIF FINDELEMENT(PRISONER_TARGET, 主導者) && IS_MTAR(主導者)
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
			;対象者が仲間で対象者
		ELSEIF FINDELEMENT(PRISONER_TARGET, 対象者) && IS_MTAR(対象者)
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
			;他
		ELSE
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
		ENDIF
		;慰安サービス側は仲間の補助に回りやすい
	ELSEIF FLAG:調教モード == 調教_慰安 && (!TALENT:今回候補:慰安モブ || !CFLAG:今回候補:慰安参加者)
		;慰安者で主導者が仲間で実行者
		IF !TALENT:主導者:慰安モブ && !CFLAG:主導者:慰安参加者 && IS_MPLY(主導者)
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
			;慰安者で対象者が仲間で実行者
		ELSEIF !TALENT:対象者:慰安モブ && !CFLAG:対象者:慰安参加者 && IS_MPLY(対象者)
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
			;慰安者で主導者が仲間で対象者
		ELSEIF !TALENT:主導者:慰安モブ && !CFLAG:主導者:慰安参加者 && IS_MTAR(主導者)
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
			;慰安者で対象者が仲間で対象者
		ELSEIF !TALENT:対象者:慰安モブ && !CFLAG:対象者:慰安参加者 && IS_MTAR(対象者)
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
			;他
		ELSE
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
		ENDIF
		;慰安客は仲間の補助に回りやすい
	ELSEIF FLAG:調教モード == 調教_慰安 && (TALENT:今回候補:慰安モブ || CFLAG:今回候補:慰安参加者)
		;慰安客で主導者が仲間で実行者
		IF (TALENT:主導者:慰安モブ || CFLAG:主導者:慰安参加者) && IS_MPLY(主導者)
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
			;慰安客で対象者が仲間で実行者
		ELSEIF (TALENT:対象者:慰安モブ || CFLAG:対象者:慰安参加者) && IS_MPLY(対象者)
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
			;慰安客で主導者が仲間で対象者
		ELSEIF (TALENT:主導者:慰安モブ || CFLAG:主導者:慰安参加者) && IS_MTAR(主導者)
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
			;慰安客で対象者が仲間で対象者
		ELSEIF (TALENT:対象者:慰安モブ || CFLAG:対象者:慰安参加者) && IS_MTAR(対象者)
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
			;他
		ELSE
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 100
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
		ENDIF
	ELSE
		PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
		TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 1
	ENDIF

	;---------------------------------------------
	;### 奉仕モード時の状況補正
	;---------------------------------------------
	IF TFLAG:奉仕モード
		IF TCVAR:主導者:奉仕者フラグ && IS_MPLY(主導者)
			SIF TCVAR:今回候補:被奉仕者フラグ
				PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 0
		ELSEIF  TCVAR:主導者:奉仕者フラグ && IS_MTAR(主導者)
			SIF TCVAR:今回候補:被奉仕者フラグ
				TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 0
		ENDIF
		IF TCVAR:主導者:被奉仕者フラグ && IS_MPLY(主導者)
			SIF TCVAR:今回候補:奉仕者フラグ
				PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 0
			;被奉仕者が被奉仕者を対象にとらない、奉仕者が奉仕者を対象に取るケースはあり得る（被奉仕者を楽しませるため）
			SIF TCVAR:今回候補:被奉仕者フラグ
				TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 0
		ELSEIF  TCVAR:主導者:被奉仕者フラグ && IS_MTAR(主導者)
			;ターゲットが被奉仕者の場合被奉仕者は実行に加わらない
			SIF TCVAR:今回候補:被奉仕者フラグ
				PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 0
			;奉仕者と被奉仕者は同時に対象にならない
			SIF TCVAR:今回候補:奉仕者フラグ
				TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 0
		ENDIF
	ENDIF

	;-------------------------------------------------
	;慰安参加者非対象化フラグの考慮
	;-------------------------------------------------
	IF CFLAG:主導者:慰安参加者非対象化 && IS_MPLY(主導者)
		SIF CFLAG:今回候補:慰安参加者
			TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 0
	ELSEIF CFLAG:主導者:慰安参加者非対象化 && IS_MTAR(主導者)
		SIF CFLAG:今回候補:慰安参加者
			PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE = 0
	ENDIF

	;---------------------------------------------
	;### 重みの計算
	;---------------------------------------------
	PLAYER_DECIDE_REFERENCE_VALUE = PLAYER_DECIDE_REFERENCE_VALUE * PLAYER_MULTI_SEX_DECIDE_REFERENCE_VALUE * PLAYER_MULTI_SITUATION_DECIDE_REFERENCE_VALUE
	TARGET_DECIDE_REFERENCE_VALUE = TARGET_DECIDE_REFERENCE_VALUE * TARGET_MULTI_SEX_DECIDE_REFERENCE_VALUE * TARGET_MULTI_SITUATION_DECIDE_REFERENCE_VALUE
	;---------------------------------------------
	;### 補正 性別制限
	;---------------------------------------------
	IF TOSTR_SEX(TALENT:今回候補:性別) == "男性"
		IF PLAYER_DECIDE_REFERENCE_VALUE > 3 && GROUPMATCH(コマンド, ADD_NUM_対象が実行 + GET_TRAINNUM("胸愛撫"), ADD_NUM_対象が実行 + GET_TRAINNUM("乳首吸い"), GET_TRAINNUM("フェラチオ"), ADD_NUM_対象が実行 + GET_TRAINNUM("イラマチオ"), GET_TRAINNUM("パイズリ"), GET_TRAINNUM("泡踊り"), GET_TRAINNUM("素股"), GET_TRAINNUM("尻コキ"), GET_TRAINNUM("亀頭責め手コキ"), GET_TRAINNUM("亀頭責めフェラ"), GET_TRAINNUM("土下座"), GET_TRAINNUM("おねだり"), ADD_NUM_対象が実行 + GET_TRAINNUM("ペニバン口枷"))
			PLAYER_DECIDE_REFERENCE_VALUE /= 3
		ENDIF
		IF TARGET_DECIDE_REFERENCE_VALUE > 3 && GROUPMATCH(コマンド, GET_TRAINNUM("胸愛撫"), GET_TRAINNUM("乳首吸い"), ADD_NUM_対象が実行 + GET_TRAINNUM("フェラチオ"), GET_TRAINNUM("イラマチオ"), ADD_NUM_対象が実行 + GET_TRAINNUM("パイズリ"), ADD_NUM_対象が実行 + GET_TRAINNUM("泡踊り"), ADD_NUM_対象が実行 + GET_TRAINNUM("素股"), ADD_NUM_対象が実行 + GET_TRAINNUM("尻コキ"), ADD_NUM_対象が実行 + GET_TRAINNUM("亀頭責め手コキ"), ADD_NUM_対象が実行 + GET_TRAINNUM("亀頭責めフェラ"), ADD_NUM_対象が実行 + GET_TRAINNUM("土下座"), ADD_NUM_対象が実行 + GET_TRAINNUM("おねだり"), GET_TRAINNUM("ペニバン口枷"))
			TARGET_DECIDE_REFERENCE_VALUE /= 3
		ENDIF
	ENDIF

	;---------------------------------------------
	;### 除外 順番に挿入
	;---------------------------------------------
	;女性かつペニスなしなら問答無用で受け手
	IF IS_FEMALE(今回候補) && !HAS_PENIS(今回候補) && GROUPMATCH(コマンド, GET_TRAINNUM("順番に挿入"), GET_TRAINNUM("順番にＡ挿入"), GET_TRAINNUM("代わる代わる挿入"), GET_TRAINNUM("代わる代わるＡ挿入"))
		PLAYER_DECIDE_REFERENCE_VALUE = 0
	ENDIF

	;---------------------------------------------
	;### 除外 男性のＡを狙う行為
	;---------------------------------------------
	IF TOSTR_SEX(TALENT:今回候補:性別) == "男性" && !GETBIT(CONFIG:11, COM_AUTO_FILTER_男性のＡを狙う行為を許可)
		;カテゴリで殺すもの
		IF GROUPMATCH(COM_AUTO_COM_CATEGORY:コマンド, COM_AUTO_CATEGORY_NUM_性交する, COM_AUTO_CATEGORY_NUM_避妊する, COM_AUTO_CATEGORY_NUM_潤滑追加する)
			TARGET_DECIDE_REFERENCE_VALUE = 0
		ELSEIF GROUPMATCH(COM_AUTO_COM_CATEGORY:コマンド, COM_AUTO_CATEGORY_NUM_性交させる, COM_AUTO_CATEGORY_NUM_避妊させる, COM_AUTO_CATEGORY_NUM_潤滑追加させる)
			PLAYER_DECIDE_REFERENCE_VALUE = 0
		ENDIF
		;コマンドで殺すもの
		IF コマンド < ADD_NUM_対象が実行
			IF GROUPMATCH(コマンド, GET_TRAINNUM("アナル舐め"), GET_TRAINNUM("セルフＡ挿入"), GET_TRAINNUM("アナル愛撫"), GET_TRAINNUM("アナルバイブ"), GET_TRAINNUM("Ａ拡張バルーン"), GET_TRAINNUM("アナルフィスト"), GET_TRAINNUM("触手Ａ挿入"), GET_TRAINNUM("触手Ａ産卵"))
				TARGET_DECIDE_REFERENCE_VALUE = 0
			ELSEIF GROUPMATCH(コマンド, GET_TRAINNUM("Ａ顔面騎乗"), GET_TRAINNUM("顔面騎乗"), GET_TRAINNUM("Ｗ顔面騎乗"))
				PLAYER_DECIDE_REFERENCE_VALUE = 0
			ENDIF
		ELSE
			IF GROUPMATCH(コマンド - ADD_NUM_対象が実行, GET_TRAINNUM("アナル舐め"), GET_TRAINNUM("セルフＡ挿入"), GET_TRAINNUM("アナル愛撫"), GET_TRAINNUM("アナルバイブ"), GET_TRAINNUM("Ａ拡張バルーン"), GET_TRAINNUM("アナルフィスト"), GET_TRAINNUM("触手Ａ挿入"), GET_TRAINNUM("触手Ａ産卵"))
				PLAYER_DECIDE_REFERENCE_VALUE = 0
			ELSEIF GROUPMATCH(コマンド - ADD_NUM_対象が実行, GET_TRAINNUM("Ａ顔面騎乗"), GET_TRAINNUM("顔面騎乗"), GET_TRAINNUM("Ｗ顔面騎乗"))
				TARGET_DECIDE_REFERENCE_VALUE = 0
			ENDIF
		ENDIF
	ENDIF

	;---------------------------------------------
	;### 候補追加
	;---------------------------------------------
	SIF PLAYER_DECIDE_REFERENCE_VALUE > 0
		CALL COM_AUTO_RANDOMIZED_WEIGHTED_VALUE(ASSIST_PLAYER_ID, PLAYER_DECIDE_REFERENCE_VALUE)
	SIF TARGET_DECIDE_REFERENCE_VALUE > 0
		CALL COM_AUTO_RANDOMIZED_WEIGHTED_VALUE(ASSIST_TARGET_ID, TARGET_DECIDE_REFERENCE_VALUE)
	IF PLAYER_DECIDE_REFERENCE_VALUE <= 0 && TARGET_DECIDE_REFERENCE_VALUE <= 0
		DEBUGPRINTFORML      %ANAME(今回候補), MAX_CHARANAME_LENGTH, LEFT%  %TOSTR_SEX(TALENT:今回候補:性別), 6%  実行者の補佐も対象者の補佐も希望しなかった
		BREAK
	ENDIF

	;---------------------------------------------
	;### 結果取得
	;---------------------------------------------
	ASSIST_ID_RESULT = COM_AUTO_RANDOMIZED_WEIGHTED_RESULT()
	IF ASSIST_ID_RESULT != ASSIST_PLAYER_ID && ASSIST_ID_RESULT != ASSIST_TARGET_ID
		DEBUGPRINTFORML      %ANAME(今回候補), MAX_CHARANAME_LENGTH, LEFT%  %TOSTR_SEX(TALENT:今回候補:性別), 6%  実行者の補佐も対象者の補佐も希望しなかった
		BREAK
	ELSEIF ASSIST_ID_RESULT == ASSIST_PLAYER_ID
		CALL ADD_MPLY(今回候補)
		DEBUGPRINTFORM      %ANAME(今回候補), MAX_CHARANAME_LENGTH, LEFT%  %TOSTR_SEX(TALENT:今回候補:性別), 6%
		IF IS_MPLY(主導者)
			DEBUGPRINTFORML   主導者%ANAME(主導者)%の補佐・実行を希望した
		ELSEIF IS_MPLY(対象者)
			DEBUGPRINTFORML   対象者%ANAME(対象者)%の補佐・実行を希望した
		ENDIF
	ELSEIF ASSIST_ID_RESULT == ASSIST_TARGET_ID
		CALL ADD_MTAR(今回候補)
		DEBUGPRINTFORM      %ANAME(今回候補), MAX_CHARANAME_LENGTH, LEFT%  %TOSTR_SEX(TALENT:今回候補:性別), 6%
		IF IS_MTAR(主導者)
			DEBUGPRINTFORML   主導者%ANAME(主導者)%の補佐・対象を希望した
		ELSEIF IS_MTAR(対象者)
			DEBUGPRINTFORML   対象者%ANAME(対象者)%の補佐・対象を希望した
		ENDIF
	ENDIF

	;---------------------------------------------
	;## 実行可否の判定
	;---------------------------------------------
	;コマンド判定フラグON
	COM_ENABLE = 1

	RESULT = 0
	CALL CHECK_COMABLE(コマンド % ADD_NUM_対象が実行)
	IF !RESULT
		;ダメならプレイヤー／ターゲットを外す
		IF コマンド < ADD_NUM_対象が実行
			CALL DEL_MPLY(今回候補)
			CALL DEL_MTAR(今回候補)
		ELSE
			CALL DEL_MTAR(今回候補)
			CALL DEL_MPLY(今回候補)
		ENDIF
		;コマンド判定フラグOFF
		COM_ENABLE = 0
		DEBUGPRINTFORML      判定に失敗したので終える
		BREAK
	ENDIF

	;コマンド判定フラグOFF
	COM_ENABLE = 0
NEXT

RETURN 0

;-------------------------------------------------
;# 第三者命令
;desc  :自動調教時、主導者が第三者に命じる形になるようにする処理
;param :主導者:その回におけるメイン行動者
;PARAM :対象者:その回におけるメイン対象者
;-------------------------------------------------
@AUTO_SET_REMOVE_MAIN(主導者, 対象者, コマンド)
#DIM 主導者
#DIM 対象者
#DIM コマンド
#DIM MTARフラグ

;慰安で主導者が慰安客なら7割
IF FLAG:調教モード == 調教_慰安 && (TALENT:主導者:慰安モブ || CFLAG:主導者:慰安参加者) && RAND:100 < 30
	RETURN 0
	;慰安以外なら3割
ELSEIF RAND:100 < 70
	RETURN 0
ENDIF

IF IS_MTAR(主導者) && MTAR_NUM > 1 && RAND:100 < 50
	CALL DEL_MTAR(主導者)
	MTARフラグ = 1
ELSEIF IS_MPLY(主導者) && MPLY_NUM > 1 && RAND:100 < 50
	CALL DEL_MPLY(主導者)
	MTARフラグ = 0
ENDIF

;コマンド判定フラグON
COM_ENABLE = 1

RESULT = 0
CALL CHECK_COMABLE(コマンド % 1000)
IF !RESULT
	;ダメならプレイヤー／ターゲットを戻す
	IF MTARフラグ
		CALL ADD_MTAR(主導者)
	ELSE
		CALL ADD_MPLY(主導者)
	ENDIF
ENDIF

;コマンド判定フラグOFF
COM_ENABLE = 0

repo_name: napo/erafl

license: unknown


code:
;-------------------------------------------------
;# COM_AUTOSELECT_2_カテゴリの優先度設定
;-------------------------------------------------
@COM_AUTOSELECT_SET_CATEGORY_PRIORITY(MAIN_PLAYER, MAIN_TARGET)
#DIM MAIN_PLAYER
#DIM MAIN_TARGET
#DIM L_COUNTER

;-------------------------------------------------
;## リセット
;-------------------------------------------------
VARSET COM_AUTO_CATEGORY_PRIORITY, 0

;-------------------------------------------------
;## 各カテゴリの優先度リスト読み込み
;-------------------------------------------------
FOR L_COUNTER, 1, COM_AUTO_CATEGORY_NUM_MAX + 1
	CALLFORM COM_AUTOSELECT_SET_CATEGORY_PRIORITY_{L_COUNTER}(MAIN_PLAYER, MAIN_TARGET)
NEXT

;-------------------------------------------------
;## デバッグ 登録漏れ確認
;-------------------------------------------------
[IF_DEBUG]
DEBUGPRINTFORML
DEBUGPRINTFORML #### DEBUG カテゴリ優先度 登録漏れ確認
FOR L_COUNTER, 1, COM_AUTO_CATEGORY_NUM_MAX + 1
	SIF COM_AUTO_CATEGORY_PRIORITY:L_COUNTER != 0
		CONTINUE
	DEBUGPRINTFORML {L_COUNTER, 4}.%COM_AUTO_N_COM_CATEGORY_NAME(L_COUNTER), 26, LEFT% カテゴリなし
NEXT
[ENDIF]

;-------------------------------------------------
;## デバッグ カテゴリ優先度 基本設定後
;-------------------------------------------------
[IF_DEBUG]
DEBUGPRINTFORML
DEBUGPRINTFORML #### DEBUG カテゴリ優先度 基本設定後
FOR L_COUNTER, 1, COM_AUTO_CATEGORY_NUM_MAX + 1
	IF COM_AUTO_CATEGORY_PRIORITY:L_COUNTER > 0
		DEBUGPRINTFORML {L_COUNTER, 4}.%COM_AUTO_COM_CATEGORY_NAME(L_COUNTER), 26, LEFT% %NUM_FORMAT(COM_AUTO_CATEGORY_PRIORITY:L_COUNTER), 10, RIGHT%
	ENDIF
NEXT
[ENDIF]

;-------------------------------------------------
;## 補正　慰安サービス側
;	慰安のときサービス側は相手にサービスを命令しにくい
;	性交させるや被虐するはどうぞ弄んでください的表現としてありか？
;-------------------------------------------------
{
	IF (FLAG:調教モード == 調教_慰安
		&& !TALENT:MAIN_PLAYER:慰安モブ
		&& !CFLAG:MAIN_PLAYER:慰安参加者)
		|| (TFLAG:奉仕モード && !TCVAR:MAIN_PLAYER:被奉仕者フラグ)
}
	SIF COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_愛撫させる > 0
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_愛撫させる /= 3
	SIF COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_奉仕させる > 0
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_奉仕させる /= 3
	SIF COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_潤滑追加させる > 0
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_潤滑追加させる /= 3
	SIF COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_避妊させる > 0
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_避妊させる /= 3
	SIF COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_露出させる > 0
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_露出させる /= 3
	SIF COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_道具使う > 0
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_道具使う /= 3
	SIF COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_道具使わせる > 0
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_道具使わせる /= 3
	SIF COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_加虐する > 0
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_加虐する /= 3
	SIF COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_小排泄させる > 0
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_小排泄させる /= 3
	SIF COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_大排泄させる > 0
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_大排泄させる /= 3
	SIF COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_酷く加虐する > 0
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_酷く加虐する /= 3
	SIF COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_触手を扱わせる > 0
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_触手を扱わせる /= 3
ENDIF

;-------------------------------------------------
;## 除外 奉仕に関する除外
;被奉仕者が実行すると不自然なカテゴリを除外する
;-------------------------------------------------
IF TCVAR:MAIN_PLAYER:被奉仕者フラグ
	IF GROUPMATCH(TCVAR:MAIN_PLAYER:被奉仕者フラグ, 奉仕_口淫, 奉仕_手淫)
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_愛撫する = -1
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_潤滑追加する = -1
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_奉仕する = -1
	ENDIF
	IF GROUPMATCH(TCVAR:MAIN_PLAYER:被奉仕者フラグ, 奉仕_自慰)
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_露出させる *= 2
	ENDIF
	SIF COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_露出する > 0
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_露出する /= 3
ENDIF

;-------------------------------------------------
;## 除外 特殊勢力・慰安モブ男性
;	上の指定ではCHECK_SP_SADIST_CHARA（慰安モブは動物以外、特殊勢力は自警団・サキュバス以外）
;	で攻め役を判断し、Ｓ行動の制限をなくしている
;	が、Ｍ行動は特に制限していない。理由はＭな淫乱痴女キャラを制限しないようにするため
;	男性のみ自主的なＭ行動を制限して竿役らしくする、排泄は判断がつかないのでスルー
;-------------------------------------------------
IF IS_MALE(MAIN_PLAYER) && (TALENT:MAIN_PLAYER:特殊勢力素質 || TALENT:MAIN_PLAYER:慰安モブ)
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_性交させる = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_潤滑追加させる = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_避妊させる = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_露出する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_道具使わせる = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_被虐する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_酷く被虐する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_触手を扱わせる = -1
ENDIF

;男慰安モブ側が実行なら。対象の場合はこの限りではない
IF TALENT:MAIN_PLAYER:慰安モブ && IS_MALE(MAIN_PLAYER)
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_性交させる = -1
	;オナホコキ指示をできるようにするには
	;コマンドの優先度設定側で分岐させて道具使わせるを生かす必要あり
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_道具使わせる = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_被虐する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_酷く被虐する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_露出する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_触手を扱わせる = -1
ENDIF

;-------------------------------------------------
;## 除外 動物モブ
;	対象なら、キャラ側から避妊させたり道具を使うことはできる
;-------------------------------------------------
IF GROUPMATCH(TALENT:MAIN_PLAYER:慰安モブ, 慰安_キャラ_犬, 慰安_キャラ_豚, 慰安_キャラ_馬, 慰安_キャラ_猿) || IS_ANIMAL(MAIN_PLAYER)
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_道具使う = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_道具使わせる = -1
	;動物側からイラマはさせたい
	;COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_加虐する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_被虐する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_露出する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_露出させる = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_酷く加虐する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_酷く被虐する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_小排泄させる = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_大排泄させる = -1
ENDIF
IF GROUPMATCH(TALENT:MAIN_TARGET:慰安モブ, 慰安_キャラ_犬, 慰安_キャラ_豚, 慰安_キャラ_馬, 慰安_キャラ_猿) || IS_ANIMAL(MAIN_TARGET)
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_道具使わせる = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_加虐する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_被虐する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_酷く加虐する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_酷く被虐する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_露出する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_露出させる = -1
	;キャラから動物に排泄を求めると散歩やお世話のようになりそうなので制限
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_小排泄させる = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_大排泄させる = -1
ENDIF

;-------------------------------------------------
;;; ##奉仕モード時の個別カテゴリ補正
;-------------------------------------------------
CALLFORM COM_AUTOSELECT_SET_CATEGORY_PRIORITY_FOR_SERVICE860(MAIN_PLAYER, MAIN_TARGET)

;-------------------------------------------------
;## 除外 おまかせ設定
;-------------------------------------------------
;-------------------------------------------------
;### 男性のＡ狙いを禁止設定
;-------------------------------------------------
IF !GETBIT(CONFIG:11, COM_AUTO_FILTER_男性のＡを狙う行為を許可)
	IF TOSTR_SEX(TALENT:MAIN_PLAYER:性別) == "男性"
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_避妊させる = -1
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_潤滑追加させる = -1
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_性交させる = -1
	ENDIF
	IF TOSTR_SEX(TALENT:MAIN_TARGET:性別) == "男性"
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_避妊する = -1
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_潤滑追加する = -1
		COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_性交する = -1
	ENDIF
ENDIF

;-------------------------------------------------
;### 過激な暴力を禁止
;-------------------------------------------------
IF GETBIT(CONFIG:11, COM_AUTO_FILTER_過激な暴力を禁止)
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_酷く加虐する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_酷く被虐する = -1
ENDIF

;-------------------------------------------------
;### ＳＭを禁止
;-------------------------------------------------
IF GETBIT(CONFIG:11, COM_AUTO_FILTER_ＳＭを禁止)
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_加虐する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_被虐する = -1
ENDIF

;-------------------------------------------------
;### 大スカを禁止
;-------------------------------------------------
IF GETBIT(CONFIG:11, COM_AUTO_FILTER_大スカを禁止)
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_大排泄する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_大排泄させる = -1
ENDIF

;-------------------------------------------------
;### 小スカを禁止
;-------------------------------------------------
IF GETBIT(CONFIG:11, COM_AUTO_FILTER_小スカを禁止)
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_小排泄する = -1
	COM_AUTO_CATEGORY_PRIORITY:COM_AUTO_CATEGORY_NUM_小排泄させる = -1
ENDIF

;-------------------------------------------------
;## 最低優先度
;-------------------------------------------------
FOR L_COUNTER, 1, COM_AUTO_CATEGORY_NUM_MAX + 1
	IF L_COUNTER == 1
		COM_AUTO_CATEGORY_PRIORITY:L_COUNTER = MAX(COM_AUTO_CATEGORY_PRIORITY:L_COUNTER, 2)
	ELSE
		COM_AUTO_CATEGORY_PRIORITY:L_COUNTER = MAX(COM_AUTO_CATEGORY_PRIORITY:L_COUNTER, 0)
	ENDIF
NEXT

;-------------------------------------------------
;## カテゴリの予約補正
;	許可されていれば、そのカテゴリの選択率を大幅に上昇
;	潤滑許可するとローション塗りからの予約行動で性交が出る可能性あり
;	第三者でゴムやローションからの予約発動が起きることがあるので
;	カテゴリが0なら予約発動しないようにした
;-------------------------------------------------
IF TFLAG:30 >= 1 && COM_AUTO_CATEGORY_PRIORITY:(TFLAG:30) > 0
	COM_AUTO_CATEGORY_PRIORITY:(TFLAG:30) += 10000
ENDIF

;-------------------------------------------------
;## デバッグ カテゴリ優先度 補正設定後
;-------------------------------------------------
[IF_DEBUG]
DEBUGPRINTFORML
DEBUGPRINTFORML #### DEBUG カテゴリ優先度 補正設定後
FOR L_COUNTER, 1, COM_AUTO_CATEGORY_NUM_MAX + 1
	IF COM_AUTO_CATEGORY_PRIORITY:L_COUNTER > 0
		DEBUGPRINTFORML {L_COUNTER, 4}.%COM_AUTO_COM_CATEGORY_NAME(L_COUNTER), 26, LEFT% %NUM_FORMAT(COM_AUTO_CATEGORY_PRIORITY:L_COUNTER), 10, RIGHT%
	ENDIF
NEXT
[ENDIF]

RETURN 0