code:
;=========================================================
;	モブ子用の画像文字列を設定
;
;	iID：キャラ番号
;=========================================================
@SET_MOB_IMAGE_STR(iID, ARGS, NUMBER=0)
#DIM iID				;=RANDOM_CHARANUMはモブ子 =0はモブ店員
#DIM NUMBER				;モブ店員用の番号

#DIMS CN_PARTS_STRUCT      ;可変画像用の文字列(服)
#DIMS CN_PARTS_STRUCT_NUDE ;可変画像用の文字列(裸)

#DIMS HAIR_TYPE        ;髪種別(STR:2000以降)
#DIMS HAED_TYPE        ;頭部種別(STR:2110以降)
#DIMS FACE_TYPE        ;表情種別(STR:2120以降)
#DIMS CLOTH_TYPE       ;服装種別(STR:2210以降)
#DIMS EYE_COLOR_TYPE   ;瞳色 *汎用色(STR:2050以降)
#DIMS HAIR_COLOR_TYPE  ;髪色 *汎用色(STR:2050以降)
#DIMS CLOTH_COLOR_TYPE ;服色 *汎用色(STR:2050以降)
#DIMS SKIN_COLOR_TYPE  ;肌色(STR:2100以降)
#DIMS EAR_COLOR_TYPE   ;耳色 *汎用色(STR:2050以降)
#DIMS TAIL_COLOR_TYPE  ;尾色 *汎用色(STR:2050以降)
#DIMS ACCESSORY_TYPE_1 ;装飾品種別(STR:2300以降)
#DIMS ACCESSORY_TYPE_2 ;装飾品種別(STR:2300以降)
#DIMS ACCESSORY_TYPE_3 ;装飾品種別(STR:2300以降)
#DIM WORD_COLOR_TYPE   ;口上色(髪色に準拠)

#DIM pauseNo
#DIM nudeFlag
#DIM BUST

;別絵モブ子は専用関数で作成
IF GROUPMATCH(ARGS, "販売員", "茨たぬき")
	CALL 別絵モブ子STR設定(iID, ARGS, NUMBER)
	RETURN RESULT
ENDIF
;パーツをランダムに設定
HAIR_TYPE        = %STR:(RAND:22 + 2000)%
;HAED_TYPE        = %STR:(RAND:3 + 2110)%
;顔は普通一択でいいじゃろ
HAED_TYPE        = 普通な顔
FACE_TYPE        = %TEXTR("普通な目/だる目/ワル目/丸釣り目/垂れ目/釣り目/猫目")%
ACCESSORY_TYPE_1 = なし
ACCESSORY_TYPE_2 = なし
ACCESSORY_TYPE_3 = なし

pauseNo          = RAND(1,4)
;栗色は瞳色との相性が良くない様子
EYE_COLOR_TYPE   = %TEXTR("黒/金/赤/銀/青/緑/桃/紫/白/橙/水/灰")%
HAIR_COLOR_TYPE  = %STR:(RAND:13 + 2050)%
CLOTH_COLOR_TYPE = %STR:(RAND:13 + 2050)%

SKIN_COLOR_TYPE  = 普通

SIF !RAND:5
	SKIN_COLOR_TYPE  = %TEXTR("褐色/日焼け/不健康")%

SELECTCASE ARGS
	CASE "백랑텐구"
		CLOTH_TYPE = 白狼天狗服(色固定)
		;SIF !RAND:5
		;	CLOTH_TYPE = 天狗服(色固定)
		HAIR_COLOR_TYPE  = 白
		ACCESSORY_TYPE_1 = 獣耳(耳)
		ACCESSORY_TYPE_2 = 獣しっぽ(尾)
		ACCESSORY_TYPE_3 = 白浪天狗帽子
	CASE "카라스텐구"
		CLOTH_TYPE = 天狗服(色固定)
		ACCESSORY_TYPE_1 = 天狗帽子
		ACCESSORY_TYPE_2 = 黒い羽根
		SIF !RAND:4
			ACCESSORY_TYPE_3 = %TEXTR("メガネ(普通)/メガネ(赤縁)/メガネ(黒縁)")%
	CASE "캇파", "スク水河童"
		CLOTH_TYPE = %TEXTR("河童服(色固定)/河童服(色固定)/河童服(色固定)/河童服")%
		IF ARGS == "スク水河童"
			CLOTH_TYPE = スク水
			CLOTH_COLOR_TYPE = 青
			ACCESSORY_TYPE_3 = 照れ
		ENDIF
		ACCESSORY_TYPE_1 = 河童帽子
		SIF !RAND:4
			ACCESSORY_TYPE_2 = %TEXTR("メガネ(普通)/メガネ(赤縁)/メガネ(黒縁)")%
	CASE "야마와로"
		pauseNo = RAND:2 ? 1 # 3
		CLOTH_TYPE = 山童服(色固定)
		ACCESSORY_TYPE_1 = 山童帽子
		SIF !RAND:4
			ACCESSORY_TYPE_2 = %TEXTR("メガネ(普通)/メガネ(赤縁)/メガネ(黒縁)")%
	CASE "요정", "메이드 요정", "좀비 페어리", "バニー妖精"
		CLOTH_TYPE = 妖精服
		ACCESSORY_TYPE_1 = 妖精の羽
		SIF !RAND:6
			ACCESSORY_TYPE_3 = %TEXTR("メガネ(普通)/メガネ(赤縁)/メガネ(黒縁)")%
		SIF !RAND:3
			ACCESSORY_TYPE_2 = %TEXTR("ヘアバンド(白)/ヘアバンド(赤)/ヘアバンド(服)/ZUN帽(服)")%
		IF ARGS == "메이드 요정"
			CLOTH_TYPE = メイド服
			ACCESSORY_TYPE_2 = メイドカチューシャ
		ELSEIF ARGS == "좀비 페어리"
			SKIN_COLOR_TYPE  = 悪魔
			HAIR_COLOR_TYPE = %TEXTR("白/灰/紫")%
			CLOTH_COLOR_TYPE = %TEXTR("灰/黒/栗")%
			SIF !RAND:3
				CLOTH_TYPE = ゴスロリ
		ELSEIF ARGS == "バニー妖精"
			;CSV登録時に別リソースで上書きしてある
			CLOTH_TYPE = 下着
			CLOTH_COLOR_TYPE =%TEXTR("黒/黒/黒/赤/青/")%
			;頭に色々付きすぎかも
			ACCESSORY_TYPE_3 = ウサ耳
			HAIR_TYPE = %TEXTR("長髪/セミロング/ショートカット/三つ編み/短髪/おさげ髪/ポンパドール/サイドダウン/お団子髪/まとめ髪/ボブカット/シニヨン/ロングヘア")%
			ACCESSORY_TYPE_2 = バニープリム%\@ pauseNo == 2 ? (ポーズ2用) # \@%
		ENDIF
	CASE "옥토끼"
		CLOTH_TYPE = 玉兎服(色固定)
		ACCESSORY_TYPE_1 = 玉兎ヘルメット
		SIF !RAND:6
			ACCESSORY_TYPE_2 = %TEXTR("メガネ(普通)/メガネ(赤縁)/メガネ(黒縁)")%
		;ヘルメットからはみ出るので髪型制限
		HAIR_TYPE = %TEXTR("長髪/セミロング/ショートカット/三つ編み/短髪/おさげ髪")%
	CASE "둔갑너구리"
		CLOTH_TYPE = 和服
		SIF RAND:5
			FACE_TYPE = %TEXTR("だる目(太眉)/ワル目(太眉)")%
		ACCESSORY_TYPE_1 = たぬき耳
		ACCESSORY_TYPE_2 = たぬきしっぽ
		;SIF !RAND:6
		;	ACCESSORY_TYPE_3 = %TEXTR("メガネ(普通)/メガネ(赤縁)/メガネ(黒縁)")%
		ACCESSORY_TYPE_3 = たぬき葉っぱ
	CASE "둔갑여우"
		CLOTH_TYPE = %TEXTR("和服/ゴスロリ")%
		ACCESSORY_TYPE_1 = 狐耳
		ACCESSORY_TYPE_2 = 狐しっぽ
		SIF !RAND:6
			ACCESSORY_TYPE_3 = %TEXTR("メガネ(普通)/メガネ(赤縁)/メガネ(黒縁)")%
	CASE "둔갑고양이"
		CLOTH_TYPE = %TEXTR("和服/私服D")%
		ACCESSORY_TYPE_1 = ネコ耳(耳)
		ACCESSORY_TYPE_2 = ネコしっぽ
		SIF !RAND:2
			FACE_TYPE = 猫目
		SIF !RAND:6
			ACCESSORY_TYPE_3 = %TEXTR("メガネ(普通)/メガネ(赤縁)/メガネ(黒縁)")%
	CASE "이나바"
		CLOTH_TYPE = %TEXTR("ドロワーズ/私服D")%
		SELECTCASE RAND:5
			CASE 0
				HAIR_COLOR_TYPE = 白
			CASE 1
				HAIR_COLOR_TYPE = 栗
			CASEELSE
			;ウサ耳が映えるのは黒だと思う
				HAIR_COLOR_TYPE = 黒
		ENDSELECT
		SIF !RAND:3
			EYE_COLOR_TYPE = 赤
		CLOTH_COLOR_TYPE = 白
		ACCESSORY_TYPE_1 = ウサ耳
		;ウサ耳とテール系は見てくれの相性が悪い？ので制限
		HAIR_TYPE = %TEXTR("長髪/セミロング/ショートカット/三つ編み/短髪/おさげ髪/ポンパドール/サイドダウン/お団子髪/まとめ髪/ボブカット/シニヨン/ロングヘア")%
	CASE "마을 아가씨","유부녀","店番","赤巫女","緑巫女","泡姫","のっぺらぼう"
		IF RAND:5 > 0 || ARGS == "のっぺらぼう"
			CLOTH_TYPE = 和服
		ELSE
			CLOTH_TYPE = %TEXTR("私服A/私服B/私服CA/私服CB/私服D")%
		ENDIF
		SIF !RAND:4 || ARGS == "店番"
			ACCESSORY_TYPE_3 = %TEXTR("メガネ(普通)/メガネ(赤縁)/メガネ(黒縁)")%
		;SIF !RAND:3
		;	ACCESSORY_TYPE_1 = %TEXTR("ヘアバンド(白)/ヘアバンド(赤)/ヘアバンド(服)")%
		SIF ARGS == "마을 아가씨" && !RAND:8
			CLOTH_TYPE = ゴスロリ
		;顔絵のみで立ち絵は未実装
		IF ARGS == "赤巫女"
			CLOTH_TYPE = 巫女服(赤)
			HAIR_COLOR_TYPE = 黒
		ELSEIF ARGS == "緑巫女"
			CLOTH_TYPE = 巫女服(緑)
			HAIR_COLOR_TYPE = 緑
		ENDIF
	CASE "오니"
		CLOTH_TYPE = 和服
		SELECTCASE RAND:2
			CASE 0
				ACCESSORY_TYPE_1 = 鬼の角
				;二角の場合はツインテール系との相性が悪いので制限
				HAIR_TYPE = %TEXTR("長髪/セミロング/ショートカット/ポニーテール/短髪/ポンパドール/ダブルポニー/まとめ髪/ボブカット/シニヨン/ロングヘア")%
			CASEELSE
				ACCESSORY_TYPE_1 = 鬼の角(一角)
		ENDSELECT
	;いちおうモブ子にも流用できるようになってる。でも（需要と実装予定が）ないです
	CASE "尼"
		HAIR_TYPE = 薙髪
		CLOTH_TYPE = 和服
		CLOTH_COLOR_TYPE = 黒
		HAIR_COLOR_TYPE = 黒
		ACCESSORY_TYPE_1 = 尼頭巾
		SIF !RAND:4
			ACCESSORY_TYPE_3 = %TEXTR("メガネ(普通)/メガネ(赤縁)/メガネ(黒縁)")%
	CASE "番台ちゃん"
		IF !RAND:3
			CLOTH_TYPE = バスタオル
			SIF !RAND:3
				HAIR_TYPE = 巻きタオル
		ELSE
			CLOTH_TYPE = %TEXTR("私服A/私服B/私服CA/私服CB/私服D/ゴスロリ")%
			SIF RAND:3
				CLOTH_TYPE = 和服
		ENDIF
		SIF !RAND:4
			ACCESSORY_TYPE_3 = %TEXTR("メガネ(普通)/メガネ(赤縁)/メガネ(黒縁)")%
		;この子は目つき悪そうなイメージなので
		FACE_TYPE = %TEXTR("だる目/ワル目")%
	CASE "서큐버스"
		IF RAND:3 > 0
			CLOTH_TYPE = ゴスロリ
		ELSE
			CLOTH_TYPE = %TEXTR("私服A/私服B/私服CA/私服CB/私服D")%
		ENDIF
		EAR_COLOR_TYPE   = %HAIR_COLOR_TYPE%
		ACCESSORY_TYPE_1 = 淫紋
		ACCESSORY_TYPE_2 = 悪魔の羽
		ACCESSORY_TYPE_3 = 悪魔耳
		SIF !RAND:3
			SKIN_COLOR_TYPE  = %TEXTR("褐色/褐色/悪魔/不健康")%
		TAIL_COLOR_TYPE  = %\@ SKIN_COLOR_TYPE  == "褐色" ? 銀 # 青 \@%
		SIF GROUPMATCH(HAIR_COLOR_TYPE, "黒", "灰")
			EAR_COLOR_TYPE = 白
		GOTO SKIP
	CASE "水子"
		pauseNo = RAND:2 * 2 + 2
		CLOTH_TYPE = 水子服(色固定)
		CLOTH_COLOR_TYPE = 青
		SKIN_COLOR_TYPE  = 土気色
		SIF !RAND:5
			ACCESSORY_TYPE_1 = %TEXTR("メガネ(普通)/メガネ(赤縁)/メガネ(黒縁)")%
	CASEELSE
		CLOTH_TYPE       = %STR:(RAND:17 + 2210)%
		ACCESSORY_TYPE_1 = %STR:(RAND:32 + 2300)%
		ACCESSORY_TYPE_2 = %STR:(RAND:32 + 2300)%
		ACCESSORY_TYPE_3 = %STR:(RAND:32 + 2300)%
ENDSELECT

EAR_COLOR_TYPE   = %HAIR_COLOR_TYPE%
TAIL_COLOR_TYPE  = %HAIR_COLOR_TYPE%

$SKIP
;化け狸以外も確率で太眉
IF GROUPMATCH(FACE_TYPE, "だる目", "ワル目") && !RAND:4
	FACE_TYPE    = %FACE_TYPE%(太眉)
;リソースは登録されてるので黒目がちを混ぜてみる
ELSEIF !GROUPMATCH(EYE_COLOR_TYPE, "桃", "紫", "金", "白") && !RAND:3 && STRFIND(FACE_TYPE, "太眉") == -1
	FACE_TYPE    = %FACE_TYPE%(黒め)
ENDIF
;仕様上、太眉は瞳色＝眉色なので髪色も合わせておく
IF STRFIND(FACE_TYPE, "太眉") >= 0 && ARGS != "イナバ"
	EYE_COLOR_TYPE = %HAIR_COLOR_TYPE%
	SIF EYE_COLOR_TYPE == "栗"
		EYE_COLOR_TYPE = 橙
;髪色に合わせた方が統一感出るよね。でもスク水はやっぱり青だよね
ELSEIF RAND:2 && !GROUPMATCH(ARGS, "水子", "スク水河童", "バニー妖精", "サキュバス") && STRFIND(FACE_TYPE, "太眉") == -1
	CLOTH_COLOR_TYPE = %HAIR_COLOR_TYPE%
ENDIF

;お風呂屋の店員用
IF iID == RANDOM_CHARANUM && NUMBER == 1 || ARGS == "サキュバス"
	CLOTH_TYPE = バスタオル
	CLOTH_COLOR_TYPE = %TEXTR("白/金/水/灰")%
ENDIF

;髪色に合わせ口上色を指定
WORD_COLOR_TYPE = GET_CN_WORD_COLOR(HAIR_COLOR_TYPE)

;バストサイズ指定。モブ店員は完全ランダム
BUST = iID ? TALENT:iID:가슴사이즈 # (RAND:3) - 1

;可変画像の設定
CN_PARTS_STRUCT = ""
CN_PARTS_STRUCT += GET_CN_STR_HAIR(HAIR_TYPE)
CN_PARTS_STRUCT += GET_CN_STR_HAED(HAED_TYPE)
CN_PARTS_STRUCT += GET_CN_STR_EYE_COLOR(EYE_COLOR_TYPE)
CN_PARTS_STRUCT += GET_CN_STR_HAIR_COLOR(HAIR_COLOR_TYPE)
CN_PARTS_STRUCT += GET_CN_STR_CLOTH_COLOR(CLOTH_COLOR_TYPE)
CN_PARTS_STRUCT += GET_CN_STR_SKIN_COLOR(SKIN_COLOR_TYPE)
CN_PARTS_STRUCT += GET_CN_STR_EAR_COLOR(EAR_COLOR_TYPE)
CN_PARTS_STRUCT += GET_CN_STR_TAIL_COLOR(TAIL_COLOR_TYPE)

; 服・裸で文字列を分ける
CN_PARTS_STRUCT_NUDE = %CN_PARTS_STRUCT%

; 服
nudeFlag = 0
CN_PARTS_STRUCT += GET_CN_STR_CLOTH(CLOTH_TYPE, nudeFlag, pauseNo, BUST)
CN_PARTS_STRUCT += GET_CN_STR_ACCESSORY(ACCESSORY_TYPE_1, 1, nudeFlag)
CN_PARTS_STRUCT += GET_CN_STR_ACCESSORY(ACCESSORY_TYPE_2, 2, nudeFlag)
CN_PARTS_STRUCT += GET_CN_STR_ACCESSORY(ACCESSORY_TYPE_3, 3, nudeFlag)
; 裸
nudeFlag = 1
CN_PARTS_STRUCT_NUDE += GET_CN_STR_CLOTH(CLOTH_TYPE, nudeFlag, pauseNo, BUST)
CN_PARTS_STRUCT_NUDE += GET_CN_STR_ACCESSORY(ACCESSORY_TYPE_1, 1, nudeFlag)
CN_PARTS_STRUCT_NUDE += GET_CN_STR_ACCESSORY(ACCESSORY_TYPE_2, 2, nudeFlag)
CN_PARTS_STRUCT_NUDE += GET_CN_STR_ACCESSORY(ACCESSORY_TYPE_3, 3, nudeFlag)
;保存
IF iID
	CSTR:iID:모브코화상문자열_옷_통상 = %CN_PARTS_STRUCT%%GET_CN_STR_FACE(FACE_TYPE, "通常", HAIR_COLOR_TYPE)%
	CSTR:iID:모브코화상문자열_옷_미소 = %CN_PARTS_STRUCT%%GET_CN_STR_FACE(FACE_TYPE, "笑顔", HAIR_COLOR_TYPE)%
	CSTR:iID:모브코화상문자열_옷_분노 = %CN_PARTS_STRUCT%%GET_CN_STR_FACE(FACE_TYPE, "怒り", HAIR_COLOR_TYPE)%
	CSTR:iID:모브코화상문자열_알몸_통상 = %CN_PARTS_STRUCT_NUDE%%GET_CN_STR_FACE(FACE_TYPE, "通常", HAIR_COLOR_TYPE)%
	CSTR:iID:모브코화상문자열_알몸_미소 = %CN_PARTS_STRUCT_NUDE%%GET_CN_STR_FACE(FACE_TYPE, "笑顔２", HAIR_COLOR_TYPE)%
	CSTR:iID:모브코화상문자열_알몸_분노 = %CN_PARTS_STRUCT_NUDE%%GET_CN_STR_FACE(FACE_TYPE, "怒り", HAIR_COLOR_TYPE)%
	CFLAG:iID:1000 = WORD_COLOR_TYPE
;モブ店員顔。セーブはしないので広域変数に格納
ELSE
	モブ子店員画像文字列:NUMBER:0 = %CN_PARTS_STRUCT%%GET_CN_STR_FACE(FACE_TYPE, "通常", HAIR_COLOR_TYPE)%
	モブ子店員画像文字列:NUMBER:1 = %CN_PARTS_STRUCT%%GET_CN_STR_FACE(FACE_TYPE, "笑顔", HAIR_COLOR_TYPE)%
	モブ子店員画像文字列:NUMBER:2 = %CN_PARTS_STRUCT%%GET_CN_STR_FACE(FACE_TYPE, "怒り", HAIR_COLOR_TYPE)%
	モブ子店員画像文字列:NUMBER:3 = %CN_PARTS_STRUCT_NUDE%%GET_CN_STR_FACE(FACE_TYPE, "通常", HAIR_COLOR_TYPE)%
	モブ子店員画像文字列:NUMBER:4 = %CN_PARTS_STRUCT_NUDE%%GET_CN_STR_FACE(FACE_TYPE, "笑顔２", HAIR_COLOR_TYPE)%
	モブ子店員画像文字列:NUMBER:5 = %CN_PARTS_STRUCT_NUDE%%GET_CN_STR_FACE(FACE_TYPE, "怒り", HAIR_COLOR_TYPE)%
	モブ子店員口上色:NUMBER = WORD_COLOR_TYPE
ENDIF
RETURN RESULT

;=========================================================
;	髪型文字列の取得
;
;	HAIR_TYPE：髪種別(STR:2000以降)
;=========================================================
@GET_CN_STR_HAIR(HAIR_TYPE)
#FUNCTIONS
#DIMS HAIR_TYPE

