code:
;-------------------------------------------------
;クエスト定義ファイル
;QUEST_57
;-------------------------------------------------
@QST_TITLE_QUEST_57
RESULTS '= "ゴブリンと雪国の狩人"

;ギルドメニューでクエストをフィルターする際のタグリスト。末尾の','を忘れないように
@QST_QUEST_TAG_57
RESULTS '= "単発,イベント,"

;-------------------------------------------------
;クエストの実行可能条件を定義
;-------------------------------------------------
@QST_AVAILABLE_QUEST_57(QUEST_ID)
#DIM DYNAMIC QUEST_ID
;前提としてQUEST_6_湯泡郷の攻略が必要
SIF QST_SV_QUEST_FLAG:6 != 2
    RETURN 0
SIF QST_SV_QUEST_FLAG:QUEST_ID == QUEST_57_QSTFLG_未クリア
    RETURN 1
RETURN 0

;クエストを開始できるか判定
@QST_CAN_START_QUEST_57(QUEST_ID)
#DIM DYNAMIC QUEST_ID

;受注制限
IF (LIST_GET(_LIST_QST_PARTY, 0) != TOSTR(MASTER))
    CALLF TAG_PRINT(@"クエスト受注時はパーティメンバーに@C:{カラー_注意}@%ANAME(MASTER)%@/C@を登録する必要があります。", 1)
    WAIT
    RETURN 0
ENDIF
RETURN 1

;-------------------------------------------------
;クエストのタイプ
;マップ探索を伴う場合 "MAP"
;文章のみで完結する場合 "DIALOGUE"
;-------------------------------------------------
@QST_TYPE_QUEST_57
RESULTS '= "GMAP"

;クエストメニュー右上段の概要欄。10行まで
@QST_SUMALLY1_QUEST_57
RESULTS:0 '= "街の北方に棲まうゴブリンの勢力が、ここ数ヶ月で急速に勢力を拡大している。"
RESULTS:1 '= "港街の交易にも大きな影響が出始めており、早急に対応をしなければならない。"
RESULTS:2 '= "奴らを統率しているゴブリンの親玉を討伐し、事態の解決をお願いしたい。"

;クエストメニュー右下段の備考欄。難易度や条件、報酬等を記述。7行まで
@QST_SUMALLY2_QUEST_57
RESULTS:0 '= @"難易度：@C:{カラー_注意}@★★★★★★ ～@/C@"
RESULTS:1 '= "報酬：10,000ディナリ"
RESULTS:2 '= @"必須メンバー：%ANAME(MASTER)%　　　推奨パーティ人数:5人　　　推奨平均戦闘値：70以上"
RESULTS:3 '= @"@C:{カラー_選択不可}@「今回のゴブリンの親玉は狡猾だ。自警団や名うての猟師の討伐を何度も凌いでいる」@/C@"
RESULTS:4 '= @"@C:{カラー_選択不可}@「浅慮で愚鈍なゴブリンと侮ると、痛い目を見るだろう」@/C@"
RESULTS:5 '= @"@C:{カラー_注意}@※このクエストはイベント進行に応じて時間が経過します。@/C@"
RESULTS:6 '= @"@C:{カラー_注意}@（マップ移動による時間経過は発生しません）@/C@"

;-------------------------------------------------
;マップデータ定義
;[ROOM_ID:]　…　配置するエリアの種類
;[ROOM_PATH:]　…　エリア間の接続情報(※)
;[EVENT_LIST:]　…　エリアに配置するイベントのID(※)
;(※)要素の末尾の','を忘れないように注意
;EmueraをDEBUGMODEで起動した場合、[領地の手入れ]画面から編集したエリア情報をテキストファイルにエクスポートできる
;出力txtをベースに編集すると少し楽かもしれない
;-------------------------------------------------
@QST_SET_MAPDATA_QUEST_57(MAP_ID)
#DIM MAP_ID
;mapdata定義ファイルの格納先フォルダを指定
QST_GMAPDATA_PATH '= "ERB/QUEST/クエストデータ/QUEST_57～59_ゴブリンと雪国の狩人"
;マップデータ定義XMLとTXTのファイル名を指定。
;2ファイルの名称は拡張子を除いて一致している必要がある
QST_GMAPDATA_FILENAME '= "ゴブリンと雪国の狩人"
;このフラグを1にすると経路描画が行われなくなる。屋内マップなどあえて経路を図示する必要がない場合に立てるとよい
QST_HIDE_PATH = 0

;各エリア（ノード）に配置するイベントIDを記入。0-24はノード番号に対応
;EVENT_LIST末尾の’,’を忘れないように
_DIC_HO_MAPDATA:MAP_ID:0   '= "[EVENT_LIST:0,30,31,1,2,3,4,100,]"       ;リスノイ-大通り
_DIC_HO_MAPDATA:MAP_ID:1   '= "[EVENT_LIST:0,10,19,100,]"               ;リスノイ-官庁街
_DIC_HO_MAPDATA:MAP_ID:2   '= "[EVENT_LIST:0,7,8,9,11,100,]"            ;リスノイ-市場
_DIC_HO_MAPDATA:MAP_ID:3   '= "[EVENT_LIST:0,80,100,]"                  ;針葉樹の雪林
_DIC_HO_MAPDATA:MAP_ID:10  '= "[EVENT_LIST:0,20,21,22,23,100,]"         ;森の入口
_DIC_HO_MAPDATA:MAP_ID:11  '= "[EVENT_LIST:0,40,41,42,100,]"            ;森中の空地
_DIC_HO_MAPDATA:MAP_ID:12  '= "[EVENT_LIST:0,50,51,52,100,]"            ;森-西部
_DIC_HO_MAPDATA:MAP_ID:13  '= "[EVENT_LIST:0,60,61,100,]"               ;森-北西部
_DIC_HO_MAPDATA:MAP_ID:14  '= "[EVENT_LIST:0,70,100,]"                  ;ゴブリンの巣穴

;-------------------------------------------------
;クエスト固有の初期化処理
;-------------------------------------------------
@QST_INIT_QUEST_57
;固有敵データの読み込み
CALL QST_QUEST_57_ENEMY_DATA
;パスの削除
CALL QST_REMOVE_PATH(QUEST_57_森の入口, QUEST_57_森中の空地)

;-------------------------------------------------
;クエストの探索状態保持設定
;-------------------------------------------------
@QST_QUEST_57_SAVE_EXPLORED
RETURN 1

;-------------------------------------------------
;QST_INTRO_QUEST_n はQUEST開始前に呼ばれる
;クエストの導入文などを記述
;"DIALOGUE"型のクエストは当該関数のCALLのみ行う
;-------------------------------------------------
@QST_INTRO_QUEST_57
#DIM DYNAMIC CHARA_ID
#DIM DYNAMIC EV_RESULT
#DIM DYNAMIC CLEAR_LINE_NUM
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

CALL PRINT_TITLE("プロローグ", "イベント")
PRINTFORMW ギルドから依頼を受けた%QST_LEADER_NAME()%は、北国の港街リスノイに到着した。
PRINTL
PRINTFORML 街は陰鬱な雰囲気を帯びており、港には船が数えるほどしか停泊していない。
PRINTFORML 空はどんよりと曇り、吹きつける風は冷たく、雪がちらほら降り始めていた。
PRINTFORMW 賑わっているはずの市場には、人がまばらにしか歩いておらず、時折見かける店も閑散としている。
PRINTL
PRINTFORMW %QST_LEADER_NAME()%はそんな港街の大通りを歩き、街の西側にある役場へ向かう事にした。
PRINTFORMW 待ち合わせの刻限にはまだ余裕がある。役場へ向かいながら、現状の下調べをするのも良いかもしれない……
CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_役場へ向かう)

;BGM
CALL FL_PLAYBGM("Town_noon_1.ogg")
;ログ表示
CALL QST_QUEST_57_EVENT_0

;-------------------------------------------------
;EV0 汎用処理
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_0
#DIMS EVENT_TRIGGER = "ENTER_ROOM"
RESULTS:0 = %EVENT_TRIGGER%

;-------------------------------------------------
;実行するイベントの実行内容を記述
;イベント用の関数はTRYCALLFORMで呼ばれるため
;@QST_QUEST_{QUEST_ID}_EVENT_{EVENT_ID}の書式で記述する
;-------------------------------------------------
@QST_QUEST_57_EVENT_0

;イベント中の時間管理
CALL QST_ADD_EVENT_QUEST_57_EVENT_TIME()
;侵入可能かをチェック。不可なら終了
CALL QST_ADD_EVENT_QUEST_57_EVENT_ENTERABLE_CHECK()
SIF RESULT == 1
    RETURN

;ログクリア
CALL HO_CREAR_LOG()
;クエストTips表示
CALL QST_QUEST_57_EVENT_0_TIPS
;クエストログ表示
CALL QST_QUEST_57_EVENT_0_LOG

;-------------------------------------------------
;EV1～4 会話系イベント
;-------------------------------------------------
;モブ会話1
@QST_ADD_EVENT_QUEST_57_EVENT_1
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "市場の店主"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_ICON:TALK]"

@QST_QUEST_57_EVENT_1
PRINTFORML 「ゴブリンの被害は前からあったものの、新しいゴブリンが親玉になってからは、ますます手がつけられなくなっていてな」
PRINTFORMW 「このままだと市場への物流も滞って、生活が成り立たなくなってしまう。困ったものだ……」
PRINTFORMW 男は途方に暮れた様子で力なくつぶやいた……

;モブ会話2
@QST_ADD_EVENT_QUEST_57_EVENT_2
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "いかつい老人"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_ICON:TALK]"

@QST_QUEST_57_EVENT_2
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

PRINTFORML 「森の近くで遊んでた子供が夕方過ぎても帰ってこない事があって、その時たまたま街に来ていた猟師の娘が、助けに行った事があってな」
PRINTFORML 「街のみんなは不安がってたが、あの娘はゴブリンや魔獣から子供を守りながら無事帰ってきた」
PRINTFORM 「無口だが肝の座ったいい娘だ。ちいっとばかし身体が貧相だが、将来はきっと良い母親になるぜ、ガハハハ！！」
IF CFLAG:CHARA_ID:調教参加フラグ == 1
    PRINTL
    PRINTFORMW 豪快な笑い声でそう語る老人に対し
    CALL COLOR_PRINTW("「……子供を守るのは当然の努めですからね。あと体型の話は余計です」", CFLAG:CHARA_ID:口上カラーコード)
    PRINTFORMW %CALLNAME:CHARA_ID%は呆れた表情でたしなめた。
ELSE
    WAIT
    PRINTFORMW 豪快な笑い声と共に、老人はそう言い放った。
ENDIF

;モブ会話3
@QST_ADD_EVENT_QUEST_57_EVENT_3
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "自警団の男"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_ICON:TALK]"

@QST_QUEST_57_EVENT_3
#DIM CONST EVENT_ID = 3
PRINTFORML 「ゴブリン達は食料や女を略奪すると、その場で盛り始めてくれるから、色々やりやすかったんだが」
PRINTFORML 「新しいリーダーの登場を境に、必ず巣に持ち帰るようになっちまったせいで、奪還が難航しちまってるんだ」
PRINTFORMW 「物資であれば諦めはつくものの、そうでなかった場合は本当に悲惨でな……」
PRINTFORMW ため息と共に男はつぶやいた……
CALL QST_SET_FLAGMAP("ゴブリンの行動について", "達成")

;モブ会話4
@QST_ADD_EVENT_QUEST_57_EVENT_4
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "雑談する男達"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_ICON:TALK]"

@QST_QUEST_57_EVENT_4
#DIM CONST EVENT_ID = 4
PRINTFORMW 「ゴブリン達の襲撃のせいで、市場の大通りも随分淋しくなっちまったな……」
PRINTFORML 『自警団が追い立てて、それを機に猟師が手際よくゴブリンを撃ち倒していく！』
PRINTFORMW 『これでうまく行ってたんだけど、最近はどうもなぁ……』
PRINTFORMW 「あーあ、猟師でも冒険者でも誰でもいいから、ゴブリン達をズババーッとやっつけてくれないかなぁ……」
PRINTFORMW 男達は現状をぼやきながら雑談を交わしている……
CALL QST_SET_SV_EVENT_FLAG(EVENT_ID, 1)

;-------------------------------------------------
;EV7 雑貨屋
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_7
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "雑貨屋"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_ICON:SHOP]"

@QST_QUEST_57_EVENT_7
CALL HO_SHOP_MENU("QUEST_57_雑貨屋", "雑貨屋", "QUEST_57_DIC_SHOP_STOCK_雑貨屋")

;-------------------------------------------------
;ショップの定義
;関数名は@HO_SHOP_MANAGE_SHOP_{ショップ名称}で定義
;【メモ】
;在庫データをセーブするために専用の広域変数を確保している。
;在庫をセーブに保持する必要がないならDICS_SHOP_STOCK:nに直接販売したいアイテムの情報を書き込めば良い
;-------------------------------------------------
@HO_SHOP_MANAGE_SHOP_QUEST_57_雑貨屋(DICS_SHOP_STOCK)
#DIMS REF DICS_SHOP_STOCK
#DIM DYNAMIC ITEM_ID
#DIM DYNAMIC SHOP_STOCK
#DIM DYNAMIC PRICE
#DIM DYNAMIC PRICE_RATE

PRICE_RATE = 400

IF QUEST_57_DIC_SHOP_STOCK_雑貨屋:0 == ""
    ITEM_ID = ITEM_ポーション
    SHOP_STOCK = RAND(5, 10)
    CALL GET_ITEM_INFO(ITEM_ID, ITEM_PRICE)
    PRICE = FTIMES(RESULT, PRICE_RATE)
    QUEST_57_DIC_SHOP_STOCK_雑貨屋:0 '= @"[ITEM_ID:{ITEM_ID}][ITEM_PRICE:{PRICE}][SHOP_STOCK:{SHOP_STOCK}]"
ENDIF

IF QUEST_57_DIC_SHOP_STOCK_雑貨屋:1 == ""
    ITEM_ID = ITEM_縄
    SHOP_STOCK = RAND(2, 4)
    CALL GET_ITEM_INFO(ITEM_ID, ITEM_PRICE)
    PRICE = FTIMES(RESULT, PRICE_RATE)
    QUEST_57_DIC_SHOP_STOCK_雑貨屋:1 '= @"[ITEM_ID:{ITEM_ID}][ITEM_PRICE:{PRICE}][SHOP_STOCK:{SHOP_STOCK}]"
ENDIF

IF QUEST_57_DIC_SHOP_STOCK_雑貨屋:2 == ""
    SHOP_STOCK = RAND(1, 2)
    {
        QUEST_57_DIC_SHOP_STOCK_雑貨屋:2 '= @"
            [WEAPON_ID:1][EQUIP_TYPE:0][WEAPON_NAME:鉄のナイフ]
            [WEAPON_RANK:0][MATERIAL:{WPN_材質_鉄}]
            [ITEM_PRICE:{25*PRICE_RATE}][SHOP_STOCK:{SHOP_STOCK}]"
    }
ENDIF

IF QUEST_57_DIC_SHOP_STOCK_雑貨屋:3 == ""
    SHOP_STOCK = RAND(1, 2)
    {
        QUEST_57_DIC_SHOP_STOCK_雑貨屋:3 '= @"
            [WEAPON_ID:2][EQUIP_TYPE:0][WEAPON_NAME:カットラス]
            [WEAPON_RANK:0][MATERIAL:{WPN_材質_鉄}]
            [ITEM_PRICE:{30*PRICE_RATE}][SHOP_STOCK:{SHOP_STOCK}]"
    }
ENDIF

ARRAYCOPY "QUEST_57_DIC_SHOP_STOCK_雑貨屋", "DICS_SHOP_STOCK"

;-------------------------------------------------
;EV8 食料品店
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_8
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "食料品店"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_ICON:SHOP]"

@QST_QUEST_57_EVENT_8
CALL HO_SHOP_MENU("QUEST_57_食料品店", "食料品店", "QUEST_57_DIC_SHOP_STOCK_食料品店")

;-------------------------------------------------
;ショップの定義
;関数名は@HO_SHOP_MANAGE_SHOP_{ショップ名称}で定義
;【メモ】
;在庫データをセーブするために専用の広域変数を確保している。
;在庫をセーブに保持する必要がないならDICS_SHOP_STOCK:nに直接販売したいアイテムの情報を書き込めば良い
;-------------------------------------------------
@HO_SHOP_MANAGE_SHOP_QUEST_57_食料品店(DICS_SHOP_STOCK)
#DIMS REF DICS_SHOP_STOCK
#DIM DYNAMIC ITEM_ID
#DIM DYNAMIC SHOP_STOCK
#DIM DYNAMIC PRICE
#DIM DYNAMIC PRICE_RATE

PRICE_RATE = 500

IF QUEST_57_DIC_SHOP_STOCK_食料品店:0 == ""
    ITEM_ID = ITEM_動物の肉
    SHOP_STOCK = RAND(3, 6)
    CALL GET_ITEM_INFO(ITEM_ID, ITEM_PRICE)
    PRICE = FTIMES(RESULT, PRICE_RATE)
    QUEST_57_DIC_SHOP_STOCK_食料品店:0 '= @"[ITEM_ID:{ITEM_ID}][ITEM_PRICE:{PRICE}][SHOP_STOCK:{SHOP_STOCK}]"
ENDIF

IF QUEST_57_DIC_SHOP_STOCK_食料品店:1 == ""
    ITEM_ID = ITEM_乳
    SHOP_STOCK = RAND(3, 6)
    CALL GET_ITEM_INFO(ITEM_ID, ITEM_PRICE)
    PRICE = FTIMES(RESULT, PRICE_RATE)
    QUEST_57_DIC_SHOP_STOCK_食料品店:1 '= @"[ITEM_ID:{ITEM_ID}][ITEM_PRICE:{PRICE}][SHOP_STOCK:{SHOP_STOCK}]"
ENDIF

IF QUEST_57_DIC_SHOP_STOCK_食料品店:2 == ""
    ITEM_ID = ITEM_小麦
    SHOP_STOCK = RAND(3, 6)
    CALL GET_ITEM_INFO(ITEM_ID, ITEM_PRICE)
    PRICE = FTIMES(RESULT, PRICE_RATE)
    QUEST_57_DIC_SHOP_STOCK_食料品店:2 '= @"[ITEM_ID:{ITEM_ID}][ITEM_PRICE:{PRICE}][SHOP_STOCK:{SHOP_STOCK}]"
ENDIF

IF QUEST_57_DIC_SHOP_STOCK_食料品店:3 == ""
    ITEM_ID = ITEM_パン
    SHOP_STOCK = RAND(3, 5)
    CALL GET_ITEM_INFO(ITEM_ID, ITEM_PRICE)
    PRICE = FTIMES(RESULT, PRICE_RATE)
    QUEST_57_DIC_SHOP_STOCK_食料品店:3 '= @"[ITEM_ID:{ITEM_ID}][ITEM_PRICE:{PRICE}][SHOP_STOCK:{SHOP_STOCK}]"
ENDIF

IF QUEST_57_DIC_SHOP_STOCK_食料品店:4 == ""
    ITEM_ID = ITEM_サンドウィッチ
    SHOP_STOCK = RAND(1, 2)
    CALL GET_ITEM_INFO(ITEM_ID, ITEM_PRICE)
    PRICE = FTIMES(RESULT, PRICE_RATE)
    QUEST_57_DIC_SHOP_STOCK_食料品店:4 '= @"[ITEM_ID:{ITEM_ID}][ITEM_PRICE:{PRICE}][SHOP_STOCK:{SHOP_STOCK}]"
ENDIF

ARRAYCOPY "QUEST_57_DIC_SHOP_STOCK_食料品店", "DICS_SHOP_STOCK"

;-------------------------------------------------
;EV9 露店
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_9
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "露店"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_ICON:SHOP]"

@QST_QUEST_57_EVENT_9
CALL HO_SHOP_MENU("QUEST_57_露店", "露店", "QUEST_57_DIC_SHOP_STOCK_露店")

;-------------------------------------------------
;ショップの定義
;関数名は@HO_SHOP_MANAGE_SHOP_{ショップ名称}で定義
;【メモ】
;在庫データをセーブするために専用の広域変数を確保している。
;在庫をセーブに保持する必要がないならDICS_SHOP_STOCK:nに直接販売したいアイテムの情報を書き込めば良い
;-------------------------------------------------
@HO_SHOP_MANAGE_SHOP_QUEST_57_露店(DICS_SHOP_STOCK)
#DIMS REF DICS_SHOP_STOCK
#DIM DYNAMIC ITEM_ID
#DIM DYNAMIC SHOP_STOCK
#DIM DYNAMIC PRICE
#DIM DYNAMIC PRICE_RATE

PRICE_RATE = 400

IF QUEST_57_DIC_SHOP_STOCK_露店:0 == ""
    ITEM_ID = ITEM_木材
    SHOP_STOCK = RAND(3, 6)
    CALL GET_ITEM_INFO(ITEM_ID, ITEM_PRICE)
    PRICE = FTIMES(RESULT, PRICE_RATE)
    QUEST_57_DIC_SHOP_STOCK_露店:0 '= @"[ITEM_ID:{ITEM_ID}][ITEM_PRICE:{PRICE}][SHOP_STOCK:{SHOP_STOCK}]"
ENDIF

IF QUEST_57_DIC_SHOP_STOCK_露店:1 == ""
    ITEM_ID = ITEM_石材
    SHOP_STOCK = RAND(3, 6)
    CALL GET_ITEM_INFO(ITEM_ID, ITEM_PRICE)
    PRICE = FTIMES(RESULT, PRICE_RATE)
    QUEST_57_DIC_SHOP_STOCK_露店:1 '= @"[ITEM_ID:{ITEM_ID}][ITEM_PRICE:{PRICE}][SHOP_STOCK:{SHOP_STOCK}]"
ENDIF

