/*

	a24c_tale.h

	    人質部屋（スネークテイルズ用設定ファイル）



	2002/01/30 S.Mukaide

	$Id: a24c_tale.h,v 1.24 2002/08/21 04:55:05 usr03682 Exp $





*/





//------------------------------------------------------------

// 各ミッション別で使用するdefine

//------------------------------------------------------------

#define	MISSION_TALE	1	// スネークテイルズ用プロック起動用



// アイテム設置用ポジションリスト

#define		T_ITEM_POS_A24C_0_01	-4500	 -8750	 -54500		// 西側の机の下

#define		T_ITEM_POS_A24C_0_02	7750	 -8500	 -51000		// 東の柱の影

#define		T_ITEM_POS_A24C_0_03	-11000	 -8500	 -48500		// 南西





//------------------------------------------------------------

// スネークテイルズ用の敵兵配置プロック集

//------------------------------------------------------------

#include	"a24c_tale_enemy.h"











//*********************************************************************************************

// mode.hで呼び出されるプロック

//*********************************************************************************************



//------------------------------------------------------------

// chara マップの前に呼ばれるproc

//------------------------------------------------------------

proc スネークテイルズ用マップ定義前設定 {

	#if d:DEBUG_PRINT 

		print 'proc_set1-snake_tales'

	#endif



	switch ( $b:tales_story_no ) {

		// テイルズＡ

		case ( d:TALES_NO:A ) {

			// 共通システムの起動 $:クリア条件フラグ $:途中ステージフラグ(テイルズでは関係ない)

			@全ミッション共通システム設定 0

		}



	}

	command セットルートオフセット d:SCN:スネークテイルズ -c d:SCN:通常		// a_vardef.h のenum

}







//---------------------------------------------------

// chara マップ設定、常駐キャラ設定の後に呼ばれるproc

// ※ command マップ設定をしないと全マップに登録されます。

/* このステージで使用されるマップ名

人質部屋

*/

//---------------------------------------------------

proc スネークテイルズ用マップ定義後設定 {

	#if d:DEBUG_PRINT 

		print 'proc_set2-snake_tales'

	#endif



	@プラント編全体マップ設定 d:シェル１中央棟マップ	// stdproc.hで定義

	// 爆弾マークのチェック

	@スネークテイルズＡ用マップ爆弾表示チェック



	switch ( $b:tales_story_no ) {

		// テイルズＡ

		case ( d:TALES_NO:A ) {

			// 全マップ共通で使用する基本キャラの設定

			command マップ設定 人質部屋 -set {

				@スネークテイルズ用サウンド設定	// データは最初に呼ぶ

				@スネークテイルズＡ用変数設定		// ドアのスイッチなどの変数を設定

				@スネークテイルズＡ用コマンダー設定

				@スネークテイルズ用ＢＧＭ設定		// プレイヤー→敵兵→BGMの順で呼ぶ

				@スネークテイルズＡ用アイテム設置

				@スネークテイルズＡ用人質コマンダー設定

				@スネークテイルズＡ用人質設定

				@スネークテイルズＡ用あんたがジェニファー処理設定

			}

		}



		default {

			#if d:DEBUG_PRINT

				print 'WARNING!!!!!!!不正な値が入っています。$b:tales_story_no='$b:tales_story_no

			#endif



			command assert ( d:FALSE ) 'tales no error  (scenario err) スネークテイルズ用マップ定義後設定'

		}

	

	}

}











//*********************************************************************************************

// 各テイルズで共通で使用するプロック

//*********************************************************************************************



//------------------------------------------------------------

// クリアしたときの処理

//------------------------------------------------------------

proc スネークテイルズ用クリア時処理 {

	#if d:DEBUG_PRINT 

	print 'clear'

	#endif

}







//------------------------------------------------------------

// サウンドに関する設定

//------------------------------------------------------------

proc スネークテイルズ用サウンド設定 {

	#if d:DEBUG_PRINT 

		print 'sound_set-snake_tales'

	#endif



	chara サウンドマネージャー ＳＤマネ \

		-pak 0



	//		ＳＥ設定

	@サウンド効果音設定

}



proc スネークテイルズ用ＢＧＭ設定 {

	#if d:DEBUG_PRINT

		print 'bgm_set-snake_tales'

	#endif



	chara ＢＧＭマネージャー ＢＧＭマネ

}







//------------------------------------------------------------

// アイテムに関する設定

//------------------------------------------------------------