SELECTCASE HAIR_TYPE
	CASE "長髪"
		RETURNF "[前髪:前髪_お嬢様][後髪:後髪_ロング]"
	CASE "セミロング"
		RETURNF "[前髪:前髪_ワイルド][後髪:後髪_セミロング]"
	CASE "ショートカット"
		RETURNF "[前髪:前髪_ぱっつん][後髪:後髪_ショート]"
	CASE "ポニーテール"
		RETURNF @"[前髪:前髪_お嬢様][後髪:後髪_ポニーテール]%\@ !RAND:4 ? [装飾10:装飾_ポニーテールリボン] # \@%"
	CASE "ツインテール"
		RETURNF @"[前髪:前髪_無造作][後髪:後髪_ツインテール(長)]%\@ !RAND:4 ? [装飾10:装飾_ツインリボン] # \@%"
	CASE "サイドテール"
		RETURNF "[前髪:前髪_中分け1][後髪:後髪_サイドテール]" + "[装飾10:装飾_ヘアバンド(赤)]"
	CASE "縦ロール"
		RETURNF @"[前髪:前髪_ぱっつん][後髪:後髪_ツインドリル]%\@ !RAND:4 ? [装飾10:装飾_ツインリボン] # \@%"
	CASE "ツインリング"
		;髪型が無い
		RETURNF "[前髪:前髪_ナチュラル][後髪:後髪_ツインテール(短)]"
	CASE "三つ編み"
		RETURNF @"[前髪:前髪_横分け][後髪:後髪_三つ編み]%\@ !RAND:4 ? [装飾10:装飾_三つ編みリボン] # \@%"
	CASE "短髪"
		RETURNF "[前髪:前髪_無造作][後髪:後髪_ショート]"
	CASE "おさげ髪"
		RETURNF "[前髪:前髪_ワイルド][後髪:後髪_ショート]" + "[装飾10:装飾_もみあげ編み(髪)][装飾8:装飾_リボン右側][装飾7:装飾_リボン左側]"
	CASE "ポンパドール"
		RETURNF "[前髪:前髪_中分け1][後髪:後髪_ウェーブセミロング]"
	CASE "ポニーアップ"
		RETURNF "[前髪:前髪_無造作][後髪:後髪_ポニーテール]"
	CASE "サイドダウン"
		RETURNF "[前髪:前髪_横分け][後髪:後髪_ショート]" + "[装飾10:装飾_もみあげ片編み(髪)]"
	CASE "お団子髪"
		;髪型が無い
		RETURNF "[前髪:前髪_ぱっつん][後髪:後髪_セミロング]"
	CASE "ツーサイドアップ"
		RETURNF @"[前髪:前髪_ぱっつん][後髪:後髪_ツインテール(短)]%\@ !RAND:4 ? [装飾10:装飾_ツインリボン] # \@%"
	CASE "ダブルポニー"
		RETURNF "[前髪:前髪_中分け1][後髪:後髪_ポニーテール]"
	CASE "横ロール"
		RETURNF @"[前髪:前髪_ナチュラル][後髪:後髪_ツインドリル]%\@ !RAND:4 ? [装飾10:装飾_ツインリボン] # \@%"
	CASE "まとめ髪"
		RETURNF @"[前髪:前髪_ワイルド][後髪:後髪_サイドテール]%\@ !RAND:4 ? [装飾10:装飾_サイドテールリボン] # \@%"
	CASE "ボブカット"
		RETURNF "[前髪:前髪_ぱっつん][後髪:後髪_ボブカット]"
	CASE "シニヨン"
		;髪型が無い
		RETURNF "[前髪:前髪_ウェーブ][後髪:後髪_ウェーブショート]"
	CASE "ロングヘア"
		RETURNF "[前髪:前髪_ナチュラル][後髪:後髪_ウェーブロング]"
	CASE "薙髪"
		RETURNF ""
	CASE "巻きタオル"
		RETURNF "[前髪:前髪_巻きタオル]"
	CASEELSE
		RETURNF "[前髪:前髪_お嬢様][後髪:後髪_ロング]"
ENDSELECT

;=========================================================
;	頭部文字列の取得
;
;	HAED_TYPE：頭部種別(STR:2110以降)
;=========================================================
@GET_CN_STR_HAED(HAED_TYPE)
#FUNCTIONS
#DIMS HAED_TYPE

RETURNF @"[頭部:頭部_%HAED_TYPE%]"

;=========================================================
;	表情文字列の取得
;
;	FACE_TYPE：表情種別(STR:2120以降)
;	moodStr：表情種別("通常"・"笑顔"・"怒り"・"笑顔２")
;	HAIR_COLOR_TYPE：髪色(STR:2050以降)
;	* 髪色が赤系統の場合、見えづらいので[マーク(怒り赤)]を[マーク(怒り黄)]に変更
;	* 怒りマークの装飾番号を9に変更 髪型との干渉避け
;	* (黒め)の表情を掘り起こすように改変
;=========================================================
@GET_CN_STR_FACE(FACE_TYPE, moodStr, HAIR_COLOR_TYPE)
#FUNCTIONS
#DIMS FACE_TYPE
#DIMS moodStr
#DIMS HAIR_COLOR_TYPE
#DIMS moodStr2
#DIMS 指定
#DIMS 指定2
指定 =
指定2 =
IF STRFIND(FACE_TYPE, "黒め") >= 0
	指定 = (黒め)
ELSEIF STRFIND(FACE_TYPE, "太眉") >= 0
	指定 = (太眉)
	指定2 = (太眉)
ENDIF

IF moodStr == "笑顔２"
	moodStr2 = 笑顔
ELSE
	moodStr2 = %moodStr%
ENDIF

SELECTCASE FACE_TYPE
	CASE "普通な目", "普通な目(黒め)"
		SELECTCASE moodStr2
			CASE "通常"
				RETURNF @"[目瞳:目瞳_普通な目%指定%1][表情:表情_笑い(口閉じ)]"
			CASE "笑顔"
				LOCALS = [目瞳:目瞳_閉じ目2][表情:表情_笑い(口開き)]
			CASE "怒り"
				LOCALS = [目瞳:目瞳_普通な目%指定%2][表情:表情_怒り(口開き)][装飾9:装飾_マーク(怒り赤)]
		ENDSELECT
	CASE "だる目", "だる目(黒め)", "だる目(太眉)"
		SELECTCASE moodStr2
			CASE "通常"
				RETURNF @"[目瞳:目瞳_だる目%指定%1][表情:表情_笑い(口閉じ)%指定2%]"
			CASE "笑顔"
				LOCALS = [目瞳:目瞳_だる目%指定%2][表情:表情_笑い(ニッ)%指定2%]"
			CASE "怒り"
				LOCALS = [目瞳:目瞳_だる目%指定%3][表情:表情_怒り(口開き)%指定2%][装飾9:装飾_マーク(怒り赤)]"
		ENDSELECT
	CASE "ワル目", "ワル目(黒め)", "ワル目(太眉)"
		SELECTCASE moodStr2
			CASE "通常"
				RETURNF @"[目瞳:目瞳_ワル目%指定%1][表情:表情_笑い(口閉じ)%指定2%]"
			CASE "笑顔"
				LOCALS = [目瞳:目瞳_ワル目%指定%2][表情:表情_笑い(ニッ)%指定2%]
			CASE "怒り"
				LOCALS = [目瞳:目瞳_ワル目%指定%3][表情:表情_怒り(口閉じ)%指定2%][装飾9:装飾_マーク(怒り赤)]
		ENDSELECT
	CASE "丸釣り目", "丸釣り目(黒め)"
		SELECTCASE moodStr2
			CASE "通常"
				RETURNF @"[目瞳:目瞳_丸釣り目%指定%1][表情:表情_笑い(口閉じ)]"
			CASE "笑顔"
				LOCALS = [目瞳:目瞳_閉じ目2][表情:表情_笑い(口開き)]
			CASE "怒り"
				LOCALS = [目瞳:目瞳_丸釣り目%指定%2][表情:表情_怒り(口開き)][装飾9:装飾_マーク(怒り赤)]
		ENDSELECT
	CASE "垂れ目", "垂れ目(黒め)"
		SELECTCASE moodStr2
			CASE "通常"
				RETURNF @"[目瞳:目瞳_垂れ目%指定%1][表情:表情_笑い(口閉じ)]"
			CASE "笑顔"
				LOCALS = [目瞳:目瞳_閉じ目2][表情:表情_笑い(口閉じ)]
			CASE "怒り"
				LOCALS = [目瞳:目瞳_垂れ目%指定%2][表情:表情_怒り(口閉じ)][装飾9:装飾_マーク(怒り赤)]
		ENDSELECT
	CASE "釣り目", "釣り目(黒め)"
		SELECTCASE moodStr2
			CASE "通常"
				RETURNF @"[目瞳:目瞳_釣り目%指定%1][表情:表情_笑い(口閉じ)]"
			CASE "笑顔"
				LOCALS = [目瞳:目瞳_閉じ目2][表情:表情_笑い(口開き)]
			CASE "怒り"
				LOCALS = [目瞳:目瞳_釣り目%指定%2][表情:表情_怒り(口開き)][装飾9:装飾_マーク(怒り赤)]
		ENDSELECT
	CASE "猫目", "猫目(黒め)"
		SELECTCASE moodStr2
			CASE "通常"
				RETURNF @"[目瞳:目瞳_丸釣り目%指定%1][表情:表情_猫口(口閉じ)]"
			CASE "笑顔"
				LOCALS = [目瞳:目瞳_閉じ目2][表情:表情_猫口(口開き)]
			CASE "怒り"
				LOCALS = [目瞳:目瞳_普通な目%指定%2][表情:表情_怒り(口開き)][装飾9:装飾_マーク(怒り赤)]
		ENDSELECT
	CASEELSE
		SELECTCASE moodStr2
			CASE "通常"
				RETURNF @"[目瞳:目瞳_普通な目%指定%1][表情:表情_笑い(口閉じ)]"
			CASE "笑顔"
				LOCALS = [目瞳:目瞳_閉じ目2][表情:表情_笑い(口開き)]
			CASE "怒り"
				LOCALS = [目瞳:目瞳_普通な目%指定%2][表情:表情_怒り(口開き)][装飾9:装飾_マーク(怒り赤)]
		ENDSELECT
ENDSELECT
SIF moodStr == "笑顔２"
	LOCALS += "[装飾9:装飾_照れ][乗色:朱色]"
SIF GET_CN_STR_HAIR_COLOR_IS_RED(HAIR_COLOR_TYPE)
	LOCALS = %REPLACE(@"%LOCALS%","怒り赤","怒り黄")%
RETURNF LOCALS

;=========================================================
;	服装文字列の取得
;
;	CLOTH_TYPE：服装種別(STR:2210以降)
;	nudeFlag：裸の場合、1
;	pauseNo：ポーズ番号(1,2,3 のいずれか)
;=========================================================
@GET_CN_STR_CLOTH(CLOTH_TYPE, nudeFlag, pauseNo, BUST)
#FUNCTIONS
#DIMS CLOTH_TYPE
#DIM nudeFlag = 0
#DIM pauseNo = 1
#DIM BUST = 0
IF nudeFlag
	SIF GROUPMATCH(pauseNo, 4)
		RETURNF @"[身体:身体_素体{pauseNo}]"
	SELECTCASE BUST
		CASE 0
			RETURNF @"[身体:身体_素体(並乳){pauseNo}]"
		CASE IS > 0
			RETURNF @"[身体:身体_素体(巨乳){pauseNo}]"
		CASE IS < 0
			RETURNF @"[身体:身体_素体(絶壁){pauseNo}]"
	ENDSELECT
	;RETURNF @"[身体:身体_素体{pauseNo}]"
ELSE
	RETURNF @"[身体:身体_%CLOTH_TYPE%{pauseNo}]"
ENDIF

;=========================================================
;	装飾品文字列の取得
;
;	ACCESSORY_TYPE：装飾品(STR:2300以降)
;	accessoryNumber：装飾品の描画順序
;	nudeFlag：裸の場合、1
;=========================================================
@GET_CN_STR_ACCESSORY(ACCESSORY_TYPE, accessoryNumber, nudeFlag)
#FUNCTIONS
#DIMS ACCESSORY_TYPE
#DIM accessoryNumber
#DIM nudeFlag = 0

SELECTCASE ACCESSORY_TYPE
	CASE "ZUN帽","ZUN帽(服)","河童帽子","天狗帽子","白浪天狗帽子"
		SIF !nudeFlag
			RETURNF  @"[装飾{accessoryNumber}:装飾_%ACCESSORY_TYPE%]"
	CASEELSE
		RETURNF  @"[装飾{accessoryNumber}:装飾_%ACCESSORY_TYPE%]"
ENDSELECT

;=========================================================
;	髪色文字列の取得
;
;	COLOR_TYPE：汎用色(STR:2050以降)
;=========================================================
@GET_CN_STR_HAIR_COLOR(COLOR_TYPE)
#FUNCTIONS
#DIMS COLOR_TYPE

RETURNF @"[髪色:%COLOR_TYPE%]"

;=========================================================
;	髪の色が赤系統かを判定
;
;	COLOR_TYPE：汎用色(STR:2050以降)
;=========================================================
@GET_CN_STR_HAIR_COLOR_IS_RED(COLOR_TYPE)
#FUNCTION
#DIMS COLOR_TYPE

SELECTCASE COLOR_TYPE
	CASE "赤","桃","紫","橙"
		RETURNF 1
	CASEELSE
		RETURNF 0
ENDSELECT

;=========================================================
;	瞳色文字列の取得
;
;	COLOR_TYPE：汎用色(STR:2050以降)
;=========================================================
@GET_CN_STR_EYE_COLOR(COLOR_TYPE)
#FUNCTIONS
#DIMS COLOR_TYPE

RETURNF @"[瞳色:%COLOR_TYPE%]"

;=========================================================
;	服色文字列の取得
;
;	COLOR_TYPE：汎用色(STR:2050以降)
;=========================================================
@GET_CN_STR_CLOTH_COLOR(COLOR_TYPE)
#FUNCTIONS
#DIMS COLOR_TYPE

RETURNF @"[服色:%COLOR_TYPE%]"

;=========================================================
;	肌色文字列の取得
;
;	COLOR_TYPE：汎用色(STR:2050以降)
;=========================================================
@GET_CN_STR_SKIN_COLOR(SKIN_COLOR_TYPE)
#FUNCTIONS
#DIMS SKIN_COLOR_TYPE

RETURNF @"[肌色:%SKIN_COLOR_TYPE%]"

;=========================================================
;	耳色文字列の取得
;
;	COLOR_TYPE：汎用色(STR:2050以降)
;=========================================================
@GET_CN_STR_EAR_COLOR(COLOR_TYPE)
#FUNCTIONS
#DIMS COLOR_TYPE

RETURNF @"[耳色:%COLOR_TYPE%]"

;=========================================================
;	尾色文字列の取得
;
;	COLOR_TYPE：汎用色(STR:2050以降)
;=========================================================
@GET_CN_STR_TAIL_COLOR(COLOR_TYPE)
#FUNCTIONS
#DIMS COLOR_TYPE

RETURNF @"[尾色:%COLOR_TYPE%]"

;=========================================================
;モブ子の口上色を指定する式中関数
;=========================================================
@GET_CN_WORD_COLOR(ARGS)
#FUNCTION
SELECTCASE ARGS
	CASE "黒"
		RETURNF 0X888888
	CASE "栗"
		RETURNF 0XA75A12
	CASE "金"
		RETURNF 0XFFFEA5
	CASE "赤"
		RETURNF 0XA84F66
	CASE "銀"
		RETURNF 0XD8FFFE
	CASE "青"
		RETURNF 0X7BAEED
	CASE "緑"
		RETURNF 0X50A160
	CASE "桃"
		RETURNF 0XCE6F75
	CASE "紫"
		RETURNF 0XFFBEFF
	CASE "白"
		RETURNF 0XFFFFFF
	CASE "橙"
		RETURNF 0XFF9400
	CASE "水"
		RETURNF 0XC0FFFD
	CASE "灰"
		RETURNF 0XCECECE
	;エラー対策。デフォルト色を返す
	CASEELSE
		RETURNF 0XD5DEDF
ENDSELECT


code:
;『뉴플랜』을 실행하는 함수
@INVITE_NEWPLAN
#DIM 체인지횟수
#DIM 지명횟수
#DIM 희망
#DIM 폭 = 0, 5, 10, 0
#DIM 위치  = 5, 5, 5, 15
{
#DIMS AWAHIME_RACE = "유부녀", "마을 아가씨", "泡姫", "카라스텐구", "캇파",
					 "둔갑너구리", "둔갑여우", "이나바", "백랑텐구", "둔갑고양이",
					 "오니", "메이드요정", "좀비 페어리", "요정", "서큐버스"
}
체인지횟수 = 0
지명횟수 = 0
TARGET = 0
RESULT = 0
VARSET LOCAL
;３日に一度販売員がお勤め
SIF ((GETTIME()/1000000000) % 100) % 3 == 2
	AWAHIME_RACE:5 = 販売員
IF !STRCOUNT(CSTR:0:0, "泡入浴/")
	CSTR:0:0 = %CSTR:0:0%泡入浴/
	PRINTL 「んーぎゃ、いい判断だぎゃ」
	PRINTW 「ほしたら、『にゅーぷらん』のしぇつめーをしてやるんだぎゃ！」
	PRINTL 「みゃず、ぎゃーの見しぇてやる似顔絵から、好みのメスっこを選ぶぎゃ」
	PRINTL 「そのあと、おみゃーしゃんを貸し切りの風呂に案内したるぎゃ！」
	PRINTW 「ほんでちょーっと待ったら、メスっこがやってきて一緒に風呂ひゃーってくれるぎゃ……」
	PRINTL
	PRINTL 「しょのあとは知らん！　ぎゃーはいーっしゃい関係にゃーぎゃ」
	PRINTL 「おみゃーしゃんとメスっこぎゃ、仲よくしょーぎゃ、あれこれしょーぎゃ、好きにすればいいぎゃ！」
	PRINTW 「時間はてゃーっぷり90分！　足りんけりゃ延長もおーけーぎゃ」
	PRINTL
	PRINTL 「ほれっ、ほれっ！　やる気が出たんでねーぎゃ？」
	PRINTW 番台の妖怪は、げへげへとさらに厭らしい笑みを浮かべている
ELSE
	PRINTL 「んーぎゃ、おみゃーしゃんは、やーっぱり好きものだぎゃ！」
	PRINTL 番台の妖怪は、げっへっへと相変わらず厭らしい笑みを浮かべている
ENDIF
PRINTL
$LOOP_SOAP0
PRINTFORML 「\@ !RESULT ? ほったら # もーいっきゃー \@、好みのメスっこのてゃーぷ、ぎゃーにおしえるだぎゃー」
PRINTL [1] 普通の娘
PRINTL [2] ケモミミっ娘
PRINTL [3] 人外娘
PRINTL [4] おまかせ
PRINTL [5] お気にの子を指名
PRINTL [0] 역시 그만둔다
$LOOP_SOAP1
INPUT
SELECTCASE RESULT
	CASE 0
		SIF 체인지횟수 > 0 || 지명횟수 > 0
			CALL SOAP_RESET
		IF TFLAG:211 >= 2
			PRINTL 「んがー！！　んがー！！　んがー！！」
			PRINTW 「おみゃーはっ！　ぎゃーの金もーけの邪魔ぎゃ！」
			PRINTL 「おーい！！　おみゃーら！　でてこいっ！」
			PRINTW 「こいつをほーりだすぎゃ！！」
			CALL KOWAI_ONISAN
			RETURN 0
		ELSE
			PRINTL 「はぁ！？　やめちみゃうんぎゃ！？」
			PRINTL 「よーぎゃねーなら、とっとと帰るぎゃ！」
			TFLAG:211 = 2
			RETURN -1
		ENDIF
	CASE 1 TO 5
		희망 = RESULT -1
	CASEELSE
		CLEARLINE 1
		REUSELASTLINE 「好みははっきり言うんだぎゃ！！」
		GOTO LOOP_SOAP1
ENDSELECT
$LOOP_SOAP2
SELECTCASE 체인지횟수
	CASE 0
		IF 희망 == 3
			PRINTL 「おうおう、安心してみゃかすんぎゃ」
			PRINTW 「うちゃー、きれーどころが揃ってるぎゃ！」
		ELSEIF 희망 == 4
			PRINTL 「お気にぃーりのメスっこ、見つかったぎゃ？」
			PRINTW 「ほしたら、てゃーくさんうちに来て、たーんまり金落っことすといーぎゃ！」
		ELSE
			PRINTL 「おうおう、わかったぎゃ」
			PRINTW 「おみゃーしゃん好みなメスっこはと…」
		ENDIF
	CASE 1 TO 9, 11 TO 17
		PRINTFORML 「\@ 체인지횟수 < 10 ? これでだめぎゃ？ # まーだ決みゃらんぎゃ… \@」
		PRINTW 「ほんなら、べつのメスっこはと…」
	CASE 10
		PRINTL 「しっかし、ちゅーもんの多い客だぎゃ」
		PRINTW 「メスっこにゃー、おっぴゃーと穴がありゃ別にいいんだぎゃ…」
	CASE 18
		PRINTL 「いーかげんにするぎゃ！」
		PRINTW 「もうメスっこがおらんくなるぎゃ！！」
	CASE 19
		PRINTL 「んがー！」
		PRINTW 「こいつぎゃっ！　しゃーごのっ！　メスっこだぎゃーっ！！」
ENDSELECT
;リピート指名
IF 희망 == 4
	지명횟수 ++
	CALL LOAD_MOBGIRL(1)
	SIF RESULT == -1
		GOTO LOOP_SOAP0
	CFLAG:RANDOM_CHARANUM:출금 = 0
	;なぜか再登場は裸なので無理やりバスタオル着せる。衣装周りは複雑でよくわからない
	EQUIP:RANDOM_CHARANUM:원피스 = 13
	CFLAG:RANDOM_CHARANUM:노팬티 = 1
	CFLAG:RANDOM_CHARANUM:상반신속옷확인 = 1
	CFLAG:RANDOM_CHARANUM:하반신속옷확인 = 1
	;攻守交代時すぐ萎えないように溜まってる度を補充
	CFLAG:RANDOM_CHARANUM:욕구불만도 = LIMIT(CFLAG:RANDOM_CHARANUM:욕구불만도 + RAND:200, 500, 1000)
	TALENT:RANDOM_CHARANUM:기분 = 0 + RAND:2
	TCVAR:RANDOM_CHARANUM:피임약 = 1
ELSE
	체인지횟수 ++
	LOCAL = RAND(폭:희망) + 위치:희망
	SIF AWAHIME_RACE:LOCAL == "둔갑너구리" && RAND:2
		AWAHIME_RACE:LOCAL = 茨たぬき
	CALL MAKE_YUKIZURI(RANDOM_CHARANUM, AWAHIME_RACE:LOCAL, 2)