IF QUEST_57_DIC_SHOP_STOCK_露店:2 == ""
    ITEM_ID = ITEM_動物の革
    SHOP_STOCK = RAND(2, 4)
    CALL GET_ITEM_INFO(ITEM_ID, ITEM_PRICE)
    PRICE = FTIMES(RESULT, PRICE_RATE)
    QUEST_57_DIC_SHOP_STOCK_露店:2 '= @"[ITEM_ID:{ITEM_ID}][ITEM_PRICE:{PRICE}][SHOP_STOCK:{SHOP_STOCK}]"
ENDIF

IF QUEST_57_DIC_SHOP_STOCK_露店:3 == ""
    ITEM_ID = ITEM_鉄鉱石
    SHOP_STOCK = RAND(2, 5)
    CALL GET_ITEM_INFO(ITEM_ID, ITEM_PRICE)
    PRICE = FTIMES(RESULT, PRICE_RATE)
    QUEST_57_DIC_SHOP_STOCK_露店:3 '= @"[ITEM_ID:{ITEM_ID}][ITEM_PRICE:{PRICE}][SHOP_STOCK:{SHOP_STOCK}]"
ENDIF

IF QUEST_57_DIC_SHOP_STOCK_露店:4 == ""
    ITEM_ID = ITEM_石炭
    SHOP_STOCK = RAND(1, 3)
    CALL GET_ITEM_INFO(ITEM_ID, ITEM_PRICE)
    PRICE = FTIMES(RESULT, PRICE_RATE)
    QUEST_57_DIC_SHOP_STOCK_露店:4 '= @"[ITEM_ID:{ITEM_ID}][ITEM_PRICE:{PRICE}][SHOP_STOCK:{SHOP_STOCK}]"
ENDIF

IF QUEST_57_DIC_SHOP_STOCK_露店:5 == ""
    ITEM_ID = ITEM_硫黄
    SHOP_STOCK = RAND(1, 3)
    CALL GET_ITEM_INFO(ITEM_ID, ITEM_PRICE)
    PRICE = FTIMES(RESULT, PRICE_RATE)
    QUEST_57_DIC_SHOP_STOCK_露店:5 '= @"[ITEM_ID:{ITEM_ID}][ITEM_PRICE:{PRICE}][SHOP_STOCK:{SHOP_STOCK}]"
ENDIF

ARRAYCOPY "QUEST_57_DIC_SHOP_STOCK_露店", "DICS_SHOP_STOCK"

;-------------------------------------------------
;EV10 役場
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_10
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "役場"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_ICON:CHESS-KNIGHT]"

@QST_QUEST_57_EVENT_10
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

CALL PRINT_TITLE(@"猟師%CALLNAME:CHARA_ID%", "イベント")
PRINTFORMW %QST_LEADER_NAME()%が役場に到着すると、一人の少女が声をかけてきた。
CALL DRAW_PORTRAIT(CHARA_ID, "[感情:通常][サイズ:180px][POS_X:0]",,1)
CALL COLOR_PRINTW(@"「あの……ギルドの依頼を受けて来た%QST_LEADER_NAME(1)%さんですか？」", CFLAG:CHARA_ID:口上カラーコード)
PRINTFORMW %QST_LEADER_NAME()%が頷くと、少女は静かに話を続けた。
CALL COLOR_PRINTL(@"「はじめまして。私は%CALLNAME:CHARA_ID%と申します」", CFLAG:CHARA_ID:口上カラーコード)
CALL COLOR_PRINTW("「貴方を作戦会議室まで案内するよう言われてます。ついてきて下さい」", CFLAG:CHARA_ID:口上カラーコード)
PRINTFORMW %QST_LEADER_NAME()%は%CALLNAME:CHARA_ID%に促されるまま作戦会議室へ足を運んだ……
PRINTFORMW ……
PRINTFORMW …
PRINTFORMW 作戦会議室に着くと、何人もの人物が大きなテーブルを囲みながら、議論を交わしていた。
PRINTFORMW 「お待ちしておりました。%QST_LEADER_NAME(1)%さんですね？ どうぞこちらへおかけ下さい」
PRINTL
PRINTFORML 声をかけてきた人物は身なりから察するに、自警団の指揮官にあたる人物だろう。
PRINTFORMW %QST_LEADER_NAME()%の着席を確認した指揮官は、直ちに説明を始めた。
PRINTL
PRINTFORMW 「では会議を初めます。まずは討伐対象であるゴブリンの親玉、ゴブリンチーフについて」
CALL COLOR_PRINTL("「半年ほど前に北方の洞窟に流れ着いた対象は、", , "巨大な体躯と高い知能を併せ持ち、", カラー_注意, "頭目を失っていたゴブリンの群れの統率を始めました」", )
PRINTFORMW 「ゴブリン達をまとめ上げた対象は、高い統率力をもって商隊や市街地への襲撃を繰り返し、甚大な被害をこの街に及ぼし続けてます」
PRINTL
PRINTFORMW 「続いて本作戦の目的、作戦を説明いたします」
CALL COLOR_PRINTW("「本作戦の目的はゴブリンチーフの討伐。作戦はこれまでと同様、", , "自警団による陽動と狙撃による奇襲です", カラー_注意, "」", )
PRINTFORMW 「自警団と%QST_LEADER_NAME(1)%さんは森へ侵攻し、ゴブリン達の気を引きながら森中の空地で戦闘を開始」
PRINTFORMW 「続いて%CALLNAME:CHARA_ID%さんは西部の狙撃ポイントへ移動し、狙撃で支援を行って下さい」
PRINTFORMW 「森中のゴブリンを殲滅した後は%CALLNAME:CHARA_ID%さんは自警団と合流。北方の洞窟を目指し、巣内のゴブリンを全滅させて下さい」
PRINTL
PRINTFORML 「作戦開始は明日9時です。それまでに準備をお願いします」
PRINTFORMW その後は簡単な質疑応答が繰り返され、会議はつつがなく終了した。
PRINTFORMW ……
PRINTFORMW …
PRINTFORMW ブリーフィングを終えた%QST_LEADER_NAME()%が今後の行動について思案していると、%CALLNAME:CHARA_ID%が声をかけてきた。
CALL DRAW_PORTRAIT(CHARA_ID, "[感情:通常][サイズ:180px][POS_X:0]",,1)
CALL COLOR_PRINTL("「お疲れさまでした。私はこれから現地の偵察に行ってきます」", CFLAG:CHARA_ID:口上カラーコード)
CALL COLOR_PRINTW("「ここの土地勘が薄いと思いますので、良ければ準備も兼ねて一緒に行きませんか？案内は私がしますよ」", CFLAG:CHARA_ID:口上カラーコード)
PRINTFORMW %QST_LEADER_NAME()%は%CALLNAME:CHARA_ID%の提案を引き受け、役場を後にした……
CALL COLOR_PRINTW(@"%CALLNAME:CHARA_ID%がパーティに加わった！", カラー_注意)

;メインイベントフラグ更新
CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_森の下見_前半)
;ログ表示
CALL QST_QUEST_57_EVENT_0

;ゲスト加入
CFLAG:CHARA_ID:調教参加フラグ = 1
CFLAG:CHARA_ID:所属 = 所属_ゲストNPC
BASE:CHARA_ID:体力 = MAXBASE:CHARA_ID:体力
BASE:CHARA_ID:気力 = MAXBASE:CHARA_ID:気力

;イベント非アクティブ
CALL QST_DEACTIVATE_THIS_EVENT()

;-------------------------------------------------
;EV19
;案内所
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_19
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "案内所"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_ICON:TALK]"

@QST_QUEST_57_EVENT_19
#DIM DYNAMIC CLEAR_LINE_NUM
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

PRINTL
PRINTFORMW この場所では、この街に関する書籍が読めるようだ。どれを読もうか……
PRINTL

$ASK
CLEAR_LINE_NUM = LINECOUNT
CALL ASK_MULTI_JUDGE("ゴブリンたちの新たな習性―その裏にある変化とは", 1, "お手柄！猟師の少女、ゴブリンのリーダー討伐に成功", 1, "やめておく", 1)
SELECTCASE RESULT
    CASE 0
        PRINTFORMW どうやらこれは、最近刷られた新聞記事のようだ……
        PRINTL
        SETCOLOR カラー_ライトグリーン
        PRINTFORMW 【ゴブリン達の行動変容について】
        PRINTFORML 近頃、周辺地域で活動するゴブリンの行動に異変が見られている。
        PRINTFORML かつては略奪した物資や女性をその場で消費する傾向があった彼らだが
        PRINTFORMW ここ数週間の間で「捕えた獲物は必ず巣穴へと持ち帰るようになった」との報告が相次いでいる。
        PRINTFORML
        PRINTFORML この変化について、冒険者ギルドの専門家は「半年前に討伐されたリーダーの代替わりが要因となっている可能性が高い」と分析しており
        PRINTFORML 新たなリーダーが戦略的思考を持つ個体である可能性を指摘している。
        PRINTFORMW そして、巣穴への持ち帰り行動が組織的な意図を伴っている場合、これまでのゴブリンよりも一層危険な存在となり得るという。
        PRINTFORML
        PRINTFORML この変化による影響は甚大だ。被害者がその場で被害に遭うケースが減ったものの、巣穴内に連れ込まれることで救助が極めて困難になっている。
        PRINTFORML 巣穴は迷路のように複雑で、罠や待ち伏せのリスクも高い。
        PRINTFORMW 救出活動にあたる自警団らの負担が増加するだけでなく、被害者の生存確率が著しく低下しているのが現状だ。
        PRINTFORML
        PRINTFORMW これらの状況に対し、自警団では現在、新たなリーダーの調査を進め、目的の解明と対策の検討を急いでいる。
        PRINTFORMW ……
        PRINTFORMW …
        RESETCOLOR
        CALL QST_SET_FLAGMAP("ゴブリンの行動について", "達成")
        PRINTL
    CASE 1
        PRINTFORMW どうやらこれは、少し前に刷られた新聞記事のようだ……
        PRINTL
        SETCOLOR カラー_ライトグリーン
        PRINTFORMW 【お手柄！猟師の少女、ゴブリンのリーダー討伐に成功】
        PRINTFORML 長年、地域の安全を脅かしていたゴブリンのリーダーがついに討伐された。
        PRINTFORMW この偉業を成し遂げたのは、自警団との連携のもと活躍した、一人の若き猟師の少女である。
        PRINTFORML
        PRINTFORML 「彼女の卓越した狙撃技術と、猟師としての知見がなければ、この結果は得られなかっただろう」と、自警団の隊長は感謝と賛辞を惜しまない。
        PRINTFORMW また、多くの市民からも称賛の声が寄せられており、彼女の名前と功績は街中で語り草となっている。
        PRINTFORML
        CALL COLOR_PRINTW("そして、インタビューに対し当の本人は", カラー_ライトグリーン, "「自分の成すべきことをしただけです」", CFLAG:CHARA_ID:口上カラーコード, "と静かに答えた。", カラー_ライトグリーン)
        PRINTFORMW ……
        PRINTFORMW …
        RESETCOLOR
        PRINTL
    CASEELSE
        RETURN
ENDSELECT
CLEARLINE LINECOUNT - CLEAR_LINE_NUM
GOTO ASK

;-------------------------------------------------
;EV11
;屋台
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_11
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "屋台"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_ICON:SHOP]"

@QST_QUEST_57_EVENT_11
PRINTFORMW 無人の屋台には、休業を報せる張り紙が貼られている。
SETCOLOR カラー_ライトグリーン
PRINTFORML 誠に申し訳ございませんが、食材の仕入れが困難なため当店は一時休業いたします。
PRINTFORMW ご理解のほどよろしくお願い申し上げます。
RESETCOLOR
RETURN

;-------------------------------------------------
;EV20
;森の入口
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_20
#DIMS EVENT_TRIGGER = "ENTER_ROOM"
#DIMS EVENT_TYPE = "ONCE"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:2 = %EVENT_TYPE%

@QST_QUEST_57_EVENT_20
#DIM CONST EVENT_ID = 20
#DIM CONST EVENT_START_FLAG = 1
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

CALL PRINT_TITLE(@"偵察", "イベント")
PRINTFORMW %QST_LEADER_NAME()%と%CALLNAME:CHARA_ID%は森の入口に到着した。
CALL DRAW_PORTRAIT(CHARA_ID, "[感情:通常][サイズ:180px][POS_X:0]",,1)
CALL COLOR_PRINTL(@"「到着しました。ここが今回攻め入る森です」", CFLAG:CHARA_ID:口上カラーコード)
CALL COLOR_PRINTW(@"「危ないので中には入りませんが、地図を持ってきたのでそれを見ながら下見していきましょう」", CFLAG:CHARA_ID:口上カラーコード)
PRINTFORMW %QST_LEADER_NAME()%は渡された地図を片手に下見をしつつ、現地に関する情報を教えてもらった。
PRINTFORMW ……
PRINTFORMW …
CALL COLOR_PRINTL(@"「……とまあ、こんな感じですね」", CFLAG:CHARA_ID:口上カラーコード)
CALL COLOR_PRINTL(@"「それでは私は下見に行ってきます。一時間ほどしたら戻って来れるかと」", CFLAG:CHARA_ID:口上カラーコード)
CALL COLOR_PRINTW(@"「あと、その地図は差し上げます。", CFLAG:CHARA_ID:口上カラーコード, "抜け道とか色々メモしてあるので困った時にどうぞ", カラー_注意, "」", CFLAG:CHARA_ID:口上カラーコード)
PRINTFORMW 明日の作戦までは時間がある。%QST_LEADER_NAME()%も色々調べてみる事にした。

;ノード移動不可
FLAG:移動制限フラグ = 2
;下調べフラグ更新
CALL QST_SET_SV_EVENT_FLAG(EVENT_ID, 1)
;ゲスト離脱
CFLAG:CHARA_ID:調教参加フラグ = 0
;メインイベントフラグ更新
CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_森の下見_後半)
;ログ表示
CALL QST_QUEST_57_EVENT_0

;-------------------------------------------------
;EV21
;外周に広がる雪原
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_21
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "外周に広がる雪原"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_ICON:CHESS-KNIGHT]"

@QST_QUEST_57_EVENT_21
#DIM CONST EVENT_ID = 21
#DIM CONST EVENT_START_FLAG = 2
#DIM DYNAMIC EVENT_FLAG
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

CALL PRINT_TITLE("外周に広がる雪原", "イベント")
PRINTFORMW %QST_LEADER_NAME()%\@ QST_PARTYNUM > 1 ? 達 # \@は、森の外周に広がる雪原を探索した。
[IF_DEBUG]
CALL ASK_MULTI_JUDGE("強制成功", 1, "強制失敗", 1, "判定チェックを行う", 1)
SELECTCASE RESULT
    CASE 0
        RESULT = 1
        GOTO DICECANCEL
    CASE 1
        RESULT = 0
        GOTO DICECANCEL
    CASEELSE
ENDSELECT
[ENDIF]
CALL QST_PARTY_ROLL("観察", -150, 1)
$DICECANCEL

;キャンセル時はそのまま終了
SIF RESULT == -1
    RETURN
;判定結果
IF RESULT == 1
    PRINTFORMW %QST_LEADER_NAME()%は、街の近くに位置する雪原で多数の小さな足跡を発見した。
    PRINTFORMW うっすらと雪に覆われ判別は難しいが、多数の何かがここを歩き回ったようだ……
    ;フラグセット
    CALL QST_SET_FLAGMAP("足跡発見", "成功")
ELSE
    PRINTFORMW 森の周囲には雪原が広がるだけで、特筆すべき箇所は無さそうだ……
    ;フラグセット
    CALL QST_SET_FLAGMAP("足跡発見", "失敗")
ENDIF
PRINTL

;イベント非アクティブ
CALL QST_DEACTIVATE_THIS_EVENT()
;フラグセット
CALL QST_SET_SV_EVENT_FLAG(EVENT_ID, 1)
;イベントフラグチェック(イベント21、22が両方完了で次のイベントへ)
CALL QST_GET_SV_EVENT_FLAG(22)
SIF RESULT != 0
    CALL QST_QUEST_57_EVENT_23()
;ログ表示
CALL QST_QUEST_57_EVENT_0

;-------------------------------------------------
;EV22
;今回の作戦について
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_22
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "今回の作戦について"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_ICON:CHESS-KNIGHT]"

@QST_QUEST_57_EVENT_22
#DIM CONST EVENT_ID = 22
#DIM CONST EVENT_START_FLAG = 2
#DIM DYNAMIC EVENT_FLAG
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

CALL PRINT_TITLE("今回の作戦について", "イベント")
PRINTFORMW %QST_LEADER_NAME(1)%は探索の傍らで、今回の作戦を思い起こしていた。
PRINTL
PRINTFORMW 自警団が提示した"自警団による陽動と、狙撃手による奇襲作戦"。彼の口ぶりからして……
CALL ASK_YN("実績のある盤石な作戦だろう","何度も使い回された作戦だろう")
IF RESULT
    EVENT_FLAG += 1
    CALL QST_GET_SV_EVENT_FLAG(4)
    IF RESULT != 0
        PRINTFORMW さらに市民の話から察するに、その回数は一度やニ度では無いはずだ。
        EVENT_FLAG += 1
    ENDIF

    PRINTL
    PRINTFORML そして、最近頭目となった狡猾なゴブリンチーフの存在……
    CALL ASK_YN("幸運なだけのゴブリンだ。気にする必要はない","作戦が読まれている可能性がある")
    IF RESULT
        SIF EVENT_FLAG > 1
            PRINTFORML 何度も実行されている作戦という事は、相手がこちらの動きを熟知している可能性がある
        PRINTFORMW 仮にこちらの作戦が読まれていた場合、対策が講じられているかもしれない……
        EVENT_FLAG += 1
        ;フラグセット
        CALL QST_SETINT_FLAGMAP("作戦バレ検知度", EVENT_FLAG)
    ELSE
        PRINTFORMW ゴブリンは浅慮で愚鈍な存在だ。作戦の概念などわかるはずもない。
    ENDIF
ELSE
    PRINTFORMW 何度もゴブリンを討ち倒した作戦だ。今回もきっと上手くいくだろう
ENDIF
PRINTL

;イベント非アクティブ
CALL QST_DEACTIVATE_THIS_EVENT()
;フラグセット
CALL QST_SET_SV_EVENT_FLAG(EVENT_ID, 1)
;イベントフラグチェック(イベント21、22が両方完了で次のイベントへ)
CALL QST_GET_SV_EVENT_FLAG(21)
SIF RESULT != 0
    CALL QST_QUEST_57_EVENT_23()
;ログ表示
CALL QST_QUEST_57_EVENT_0

;-------------------------------------------------
;EV23
;ゲスト合流と襲撃準備
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_23

@QST_QUEST_57_EVENT_23
#DIM DYNAMIC ROOL_DIFFICULTY
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

CALL PRINT_TITLE("森の異変", "イベント")
CALL DRAW_PORTRAIT(CHARA_ID, "[眉:しわよせ強][口:むす][サイズ:180px][POS_X:0]",,1)
CALL COLOR_PRINTW(@"「%QST_LEADER_NAME(1)%さん。ただいま戻りました」", CFLAG:CHARA_ID:口上カラーコード)
PRINTFORMW %CALLNAME:CHARA_ID%が帰ってきた。しかしその表情には困惑の様子が伺える……
PRINTL
CALL COLOR_PRINTL(@"「ゴブリン達が手当たり次第に森を伐採していて、狙撃用のポイントがいくつか使えなくなっていました」", CFLAG:CHARA_ID:口上カラーコード)
CALL COLOR_PRINTL(@"「何らかの理由で大量の木材を必要としているのかもしれませんが、今までに無い行動なのが少々気がかりですね……」", CFLAG:CHARA_ID:口上カラーコード)
CALL COLOR_PRINTW(@"「ですが今回使うポイントは無事だったので、作戦には支障なさそうです」", CFLAG:CHARA_ID:口上カラーコード)