proc スネークテイルズ用アイテム取得時番号設定 $:ボックス名 {

	#if d:DEBUG_PRINT

		print 'item_no_set-snake_tales'

	#endif



	switch ( $b:tales_story_no ) {

		// テイルズＡ

		case ( d:TALES_NO:A ) {

			if( $:ボックス名 == レーション:01 ) {

				$b:w24c_取得ロード回数[0] = $w:グローバルロード回数;



			} else if ( $:ボックス名 == Ｍ９弾薬:01 ) {

				$b:w24c_取得ロード回数[1] = $w:グローバルロード回数;



			} else if ( $:ボックス名 == ＵＳＰ弾薬:01 ) {

				$b:w24c_取得ロード回数[2] = $w:グローバルロード回数;



			}

		}



		default {

			#if d:DEBUG_PRINT

				print 'WARNING!!!!!!!不正な値が入っています。$b:tales_story_no='$b:tales_story_no

			#endif



			command assert ( d:FALSE ) 'tales no error  (scenario err) スネークテイルズ用アイテム取得時番号設定'

		}



	}

	#if d:DEBUG_PRINT

		print $:ボックス名

		print $w:グローバルロード回数

	#endif

}











//*********************************************************************************************

// テイルズＡで使用するプロック

//*********************************************************************************************



//------------------------------------------------------------

// 変数に関する設定

//------------------------------------------------------------

proc スネークテイルズＡ用変数設定 {

	#if d:DEBUG_PRINT 

		print 'stage_var_set-snake_tales'

	#endif



	//------------------------------------------------------------

	// ドアに関する設定(0-開かない 1-開く)

	//------------------------------------------------------------

	$$b:ドアフラグ[0] = d:DOOR_FLAG_OPEN;	//	人質部屋ドア



	//------------------------------------------------------------

	// ジェニファー判定に伴うフラグ

	//------------------------------------------------------------

	$$f:ジェニファーに声かけ中 = 0;

	$$f:ジェニファー判定フラグ = 0;

	$$i:ジェニファー番号 = 0;

	$$i:リンダ番号 = 0;

	$$s:声をかけた人質名 = なし;



	$$f:キャシーおもらししたフラグ = 0;

	$$f:スナイプスおもらししたフラグ = 0;



	//------------------------------------------------------------

	// 人質ゲームオーバー判定に使うフラグ

	//------------------------------------------------------------

	$$b:ゲームオーバー種類 = 0;

}







//------------------------------------------------------------

// 敵兵に関する設定

//------------------------------------------------------------

proc スネークテイルズＡ用警備兵コマンダー {

	#if d:DEBUG_PRINT

		print 'wccomm_set-snake_tales'

	#endif



	switch ($s:登場ポイント) {

		case (シェル１中央棟Ｂ１から) {

			chara 警備コマンダー wccomm -e { 警備兵セット_共通 }

		}

		

		default {

			chara 警備コマンダー wccomm -e { 警備兵セット_共通 }

		}

	

	}



}



proc スネークテイルズＡ用攻撃兵コマンダー {

	#if d:DEBUG_PRINT

		print 'atcomm_set-snake_tales'

	#endif



	switch ($s:登場ポイント) {

		case (シェル１中央棟Ｂ１から) {

			chara 攻撃コマンダー atcomm \

				-e { 攻撃兵セット_共通 } \

				-wait (60*3) \			//	危険開始時の出動遅らせ時間/

				-avoidwait (60*5) \		//	回避モードで始まる場合のみ有効

				-status d:AT_COM_WARP	//	危険モード開始時にワープ

		}

		

		default {

			chara 攻撃コマンダー atcomm \

				-e { 攻撃兵セット_共通 } \

				-wait (60*3) \			//	危険開始時の出動遅らせ時間/

				-avoidwait (60*5) \		//	回避モードで始まる場合のみ有効

				-status d:AT_COM_WARP	//	危険モード開始時にワープ

		}



	}



}



proc スネークテイルズＡ用コマンダー設定 {

	#if d:DEBUG_PRINT

		print 'commander_set-snake_tales'

	#endif



	chara コマンダー 敵兵セット \

		-w スネークテイルズＡ用警備兵コマンダー \

		-a スネークテイルズＡ用攻撃兵コマンダー \

		-r 4750,-8500,-70000 人質部屋 \

		-c 4750,-8500,-70000 人質部屋 \

		-v [ene_plant_voice:01] \

		-x [ghq_area_alert_voice:w24c] \

		-y [ghq_caution_voice:w24c] \

		-z $i:敵標準麻酔持続 \

		-o $i:敵標準気絶持続 \

		-b $w:敵標準再発生数 \

		-s (d:ENE_STAGE_CROWD_PEOPLE | d:ENE_STAGE_NO_WC_GOVER | d:ENE_STAGE_VR_ANOTHER) \

		-m d:ALERT_MODE_SENNYU \

		-h $i:標準警戒時間			// 警戒時間

}

