ENDIF
TEQUIP:RANDOM_CHARANUM:상반신착의상황 = 1
CALL CHARA_STATE(RANDOM_CHARANUM)
DRAWLINE
CALL COLORMESSAGE(@"처녀상실이력：%CSTR:RANDOM_CHARANUM:처녀상실이력%", C_PINK, 1)
PRINTFORML
PRINTFORML 「このメスっこ\@ 희망 == 4 ? で、いー # は、どー \@ぎゃ？」
PRINTL [1] この子にする
PRINTL [2] チェンジで！
PRINTL [0] 역시 그만둔다
$LOOP_SOAP3
INPUT
SELECTCASE RESULT
	CASE 0
		CALL SOAP_RESET
		IF TFLAG:211 >= 2
			PRINTL 「んがー！！　んがー！！　んがー！！」
			PRINTW 「おみゃーはぎゃーの金もーけの邪魔ぎゃ！」
			PRINTL 「おーい！！　おみゃーら！　出番だぎゃっ！」
			PRINTW 「こいつをほーりだすぎゃ！！」
			CALL KOWAI_ONISAN
			RETURN 0
		ELSE
			PRINTL 「はぁ！？　やめちみゃうんぎゃ！？」
			PRINTL 「よーぎゃねーなら！　とっとと帰るぎゃ！」
			TFLAG:211 = 2
			RETURN -1
		ENDIF
	CASE 1
		IF MONEY < 10000
			CALL SOAP_RESET
			PRINTW 「…………」
			;番台ブチギレ
			IF TFLAG:211 >= 2
				PRINTL 「んがー！！　んがー！！　んがー！！」
				PRINTW 「おみゃー！　金もねーのに遊ぼーとは、ずーずーしぃーぎゃ！」
				PRINTL 「ぎゃーの金もーけっ！　邪魔するんじゃねーぎゃ！！」
				PRINTW 「おーい、おみゃーら！　このびんぼー人をつみゃみだすぎゃ！！」
				CALL KOWAI_ONISAN
				RETURN 0
			ELSE
				PRINTW 「금빛、足らんぎゃ…」
				PRINTL 「びんぼー人にゃー用はねーぎゃ！」
				PRINTW 「しゃっしゃときゃーれきゃーれ！！」
				TFLAG:211 = 3
				RETURN -1
			ENDIF
		ELSE
			MONEY -= 10000
			PRINTFORML 「\@ 체인지횟수 < 10 ? よっしゃ、決みゃり # よーやく決みゃった \@ぎゃ！」
			PRINTL 「ほれっ！　お客しゃま！　しゃっしゃとこっちにくるぎゃ！」
			PRINTFORML 番台の妖怪に案内され、%CALLNAME:PLAYER%は貸し切り風呂へ移動する
			IF HAS_PENIS(PLAYER) && !CFLAG:RANDOM_CHARANUM:1001
				PRINTFORML %CALLNAME:PLAYER%の胸も股間も、初めて見る娘への期待でパンパンに膨らんできた…
				BASE:PLAYER:발기 = MAX(BASE:PLAYER:발기, 1000)
			ENDIF
			PRINTW
			PRINTFORML しばらく待つとバスタオル一枚の%CALLNAME:RANDOM_CHARANUM%が入ってきた
			;初対面の二人になぜか恋愛感情が生まれる
			IF 희망 != 4
				PRINTL 出会った瞬間二人は恋に落ちた！！
				TALENT:RANDOM_CHARANUM:연모 = 1
				CFLAG:RANDOM_CHARANUM:호감도 = REQUIRED_FAVOR_恋慕
				CFLAG:RANDOM_CHARANUM:신뢰도 = REQUIRED_TRUST_恋慕
				CFLAG:RANDOM_CHARANUM:기정사실 = 3
				CFLAG:RANDOM_CHARANUM:생해금 = 2
				ABL:RANDOM_CHARANUM:친밀 = REQUIRED_AFFECTION_恋慕
				ABL:RANDOM_CHARANUM:순종 = RAND:4 + TALENT:RANDOM_CHARANUM:풍속양 * 3
				ABL:RANDOM_CHARANUM:봉사정신 = RAND:4 + TALENT:RANDOM_CHARANUM:풍속양 * 3
				;モブ子相手のAct_COMフィルタをまとめてOFF、オート喘ぎをON
				VARSET CFLAG:RANDOM_CHARANUM:0, 1, 591, 593
				VARSET CFLAG:RANDOM_CHARANUM:0, 1, 595, 598
				CFLAG:RANDOM_CHARANUM:오토신음 = 1
			;馴染みの客なら臨戦態勢にしておく
			ELSEIF CFLAG:RANDOM_CHARANUM:1001 > 1
				PALAM:RANDOM_CHARANUM:윤활 = PALAMLV:MIN(1 + CFLAG:RANDOM_CHARANUM:1001, 6)
				PALAM:RANDOM_CHARANUM:욕정 = PALAMLV:MIN(3 + CFLAG:RANDOM_CHARANUM:1001, 8)
			ENDIF
			PRINTW
			CALL TALK_MOBGIRL("泡姫挨拶")
			;交渉成立ならうふふ
			IF INRANGE(RESULT, 1, 3)
				SETBIT TFLAG:일일일회, 9
				LOCAL:0 = TIME / 60 * 60
				LOCAL:1 = LOCAL:0 + 600 > 1440 ? LOCAL:0 - 840 # LOCAL:0 + 600
				LOCAL:2 = RESULT
				IF MAIN_MAP == 9
					CFLAG:RANDOM_CHARANUM:거점내방 = 1
					CFLAG:RANDOM_CHARANUM:만난위치 = 934
				ELSE
					CFLAG:RANDOM_CHARANUM:거점내방 = 0
					CFLAG:RANDOM_CHARANUM:만난위치 = 940
				ENDIF
				;眠気で部屋追い出し避けの為、今から活動に設定
				CFLAG:RANDOM_CHARANUM:내방시간 = LOCAL:0
				CFLAG:RANDOM_CHARANUM:귀가시간 = LOCAL:1
				CFLAG:RANDOM_CHARANUM:취침시간 = LOCAL:1
				CFLAG:RANDOM_CHARANUM:기상시간 = LOCAL:0
				;デート中処理、@OSASOIを流用してお風呂(OMANEKIBEYA)へ移動
				CFLAG:RANDOM_CHARANUM:동실 = 1
				CFLAG:RANDOM_CHARANUM:데이트중 = 9
				CFLAG:PLAYER:데이트중 = 9
				FLAG:데이트상대 = RANDOM_CHARANUM
				CFLAG:PLAYER:동행 = 60
				CFLAG:RANDOM_CHARANUM:동행 = 60
				CALL OMANEKI_ENTER(RANDOM_CHARANUM)
				CALL TARGETSET_CHACK
				YOGORE:(OMANEKIBEYA()) = 1
				TCVAR:RANDOM_CHARANUM:연속숙박금지 = 1
				;専用フラグ立ててうふふに移行
				TCVAR:PLAYER:친해져 = 3
				TCVAR:RANDOM_CHARANUM:친해져 = 3
				CFLAG:RANDOM_CHARANUM:데일리 = 30
				BASE:RANDOM_CHARANUM:무드 = 700 + (500 * (TALENT:RANDOM_CHARANUM:풍속양 > 2))
				BASE:RANDOM_CHARANUM:이성 = 400 - (400 * (TALENT:RANDOM_CHARANUM:풍속양 > 2))
				TFLAG:거품목욕 = DAY * 1440 + TIME + 90
				IF !ITEM:20
					TFLAG:매트대여 = 1
					ITEM:20 ++
				ENDIF
				CFLAG:RANDOM_CHARANUM:우후후 = 1
				CFLAG:PLAYER:우후후 = 1
				UFUFU_START_TIME = TIME
				UFUFU_START_DAY = DAY
				;지명횟수をカウント
				CFLAG:RANDOM_CHARANUM:1001 ++
				;会話で状態の変更
				SELECTCASE LOCAL:2
					CASE 2
						BASE:MASTER:발기 = MAX(BASE:MASTER:발기, 1000)
					CASE 3
						BASE:MASTER:발기 = MIN(BASE:MASTER:발기 + 500, 1500)
						CFLAG:MASTER:우후후 = 2
						CFLAG:RANDOM_CHARANUM:우후후 = 2
						TFLAG:COMABLE관리 = 3
						TCVAR:RANDOM_CHARANUM:26 = 0
						CALL CCOMF51(RANDOM_CHARANUM)
						SELECTCCOM:0:1 = 51
						TCVAR:RANDOM_CHARANUM:차회카운터 = 51
				ENDSELECT
				RETURN 1
			ENDIF
			;交渉決裂で通常の温泉処理
			RETURN RESULT
		ENDIF
	CASE 2
		;チェンジしすぎで怖いお兄さんやってくる
		IF 체인지횟수 >= 20 || 지명횟수 >= 5
			PRINTL 「んがー！！　んがー！！　んがー！！」
			PRINTL 「おみゃー！　いーきゃげんにしとけぎゃ！」
			PRINTW 「しょんなに気に入らんならっ！　おみゃーにぴったりの相手呼んだるぎゃ！！」
			PRINTW 「おーい、おみゃーら！　こいつの相手！　任せるぎゃ！！」
			CALL SOAP_RESET
			CALL KOWAI_ONISAN
			RETURN 0
		ELSEIF 희망 == 4
			PRINTL 「はぁ！？　なんぎゃそりゃあ」
			PRINTL
			GOTO LOOP_SOAP0
		ELSE
			GOTO LOOP_SOAP2
		ENDIF
	CASEELSE
		CLEARLINE 1
		REUSELASTLINE 「よけーな事しぇんと、しゃっしゃと選ぶぎゃ！！」
		GOTO LOOP_SOAP3
ENDSELECT

;お風呂サービス終了判定関数
;立てっぱなしだとマズいフラグあるので処理集約してフラグ折っておく
@泡風呂終了判定(ARGS)
#DIM CHR
#DIM 회복횟수
#DIM 연장횟수
#DIM 일일일회
#DIM 종료처리
종료처리 = 1
CHR = RANDOM_CHARANUM
IF 일일일회 != DAY
	연장횟수 = 0
	회복횟수 = 0
	일일일회 = DAY
ENDIF
SELECTCASE ARGS
	CASE "タイムアップ"
		CALL TALK_MOBGIRL("泡姫タイムアップ", 연장횟수)
		RESETCOLOR
		연장횟수 ++
		SIF RESULT
			RETURN
	CASE "コマンドから終了"
		CALL TALK_MOBGIRL("泡姫コマンドから終了", 연장횟수)
	CASE "攻守交代時終了"
		CALL TALK_MOBGIRL("泡姫攻守交代時終了")
	CASE "体力限界"
		CALL TALK_MOBGIRL("泡姫体力限界", 회복횟수)
		RESETCOLOR
		IF RESULT
			회복횟수 ++
			BASE:CHR:체력 += MAXBASE:CHR:체력 / 3 * 2
			BASE:CHR:기력 += MAXBASE:CHR:기력 / 2
			RETURN
		ENDIF
	CASE "あなた限界"
		CALL TALK_MOBGIRL("あなた限界")
	;연모＋ＮＧ行為無しなので普通は怒られない。保険的な処理
	CASE "女の子フキゲン"
		PRINTFORMW %CALLNAME:MASTER%はお風呂から\@ TALENT:CHR:담력 < 0 ? 締め # 追い \@出された…
ENDSELECT
;うふふを終了する処理
FOR COUNT, 0, 2
	CHR = COUNT ? RANDOM_CHARANUM # 0
	CALL ENDUFUFU(CHR)
	CALL SET_PRANK(0, CHR, 1)
	;接触/はだけをリセット
	CALL TOUCH_SET(0,0,0,1)
	TEQUIP:CHR:하반신비켜놓기상태 = 0
	TEQUIP:CHR:상반신탈의상태 = 0
	CALL CLOTHES_SETTING_TRAIN(CHR)
	TEQUIP:CHR:윗도리탈의가끝난상태 = 0
	TEQUIP:CHR:목욕탕플레이 = 0
	CFLAG:CHR:동행 = 0
	CFLAG:CHR:초대 = 0
NEXT
TFLAG:MASTER의P삽입중 = 0
;あなたの現在위치を戻してサービス終了
FLAG:데이트상대 = 0
CFLAG:MASTER:데이트중 = 9
CFLAG:MASTER:현재위치 = CFLAG:RANDOM_CHARANUM:만난위치
TFLAG:거품목욕 = 0
ITEM:20 = TFLAG:매트대여 ? 0 # ITEM:20
CALL SOAP_STAND_BY_SUKIMA
RETURN

;こわいオニいさんがやってくる関数
@KOWAI_ONISAN
TFLAG:211 = 4
RESETCOLOR
PRINTL
CALL COLORMESSAGE("「おいっ！！　ごらぁ！！　われぇ！！　なめとったらあかんぞぉ！！！」", C_RED, 1, 3)
PRINTW 突然いかつい鬼たちが乗り込んできた！！
PRINTFORML %CALLNAME:PLAYER%は時止めもする間もなくボッコボコに殴られる…
PRINTFORMW 鬼たちは%CALLNAME:PLAYER%を散々痛めつけてから店の外に放り出した…
CALL RECOVER(PLAYER, -1500, "체력" , "ボコボコにされた")
CALL RECOVER(PLAYER, -1500, "기력" , "ぼろぼろになった")
WAIT
RETURN

;出会った嬢を消す関数
@SOAP_RESET
CFLAG:RANDOM_CHARANUM:초기위치 = SUKIMA()
CFLAG:RANDOM_CHARANUM:현재위치 = SUKIMA()
CFLAG:RANDOM_CHARANUM:데이트중 = MAIN_MAP
CALL 모브코화상리셋(RANDOM_CHARANUM)
FORGET_MOBGIRL = 1
DELCHARA RANDOM_CHARANUM
ADDCHARA RANDOM_CHARANUM
CALL TARGETSET_CHACK
RESETCOLOR
RETURN

;出会った嬢をSUKIMAに退避させる関数
@SOAP_STAND_BY_SUKIMA
CFLAG:RANDOM_CHARANUM:초기위치 = SUKIMA()
CFLAG:RANDOM_CHARANUM:현재위치 = SUKIMA()
CFLAG:RANDOM_CHARANUM:데이트중 = MAIN_MAP
CFLAG:RANDOM_CHARANUM:출금 = 2
CALL TARGETSET_CHACK
RESETCOLOR
RETURN

license: mit


code:
;モブ子の会話を表示する関数
@TALK_MOBGIRL(ARGS, ARG)
#DIM CHR
#DIM TYPE
#DIM 強気
#DIMS 充填箇所
#DIMS 語尾肯定 = "", "ないんです", "ないんだよ", "ないの", "ないんです", "ないの"
#DIMS 語尾要求 = "", "もらえますか", "くれるかい", "もらえるかな", "頂けますか", "もらえますか"
#DIMS 語尾失望 = "", "んですか", "のかよ", "のかあ", "んですね", "んですね"
#DIMS 語尾希望 = "", "あげますよ", "やるよ", "あげちゃうよ", "差し上げますよ", "あげますね"
#DIMS 語尾断定 = "", "です…", "だよ", "だね", "ですね", "です"
#DIMS 語尾疑問 = "", "んでしょうか", "のかねえ", "の", "のかしら", "んでしょうか"
#DIMS 相槌謝罪 = "", "ごめんなさい", "ごめんよ", "ごめんごめん", "本当にごめんなさい", "ごめんね"
#DIMS 相槌返事 = "", "はい…", "はいよ、", "はいはい、", "はい、", "はーい、"
#DIMS 相槌お礼 = "", "ありがとうございます", "ありがとさん", "ありがとね", "ありがとうございます", "ありがとう"
#DIMS 相槌笑い = "", "んっ", "ははっ", "あははっ", "うふふっ", "ふふっ"
#DIMS 相槌驚き = "", "えっ、ええっと", "おいおい", "あれあれっ", "あらっ", "えっと"
#DIMS 相槌溜息 = "", "はぁ", "ああっ！　くそっ", "あーあ", "ああ…しまった", "しまった"
#DIMS 相槌否定 = "", "えっと…そうですか", "そうかいそうかい", "そっかあ", "そう…そうですか", "そうですか"
#DIMS 	男性器 = "", "おちんちん", "おちんぽ", "ちんちん", "おちんちん", "おちんちん"
#DIMS 	女性器 = "", "お…おまんこ", "まんこ", "オマンコ", "おまんこ", "おまんこ"
VARSET LOCALS
TYPE = CFLAG:RANDOM_CHARANUM:성격경향
強気 = GROUPMATCH(TYPE, 2, 3)
CHR = RANDOM_CHARANUM
SIF FLAG:구상색
	SETCOLOR CFLAG:CHR:1000