CALL QST_GET_SV_EVENT_FLAG(20)
IF RESULT != 0  ;下調べをした場合
    PRINTL
    CALL COLOR_PRINTW(@"「ちなみにそちらはどうです？土地勘は掴めましたか？」", CFLAG:CHARA_ID:口上カラーコード)

    IF QST_GET_FLAGMAP("足跡発見") == "成功"
        PRINTFORMW %QST_LEADER_NAME(1)%は先ほど見つけた足跡について話した。
        CALL COLOR_PRINTW(@"「足跡ですか、気になりますね……。早速見に行きましょう」", CFLAG:CHARA_ID:口上カラーコード)
        PRINTFORMW ……
        PRINTFORMW …
        PRINTFORMW 大量の足跡を見つけた%CALLNAME:CHARA_ID%は逡巡した後、こう告げた。
        PRINTL
        CALL COLOR_PRINTL(@"「これは……。襲撃前の偵察に来たゴブリンの足跡ですね」", CFLAG:CHARA_ID:口上カラーコード)
        CALL COLOR_PRINTW(@"「昨日の降雪で殆どの足跡は消えてしまったようですが、ここの担当がのんびり屋だったのが救いでしたね」", CFLAG:CHARA_ID:口上カラーコード)
        CALL COLOR_PRINTL(@"「これまでの経験上、この規模だと襲撃タイミングは恐らく今晩。明日の9時まで悠長に待ってる余裕はありません」", CFLAG:CHARA_ID:口上カラーコード)
        CALL COLOR_PRINTW(@"「急いで自警団に報告しましょう」", CFLAG:CHARA_ID:口上カラーコード)
        PRINTL
        PRINTFORMW %QST_LEADER_NAME()%と%CALLNAME:CHARA_ID%は急いで街に戻ることにした。
        PRINTFORMW ……
        PRINTFORMW …
        PRINTFORMW ――リスノイ-官庁街　役場
        PRINTFORMW 役場に到着した%QST_LEADER_NAME()%と%CALLNAME:CHARA_ID%は、森で発見した事柄を指揮官に報告した。
        PRINTL
        PRINTFORML 「……なるほど。%CALLNAME:CHARA_ID%さんがそう言うのなら、間違いはないのでしょう」
        PRINTFORMW 険しい表情を浮かべた指揮官だったが、即座に頭を切り替え、作戦の指示を行った。
        PRINTL
        PRINTFORML 「作戦開始の日時は本日18時に改めます。ゴブリン達の準備が整う前にこちらから仕掛けましょう」
        PRINTFORMW 「変更の通知と、準備の前倒しはこちらで行います。お二人は準備を始めて下さい」
        PRINTFORMW 「それと……日時変更の手続きや折衝で、私が現場に向かえない状態となってしまいますが、どうかよろしくお願いします」
        PRINTL
        PRINTFORMW これで最低限の準備を整える事はできそうだ……

        ;社交判定で合否を判断(あえて難しめに設定)
        ;作戦露見フラグの値で難易度緩和
        ROOL_DIFFICULTY = QST_GETINT_FLAGMAP("作戦バレ検知度") * 50
        IF QST_GETINT_FLAGMAP("作戦バレ検知度")
            PRINTFORMW しかし、この作戦自体がゴブリンチーフに露見している可能性がある。この事は伝えるべきだろう。
            CALL QST_PARTY_ROLL("話術", (400 - ROOL_DIFFICULTY), 0, 5)

            ;判定結果
            PRINTFORMW %ANAME(RESULT:1)%はゴブリンに作戦が露見している可能性があることを指揮官に伝えた。
            IF RESULT == 1
                PRINTFORML 「わかりました。時間が無い状況であり作戦の変更はできませんが、皆にはその懸念がある事をお伝えしましょう」
                PRINTFORML 「提案いただきありがとうございます」
                PRINTFORMW  指揮官は%ANAME(RESULT:1)%に感謝を伝えると、慌ただしく集まる自警団へ連絡を行った。
                ;襲撃前の準備フラグ更新
                CALL QST_SET_FLAGMAP("作戦露見通達", "成功")
            ELSE
                PRINTFORML 「そうですか、ですが今回は余裕もないので今まで通りの作戦で進めます。連絡ありがとうございます」
                PRINTFORMW 忙しそうな様子の指揮官は%ANAME(RESULT:1)%の進言を聞き流してしまった……
            ENDIF
            PRINTL
            PRINTFORMW その後、簡易的なブリーフィング終えた%QST_LEADER_NAME()%は、作戦の準備のため大通りにある宿屋へ戻ることにした。
        ENDIF

        ;足跡未発見
    ELSE
        PRINTFORMW %QST_LEADER_NAME()%は土地勘が掴めた事を伝え、感謝の意を示した。
        CALL COLOR_PRINTW(@"「なるほど、それは良かったです。では明日に備えて休みましょう」", CFLAG:CHARA_ID:口上カラーコード)
    ENDIF

    ;下調べをしなかった場合
ELSE
    CALL COLOR_PRINTW(@"「では明日に備えて休みましょうか」", CFLAG:CHARA_ID:口上カラーコード)
    PRINTFORMW %QST_LEADER_NAME()%は宿屋の自室へ向かった。
ENDIF

;ノード移動制限解除
FLAG:移動制限フラグ = 0
;メインイベントフラグ更新
CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_出撃前の準備)
;次のイベントをアクティブに
CALL QST_ACTIVATE_EVENT(30)
;移動
CALL HO_MOVE_MASTER(QUEST_57_リスノイ_大通り)
;ログ表示
CALL QST_QUEST_57_EVENT_0

;-------------------------------------------------
;EV30
;リスノイ-宿屋
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_30
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "宿屋"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_STATE:DEACTIVE][EVENT_ICON:CHESS-KNIGHT]"

@QST_QUEST_57_EVENT_30
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

PRINTFORML 作戦開始まで休もうか？
CALL ASK_YN("休む","まだ休まない")
SIF RESULT == 1
    RETURN

;襲撃を予見できたか否かでイベントを分岐
IF QST_GET_FLAGMAP("足跡発見") == "成功"
    PRINTFORMW ……
    PRINTFORMW …
    PRINTFORMW 準備を進める%QST_LEADER_NAME()%の部屋に、ノック音が響く。
    PRINTL
    CALL DRAW_PORTRAIT(CHARA_ID, "[感情:通常][サイズ:180px][POS_X:0]",,1)
    CALL COLOR_PRINTL(@"「こんばんは、%CALLNAME:CHARA_ID%です。時間が近づいてきたので連絡に来ました」", CFLAG:CHARA_ID:口上カラーコード)
    CALL COLOR_PRINTW(@"「私は先に向かってますので、街の北門で合流しましょう」", CFLAG:CHARA_ID:口上カラーコード)
    PRINTFORMW 知らせを受けた%QST_LEADER_NAME()%は支度を終わらせ、宿屋を出る事にした……
ELSE
    CALL FL_STOPBGM()
    PRINTFORMW ……
    PRINTFORMW …
    PRINTFORMW 明日の作戦に向けて準備をしていると、%QST_LEADER_NAME()%の部屋に、けたたましいノック音が鳴り響く。
    PRINTL
    CALL DRAW_PORTRAIT(CHARA_ID, "[目:細目][眉:怒り][口:叫び][サイズ:180px][POS_X:0]",,1)
    CALL FL_PLAYBGM("Ambient_dark_2.mp3")
    CALL COLOR_PRINTL(@"「%QST_LEADER_NAME(1)%さん、%CALLNAME:CHARA_ID%です！ゴブリン達がこの街へ襲撃を始めています！」", CFLAG:CHARA_ID:口上カラーコード)
    CALL COLOR_PRINTW(@"「準備ができ次第、急いで街の北門へ集まって下さい！私は先に向かってます！！」", CFLAG:CHARA_ID:口上カラーコード)
    PRINTFORMW ゴブリン急襲の知らせを受け、%QST_LEADER_NAME()%は急いで準備を始めた……
    ;襲撃予見に失敗した事によるタイムロス：90分
    CALL QST_QUEST_57_SET_RESCUE_TIMELOSS(90)
ENDIF

;イベント消去
CALL QST_DEACTIVATE_THIS_EVENT()
;メインイベントフラグ更新
CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_戦闘_森の入口)
;次のイベントをアクティブに
CALL QST_ACTIVATE_EVENT(31)
;移動
CALL HO_MOVE_MASTER(QUEST_57_リスノイ_大通り)
;このタイミングから隣接マスにしか移動できないように
FLAG:移動制限フラグ = 1
;ログ表示
CALL QST_QUEST_57_EVENT_0

;-------------------------------------------------
;EV31
;リスノイ-北門
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_31
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "北門"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_STATE:DEACTIVE][EVENT_ICON:CHESS-KNIGHT]"

@QST_QUEST_57_EVENT_31
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

PRINTFORML 街の外周には自警団が続々と集まっている。
PRINTFORMW 既に到着していた%CALLNAME:CHARA_ID%は、%QST_LEADER_NAME()%を見つけると静かに駆け寄ってきた。

;ゴブリン襲撃予見で分岐
IF QST_GET_FLAGMAP("足跡発見") == "成功"
    CALL DRAW_PORTRAIT(CHARA_ID, "[感情:通常][サイズ:180px][POS_X:0]",,1)
    CALL COLOR_PRINTW(@"「そろそろ作戦開始の時刻です。準備は良いですか？」", CFLAG:CHARA_ID:口上カラーコード)
    CALL ASK_YN("できている","まだ")
    IF RESULT == 1
        CALL COLOR_PRINTW("「わかりました。準備が出来たら教えて下さい」", CFLAG:CHARA_ID:口上カラーコード)
        RETURN
    ENDIF

    CALL COLOR_PRINTW("「では、森の入口に向かいましょう」", CFLAG:CHARA_ID:口上カラーコード)
    CALL FL_STOPBGM()
    PRINTFORMW ……
    PRINTFORMW …
    PRINTL
    CALL PRINT_TITLE("先制攻撃", "イベント")
    CALL FL_PLAYBGM("Ambient_dark_2.mp3")
    PRINTFORMW ――リスノイ北部-森の入口
    PRINTFORMW 野路から伺える森の中央部は、日が傾き始めた状態でも相当数のゴブリンが徘徊する様子が確認できる。

    ;戦闘イベント
    CALL CC_INIT()
    ;クエストのパーティメンバーを攻撃側として追加
    CALL CC_ADDPARTY("ATTACKER")

    CALL COLOR_PRINTW("「到着しました。それでは、手筈通り陽動をお願いします」", CFLAG:CHARA_ID:口上カラーコード)
    PRINTL
    CALL COLOR_PRINTL("「……と思いましたが、こちらに気づいたゴブリンが何体かいますね」", CFLAG:CHARA_ID:口上カラーコード)
    ;6人未満であれば加勢する。
    IF QST_PARTYNUM < 6
        CALL COLOR_PRINTW("「報告される前に仕留めましょう。私も加勢します」", CFLAG:CHARA_ID:口上カラーコード)
        PRINTL
        PRINTFORMW %CALLNAME:CHARA_ID%は猟銃を取り出すと、手際良く戦いの準備を始めている。
        CALL COLOR_PRINTW("「それでは行きます。準備はいいですか？」", CFLAG:CHARA_ID:口上カラーコード)
        ;ゲストユニットの設定
        CALL QST_QUEST_57_PREBUTTLE_GUESTUNIT(CHARA_ID, "ATTACKER")
    ELSE
        CALL COLOR_PRINTW(@"「私は逃げ出した斥候を仕留めますので、%QST_LEADER_NAME(1)%さんは残りの対応をお願いします」", CFLAG:CHARA_ID:口上カラーコード)
        CALL COLOR_PRINTW("「……くれぐれも無理はしないで下さい。ご武運を」", CFLAG:CHARA_ID:口上カラーコード)
    ENDIF
    PRINTL
    PRINTFORMW %QST_LEADER_NAME()%は%CALLNAME:CHARA_ID%に返事を返すと武器を手に取り、ゴブリン達との交戦を開始した！

    ;防御側エネミー設定
    CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリン", "ゴブリン", 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
    CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリンスカウト", "ゴブリンアーチャー1", 20 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
    CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリンスカウト", "ゴブリンスカウト1", 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
    CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリンスカウト", "ゴブリンスカウト2", 20 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
    ;戦闘処理呼出
    CALL CLOSE_COMBAT("[BGM:Battle_1.ogg]")

    ;CLOSE_COMBATの戻り値は攻撃側勝利 = 1,防衛側勝利 = 2
    IF RESULT == 1
        ;戦闘終了後のHPをパーティに適用
        CALL CC_APPLY_CHARA_HP()

        PRINTFORMW 斥候部隊を打ち払った%QST_LEADER_NAME()%は、ゴブリン達に奇襲をしかけた。
        PRINTFORMW まさか自分達が奇襲を受けるとは思ってもいなかったのだろう。ゴブリン達はひどく慌てている。
        PRINTFORMW ゴブリンの群れを掃討した%QST_LEADER_NAME()%は、森の奥に向かって進行を開始した。
        ;ゲスト離脱前会話
        IF QST_PARTYNUM < 6
            PRINTL
            CALL DRAW_PORTRAIT(CHARA_ID, "[眉:リラックス][口:笑い][サイズ:180px][POS_X:0]",,1)
            CALL COLOR_PRINTL("「お疲れさまでした。ここからは作戦通り行きましょう」", CFLAG:CHARA_ID:口上カラーコード)
            CALL COLOR_PRINTW("「それと……くれぐれも無理はしないで下さい」", CFLAG:CHARA_ID:口上カラーコード)
            PRINTFORMW %CALLNAME:CHARA_ID%と別れた。
        ENDIF
    ELSE
        CALL QST_QUEST_57_BUTTLE_CONTINUE()
        PRINTFORMW しかし、ゴブリンたちに捕らえられる寸前のところで、自警団により救助された……
        PRINTFORMW 何とかゴブリンの群れを掃討した%QST_LEADER_NAME()%は森の奥に向かって進行を開始した。
    ENDIF

    ;ゴブリン襲撃予見失敗時
ELSE
    CALL DRAW_PORTRAIT(CHARA_ID, "[目:細目][眉:怒り][サイズ:180px][POS_X:0]",,1)
    CALL COLOR_PRINTW(@"「%QST_LEADER_NAME(1)%さん、準備は良いですか？」", CFLAG:CHARA_ID:口上カラーコード)
    CALL ASK_YN("できている","まだ")
    IF RESULT == 1
        CALL COLOR_PRINTW("「一刻の猶予もない状態です。早めの準備をお願いいたします」", CFLAG:CHARA_ID:口上カラーコード)
        RETURN
    ENDIF

    PRINTFORMW %QST_LEADER_NAME()%と%CALLNAME:CHARA_ID%は簡易的なブリーフィングを受け、街の外郭へ向かった。
    PRINTFORML 『まずは来襲するゴブリンを討伐。その後はゴブリン達には状況を立て直す余裕を与えず、当初の予定通りに殲滅する』
    PRINTFORMW が今回の作戦のようだ。
    PRINTFORMW ……
    PRINTFORMW …
    PRINTL
    CALL PRINT_TITLE("リスノイ防衛戦", "イベント")
    PRINTFORMW ――リスノイ-外郭

    ;戦闘イベント
    CALL CC_INIT()
    ;クエストのパーティメンバーを攻撃側として追加
    CALL CC_ADDPARTY("DEFENDER")
    ;6人未満であれば加勢する。
    IF QST_PARTYNUM < 6
        CALL COLOR_PRINTW("「ゴブリンの群れがすぐそばまで来ています。私も加勢しますので、急いで応戦しましょう！」", CFLAG:CHARA_ID:口上カラーコード)
        ;ゲストユニットの設定
        CALL QST_QUEST_57_PREBUTTLE_GUESTUNIT(CHARA_ID, "DEFENDER")
    ELSE
        CALL COLOR_PRINTW("「ゴブリンの群れがすぐそばまで来ています。急いで応戦しましょう！」", CFLAG:CHARA_ID:口上カラーコード)
    ENDIF
    PRINTFORMW %QST_LEADER_NAME()%は%CALLNAME:CHARA_ID%に返事を返すと武器を手に取り、ゴブリン達を迎え撃った！

    ;攻撃側エネミー設定
    CALL CC_ADDMOB_FROM_TABLE("ATTACKER", "QUEST_57_ゴブリン", "ゴブリン", 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
    CALL CC_ADDMOB_FROM_TABLE("ATTACKER", "QUEST_57_ゴブリンスカウト", "ゴブリンアーチャー1", 20 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
    CALL CC_ADDMOB_FROM_TABLE("ATTACKER", "QUEST_57_ゴブリンスカウト", "ゴブリンスカウト1", 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
    CALL CC_ADDMOB_FROM_TABLE("ATTACKER", "QUEST_57_ゴブリンスカウト", "ゴブリンスカウト2", 20 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
    ;戦闘処理呼出
    CALL CLOSE_COMBAT("[BGM:Battle_1.ogg]")

    ;CLOSE_COMBATの戻り値は攻撃側勝利 = 1,防衛側勝利 = 2
    IF RESULT == 2
        ;戦闘終了後のHPをパーティに適用
        CALL CC_APPLY_CHARA_HP()

        PRINTFORMW %QST_LEADER_NAME()%はゴブリンの群れを迎撃していく。
        PRINTFORMW 想像以上の反攻に驚いたのだろうか、ゴブリン達は少しずつ森へ撤退を始めていく……
        PRINTFORMW 一方でこちらの士気はどんどん高まり。%QST_LEADER_NAME()%と自警団はゴブリンの群れを森へ追いやることに成功した。
        PRINTL
        CALL DRAW_PORTRAIT(CHARA_ID, "[眉:リラックス][口:笑い][サイズ:180px][POS_X:0]",,1)
        CALL COLOR_PRINTL("「お疲れさまでした。ここからは作戦通り行きましょう」", CFLAG:CHARA_ID:口上カラーコード)
        CALL COLOR_PRINTW("「それと……くれぐれも無理はしないで下さい」", CFLAG:CHARA_ID:口上カラーコード)
        PRINTFORMW %CALLNAME:CHARA_ID%と別れた。
    ELSE
        CALL QST_QUEST_57_BUTTLE_CONTINUE()
        PRINTFORMW しかし、ゴブリンたちに捕らえられる寸前のところで、自警団により救助された……
        PRINTFORMW 何とかゴブリンの群れを掃討した%QST_LEADER_NAME()%は森の奥に向かって進行を開始した。
    ENDIF
ENDIF

;メインイベントフラグ更新
CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_戦闘_森中の空地)
;パスの開通
CALL QST_ADD_PATH(QUEST_57_森の入口, QUEST_57_森中の空地)
;移動。森の入口へ
CALL HO_MOVE_MASTER(QUEST_57_森の入口)
;ログ表示
CALL QST_QUEST_57_EVENT_0

;-------------------------------------------------
;EV40
;森中の空地
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_40
#DIMS EVENT_TRIGGER = "ENTER_ROOM"
#DIMS EVENT_TYPE = "ONCE"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:2 = %EVENT_TYPE%
RESULTS:3 '= "[EVENT_ICON:CHESS-KNIGHT]"

@QST_QUEST_57_EVENT_40
#DIM CONST EVENT_START_FLAG = 4
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

CALL PRINT_TITLE("森中での戦い", "イベント")
PRINTFORMW %QST_LEADER_NAME()%は森中の空地に到着した。
PRINTFORML 森の中で唯一開けたそこは、伐採された木や、無造作に打ち捨てられた略奪品で溢れており
PRINTFORMW 武器を手にした大量のゴブリン達が%QST_LEADER_NAME()%達を待ち構えていた。
PRINTL
PRINTFORMW %QST_LEADER_NAME()%は再び武器を手に取り、ゴブリン達を強襲した！

CALL CC_INIT()
;クエストのパーティメンバーを攻撃側として追加
CALL CC_ADDPARTY("ATTACKER")
;防御側エネミー設定
CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリン", "ゴブリン１", 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリン", "ゴブリン２", 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリンスカウト", "ゴブリンアーチャー1", 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリンスカウト", "ゴブリンアーチャー2", 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
;戦闘処理呼出
CALL CLOSE_COMBAT("[BGM:Battle_1.ogg]")

;CLOSE_COMBATの戻り値は攻撃側勝利 = 1,防衛側勝利 = 2
IF RESULT == 1
    ;戦闘終了後のHPをパーティに適用
    CALL CC_APPLY_CHARA_HP()

    PRINTFORMW %QST_LEADER_NAME()%は絶え間なくやってくるゴブリン達を次々と撃破していった。
    PRINTFORMW ……
    PRINTFORMW …
    PRINTFORML ゴブリン達の練度は想定よりも低く、%QST_LEADER_NAME()%は自警団と共に、森の奥深くへと快進撃を続けた。
    PRINTFORMW その一方で、手応えの薄さに違和感を覚えていた%QST_LEADER_NAME()%はある事に気づいた……
ELSE
    CALL QST_QUEST_57_BUTTLE_CONTINUE()
    PRINTFORMW しかし、ゴブリンたちに捕らえられる寸前のところで、自警団により救助された……
    PRINTFORMW ……
    PRINTFORMW …
    PRINTFORML 自警団の助力でゴブリンを掃討した%QST_LEADER_NAME()%は森の奥へと進行を続ける。
    PRINTFORML 自警団は%QST_LEADER_NAME()%のフォローをこなしながら、森の奥へ向かって快進撃を続ける。
    PRINTFORMW 事前に聞いた内容とは大きく異なるあまりの順調さに、違和感を覚えた%QST_LEADER_NAME()%は、ある事に気づいた……
ENDIF

CALL FL_STOPBGM()
CALL ASK_MULTI(@"%CALLNAME:CHARA_ID%の狙撃が一度も行われていない")

PRINTFORML 戦いが始まってから随分経つが、%CALLNAME:CHARA_ID%の支援射撃が一度も行われていない……
PRINTFORMW %QST_LEADER_NAME()%が違和感の正体に気づいたその時
PRINTL
CALL FL_PLAYSE("Dig_1.mp3")
PRINTFORML 数匹の仲間を連れた巨大なゴブリンが、茂みをかき分け森の西側から現れた。
PRINTFORMW 作戦で聞いた外見とも合致する。おそらくこの個体がゴブリンチーフなのだろう、そしてその傍らには
PRINTFORMW 縄で縛り上げられた%CALLNAME:CHARA_ID%が、力なくうなだれていた……

CALL FL_PLAYBGM("Ambient_dark_3.mp3")
PRINTL
PRINTFORML 突然の事態に驚く%QST_LEADER_NAME()%だったが、自警団のメンバーはそれ以上に動揺している。
PRINTFORMW 指揮官不在の中、作戦の要を失った彼等は、自分達の行動指針を完全に見失ってしまっていた。
PRINTL
PRINTFORML そんな中、ゴブリンチーフは%QST_LEADER_NAME()%達の視界に入るように%CALLNAME:CHARA_ID%を突き出し
PRINTFORMW 運搬用の丈夫なロープを振り上げると……
IF (FLCONFIG:SEの音量 > 0) && (FLCONFIG:サウンドを再生しない == 0)
    CALL FL_PLAYSE("Whip_1.mp3",,,3)
ENDIF
PRINTFORMW %CALLNAME:CHARA_ID%の背中を数回、強かに打ち据えた。
PRINTL
PRINTFORML 乾いた音と共に悲痛な叫び声が森に響く。それを眺める取り巻きのゴブリン達は、ゲタゲタと下品な笑い声で囃し立てている。
PRINTFORML その様子を見せつけられた自警団は、呆然とする者、救助のために単独で突入を試みる者、それを止める者
PRINTFORMW それぞれが入り混じり、混沌の様相を加速させていた。
PRINTL
PRINTFORML その様子を満足そうに眺めたゴブリンチーフはニタリと嗤い、ゴブリン達に攻撃命令を出すと
PRINTFORMW %CALLNAME:CHARA_ID%と共に来た道を引き返し、森の西側へと姿を眩ませた……
PRINTL
CALL COLOR_PRINTL(@"このままでは自警団もろとも瓦解してしまう。", カラー_注意)
CALL COLOR_PRINTW(@"まずは状況を立て直し、%CALLNAME:CHARA_ID%を救出するための作戦を考える必要がありそうだ……", カラー_注意)

;イベント消去
CALL QST_DEACTIVATE_THIS_EVENT()
;フラグ更新(仕切り直)
CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_仕切り直し)
;移動不可
FLAG:移動制限フラグ = 2
;ログ表示
CALL QST_QUEST_57_EVENT_0

;-------------------------------------------------
;EV41
;騒乱の自警団
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_41
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME
EVENT_SLOT_NAME = 騒乱の自警団
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_ICON:CHESS-KNIGHT]"

@QST_QUEST_57_EVENT_41
#DIM CONST EVENT_ID = 41
#DIM DYNAMIC ROOL_DIFFICULTY = 300
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

CALL PRINT_TITLE("騒乱の自警団", "イベント")
PRINTFORML こちらの戦線は瓦解し、ゴブリン達に優勢が傾き始めている……
PRINTFORMW まずは自警団の態勢を立て直そう。
;この時、指揮官が作戦露見を自警団に展開していたら難易度減少
SIF QST_GET_FLAGMAP("作戦露見通達") == "成功"
    ROOL_DIFFICULTY = 0
CALL QST_PARTY_ROLL("話術", (ROOL_DIFFICULTY), 0, 5)

;判定結果
PRINTFORMW %QST_LEADER_NAME()%は自警団の説得を試みた。
IF RESULT == 1
    IF QST_GET_FLAGMAP("作戦露見通達") == "成功"
        PRINTFORMW 作戦露見の可能性を予め伝えていた事もあり、騒乱の熱は早々に引いていく……
    ELSE
        PRINTFORMW %QST_LEADER_NAME()%の巧みな説得により、騒乱の熱は早々に引いていく……
    ENDIF
    PRINTFORMW 「……見苦しい所を見せてしまったが、君が居てくれて本当に助かったよ」

ELSE
    PRINTFORMW 予期せぬ作戦の瓦解、そして指揮官不在の状態が火に油を注ぐ結果となり、%QST_LEADER_NAME()%の声は騒乱の熱にかき消されていく……
    PRINTFORMW ……
    PRINTFORMW …
    PRINTFORML かなりの時間を費やしたものの、%QST_LEADER_NAME()%はリーダーを説き伏せる事に何とか成功した。
    PRINTFORMW 「手間取らせてしまい申し訳ない。君のおかげで最悪の事態は回避できそうだ……」
    ;説得に時間がかかった事によりタイムロス：30分
    CALL QST_QUEST_57_SET_RESCUE_TIMELOSS(30)
ENDIF
PRINTL
PRINTFORMW 自警団のリーダーは部下をまとめ上げ、体制を持ち直し始めた。

;イベント消去
CALL QST_DEACTIVATE_THIS_EVENT()
;フラグセット
CALL QST_SET_SV_EVENT_FLAG(EVENT_ID, 1)
;次イベントをアクティブに
CALL QST_ACTIVATE_EVENT(42)
;ログ表示
CALL QST_QUEST_57_EVENT_0

;-------------------------------------------------
;EV42
;ゲスト救出計画
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_42
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME
EVENT_SLOT_NAME = 救出計画
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_STATE:DEACTIVE][EVENT_ICON:CHESS-KNIGHT]"