//------------------------------------------------------------

// 人質に関する設定

//------------------------------------------------------------

proc スネークテイルズＡ用人質コマンダー設定 {



	chara 人質コマンダー 人質コマンダー \

		-e	スネークテイルズＡ用人質死亡処理 \			//人質死亡

			スネークテイルズＡ用発見された処理 \			//発見された

			スネークテイルズＡ用人質に声をかけた処理 \	//人質に話し掛けた

			スネークテイルズＡ用敵兵死亡処理 \			//敵兵死亡

			スネークテイルズＡ用敵兵無線破壊処理 \		//敵兵の無線が破壊された時に呼ばれる

			スネークテイルズＡ用ホールドアップ処理 \		//敵兵がホールドアップしたとき呼ばれる

			スネークテイルズＡ用敵兵気絶処理 \			//敵兵が気絶すると呼ばれる

			スネークテイルズＡ用チャフ使用処理 \			//チャフ使用した

			スネークテイルズＡ用警戒モード処理 \			//警戒モードになった

			スネークテイルズＡ用人質殴った処理 \			//人質を殴った

		-v	t:vc121020 \//人質男性Ａ「（悲鳴、パニックになっている）」

			t:vc121021 \//人質男性Ｂ「（悲鳴、パニックになっている）」

			t:vc121024 \//人質男性Ａ「私はエイムズではない！」

			t:vc121025 \//人質男性Ｂ「私はエイムズではない！」

			t:vc121028 \//人質男性Ａ「違う！」

			t:vc121029 \//人質男性Ｂ「違う！」

			t:vc121032 \//人質男性Ａ「違うと言っただろう！」

			t:vc121033 \//人質男性Ｂ「違うと言っただろう！」

			t:vc121036 \//人質女性Ａ「（悲鳴、パニックになっている）」

			t:vc121037 \//人質女性Ｂ「（悲鳴、パニックになっている）」

			t:vc121038 \//人質女性Ａ「違う！」

			t:vc121039 \//人質女性Ｂ「違う！」

			t:vc121040 \//人質女性Ａ「近寄らないで！」

			t:vc121041 \//人質女性Ｂ「近寄らないで！」

			t:vc121042 \//人質女性Ａ「私じゃゃなくて他の人にして！」

			t:vc121043 \//人質女性Ｂ「私じゃなくて他の人にして！」

			t:vc121044 \//人質女性Ａ「やめて！触らないで！！」

			t:vc121045 \//人質女性Ｂ「やめて！触らないで！！」

			t:vc121046 \//人質女性Ｂ「私はジェニファーよ」

			t:vc121047 \//人質女性Ｂ「私はリンダ」

			t:vc121048 \//人質女性Ｂ「私はシンディーよ」

			t:vc121074 \//機械音「メールを送信しました」

		-m	1		//コマンダーがいないときの人質イベントの記述



}



// 人質の位置と方向のdefine

#define	H_XZDIR_01	-5750,	-60000,	0

#define	H_XZDIR_02	-4750,	-60000,	0

#define	H_XZDIR_03	-3500,	-59000,	3072

#define	H_XZDIR_04	-3500,	-58000,	3072

#define	H_XZDIR_05	-8000,	-58500,	1024

#define	H_XZDIR_06	-8000,	-57500,	1024

#define	H_XZDIR_07	-8000,	-56500,	1024

#define	H_XZDIR_08	2500,	-59000,	1024

#define	H_XZDIR_09	2500,	-58000,	1024

#define	H_XZDIR_J	1000,	-57500,	0			// 元ジェニファーの位置

#define	H_XZDIR_10	2000,	-57500,	0	

#define	H_XZDIR_11	4500,	-58550,	3072

#define	H_XZDIR_12	4500,	-56550,	3072

#define	H_XZDIR_13	-7500,	-48250,	3072

#define	H_XZDIR_14	-7250,	-48000,	0	

#define	H_XZDIR_15	-5750,	-47500,	0	

#define	H_XZDIR_16	-3500,	-51250,	3072

#define	H_XZDIR_17	-4750,	-49250,	2048

#define	H_XZDIR_18	-5250,	-53250,	0	

#define	H_XZDIR_19	2500,	-51000,	1024

#define	H_XZDIR_20	2500,	-50000,	1024

#define	H_XZDIR_21	2000,	-49500,	0	

#define	H_XZDIR_22	4500,	-52750,	3072