SELECTCASE ARGS
	;一番見るところなので口上多め。可読性無視で詰め込んでみる
	CASE "泡姫挨拶"
		TARGET = CHR
		IF TYPE == 2
			PRINTFORML 「おっ、いたいた」
		ELSE
			SELECTCASE TIME
				CASE 240 TO 599
					PRINTFORM 「おはよう\@ GROUPMATCH(TYPE, 1, 4) ? ございます # \@、
				CASE 600 TO 1079
					PRINT 「こんにちは、
				CASEELSE
					PRINT 「こんばんは、
			ENDSELECT
			PRINTFORML お客\@ GROUPMATCH(TYPE, 1, 4) ? 様 # さん \@」
		ENDIF
		IF CFLAG:CHR:1001 > 1
			SELECTCASE  TYPE
				CASE 1
					PRINTDATAL
						DATAFORM 「あっ…%モブ子二人称%…」\n「%モブ子二人称%にまた指名してもらって%モブ子一人称%、すごく嬉しいです…♥」
						DATAFORM 「また来てくれたんですね…」\n「%モブ子一人称%も%モブ子二人称%に…すごく逢いたかったの…♥」
					ENDDATA
				CASE 2
					PRINTDATAL
						DATAFORM 「%モブ子二人称%を待たせて悪かったよ」\n「でもさ、そんなに%モブ子一人称%が気にいったのかい？」\n「……あはは、ほんと嬉しいねえ♥」
						DATAFORM 「…おいおい、また%モブ子一人称%をご指名かい？」\n「こんなに%モブ子二人称%を夢中にさせて%モブ子一人称%も罪な女だよ♪」
					ENDDATA
				CASE 3
					PRINTDATAL
						DATAFORM 「…なぁんだ、%モブ子二人称%じゃーん」\n「堅苦しい挨拶なんかして損しちゃったー♪」
						DATAFORM 「また%モブ子一人称%を呼んでくれたんだね」\n「なら二人でいっぱい楽しもっか…♥」
					ENDDATA
				CASE 4
					PRINTDATAL
						DATAFORM 「%モブ子二人称%をお待ちしておりました」\n「今日も%モブ子一人称%、精いっぱいご奉仕させて頂きます♥」
						DATAFORM 「また%モブ子一人称%を選んで頂いて、とても嬉しいです」\n「誠心誠意ご奉仕しますので、どうぞ楽しみにしてください…♥」
					ENDDATA
				CASE 5
					PRINTDATAL
						DATAFORM 「指名してもらって、%モブ子一人称%とっても嬉しいの」\n「またいっぱい、気持ちよくしてあげますよ…♥」
						DATAFORM 「%モブ子一人称%、%モブ子二人称%のお気に入りになれたんですね」\n「ご期待に応えて…%モブ子一人称%、しっかり頑張ります♥」
					ENDDATA
			ENDSELECT
		ELSE
			IF TYPE == 2
				PRINTFORML 「%モブ子二人称%が%モブ子一人称%のお客でいいんだよな？」
			ELSE
				LOCALS:4 = %モブ子一人称%
				;「霊夢が霊夢だよ」という変な挨拶/一人称が変わるのを回避する処理
				IF STRCOUNT(モブ子一人称, CALLNAME:CHR)
					LOCALS:0 '= "わたし", "私", "ボク", "僕"
					LOCAL = ENCODETOUNI(CALLNAME:CHR) % 4
					LOCALS:4 = %LOCALS:LOCAL%
				ENDIF
				PRINTFORML 「%LOCALS:4%が%モブ子二人称%の相手を今から\@ 強気 ? してあげる # 務めます \@%CALLNAME:CHR%\@ 強気 ? だよ # です \@」
			ENDIF
			PRINTFORML 「今日\@ !CFLAG:CHR:1001 ? は # も \@%モブ子一人称%をご指名%相槌お礼:TYPE%」
		ENDIF
		PRINTFORMW
		$LOOP0
		PRINTFORML 「\@ 強気 ? じゃあ # それでは \@、最初にサービス料\\20000を%語尾要求:TYPE%？」
		PRINTDL [1]\20000払う
		PRINTDL [2]高い！　値切る
		PRINTDL [0]払わない
		$LOOP1
		RESETCOLOR
		INPUT
		IF !INRANGE(RESULT, 0, 2)
			CLEARLINE 1
			GOTO LOOP1
		ENDIF
		SIF FLAG:구상색
			SETCOLOR CFLAG:CHR:1000
		SELECTCASE RESULT
			CASE 1
				IF MONEY < 20000
					PRINTFORML 「…足りない\@ 強気 ? じゃない # ですよ \@」
					IF CFLAG:CHR:1001 < 2
						PRINTFORML 「\@ 強気 ? はいはい # すみませんが \@、お風呂は一人でごゆっくり…」
					ELSE
						PRINTFORML 「せっかく来てくれたのに、こんなの%モブ子一人称%だって悲しい\@ 強気 ? よ # じゃないですか \@…」
						PRINTFORML 「残念だけど今日はおあずけ%語尾断定:TYPE%」
					ENDIF
				ELSE
					MONEY -= 20000
					IF !CFLAG:1001
						PRINTFORMW 「\@ 強気 ? うん、ちゃんと足りてる… # はい、確かに頂きました \@」
						PRINTFORML 「それ\@ 強気 ? じゃ # では \@…%モブ子二人称%に満足してもらえるように頑張\@ 強気 ? るよ # りますね \@」
						PRINTFORMW 「%モブ子一人称%、いっぱいサービスしてあげ\@ 強気 ? るからさ # ますから \@」
						PRINTFORMW 「%モブ子二人称%も…%モブ子一人称%を気持ち良くして%語尾要求:TYPE%…♥」
						RETURN 1
					ELSEIF CFLAG:1001 == 1
						PRINTFORML 「%相槌返事:TYPE%確かに\@ 強気 ? もらったよ # 頂きました \@」
						PRINTFORMW 「それ\@ 強気 ? じゃ # では \@…ここからはお楽しみの時間\@ 強気 ? だね # %語尾断定:TYPE% \@♥」
						PRINTFORML 「%モブ子一人称%、%モブ子二人称%の気持ちいいところ、ちゃんと覚えて\@ 強気 ? るからさ # いますから \@」
						LOCALS:0 '= "", "最初は舐めてあげれば", "まずはしゃぶろっか", "いきなりペロペロする", "まずはお口ですれば", "咥えてあげれば"
						PRINTFORMW 「どうし\@ 強気 ? て欲しい # ましょうか \@？　%LOCALS:TYPE%\@ 強気 ? # いいですか \@？」
						PRINTFORML 「それとも…%モブ子一人称%を先に気持ち良くしたい\@ 強気 ? # ですか \@？　どっちでもいい\@ 強気 ? んだ # です \@よ…♥」
						PRINTFORMW 「\@ 強気 ? じゃあ # さあ \@、時間いっぱいまで…たっぷり楽し\@ 強気 ? もっか # みましょうね \@♥」
						RETURN 1
					;誘惑
					ELSEIF !RAND:4
						PRINTFORMW 「%相槌笑い:TYPE%…♥　\@ 強気 ? 貰うものは先に貰っておいて # 頂くものだけ先に済ませておいて \@…」
						PRINTDATAW
							DATAFORM 「えぅと\@ 強気 ? # ね \@…突然\@ 強気 ? だ # です \@けど…%モブ子一人称%、%モブ子二人称%に抱かれたくて…もうたまらな\@ 強気 ? くて # いの \@…」
							DATAFORM 「あの\@ 強気 ? さ # \@…今日%モブ子一人称%を買いにくるまで、%モブ子二人称%はどれだけ我慢してきた\@ TYPE == 2 ? んだい # %語尾疑問:TYPE% \@？」
							DATAFORM 「先に謝って\@ 強気 ? おくけどさ # おきたいんですが\@…ごめん\@ 強気 ? # なさい \@」\n「さっきからもう…%モブ子一人称%、我慢ができなくて…」
						ENDDATA
						LOCALS:0 '= "", "見て、もらえますか", "ほら、見てみなよ", "ねえ、ここを見てよ", "ほら、見てください", "ねえ、見てください"
						PRINTFORML 「%LOCALS:TYPE%…」
						PRINTDATAL
							DATAFORM 「%モブ子一人称%、ここに入ったときから%女性器:TYPE%が…疼いてしょうが%語尾肯定:TYPE%♥」
							DATAFORM 「%モブ子一人称%…こんなふうに挨拶する時間も惜しいくらい、%女性器:TYPE%が…疼いて…♥」
							DATAFORM 「%モブ子二人称%に逢っただけで、%モブ子一人称%の…%モブ子一人称%の%女性器:TYPE%…ちょっと大変なことに\@ 強気 ? なっちゃってるよ # なってます \@♥」
						ENDDATA
						PRINTFORMDL %CALLNAME:CHR%が自分からバスタオルを捲くりあげ、%SLIT(CHR,1)%を%TEXTR("露わにした/しっかり見せつけてきた/さらけ出した")%…
						PRINTFORMW
						LOCALS:0 '= "", "にしてもらう" , "とおまんこする", "とえっちなことする", "と気持ち良くなれる", "に抱いてもらう"
						PRINTDATAL
							DATAFORM 「不思議%語尾断定:TYPE%…%モブ子二人称%は単なるお客\@ 強気 ? # 様 \@のはずなのに、%モブ子一人称%の身体…こんなに喜んでる\@ 強気 ? んだ # の \@」
							DATAFORM 「%モブ子二人称%には…これも仕事の演技だと思われる\@ 強気 ? のかな # %語尾疑問:TYPE% \@…？」\n「違う\@ 強気 ? よ # の \@…%モブ子一人称%、本気\@ 強気 ? だよ # なんです \@…」
							DATAFORM 「%モブ子一人称%も…%モブ子二人称%%LOCALS:TYPE%のを楽しみにしていた\@ 強気 ? んだよ # んです \@…」
						ENDDATA
						CALL HPH_PRINT, @"「\@ 強気 ? ねえ # お願い \@、今すぐ%モブ子一人称%抱いて…%モブ子一人称%を%TEXTR("イかせまくって/めちゃくちゃにして/天国へ連れてって")%%語尾要求:TYPE%…HPH」", "L"
						PRINTFORMDL %CALLNAME:CHR%は自分から大きく%SLIT()%を拡げ、ここに挿れてほしいとねだってくる
						PRINTFORMDW %CALLNAME:MASTER%の%TINKO()%は誘惑につられて\@ BASE:MASTER:발기 < 1000 ? ムクムクと頭をもたげて # ガチガチに硬くなって \@きた…
						RETURN 2
					;即尺
					ELSE
						PRINTFORML 「%相槌返事:TYPE%%相槌お礼:TYPE%。確かに\@ 強気 ? もらったよ # 頂きました \@」
						PRINTFORML 「\@ 強気 ? じゃあ、始めよっか # では、さっそく始めましょう \@…♥」
						PRINTFORMDW %CALLNAME:CHR%はおもむろに%CALLNAME:MASTER%の%TINKO()%を取り出して、蒸れたニオイも気にせず口づけをした…
						PRINTFORML 「ちゅっ…ちゅっ♥　ちゅうう…♥　ちゅっ…♥」
						LOCALS:0 '= "", "おくち", "くちまんこ", "口", "お口", "舌と口"
						LOCALS:12 = %REPLACE(語尾肯定:TYPE, "い", "")%
						IF BASE:MASTER:발기 < 1000
							PRINTDATAL
								DATAFORM 「%男性器:TYPE%、まだふにゃっとしてる…」\n「%相槌笑い:TYPE%…♪　%モブ子一人称%の%LOCALS:TYPE%ですぐ\@ TYPE == 2 ? ビンビンに勃たせ # 元気にし \@て%語尾希望:TYPE%♥」
								DATAFORM 「%相槌笑い:TYPE%…♪　気にしないで\@ 強気 ? # ね\@」\n「こうして\@ TYPE == 2 ? やる # あげる \@の…%モブ子一人称%、好き%LOCALS:12%」\n「%モブ子一人称%の%LOCALS:TYPE%で%男性器:TYPE%おっきくするの…\@ 強気 ? すっごい好きなんだ # とっても好きなんです\@♥」
							ENDDATA
						ELSE
							PRINTDATAL
								DATAFORM 「%相槌笑い:TYPE%…♪ %モブ子一人称%が始める前から…%男性器:TYPE%こんなになってる♥」\n「お客\@ 強気 ? さん♪　どん # 様…♥　どれ \@だけ楽しみにしてここに来た%語尾疑問:TYPE%…♥」
								DATAFORM 「%相槌笑い:TYPE%…♪　%男性器:TYPE%…すっごく元気\@ 強気 ? じゃん # \@♥」\n「それだけ%モブ子一人称%に期待してくれてる%語尾疑問:TYPE%？」\n「だったら…嬉しい\@ 強気 ? ね # \@♪」
							ENDDATA
						ENDIF
						PRINTFORMW
						IF RAND:2
							PRINTFORML 「それで…最初の一回はこのまま出\@ 強気 ? # しま \@す？　それとも…%女性器:TYPE%\@ 強気 ? でする # にします \@？」
							PRINTFORML 「もちろん、お尻にだって、おっぱいにだっていいん\@ 強気 ? だ # です \@よ…♥」
							PRINTFORMW 「早く決めないと…このまま\@ 強気 ? 出ちゃうんじゃあないの # もらっちゃいますよ \@♪」
						ELSE
							PRINTFORML 「%モブ子一人称%の%LOCALS:TYPE%は、それはもう…最高だって評判%LOCALS:12%\@ 強気 ? # よ \@♪」
							PRINTFORMW 「このまま続けたら…すぐに気持ちよーくイかせて%語尾希望:TYPE%♥」
							PRINTFORML 「それとも、もう%男性器:TYPE%を%女性器:TYPE%に挿れ\@ 強気 ? たい # ますか \@？」
							PRINTFORMW 「早く決めないと、迷ってる時間なんてもう\@ TYPE == 3 ? ないんだから # %語尾肯定:TYPE% \@\@ 強気 ? # よ \@…♥」
						ENDIF
						PRINTFORML
						CALL HPH_PRINT, @"「あーむっ…HPH　じゅる、じゅぽっ……じゅっるるっHPHHPH」", "L"
						PRINTFORMDW %CALLNAME:CHR%が本格的にペニスを%TEXTR("咥える/舐め始める/しゃぶりだす")%と、%CALLNAME:MASTER%は脳天まで突き抜けるような快感に襲われた…
						PRINTFORML
						RETURN 3
					ENDIF
				ENDIF
			CASE 2
				IF CFLAG:CHR:1001 < 2
					PRINTFORM 「%相槌謝罪:TYPE%、%モブ子二人称%が
					PRINTFORML \@ 強気 ? 貧乏なのは見てわかるけど # 値切りたくなる気持ちもわかるけれど \@」
					PRINTFORMW 「%モブ子一人称%だって安売りは\@ 強気 ? したくないんだよ # できないんです \@」
					PRINTFORML 「それに、冗談…\@ 強気 ? だ # です \@よね、まさか…本気な\@ TYPE== 2 ? のかい # %語尾疑問:TYPE% \@？」
					PRINTDL [1]冗談です
					PRINTDL [0]タダでヤらせて！
					$LOOP2
					RESETCOLOR
					INPUT
					IF !INRANGE(RESULT, 0, 1)
						CLEARLINE 1
						GOTO LOOP2
					ENDIF
					SIF FLAG:구상색
						SETCOLOR CFLAG:CHR:1000
					SIF RESULT
						GOTO LOOP0
					PRINTFORMW 「%相槌驚き:TYPE%…」
					PRINTFORMW 「%相槌否定:TYPE%、そういうこと言う%語尾失望:TYPE%…」
					PRINTFORMW 「………」
					PRINTFORMW 「兄さんたちっ！　\@ 強気 ? 出番だよ # こっち来て \@っ！」
					CALL KOWAI_ONISAN
					IF CFLAG:CHR:1001
						CALL SOAP_STAND_BY_SUKIMA
					ELSE
						CALL SOAP_RESET
					ENDIF
					RETURN 0
				;馴染みのお客にはちょっとだけまけてくれる
				ELSE
					PRINTFORMW 「………………」
					PRINTFORML 「ほんっと、しょうがない\@ TYPE == 2 ? 奴 # 人 \@%語尾断定:TYPE%…」
					PRINTFORMW 「\@ 強気 ? じゃあ # それでは \@…%モブ子一人称%と%モブ子二人称%の仲に免じて…」
					PRINTFORMW 「\\18000」
					PRINTFORML 「いくらなんでもこれ以上はまけられ\@ 強気 ? ない # ません \@よ？」
					PRINTDL [1]払います！
					PRINTDL [0]やめときます
					$LOOP3
					RESETCOLOR
					INPUT
					IF !INRANGE(RESULT, 0, 1)
						CLEARLINE 1
						GOTO LOOP3
					ENDIF
					SIF FLAG:구상색
						SETCOLOR CFLAG:CHR:1000
					IF RESULT
						IF MONEY > 18000
							MONEY -= 18000
							PRINTFORMW 「%相槌お礼:TYPE%」
							PRINTFORML 「…こんなにしてまで%モブ子一人称%だって%モブ子二人称%と…したいん\@ 強気 ? だよ # ですよ \@」
							PRINTFORML 「いっぱい愛して…ついでにちゃんと延長もして%語尾要求:TYPE%」
							PRINTFORMW 「%モブ子一人称%、一生懸命サービスして%モブ子二人称%を気持ち良くして%語尾希望:TYPE%…♥」
							RESETCOLOR
							RETURN 1
						ELSE
							PRINTFORML 「これでもお金…足りない\@ 強気 ? の # んですか \@！？」
							PRINTFORML 「もう、知\@ 強気 ? らないよ # りません \@！！」
						ENDIF
					ENDIF
				ENDIF
			CASE 0
				PRINTFORML 「%相槌否定:TYPE%…」
				PRINTFORML 「それ\@ 強気 ? じゃ、 # では…お \@一人でごゆっくり」
				IF TALENT:CHR:풍속양 > 2
					WAIT
					PRINTFORML 「%モブ子一人称%だって、%モブ子二人称%とできないのは淋しい\@ 強気 ? んだよ # %語尾断定:TYPE% \@…」
					PRINTFORML 「今度はちゃんとお金を持ってる時に呼んで%語尾要求:TYPE%…」
				ENDIF
		ENDSELECT
		PRINTFORMDW %CALLNAME:CHR%は帰ってしまった
		IF CFLAG:CHR:1001
			CALL SOAP_STAND_BY_SUKIMA
		ELSE
			CALL SOAP_RESET
		ENDIF
		RETURN 100
	CASE "泡姫コマンドから終了"
		IF !ARG
			PRINTFORML 「%相槌驚き:TYPE%、%モブ子二人称%…もう満足した%語尾失望:TYPE%」
			PRINTFORMW 「まだ時間は\@ 強気 ? 残ってるけど # ありますが \@いい%語尾疑問:TYPE%？」
			PRINTFORML 「……%相槌否定:TYPE%」
			PRINTDATAL
				DATAFORM 「%モブ子二人称%がそう言うなら、まあしょうがない\@ 強気 ? か # ですね \@」
				DATAFORM 「まあ、%モブ子二人称%にだって都合も\@ 強気 ? あるんだろう # ありますし \@ね」
				DATAFORM 「それなら、また次があったらよろしく\@ 強気 ? 頼んどくよ # お願いします \@」
			ENDDATA
		ELSE
			PRINTFORML 「まだ時間\@ 強気 ? はあるけど # も残ってますが \@良い%語尾疑問:TYPE%？」
			PRINTFORMW 「やっぱり、%モブ子二人称%も疲れちゃった\@ 強気 ? かな # %語尾失望:TYPE% \@」
			PRINTFORML 「%モブ子一人称%のサービスで満足\@ 強気 ? したならいいんだけど # して貰えたなら嬉しいんですが \@…」
			PRINTDATAL
				DATAFORM 「もし良かったら、今度も%モブ子一人称%を指名して%語尾要求:TYPE%\@ TYPE == 1 ? … # \@？」
				DATAFORM 「また時間があったら来て%語尾要求:TYPE%\@ TYPE == 1 ? … # \@」
				DATAFORM 「今日はこれでおしまい%語尾断定:TYPE%」
			ENDDATA
		ENDIF
		PRINTFORML 「お疲れさま\@ 強気 ? # でした \@」
		PRINTFORMW
		PRINTFORMDW %CALLNAME:CHR%に見送られながら%CALLNAME:MASTER%は店の外に出た
	CASE "泡姫攻守交代時終了"
		PRINTFORMDL 興が乗らない%CALLNAME:MASTER%は%CALLNAME:TARGET%を押し退けた
		PRINTFORMDL %CALLNAME:CHR%は\@ TALENT:CHR:풍속양 < 3 ? いまいち納得行かない # なんだか悲しそうな \@顔をしている…
		PRINTFORMW
		LOCALS:0 '= "", "ご奉仕", "やり方", "サービス", "おもてなし", "テクニック"
		PRINTDATAW
			DATAFORM 「えっと…%モブ子一人称%の%LOCALS:TYPE%に何か気に入らないことがあった%語尾疑問:TYPE%…？」
			DATAFORM 「%相槌驚き:TYPE%…どうした\@ TYPE == 2 ? んだよ # %語尾疑問:TYPE% \@急に…」\n「%モブ子一人称%の%LOCALS:TYPE%、何か…？」
			DATAFORM 「%モブ子一人称%の%LOCALS:TYPE%に問題でも…？」\n「%モブ子一人称%…いつも以上に頑張ってるつもり\@ 強気 ? だけど # なんですが \@…」
		ENDDATA
		PRINTFORML 「でも…%モブ子二人称%がそう言うなら…」
		PRINTFORML 「%モブ子一人称%が…ダメな\@ 強気 ? のかなあ # んでしょうか \@…\@ TALENT:CHR:풍속양 < 3 ? ？ # \@」
		PRINTFORMW
		PRINTFORMDW \@ TALENT:CHR:풍속양 < 3 ? 首を傾げたままの # すっかり気落ちした \@%CALLNAME:CHR%を後にして、%CALLNAME:MASTER%は店の外に出た
	CASE "泡姫タイムアップ"
		PRINTDL （90分のコース時間が過ぎました）
		PRINTW
		IF !ARG
			PRINTDATA
				DATAFORM 「お楽しみのところ悪い\@ 強気 ? けど # んですが \@、
				DATAFORM 「すっかり夢中になって\@ 強気 ? るねえ… # ます \@けど、
				DATAFORM 「%相槌驚き:TYPE%…気持ち良すぎて忘れそうになって\@ 強気 ? たけど # ましたが \@、
			ENDDATA
			PRINTFORML もう時間…%語尾断定:TYPE%」
			PRINTFORML 「でも…%モブ子二人称%はこのまま終わっても良い%語尾疑問:TYPE%？」
			PRINTFORMW 「それより、もう90分延長するなら\\20000\@ 強気 ? だ # です \@けど…どう\@ 強気 ? する # します \@？」
			PRINTDL [1]延長する
			PRINTDL [0]このまま終わる
			$LOOP4
			RESETCOLOR
			INPUT
			IF !GROUPMATCH(RESULT, 0, 1)
				CLEARLINE 1
				GOTO LOOP4
			ENDIF
			SIF FLAG:구상색
				SETCOLOR CFLAG:CHR:1000
			IF RESULT
				IF MONEY > 20000
					MONEY -= 20000
					PRINTFORML 「%相槌返事:TYPE%%相槌お礼:TYPE%」
					PRINTFORML 「まだまだ%モブ子一人称%も%モブ子二人称%と続けたかった\@ 強気 ? んだ # のよ \@」
					PRINTFORMW 「%モブ子二人称%をもっともっと…たっぷり気持ちよくして%語尾希望:TYPE%…♥」
					TFLAG:거품목욕 = DAY * 1440 + TIME + 90
					RETURN 1
				ELSE
					PRINTFORML 「お金…足りない\@ 強気 ? じゃない # ですよ \@」
					PRINTFORMW
				ENDIF
			ENDIF
		ELSE
			PRINTFORML 「%相槌驚き:TYPE%…もうこんな時間…」
			PRINTFORML 「でも…もうこれ以上は時間を伸ばせ\@ 強気 ? ないから # ません \@」
		ENDIF
		PRINTFORMW 「残念\@ 強気 ? だ # です \@けど、今日はここまで%語尾断定:TYPE%…」
		PRINTFORML 「\@ ARG ? こんな時間まで # 時間いっぱいまで \@お疲れさま」
		PRINTFORM 「たくさん\@ 強気 ? # 愛 \@してもらって、%モブ子一人称%も
		IF 強気
			PRINTFORML %TEXTR("すごく気持ち良かったよ/すごく楽しめたよ/すっごい満足だよ")%♥」
		ELSE
			PRINTFORML %TEXTR("すごく良かったです/最高でした/仕事を忘れそうでした")%…♥」
		ENDIF
		PRINTFORMW
		PRINTFORMDW %CALLNAME:CHR%に見送られながら%CALLNAME:MASTER%は店の外に出た
		RETURN 0
	CASE "泡姫体力限界"
		PRINTFORMDL （%CALLNAME:CHR%の体力が限界に来ています）
		PRINTFORMW
		IF CSTR:CHR:모브코종족 == "서큐버스"
			PRINTFORML 「はぁっ…♥　はぁっ…♥　はぁーっ…♥」
			IF !ONCE("ヤりすぎ", 0, CHR)
				PRINTFORML 「%相槌笑い:TYPE%♥　%モブ子一人称%を…こんなふうに、するなんて……♥」
				PRINTDATAW
					DATAFORM 「%モブ子二人称%\@ TALENT:MASTER == 2 ? …本当は、淫魔 # も、実は…サキュバス \@\@ 強気 ? かなんかじゃないの # だったりしません \@…？」\n「まだ、\@ 強気 ? ヤリたりないって顔…してるし # 続けたいって顔…してますよ\@…♥」
					DATAFORM 「ほんとうに、仕事だってこと…%モブ子一人称%、忘れ\@ 強気 ? ちゃい # てしまい \@そう%語尾断定:TYPE%…♥」
					DATAFORM 「%モブ子一人称%…サキュバスなのに、%モブ子二人称%の\@ TALENT:MASTER:성별 == 1 ? テクニック # %男性器:TYPE% \@に…負けっぱなし%語尾断定:TYPE%…♥」
				ENDDATA
			ELSE
				LOCALS:0 '= "", "素敵", "底なしのヤリチン", "すっごいスケベ、", "絶倫", "女泣かせ"
				PRINTDATAW
					DATAFORM 「スゴ…い…♥　%モブ子二人称%って。ほんとうに…\@ TALENT:MASTER:성별 == 1 ? 上手 # %LOCALS:TYPE% \@%語尾断定:TYPE%…♥」
					DATAFORM 「%相槌笑い:TYPE%♥　%モブ子一人称%、%モブ子二人称%\@ TALENT:MASTER:성별 == 1 ? # の%男性器:TYPE% \@に勝てる気が\@ 強気 ? しないよ # しませんね \@…♥」
				ENDDATA
			ENDIF
			IF BASE:MASTER:체력 <= 650
				PRINTFORML 「でも、お互い…倒れ\@ 強気 ? る # れちゃう \@前に、今日はここで…\@ 強気 ? 終わろっか # おしまいにしましょう \@」
				LOCALS:0 '= "", "お風呂で温まりましょうか…", "背中流してやるからさ", "洗いっこしよーよ♪", "お背中流しますよ…♥", "お風呂でゆっくりしましょうね♥"
				PRINTFORML 「\@ 強気 ? ほらほら、 # それでは \@最後に%LOCALS:TYPE%」
				PRINTFORMW
				PRINTFORMDW %CALLNAME:MASTER%はたっぷり%CALLNAME:CHR%で遊び尽くし、大満足して店の外に出た
				RETURN 0
			ELSE
				PRINTFORML 「%相槌謝罪:TYPE%…\@ ONCE("回復", 0, CHR) ? ちょっと # また \@%モブ子二人称%で回復させて%語尾要求:TYPE%…」
				PRINTFORMDL %CALLNAME:CHR%\@ TEQUIP:CHR:입접촉부위 == 4 ? がさらに濃密な口づけを仕掛けて # の激しいキスと共に舌がぬるりと入って \@くる
				PRINTFORMDW 同時に%CALLNAME:CHR%の身体が淡く光り%CALLNAME:MASTER%の身体はなんだかだるくなっていく…
				PRINTFORML 「……%相槌お礼:TYPE%。これでまだまだ続けられ\@ 強気 ? るよ # ますね \@…♥」
				PRINTFORML
				CALL RECOVER(MASTER, -150, "체력", "에너지 드레인")
				PRINTFORMW
				RETURN 1
			ENDIF
		ELSEIF !ARG
			PRINTFORML 「はぁっ…♥　はぁっ…♥　はぁーっ…♥」
			PRINTFORMW 「%モブ子二人称%……ちょっと、%TEXTR("やり/スゴ/激し")%…すぎ……%語尾断定:TYPE%♥」
			PRINTFORML 「すこし…まって…」
			PRINTFORMDL %CALLNAME:CHR%は近くにあった薬を飲んでひと休みしている…
			PRINTFORMW
			PRINTFORML 「ふう……待たせ\@ 強気 ? ちゃって # てしまって \@%相槌謝罪:TYPE%」
			PRINTFORMW 「なんとか一息つけたからもう大丈夫\@ 強気 ? # です \@」
			PRINTFORML 「けど、ここからはちょっと手加減して%語尾要求:TYPE%」
			PRINTFORMW 「あんなに激しいの…さすがに%モブ子一人称%\@ 強気 ? の方が限界だよ # の身体が保ちませんから \@…」
			RETURN 1
		ELSE
			充填箇所 =
			充填箇所 += @"%\@ 充填率(CHR,1) >= 50 ? 0/ # \@%"
			充填箇所 += @"%\@ 充填率(CHR,2) >= 50 ? 1/ # \@%"
			IF 充填箇所 == ""
				LOCALS = %TEXTR("お゛っHPH　お゛っHPHHPH　おひっ…HPH/はひっ…HPH　きもち、いぃ…HPH　ぃいひっHPH/じんじゃうHPH　ぎもぢ、よずぎて…じんじゃぅ…HPHHPH")%
				CALL HPH_PRINT, @"「%LOCALS%」", "L"
				PRINTFORMDL 限界まで絶頂させられた%CALLNAME:CHR%は身体をビクビク痙攣させながら何か呟いている…
			ELSE
				LOCAL = TOINT(TEXTR(充填箇所))
				LOCALS:0 = %TEXTR("おちんぽぉHPH　おちんぽぉ…しゅごぃいHPHHPH/むりぃ…HPH　もう、むりぃHPH　ださないでぇHPHHPH/やだぁHPH　もぅやだぁ…ずんずんしちゃ、やだぁHPHHPH")%
				CALL HPH_PRINT, @"「%LOCALS:0%」", "L"
				LOCALS:0 = %\@ !LOCAL ? %TEXTR("おみゃんこぉ/おマンコぉ/ぉまんこぉ/")% # %TEXTR("けちゅあなぁ/けつあにゃぁ/おしりぃ")% \@%
				LOCALS:1 = %TEXTR(@"%LOCALS:0%…HPH　きもちよしゅぎぃ/%LOCALS:0%…がぁHPH　ばかになりゅぅ/%モブ子一人称%の%LOCALS:0%…HPH　こわれりゅぅ")%
				CALL HPH_PRINT, @"「%LOCALS:0%…HPH　%LOCALS:1%…HPHHPH」", "L"
				LOCALS:0 = %\@ !LOCAL ? %TEXTR("雌穴/膣穴/オマンコ/")% # %TEXTR("肛門/アナル/菊穴")% \@%
				PRINTDATADL
					DATAFORM %CALLNAME:MASTER%にハメ倒された%CALLNAME:CHR%の\@ 充填箇所 == "0/1/" ? 両穴 # %LOCALS:0% \@はぽっかり開き精液がどろりと溢れ出している…
					DATAFORM 意識朦朧の%CALLNAME:CHR%が息をするたび、緩みきった\@ 充填箇所 == "0/1/" ? 両穴 # %LOCALS:0% \@から精液が下品な音と共に吐き出されている…
					DATAFORM %CALLNAME:CHR%は絶頂から降りてこられず身体を痙攣させ、開きっぱなしの\@ 充填箇所 == "0/1/" ? 両穴 # %LOCALS:0% \@からは精液が垂れ流し状態だ…
				ENDDATA
			ENDIF
			PRINTFORMW
			PRINTFORMDW ……後始末も面倒くさいので、%CALLNAME:MASTER%は%CALLNAME:CHR%をそのままにして外に出た
			RETURN 0
		ENDIF
	CASE "あなた限界"
		IF BASE:MASTER:체력 >= 500
			PRINTFORMDL （%CALLNAME:MASTER%は眠気でふらついています…）
			PRINTFORMW
		ENDIF
		PRINTFORML 「%相槌驚き:TYPE%\@ 強気 ? …ちょっと、ちょっと！　お客 # 、本当に大丈夫ですかお客 \@\@ GROUPMATCH(TYPE, 1, 4) ? 様 # さん \@！？」
		PRINTFORML 「こんなところで\@ BASE:MASTER:체력 < 500 ? 倒れ # 寝 \@られても本当に困\@ 強気 ? るんだけど # ります \@…」
		PRINTFORMDW %CALLNAME:CHR%は少し\@ TYPE == 2 ? 苛ついた # 困った \@様子だったが、手っ取り早い解決策を思いついたようだ
		PRINTFORML
		PRINTFORML 「ちょっと、兄さんたちっ！　\@ TYPE == 2 ? こいつ # この人 \@を\@ 強気 ? おねがーいっ # お願いねっ \@！」
		PRINTFORMDL %CALLNAME:CHR%の呼びかけで強面の鬼たちが現れた！！
		CALL COLORMESSAGE("「ごらぁ！　われぇ！　ここでぶっ倒れられると迷惑なんじゃあ！！」", C_RED, 1, 3)
		PRINTFORMDW 鬼たちはフラフラの%CALLNAME:MASTER%を担ぎ上げ、店の外へ容赦なく放り出した…

	;ここからエンカウント弾幕勝負口上
	CASE "戦闘前"
		SELECTCASE CSTR:RANDOM_CHARANUM:모브코종족
			CASE "요정"
				PRINTDATAL
					DATAFORM 「ねえねえ、ちょっと遊んで%語尾要求:TYPE%\@ TYPE == 2 ? # ぁ \@」
					DATAFORM 「おおっ、いい標的\@ 強気 ? がいるぞー # を発見！ \@」
					DATAFORM 「待て待てー、ひまつぶしに付き合えー」
				ENDDATA
			CASE "옥토", "이나바"
				PRINTDATAL
					DATAFORM 「お急ぎのところ悪い\@ 強気 ? けど # ですが \@、ちょっと付き合って%語尾要求:TYPE%？」
					DATAFORM 「いま暇なん\@ 強気 ? だよね # です \@…遊んで%語尾要求:TYPE%？」
					DATAFORM 「ちょっと待っ\@ 強気 ? た # て \@…怪しい奴\@ 強気 ? だ # です \@！」
				ENDDATA
			CASE "캇파"
				PRINTDATAL
					DATALIST
						DATAFORM 「おや…%モブ子二人称%、いいところにい\@ 強気 ? るじゃないか # ましたね \@」
						DATAFORM 「新しい道具の実験に付き合って\@ 強気 ? もらうよ # もらいます \@！」
					ENDLIST
					DATAFORM 「おおっ、ちょうどいい実験台を発見！」
					DATALIST
						DATAFORM 「%モブ子二人称%、何かいいもの持ってそう\@ 強気 ? だね # ですね \@♪」
						DATAFORM 「少し分けて%語尾要求:TYPE%？」
					ENDLIST
				ENDDATA
			CASE "야마와로"
				PRINTDATAL
					DATAFORM 「\@ 強気 ? なになにっ # おやおや \@？　新しい標的\@ 強気 ? かな # ですか \@？」
					DATAFORM 「\@ 強気 ? あははっ # ふふふっ \@、%モブ子二人称%をやっつければ１ポイントぐらいにはなる\@ 強気 ? のかな # かしら \@？」
					DATALIST
						DATAFORM 「%モブ子二人称%、なんでこんなところに迷い込んできたの？」
						DATAFORM 「せっかくだから%モブ子二人称%の標的になっときなよ！」
					ENDLIST
				ENDDATA
			CASE "백랑텐구", "카라스텐구"
				PRINTDATAL
					DATALIST
						DATAFORM 「%モブ子二人称%、なんだか怪しい\@ 強気 ? 奴だね！ # 人ですね… \@」
						DATAFORM 「ちょっと痛い目を見てもら\@ 強気 ? うよ # います \@」
					ENDLIST
					DATALIST
						DATAFORM 「お生憎様、ここは天狗の縄張りなのよ」
						DATAFORM 「さあ…覚悟して%語尾要求:TYPE%？」
					ENDLIST
					DATALIST
						DATAFORM 「こんなに怪しい\@ 強気 ? 奴 # 人 \@を放っておくなんて…」
						DATAFORM 「他の天狗たちは一体何してる\@ 強気 ? んだよ # のかしら \@…」
					ENDLIST
				ENDDATA
			CASE "오니"
				PRINTDATAL
					DATAFORM 「ちょっとした力比べ\@ 強気 ? @ さ # です \@…付き合って%語尾要求:TYPE%？」
					DATALIST
						DATAFORM 「%モブ子一人称%、今とっても暇なん\@ 強気 ? だよなあ # です \@…」
						DATAFORM 「だからひと勝負\@ 強気 ? といこうじゃないか！ # 、別にいいですよね？ \@」
					ENDLIST
					DATALIST
						DATAFORM 「そこの%モブ子二人称%、ここを通すわけには\@ 強気 ? いかないよ # いきません \@」
						DATAFORM 「通りたければ%モブ子一人称%を倒して\@ 強気 ? いくんだな # からですよ \@！」
					ENDLIST
				ENDDATA
		ENDSELECT
		WAIT
	CASE "被弾"
		;別に一律で「やられたー」だけでもいいよ
		SELECTCASE ARG
			;残り残機3が表示されるのは【洽覧深識】持ち、ここでは妖精のみ
			CASE 3
				PRINTFORML 「わわっ！　%TEXTR("撃ち返してくる/妖精をイジメる/")%なんてヒドい\@ 強気 ? やつ # 人 \@%語尾断定:TYPE%\@ TYPE == 1 ? # ！！ \@」
			CASE 2
				SELECTCASE CSTR:RANDOM_CHARANUM:모브코종족
					CASE "요정"
						PRINTDATAL
							DATAFORM 「もー、おとなしく撃たれてなさいよー」
							DATAFORM 「ちょっと！　%モブ子二人称%、動くと\@ 強気 ? 当たらないじゃない # 当てられませんよ \@！」
						ENDDATA
					CASE "옥토", "이나바"
						PRINTDATAL
							DATAFORM 「いったーい！」
							DATAFORM 「あいたたた…」
						ENDDATA
					CASE "캇파"
						PRINTDATAL
							DATAFORM 「これぐらいなら平気%語尾断定:TYPE%」
							DATAFORM 「一発ぐらいは当たって%語尾希望:TYPE%…けど、次は\@ 強気 ? もうないよ♪ # ありませんよ \@」
						ENDDATA
					CASE "야마와로"
						PRINTDATAL
							DATAFORM 「おおっと、意外と\@ 強気 ? やるじゃん # やりますねえ \@」
							DATAFORM 「ちょーっとは歯応えあるのかな？」
						ENDDATA
					CASE "백랑텐구", "카라스텐구"
						PRINTDATAL
							DATALIST
								DATAFORM 「%相槌否定:TYPE%…」
								DATAFORM 「抵抗してくる%語尾失望:TYPE%…」
							ENDLIST
							DATAFORM 「ちょっと！？　おとなしくやられ\@ 強気 ? ときなよ # てください \@！」
						ENDDATA
					CASE "오니"
						PRINTDATAL
							DATAFORM 「鬼を相手に一撃入れる\@ 強気 ? とは…やるじゃないか # なんて…なかなかやりますね \@！」
							DATAFORM 「%相槌笑い:TYPE%、やっぱり勝負は\@ 強気 ? こうでなくっちゃ # こうですよね \@！」
						ENDDATA
				ENDSELECT
			CASE 1
				SELECTCASE CSTR:RANDOM_CHARANUM:모브코종족
					CASE "요정"
						PRINTDATAL
							DATAFORM 「うえぇ！？　ちょっと\@ 強気 ? ヤバいかも # ピンチかしら \@…」
							DATAFORM 「わっ、わっ！　どうしよう…逃げようかな…」
						ENDDATA
					CASE "옥토", "이나바"
						PRINTDATAL
							DATAFORM 「ま、まだ負けたわけじゃないんだから！」
							DATAFORM 「あれ…もしかして、ピンチ？」
						ENDDATA
					CASE "캇파"
						PRINTDATAL
							DATAFORM 「うわっ！？　思ってたより…強い？」
							DATAFORM 「ちょっ…ちょっと、待った！　待った！！」
						ENDDATA
					CASE "야마와로"
						PRINTDATAL
							DATAFORM 「あれっ！？　%モブ子一人称%より動き慣れてる…？」
							DATAFORM 「ちょっとちょっと！　なんでこんな手強いの！？」
						ENDDATA
					CASE "백랑텐구", "카라스텐구"
						PRINTDATAL
							DATAFORM 「ま、まずいわね…」
							DATAFORM 「%モブ子一人称%だって、ここで負けるわけには\@ 強気 ? いかないんだよ # いきません \@！」
						ENDDATA
					CASE "오니"
						PRINTDATAL
							DATAFORM 「嬉しい\@ 強気 ? ねえ # \@……%モブ子一人称%も\@ 強気 ? 本気を出してくよ # 本気を出していいんですね\@！」
							DATAFORM 「ここからが…鬼の力の見せどころ%語尾断定:TYPE%\@ TYPE == 1 ? # ！！ \@」
						ENDDATA
				ENDSELECT
			CASE 0
				SELECTCASE CSTR:RANDOM_CHARANUM:모브코종족
					CASE "요정", "좀비 페어리"
						PRINTDATAL
							DATAFORM 「やーらーれーたー」
							DATAFORM 「あっ、まけちゃった…」
							DATAFORM 「\@ 強気 ? うわっ # きゃっ \@、これで一回休み！？」
						ENDDATA
					CASE "옥토", "이나바"
						PRINTDATAL
							DATAFORM 「嘘！？ 今のナシ！ ナシだよね！？」
							DATAFORM 「え？ えっ！？　%モブ子二人称%…なんで今ので当ててくるの！？」
							DATAFORM 「参った！　降参\@ 強気 ? するよ # します \@！」\n「だからもう撃たないでー」
						ENDDATA
					CASE "캇파"
						PRINTDATAL
							DATAFORM 「\@ 強気 ? うわっ、 # やだあ、 \@この道具は失敗作%語尾断定:TYPE%…」
							DATAFORM 「参った…これはやられ\@ 強気 ? ちゃったかな # ちゃいました \@」
							DATAFORM 「イタタタ……」\n「あれ？　嘘！？　%モブ子一人称%負けたの！？」
						ENDDATA
					CASE "야마와로"
						PRINTDATAL
							DATAFORM 「降参！　降参\@ 強気 ? だって # します \@！」\n「もうゲーム終了\@ 強気 ? だよ # です \@！」
							DATAFORM 「うわあ…ただの動く的だと思ったのにぃ…」
							DATAFORM 「いやいやいや…」\n「なんでこんなに強いの？　おかしい\@ 強気 ? # です \@よ！」
						ENDDATA
					CASE "백랑텐구", "카라스텐구"
						PRINTDATAL
							DATAFORM 「%モブ子一人称%が…こんな\@ 強気 ? 奴 # 人 \@に負けるなんて…」
							DATAFORM 「ああっ、もう！　なんで誰も助けにこないのよ…」
							DATAFORM 「痛たたた…なんでこんなに強いのよ…」\n「%モブ子二人称%、いったい何者！？」
						ENDDATA
					CASE "오니"
						PRINTDATAL
							DATAFORM 「%モブ子二人称%、\@ 強気 ? マジかよ # 強いですね \@…」\n「%モブ子一人称%が負けるなんて…何年ぶり\@ 強気 ? # かしら \@？」
							DATAFORM 「あちゃー、やられ\@ 強気 ? たなあ # ちゃった \@…」
							DATAFORM 「参った、\@ 強気 ? %モブ子二人称%の勝ちだよ # 参りました \@」\n「お互いやりすぎる前に%モブ子一人称%が降参\@ 強気 ? しとくよ # します \@」
						ENDDATA
				ENDSELECT
		ENDSELECT
	CASE "残忍酷薄"
	CASE "ハンデ"
	CASE "乾坤一擲"
	CASE "逆レ開始"
	CASE "戦闘後"
		;残り残機4が表示されうるのは【洽覧深識】持ちのみ
		;残機が1以上ならあなたの負け、0の場合はあなたの勝利
		SELECTCASE ARG
			CASE 3, 4
				SELECTCASE CSTR:RANDOM_CHARANUM:모브코종족
					CASE "요정"
						PRINTDATAL
							DATAFORM 「ぷぷぷっ…ざーこ♥　ざーこっ♥　ざぁーこ♥」
							DATALIST
								DATAFORM 「あーあ、%モブ子一人称%全然遊びたりないわ」
								DATAFORM 「つまーんなーいのっ」
							ENDLIST
						ENDDATA
					CASE "옥토", "이나바"
						PRINTDATAL
							DATAFORM 「あははっ♪　%モブ子二人称%相手ならこんな\@ 強気 ? もんさ # かんじですね \@」
							DATAFORM 「こんなに楽勝じゃあ、逆につまらないよ」
						ENDDATA
					CASE "캇파"
						PRINTDATAL
							DATAFORM 「あれれっ？　もう終わり？」
							DATALIST
								DATAFORM 「ちょっとー真面目にやってよー」
								DATAFORM 「…それとも%モブ子二人称%がムチャクチャ弱いだけかな？」
							ENDLIST
						ENDDATA
					CASE "야마와로"
						PRINTDATAL
							DATAFORM 「…あらら？」\n「これなら案山子相手に練習したほうが良かったかな？」
							DATAFORM 「こんな\@ 強気 ? やつ # 人 \@やっつけても０ポイントだろうなあ…」
						ENDDATA
					CASE "백랑텐구", "카라스텐구"
						PRINTDATAL
							DATAFORM 「無駄な時間を使っただけだよ、まったく…」
							DATALIST
								DATAFORM 「%モブ子二人称%…\@ 強気 ? 本当に弱いんだな # ちょっと弱すぎません？ \@」
								DATAFORM 「そんな実力で、よくこの辺\@ 強気 ? うろちょろ出来たもんだね # りをうろつけますね… \@」
							ENDLIST
						ENDDATA
					CASE "오니"
						PRINTDATAL
							DATAFORM 「これだけ\@ 強気 ? かい…ちょっとがっかりだよ # ですか…ほんとがっかりですね \@」
							DATAFORM 「%モブ子二人称%…歯ごたえも\@ 強気 ? 無いつまんない奴だな # ないしダメダメじゃないですか \@…」
						ENDDATA
				ENDSELECT
			CASE 2
				SELECTCASE CSTR:RANDOM_CHARANUM:모브코종족
					CASE "요정",
						PRINTDATAL
							DATAFORM 「%相槌笑い:TYPE%、楽しかった♪」
							DATALIST
								DATAFORM 「はいしゅーりょー、%モブ子一人称%の勝ちー♪」
								DATAFORM 「%モブ子二人称%の負けー♪」
							ENDLIST
						ENDDATA
					CASE "옥토", "이나바"
						PRINTDATAL
							DATAFORM 「はい終了、いい運動になった\@ 強気 ? かな？ # わね \@」
							DATALIST
								DATAFORM 「甘い甘い」
								DATAFORM 「そんなんじゃあ兎にだって勝て\@ 強気 ? ない？ # ません \@よ♪」
							ENDLIST
						ENDDATA
					CASE "캇파"
						PRINTDATAL
							DATAFORM 「技もひととおり試せたし、いやー満足満足」
							DATALIST
								DATAFORM 「実験終了っと」
								DATAFORM 「%モブ子二人称%も協力\@ 強気 ? ごくろうさん ？ # お疲れさま \@♪」
							ENDLIST
						ENDDATA
					CASE "야마와로"
						PRINTDATAL
							DATAFORM 「まあ、いい練習にはなったかな？」
							DATALIST
								DATAFORM 「的が動くと%モブ子二人称%も気合が入\@ 強気 ? るってもんだ ？ # りますね \@」
								DATAFORM 「%モブ子二人称%も協力\@ 強気 ? ごくろうさん ？ # お疲れさま \@♪」
							ENDLIST
						ENDDATA
					CASE "백랑텐구", "카라스텐구"
						PRINTDATAL
							DATAFORM 「%相槌笑い:TYPE%、予定どおり%語尾断定:TYPE%」
							DATAFORM 「%モブ子一人称%の\@ CSTR:RANDOM_CHARANUM:모브코종족 == "카라스텐구" ? 仕事 # 交代 \@前に片付いてよかった\@ 強気 ? よ？ # です \@」
						ENDDATA
					CASE "오니"
						PRINTDATAL
							DATALIST
								DATAFORM 「%モブ子一人称%だって鬼の端くれ」
								DATAFORM 「こうなるのも当然\@ 強気 ? だよ？ # です \@」
							ENDLIST
							DATAFORM 「%モブ子二人称%も筋は悪くない…ただ相手が悪かった\@ 強気 ? ね ？ # だけですよ \@」
						ENDDATA
				ENDSELECT
			CASE 1
				SELECTCASE CSTR:RANDOM_CHARANUM:모브코종족
					CASE "요정"
						PRINTDATAL
							DATAFORM 「はっはっはっ、かてばよかろうなのだぁー」
							DATALIST
								DATAFORM 「もー、こっちは遊びたいだけなのに」
								DATAFORM 「服が擦りきれちゃったじゃない！」
							ENDLIST
						ENDDATA
					CASE "옥토", "이나바"
						PRINTDATAL
							DATAFORM 「いやー、あやうくひん剥かれるとこ\@ 強気 ? だったね # でした \@…」
							DATAFORM 「%モブ子一人称%から仕掛けたのに、負けたらシャレにならないわ…」
						ENDDATA
					CASE "캇파"
						PRINTDATAL
							DATAFORM 「うーん…この道具、まだまだ改良が必要\@ 強気 ? だ # です \@ねえ…」
							DATALIST
								DATAFORM 「%相槌笑い:TYPE%、%モブ子二人称%も結構強い\@ 強気 ? じゃん # と思いますよ \@」
								DATAFORM 「でも結果が全て…%モブ子一人称%の勝ち%語尾断定:TYPE%」
							ENDLIST
						ENDDATA
					CASE "야마와로"
						PRINTDATAL
							DATAFORM 「ふう…やっと勝てた…」\n「練習にしてはちょっとキツすぎー」
							DATALIST
								DATAFORM 「うわあ、結構ヤバかったかも…」
								DATAFORM 「練習サボるとすーぐ腕が落ちてまいっちゃうなぁ…」
							ENDLIST
						ENDDATA
					CASE "백랑텐구", "카라스텐구"
						PRINTDATAL
							DATALIST
								DATAFORM 「あぶないあぶない…」
								DATAFORM 「%モブ子一人称%もちょっと鍛錬が足りてないなあ」
							ENDLIST
							DATALIST
								DATAFORM 「%相槌溜息:TYPE%、こんな\@ 強気 ? やつ # 人 \@に手こずるなんて」
								DATAFORM 「\@ 強気 ? こんなんじゃあ # これは \@大天狗様に叱られる…」
							ENDLIST
						ENDDATA
					CASE "오니"
						PRINTDATAL
							DATAFORM 「いやあ、%モブ子一人称%もひさびさに勝負を楽しめ\@ 強気 ? たよ # ました \@」
							DATALIST
								DATAFORM 「追い詰められるこの感じ…やっぱりいい\@ 強気 ? # です \@ねえ」
								DATAFORM 「それでも最後に勝つのはこの%モブ子一人称%」
								DATAFORM 「\@ 強気 ? いやあ…最高じゃあないか # もう最高です \@♪」
							ENDLIST
						ENDDATA
				ENDSELECT
			CASE 0
				SELECTCASE CSTR:RANDOM_CHARANUM:모브코종족
					CASE "요정"
						PRINTDATAL
							DATALIST
								DATAFORM 「ここで%モブ子一人称%を倒してもいずれ第２第３の%モブ子一人称%が…」
								DATAFORM 「……現れても結局やられ\@ 強気 ? ちゃうか # そうね \@」
							ENDLIST
							DATALIST
								DATAFORM 「%モブ子一人称%は　にげだした！」
								DATAFORM 「しかし　まわりこまれてしまった！」
								DATAFORM 「やだー」
							ENDLIST
							DATALIST
								DATAFORM 「妖精をイジメると大変なことになるん\@ 強気 ? だぞ # ですよ \@！？」
								DATAFORM 「なにが大変かって？　えっと、それは…」
							ENDLIST
						ENDDATA
					CASE "옥토", "이나바"
						PRINTDATAL
							DATAFORM 「な、何をする気なの…」
							DATAFORM 「あんまりひどい事はしないで…」
							DATALIST
								DATAFORM 「\@ 強気 ? あのさあ # ええっと \@…%相槌謝罪:TYPE%」
								DATAFORM 「こうやって謝った\@ 強気 ? んだか # \@ら許して%語尾要求:TYPE%…？」
								DATAFORM 「やっぱりダメ\@ 強気 ? かあ # かしら \@…」
							ENDLIST
						ENDDATA
					CASE "캇파"
						PRINTDATAL
							DATALIST
								DATAFORM 「%相槌笑い:TYPE%…もう終わったこと\@ 強気 ? だし、水に流そうよ # ですし、水に流しませんか \@？」
								DATAFORM 「だめ\@ 強気 ? かな # かしら \@？　やっぱり…？」
							ENDLIST
							DATALIST
								DATAFORM 「ちょっとした出来心なん\@ 強気 ? だから # ですよ \@」
								DATAFORM 「お手柔らかに\@ 強気 ? 願いたいね # お願いします \@…」
							ENDLIST
							DATAFORM 「河童の技術が通じないなんて…」
						ENDDATA
					CASE "야마와로"
						PRINTDATAL
							DATALIST
								DATAFORM 「これはちょっとしたゲーム、ゲームだから！」
								DATAFORM 「そんなに怒っちゃダメだってばー」
							ENDLIST
							DATALIST
								DATAFORM 「%モブ子一人称%の技量もまだまだ未熟、良い勉強に\@ 強気 ? なったよ # なりました \@」
								DATAFORM 「…で、このまま帰って\@ 強気 ? もいいかな # いいですよね \@？」
							ENDLIST
							DATAFORM 「降参した相手にヒドいことするのはルール違反\@ 強気 ? だよっ！ # です… \@」
						ENDDATA
					CASE "백랑텐구", "카라스텐구"
						PRINTDATAL
							DATAFORM 「わっ、わっ！　%モブ子一人称%に近寄ってこないでっ！」
							DATAFORM 「いったい…何をするつもり\@ 強気 ? だよ # なんですか \@…」
							DATAFORM 「あんまり変な事すると天狗がみんな敵に回るよ…」
						ENDDATA
					CASE "오니"
						PRINTDATAL
							DATAFORM 「敗者は勝者に従うもの\@ 強気 ? さね # ですね \@…」
							DATAFORM 「%相槌溜息:TYPE%、あそこで%TEXTR("右によけて/最後突っ込んで/少し守って/")%たら…」\n「絶対%モブ子一人称%が勝ってたのに…」
							DATALIST
								DATAFORM 「鬼が勝負に負けたん\@ 強気 ? だ # です \@」
								DATAFORM 「変なこと\@ 強気 ? じゃなきゃ # でなければ \@、言うことも聞いて%語尾希望:TYPE%…」
							ENDLIST
						ENDDATA
				ENDSELECT
		ENDSELECT