@QST_QUEST_57_EVENT_42
#DIM DYNAMIC ASK_FLAG
#DIM DYNAMIC FLAG_CHECK
#DIM DYNAMIC CHARA_ID
#DIMS DYNAMIC ASK_TITLE, 4
#DIMS DYNAMIC TIME_LIM

CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")
TIME_LIM '= @"{QUEST_57_タイムリミット / 60}:%TOSTR(QUEST_57_タイムリミット % 60 ,"00")%"

CALL PRINT_TITLE(@"救出計画", "イベント")
PRINTFORMW 自警団が冷静を取り戻し、戦線はひとまず持ち直した。
PRINTFORML 次は%CALLNAME:CHARA_ID%を救うための作戦を考える必要がある。まずは状況の整理が必要だ……
PRINTFORMW %QST_LEADER_NAME()%は今後の作戦について状況整理を行った。

CALL ASK_MULTI("ゴブリンチーフの行動について")
PRINTFORMW なぜゴブリンチーフはわざわざ人質をいたぶり、こちらの感情を煽るような行為をしたのか。それは……
CALL ASK_MULTI("こちらを誘導し、罠に誘い込もうとしている", "意味などない、ただの嫌がらせだ")
IF RESULT == 0
    PRINTFORMW 罠を仕掛けている可能性が高い。安易に挑発に乗り、森の西側へ向かう事は危険かもしれない……
    FLAG_CHECK++
ELSE

ENDIF

VARSET ASK_TITLE
ASK_TITLE:0 = %CALLNAME:CHARA_ID%の安否
ASK_TITLE:1 = 救出ルートについて
IF FLAG_CHECK != 0
    WHILE ASK_FLAG < 3
        PRINTL
        PRINTL
        PRINTFORMW 次に考えるべき事は……
        CALL ASK_MULTI(ASK_TITLE:0, ASK_TITLE:1)
        SELECTCASE RESULT
            CASE 0
                ;街の住人の話を聞いておくと選択肢に出る。
                PRINTFORMW 仮に最短ルート以外の道を選ぶとなると、%CALLNAME:CHARA_ID%の救助は間に合うのだろうか……
                ASK_TITLE:3 = わからない
                SIF QST_GET_FLAGMAP("ゴブリンの行動について") == "達成"
                    ASK_TITLE:2 = ここのゴブリンはその場で獲物に手を出さない
                CALL ASK_MULTI(ASK_TITLE:2, ASK_TITLE:3)
                IF RESULT == 0
                    PRINTFORML 理由は不明だが、ここのゴブリンたちは巣に帰るまでは獲物に手を出さない。
                    PRINTFORMW ……少なくとも巣に着くまでは%CALLNAME:CHARA_ID%の安全は保証できそうだ。
                    FLAG_CHECK++
                ELSE
                    PRINTFORML %QST_LEADER_NAME()%は考えを巡らせてみたが、明確な答えは出なかった……
                    PRINTFORML 囮の役目を終えた%CALLNAME:CHARA_ID%は用済みとなり、その場でゴブリン達の慰み者にされる可能性は十分にある。
                    PRINTFORMW 一刻も早く助け出す必要があるかもしれない……
                    ;タイムロス：15分
                    CALL QST_QUEST_57_SET_RESCUE_TIMELOSS(15)
                ENDIF
                ASK_TITLE:0 =
                ASK_FLAG |= 1

            CASE 1
                PRINTFORML 西ルートは罠が仕掛けられている可能性があるが、正面ルートはゴブリン達が陣取っているため
                PRINTFORMW 突破には時間がかかりそうだ。どうするか……
                CALL ASK_MULTI("自警団に相談する", @"%CALLNAME:CHARA_ID%から貰った地図を取り出す")
                IF RESULT == 0
                    PRINTFORMW こういう時は現地の人に確認するのが一番だ。そう判断した%QST_LEADER_NAME()%は自警団の人に聞き回った……
                    PRINTFORMW ……
                    PRINTFORMW …
                    PRINTFORMW しかし、森に精通したものは一人もおらず、かえって時間を浪費する結果となった。
                    PRINTFORMW 無駄にした時間を巻き返すためには、最短で救出できるルートが好ましいのかもしれない……
                    ;タイムロス：30分
                    CALL QST_QUEST_57_SET_RESCUE_TIMELOSS(30)

                ELSE
                    PRINTFORML %QST_LEADER_NAME()%は%CALLNAME:CHARA_ID%から貰った地図を広げ、迂回路を探した……
                    PRINTFORML どうやら、森を抜ける獣道がここから北西に向かって伸びているようだ。
                    PRINTFORMW この迂回路であれば、進路を塞ぐ形で先回りし、%CALLNAME:CHARA_ID%の救出を行えるかもしれない。
                    FLAG_CHECK += 2
                ENDIF
                ASK_TITLE:1 =
                ASK_FLAG |= 2
        ENDSELECT
    WEND
ENDIF
PRINTFORMW ……
PRINTFORMW …
PRINTL

;選択肢の生成。フラグ立てて無くても選択肢をミスらなければ、正解が100%あらわれるように
VARSET ASK_TITLE
ASK_TITLE:0 = 西ルート　：ゴブリン達の後を追い、急いで%CALLNAME:CHARA_ID%の救助に向かう
SIF (FLAG_CHECK - RAND:3) > 0
    ASK_TITLE:1 = 北西ルート：ゴブリン達の移動先で待ち伏せ、%CALLNAME:CHARA_ID%を救出する

PRINTFORML これらの状況を踏まえ、%QST_LEADER_NAME()%が選ぶべき行動は……
CALL ASK_MULTI(ASK_TITLE:0, ASK_TITLE:1)

;イベントフラグセット
IF RESULT == 0
    CALL QST_SET_FLAGMAP("ルート選択", "西")
ELSE
    CALL QST_SET_FLAGMAP("ルート選択", "北西")
ENDIF

;救出ルートごとの分岐
IF QST_GET_FLAGMAP("ルート選択") == "西"
    CALL QST_DEACTIVATE_EVENT(60)
    PRINTFORM %CALLNAME:CHARA_ID%の救助を最優先と判断し、ゴブリンチーフを追いかける事を選んだ%QST_LEADER_NAME()%は
ELSE
    CALL QST_DEACTIVATE_EVENT(50)
    CALL QST_DEACTIVATE_EVENT(51)
    CALL QST_DEACTIVATE_EVENT(52)
    PRINTFORM 先回りし、ゴブリンチーフを待ち伏せる事を選んだ%QST_LEADER_NAME()%は
ENDIF
PRINTFORMW 、自警団のリーダーと作戦を共有した。
CALL FL_STOPBGM()
PRINTFORML 「……なるほど。"我々がゴブリンをここで引き付けている間に、君たちが彼女を助け出す"というわけだな」
PRINTFORMW 「わかったその作戦で行こう。それと」
PRINTL
IF HO_TIME < (QUEST_57_タイムリミット- 30)
    CALL COLOR_PRINTW(@"「この場からゴブリンが巣穴に到着するまでの時間はおよそ", , @"%TIME_LIM%", カラー_注意, "。それまでに救出できなければ……」",)
ELSE
    PRINTFORMW 「ゴブリン達が巣穴に到着するまで時間は殆ど残されていない。もし、巣穴へ到着するまでに救助が間に合わなければ……」
ENDIF
PRINTFORMW 「いや、今この話はすべきではないな。とにかく、彼女をよろしく頼む」
PRINTL
CALL COLOR_PRINTW(@"反撃の準備は整った。%CALLNAME:CHARA_ID%の救出に向かおう。", カラー_注意)
CALL FL_PLAYBGM("Battle_0.ogg")

;メインイベントフラグ更新
CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_反撃開始_前半)
;ログ表示
CALL QST_QUEST_57_EVENT_0
;隣接マスのみ移動可
FLAG:移動制限フラグ = 1
;イベント消去
CALL QST_DEACTIVATE_THIS_EVENT()

;-------------------------------------------------
;EV50
;森-西部 トラップ1
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_50
#DIMS EVENT_TRIGGER = "ENTER_ROOM"
#DIMS EVENT_TYPE = "ONCE"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:2 = %EVENT_TYPE%

@QST_QUEST_57_EVENT_50
#DIM CONST SUSIDE_VALUE_BIT = 16
#DIM DYNAMIC REDUCE_CURE_POINT
#DIM DYNAMIC TARGET_ID
#DIM DYNAMIC DIFFICULTY_RATE = 250
#DIMS DYNAMIC JUDGE_VALUE
#DIMS DYNAMIC _LIST_MESSAGE
#DIMS DYNAMIC _LIST_JUDGE_VALUE
#DIMS DYNAMIC _LIST_DIFFICULTY

;西ルートの場合のみ有効
SIF QST_GET_FLAGMAP("ルート選択") != "西"
    RETURN

CALL PRINT_TITLE("しなった枝", "イベント")
PRINTFORML 暗がりの中、ゴブリンチーフを追って西へ向かい進んでいく……
PRINTFORMW その途中で%QST_LEADER_NAME()%は、不自然にしなった枝をいくつか見つけた。
$INPUT_LOOP
PRINTL
PRINTFORML ……さて、どうすべきだろうか？
PRINTL

;テキスト入力
_LIST_MESSAGE '= "違和感を見つける(観察),記憶を頼りに調べる(知識),"
_LIST_JUDGE_VALUE '= "観察,知識,"
_LIST_DIFFICULTY '= @"%TOSTR((DIFFICULTY_RATE * 150) / 100)%,%TOSTR(DIFFICULTY_RATE)%,"

CALL QST_ROLL_MULTI(_LIST_JUDGE_VALUE, _LIST_MESSAGE, _LIST_DIFFICULTY,,0,,, 1, "気にせず進む(確定失敗)")
TARGET_ID = RESULT:1
JUDGE_VALUE = %RESULTS%
IF RESULT == 1
    SELECTCASE JUDGE_VALUE
        CASE "観察"
            PRINTFORMW %ANAME(TARGET_ID)%はそれが括り罠である事を見破った！
        CASE "知識"
            PRINTFORMW %ANAME(TARGET_ID)%はそれが括り罠である事を見破った！
    ENDSELECT
    PRINTFORMW %QST_LEADER_NAME()%は慎重に罠を回避して先へ進んだ。
    ;罠突破によるタイムロス：10分
    CALL QST_QUEST_57_SET_RESCUE_TIMELOSS(10)

ELSE
    ;解錠手段が残っている場合は入力ループに戻る
    ;確定失敗を選んだ場合のみ失敗ルートに移動
    CALL QST_GET_EVENT_FLAG_BY_IDX()
    IF GETBIT(RESULT, SUSIDE_VALUE_BIT) == 0
        SELECTCASE JUDGE_VALUE
            CASE "観察"
                PRINTFORMW %ANAME(TARGET_ID)%は調べて見たものの、日没後の森という悪条件下では何もわからなかったようだ……
                GOTO INPUT_LOOP
            CASE "知識"
                PRINTFORMW %ANAME(TARGET_ID)%は不自然にしなった枝を調べて見たものの、それが何かわからなかったようだ……
                GOTO INPUT_LOOP
        ENDSELECT
    ENDIF
    PRINTFORMW %ANAME(TARGET_ID)%\@ QST_PARTYNUM > 1 ? の提案により # は \@不自然な枝を気にせず進む事にした。
    PRINTFORMW ……%QST_LEADER_NAME()%が移動を始めた次の瞬間
    CALL FL_PLAYSE("Whip_2.mp3")
    PRINTFORMW しなった枝が勢いよく跳ね上がった！
    CALL FL_PLAYSE("Rope_0.mp3")
    PRINTFORML それと同時に%ANAME(TARGET_ID)%の足にロープが絡まり、逆さ吊りにされてしまった！
    PRINTFORMW どうやらここには括り罠が仕掛けられていたようだ……
    PRINTFORMW ……
    PRINTFORMW …
    PRINTL

    PRINTFORM %ANAME(TARGET_ID)%は
    SIF QST_PARTYNUM > 1
        PRINTFORM 仲間の手を借り
    PRINTFORM 何とか脱出したものの、
    ;応急治療点の減少
    REDUCE_CURE_POINT = MIN(QST_応急治療点 / RAND(3, 5), 1)
    IF REDUCE_CURE_POINT > 0
        PRINTFORMW 治療に必要な道具をいくつか落としてしまったようだ……
        CALL COLOR_PRINTW(@"応急治療点({QST_応急治療点} → ", , @"{QST_応急治療点 - REDUCE_CURE_POINT}", カラー_オレンジ, ")",)
        QST_応急治療点 -= REDUCE_CURE_POINT
    ELSE
        PRINTFORMW 時間を浪費してしまった……
    ENDIF

    ;体力の減少
    CALL QST_CHANGE_HP(TARGET_ID, -100)
    ;タイムロスを加算(人数に依存)
    CALL QST_QUEST_57_SET_RESCUE_TIMELOSS(MAX(20, 35 - (QST_PARTYNUM * 5)))
ENDIF
;ノード移動不可
FLAG:移動制限フラグ = 2
;イベント消去
CALL QST_DEACTIVATE_THIS_EVENT()
;次イベントをアクティブに
CALL QST_ACTIVATE_EVENT(51)
;ログ表示
CALL QST_QUEST_57_EVENT_0

;-------------------------------------------------
;EV51
;森-西部 トラップ2
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_51
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME
EVENT_SLOT_NAME = ゴブリンチーフ追跡 2/3
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_STATE:DEACTIVE][EVENT_ICON:CHESS-KNIGHT]"

@QST_QUEST_57_EVENT_51
#DIM CONST SUSIDE_VALUE_BIT = 16
#DIM DYNAMIC REDUCE_CURE_POINT
#DIM DYNAMIC TARGET_ID
#DIM DYNAMIC DIFFICULTY_RATE = 300
#DIMS DYNAMIC JUDGE_VALUE
#DIMS DYNAMIC _LIST_MESSAGE
#DIMS DYNAMIC _LIST_JUDGE_VALUE
#DIMS DYNAMIC _LIST_DIFFICULTY

;西ルートの場合のみ有効
SIF QST_GET_FLAGMAP("ルート選択") != "西"
    RETURN

CALL PRINT_TITLE("トリップワイヤー", "イベント")
PRINTFORML 暗がりの中、ゴブリンチーフを追って進んでいく……
PRINTFORML その途中で%QST_LEADER_NAME()%は、ピンと張られた紐が地面に点在しているのを見つけた。
PRINTFORMW その両端は茂みに消えており、罠である事は明らかだろう。
$INPUT_LOOP
PRINTL
PRINTFORML ……さて、どうすべきだろうか？
PRINTL

;テキスト入力
_LIST_MESSAGE '= "詳細に観察する(観察),分析する(知識),"
_LIST_JUDGE_VALUE '= "観察,知識,"
_LIST_DIFFICULTY '= @"%TOSTR(DIFFICULTY_RATE)%,%TOSTR((DIFFICULTY_RATE * 150) / 100)%,"

CALL QST_ROLL_MULTI(_LIST_JUDGE_VALUE, _LIST_MESSAGE, _LIST_DIFFICULTY,,0,,, 1, "気にせず進む(確定失敗)")
TARGET_ID = RESULT:1
JUDGE_VALUE = %RESULTS%
IF RESULT == 1
    PRINTFORML %ANAME(TARGET_ID)%はそれが二重罠である事を見破り、近くに本命のトリップワイヤーを発見した！
    PRINTFORMW %QST_LEADER_NAME()%は慎重に罠を回避して先へ進んだ。
    ;罠突破によるタイムロス：10分
    CALL QST_QUEST_57_SET_RESCUE_TIMELOSS(10)