#define	H_XZDIR_23	4500,	-51750,	3072

#define	H_XZDIR_24	4500,	-50500,	3072

#define	H_XZDIR_E	-3000,	-49550,	0			// 元エイムズの位置



proc スネークテイルズＡ用人質設定 {

	#if d:DEBUG_PRINT

		print 'hos_set'

	#endif



	// ジェニファーの位置は1〜24番の人の中からランダムで設定

	$$i:ジェニファー番号 = ($i:プレイタイム % 23) + 1;

	// リンダの位置は1〜24番の人の中からランダムで設定(ジェニファーの位置も考慮)

	$$i:リンダ番号 = $$i:ジェニファー番号 + (($i:プレイタイム % 22) + 1);

	if ( $$i:リンダ番号 > 24 ) {

		$$i:リンダ番号 = $$i:リンダ番号 - 24;

	}



	#if d:DEBUG_PRINT

		print '$$i:ジェニファー番号='$$i:ジェニファー番号

		print '$$i:リンダ番号='$$i:リンダ番号

	#endif



	command foreach -argc 8 -repeat 26 \

		-data { \

		// 名前,	X,Z,方向,		モデル名,				ステータス,							モーションファイル,	人質ＮＯ

		// ※固定の場所にいる人は番号を１００番にする

		//左上の島

		{人質01,	d:H_XZDIR_01,	d:def_ハリソン,			d:HSTG_STATUS_JITABATA2,						hos_b,	1}\

		{人質02,	d:H_XZDIR_02,	d:def_キャシー,			d:HSTG_STATUS_SOPPO,							hosf_d,	2}\

		{人質03,	d:H_XZDIR_03,	d:def_カトチャン,		d:HSTG_STATUS_SOPPO,							hos_a,	3}\

		{人質04,	d:H_XZDIR_04,	d:def_七三分け,			d:HSTG_STATUS_JITABATA2,						hos_b,	4}\

		{人質05,	d:H_XZDIR_05,	d:def_ヒゲオールバック,	d:HSTG_STATUS_JITABATA,							hos_a,	5}\

		{人質06,	d:H_XZDIR_06,	d:def_キャシー,			d:HSTG_STATUS_SOPPO,							hosf_d,	6}\

		{人質07,	d:H_XZDIR_07,	d:def_スナイプス,		(d:HSTG_STATUS_SOPPO | d:HSTG_STATUS_FOOT),		hos_c,	7}\



		//右上の島

		{人質08,	d:H_XZDIR_08,	d:def_ヒゲカトチャン,	d:HSTG_STATUS_JITABATA2,						hos_b,	8}\

		{人質09,	d:H_XZDIR_09,	d:def_ヒゲオールバック,	d:HSTG_STATUS_JITABATA,							hos_c,	9}\

		{キャシー,	d:H_XZDIR_J,	d:def_キャシー,			d:HSTG_STATUS_PEE,								hosf_d,	100}\

		{人質10,	d:H_XZDIR_10,	d:def_ウィルスミス,		d:HSTG_STATUS_JITABATA2,						hos_b,	10}\

		{人質11,	d:H_XZDIR_11,	d:def_ハリソン,			d:HSTG_STATUS_JITABATA2,						hos_a,	11}\

		{人質12,	d:H_XZDIR_12,	d:def_キャシー,			d:HSTG_STATUS_JITABATA,							hosf_d,	12}\



		//左下の島

		{人質13,	d:H_XZDIR_13,	d:def_ヒゲカトチャン,	d:HSTG_STATUS_JITABATA2,						hos_a,	13}\

		{人質14,	d:H_XZDIR_14,	d:def_キャシー,			d:HSTG_STATUS_SOPPO,							hosf_d,	14}\

		{人質15,	d:H_XZDIR_15,	d:def_スナイプス,		d:HSTG_STATUS_JITABATA,							hos_b,	15}\



		//デモで決まってる3人(テイルズでは関係なし)

		{人質16,	d:H_XZDIR_16,	d:def_キャシー,			d:HSTG_STATUS_JITABATA,							hosf_d,	16}\

		{人質17,	d:H_XZDIR_17,	d:def_オールバック,		(d:HSTG_STATUS_SOPPO | d:HSTG_STATUS_FOOT),		hos_c,	17}\

		{人質18,	d:H_XZDIR_18,	d:def_キャシー,			d:HSTG_STATUS_SOPPO,							hosf_d,	18}\



		//右下の島

		{スナイプス,d:H_XZDIR_19,	d:def_スナイプス,		d:HSTG_STATUS_PEE,								hos_b,	19}\

		{人質20,	d:H_XZDIR_20,	d:def_ヒゲオールバック,	d:HSTG_STATUS_JITABATA2,						hos_a,	20}\

		{人質21,	d:H_XZDIR_21,	d:def_キャシー,			d:HSTG_STATUS_JITABATA,							hosf_d,	21}\

		{人質22,	d:H_XZDIR_22,	d:def_ハリソン,			d:HSTG_STATUS_SOPPO,							hos_a,	22}\

		{人質23,	d:H_XZDIR_23,	d:def_カトチャン,		d:HSTG_STATUS_JITABATA2,						hos_c,	23}\

		{人質24,	d:H_XZDIR_24,	d:def_キャシー,			d:HSTG_STATUS_SOPPO,							hosf_d,	24}\



		{シンディー,d:H_XZDIR_E,	d:def_ラヴヒューイット,	(d:HSTG_STATUS_SOPPO | d:HSTG_STATUS_CYNDI),	hosf_e,	100}\



	} \

	-exec { \

		// 人質の座標を方向によって補正する

		if ($4 == 0) {

			$i:人質Ｘ座標 = $2;

			$i:人質Ｚ座標 = $3 + 200;



		} else if ($4 == 1024) {

			$i:人質Ｘ座標 = $2 + 200;

			$i:人質Ｚ座標 = $3;



		} else if ($4 == 2048) {

			$i:人質Ｘ座標 = $2;

			$i:人質Ｚ座標 = $3 - 200;



		} else if ($4 == 3072) {

			$i:人質Ｘ座標 = $2 - 200;

			$i:人質Ｚ座標 = $3;



		} else {

			$i:人質Ｘ座標 = $2;

			$i:人質Ｚ座標 = $3;

		}



		// LODのステータスは全員に立てる

		$i:人質ステータス = ($6 | d:HSTG_STATUS_LOD);



		// ジェニファーとリンダの場所を決定する

		if ( $8 == $$i:ジェニファー番号 ) {

			chara 人質達 ジェニファー \

				-p $i:人質Ｘ座標,-8500,$i:人質Ｚ座標 -d $4 \

				-k d:def_ラヴヒューイット \

				-s ( d:HSTG_STATUS_LOD | d:HSTG_STATUS_MAIL_NOCALL ) \

				-m hosf_e



		} else if ( $8 == $$i:リンダ番号 ) {

			chara 人質達 リンダ \

				-p $i:人質Ｘ座標,-8500,$i:人質Ｚ座標 -d $4 \

				-k d:def_ラヴヒューイット \

				-s ( d:HSTG_STATUS_RINDA | d:HSTG_STATUS_LOD ) \

				-m hosf_e



		} else {

			@スネークテイルズＡ用人質モデル設定 $1 $i:人質Ｘ座標 $i:人質Ｚ座標 $4 $5 $i:人質ステータス $7



		}



		@人質ガード透明壁 $i:人質Ｘ座標 $i:人質Ｚ座標 $4

	}

}