ENDSELECT
RESETCOLOR
RETURN


code:
;-------------------------------------------------
;벌레배틀：전투의 통괄 함수
;-------------------------------------------------
@MUSHI_BATTLE
#DIM LPCOUNT
VARSET MUSHI_FINISH
;전원의 ETB 처리
FOR LOCAL, 1, MUSHI_CHARANUM + 1
	CALL MUSHI_BATTLE_ETB(LOCAL, MUSHI_STANDNUM:LOCAL)
NEXT
MUSHI_ROUND = 0

; 이하 루프
WHILE !MUSHI_FINISH
	;최초 전장상태 표시
	IF !MUSHI_ROUND
		CALL MUSHI_BATTLE_FIELD
	ELSE
		CALL MUSHI_MSGSET(@"%" " * 30%＜라운드　%TOFULL(TOSTR(MUSHI_ROUND))%＞")
		MUSHI_MSGCL:RESULT = C_YELLOW
		CALL MUSHI_BATTLE_MSG
	ENDIF
	;행동순서 판정
	VARSET MUSHI_ORDER
	FOR LPCOUNT, 1, MUSHI_CHARANUM + 1
		; 첫 번째로 높은 값을 추출해 간다.
		MUSHI_ORDER:0 = 0
		FOR LOCAL, 1, MUSHI_CHARANUM + 1
			;すでに抽出してたら弾く
			SIF MATCH(MUSHI_ORDER, MUSHI_STANDNUM:LOCAL)
				CONTINUE
			IF MUSHI_ORDER:0 < MUSHI_SPD:(MUSHI_STANDNUM:LOCAL)
				MUSHI_ORDER:LPCOUNT = MUSHI_STANDNUM:LOCAL
				MUSHI_ORDER:0 = MUSHI_SPD:(MUSHI_STANDNUM:LOCAL)
			ENDIF
		NEXT
	NEXT