ELSE
    ;解錠手段が残っている場合は入力ループに戻る
    ;確定失敗を選んだ場合のみ失敗ルートに移動
    CALL QST_GET_EVENT_FLAG_BY_IDX()
    IF GETBIT(RESULT, SUSIDE_VALUE_BIT) == 0
        SELECTCASE JUDGE_VALUE
            CASE "観察"
                PRINTFORMW %ANAME(TARGET_ID)%は調べて見たものの、日没後の森という悪条件下では何もわからなかったようだ……
                GOTO INPUT_LOOP
            CASE "知識"
                PRINTFORMW %ANAME(TARGET_ID)%はこれが罠である事以上の情報を得られなかったようだ……
                GOTO INPUT_LOOP
        ENDSELECT
    ENDIF
    PRINTFORML %ANAME(TARGET_ID)%\@ QST_PARTYNUM > 1 ? の提案により # は \@気にせず進む事にした。
    PRINTFORMW 歩みを進める%ANAME(TARGET_ID)%は、不意に足元に抵抗感を覚える。
    CALL FL_PLAYSE("Bell_0.mp3")
    PRINTFORML それと同時に、何かが鳴る音が周囲に響く……
    PRINTFORML 下を見てみると、先程のものとは別の細い糸が足に絡みついていた。
    PRINTFORMW どうやら先ほどみつけた紐はダミーで、近くに本命の紐が張り巡らされていたようだ……
    PRINTL
    CALL FL_PLAYSE("Bell_0.mp3")
    PRINTFORMW チリンチリンと、罠に掛かった愚者の存在を知らせる音が森ぶ響き渡る。そして……
    CALL FL_PLAYSE("Roar_0.mp3")
    PRINTL
    PRINTFORMW 遠くから獣の咆哮と共に、足音がこちらへ近づいてくる……
    PRINTFORMW %QST_LEADER_NAME()%は武器を構え、応戦の準備を始めた！

    ;戦闘イベント
    CALL CC_INIT()
    ;クエストのパーティメンバーを攻撃側として追加
    CALL CC_ADDPARTY("DEFENDER")
    ;攻撃側エネミー設定
    CALL CC_ADDMOB_FROM_TABLE("ATTACKER", "QUEST_57_ゴブリンスカウト", "ゴブリンスカウト", 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
    CALL CC_ADDMOB_FROM_TABLE("ATTACKER", "QUEST_57_ゴブリンスカウト", "ゴブリンアーチャー", 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
    CALL CC_ADDMOB("ATTACKER", "ゴブリンライダー1", 2800, 2800, 45, 25)
    CALL CC_ADDMOB("ATTACKER", "ゴブリンライダー2", 2800, 2800, 45, 25)
    ;戦闘処理呼出
    CALL CLOSE_COMBAT("[BGM:Boss_6.ogg]")

    ;CLOSE_COMBATの戻り値は攻撃側勝利 = 1,防衛側勝利 = 2
    IF RESULT == 2
        ;戦闘終了後のHPをパーティに適用
        CALL CC_APPLY_CHARA_HP()
        PRINTFORMW %QST_LEADER_NAME()%何とかゴブリン達を倒したものの、かなりの時間を浪費してしまった……
        ;タイムロスを加算
        CALL QST_QUEST_57_SET_RESCUE_TIMELOSS(20)
    ELSE
        CALL QST_QUEST_57_BUTTLE_CONTINUE()
        PRINTFORML しかし、ゴブリン達はこちらには目もくれず、ワーグと悶着を起こしている。
        PRINTFORML どうやらワーグ達の調教が不十分だったらしく、ゴブリンと獲物の取り合いを始めているようだ。
        PRINTFORMW またとない好機を得た%QST_LEADER_NAME()%は静かにその場から離れ、何とか逃げだず事に成功した……
        ;タイムロスを加算
        CALL QST_QUEST_57_SET_RESCUE_TIMELOSS(30)
    ENDIF
ENDIF
;イベント非アクティブ
CALL QST_DEACTIVATE_THIS_EVENT()
;次イベントをアクティブに
CALL QST_ACTIVATE_EVENT(52)
;ログ表示
CALL QST_QUEST_57_EVENT_0

;-------------------------------------------------
;EV52
;ゴブリンチーフ追跡 3/3
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_52
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME
EVENT_SLOT_NAME = ゴブリンチーフ追跡 3/3
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_STATE:DEACTIVE][EVENT_ICON:CHESS-KNIGHT]"

@QST_QUEST_57_EVENT_52
#DIM DYNAMIC ROOL_DIFFICULTY
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

;西ルートの場合のみ有効
SIF QST_GET_FLAGMAP("ルート選択") != "西"
    RETURN

CALL PRINT_TITLE(@"待ち受けていたモノ", "イベント")
PRINTFORMW ゴブリンチーフを追う%QST_LEADER_NAME()%は森を抜けた。
PRINTL
PRINTFORML するとそこには、大量のゴブリン達が待ち構えていた。
PRINTFORML その雰囲気から、森の中で戦ったものとは別格である事が伺える……
PRINTFORMW %QST_LEADER_NAME()%は武器を手に取り、ゴブリン達に立ち向かった！

CALL CC_INIT()
;クエストのパーティメンバーを攻撃側として追加
CALL CC_ADDPARTY("ATTACKER")
;防御側エネミー設定
CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ホブゴブリン", "ホブゴブリン１", 10 + 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ホブゴブリン", "ホブゴブリン２", 10 + 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリンスカウト", "ゴブリンスカウト", 10 + 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリンスカウト", "ゴブリンアーチャー", 10 + 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
;戦闘処理呼出
CALL CLOSE_COMBAT("[BGM:Boss_6.ogg]")

;CLOSE_COMBATの戻り値は攻撃側勝利 = 1,防衛側勝利 = 2
IF RESULT == 1
    ;戦闘終了後のHPをパーティに適用
    CALL CC_APPLY_CHARA_HP()
    PRINTFORML ゴブリン達を倒したものの、ゴブリンチーフと%CALLNAME:CHARA_ID%の姿は見えない。
    PRINTFORML どうやら撒かれてしまったようだ……。
    PRINTFORMW %CALLNAME:CHARA_ID%が洞窟に連れ込まれたら、救出は絶望的になるだろう。
    PRINTL
    PRINTFORMW %QST_LEADER_NAME()%は森の外周を迂回しつつ、ゴブリンチーフの後を追うことにした。
ELSE
    CALL QST_QUEST_57_BUTTLE_CONTINUE()
    PRINTFORMW 敗走する%QST_LEADER_NAME()%はとっさに森の中に逃げ込み、姿を隠した。
    PRINTFORMW ……
    PRINTFORMW …
    PRINTFORML ゴブリン達を撒く事に何とか成功したが、逃走に時間を取られてしまった……
    PRINTFORMW 戦闘地点に残された足跡から、護衛を囮にして逃げ出したゴブリンチーフは、ゴブリンの巣穴へ向かったようだ。
    PRINTL
    PRINTFORMW %QST_LEADER_NAME()%は森の外周を迂回しつつ、ゴブリンチーフの後を追うことにした。
    ;タイムロスを加算
    CALL QST_QUEST_57_SET_RESCUE_TIMELOSS(30)
ENDIF

;イベント非アクティブ
CALL QST_DEACTIVATE_THIS_EVENT()
;隣接ノードのみ移動可能に
FLAG:移動制限フラグ = 1
;メインイベントフラグ更新
CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_反撃開始_後半)
;ログ表示
CALL QST_QUEST_57_EVENT_0

;-------------------------------------------------
;EV60
;森-北西部
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_60
#DIMS EVENT_TRIGGER = "ENTER_ROOM"
#DIMS EVENT_TYPE = "ONCE"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:2 = %EVENT_TYPE%

@QST_QUEST_57_EVENT_60
#DIM DYNAMIC EVENT_FLAG
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

;北西ルート
IF QST_GET_FLAGMAP("ルート選択") == "北西"
    CALL PRINT_TITLE(@"待ち伏せ", "イベント")
    PRINTFORML 北西の獣道を進む%QST_LEADER_NAME(1)%は、程なくして森を抜けた。
    PRINTFORML 地面の様子から、ゴブリンチーフの一団はまだここを通っていないようだ。
    PRINTFORMW %QST_LEADER_NAME(1)%は森の中で待ち伏せをする事にした。
    PRINTFORMW ……
    PRINTFORMW …
    PRINTL
    PRINTFORML しばらくして%CALLNAME:CHARA_ID%を連れたゴブリンの群れが、森の外周を沿うようにやってきた。
    PRINTFORMW %QST_LEADER_NAME(1)%は奇襲を仕掛けた！

    CALL CC_INIT()
    ;クエストのパーティメンバーを攻撃側として追加
    CALL CC_ADDPARTY("ATTACKER")
    ;防御側エネミー設定
    CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ホブゴブリン", "ホブゴブリン1", 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
    CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ホブゴブリン", "ホブゴブリン2", 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
    CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリンスカウト", "ゴブリンアーチャー１", 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
    CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリンスカウト", "ゴブリンアーチャー２", 15 * QST_QUEST_57_GET_BATTLE_DIFFICULTY())
    ;戦闘処理呼出
    CALL CLOSE_COMBAT()

    ;CLOSE_COMBATの戻り値は攻撃側勝利 = 1,防衛側勝利 = 2
    IF RESULT == 1
        ;戦闘終了後のHPをパーティに適用
        CALL CC_APPLY_CHARA_HP()
        PRINTFORMW 奇襲に成功した%QST_LEADER_NAME(1)%はゴブリン達を制圧した！
        PRINTL
        PRINTFORML ……しかし、いくら探しても%CALLNAME:CHARA_ID%の姿は見えない。
        PRINTFORMW ゴブリンチーフ達は、護衛を囮にして逃げ出したようだ。
        PRINTFORMW 残された足跡が東へ伸びている事に気づいた%QST_LEADER_NAME(1)%は、東にあるゴブリンの巣穴へ向かう事にした。
    ELSE
        CALL QST_QUEST_57_BUTTLE_CONTINUE()
        PRINTFORMW しかし、奇襲によりゴブリンの部隊は大混乱に陥っている。
        PRINTL
        PRINTFORML その最中、%QST_LEADER_NAME(1)%は%CALLNAME:CHARA_ID%とゴブリンチーフの姿が見えない事に気づいた。
        PRINTFORML 残された足跡から、護衛を囮にして逃げ出したゴブリンチーフは、北東にあるゴブリンの巣穴へ向かったようだ。
        PRINTFORMW 相手が混乱している今のうちに、追跡を続けよう……
        ;タイムロスを加算
        CALL QST_QUEST_57_SET_RESCUE_TIMELOSS(30)
    ENDIF

    ;西ルートの場合のみ有効
ELSE
    PRINTFORML %QST_LEADER_NAME(1)%は森の北西部に到着した。
    PRINTFORMW 辿ってきた足跡はそのまま北東に伸び、巣穴の方角へと続いている……
ENDIF

;イベント消去
CALL QST_DEACTIVATE_THIS_EVENT()
;フラグ更新(ラスボス戦)
CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_チーフとの決戦)
;ログ表示
CALL QST_QUEST_57_EVENT_0

;-------------------------------------------------
;EV61
;森-北西部 打ち捨てられた物資
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_61
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "打ち捨てられた物資"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= @"[EVENT_ICON:HEALTH][EVENT_COLOR:{カラー_緑}]"

@QST_QUEST_57_EVENT_61
#DIM EVENT_FLAG
#DIM TARGET_ID
#DIM TIME_SPENDED = 30

;救済措置。残り時間が少ない場合でも回復できるように。6人未満のパーティ限定
SIF (QUEST_57_タイムリミット - HO_TIME <= 30) && (QST_PARTYNUM < 6)
    TIME_SPENDED = MAX((QUEST_57_タイムリミット - HO_TIME) - 5, 5)

PRINTFORMW %QST_LEADER_NAME()%は打ち捨てられた物資の中から、いくつかの医薬品を見つけた。
PRINTFORMW 一度きりだが、全員の傷をある程度治療できそうだ。
CALL ASK_YN(@"治療する（時間を{TIME_SPENDED}分消費）", "やめておく")
IF !RESULT
    PRINTFORMW %QST_LEADER_NAME(QST_PARTYNUM)%は簡潔に手当を済ませ、決戦に向けて準備を整えた……
    ;パーティ全員の体力を回復
    FOR LOCAL, 0, QST_PARTYNUM
        TARGET_ID = TOINT(LIST_GET(_LIST_QST_PARTY, LOCAL))
        CALL QST_CHANGE_HP(TARGET_ID, 2000)
    NEXT
    WAIT
    ;イベント消去
    CALL QST_DEACTIVATE_THIS_EVENT()
    ;タイムロスを加算
    CALL QST_QUEST_57_SET_RESCUE_TIMELOSS(TIME_SPENDED)
    ;ログ表示
    CALL QST_QUEST_57_EVENT_0
ELSE
ENDIF

;-------------------------------------------------
;EV70
;ゴブリンの巣穴
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_70
#DIMS EVENT_TRIGGER = "ENTER_ROOM"
RESULTS:0 = %EVENT_TRIGGER%

@QST_QUEST_57_EVENT_70
#DIM CONST EVENT_ID = 70
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

CALL FL_STOPBGM()
CALL PRINT_TITLE(@"囚われの狩人", "イベント")
PRINTFORMW ゴブリンの巣穴に到着した%QST_LEADER_NAME()%は、最深部へ向かい進行していく……

;到達時点での時刻で分岐
;間に合った
IF HO_TIME < QUEST_57_タイムリミット
    PRINTFORMW ……
    PRINTFORMW …
    PRINTFORMW 巣穴に仕掛けられた数々の罠をくぐり抜け、%QST_LEADER_NAME()%は巣穴の最深部に到達した。
    PRINTFORMW そこで目にしたものは……
    PRINTL
    CALL FL_PLAYBGM("Ambient_dark_2.mp3")
    CALL DRAW_PORTRAIT(CHARA_ID, "[目:細目][眉:しわよせ][口:叫び][サイズ:180px][POS_X:0]",,1)
    CALL COLOR_PRINTW(@"「……%QST_LEADER_NAME(1)%さん！」", CFLAG:CHARA_ID:口上カラーコード)
    PRINTFORMW ゴブリン達に組み伏せられ、今にも襲われそうな%CALLNAME:CHARA_ID%の姿だった……
    PRINTL
    PRINTFORML %QST_LEADER_NAME()%の存在に気づいたゴブリンチーフは、号令をかけると配下のゴブリンを呼び集める。
    PRINTFORMW 寸前のところで楽しみを取り上げられたゴブリン達は、明らかな敵意をもってこちらを睨みつけていた……
    PRINTL
    PRINTFORMW %QST_LEADER_NAME()%は武器を構え、ゴブリンチーフが率いる群れへ攻撃を仕掛けた！

    CALL QST_QUEST_57_BOSS_BATTLE

    ;CLOSE_COMBATの戻り値は攻撃側勝利 = 1,防衛側勝利 = 2
    IF RESULT == 1
        CALL FL_PLAYBGM("Battle_0.ogg")
        PRINTFORMW %QST_LEADER_NAME()%は配下のゴブリン達を倒し、ゴブリンチーフを追い詰める。
        PRINTFORML 窮地に追い込まれたゴブリンチーフは、懐から短刀を取り出すと、傍らの%CALLNAME:CHARA_ID%へ駆け寄った。
        PRINTFORMW %CALLNAME:CHARA_ID%を人質に取り、状況を打開しようと考えたのだろう。しかし……
        PRINTL
        CALL FL_PLAYSE("HeavySlash_0.mp3")
        PRINTFORMW 背を向けた事で生じた一瞬の隙を見逃さなかった%ANAME(QST_RANDCHARA())%により、止めの一撃を下された。
        PRINTFORMW ゴブリンチーフはぐらりと倒れると地面に突っ伏し、そのまま動かなくなった。
        PRINTL
        PRINTFORMW %QST_LEADER_NAME()%はゴブリンの残兵達を打ち払いながら、%CALLNAME:CHARA_ID%を抱え巣穴を抜け出した……
        PRINTFORMW ……
        CALL FL_STOPBGM()
        PRINTFORMW …
        PRINTL
        CALL PRINT_TITLE("エピローグ - 取り戻した日常", "イベント")
        CALL FL_PLAYBGM("Ruin_0.ogg")
        PRINTFORMW ――リスノイ-官庁街　役場
        PRINTFORML ゴブリンチーフを討伐した%QST_LEADER_NAME()%は、役場にて一連の出来事を報告した。
        PRINTFORMW 指揮官から感謝の言葉と報酬を受け取り、役場を出ようとしたところ、一人の少女が声をかけてきた。
        CALL DRAW_PORTRAIT(CHARA_ID, "[感情:通常][口:笑い][サイズ:180px][POS_X:0]",,1)

        CALL COLOR_PRINTW(@"「%QST_LEADER_NAME(1)%さん。お疲れ様でした」", CFLAG:CHARA_ID:口上カラーコード)
        CALL COLOR_PRINTW(@"「ええと…お礼がまだ言えてなかったので、ここを発たれる前に伝えておこうと思いまして……」", CFLAG:CHARA_ID:口上カラーコード)
        CALL COLOR_PRINTW(@"「私を、そしてこの街を助けていただいて、本当にありがとうございました」", CFLAG:CHARA_ID:口上カラーコード)
        PRINTL
        PRINTFORML 感謝の言葉を述べ、一礼する%CALLNAME:CHARA_ID%。
        PRINTFORMW よく見るとその身体には所々ガーゼや包帯が巻かれており、ゴブリン達による仕打ちの凄惨さが色濃く残っていた……
        CALL COLOR_PRINTL(@"「身体の具合、ですか？　しばらく療養は必要ですが、猟師としての復帰には差し障りないとの事です」", CFLAG:CHARA_ID:口上カラーコード)
        CALL COLOR_PRINTW(@"「それに%QST_LEADER_NAME(1)%さんが早急に助けてくれたお陰で、最悪の事態は避ける事ができましたし」", CFLAG:CHARA_ID:口上カラーコード)
        PRINTFORMW %CALLNAME:CHARA_ID%は穏やかな笑顔を見せ、そう告げた。
        PRINTL
        CALL COLOR_PRINTW("「では、街の外までお見送りしましょう。案内は私がします」", CFLAG:CHARA_ID:口上カラーコード)
        PRINTFORMW ……
        PRINTFORMW …
        PRINTFORMW %QST_LEADER_NAME(1)%と%CALLNAME:CHARA_ID%は街の南門に到着した。
        CALL COLOR_PRINTW(@"「では、ここでお別れですね。機会があればまたいらして下さい。歓迎しますよ」", CFLAG:CHARA_ID:口上カラーコード)
        PRINTFORMW %QST_LEADER_NAME()%は%CALLNAME:CHARA_ID%に見送られ、リスノイを後にした……
        PRINTL

        ;クリア報酬
        CALL FL_PLAYSE("Fanfare_0.ogg")
        CALL COLOR_PRINTW(@"――　ギルドから成功報酬として10,000ディナリが支払われた", カラー_注意)
        MONEY += 10000
        CALL COLOR_PRINTW(@"――　名誉点を40点得た！", カラー_注意)
        QST_PRESTIGE_POINT += 40

        CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_クエストクリア)
        CALL QST_QUEST_57_FINISHED()
    ELSE
        CALL FL_PLAYSE("HeavySlash_0.mp3")
        PRINTFORMW 統率のとれたゴブリン達は想像以上に手強く、%QST_LEADER_NAME()%は劣勢を強いられていた。
        PRINTFORMW 討伐を諦めてでも、%CALLNAME:CHARA_ID%を救出してこの場を離れるべきか。そう考えていると
        CALL FL_STOPBGM()
        CALL FL_PLAYSE("Hit_0.mp3")
        PRINTL
        PRINTFORMW %QST_LEADER_NAME(1)%の後頭部に鈍い衝撃が走った。
        PRINTFORMW ぼやける意識の中、後ろからゴブリン達の笑い声が聞こえる……
        PRINTL
        CALL DRAW_PORTRAIT(CHARA_ID, "[目:細目][眉:しわよせ][口:叫び][サイズ:180px][POS_X:0]",,1)
        CALL COLOR_PRINTW(@"「…………さん！…………さん！」", CFLAG:CHARA_ID:口上カラーコード)
        PRINTFORMW 遠くで呼びかける%CALLNAME:CHARA_ID%に応える事もできず、%QST_LEADER_NAME(1)%は意識を手放してしまった……
        PRINTFORMW ………
        PRINTFORMW …
        CLEARLINE LINECOUNT
        WAIT
        CALL FL_PLAYBGM("Liquid_fast_0.mp3")
        PRINTFORMW ……
        PRINTFORMW …
        CALL FL_PLAYSE("Hit_0.mp3")
        PRINTFORMW 昏倒している%QST_LEADER_NAME(1)%を、何者かが乱暴に叩き起す。
        PRINTL
        PRINTFORML 頭部の鈍痛と、鼻を突く生臭い異臭、そして何者かの悲鳴が、意識を現実へ引き戻していく……
        PRINTFORMW 霞んだ嗜好が明瞭になっていく中、%QST_LEADER_NAME(1)%は悲鳴のする方へ目を遣った。そこには
        PRINTL
        ;全脱衣
        CALL HO_UNDRESS(CHARA_ID)
        CALL DRAW_PORTRAIT(CHARA_ID, "[目:細目][眉:しわよせ][口:叫び][サイズ:180px][POS_X:0]",,1)
        CALL COLOR_PRINTW(@"「いっ、嫌あぁ！やめてっ！もうやめてくださ……あああぁぁっ！！」", CFLAG:CHARA_ID:口上カラーコード)
        CALL FL_PLAYSE("Ejac_4.mp3")
        PRINTFORMW ゴブリンチーフ達に組み伏せられ、凌辱されている%CALLNAME:CHARA_ID%の姿があった。
        PRINTL
        PRINTFORML 取り巻きのゴブリン達は、下品な笑い声をあげながら思い思いの方法で犯している。
        PRINTFORMW ある者は乱暴に乳房を弄び、またある者は%CALLNAME:CHARA_ID%の口に肉竿を突き込み、激しく腰を振っていた。
        PRINTFORML そしてゴブリンチーフは、剛直を膣奥へ容赦なく打ち付け、その度に%CALLNAME:CHARA_ID%の小さな身体が激しく跳ねる。
        PRINTFORMW 結合部は血と精液で塗れており、彼女の貞操が無残にも散らされた事を示していた。
        PRINTL
        PRINTFORMW 眼前の凄惨な光景に呆然とした%QST_LEADER_NAME()%を、ゴブリンが後ろから羽交い締めにし、凌辱の場へと引き摺り込んだ……

        CALL FL_STOPBGM()
        CALL QST_QUEST_57_EVENT_RESCUEFAILED_PARAMSET(CHARA_ID)
        CALL QST_QUEST_57_EVENT_RESCUE_FAILED_MULTI
    ENDIF

    ;時間切れ
ELSE
    PRINTFORMW ゴブリンチーフの策略に嵌りながらも%QST_LEADER_NAME()%は数々の罠をくぐり抜け、巣穴の最深部に到達した。そこには
    PRINTFORMW ……
    PRINTFORMW …
    CALL QST_QUEST_57_EVENT_RESCUE_FAILED(79)
ENDIF

;-------------------------------------------------
;EV79
;時間切れルート
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_79

@QST_QUEST_57_EVENT_79
#DIM DYNAMIC EVENT_FLAG
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

CALL QST_QUEST_57_EVENT_RESCUEFAILED_PARAMSET(CHARA_ID)

;救出失敗フラグを立てる
SETBIT K28_フラグ管理, K28_フラグ_救出失敗

CALL PRINT_TITLE("穢された狩人", "イベント")
PRINTFORML 巣穴の最深部に到達した%QST_LEADER_NAME()%が目にしたものは
PRINTFORMW 全身を尿と精液で穢され、ゴブリン達に犯される%CALLNAME:CHARA_ID%の姿だった。
PRINTL
PRINTFORML %CALLNAME:CHARA_ID%を組み伏せているゴブリンチーフは、乱暴に抽送を繰り返し
PRINTFORMW 取り巻きのゴブリン達は、%CALLNAME:CHARA_ID%の空いた手で手淫や口淫を強要したり、思い思いに凌辱を堪能している。
PRINTFORML 地面にできた尿の水溜りに打ち捨てられた%CALLNAME:CHARA_ID%の猟銃は、銃口が様々な粘液で穢されており
PRINTFORMW 彼女の尊厳と肉体を辱める道具へと貶められていた。

PRINTL
CALL FL_PLAYSE("Ejac_0.mp3")
PRINTFORML %QST_LEADER_NAME()%の来襲にようやく気づいたゴブリンチーフは、ニヤリと嗤うと%CALLNAME:CHARA_ID%からペニスを引き抜き、臨戦態勢をとる。
PRINTFORMW ……一刻も早く%CALLNAME:CHARA_ID%を助けねば。
PRINTL
PRINTFORMW %QST_LEADER_NAME()%は武器を構え、ゴブリンチーフへ攻撃を仕掛けた！

CALL QST_QUEST_57_BOSS_BATTLE