proc スネークテイルズＡ用人質モデル設定 $:名前 $:人質Ｘ座標 $:人質Ｚ座標 $:向き $:モデル $:ステータス $:モーション {

		chara 人質達 $1 -p $:人質Ｘ座標,-8500,$:人質Ｚ座標 -d $4 -k $5 -s $i:人質ステータス -m $7

		eval ($b:w24c_人質種類 = d:ノーマル)

}





proc スネークテイルズＡ用人質に声をかけた処理 {

	#if d:DEBUG_PRINT

		print 'hostage talk me!!!!!'

		print '$1='$1

		print '$b:テイルズＡシンディー声かけ回数='$b:テイルズＡシンディー声かけ回数

		print '$b:テイルズＡ人質声かけ回数='$b:テイルズＡ人質声かけ回数

	#endif



	switch ( $1 ) {

		case ( ジェニファー ) {

			$$f:ジェニファー判定フラグ = 1;

		}

		case ( シンディー ) {

			if ( $b:テイルズＡシンディー声かけ回数 < 100 ) {

				$b:テイルズＡシンディー声かけ回数 = $b:テイルズＡシンディー声かけ回数 + 1;

			}

		}

		case ( リンダ ) {

			$f:テイルズＡリンダ声かけフラグ = 1;

		}

		case ( キャシー ) {

			if ( $$f:キャシーおもらししたフラグ == 0 ) {

				$$f:キャシーおもらししたフラグ = 1;

				chara delay ディレイ -time 180 -exec{

					chara 爆弾検知領域 おもらしもやもや:01 trap tales_a_bm001 -mode 0

				}

			}

		}

		case ( スナイプス ) {

			if ( $$f:スナイプスおもらししたフラグ == 0 ) {

				$$f:スナイプスおもらししたフラグ = 1;

				chara delay ディレイ -time 180 -exec{

					chara 爆弾検知領域 おもらしもやもや:02 trap tales_a_bm002 -mode 0

				}

			}

		}

		default {

		}

	}



	if ( $b:テイルズＡ人質声かけ回数 < 100 ) {

		$b:テイルズＡ人質声かけ回数 = $b:テイルズＡ人質声かけ回数 + 1;

	}

}