;	[IF_DEBUG]
;		FOR LPCOUNT, 1, MUSHI_CHARANUM + 1
;			LOCAL = MUSHI_ORDER:LPCOUNT / 10
;			DRAWLINE
;			PRINTFORML MUSHI_ORDER:{LPCOUNT}＝{MUSHI_ORDER:LPCOUNT}
;			PRINTFORML MUSHI_STANDNUM:{LOCAL} ＝ {MUSHI_STANDNUM:LOCAL}
;			PRINTFORML %CALLNAME:(MUSHI_BATTLER:LOCAL)%
;			PRINTFORML %MUSHI_NAME:(MUSHI_STANDNUM:LOCAL)%
;			PRINTFORML MUSHI_HP:{(MUSHI_STANDNUM:LOCAL)} ＝ {MUSHI_HP:(MUSHI_STANDNUM:LOCAL)}
;			PRINTFORML MUSHI_ATK:{(MUSHI_STANDNUM:LOCAL)} ＝ {MUSHI_ATK:(MUSHI_STANDNUM:LOCAL)}
;			PRINTFORML MUSHI_SPD:{(MUSHI_STANDNUM:LOCAL)} ＝ {MUSHI_SPD:(MUSHI_STANDNUM:LOCAL)}
;			PRINTFORML MUSHI_SKL:{(MUSHI_STANDNUM:LOCAL)} ＝ %MUSHI_SKL:(MUSHI_STANDNUM:LOCAL)%
;			PRINTFORML MUSHI_STATUS:{LOCAL} ＝ %MUSHI_STATUS:LOCAL%
;		NEXT
;		WAIT
;	[ENDIF]
	IF MUSHI_ROUND
		;각 행동 처리
		FOR LPCOUNT, 1, MUSHI_CHARANUM + 1
			SIF !MUSHI_FINISH
				CALL MUSHI_BATTLE_COMBAT(MUSHI_ORDER:LPCOUNT / 10, MUSHI_ORDER:LPCOUNT)
		NEXT
		;턴 종료시 처리
		SIF !MUSHI_FINISH
			CALL MUSHI_BATTLE_ENDSTEP
	ELSE
		;개막 메시지
		CALL MUSHI_BATTLE_MSG
	ENDIF
	MUSHI_ROUND ++
WEND

;-------------------------------------------------
;벌레배틀：메인 전장 표시 함수(상반)
;LOCAL:1-2   플레이어 번호
;LOCAL : 3-4 캐릭터 번호
;LOCAL: 5-6 전장에 나와있는 벌레의 ID
;LOCAL : 7-8 전장에 나와있는 벌레 플래그 번호 (플레이어 번호 * 10 + 선출 번호)
;LOCAL : 99짝수 표시 여부
;-------------------------------------------------
@MUSHI_BATTLE_FIELD
#DIM LPCOUNT
#DIMS SHIFT
MUSHI_LINE = 3
PRINTFORM ◆ 라운드 %TOFULL(TOSTR(MUSHI_ROUND))%　＜ 필드 타입：
CALL PRINT_FIELDTYPE(MUSHI_FIELD:99)
PRINTL ＞
PRINTFORML ┏%"━" * 40%┓
;2사람씩 표시해 나가다
FOR LOCAL, 0, (MUSHI_CHARANUM > 2) + 1
	;플래그가 뒤죽박죽이야~
	VARSET LOCALS
	LOCAL:1 = 1 + LOCAL * 2
	LOCAL:2 = 2 + LOCAL * 2
	LOCAL:3 = MUSHI_BATTLER:(LOCAL:1)
	LOCAL:4 = MUSHI_BATTLER:(LOCAL:2)
	LOCAL:99 = !LOCAL || !(MUSHI_CHARANUM % 2)
	;캐릭터 이름
	PRINT ┃
	SIF !MUSHI_REST:(LOCAL:2)
		LOCALS:2 += "Ｋ．Ｏ．"
	LOCALS:1 += CALLNAME:(LOCAL:3)
	LOCALS:2 += CALLNAME:(LOCAL:4)
	SIF MUSHI_TEAM && LOCAL:1 != 1
		LOCALS:1 += "(동료)"
	IF !MUSHI_REST:(LOCAL:1)
		LOCALS:1 += "Ｋ．Ｏ．"
		SETCOLOR C_RED
	ELSE
		SETCOLOR MUSHI_COLOR:(LOCAL:1)
	ENDIF
	PRINTFORM %LOCALS:1, 40, LEFT%
	RESETCOLOR
	IF LOCAL:99
		IF !MUSHI_REST:(LOCAL:2)
			SETCOLOR C_RED
		ELSE
			SETCOLOR MUSHI_COLOR:(LOCAL:2)
		ENDIF
		PRINTFORM %LOCALS:2, 40, RIGHT%
		RESETCOLOR
	ELSE
		PRINTFORM %" "* 40%
	ENDIF
	PRINTL ┃
	LOCAL:5 = MUSHI_STAND:(LOCAL:1)
	LOCAL:6 = MUSHI_STAND:(LOCAL:2)
	LOCAL:7 = MUSHI_STANDNUM:(LOCAL:1)
	LOCAL:8 = MUSHI_STANDNUM:(LOCAL:2)
	;벌레의 이름
	PRINT ┃
	CALL PRINT_MUSHINAME(MUSHI_NAME:(LOCAL:7), LOCAL:5, 40)
	IF LOCAL:99
		CALL PRINT_MUSHINAME(MUSHI_NAME:(LOCAL:8), LOCAL:6, 40, 1)
	ELSE
		PRINTFORM %" "* 40%
	ENDIF
	PRINTL ┃
	;HP바의 잔여수
	PRINT ┃HP
	CALL PRINT_COLORBAR(MUSHI_HP:(LOCAL:7), MUSHI_MAXHP:(LOCAL:7), 20, UNICODE(0x2588), UNICODE(0x2588), BARCOLORSET("초록빛"), RESULT:1)
	PRINT
	CALL PRINT_RESTMUSHI(LOCAL:1)
	IF LOCAL:99
		PRINT
		CALL  PRINT_RESTMUSHI(LOCAL:2)
		PRINT
		CALL PRINT_COLORBAR(MUSHI_HP:(LOCAL:8), MUSHI_MAXHP:(LOCAL:8), 20, UNICODE(0x2588), UNICODE(0x2588), BARCOLORSET("초록빛"), RESULT:1)
		PRINT  HP
	ELSE
		PRINTFORM 　　　　　%" "* 40%
	ENDIF
	PRINTL ┃
	;속성과 상태변화
	PRINT ┃
	;전용 인수를 사용하여 RESULT:1을 출력하다
	CALL MUSHI_TYPE_PRIINT(MUSHI_TYPE:(LOCAL:7), MUSHI_TYPE:(LOCAL:8))
	PRINTFORM %MUSHI_STATUS:(LOCAL:1), 40 - RESULT, LEFT%
	IF LOCAL:99
		PRINTFORM %MUSHI_STATUS:(LOCAL:2), 40 - RESULT:1, RIGHT%
		CALL MUSHI_TYPE_PRIINT(MUSHI_TYPE:(LOCAL:8))
	ELSE
		PRINTFORM %" "* 40%
	ENDIF
	PRINTL ┃
	IF !LOCAL
		PRINT ┃
		CALL PRINT_FIELD_EFFECT(MUSHI_FIELD:99)
		PRINTL ┃
;		PRINTFORML ┃%" " * 37%ＶＳ．%" " * 37%┃
		MUSHI_LINE += 5
	ELSE
		MUSHI_LINE += 4
	ENDIF
NEXT
PRINTFORML ┣%"━" * 40%┫
;<메시지 표시에 계속>

;-------------------------------------------------
;벌레배틀：메시지를 설정하는 함수
;-------------------------------------------------
@MUSHI_MSGSET(ARGS)
FOR LOCAL, 0, 14
	IF MUSHI_MSG:LOCAL == ""
		MUSHI_MSG:LOCAL = %ARGS%
		RESULT = LOCAL
		BREAK
	ENDIF
NEXT
;채색한 번호를 돌려주다
RETURN RESULT

;-------------------------------------------------
;벌레배틀：메시지 표시 함수(하반)
;-------------------------------------------------
@MUSHI_BATTLE_MSG
MUSHI_LINE += 1
FOR LOCAL, 0, 14
	PRINTFORM ┃
	SIF MUSHI_MSGCL:LOCAL
		SETCOLOR MUSHI_MSGCL:LOCAL
	PRINTFORM %MUSHI_MSG:LOCAL, 80, LEFT%
	RESETCOLOR
	PRINTL ┃
	MUSHI_LINE ++
NEXT
PRINTFORML ┗%"━" * 40%┛
WAIT
;이력을 남길까? 말까?
;CLEARLINE MUSHI_LINE
VARSET MUSHI_MSG
VARSET MUSHI_MSGCL
SIF !MUSHI_FINISH
	CALL MUSHI_BATTLE_FIELD

;-------------------------------------------------
;벌레배틀：전투계산함수
;ARG    턴 플레이어 번호
;NUM    턴 플레이어의 전쟁터에 나와 있는 벌레 플래그 번호
;-------------------------------------------------
@MUSHI_BATTLE_COMBAT(ARG, NUM)
#DIM NUM
#DIM 공격대상
#DIM 대상NUM
#DIM 데미지보정
#DIM 고정데미지
#DIMS 공격스킬, 2
#DIM 회피율
#DIM 피해량
;행동 불능 판정
IF MUSHI_HP:NUM <= 0
	RETURN
;敗北している
ELSEIF !MUSHI_REST:ARG
	RETURN
ELSEIF STRCOUNT(MUSHI_STATUS:ARG, "<수면>")
	CALL MUSHI_MSGSET(@"《%MUSHI_NAME:NUM%》는 잠들어 있다…zZZ")
	MUSHI_MSGCL:RESULT = C_P_PURPLE
	CALL MUSHI_BATTLE_MSG
	RETURN
ENDIF

;대상 판정
공격대상 = 0
대상NUM = 0
공격스킬 =
공격스킬:1 =
LOCAL = 0
WHILE !대상NUM
	공격대상 = RAND:MUSHI_CHARANUM + 1
	;자신은 안 돼
	IF 공격대상 == ARG
		공격대상 = 0
	;우리 편은 안 돼
	ELSEIF MUSHI_TEAM && (공격대상 % 2) == (ARG % 2)
		공격대상 = 0
	;KO하면 안 돼
	ELSEIF MUSHI_HP:(MUSHI_STANDNUM:공격대상) <= 0
		공격대상 = 0
	;패퇴하면 안 돼
	ELSEIF !MUSHI_REST:공격대상
		공격대상 = 0
	;[의태]의 효과
	ELSEIF STRCOUNT(MUSHI_SKL:(MUSHI_STANDNUM:공격대상), "의태") && !RAND:2
		공격대상 = 0
	ENDIF
	SIF 공격대상
		대상NUM = MUSHI_STANDNUM:공격대상
	LOCAL ++
	;어느 정도 하고 정해지지 않으면 실패
	IF LOCAL > 100
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 공격은 대상이 없었다…")
		CALL MUSHI_BATTLE_MSG
		RETURN
	ENDIF
WEND

;공격시 판정
데미지보정= 100
고정데미지 = 0
;＠공격시대사
CALL KOJO_MESSAGE_SEND("MUSHI_BATTLE", 남은벌레수(ARG), MUSHI_BATTLER:ARG, ARG, 0, "攻撃時")
;단독공격스킬
;맹독 공격의 독공격을 방지
IF STRCOUNT(MUSHI_SKL:NUM, "독공격") && !STRCOUNT(MUSHI_SKL:NUM, "맹독공격") && 스킬판정(40, ARG, NUM) && !STRCOUNT(MUSHI_STATUS:공격대상, "<독>")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『독공격』！")
	MUSHI_MSGCL:RESULT = C_L_GREEN
	TIMES 데미지보정, 0.80
	공격스킬 = 독공격
ELSEIF STRCOUNT(MUSHI_SKL:NUM, "맹독공격") && 스킬판정(20, ARG, NUM) && !STRCOUNT(MUSHI_STATUS:공격대상, "<맹독>")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『맹독공격』！")
	MUSHI_MSGCL:RESULT = C_L_GREEN
	TIMES 데미지보정, 0.80
	공격스킬 = 맹독공격
ELSEIF STRCOUNT(MUSHI_SKL:NUM, "마비공격") && 스킬판정(30, ARG, NUM) && !STRCOUNT(MUSHI_STATUS:공격대상, "<마비>")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『마비공격』！")
	MUSHI_MSGCL:RESULT = C_L_GREEN
	TIMES 데미지보정, 0.80
	공격스킬 = 마비공격
ELSEIF STRCOUNT(MUSHI_SKL:NUM, "수면가루") && 스킬판정(20, ARG, NUM) && !STRCOUNT(MUSHI_STATUS:공격대상, "<수면>")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『수면가루』！")
	MUSHI_MSGCL:RESULT = C_L_GREEN
	TIMES 데미지보정, 0.80
	공격스킬 = 수면가루
ELSEIF STRCOUNT(MUSHI_SKL:NUM, "음파공격") && 스킬판정(40, ARG, NUM) && !STRCOUNT(MUSHI_STATUS:공격대상, "<혼란>")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『음파공격』！")
	MUSHI_MSGCL:RESULT = C_L_GREEN
	TIMES 데미지보정, 0.80
	공격스킬 = 음파공격
ELSEIF STRCOUNT(MUSHI_SKL:NUM, "점액공격") && 스킬판정(40, ARG, NUM) && !STRCOUNT(MUSHI_STATUS:공격대상, "<슬로우>")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『점액공격』！")
	MUSHI_MSGCL:RESULT = C_L_GREEN
	TIMES 데미지보정, 0.80
	공격스킬 = 점액공격