;CLOSE_COMBATの戻り値は攻撃側勝利 = 1,防衛側勝利 = 2
IF RESULT == 1
    CALL FL_PLAYBGM("Battle_0.ogg")
    PRINTFORMW %QST_LEADER_NAME()%は取り巻きのゴブリン達を倒し、ゴブリンチーフを追い詰める。
    PRINTFORML 窮地に追い込まれたゴブリンチーフは、懐から短刀を取り出すと、傍らの%CALLNAME:CHARA_ID%へ駆け寄った。
    PRINTFORMW %CALLNAME:CHARA_ID%を人質に取り、状況を打開しようと考えたのだろう。しかし……
    PRINTL
    CALL FL_PLAYSE("HeavySlash_0.mp3")
    PRINTFORMW 背を向けた事で生じた一瞬の隙を見逃さなかった%ANAME(QST_RANDCHARA())%により、止めの一撃を下された。
    PRINTFORMW ゴブリンチーフはぐらりと倒れると地面に突っ伏し、そのまま動かなくなった。
    PRINTL
    PRINTFORMW %QST_LEADER_NAME()%はゴブリンの残兵達を打ち払いながら%CALLNAME:CHARA_ID%を抱え、巣穴を抜け出した……
    PRINTFORMW ……
    CALL FL_STOPBGM()
    PRINTFORMW …
    PRINTL
    CALL PRINT_TITLE("エピローグ - 守れたものと守れなかったもの", "イベント")
    CALL FL_PLAYBGM("Ruin_0.ogg")
    PRINTFORMW ――リスノイ-官庁街　役場
    PRINTFORML ゴブリンチーフを討伐した%QST_LEADER_NAME()%は、役場にて一連の出来事を報告した。
    PRINTFORMW 指揮官から感謝の言葉と報酬を受け取り、役場を出ようとしたところ、一人の少女が声をかけてきた。
    CALL HO_REDRESS(CHARA_ID)
    CALL DRAW_PORTRAIT(CHARA_ID, "[感情:通常][口:笑い][サイズ:180px][POS_X:0]",,1)

    CALL COLOR_PRINTW(@"「%QST_LEADER_NAME(1)%さん。お疲れ様でした」", CFLAG:CHARA_ID:口上カラーコード)
    CALL COLOR_PRINTW(@"「ええと…お礼がまだ言えてなかったので、ここを発たれる前に伝えておこうと思いまして……」", CFLAG:CHARA_ID:口上カラーコード)
    CALL COLOR_PRINTW(@"「この街を、そして私を助けていただいて…本当にありがとうございました」", CFLAG:CHARA_ID:口上カラーコード)
    PRINTFORML 感謝の言葉を述べ、一礼する%CALLNAME:CHARA_ID%。
    PRINTFORMW 足取りはおぼつかなく、身体にはガーゼや包帯が巻かれており、ゴブリン達による仕打ちの凄惨さが色濃く残っていた……
    CALL COLOR_PRINTW(@"「身体の具合、ですか？完治までには相当時間がかかると医者に言われました。当分の間はリハビリに専念する事になりますね」", CFLAG:CHARA_ID:口上カラーコード)
    CALL COLOR_PRINTW(@"「あとは……猟銃と貞操は失ってしまいましたが、%QST_LEADER_NAME(1)%さんがゴブリン達をぶちのめしてくれたので……ええ、大丈夫です」", CFLAG:CHARA_ID:口上カラーコード)
    PRINTFORMW %CALLNAME:CHARA_ID%は儚げな笑顔で、そう告げた。
    PRINTL
    CALL COLOR_PRINTW("「では、街の外までお見送りしましょう。案内は私がします」", CFLAG:CHARA_ID:口上カラーコード)
    PRINTFORMW ……
    PRINTFORMW …
    PRINTFORMW %QST_LEADER_NAME(1)%と%CALLNAME:CHARA_ID%は街の南門に到着した。
    CALL COLOR_PRINTW(@"「では、ここでお別れですね。機会があればまたいらして下さい。歓迎しますよ」", CFLAG:CHARA_ID:口上カラーコード)
    PRINTFORMW %QST_LEADER_NAME()%は%CALLNAME:CHARA_ID%に見送られ、リスノイを後にした……
    PRINTL

    ;クリア報酬
    CALL FL_PLAYSE("Fanfare_0.ogg")
    CALL COLOR_PRINTW(@"――　ギルドから成功報酬として10,000ディナリが支払われた", カラー_注意)
    MONEY += 10000
    CALL COLOR_PRINTW(@"――　名誉点を40点得た！", カラー_注意)
    QST_PRESTIGE_POINT += 40

    CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_クエストクリア)
    CALL QST_QUEST_57_FINISHED()
ELSE
    CALL FL_PLAYSE("HeavySlash_0.mp3")
    PRINTFORMW 統率のとれたゴブリン達は想像以上に手強く、%QST_LEADER_NAME()%は打ち伏せられてしまった……
    PRINTFORMW ゴブリン達は万策尽きた%QST_LEADER_NAME()%に群がると、絶望に暮れる%CALLNAME:CHARA_ID%共々弄びはじめた……
    CALL QST_QUEST_57_EVENT_RESCUE_FAILED_MULTI
ENDIF

;-------------------------------------------------
;EV80 会話系イベント
;-------------------------------------------------
;ゲスト会話
@QST_ADD_EVENT_QUEST_57_EVENT_80
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "猟師の小屋"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
RESULTS:3 '= "[EVENT_ICON:TALK]"

@QST_QUEST_57_EVENT_80
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

IF QST_GETINT_FLAGMAP("クエスト進行度") == QUEST_57_EV_森の下見_前半
    PRINTFORMW 質素な小屋が、森の中にぽつんと佇んでいる……
    CALL DRAW_PORTRAIT(CHARA_ID, "[感情:通常][サイズ:180px][POS_X:0]",,1)
    CALL COLOR_PRINTL(@"「おや？ここは私の自宅ですね」", CFLAG:CHARA_ID:口上カラーコード)
    CALL COLOR_PRINTW(@"「家には特に用事もないので目的地に向かいましょう。行き先は街の北部にある森ですよ」", CFLAG:CHARA_ID:口上カラーコード)
    PRINTFORMW %QST_LEADER_NAME()%は、%CALLNAME:CHARA_ID%に促されるままその場から立ち去った。
ELSE
    PRINTFORMW 質素な小屋が、森の中にぽつんと佇んでいる……
    PRINTFORMW ここに用事はないと判断した%QST_LEADER_NAME()%は、その場から立ち去った。
ENDIF

;-------------------------------------------------
;EV99
;敗北イベント後のエンディング
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_99
#DIMS EVENT_TRIGGER = "TRAIN_EXIT"
RESULTS = %EVENT_TRIGGER%

@QST_QUEST_57_EVENT_99
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

CALL QST_QUEST_57_EVENT_RESCUEFAILED_PARAMSET(CHARA_ID)

;女性のパーティメンバーに諸々の性経験追加
CVARSET CFLAG, GETNUM(CFLAG, "調教参加フラグ") , 0
FOR LOCAL, 0, LIST_COUNT(_LIST_QST_PARTY)
    SIF IS_MALE(TOINT(LIST_GET(_LIST_QST_PARTY, LOCAL)), 0)
        CONTINUE
    CALL QST_QUEST_57_EVENT_RESCUEFAILED_PARAMSET(LOCAL)
NEXT
PRINTL
PRINTFORMW その後、%QST_LEADER_NAME()%は、何時間にも渡りゴブリン達に凌辱された……
PRINTL
CALL PRINT_TITLE("スケープゴート", "イベント")
WAIT
CALL DRAW_PORTRAIT(CHARA_ID, @"[目:細][眉:しわよせ][口:叫び][サイズ:180px][POS_X:0]",, 1)
CALL COLOR_PRINTW(@"「ごめんなさい……私のせいで貴方%\@ QST_PARTYNUM > 1 ? 達 # \@%まで……」", CFLAG:CHARA_ID:口上カラーコード)
PRINTFORMW 力なく横たわる%QST_LEADER_NAME()%に、度重なる凌辱で憔悴した%CALLNAME:CHARA_ID%が謝罪の言葉を呟く。
CALL COLOR_PRINTW(@"「私が……ゴブリン達の注意を……ひ、惹きつけます……」", CFLAG:CHARA_ID:口上カラーコード)
CALL COLOR_PRINTW(@"「その隙にどうか……に、逃げ出して下さい……」", CFLAG:CHARA_ID:口上カラーコード)
PRINTFORMW %CALLNAME:CHARA_ID%は震える手をぐっと握りしめると、周囲のゴブリン達に向かってふらつく足取りで駆け寄る。
PRINTFORMW ……
PRINTFORMW …
CALL FL_PLAYSE("Piston_fast_1.mp3",,,3)
PRINTFORMW 目論見通り、陽動に誘われたゴブリン達は彼女を取り囲み、様々なやり方で辱め始めた……
PRINTFORML %CALLNAME:CHARA_ID%の悲鳴が巣穴中に響き、それを聞きつけたゴブリン達がどんどん集まっていく……
PRINTFORMW この機会を無駄にするわけにはいかない。%QST_LEADER_NAME()%は静かに出口へ向かい始めた。
CALL FL_PLAYSE("Ejac_4.mp3",,,2)
PRINTFORMW ……
PRINTFORMW …
PRINTFORMW その後、逃げ出す事に成功した%QST_LEADER_NAME()%は、己の無力さを噛み締めながら、何とか帰還に成功した……

;ゲストキャラが妊娠すると里子へ出すイベントが発生するので、ここで発生条件を未達にする
VARSET WOMB_SPERM_ID:CHARA_ID:0, 0
CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_救出作戦)
CALL QST_QUEST_57_FINISHED()

;-------------------------------------------------
;EV100
;デバッグ時コマンド
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_100
[IF_DEBUG]
#DIMS EVENT_TRIGGER = "EVENT_SLOT"
#DIMS EVENT_SLOT_NAME = "デバッグ用コマンド"
RESULTS:0 = %EVENT_TRIGGER%
RESULTS:1 = %EVENT_SLOT_NAME%
[ENDIF]

@QST_QUEST_57_EVENT_100
#DIM DYNAMIC CHARA_ID
#DIM DYNAMIC CLEAR_LINE_NUM

CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

CLEAR_LINE_NUM = LINECOUNT

PRINTFORML デバッグ用。
CALL ASK_MULTI_JUDGE("任意イベント実行", 1, @"ラスボス戦", 1, @"陵辱イベント", 1, "クエスト強制クリア", 1, "キャンセル", 1)
SELECTCASE RESULT
    CASE 0
        PRINTFORML 実行したいイベントIDを入力
        INPUT
        QST_NOWEV = RESULT
        TRYCALLFORM QST_QUEST_57_EVENT_{QST_NOWEV}
        QST_NOWEV = 100
    CASE 1
        CALL ASK_MULTI_JUDGE("救出成功", 1, "時間切れ", 1, "陥落後", 1, "キャンセル", 1)
        SELECTCASE RESULT
            CASE 0
                HO_TIME = QUEST_57_タイムリミット - 60 ;21:00
                CALL QST_QUEST_57_EVENT_70
            CASE 1
                HO_TIME = QUEST_57_タイムリミット ;22:00
                CALL QST_QUEST_57_EVENT_70
            CASE 2
                QST_有効クエストID = 58
                CALL QST_INIT_QUEST_58
                CALL QST_QUEST_58_EVENT_1
            CASEELSE
                CLEARLINE LINECOUNT - CLEAR_LINE_NUM
                RESTART
        ENDSELECT

    CASE 2
        CALL ASK_MULTI_JUDGE(@"救出失敗イベント(%CALLNAME:CHARA_ID%陵辱)", 1, @"救出失敗イベント(%CALLNAME:CHARA_ID%＆プレイヤー陵辱)", 1, @"%CALLNAME:CHARA_ID%陥落イベント", 1, "キャンセル", 1)
        SELECTCASE RESULT
            CASE 0
                CALL QST_QUEST_57_EVENT_RESCUE_FAILED(-1)
            CASE 1
                CALL QST_QUEST_57_EVENT_RESCUE_FAILED_MULTI(CHARA_ID)
            CASE 2
                QST_有効クエストID = 58
                CALL QST_QUEST_58_EVENT_GUEST_FALLEN(-1)
            CASEELSE
                CLEARLINE LINECOUNT - CLEAR_LINE_NUM
                RESTART
        ENDSELECT

    CASE 3
        CALL ASK_MULTI_JUDGE("救出成功ルート", 1, "救出成功(お手つき)ルート", 1, "救出失敗ルート", 1, "キャンセル", 1)
        SELECTCASE RESULT
            CASE 0
                CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_クエストクリア)
                CALL QST_QUEST_57_FINISHED()
            CASE 1
                CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_クエストクリア)
                CALL QST_QUEST_57_FINISHED()
            CASE 2
                CALL QST_SETINT_FLAGMAP("クエスト進行度", QUEST_57_EV_救出作戦)
                CALL QST_QUEST_57_FINISHED()
            CASEELSE
                CLEARLINE LINECOUNT - CLEAR_LINE_NUM
                RESTART
        ENDSELECT

    CASEELSE
ENDSELECT
QST_有効クエストID = 57

;---------------------------------------------------------------------------------------------------------------------------------------
;                                                   共通処理
;---------------------------------------------------------------------------------------------------------------------------------------
;**************************************************************************************************
;表示に関する処理
;**************************************************************************************************
;-------------------------------------------------
;クエストTips
;-------------------------------------------------
@QST_QUEST_57_EVENT_0_TIPS
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

SELECTCASE QST_GETINT_FLAGMAP("クエスト進行度")
    CASE QUEST_57_EV_役場へ向かう
        CALL HO_PRINT_LOG(@"@C:{カラー_注意}@Tips:まずは役場へ向かい、依頼内容を聞こう。@/C@", 1)

    CASE QUEST_57_EV_森の下見_前半
        CALL HO_PRINT_LOG(@"@C:{カラー_注意}@Tips:%CALLNAME:CHARA_ID%と共に森の偵察へ行こう。@/C@", 1)

    CASE QUEST_57_EV_森の下見_後半
        CALL HO_PRINT_LOG(@"@C:{カラー_注意}@Tips:森周辺の探索を行おう。@/C@", 1)

    CASE QUEST_57_EV_出撃前の準備
        CALL HO_PRINT_LOG(@"@C:{カラー_注意}@Tips:討伐準備を終えたら大通りの宿屋で休憩しよう。@/C@", 1)

    CASE QUEST_57_EV_戦闘_森の入口
        IF QST_GET_FLAGMAP("足跡発見") == "成功"
            CALL HO_PRINT_LOG(@"@C:{カラー_注意}@Tips:大通りにある北門へ向かおう。@/C@", 1)
        ELSE
            CALL HO_PRINT_LOG(@"@C:{カラー_注意}@Tips:大通りにある北門へ急ごう。@/C@", 1)
        ENDIF

    CASE QUEST_57_EV_戦闘_森中の空地
        CALL HO_PRINT_LOG(@"@C:{カラー_注意}@Tips:北にある森中の空地へ向かい、ゴブリン達の注意を引こう。@/C@", 1)

    CASE QUEST_57_EV_仕切り直し
        CALL QST_GET_SV_EVENT_FLAG(41)
        IF RESULT == 0
            CALL HO_PRINT_LOG(@"@C:{カラー_注意}@Tips:まずは自警団の形成を立て直そう。@/C@", 1)
        ELSE
            CALL HO_PRINT_LOG(@"@C:{カラー_注意}@Tips:%CALLNAME:CHARA_ID%の救出計画を立てよう。@/C@", 1)
        ENDIF

    CASE QUEST_57_EV_反撃開始_前半
        IF QST_GET_FLAGMAP("ルート選択") == "西"
            CALL HO_PRINT_LOG(@"@C:{カラー_注意}@Tips:西に逃げたゴブリンチーフを追いかけ、%CALLNAME:CHARA_ID%を救出しよう。@/C@", 1)
        ELSE
            CALL HO_PRINT_LOG(@"@C:{カラー_注意}@Tips:北西の獣道を抜け、ゴブリン達を待ち伏せしよう。@/C@", 1)
        ENDIF

    CASE QUEST_57_EV_反撃開始_後半, QUEST_57_EV_チーフとの決戦
        CALL HO_PRINT_LOG(@"@C:{カラー_注意}@Tips:ゴブリンチーフの後を追おう。@/C@", 1)

    CASE QUEST_57_EV_救出作戦
        CALL HO_PRINT_LOG(@"@C:{カラー_注意}@Tips:役場へ向かい、作戦に参加しよう。@/C@", 1)
ENDSELECT

;-------------------------------------------------
;ログ表示
;-------------------------------------------------
@QST_QUEST_57_EVENT_0_LOG
#DIM DYNAMIC CHARA_ID
#DIM DYNAMIC DEBUG_RESULT,3
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

SELECTCASE HO_MASTER現在地
    CASE QUEST_57_リスノイ_大通り
        CALL HO_PRINT_LOG("街はどこか活気が無く、市場の陳列棚には空きがいくつも見られる", 1)

    CASE QUEST_57_リスノイ_官庁街
        CALL HO_PRINT_LOG("街はどこか活気が無く、役場の前は閑散としている", 1)

    CASE QUEST_57_リスノイ_市場
        CALL HO_PRINT_LOG("街はどこか活気が無く、市場の陳列棚には空きがいくつも見られる", 1)

    CASE QUEST_57_猟師の小屋
        CALL HO_PRINT_LOG("雪で覆われた針葉樹林の中に、質素な小屋が建てられている", 1)

    CASE QUEST_57_森の入口
        CALL HO_PRINT_LOG("切り開かれた森の奥に、ゴブリンの拠点らしきものが見える", 1)
    CASE QUEST_57_森中の空地
        SELECTCASE QST_GETINT_FLAGMAP("クエスト進行度")
            CASE QUEST_57_EV_仕切り直し, QUEST_57_EV_反撃開始_前半, QUEST_57_EV_反撃開始_後半
                CALL QST_GET_SV_EVENT_FLAG(41)
                IF RESULT == 0
                    CALL HO_PRINT_LOG("動揺する自警団にゴブリン達が襲いかかっている。戦線が崩壊するのも時間の問題だ", 1)
                ELSE
                    CALL HO_PRINT_LOG("前線で自警団とゴブリンが戦っている", 1)
                ENDIF
            CASEELSE
                CALL HO_PRINT_LOG("空地には伐採された木材と、収奪物の残骸が乱雑に放置されている", 1)
        ENDSELECT

    CASE QUEST_57_森_西部
        SELECTCASE QST_GETINT_FLAGMAP("クエスト進行度")
            CASE QUEST_57_EV_反撃開始_前半
                CALL HO_PRINT_LOG("鬱蒼とした林道が続いている……", 1)
            CASE QUEST_57_EV_反撃開始_後半, QUEST_57_EV_チーフとの決戦
                CALL HO_PRINT_LOG("北東に向かう足跡が、森を迂回するように続いている……", 1)
            CASEELSE
                CALL HO_PRINT_LOG("白銀の大地と、鈍色の海原が見える……", 1)
        ENDSELECT

    CASE QUEST_57_森_北西部
        SELECTCASE QST_GETINT_FLAGMAP("クエスト進行度")
            CASE QUEST_57_EV_反撃開始_前半, QUEST_57_EV_反撃開始_後半, QUEST_57_EV_チーフとの決戦
                CALL HO_PRINT_LOG("東に向かう足跡が、森の外周沿いに伸びている……", 1)
            CASEELSE
                CALL HO_PRINT_LOG("白銀の大地と、鈍色の海原が見える……", 1)
        ENDSELECT

    CASE QUEST_57_ゴブリンの巣穴
        CALL HO_PRINT_LOG("饐えた臭いと獣臭さが洞窟内に充満している", 1)
    CASEELSE
        CALL HO_CREAR_LOG()
ENDSELECT
[IF_DEBUG]
DEBUG_RESULT:0 = QST_QUEST_57_GET_RESCUE_TIMELOSS()
DEBUG_RESULT:1 = QST_GETINT_FLAGMAP("クエスト進行度")
CALL HO_PRINT_LOG(@"@C:{カラー_選択不可}@【DEBUG】救出タイムロス：{DEBUG_RESULT:0}分　　　イベント進行度：{DEBUG_RESULT:1}　　　戦闘難易度：{QST_QUEST_57_GET_BATTLE_DIFFICULTY()}@/C@", 1)
[ENDIF]

;-------------------------------------------------
;マップ移動可能かどうかを判定
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_ENTERABLE_CHECK()
#DIM DYNAMIC EVENT_FLAG
#DIM DYNAMIC CHECK_RESULT = 0
#DIM DYNAMIC CHARA_ID
CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

;クエスト進行度取得
EVENT_FLAG = QST_GETINT_FLAGMAP("クエスト進行度")