proc スネークテイルズＡ用あんたがジェニファー処理設定 {

	#if d:DEBUG_PRINT

		print 'Jennifer_judgement'

	#endif



	trap ca001 d:PLAYER \

		-mask 入る \

		-state d:TRP_STATE_SUBJECT \

		-button d:ACTION_BUTTON \

		-exec {



			if( $w:武器 == d:武器:マイク && $$f:ジェニファーに声かけ中 == 0 ){



				$$f:ジェニファーに声かけ中 = 1;



				// もし、何かの関係でストリームが流れなかった場合は安全のためこっちでフラグを寝かす。

				chara delay あんたがジェニファー声かけディレイ -time (60*15) -exec{

					if( $$f:ジェニファーに声かけ中 == 1 ){

						@あんたがジェニファー言い終わった

					}

				}



				command ゲット人質ターゲット $$s:声をかけた人質名



				// ストリーミングのチャンネルが空いていたら音声を流す

				if(`command StreamIsPlay` < 2){

					if ( $$s:声をかけた人質名 == リンダ && $f:テイルズＡリンダ声かけフラグ == 1 ) {

						#if d:DEBUG_PRINT

							print'「お前はリンダ」$b:テイルズＡ人質声かけ回数='$b:テイルズＡ人質声かけ回数

						#endif

						%Stream t:vc128007 -p あんたがジェニファー言い終わった -menustop



					} else if ( $$s:声をかけた人質名 == シンディー && $b:テイルズＡシンディー声かけ回数 != 0 ) {

						#if d:DEBUG_PRINT

							print'「お前はシンディー」$b:テイルズＡ人質声かけ回数='$b:テイルズＡ人質声かけ回数

						#endif

						%Stream t:vc128008 -p あんたがジェニファー言い終わった -menustop



					} else if ( $b:テイルズＡ人質声かけ回数 < 5 ) {

						#if d:DEBUG_PRINT

							print'「お前がジェニファーだな？」$b:テイルズＡ人質声かけ回数='$b:テイルズＡ人質声かけ回数

						#endif

						%Stream t:vc128001 -p あんたがジェニファー言い終わった -menustop



					} else if ( $b:テイルズＡ人質声かけ回数 < 7 ) {

						#if d:DEBUG_PRINT

							print'「お前がジェニファーだろ？」$b:テイルズＡ人質声かけ回数='$b:テイルズＡ人質声かけ回数

						#endif

						%Stream t:vc128002 -p あんたがジェニファー言い終わった -menustop



					} else if ( $b:テイルズＡ人質声かけ回数 < 12 ) {

						#if d:DEBUG_PRINT

							print'「お前がジェニファーだ！！」$b:テイルズＡ人質声かけ回数='$b:テイルズＡ人質声かけ回数

						#endif

						%Stream t:vc128003 -p あんたがジェニファー言い終わった -menustop



					} else if ( $b:テイルズＡ人質声かけ回数 < 15 ) {

						#if d:DEBUG_PRINT

							print'「ジェニファーはお前だ！」$b:テイルズＡ人質声かけ回数='$b:テイルズＡ人質声かけ回数

						#endif

						%Stream t:vc128004 -p あんたがジェニファー言い終わった -menustop



					} else {

						#if d:DEBUG_PRINT

							print'「お前がジェニファーだと言え！」$b:テイルズＡ人質声かけ回数='$b:テイルズＡ人質声かけ回数

						#endif

						%Stream t:vc128005 -p あんたがジェニファー言い終わった -menustop



					}



					// 話し掛けている間はノイズを発生させる

					chara delay ディレイ -time 30 -exec{

						%セットノイズ -n d:NOISE_MIC_QUEST \

							-p $i:プレイヤー位置Ｘ,$i:プレイヤー位置Ｙ,$i:プレイヤー位置Ｚ -m 人質部屋



						chara delay ディレイ -time 1 -exec{

							%セットノイズ -n d:NOISE_SS \

								-p $i:プレイヤー位置Ｘ,$i:プレイヤー位置Ｙ,$i:プレイヤー位置Ｚ -m 人質部屋

						}

					}

				}



			}



		}

}