ELSEIF STRCOUNT(MUSHI_SKL:NUM, "악취공격") && 스킬판정(40, ARG, NUM) && !STRCOUNT(MUSHI_STATUS:공격대상, "<악취>")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『악취공격』！")
	MUSHI_MSGCL:RESULT = C_L_GREEN
	TIMES 데미지보정, 0.80
	공격스킬 = 악취공격
ELSEIF STRCOUNT(MUSHI_SKL:NUM, "저주공격") && 스킬판정(30, ARG, NUM)
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『저주공격』！")
	MUSHI_MSGCL:RESULT = C_L_GREEN
	TIMES 데미지보정, 0.80
	공격스킬 = 저주공격
ELSEIF STRCOUNT(MUSHI_SKL:NUM, "흡수공격") && 스킬판정(100, ARG, NUM)
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『흡수공격』！")
	MUSHI_MSGCL:RESULT = C_L_GREEN
	TIMES 데미지보정, 1.00
	공격스킬 = 흡수공격
ENDIF
;복합공격스킬
IF STRCOUNT(MUSHI_SKL:NUM, "강공격") && 스킬판정(40, ARG, NUM)
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『강공격』！")
	MUSHI_MSGCL:RESULT = C_YELLOW
	IF STRCOUNT(MUSHI_SKL:대상NUM, "빛의갑옷")
		CALL MUSHI_MSGSET(@"하지만 【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》은 『빛의갑옷』으로 통상적인 데미지만 받았다！")
		MUSHI_MSGCL:RESULT = C_AQUA
	ELSE
		CALL MUSHI_MSGSET(@"피해량 1.3배！")
		TIMES 데미지보정, 1.30
		공격스킬:1 += "강공격"
	ENDIF
ENDIF
IF STRCOUNT(MUSHI_SKL:NUM, "크리티컬공격") && 스킬판정(20, ARG, NUM)
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『크리티컬공격』！")
	MUSHI_MSGCL:RESULT = C_YELLOW
	IF STRCOUNT(MUSHI_SKL:대상NUM, "빛의갑옷")
		CALL MUSHI_MSGSET(@"하지만 【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》은 『빛의갑옷』으로 통상적인 데미지만 받았다！")
		MUSHI_MSGCL:RESULT = C_AQUA
	ELSE
		CALL MUSHI_MSGSET(@"피해량 2배！！")
		TIMES 데미지보정, 2.00
		공격스킬:1 += "크리티컬공격"
	ENDIF
ENDIF
IF STRCOUNT(MUSHI_SKL:NUM, "페이탈공격") && 스킬판정(10, ARG, NUM)
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『페이탈공격』！")
	MUSHI_MSGCL:RESULT = C_RED
	IF STRCOUNT(MUSHI_SKL:대상NUM, "빛의갑옷")
		CALL MUSHI_MSGSET(@"하지만 【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》은 『빛의갑옷』으로 통상적인 데미지만 받았다！")
		MUSHI_MSGCL:RESULT = C_AQUA
	ELSE
		CALL MUSHI_MSGSET(@"치명적인 데미지를 준다!")
		IF MUSHI_HP:대상NUM < MUSHI_MAXHP:대상NUM * 50 / 100
			고정데미지 = MUSHI_HP:대상NUM
		ELSE
			고정데미지 = MUSHI_HP:대상NUM - 1
		ENDIF
		공격스킬:1 += "페이탈공격"
	ENDIF
ENDIF
IF STRCOUNT(MUSHI_SKL:NUM, "레이저공격") && 스킬판정(20, ARG, NUM)
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『레이저공격』！")
	MUSHI_MSGCL:RESULT = C_YELLOW
	CALL MUSHI_MSGSET(@"이 공격은 피할 수 없어!!")
	공격스킬:1 += "레이저공격"
ENDIF
;통상공격
SIF 공격스킬 == 공격스킬:1
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『통상공격』！")
;추가 데미지 업
IF STRCOUNT(MUSHI_SKL:NUM, "선수필승") && MUSHI_ORDER:1 == ARG
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『선수필승』발동！")
	MUSHI_MSGCL:RESULT = C_YELLOW
	CALL MUSHI_MSGSET(@"최속 행동으로 데미지 상승!")
	TIMES 데미지보정, 1.20
ENDIF
IF STRCOUNT(MUSHI_SKL:NUM, "구축") && 남은벌레수(공격대상) == 1
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『구축』발동！")
	MUSHI_MSGCL:RESULT = C_YELLOW
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】의 벌레를 철저히 섬멸하라！")
	TIMES 데미지보정, 1.50
ENDIF
IF STRCOUNT(MUSHI_SKL:NUM, "도미네이트") && MUSHI_HP:NUM == MUSHI_MAXHP:NUM
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『도미네이트』발동！")
	MUSHI_MSGCL:RESULT = C_YELLOW
	CALL MUSHI_MSGSET(@"HP가 가득이면 반드시 크리티컬!!")
	TIMES 데미지보정, 2.00
ENDIF
IF STRCOUNT(MUSHI_SKL:NUM, "수서특효") && STRCOUNT(MUSHI_TRIBE:대상NUM, "수서")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『수서특효』발동！")
	MUSHI_MSGCL:RESULT = C_YELLOW
	CALL MUSHI_MSGSET(@"[수서]의 적에게 큰 데미지!!")
	TIMES 데미지보정, 2.00
ENDIF
IF STRCOUNT(MUSHI_SKL:NUM, "비행특효") && STRCOUNT(MUSHI_TRIBE:대상NUM, "비행")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》の『비행특효』발동！")
	MUSHI_MSGCL:RESULT = C_YELLOW
	CALL MUSHI_MSGSET(@"[비행]의 적에게 큰 데미지!!")
	TIMES 데미지보정, 2.00
ENDIF
IF STRCOUNT(MUSHI_SKL:NUM, "연체특효") && STRCOUNT(MUSHI_TRIBE:대상NUM, "연체")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》の『연체특효』발동！")
	MUSHI_MSGCL:RESULT = C_YELLOW
	CALL MUSHI_MSGSET(@"[연체]의 적에게 큰 데미지!!")
	TIMES 데미지보정, 2.00
ENDIF

;회피 판정
IF MUSHI_SPD:NUM * 500 / 100 < MUSHI_SPD:대상NUM
	회피율 = 70
ELSEIF MUSHI_SPD:NUM * 400 / 100 < MUSHI_SPD:대상NUM
	회피율 = 60
ELSEIF MUSHI_SPD:NUM * 300 / 100 < MUSHI_SPD:대상NUM
	회피율 = 50
ELSEIF MUSHI_SPD:NUM * 250 / 100 < MUSHI_SPD:대상NUM
	회피율 = 40
ELSEIF MUSHI_SPD:NUM * 200 / 100 < MUSHI_SPD:대상NUM
	회피율 = 30
ELSEIF MUSHI_SPD:NUM * 150 / 100 < MUSHI_SPD:대상NUM
	회피율 = 20
ELSEIF MUSHI_SPD:NUM * 100 / 100 < MUSHI_SPD:대상NUM
	회피율 = 10
ELSE
	회피율 = 0
ENDIF
SIF STRCOUNT(MUSHI_SKL:대상NUM, "극소")
	회피율 += 30
SIF STRCOUNT(MUSHI_SKL:대상NUM, "고속회피")
	회피율 += 30
SIF STRCOUNT(MUSHI_STATUS:공격대상, "수면|마비|슬로우")
	회피율 = 0
SIF STRCOUNT(공격스킬:1, "레이저공격")
	회피율 = 0
;슬쩍그로테스크 공격은 필중
SIF STRCOUNT(MUSHI_SKL:NUM, "그로테스크공격")
	회피율 = 0
;최대 80%
회피율 = MIN(회피율, 80)
IF RAND:100 < 회피율
	IF STRCOUNT(MUSHI_SKL:대상NUM, "고속회피")
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》의 『고속회피』발동！")
		MUSHI_MSGCL:RESULT = C_AQUA
		CALL MUSHI_MSGSET(@"민첩한 움직임으로 공격을 회피했다!!")
		MUSHI_MSGCL:RESULT = C_AQUA
	ELSEIF STRCOUNT(MUSHI_SKL:대상NUM, "극소")
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》의 『극소』발동！")
		MUSHI_MSGCL:RESULT = C_AQUA
		CALL MUSHI_MSGSET(@"몸이 작아서 공격이 맞지 않아!!")
		MUSHI_MSGCL:RESULT = C_AQUA
	ELSE
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》의 공격을 회피했다！")
		MUSHI_MSGCL:RESULT = C_AQUA
	ENDIF
	CALL MUSHI_BATTLE_MSG
	RETURN
ENDIF

;방어시 판정
IF STRCOUNT(MUSHI_STATUS:공격대상, "<아지랑이>")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》는 환영이었다！")
	MUSHI_MSGCL:RESULT = C_CREAM
	MUSHI_STATUS:공격대상'= REPLACE(MUSHI_STATUS:공격대상, "<아지랑이>", "")
	데미지보정= 0
ELSEIF STRCOUNT(MUSHI_SKL:대상NUM, "카운터") && 스킬판정(10, 공격대상, 대상NUM)
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》의 『카운터』발동！！")
	MUSHI_MSGCL:RESULT = C_CREAM
	CALL MUSHI_MSGSET(@"데미지를 그대로 돌려준다!!")
	공격대상 = ARG
	대상NUM = NUM
ELSEIF STRCOUNT(MUSHI_SKL:대상NUM, "저스트가드") && 스킬판정(30, 공격대상, 대상NUM)
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》의『저스트가드』발동！")
	MUSHI_MSGCL:RESULT = C_CREAM
	CALL MUSHI_MSGSET(@"받는 데미지를 반으로 줄인다!")
	TIMES 데미지보정, 0.50
ENDIF
IF STRCOUNT(MUSHI_STATUS:공격대상, "<슬로우>")
	CALL MUSHI_MSGSET(@"《%MUSHI_NAME:대상NUM%》은 <슬로우>상태라 받는 데미지가 증가했다!")
	TIMES 데미지보정, 1.50
ENDIF

;데미지 판정
;비활성화되면 종료
IF !데미지보정
	CALL MUSHI_BATTLE_MSG
	RETURN
ENDIF
[SKIPSTART]
	;리얼리티 차이 보정 ※보류
	SELECTCASE MUSHI_RARE:NUM - MUSHI_RARE:대상NUM
	CASE 1
		TIMES 데미지보정, 1.05
	CASE 2
		TIMES 데미지보정, 1.10
	CASE 3
		TIMES 데미지보정, 1.15
	CASE 4
		TIMES 데미지보정, 1.20
	CASE IS >= 5
		TIMES 데미지보정, 1.30
	ENDSELECT
[SKIPEND]
;상성 보정
VARSET LOCAL
LOCAL += STRCOUNT(MUSHI_TYPE:NUM, "赤") * STRCOUNT(MUSHI_TYPE:대상NUM, "緑")
LOCAL += STRCOUNT(MUSHI_TYPE:NUM, "緑") * STRCOUNT(MUSHI_TYPE:대상NUM, "青")
LOCAL += STRCOUNT(MUSHI_TYPE:NUM, "青") * STRCOUNT(MUSHI_TYPE:대상NUM, "赤")
LOCAL += STRCOUNT(MUSHI_TYPE:NUM, "白") * STRCOUNT(MUSHI_TYPE:대상NUM, "黒")
LOCAL += STRCOUNT(MUSHI_TYPE:NUM, "黒") * STRCOUNT(MUSHI_TYPE:대상NUM, "白")
WHILE LOCAL:1 < LOCAL
	TIMES 데미지보정, 1.50
	LOCAL:1 ++
WEND
SIF LOCAL:1
	CALL MUSHI_MSGSET(@"속성 궁합 최고다!")

;데미지결정
피해량 = MUSHI_ATK:NUM * 데미지보정/ 100
;난수 보정
피해량 = 피해량 * (80 + RAND:40) / 100

SIF 고정데미지
	피해량 = 고정데미지

CALL MUSHI_DAMAGE(대상NUM, 피해량)
CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》가 {피해량} 의 데미지！")
MUSHI_MSGCL:RESULT = C_ORANGE

;[흡수공격]의 효과
IF 공격스킬 == "흡수공격"
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》는 {피해량} 회복했다！")
	MUSHI_MSGCL:RESULT = C_L_GREEN
	MUSHI_HP:NUM = MIN(MUSHI_HP:NUM + 피해량, MUSHI_MAXHP:NUM)
ENDIF
;[역습]의 효과
IF INRANGE(MUSHI_HP:대상NUM, 1, MUSHI_MAXHP:대상NUM / 2) && STRCOUNT(MUSHI_SKL:대상NUM, "역습") && !STRCOUNT(MUSHI_STATUS:공격대상, "<역습>")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》의 『역습』발동！")
	MUSHI_MSGCL:RESULT = C_ORANGE
	CALL MUSHI_MSGSET(@"공격을 받아 <역습> 상태가 되었다!!")
	MUSHI_STATUS:공격대상 += "<역습>"
	CALL MUSHI_PALAM(MUSHI_STAND:공격대상, MUSHI_POWER:공격대상, MUSHI_HP:대상NUM)
	CALL MUSHI_FLAGSETTING(MUSHI_STAND:공격대상, 대상NUM)
ENDIF

;◆◆여기서 한번 메시지 표시◆◆
CALL MUSHI_BATTLE_MSG

VARSET LOCAL
;KO판정
IF MUSHI_HP:대상NUM <= 0
	CALL MUSHI_BATTLE_CHECK_KO(ARG, NUM)
	SIF MUSHI_FINISH
		RETURN
ELSEIF 공격스킬 != "" && STRCOUNT(MUSHI_SKL:대상NUM, "태고의힘")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》의 『태고의힘』발동！！")
	MUSHI_MSGCL:RESULT = C_CREAM
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》은 %공격스킬%의 효과를 받지 않아!")
	CALL MUSHI_BATTLE_MSG
ELSE
	;데미지 후 처리
	SELECTCASE 공격스킬
	CASE "독공격"
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》은 <독>에 중독됐다!")
		MUSHI_MSGCL:RESULT = C_P_PURPLE
		MUSHI_STATUS:공격대상 += "<독>"
	CASE "맹독공격"
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》은 <맹독>에 중독됐다!")
		MUSHI_MSGCL:RESULT = C_P_PURPLE
		MUSHI_STATUS:공격대상 += "<맹독>"
	CASE "마비공격"
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》은 <마비>에 걸렸다!")
		MUSHI_MSGCL:RESULT = C_P_PURPLE
		MUSHI_STATUS:공격대상 += "<마비>"
	CASE "수면가루"
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》은 <수면>에 빠졌다!")
		MUSHI_MSGCL:RESULT = C_P_PURPLE
		MUSHI_STATUS:공격대상 += "<수면>"
	CASE "음파공격"
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》은 <혼란>스럽다!")
		MUSHI_MSGCL:RESULT = C_P_PURPLE
		MUSHI_STATUS:공격대상 += "<혼란>"
	CASE "점액공격"
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》은 <슬로우>상태가 되었다!")
		MUSHI_MSGCL:RESULT = C_P_PURPLE
		MUSHI_STATUS:공격대상 += "<슬로우>"
	CASE "악취공격"
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》은 <악취>상태가 되었다!")
		MUSHI_MSGCL:RESULT = C_P_PURPLE
		MUSHI_STATUS:공격대상 += "<악취>"
	CASE "저주공격"
		;현재 HP의 1/2(절상) 피해를 입히는
		LOCAL = MUSHI_HP:대상NUM / 2 + 1
		CALL MUSHI_DAMAGE(대상NUM, LOCAL)
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》은 추가적으로 {LOCAL} 의 데미지")
		MUSHI_MSGCL:RESULT = C_P_PURPLE
	ENDSELECT
	IF 공격스킬 != ""
		;상태 변화를 고려하여 상태 재설정
		CALL MUSHI_PALAM(MUSHI_STAND:공격대상, MUSHI_POWER:공격대상, MUSHI_HP:대상NUM)
		CALL MUSHI_FLAGSETTING(MUSHI_STAND:공격대상, 대상NUM)
		CALL MUSHI_BATTLE_MSG
	ENDIF
ENDIF
IF STRCOUNT(MUSHI_SKL:NUM, "나비효과") && 스킬판정(5, ARG, NUM)
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『나비효과』발동！")
	MUSHI_MSGCL:RESULT = C_L_GREEN
	CALL MUSHI_MSGSET(@"나비의 날갯짓이 회오리바람을 일으킨다!!")
	FOR LOCAL, 1, MUSHI_CHARANUM + 1
		IF MUSHI_HP:(MUSHI_STANDNUM:LOCAL) > 1
			LOCAL:1 = MUSHI_HP:(MUSHI_STANDNUM:LOCAL) / 2
			CALL MUSHI_DAMAGE(MUSHI_STANDNUM:LOCAL, LOCAL:1)
			CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:LOCAL)%】《%MUSHI_NAME:(MUSHI_STANDNUM:LOCAL)%》에 {LOCAL:1}의 데미지!")
			MUSHI_MSGCL:RESULT = C_ORANGE
		ENDIF
	NEXT
	;치명상은 받지 않지만(MSG만으로 좋다) 일단
	CALL MUSHI_BATTLE_CHECK_KO(ARG, NUM)
	SIF MUSHI_FINISH
		RETURN
ENDIF
IF STRCOUNT(MUSHI_SKL:NUM, "소음공격") && MUSHI_CHARANUM > 2
	LOCAL:1 = 0
	FOR LOCAL, 1, MUSHI_CHARANUM + 1
		;당하고 있다
		SIF MUSHI_HP:(MUSHI_STANDNUM:LOCAL) <= 0
			CONTINUE
		;패배했어
		SIF !MUSHI_REST:LOCAL
			CONTINUE
		;자신
		SIF LOCAL == ARG
			CONTINUE
		;공격대상은 제외
		SIF LOCAL == 공격대상
			CONTINUE
		;동료
		SIF MUSHI_TEAM && (LOCAL % 2) == (ARG % 2)
			CONTINUE
		;한 번이라도 피해를 입히면 표시하겠다
		IF !LOCAL:1
			CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『소음공격』발동！")
			MUSHI_MSGCL:RESULT = C_L_GREEN
			CALL MUSHI_MSGSET(@"다른 모든 적에게 피해를 입힌다!")
			LOCAL:1 = 1
		ENDIF
		CALL MUSHI_DAMAGE(MUSHI_STANDNUM:LOCAL, 피해량)
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:LOCAL)%】《%MUSHI_NAME:(MUSHI_STANDNUM:LOCAL)%》에 {피해량} 의 데미지!")
		MUSHI_MSGCL:RESULT = C_ORANGE
	NEXT
	IF LOCAL:1
		CALL MUSHI_BATTLE_CHECK_KO(ARG, NUM)
		SIF MUSHI_FINISH
			RETURN
	ENDIF
ENDIF
IF STRCOUNT(MUSHI_SKL:대상NUM, "발광")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:공격대상)%】《%MUSHI_NAME:대상NUM%》의 『발광』발동！")
	MUSHI_MSGCL:RESULT = C_L_GREEN
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》은 <혼란>스럽다!")
	MUSHI_MSGCL:RESULT = C_P_PURPLE
	MUSHI_STATUS:ARG += "<혼란>"
	CALL MUSHI_BATTLE_MSG
ENDIF
IF STRCOUNT(MUSHI_STATUS:ARG, "<혼란>")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》은 <혼란>상태에 있다!")
	MUSHI_MSGCL:RESULT = C_P_PURPLE
	CALL MUSHI_DAMAGE(NUM, 피해량 / 2)
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》에 {피해량 / 2} 의 데미지!")
	MUSHI_MSGCL:RESULT = C_ORANGE
	CALL MUSHI_BATTLE_CHECK_KO
	SIF MUSHI_FINISH
		RETURN
ENDIF
VARSET LOCAL
IF STRCOUNT(MUSHI_SKL:NUM, "그로테스크공격")
	CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『그로테스크공격』발동！")
	MUSHI_MSGCL:RESULT = C_RED
	CALL MUSHI_MSGSET(@"소름끼치는 거동으로 모두에게 정신적 데미지!!")
	MUSHI_MSGCL:RESULT = C_RED
	CALL MUSHI_BATTLE_MSG
	FOR LOCAL, 1, MUSHI_CHARANUM + 1
		SIF MUSHI_MENTAL:LOCAL && MUSHI_REST:LOCAL
			MUSHI_MENTAL:LOCAL = MAX(MUSHI_MENTAL:LOCAL - 피해량, 0)
		IF !MUSHI_MENTAL:LOCAL && MUSHI_REST:LOCAL
			CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:LOCAL)%】은 눈앞의 참상을 견딜 수 없어 기브업 했다!")
			MUSHI_MSGCL:RESULT = C_RED
			LOCAL:1 = 1
		ENDIF
	NEXT
	IF LOCAL:1
		CALL MUSHI_BATTLE_CHECK_DO
		SIF MUSHI_FINISH
			RETURN
	ENDIF
ENDIF

;-------------------------------------------------
;벌레배틀：기술발동판정함수
;ARG 플레이어 번호
;NUM 플래그 번호
;-------------------------------------------------
@스킬판정(確率, ARG, NUM)
#FUNCTION
#DIM 確率
#DIM NUM
SIF STRCOUNT(MUSHI_STATUS:ARG, "<得意地形>")
	TIMES 確率, 1.5
SIF STRCOUNT(MUSHI_SKL:NUM, "맹공")
	TIMES 確率, 1.5
SIF GET_MUSHIDATA(MUSHI_SELECT:NUM, "Ｘ型")
	TIMES 確率, 1.5
SIF STRCOUNT(MUSHI_STATUS:ARG, "<마비>")
	確率 = 0

RETURNF RAND:100 < 確率

;-------------------------------------------------
;벌레배틀：데미지 처리함수
;-------------------------------------------------
@MUSHI_DAMAGE(ARG, ARG:1)
MUSHI_HP:ARG = MAX(MUSHI_HP:ARG - ARG:1, 0)