SELECTCASE HO_MASTER現在地
    CASE QUEST_57_リスノイ_大通り
        SELECTCASE EVENT_FLAG
            CASE QUEST_57_EV_戦闘_森中の空地
                PRINTFORMW 街に戻る余裕はない！
                CALL HO_MOVE_MASTER(QUEST_57_森の入口)
                CHECK_RESULT = 1

            CASE QUEST_57_EV_仕切り直し, QUEST_57_EV_反撃開始_前半, QUEST_57_EV_チーフとの決戦
                PRINTFORMW 今撤退を選べば、%CALLNAME:CHARA_ID%は無事では済まされないだろう……
                CALL HO_MOVE_MASTER(QUEST_57_森中の空地)
                CHECK_RESULT = 1
        ENDSELECT

    CASE QUEST_57_リスノイ_官庁街, QUEST_57_リスノイ_市場, QUEST_57_猟師の小屋
        SELECTCASE EVENT_FLAG
            CASE QUEST_57_EV_戦闘_森の入口
                PRINTFORMW ……今は北門へ向かおう
                CALL HO_MOVE_MASTER(QUEST_57_リスノイ_大通り)
                CHECK_RESULT = 1

            CASE QUEST_57_EV_戦闘_森中の空地
                PRINTFORMW 街に戻る余裕はない！
                CALL HO_MOVE_MASTER(QUEST_57_森の入口)
                CHECK_RESULT = 1

            CASE QUEST_57_EV_仕切り直し, QUEST_57_EV_反撃開始_前半, QUEST_57_EV_チーフとの決戦
                PRINTFORMW 今撤退を選べば、%CALLNAME:CHARA_ID%は無事では済まされないだろう……
                CALL HO_MOVE_MASTER(QUEST_57_森中の空地)
                CHECK_RESULT = 1
        ENDSELECT

    CASE QUEST_57_森の入口
        SELECTCASE EVENT_FLAG
            CASE QUEST_57_EV_役場へ向かう, QUEST_57_EV_出撃前の準備, QUEST_57_EV_救出作戦
                PRINTFORMW 森の入口でゴブリンがうろついている。
                PRINTFORMW ……今は近づかないほうが良さそうだ。
                CALL HO_MOVE_MASTER(QUEST_57_リスノイ_大通り)
                CHECK_RESULT = 1

            CASE QUEST_57_EV_戦闘_森の入口
                PRINTFORMW 一人で向かうのは危険だ。まずは北門で合流しよう
                CALL HO_MOVE_MASTER(QUEST_57_リスノイ_大通り)
                CHECK_RESULT = 1

            CASE QUEST_57_EV_仕切り直し, QUEST_57_EV_反撃開始_前半, QUEST_57_EV_反撃開始_後半, QUEST_57_EV_チーフとの決戦
                PRINTFORMW 今撤退を選べば、%CALLNAME:CHARA_ID%は無事では済まされないだろう……
                CALL HO_MOVE_MASTER(QUEST_57_森中の空地)
                CHECK_RESULT = 1
        ENDSELECT

    CASE QUEST_57_森中の空地
        SELECTCASE EVENT_FLAG
            CASE QUEST_57_EV_森の下見_前半, QUEST_57_EV_森の下見_後半
                PRINTFORMW 森の中で複数のゴブリンがうろついているのが見える。
                PRINTFORMW ……入るのはよそう。
                CALL HO_MOVE_MASTER(QUEST_57_森の入口)
                CHECK_RESULT = 1

            CASE QUEST_57_EV_反撃開始_後半, QUEST_57_EV_チーフとの決戦
                PRINTFORMW ……ゴブリンチーフの後を追おう。
                CALL HO_MOVE_MASTER(QUEST_57_森_西部)
                CHECK_RESULT = 1
        ENDSELECT

    CASE QUEST_57_森_西部
        SELECTCASE EVENT_FLAG
            CASE QUEST_57_EV_仕切り直し
                PRINTFORMW ……まずは状況を立て直そう。
                CALL HO_MOVE_MASTER(QUEST_57_森中の空地)
                CHECK_RESULT = 1

            CASE QUEST_57_EV_反撃開始_前半, QUEST_57_EV_反撃開始_後半
                IF QST_GET_FLAGMAP("ルート選択") == "北西"
                    PRINTFORMW こちらのルートに用はない。
                    CALL HO_MOVE_MASTER(QUEST_57_森中の空地)
                    CHECK_RESULT = 1
                ENDIF
        ENDSELECT

    CASE QUEST_57_森_北西部
        SELECTCASE EVENT_FLAG
            CASE QUEST_57_EV_仕切り直し
                PRINTFORMW ……まずは状況を立て直そう。
                CALL HO_MOVE_MASTER(QUEST_57_森中の空地)
                CHECK_RESULT = 1

            CASE QUEST_57_EV_反撃開始_前半
                IF QST_GET_FLAGMAP("ルート選択") == "西"
                    PRINTFORMW こちらのルートに用はない。
                    CALL HO_MOVE_MASTER(QUEST_57_森中の空地)
                    CHECK_RESULT = 1
                ENDIF
        ENDSELECT

    CASE QUEST_57_ゴブリンの巣穴
        SELECTCASE EVENT_FLAG
            CASE QUEST_57_EV_仕切り直し
                PRINTFORMW ……まずは状況を立て直そう。
                CALL HO_MOVE_MASTER(QUEST_57_森中の空地)
                CHECK_RESULT = 1

            CASE QUEST_57_EV_反撃開始_前半
                PRINTFORML 自警団がゴブリン達を引き付けてくれている。
                PRINTFORMW こちらはゴブリンチーフを追おう。
                CALL HO_MOVE_MASTER(QUEST_57_森中の空地)
                CHECK_RESULT = 1

            CASE QUEST_57_EV_クエストクリア
                PRINTFORML 洞窟の入口からは、ゴブリン達が今も生活している痕跡が確認できる。
                PRINTFORMW ……これ以上近づくのはやめておこう。
                CALL HO_MOVE_MASTER(QUEST_57_森中の空地)
                CHECK_RESULT = 1

        ENDSELECT
    CASEELSE
ENDSELECT
RETURN CHECK_RESULT

;-------------------------------------------------
;イベントフラグ事に時間を設定。イベント実行中は行動により時間を消費しない
;-------------------------------------------------
@QST_ADD_EVENT_QUEST_57_EVENT_TIME()

SELECTCASE QST_GETINT_FLAGMAP("クエスト進行度")
    CASE QUEST_57_EV_役場へ向かう
        HO_TIME = 540  ;09:00

    CASE QUEST_57_EV_森の下見_前半, QUEST_57_EV_森の下見_後半
        HO_TIME = 600  ;10:00
        ;イベントフラグチェック(イベント21、22完了につき、+30分)
        CALL QST_GET_SV_EVENT_FLAG(21)
        SIF RESULT != 0
            HO_TIME += 30
        CALL QST_GET_SV_EVENT_FLAG(22)
        SIF RESULT != 0
            HO_TIME += 30

    CASE QUEST_57_EV_出撃前の準備
        HO_TIME = 720 ;12:00

    CASE QUEST_57_EV_戦闘_森の入口
        HO_TIME = 1050 ;17:30

    CASE QUEST_57_EV_戦闘_森中の空地
        HO_TIME = 1080 ;18:00

    CASE QUEST_57_EV_仕切り直し
        HO_TIME = 1140 ;19:00

    CASE QUEST_57_EV_反撃開始_前半, QUEST_57_EV_反撃開始_後半
        HO_TIME = 1170 ;19:30

    CASE QUEST_57_EV_チーフとの決戦
        HO_TIME = 1185 ;19:45

    CASE QUEST_57_EV_救出作戦
        HO_TIME = 540  ;09:00

    CASEELSE
ENDSELECT
;タイムロス分の時間を加算
RESULT = 0
HO_TIME += QST_QUEST_57_GET_RESCUE_TIMELOSS()

;**************************************************************************************************
;フラグ管理に関する処理
;**************************************************************************************************
;-------------------------------------------------
;救出フェーズでの経過時間
;-------------------------------------------------
;取得
@QST_QUEST_57_GET_RESCUE_TIMELOSS()
#FUNCTION
RETURNF QST_GETINT_FLAGMAP("タイムロス")

;加算(引数値を現在値に加算)
@QST_QUEST_57_SET_RESCUE_TIMELOSS(TIMELOSS)
#DIM DYNAMIC TOTAL_TIMELOSS
#DIM DYNAMIC TIMELOSS
TOTAL_TIMELOSS = TIMELOSS + QST_GETINT_FLAGMAP("タイムロス")
CALL QST_SETINT_FLAGMAP("タイムロス", TOTAL_TIMELOSS)

;-------------------------------------------------
;クエスト終了時の処理
;-------------------------------------------------
@QST_QUEST_57_FINISHED()
SIF QST_GETINT_FLAGMAP("クエスト進行度") == QUEST_57_EV_クエストクリア
    QST_SV_QUEST_FLAG:QST_有効クエストID = QUEST_57_QSTFLG_クエストクリア
IF QST_GETINT_FLAGMAP("クエスト進行度") == QUEST_57_EV_救出作戦
    SETBIT K28_フラグ管理, K28_フラグ_救出失敗
    QST_SV_QUEST_FLAG:QST_有効クエストID = QUEST_57_QSTFLG_クエスト失敗
ENDIF
;ゲスト武器の削除
CALL DELETE_WEAPON(QST_GETINT_FLAGMAP("ゲスト武器DID"))
TFLAG:クエスト_完了フラグ = 1
CALL FL_STOPBGM()
CALL TRAIN_EXIT()

;**************************************************************************************************
;ゲストキャラに関する処理
;**************************************************************************************************
;-------------------------------------------------
;イベント用のゲスト参戦キャラのID取得関数
;イベント向けにパラメータを変更するのでモブ枠として生成する
;-------------------------------------------------
@QST_QUEST_57_GET_GUESTCHARA_ID(ORIGINAL_ID)
#DIM DYNAMIC ORIGINAL_ID
#DIM DYNAMIC CLONE_ID
#DIM DYNAMIC LOOPCNT

;既に複製されているかの確認
FOR LOOPCNT, 0, CHARANUM
    SIF NO:LOOPCNT == NO:ORIGINAL_ID && CFLAG:LOOPCNT:慰安モブ == 1
        BREAK
NEXT

;複製されている場合
IF LOOPCNT != CHARANUM
    CLONE_ID = LOOPCNT

    ;複製されていない場合
ELSE
    CALL ADD_CHARA_FROM_CSV(NO:ORIGINAL_ID)
    CLONE_ID = RESULT
    CALL HO_REDRESS(CLONE_ID)
    CFLAG:CLONE_ID:所属 = 所属_プレイヤー
    CFLAG:CLONE_ID:面識 = 1
    CFLAG:CLONE_ID:汎用口上パターン = ORIGINAL_ID
    ;慰安モブ扱いで生成し、自動削除されるようにする
    ;NOの設定
    NO:CLONE_ID = FLAG:汎用武将カウント + MIN_NO_RANDOM_CHARA
    FLAG:汎用武将カウント ++
    CFLAG:CLONE_ID:慰安モブ = 1
    CSTR:CLONE_ID:99 =
ENDIF
RETURN CLONE_ID

;**************************************************************************************************
;戦闘に関する処理
;**************************************************************************************************
;-------------------------------------------------
;戦闘難易度算出
;-------------------------------------------------
@QST_QUEST_57_GET_BATTLE_DIFFICULTY()
#FUNCTION
#DIM DYNAMIC DIFFICULTY
DIFFICULTY = MAX(2 - QST_GETINT_FLAGMAP("作戦バレ検知度"), 0)
SIF QST_GET_FLAGMAP("足跡発見") != "成功"
    DIFFICULTY += 2
;人数
SIF QST_PARTYNUM > 5
    DIFFICULTY += 2
RETURNF DIFFICULTY

;-------------------------------------------------
;道中敗北時の汎用処理
;-------------------------------------------------
@QST_QUEST_57_BUTTLE_CONTINUE()
CALL CC_APPLY_CHARA_HP()
CALL COLOR_PRINTW(@"%QST_LEADER_NAME()%はゴブリン達に打ち負かされてしまった……", カラー_注意)
;救助によるタイムロス：30分
CALL QST_QUEST_57_SET_RESCUE_TIMELOSS(30)

;-------------------------------------------------
;ゲストユニットのバトル前処理
;-------------------------------------------------
@QST_QUEST_57_PREBUTTLE_GUESTUNIT(CHARA_ID, SIDE = "ATTACKER")
#DIM DYNAMIC CHARA_ID
#DIMS DYNAMIC SIDE
#DIM DYNAMIC GUEST_ID
#DIM DYNAMIC WEAPON_LIST_IDX

;NPC参戦時はステータスを盛るためクローンを作成
CALL QST_QUEST_57_GET_GUESTCHARA_ID(CHARA_ID)
GUEST_ID = RESULT

;ゲスト補正
ABL:GUEST_ID:観察 = ABL:CHARA_ID:器用 * 2
ABL:GUEST_ID:観察 = ABL:CHARA_ID:観察 * 2
ABL:GUEST_ID:戦闘 = ABL:CHARA_ID:戦闘 * 3
ABL:GUEST_ID:身体 = ABL:CHARA_ID:身体 * 2

;仮加入用の武器登録
{
    CALL QST_GET_WEAPON(
        6
        ,"オレーシャの猟銃"
        ,WPN_材質_鋼
        ,0
        ,""
        ,"[WPN_HARDSHOT:1][WPN_BEARTRAP:3]"
        ,WPN_装備種別_武器
        ,0
        )
}
WEAPON_LIST_IDX = RESULT
CALL QST_SETINT_FLAGMAP("ゲスト武器DID", WEAPON_LIST_IDX)
CALL EQUIP_WEAPON(GUEST_ID, WEAPON_LIST_IDX)

;スキル習得
BASE_SKILL_POINT:GUEST_ID:スキル_大分類_冒険 = 3
CALL SKILL_LEARN2(GUEST_ID, スキル_ジャンル_戦闘, "ATK_BUFF", 2)
CALL SKILL_LEARN2(GUEST_ID, スキル_ジャンル_戦闘, "ACT_HIDING", 1)
CALL SKILL_LEARN2(GUEST_ID, スキル_ジャンル_戦闘, "ACT_FATAL_ATTACK", 1)
CALL SKILL_EDIT_ACTIVE_SKILL_SLOT(GUEST_ID, "ACT_HIDING")
CALL SKILL_EDIT_ACTIVE_SKILL_SLOT(GUEST_ID, "ACT_FATAL_ATTACK")
;NPCを戦闘メンバーに追加
CALL CC_ADDCHARA(SIDE, GUEST_ID)

;-------------------------------------------------
;ボスバトル設定関数(討伐ルート)
;-------------------------------------------------
@QST_QUEST_57_BOSS_BATTLE()

;戦闘イベント
CALL CC_INIT()
;クエストのパーティメンバーを攻撃側として追加
CALL CC_ADDPARTY("ATTACKER")

;防御側エネミー設定
CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリンチーフ", "ゴブリンチーフ")
CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリンシャーマン", "ゴブリンシャーマン")
CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ホブゴブリン", "ホブゴブリン１")
CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "ワーグ", "ワーグ")
CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_ゴブリンスカウト", "ゴブリンスカウト１")
CALL CC_ADDMOB_FROM_TABLE("DEFENDER", "QUEST_57_好色ゴブリン", "ゴブリンスカウト２")

;戦闘処理呼出
CALL CLOSE_COMBAT("[BGM:Boss_2.ogg]")
;CLOSE_COMBATの戻り値は攻撃側勝利 = 1,防衛側勝利 = 2
RETURN RESULT

;-------------------------------------------------
;@QST_QUEST_42_ENEMY_DATA
; クエスト固有エネミーの読み込み処理
; クエストで共通的に使い回すエネミーの戦闘データは@CC_ENEMY_DATAに記述されているが
; クエスト側で後付で追加することもできる。(@QST_INIT_QUEST_XXなどで明示的に読込み処理を呼び出すこと)
; 特定のクエストでしか使わないエネミーのデータ（ボスなど）はクエスト側に記述するとよいだろう
; パラメータの詳細は @CC_ENEMY_DATA 参照
; ！！！ENEMY_DEF_NAMEはユニークである必要があるためクエスト側でエネミーを追加する場合はENEMY_DEF_NAMEに'QUEST_XX_'を接頭すること！！！
;-------------------------------------------------
@QST_QUEST_57_ENEMY_DATA
{
    DT_ROW_ADD "ENEMY_DATA"
        ,"ENEMY_DEF_NAME", "QUEST_57_ゴブリンチーフ"
        ,"MAX_HP", 4000
        ,"STR", 60
        ,"MAG", 0
        ,"ATTACK", 60
        ,"DEFENCE", 35
        ,"ARMOR", 150
        ,"AGILITY", 120
        ,"HATE_RATE", 80
        ,"TARGETING", WPN_脅威選定_低耐久
        ,"ENEMY_AI", "[SKILL_OVERRIDE_FUNC:QUEST_57_ゴブリン][SKILL_USE_RATE:50][SEX_ATTACK_USE_RATE:20]"
        ,"REGIST_DEATH", 100
        ,"ENEMY_PASSIVE_SKILL", "[PSV_ATTACK_ORDER:1]"
        ,"ENEMY_ACTIVE_SKILL", "[ACT_VOICE_OF_FRAGILE:2][ACT_DEPLOY_DECOY:1][ACT_MOLESTATION:1][ACT_TEMPTATION:1]"
        ,"EXP", 8
}

{
    DT_ROW_ADD "ENEMY_DATA"
        ,"ENEMY_DEF_NAME", "QUEST_57_好色ゴブリン"
        ,"MAX_HP", 1500
        ,"STR", 5
        ,"MAG", 0
        ,"ATTACK", 5
        ,"DEFENCE", 5
        ,"ARMOR", 75
        ,"AGILITY", 140
        ,"HATE_RATE", 80
        ,"TARGETING", WPN_脅威選定_低脅威
        ,"ENEMY_AI", "[SKILL_USE_RATE:20][SEX_ATTACK_USE_RATE:50]"
        ,"ENEMY_ACTIVE_SKILL", "[ACT_STUN_ENEMY:1][ACT_MOLESTATION:1][ACT_TEMPTATION:1]"
        ,"EXP", 2
}
{
    DT_ROW_ADD "ENEMY_DATA"
        ,"ENEMY_DEF_NAME", "QUEST_57_ゴブリンスカウト"
        ,"MAX_HP", 1700
        ,"STR", 30
        ,"MAG", 0
        ,"ATTACK", 45
        ,"DEFENCE", 18
        ,"ARMOR", 220
        ,"AGILITY", 110
        ,"HATE_RATE", 100
        ,"TARGETING", WPN_脅威選定_高脅威
        ,"ENEMY_AI", "[SKILL_USE_RATE:40][SEX_ATTACK_USE_RATE:30]"
        ,"ENEMY_PASSIVE_SKILL", "[CHASE_POISON:1]"
        ,"ENEMY_ACTIVE_SKILL", "[ACT_STUN_ENEMY:1][POISON_ATTACK:1][ACT_TORN_CLOTH:1]"
        ,"EXP", 2
}
{
    DT_ROW_ADD "ENEMY_DATA"
        ,"ENEMY_DEF_NAME", "QUEST_57_ゴブリンシャーマン"
        ,"MAX_HP", 2200
        ,"STR", 20
        ,"MAG", 60
        ,"ATTACK", 20
        ,"DEFENCE", 35
        ,"ARMOR", 200
        ,"AGILITY", 40
        ,"HATE_RATE", 100
        ,"TARGETING", WPN_脅威選定_低脅威
        ,"ENEMY_ACTIVE_SKILL", "[ACT_CAST_ATTACK_ALL:2][ACT_MOLESTATION:1]"
        ,"ENEMY_PASSIVE_SKILL", "[ATK_ADD_CAST_TOKEN:1]"
        ,"EXP", 3
}
{
    DT_ROW_ADD "ENEMY_DATA"
        ,"ENEMY_DEF_NAME", "QUEST_57_ホブゴブリン"
        ,"MAX_HP", 2400
        ,"STR", 40
        ,"MAG", 0
        ,"ATTACK", 40
        ,"DEFENCE", 20
        ,"ARMOR", 100
        ,"AGILITY", 30
        ,"HATE_RATE", 100
        ,"TARGETING", WPN_脅威選定_低脅威
        ,"ENEMY_AI", "[SKILL_USE_RATE:40][SEX_ATTACK_USE_RATE:30]"
        ,"ENEMY_ACTIVE_SKILL", "[SMITE:2][ACT_TORN_CLOTH:1]"
        ,"EXP", 3
}
{
    DT_ROW_ADD "ENEMY_DATA"
        ,"ENEMY_DEF_NAME", "QUEST_57_ゴブリン"
        ,"MAX_HP", 1200
        ,"STR", 5
        ,"MAG", 0
        ,"ATTACK", 5
        ,"DEFENCE", 5
        ,"ARMOR", 75
        ,"AGILITY", 35
        ,"HATE_RATE", 100
        ,"TARGETING", WPN_脅威選定_低脅威
        ,"ENEMY_AI", "[SKILL_USE_RATE:40][SEX_ATTACK_USE_RATE:30]"
        ,"ENEMY_ACTIVE_SKILL", "[SMITE:1][ACT_TORN_CLOTH:1]"
        ,"EXP", 1
}

;-------------------------------------------------
;スキル名上書き
;-------------------------------------------------
@CCS_SKILL_OVERRIDE_FUNC_QUEST_57_ゴブリン(ACTOR_DID)
#DIM  ACTOR_DID
SELECTCASE CCS_SKILL_DEF_NAME
    CASE "ACT_TEMPTATION"
        CCS_SKILL_NAME '= "催淫煙幕"
ENDSELECT

;**************************************************************************************************
;調教に関する処理
;**************************************************************************************************
;-------------------------------------------------
;ゲストキャラ救出失敗(プレイヤーもいっしょ)
;-------------------------------------------------
@QST_QUEST_57_EVENT_RESCUE_FAILED_MULTI(CHARA_ID = -1)
#DIM DYNAMIC CHARA_ID

;IDの設定
SIF CHARA_ID == -1
    CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

FLAG:ウフフフラグ = 1
FLAG:調教モード = 調教_慰安
TFLAG:調教ターン数 = 30
FLAG:調教スキップ可 = 1

CALL FL_STOPBGM()
CALL FL_PLAYBGM("Ambient_dark_0.ogg")

;主導除外フラグが立ったキャラクターは慰安調教で常にターゲットに回る。
;拘束中など自主的に行動させたくないシチュエーションでこのフラグを立てる。
FOR LOCAL, 0, QST_PARTYNUM
    ;男は見てるだけに
    SIF IS_MALE(TOINT(LIST_GET(_LIST_QST_PARTY, LOCAL)), 0)
        CONTINUE
    ;恐怖状態に
    PALAM:LOCAL:怖主 = 4500
    ;調教コマンドのプレイヤーにならなくなる。一方的に嬲られるシチュ用
    CFLAG:(TOINT(LIST_GET(_LIST_QST_PARTY, LOCAL))):主導除外 = 1
    ;良感情を極めて得にくくなるフラグ
    CFLAG:(TOINT(LIST_GET(_LIST_QST_PARTY, LOCAL))):凌辱被害者フラグ = 1
    CFLAG:(TOINT(LIST_GET(_LIST_QST_PARTY, LOCAL))):調教参加フラグ = 1
    ;全脱衣
    CALL HO_UNDRESS(TOINT(LIST_GET(_LIST_QST_PARTY, LOCAL)))
NEXT