proc あんたがジェニファー言い終わった {

	#if d:DEBUG_PRINT 

		print 'jenifar check end!!!'

	#endif



	$$f:ジェニファーに声かけ中 = 0;

	mesg delay あんたがジェニファー声かけディレイ kill



	if ( $$f:ジェニファー判定フラグ == 1 ) {

		@紙芝居ステージロード d:TALES_A:ジェニファー遭遇中

	}

}





// 人質関係のゲームオーバー処理

enum GAMEOVER {

	人質死亡 = 0,

	発見,

	敵兵死亡,

	無線破壊,

	ホールドアップ,

	敵兵気絶,

	チャフ使用,

	警戒モード,

	人質殴った

}



proc スネークテイルズＡ用人質死亡処理 {

	@スネークテイルズＡ用人質ゲームオーバー処理 d:GAMEOVER:人質死亡

}



proc スネークテイルズＡ用発見された処理 {

	@スネークテイルズＡ用人質ゲームオーバー処理 d:GAMEOVER:発見

}



proc スネークテイルズＡ用敵兵死亡処理 {

	@スネークテイルズＡ用人質ゲームオーバー処理 d:GAMEOVER:敵兵死亡

}



proc スネークテイルズＡ用敵兵無線破壊処理 {

	@スネークテイルズＡ用人質ゲームオーバー処理 d:GAMEOVER:無線破壊

}



proc スネークテイルズＡ用ホールドアップ処理 {

	@スネークテイルズＡ用人質ゲームオーバー処理 d:GAMEOVER:ホールドアップ

}



proc スネークテイルズＡ用敵兵気絶処理 {

	@スネークテイルズＡ用人質ゲームオーバー処理 d:GAMEOVER:敵兵気絶

}



proc スネークテイルズＡ用チャフ使用処理 {

	@スネークテイルズＡ用人質ゲームオーバー処理 d:GAMEOVER:チャフ使用

}



proc スネークテイルズＡ用警戒モード処理 {

	@スネークテイルズＡ用人質ゲームオーバー処理 d:GAMEOVER:警戒モード

}



proc スネークテイルズＡ用人質殴った処理 {

	#if d:DEBUG_PRINT 

		print '人質殴ったね！よくないよ！'

	#endif

}



proc スネークテイルズＡ用人質ゲームオーバー処理 $:ゲームオーバー種類 {

	#if d:DEBUG_PRINT 

		print 'hostage event gameover!!!!! $:ゲームオーバー種類='$:ゲームオーバー種類

	#endif



	// exeのなかに引数が渡せないためローカル変数に１回保存

	$$b:ゲームオーバー種類 = $:ゲームオーバー種類;



	if(`%ゲームオーバーチェック` == 0 && $f:ロードチェックＯＮフラグ ) {

		command ゲームオーバー処理開始 -exec {

			@シナリオデモ開始処理

		

			// 流れているストリーミングを止めて、音声を流してゲームオーバー処理へ

			command StreamStopAll

			chara delay ディレイ -time 1 -exec{

				if( `%StreamIsPlay` < 2 ) {

					switch ( $$b:ゲームオーバー種類 ) {

						case ( d:GAMEOVER:人質死亡 ) {

							#if d:DEBUG_PRINT 

								print '兵士Ａ「敵だ！至急増援を送れ！」（人質殺害で使用）'

							#endif



							%Stream t:vc041006 -p スネークテイルズＡ用人質ゲームオーバー処理終了

						}

						case ( d:GAMEOVER:発見 ) {

							// ！ができるぐらいまではゲームオーバーにしない

							chara delay ディレイ -time 30 -exec{ @スネークテイルズＡ用人質ゲームオーバー処理終了 }

						}

						case ( d:GAMEOVER:敵兵死亡 ) {

							#if d:DEBUG_PRINT 

								print '指揮官「定時連絡はどうした？」'

							#endif



							%Stream t:vc040062 -p スネークテイルズＡ用司令官音声１開始

						}

						case ( d:GAMEOVER:無線破壊 ) {

							#if d:DEBUG_PRINT 

								print '指揮官「状況を報告せよ」'

							#endif



							%Stream t:vc040063 -p スネークテイルズＡ用司令官音声１開始

						}

						case ( d:GAMEOVER:ホールドアップ ) {

							#if d:DEBUG_PRINT 

								print '指揮官「定時連絡がないぞ」'

							#endif



							%Stream t:vc040061 -p スネークテイルズＡ用司令官音声１開始

						}

						case ( d:GAMEOVER:敵兵気絶 ) {

							#if d:DEBUG_PRINT 

								print '指揮官「定時連絡はどうした？」'

							#endif



							%Stream t:vc040062 -p スネークテイルズＡ用司令官音声１開始

						}

						case ( d:GAMEOVER:チャフ使用 ) {

							#if d:DEBUG_PRINT 

								print '指揮官「状況を報告せよ」'

							#endif



							%Stream t:vc040063 -p スネークテイルズＡ用司令官音声１開始

						}

						case ( d:GAMEOVER:警戒モード ) {

							@スネークテイルズＡ用司令官音声２開始

						}

						

						default {

							#if d:DEBUG_PRINT 

								print 'ありえないゲームオーバー変数です。$$b:ゲームオーバー種類='$$b:ゲームオーバー種類

							#endif



							command assert ( d:FALSE ) 'gameover no error  (scenario err)'

							@スネークテイルズＡ用人質ゲームオーバー処理終了

						}

					}



					return 0;

				} else {

					return 1;

				}

			}

		}

		

	}



}