;-------------------------------------------------
;벌레배틀：K.O.의 판정 함수
;ARG 공격 플레이어 번호
;NUM 공격 플레이어의 전장에 노출된 벌레 플래그 번호
;-------------------------------------------------
@MUSHI_BATTLE_CHECK_KO(ARG, NUM)
#DIM NUM
FOR LOCAL, 1, MUSHI_CHARANUM + 1
	;이미 당하고 있는
	IF MUSHI_HP:(MUSHI_STANDNUM:LOCAL) < 0
		CONTINUE
	;당했다(HP=0)
	ELSEIF !MUSHI_HP:(MUSHI_STANDNUM:LOCAL)
		IF STRCOUNT(MUSHI_SKL:(MUSHI_STANDNUM:LOCAL), "근성") && 스킬판정(15, LOCAL, MUSHI_STANDNUM:LOCAL)
			CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:LOCAL)%】《%MUSHI_NAME:(MUSHI_STANDNUM:LOCAL)%》의 『근성』발동!!")
			MUSHI_MSGCL:RESULT = C_YELLOW
			MUSHI_HP:(MUSHI_STANDNUM:LOCAL) = 1
		ELSE
			CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:LOCAL)%】《%MUSHI_NAME:(MUSHI_STANDNUM:LOCAL)%》는 쓰러졌다!!")
			MUSHI_MSGCL:RESULT = C_RED
			;쓰러지면 HP=-1로 해둔다.
			MUSHI_HP:(MUSHI_STANDNUM:LOCAL) = -1
			CLEARBIT MUSHI_REST:LOCAL, MUSHI_STANDNUM:LOCAL % 10
			;@쓰러졌을 때 말투
			CALL KOJO_MESSAGE_SEND("MUSHI_BATTLE", 남은벌레수(LOCAL), MUSHI_BATTLER:LOCAL, LOCAL, 0, "倒れた時")
			;[고양]의 효과
			IF STRCOUNT(MUSHI_SKL:NUM, "고양") && !STRCOUNT(MUSHI_STATUS:ARG, "<고양>")
				CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】《%MUSHI_NAME:NUM%》의 『고양』발동！")
				MUSHI_MSGCL:RESULT = C_L_GREEN
				CALL MUSHI_MSGSET(@"적을 쓰러뜨리고 <고양> 상태가 되었다!!")
				MUSHI_STATUS:ARG += "<고양>"
				CALL MUSHI_PALAM(MUSHI_STAND:ARG, MUSHI_POWER:ARG, MUSHI_HP:NUM)
				CALL MUSHI_FLAGSETTING(MUSHI_STAND:ARG, NUM)
			ENDIF
		ENDIF
	;[역습]의 효과
	ELSEIF MUSHI_HP:(MUSHI_STANDNUM:LOCAL) <= MUSHI_MAXHP:(MUSHI_STANDNUM:LOCAL) / 2 && STRCOUNT(MUSHI_SKL:(MUSHI_STANDNUM:LOCAL), "역습") && !STRCOUNT(MUSHI_STATUS:LOCAL, "<역습>")
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:LOCAL)%】《%MUSHI_NAME:(MUSHI_STANDNUM:LOCAL)%》의 『역습』발동！")
		MUSHI_MSGCL:RESULT = C_ORANGE
		CALL MUSHI_MSGSET(@"공격을 받아 <역습>상태로 나왔다!!")
		MUSHI_STATUS:LOCAL += "<역습>"
		CALL MUSHI_PALAM(MUSHI_STAND:LOCAL, MUSHI_POWER:LOCAL, MUSHI_HP:(MUSHI_STANDNUM:LOCAL))
		CALL MUSHI_FLAGSETTING(MUSHI_STAND:LOCAL, MUSHI_STANDNUM:LOCAL)
	ENDIF
NEXT
CALL MUSHI_BATTLE_CHECK_DO
;-------------------------------------------------
;벌레배틀：드롭아웃 판정과 그에 이은 게임셋 판정 함수
; LOCAL: 2 드롭아웃된 플레이어의 순위
;-------------------------------------------------
@MUSHI_BATTLE_CHECK_DO
#DIM LPCOUNT
VARSET LOCAL
FOR LPCOUNT, 1, MUSHI_CHARANUM + 1
	;MENTAL=-1은 제외
	IF (!MUSHI_REST:LPCOUNT || !MUSHI_MENTAL:LPCOUNT) && MUSHI_MENTAL:LPCOUNT >= 0
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:LPCOUNT)%】패퇴!!")
		MUSHI_MSGCL:RESULT = C_RED
		;＠패배시구상
		CALL KOJO_MESSAGE_SEND("MUSHI_BATTLE", 남은벌레수(LPCOUNT), MUSHI_BATTLER:LPCOUNT, LPCOUNT, 0, "敗退時")
		;패퇴하면 MENTAL=-1로 해둘게
		MUSHI_MENTAL:LPCOUNT = -1
		MUSHI_REST:LPCOUNT = 0
		;순위 설정, 뒤에서 체크해 나가다
		FOR LOCAL, 1, MUSHI_CHARANUM + 1
			LOCAL:1 = MUSHI_CHARANUM + 1 - LOCAL
			IF !MUSHI_FINISH:(LOCAL:1)
				MUSHI_FINISH:(LOCAL:1) = LPCOUNT
				LOCAL:2 = LOCAL:1
				BREAK
			ENDIF
		NEXT
	ENDIF
NEXT
;◆◆◆여기서 KO및 패퇴 메세지 표시 ◆◆
CALL MUSHI_BATTLE_MSG
;무승부 시의 판정
IF LOCAL:2 == 1
	SETBIT MUSHI_REST:(MUSHI_FINISH:1), 3
	CALL MUSHI_MSGSET(@"놀랍게도、【%CALLNAME:(MUSHI_BATTLER:(MUSHI_FINISH:1))%】《%MUSHI_NAME:(MUSHI_STANDNUM:(MUSHI_FINISH:1))%》는 최후의 힘을 다해 일어섰다!")
	MUSHI_MSGCL:RESULT = C_YELLOW
	CALL MUSHI_BATTLE_MSG
	LOCAL:2 = 2
ENDIF
;팀전
IF MUSHI_TEAM
	;홀수냐 짝수냐가 전멸하면 게임세트
	IF (!MUSHI_REST:1 && !MUSHI_REST:3 && !MUSHI_REST:5 && !MUSHI_REST:7) || (!MUSHI_REST:2 && !MUSHI_REST:4 && !MUSHI_REST:6 && !MUSHI_REST:8)
		VARSET MUSHI_FINISH
		;귀찮아서 감당하기 힘들어.
		IF (!MUSHI_REST:1 && !MUSHI_REST:3 && !MUSHI_REST:5 && !MUSHI_REST:7)
			MUSHI_FINISH:1 = 2
			MUSHI_FINISH:2 = 4
			MUSHI_FINISH:3 = 6
			MUSHI_FINISH:4 = 8
		ELSE
			MUSHI_FINISH:1 = 1
			MUSHI_FINISH:2 = 3
			MUSHI_FINISH:3 = 5
			MUSHI_FINISH:4 = 7
		ENDIF
		FOR LOCAL, 1, MUSHI_CHARANUM + 1
			IF MUSHI_REST:LOCAL
				CALL MUSHI_MSGSET(@"%" " * (24 - STRLENS(CALLNAME:(MUSHI_BATTLER:LOCAL)))%☆☆☆승자　팀【%CALLNAME:(MUSHI_BATTLER:LOCAL)%】☆☆☆")
				MUSHI_MSGCL:RESULT = C_YELLOW
				MUSHI_FINISH:0 = LOCAL
				BREAK
			ENDIF
		NEXT
		;◆◆◆게임셋 메시지 표시◆◆
		CALL MUSHI_BATTLE_MSG
	ENDIF
;個人戦
ELSE
	;2등이 정해지면 게임 세트
	IF LOCAL:2 == 2
		FOR LOCAL, 1, MUSHI_CHARANUM + 1
			IF MUSHI_REST:LOCAL
				CALL MUSHI_MSGSET(@"%" " * (30 - STRLENS(CALLNAME:(MUSHI_BATTLER:LOCAL)))%☆☆☆승자　【%CALLNAME:(MUSHI_BATTLER:LOCAL)%】☆☆☆")
				MUSHI_MSGCL:RESULT = C_YELLOW
				MUSHI_FINISH:1 = LOCAL
				MUSHI_FINISH:0 = LOCAL
				BREAK
			ENDIF
		NEXT
		;◆◆◆게임셋 메시지 표시◆◆
		CALL MUSHI_BATTLE_MSG
	ENDIF
ENDIF

;-------------------------------------------------
;벌레배틀：턴 종료시 처리
;-------------------------------------------------
@MUSHI_BATTLE_ENDSTEP
#DIM LPCOUNT
#DIM 데미지
;[유사] 효과(전원분)
VARSET LOCAL
FOR LPCOUNT, 1, MUSHI_CHARANUM + 1
	IF STRCOUNT(MUSHI_SKL:(MUSHI_STANDNUM:LPCOUNT), "유사") && NAME_FIELD_TYPE(MUSHI_FIELD:99) == "[모래밭]"
		FOR LOCAL, 1, MUSHI_CHARANUM + 1
			;당하고 있다
			SIF MUSHI_HP:(MUSHI_STANDNUM:LPCOUNT) <= 0
				CONTINUE
			;자신
			SIF LOCAL == LPCOUNT
				CONTINUE
			;동료
			SIF MUSHI_TEAM && (LOCAL % 2) == (LPCOUNT % 2)
				CONTINUE
			;한 번이라도 피해를 입히면 표시하겠다
			IF !LOCAL:1
				CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:LPCOUNT)%】《%MUSHI_NAME:(MUSHI_STANDNUM:LPCOUNT)%》의 『유사』발동！")
				MUSHI_MSGCL:RESULT = C_CREAM
				CALL MUSHI_MSGSET(@"모든 적을 유사로 끌어들인다!")
				LOCAL:1 = 1
			ENDIF
			데미지 = MUSHI_MAXHP:(MUSHI_STANDNUM:LOCAL) / 4
			CALL MUSHI_DAMAGE(MUSHI_STANDNUM:LOCAL, 데미지)
			CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:LOCAL)%】《%MUSHI_NAME:(MUSHI_STANDNUM:LOCAL)%》에 {데미지}의 피해！")
			MUSHI_MSGCL:RESULT = C_ORANGE
		NEXT
		IF LOCAL:1
			CALL MUSHI_BATTLE_CHECK_KO(LPCOUNT, MUSHI_STANDNUM:LPCOUNT)
			SIF MUSHI_FINISH
				RETURN
		ENDIF
	ENDIF
NEXT

;독데미지처리,맹독우선
VARSET LOCAL
FOR LPCOUNT, 1, MUSHI_CHARANUM + 1
	IF STRCOUNT(MUSHI_STATUS:LPCOUNT, "<맹독>") && MUSHI_HP:(MUSHI_STANDNUM:LPCOUNT) > 0
		데미지 = MUSHI_MAXHP:(MUSHI_STANDNUM:LPCOUNT) / 2
		CALL MUSHI_DAMAGE(MUSHI_STANDNUM:LPCOUNT, 데미지)
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:LPCOUNT)%】《%MUSHI_NAME:(MUSHI_STANDNUM:LPCOUNT)%》은 맹독에 {데미지}의 데미지！")
		MUSHI_MSGCL:RESULT = C_P_PURPLE
		LOCAL:1 = 1
	ELSEIF STRCOUNT(MUSHI_STATUS:LPCOUNT, "<독>") && MUSHI_HP:(MUSHI_STANDNUM:LPCOUNT) > 0
		데미지 = MUSHI_MAXHP:(MUSHI_STANDNUM:LPCOUNT) / 4
		CALL MUSHI_DAMAGE(MUSHI_STANDNUM:LPCOUNT, 데미지)
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:LPCOUNT)%】《%MUSHI_NAME:(MUSHI_STANDNUM:LPCOUNT)%》은 독에 {데미지}의 데미지！")
		MUSHI_MSGCL:RESULT = C_P_PURPLE
		LOCAL:1 = 1
	ENDIF
NEXT
;데미지가 발생하면 KO판정
IF LOCAL:1
	CALL MUSHI_BATTLE_CHECK_KO(LPCOUNT, MUSHI_STANDNUM:LPCOUNT)
	SIF MUSHI_FINISH
		RETURN
ENDIF

;수면이 일어나는 처리
VARSET LOCAL
FOR LPCOUNT, 1, MUSHI_CHARANUM + 1
	;確率1/2
	IF STRCOUNT(MUSHI_STATUS:LPCOUNT, "<수면>") && !RAND:2 && MUSHI_HP:(MUSHI_STANDNUM:LPCOUNT) > 0
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:LPCOUNT)%】《%MUSHI_NAME:(MUSHI_STANDNUM:LPCOUNT)%》은 수면에서 깼다!")
		MUSHI_MSGCL:RESULT = C_YELLOW
		MUSHI_STATUS:LPCOUNT'= REPLACE(MUSHI_STATUS:LPCOUNT, "<수면>", "")
		LOCAL:1 = 1
	ENDIF
NEXT
;기상이 발생하면 메시지 표시
SIF LOCAL:1
	CALL MUSHI_BATTLE_MSG

;재생 처리
VARSET LOCAL
FOR LPCOUNT, 1, MUSHI_CHARANUM + 1
	IF STRCOUNT(MUSHI_SKL:(MUSHI_STANDNUM:LPCOUNT), "재생") && INRANGE(MUSHI_HP:(MUSHI_STANDNUM:LPCOUNT), 1, MUSHI_MAXHP:(MUSHI_STANDNUM:LPCOUNT) - 1)
		LOCAL = MUSHI_MAXHP:(MUSHI_STANDNUM:LPCOUNT) / 4
		MUSHI_HP:(MUSHI_STANDNUM:LPCOUNT) = MIN(MUSHI_HP:(MUSHI_STANDNUM:LPCOUNT) + LOCAL, MUSHI_MAXHP:(MUSHI_STANDNUM:LPCOUNT))
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:LPCOUNT)%】《%MUSHI_NAME:(MUSHI_STANDNUM:LPCOUNT)%》의 『재생』발동！")
		MUSHI_MSGCL:RESULT = C_L_GREEN
		CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:LPCOUNT)%】《%MUSHI_NAME:(MUSHI_STANDNUM:LPCOUNT)%》은 {LOCAL} 회복했다! ")
		MUSHI_MSGCL:RESULT = C_L_GREEN
		LOCAL:1 = 1
	ENDIF
NEXT
;재생이 발동되면 메세지 표시
SIF LOCAL:1
	CALL MUSHI_BATTLE_MSG

;교체
VARSET LOCAL
FOR LPCOUNT, 1, MUSHI_CHARANUM + 1
	;패퇴끝
	SIF !MUSHI_REST:LPCOUNT
		CONTINUE
	IF MUSHI_HP:(MUSHI_STANDNUM:LPCOUNT) <= 0
		;당신은 수동
		IF MUSHI_BATTLER:LPCOUNT == MASTER
			CLEARLINE MUSHI_LINE
			CALL MUSHI_BATTLE_CHANGE(LPCOUNT)
		ELSE
			;캐릭터는 위에서부터 순서대로 내놓는다
			FOR LOCAL, 1, MUSHI_MAXSELECT + 1
				IF GETBIT(MUSHI_REST:LPCOUNT, LOCAL)
					CALL MUSHI_BATTLE_ETB(LPCOUNT, LPCOUNT * 10 + LOCAL)
					BREAK
				ENDIF
			NEXT
		ENDIF
		LOCAL:1 = 1
	ENDIF
NEXT
;교체가 발생하면 메시지 표시
SIF LOCAL:1
	CALL MUSHI_BATTLE_MSG

;-------------------------------------------------
;마스터 수동 교체 함수
;전장 표시와 메시지 표시 사이에 INPUT가 들어가므로 사전에 전장 표시를 꺼두고,
;메시지 표시(ETB) 앞에 전장 표시하기
;-------------------------------------------------
@MUSHI_BATTLE_CHANGE(ARG)
#DIM 선택한벌레
PRINTFORML ◆다음에 낼 벌레를 골라라!
FOR LOCAL, 1, MUSHI_MAXSELECT + 1
	SIF !GETBIT(MUSHI_REST:ARG, LOCAL)
		SETCOLOR C_GRAY
	PRINTFORM [{LOCAL, 2}]
	CALL SHOW_MUSHI_DATA(MUSHI_SELECT:(ARG * 10 + LOCAL), "一行")
	PRINTL
	RESETCOLOR
NEXT
INPUT
IF INRANGE(RESULT, 1, MUSHI_MAXSELECT) && GETBIT(MUSHI_REST:ARG, RESULT)
	선택한벌레 = RESULT
	CALL MUSHI_BATTLE_FIELD
	CALL MUSHI_BATTLE_ETB(ARG, ARG * 10 + 선택한벌레)
	MUSHI_LINE += 2 + MUSHI_MAXSELECT
	RETURN
ENDIF
CLEARLINE 2 + MUSHI_MAXSELECT
RESTART

;-------------------------------------------------
;벌레배틀：전장에 나갔을 때의 스킬 처리, 능력치 계산 함수
;ARG 플레이어 번호
;NUM 플래그 번호
;-------------------------------------------------
@MUSHI_BATTLE_ETB(ARG, NUM)
#DIM NUM
;STAND를 설정
MUSHI_STAND:ARG = MUSHI_SELECT:NUM
MUSHI_STANDNUM:ARG = NUM
MUSHI_STATUS:ARG =
MUSHI_NAME = %MUSHI_NAME:NUM%
CALL MUSHI_MSGSET(@"【%CALLNAME:(MUSHI_BATTLER:ARG)%】은(는)《%MUSHI_NAME%》를 전장에 내보냈다！")
;＠ETB대사
CALL KOJO_MESSAGE_SEND("MUSHI_BATTLE", 남은벌레수(ARG), MUSHI_BATTLER:ARG, ARG, 0, "戦場に出した")

;필드 판정
IF STRCOUNT(MUSHI_SKL:NUM, "정화")
	CALL MUSHI_MSGSET(@"《%MUSHI_NAME%》의 [정화]발동！")
	MUSHI_MSGCL:RESULT = C_AQUA
	CALL MUSHI_BATTLE_필드변화(7)
ELSEIF MUSHI_FIELD:NUM & MUSHI_FIELD:99
	MUSHI_STATUS:ARG += "<得意地形>"
ENDIF
;得意季節
IF STRCOUNT(MUSHI_SKL:NUM, "봄벌레") && GET_MONTH() == "봄의 달"
	MUSHI_STATUS:ARG += "<得意季節>"
ELSEIF STRCOUNT(MUSHI_SKL:NUM, "여름벌레") && GET_MONTH() == "여름의 달"
	MUSHI_STATUS:ARG += "<得意季節>"
ELSEIF STRCOUNT(MUSHI_SKL:NUM, "가을벌레") && GET_MONTH() == "가을의 달"
	MUSHI_STATUS:ARG += "<得意季節>"
ENDIF
;ETBスキル
IF 남은벌레수(ARG) == 1
	IF STRCOUNT(MUSHI_SKL:NUM, "대장")
		MUSHI_STATUS:ARG += "<대장>"
		CALL MUSHI_MSGSET(@"《%MUSHI_NAME%》의 [대장]발동！")
		MUSHI_MSGCL:RESULT = C_L_GREEN
		CALL MUSHI_MSGSET(@"《%MUSHI_NAME%》는 최후의 한 마리로서 의욕이 넘친다!")
		MUSHI_MSGCL:RESULT = C_YELLOW
	ELSE
		CALL MUSHI_MSGSET(@"《%MUSHI_NAME%》는 마지막 한 마리다!")
		MUSHI_MSGCL:RESULT = C_ORANGE
	ENDIF
ENDIF
IF STRCOUNT(MUSHI_SKL:NUM, "아지랑이")
	MUSHI_STATUS:ARG += "<아지랑이>"
	CALL MUSHI_MSGSET(@"《%MUSHI_NAME%》의 [아지랑이]발동！")
	MUSHI_MSGCL:RESULT = C_L_GREEN
	CALL MUSHI_MSGSET(@"《%MUSHI_NAME%》은 아지랑이에 휩싸였다!")
	MUSHI_MSGCL:RESULT = C_CREAM
ENDIF
;능력치 재설정, 전투HP 가득
CALL MUSHI_PALAM(MUSHI_STAND:ARG, MUSHI_POWER:ARG, 0, MUSHI_STATUS:ARG)
CALL MUSHI_FLAGSETTING(MUSHI_STAND:ARG, NUM)

;-------------------------------------------------
;벌레배틀：필드유형이바뀌었을때처리함수
;특기 지형이 바뀌고 상태도 바뀌므로 재설정함
;-------------------------------------------------
@MUSHI_BATTLE_필드변화(ARG)
#DIM NUM
MUSHI_FIELD:99 = 0
SETBIT MUSHI_FIELD:99, ARG
CALL MUSHI_MSGSET(@"필드가＜%NAME_FIELD_TYPE(MUSHI_FIELD:99)%＞변화했다!")
MUSHI_MSGCL:RESULT = C_L_GREEN
;특기지형 재설정 및 그에 따른 능력치 재설정
FOR LOCAL, 1, MUSHI_CHARANUM + 1
	NUM = MUSHI_STANDNUM:LOCAL
	IF MUSHI_FIELD:NUM & MUSHI_FIELD:99
		MUSHI_STATUS:LOCAL += "<得意地形>"
	ELSEIF STRCOUNT(MUSHI_STATUS:LOCAL, "<得意地形>")
		MUSHI_STATUS:LOCAL '= REPLACE(MUSHI_STATUS:LOCAL, "<得意地形>", "")
	ENDIF
	CALL MUSHI_PALAM(MUSHI_STAND:LOCAL, MUSHI_POWER:LOCAL, MUSHI_HP:NUM)
	CALL MUSHI_FLAGSETTING(MUSHI_STAND:LOCAL, NUM)
NEXT
;-------------------------------------------------
;벌레배틀：플레이어 번호 ARG의남은벌레수를 돌려주는 함수
;-------------------------------------------------
@남은벌레수(ARG)
#FUNCTION
LOCAL:1 = 0
FOR LOCAL, 1, MUSHI_MAXSELECT + 1
	SIF GETBIT(MUSHI_REST:ARG, LOCAL)
		LOCAL:1 ++
NEXT
RETURNF LOCAL:1