;ゲストユニットの追加判定
CALL QST_QUEST_57_PRETRAIN_GUESTUNIT(CHARA_ID)
;恐怖状態に
PALAM:CHARA_ID:怖主 = 4500
;全脱衣
CALL HO_UNDRESS(CHARA_ID)

;慰安モブを追加
;ボス系
CALL QST_TRAIN_MOB_PRESET("ゴブリン", @"ゴブリンチーフ")
CALL QST_QUEST_57_TRAIN_CONFIG_BOSS_GOBLIN(RESULT)
CALL QST_TRAIN_MOB_PRESET("ゴブリン", @"%SPLIT_RAND("残忍な/嗜虐的な",1)%ゴブリン")
CALL QST_QUEST_57_TRAIN_CONFIG_BOSS_GOBLIN(RESULT)
;SM系
CALL QST_TRAIN_MOB_PRESET("ゴブリン", @"%SPLIT_RAND("残忍な/嗜虐的な",1)%ゴブリン")
CALL QST_QUEST_57_TRAINCOM_BRUTAL_GOBLIN(RESULT)
CALL QST_TRAIN_MOB_PRESET("ゴブリン", @"%SPLIT_RAND("残忍な/嗜虐的な",1)%ゴブリン")
CALL QST_QUEST_57_TRAINCOM_BRUTAL_GOBLIN(RESULT)
;愛撫系
CALL QST_TRAIN_MOB_PRESET("ゴブリン", @"%SPLIT_RAND("醜悪な/不潔な",1)%ゴブリン")
CALL QST_QUEST_57_GOBLIN_TRAINCOM_SUBORDINATE_GOBLIN(RESULT)

;終了時に呼ぶイベント
CALL QST_ENQUEUE_TRAIN_EXIT_EVENT(99)

;-------------------------------------------------
;ゲストキャラ救出失敗（時間切れ）
;-------------------------------------------------
@QST_QUEST_57_EVENT_RESCUE_FAILED(EXIT_EVENT = 79, CHARA_ID = -1)
#DIM DYNAMIC CHARA_ID
#DIM DYNAMIC EXIT_EVENT = 79

;IDの設定
SIF CHARA_ID == -1
    CHARA_ID = NAME_TO_CHARA("UC_オレーシャ")

FLAG:ウフフフラグ = 1
FLAG:調教モード = 調教_慰安
TFLAG:調教ターン数 = 20
FLAG:調教スキップ可 = 1
CVARSET CFLAG, GETNUM(CFLAG, "調教参加フラグ") , 0

;BGMの設定
CALL FL_PLAYBGM("Ambient_dark_0.ogg")

;ゲストユニットの判定
CALL QST_QUEST_57_PRETRAIN_GUESTUNIT(CHARA_ID)

;追加設定
PALAM:CHARA_ID:怖主 = 4500
TALENT:CHARA_ID:アナル処女 = 0
SEXUAL_EXPERIENCE:CHARA_ID:初体験_アナル処女 = 愛用の猟銃
SEXUAL_EXPERIENCE_SITUATION:CHARA_ID:初体験_アナル処女 = 調教
SEXUAL_LAST_EXPERIENCE:CHARA_ID:初体験_アナル処女 = %S_R("酒瓶/剣の鞘/ワーグ/ゴブリンの腕")%
SEXUAL_LAST_EXPERIENCE_SITUATION:CHARA_ID:初体験_アナル処女 = 調教
TALENT:CHARA_ID:Ａ締まり = 締まり_ゆるめ

CALL HO_UNDRESS(CHARA_ID)

;慰安モブを追加
;ボス系
CALL QST_TRAIN_MOB_PRESET("ゴブリン", @"ゴブリンチーフ")
CALL QST_QUEST_57_TRAIN_CONFIG_BOSS_GOBLIN(RESULT)

;SM系
CALL QST_TRAIN_MOB_PRESET("ゴブリン", @"%SPLIT_RAND("残忍な/嗜虐的な",1)%ゴブリン")
CALL QST_QUEST_57_TRAINCOM_BRUTAL_GOBLIN(RESULT)

;愛撫系
CALL QST_TRAIN_MOB_PRESET("ゴブリン", @"%SPLIT_RAND("醜悪な/不潔な",1)%ゴブリン")
CALL QST_QUEST_57_GOBLIN_TRAINCOM_SUBORDINATE_GOBLIN(RESULT)

;終了時に呼ぶイベント
SIF INRANGE(EXIT_EVENT, 0, QST_MAX_EVENTNUM-1)
    CALL QST_ENQUEUE_TRAIN_EXIT_EVENT(EXIT_EVENT)

;スキップした場合の経験等加算
@QST_QUEST_57_EVENT_RESCUEFAILED_PARAMSET(CHARA_ID)
#DIM DYNAMIC CHARA_ID
#DIM DYNAMIC GUESTCHARA_ID
#DIMS CONST PARTNERNAMELIST = "ゴブリンチーフ/嗜虐的なゴブリン/醜悪なゴブリン"
#DIMS DYNAMIC LOSTV_NAME
GUESTCHARA_ID = NAME_TO_CHARA("UC_オレーシャ")
LOSTV_NAME = %PARTNERNAMELIST%

;ゲストはゴブリンチーフ固定
SIF CHARA_ID == GUESTCHARA_ID
    LOSTV_NAME = ゴブリンチーフ

IF SEXUAL_EXPERIENCE:CHARA_ID:初体験_処女 == "----"
    SEXUAL_EXPERIENCE:CHARA_ID:初体験_処女 = %S_R(@"%LOSTV_NAME%")%
    SEXUAL_EXPERIENCE_SITUATION:CHARA_ID:初体験_処女 = 調教
ENDIF
SEXUAL_LAST_EXPERIENCE:CHARA_ID:初体験_処女 = %S_R(@"%LOSTV_NAME%")%
SEXUAL_LAST_EXPERIENCE_SITUATION:CHARA_ID:初体験_処女 = 調教
IF SEXUAL_EXPERIENCE:CHARA_ID:初体験_キス == "----"
    SEXUAL_EXPERIENCE:CHARA_ID:初体験_キス = %S_R(@"%PARTNERNAMELIST%")%のペニス
    SEXUAL_EXPERIENCE_SITUATION:CHARA_ID:初体験_キス = 調教
ENDIF
SEXUAL_LAST_EXPERIENCE:CHARA_ID:初体験_キス = %S_R(@"%PARTNERNAMELIST%")%のペニス
SEXUAL_LAST_EXPERIENCE_SITUATION:CHARA_ID:初体験_キス = 調教

EXP:CHARA_ID:絶頂経験 += RAND(1, 2)
EXP:CHARA_ID:苦痛快楽経験 += RAND(15, 25)
EXP:CHARA_ID:Ｖ拡張経験 += RAND(4, 8)
EXP:CHARA_ID:膣内射精経験 += RAND(1, 2)
EXP:CHARA_ID:腸内射精経験 += RAND(4, 6)
EXP:CHARA_ID:口内射精経験 += RAND(3, 5)
EXP:CHARA_ID:キス経験 += RAND(4, 6)
EXP:CHARA_ID:口淫経験 += RAND(7, 15)
EXP:CHARA_ID:Ｖ性交経験 += RAND(20, 30)
EXP:CHARA_ID:Ａ性交経験 += RAND(25, 35)
EXP:CHARA_ID:おもらし経験 += RAND(0, 1)
EXP:CHARA_ID:トラウマ経験 += RAND(45, 60)
EXP:CHARA_ID:輪姦経験 +=  RAND(10, 25)

ABL:CHARA_ID:Ｖ感 = MAX(ABL:CHARA_ID:Ｖ感, 2)
ABL:CHARA_ID:Ａ感 = MAX(ABL:CHARA_ID:Ａ感, 2)
ABL:CHARA_ID:Ｂ感 = MAX(ABL:CHARA_ID:Ｂ感, 1)
ABL:CHARA_ID:Ｍ感 = MAX(ABL:CHARA_ID:Ｍ感, 1)
ABL:CHARA_ID:欲望 = MAX(ABL:CHARA_ID:欲望, 1)
ABL:CHARA_ID:性技 = MAX(ABL:CHARA_ID:性技, 3)
ABL:CHARA_ID:性知識 = MAX(ABL:CHARA_ID:性知識, 1)
ABL:CHARA_ID:奉仕 = MAX(ABL:CHARA_ID:奉仕, 1)
ABL:CHARA_ID:性交 = MAX(ABL:CHARA_ID:性交, 2)
ABL:CHARA_ID:露出 = MAX(ABL:CHARA_ID:露出, 1)
ABL:CHARA_ID:精愛 = MAX(ABL:CHARA_ID:精愛, 1)
ABL:CHARA_ID:マゾ = MAX(ABL:CHARA_ID:マゾ, 2)

TALENT:CHARA_ID:処女 = 0
TALENT:CHARA_ID:キス未経験 = 0
TALENT:CHARA_ID:アナル処女 = 0
TALENT:CHARA_ID:Ｖ締まり = MIN(TALENT:CHARA_ID:Ｖ締まり, 締まり_きゅっきゅっ)

;Aに関する処理はゲストとそれ以外で分ける
IF CHARA_ID == GUESTCHARA_ID
    IF SEXUAL_EXPERIENCE:CHARA_ID:初体験_アナル処女 == "----"
        SEXUAL_EXPERIENCE:CHARA_ID:初体験_アナル処女 = 愛用の猟銃
        SEXUAL_EXPERIENCE_SITUATION:CHARA_ID:初体験_アナル処女 = 調教
    ENDIF
    SEXUAL_LAST_EXPERIENCE:CHARA_ID:初体験_アナル処女 = %S_R("酒瓶/剣の鞘/ワーグ/ゴブリンの腕")%
    SEXUAL_LAST_EXPERIENCE_SITUATION:CHARA_ID:初体験_アナル処女 = 調教
    ABL:CHARA_ID:Ａ感 = MAX(ABL:CHARA_ID:Ａ感, 2)
    EXP:CHARA_ID:Ａ拡張経験 += RAND(10, 20)
    TALENT:CHARA_ID:Ａ締まり = MIN(TALENT:CHARA_ID:Ａ締まり, 締まり_ゆるめ)
ELSE
    IF SEXUAL_EXPERIENCE:CHARA_ID:初体験_アナル処女 == "----"
        SEXUAL_EXPERIENCE:CHARA_ID:初体験_アナル処女 = %S_R(@"%PARTNERNAMELIST%")%
        SEXUAL_EXPERIENCE_SITUATION:CHARA_ID:初体験_アナル処女 = 調教
    ENDIF
    SEXUAL_LAST_EXPERIENCE:CHARA_ID:初体験_アナル処女 = %S_R(@"%PARTNERNAMELIST%")%
    SEXUAL_LAST_EXPERIENCE_SITUATION:CHARA_ID:初体験_アナル処女 = 調教
    ABL:CHARA_ID:Ａ感 = MAX(ABL:CHARA_ID:Ａ感, 1)
    EXP:CHARA_ID:Ａ拡張経験 += RAND(4, 8)
    TALENT:CHARA_ID:Ａ締まり = MIN(TALENT:CHARA_ID:Ａ締まり, 締まり_きゅっきゅっ)
ENDIF

;-------------------------------------------------
;ゲストユニットの調教前の処理
;-------------------------------------------------
@QST_QUEST_57_PRETRAIN_GUESTUNIT(CHARA_ID)
#DIM DYNAMIC CHARA_ID

;調教コマンドのプレイヤーにならなくなる。一方的に嬲られるシチュ用
CFLAG:CHARA_ID:主導除外 = 1
;良感情を極めて得にくくなるフラグ
CFLAG:CHARA_ID:凌辱被害者フラグ = 1
CFLAG:CHARA_ID:調教参加フラグ = 1

;-------------------------------------------------
;ゴブリン調教コマンド
;-------------------------------------------------
@QST_QUEST_57_GOBLIN_TRAINCOM_SUBORDINATE_GOBLIN(CHARA_ID)
#DIM DYNAMIC CHARA_ID
VARSET COM_FORBIDDEN:CHARA_ID:0, 1

TALENT:CHARA_ID:ペニスサイズ = 1
TALENT:CHARA_ID:体格 = 体格_小柄
TALENT:CHARA_ID:おもらし癖 = 1  ;放尿コマンドを常時実行できるように
TALENT:CHARA_ID:成長後体型 = 1  ;小柄体型
TALENT:CHARA_ID:汚れ無視 = 1
CFLAG:CHARA_ID:慰安参加者 = 1
ABL:CHARA_ID:射精 = 10
TCVAR:CHARA_ID:尿残量 = 2000

COM_FORBIDDEN:CHARA_ID:T_N("クンニ") = 0
COM_FORBIDDEN:CHARA_ID:T_N("乳首吸い") = 0
COM_FORBIDDEN:CHARA_ID:(GETNUM(TRAINNAME,"フェラチオ") + ADD_NUM_対象が実行) = 0
COM_FORBIDDEN:CHARA_ID:(GETNUM(TRAINNAME,"パイズリ") + ADD_NUM_対象が実行) = 0
COM_FORBIDDEN:CHARA_ID:(GETNUM(TRAINNAME,"手コキ") + ADD_NUM_対象が実行) = 0
COM_FORBIDDEN:CHARA_ID:(GETNUM(TRAINNAME,"髪コキ") + ADD_NUM_対象が実行) = 0
COM_FORBIDDEN:CHARA_ID:T_N("イラマチオ") = 0
COM_FORBIDDEN:CHARA_ID:T_N("服を破る") = 0
COM_FORBIDDEN:CHARA_ID:T_N("二本挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("順番に挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("代わる代わる挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("順番にＡ挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("代わる代わるＡ挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("Ａ二本挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("スパンキング") = 0
COM_FORBIDDEN:CHARA_ID:T_N("電気按摩") = 0
COM_FORBIDDEN:CHARA_ID:T_N("口内放尿") = 0

COM_TENDENCY:CHARA_ID:(GETNUM(TRAINNAME,"フェラチオ") + ADD_NUM_対象が実行) = 3
COM_TENDENCY:CHARA_ID:(GETNUM(TRAINNAME,"パイズリ") + ADD_NUM_対象が実行) = 3
COM_TENDENCY:CHARA_ID:(GETNUM(TRAINNAME,"手コキ") + ADD_NUM_対象が実行) = 3
COM_TENDENCY:CHARA_ID:(GETNUM(TRAINNAME,"髪コキ") + ADD_NUM_対象が実行) = 3
COM_TENDENCY:CHARA_ID:GETNUM(TRAINNAME, "代わる代わる挿入") = 3
COM_TENDENCY:CHARA_ID:GETNUM(TRAINNAME, "代わる代わるＡ挿入") = 3
COM_TENDENCY:CHARA_ID:GETNUM(TRAINNAME, "順番に挿入") = 3

@QST_QUEST_57_TRAINCOM_BRUTAL_GOBLIN(CHARA_ID)
#DIM DYNAMIC CHARA_ID
VARSET COM_FORBIDDEN:CHARA_ID:0, 1

TALENT:CHARA_ID:ペニスサイズ = 1
TALENT:CHARA_ID:体格 = 体格_小柄
TALENT:CHARA_ID:おもらし癖 = 1  ;放尿コマンドを常時実行できるように
CFLAG:CHARA_ID:慰安参加者 = 1
ABL:CHARA_ID:射精 = 10
TCVAR:CHARA_ID:尿残量 = 2000
ITEM:A_鞭 = 1
ITEM:A_針 = 1

COM_FORBIDDEN:CHARA_ID:(GETNUM(TRAINNAME,"フェラチオ") + ADD_NUM_対象が実行) = 0
COM_FORBIDDEN:CHARA_ID:(GETNUM(TRAINNAME,"パイズリ") + ADD_NUM_対象が実行) = 0
COM_FORBIDDEN:CHARA_ID:(GETNUM(TRAINNAME,"手コキ") + ADD_NUM_対象が実行) = 0
COM_FORBIDDEN:CHARA_ID:(GETNUM(TRAINNAME,"髪コキ") + ADD_NUM_対象が実行) = 0
COM_FORBIDDEN:CHARA_ID:T_N("イラマチオ") = 0
COM_FORBIDDEN:CHARA_ID:T_N("服を破る") = 0
COM_FORBIDDEN:CHARA_ID:T_N("二本挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("順番に挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("代わる代わる挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("順番にＡ挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("代わる代わるＡ挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("Ａ二本挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("スパンキング") = 0
COM_FORBIDDEN:CHARA_ID:T_N("鞭") = 0
COM_FORBIDDEN:CHARA_ID:T_N("針") = 0
COM_FORBIDDEN:CHARA_ID:T_N("フィストファック") = 0
COM_FORBIDDEN:CHARA_ID:T_N("アナルフィスト") = 0
COM_FORBIDDEN:CHARA_ID:T_N("平手打ち") = 0
COM_FORBIDDEN:CHARA_ID:T_N("首絞め") = 0
COM_FORBIDDEN:CHARA_ID:T_N("腹パン") = 0
COM_FORBIDDEN:CHARA_ID:T_N("電気按摩") = 0
COM_FORBIDDEN:CHARA_ID:T_N("尿を掛ける") = 0
COM_FORBIDDEN:CHARA_ID:T_N("口内放尿") = 0

COM_TENDENCY:CHARA_ID:(GETNUM(TRAINNAME,"フェラチオ") + ADD_NUM_対象が実行) = 3
COM_TENDENCY:CHARA_ID:(GETNUM(TRAINNAME,"パイズリ") + ADD_NUM_対象が実行) = 3
COM_TENDENCY:CHARA_ID:(GETNUM(TRAINNAME,"手コキ") + ADD_NUM_対象が実行) = 3
COM_TENDENCY:CHARA_ID:(GETNUM(TRAINNAME,"髪コキ") + ADD_NUM_対象が実行) = 3

@QST_QUEST_57_TRAIN_CONFIG_BOSS_GOBLIN(CHARA_ID)
#DIM DYNAMIC CHARA_ID
VARSET COM_FORBIDDEN:CHARA_ID:0, 1

TALENT:CHARA_ID:キス未経験 = 0
TALENT:CHARA_ID:童貞 = 0
TALENT:CHARA_ID:ペニスサイズ = 2
TALENT:CHARA_ID:体格 = 体格_長身
TALENT:CHARA_ID:おもらし癖 = 1  ;放尿コマンドを常時実行できるように
TALENT:CHARA_ID:汚れ無視 = 1
SETBIT TALENT:(CHARA_ID):淫乱系, 素質_淫乱_濃厚精液
CFLAG:CHARA_ID:慰安参加者 = 1
ABL:CHARA_ID:性技 = 7
ABL:CHARA_ID:射精 = 15
ABL:CHARA_ID:主導度Ｕ = 99999999
ABL:CHARA_ID:倒錯度 = 1000
TCVAR:CHARA_ID:尿残量 = 2000

COM_FORBIDDEN:CHARA_ID:(GETNUM(TRAINNAME,"フェラチオ") + ADD_NUM_対象が実行) = 0
COM_FORBIDDEN:CHARA_ID:(GETNUM(TRAINNAME,"パイズリ") + ADD_NUM_対象が実行) = 0
COM_FORBIDDEN:CHARA_ID:T_N("正常位") = 0
COM_FORBIDDEN:CHARA_ID:T_N("後背位") = 0
COM_FORBIDDEN:CHARA_ID:T_N("騎乗位") = 0
COM_FORBIDDEN:CHARA_ID:T_N("背面騎乗位") = 0
COM_FORBIDDEN:CHARA_ID:T_N("駅弁") = 0
COM_FORBIDDEN:CHARA_ID:T_N("背面駅弁") = 0
COM_FORBIDDEN:CHARA_ID:T_N("立ちバック") = 0
;COM_FORBIDDEN:CHARA_ID:T_N("Ａ正常位") = 0
;COM_FORBIDDEN:CHARA_ID:T_N("Ａ後背位") = 0
;COM_FORBIDDEN:CHARA_ID:T_N("Ａ騎乗位") = 0
;COM_FORBIDDEN:CHARA_ID:T_N("Ａ背面騎乗位") = 0
;COM_FORBIDDEN:CHARA_ID:T_N("Ａ駅弁") = 0
;COM_FORBIDDEN:CHARA_ID:T_N("Ａ背面駅弁") = 0
;COM_FORBIDDEN:CHARA_ID:T_N("Ａ立ちバック") = 0
;COM_FORBIDDEN:CHARA_ID:T_N("二本挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("順番に挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("代わる代わる挿入") = 0
;COM_FORBIDDEN:CHARA_ID:T_N("順番にＡ挿入") = 0
;COM_FORBIDDEN:CHARA_ID:T_N("代わる代わるＡ挿入") = 0
;COM_FORBIDDEN:CHARA_ID:T_N("Ａ二本挿入") = 0
COM_FORBIDDEN:CHARA_ID:T_N("スパンキング") = 0
COM_FORBIDDEN:CHARA_ID:T_N("フィストファック") = 0
COM_FORBIDDEN:CHARA_ID:T_N("アナルフィスト") = 0
COM_FORBIDDEN:CHARA_ID:T_N("平手打ち") = 0
COM_FORBIDDEN:CHARA_ID:T_N("首絞め") = 0
COM_FORBIDDEN:CHARA_ID:T_N("尿を掛ける") = 0
COM_FORBIDDEN:CHARA_ID:T_N("口内放尿") = 0

COM_TENDENCY:CHARA_ID:GETNUM(TRAINNAME, "正常位") = 3
COM_TENDENCY:CHARA_ID:GETNUM(TRAINNAME, "後背位") = 3
COM_TENDENCY:CHARA_ID:GETNUM(TRAINNAME, "騎乗位") = 3
COM_TENDENCY:CHARA_ID:GETNUM(TRAINNAME, "背面騎乗位") = 3
COM_TENDENCY:CHARA_ID:GETNUM(TRAINNAME, "駅弁") = 3
COM_TENDENCY:CHARA_ID:GETNUM(TRAINNAME, "立ちバック") = 3

path: ERB/QUEST/クエストデータ/QUEST_57～59_ゴブリンと雪国の狩人/QUEST_57_ゴブリンと雪国の狩人.ERB