proc スネークテイルズＡ用司令官音声１開始 {

	%rand 4

	switch ( $status ) {

		case ( 0 ) {

			#if d:DEBUG_PRINT

				print '指揮官「応答せよ、応答せよ！」'

			#endif

			%Stream t:vc040064 -p スネークテイルズＡ用司令官音声２開始

		}

		case ( 1 ) {

			#if d:DEBUG_PRINT

				print '指揮官「どうした、応答しろ！」'

			#endif

			%Stream t:vc040065 -p スネークテイルズＡ用司令官音声２開始

		}

		case ( 2 ) {

			#if d:DEBUG_PRINT

				print '指揮官「どうしたんだ!?」'

			#endif

			%Stream t:vc040066 -p スネークテイルズＡ用司令官音声２開始

		}

		default {

			#if d:DEBUG_PRINT

				print '指揮官「何があった!?」'

			#endif

			%Stream t:vc040067 -p スネークテイルズＡ用司令官音声２開始

		}

	}

}



proc スネークテイルズＡ用司令官音声２開始 {

	%rand 4

	switch ( $status ) {

		case ( 0 ) {

			#if d:DEBUG_PRINT

				print '指揮官「シェルワン１中央棟Ｂ１ホール集会場で異状発生。至急確認に向かえ」'

			#endif

			%Stream t:vc040504 -p スネークテイルズＡ用人質ゲームオーバー処理終了

		}

		case ( 1 ) {

			#if d:DEBUG_PRINT

				print '指揮官「シェルワン１中央棟Ｂ１で異状発生。至急確認に向かえ」'

			#endif

			%Stream t:vc040505 -p スネークテイルズＡ用人質ゲームオーバー処理終了

		}

		case ( 2 ) {

			#if d:DEBUG_PRINT

				print '指揮官「シェルワン１中央棟Ｂ１ホール集会場で連絡が途絶えた。至急確認に向かえ」'

			#endif

			%Stream t:vc040506 -p スネークテイルズＡ用人質ゲームオーバー処理終了

		}

		default {

			#if d:DEBUG_PRINT

				print '指揮官「「シェルワン１中央棟Ｂ１で連絡が途絶えた。至急確認に向かえ」'

			#endif

			%Stream t:vc040507 -p スネークテイルズＡ用人質ゲームオーバー処理終了

		}

	}

}





proc スネークテイルズＡ用人質ゲームオーバー処理終了 {

	command ゲームオーバー処理終了

}





//------------------------------------------------------------

// アイテムに関する設定

//------------------------------------------------------------

proc スネークテイルズＡ用アイテム設置 {

	#if d:DEBUG_PRINT

		print 'w24c_item_set-snake_tales'

	#endif



	@アイテム再セットチェック $b:w24c_取得ロード回数[0]

	if ($f:再セットフラグ) {

		@レーション_初期設置 レーション:01 d:T_ITEM_POS_A24C_0_01 0

	}



	@アイテム再セットチェック $b:w24c_取得ロード回数[1]

	if ($f:再セットフラグ) {

		@弾薬_Ｍ９_初期設置 Ｍ９弾薬:01 d:T_ITEM_POS_A24C_0_02 0

	}



	@アイテム再セットチェック $b:w24c_取得ロード回数[2]

	if ($f:再セットフラグ) {

		@弾薬_ＵＳＰ_初期設置 ＵＳＰ弾薬:01 d:T_ITEM_POS_A24C_0_03 0

	}

}





