/*

	a24c_bomb.h

	    人質部屋（アナザーミッション用モード別設定ファイル）



	2002/01/30 S.Mukaide

	$Id: a24c_bomb.h,v 1.6 2002/07/16 06:19:45 usr03682 Exp $





*/





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

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

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

#define	MISSION_BOMB	1	// 爆弾解体用プロック起動用



#define		警備兵巡回ルート１		1

#define		警備兵巡回ルート１＿２	110

#define		警備兵巡回ルート２		83

#define		警備兵巡回ルート３		82

#define		警備兵巡回ルート４		81

#define		警備兵巡回ルート５		84

//#define		警備兵巡回ルート６		85

//#define		警備兵スタジオ待機		75

#define		警備兵スタジオ脱出		76		//	a24c.gclで必要

#define		警備兵増員連絡１		77

#define		警備兵増員連絡２		78

#define		警備兵増員連絡３		79

#define		警備兵増員連絡４		80

#define		攻撃兵階段上待機１		58		//	a24c.gclで必要

#define		攻撃兵階段上待機２		59		//	a24c.gclで必要

#define		攻撃兵階段上待機３		60		//	a24c.gclで必要

#define		攻撃兵階段上待機４		61		//	a24c.gclで必要

#define		攻撃兵スタジオ待機１	6		//	a24c.gclで必要

#define		攻撃兵スタジオ待機２	7		//	a24c.gclで必要

#define		攻撃兵スタジオ待機３	8		//	a24c.gclで必要

#define		攻撃兵スタジオ待機４	9		//	a24c.gclで必要

#define		ライデン取り囲み１		86		//	a24c.gclで必要

#define		ライデン取り囲み２		87		//	a24c.gclで必要

#define		ライデン取り囲み３		88		//	a24c.gclで必要

#define		ライデン取り囲み４		89		//	a24c.gclで必要



//#define		ライデ	0x03000000







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

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

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

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

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

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

proc 爆弾解体ミッション用マップ定義前設定 {

	@全ミッション共通システム設定 d:VR_COUNT_DOWN

}







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

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

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

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

人質部屋

*/

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

proc 爆弾解体ミッション用マップ定義後設定 {

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

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

		@爆弾解体ミッション用サウンド設定	// データは最初に呼ぶ

		@爆弾解体ミッション用変数設定		// ドアのスイッチなどの変数を設定

		@爆弾解体ミッション用コマンダー設定

		@爆弾解体ミッション用ＢＧＭ設定		// プレイヤー→敵兵→BGMの順で呼ぶ

		@爆弾解体ミッション用アイテム設置

		@爆弾解体ミッション用人質コマンダー設定

		@爆弾解体ミッション用人質設定

	}

}







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

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

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

proc 爆弾解体ミッション用クリア時処理 {

	#if d:DEBUG_PRINT 

	print 'clear'

	#endif

}







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

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

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

proc 爆弾解体ミッション用サウンド設定 {

	#if d:DEBUG_PRINT 

		print 'sound_set-bomb_misson'

	#endif



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

		-pak 0



	//		ＳＥ設定

	@サウンド効果音設定

}



proc 爆弾解体ミッション用ＢＧＭ設定 {

	#if d:DEBUG_PRINT

		print 'bgm_set-bomb_misson'

	#endif

/*

	//ここはゲームオーバーデモのために特殊

	if ($s:登場ポイント == 盗聴イベント){

	} else if ($s:登場ポイント == オセロット接近イベント) {

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

	} else {

		command セットサウンドコード -c d:SNG_PLAY_05

	}

*/

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



/*

	//服装によってＢＧＭ変化

	trap ca001 d:PLAYER \

		-mask ？ \

		-item d:アイテム:ゴル兵制服 \

		-exec {

			if ($3 == 入る) {

			#if d:DEBUG_PRINT

				print 'ゴル兵ＢＧＭにチェンジ！！！'

			#endif

				command セットサウンドコード -c d:SD_AUTO_FADER2

			} else {

			#if d:DEBUG_PRINT

				print '普通ＢＧＭにチェンジ！！！'

			#endif

				command セットサウンドコード -c d:SD_AUTO_FADER1

			}

		}

*/

}







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

// 変数に関する設定

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

proc 爆弾解体ミッション用変数設定 {

	#if d:DEBUG_PRINT 

		print 'stage_var_set-bomb_misson'

	#endif



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

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

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

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

}







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

// 敵兵に関する設定

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

proc 爆弾解体ミッション用警備兵セット {

	#if d:DEBUG_PRINT 

		print 'watcher_set-bomb_misson'

	#endif

	//	A_警備兵 $:名前 $:ルート $:ノード $:ステータス $:守備Ｘ $:守備Ｙ $:守備Ｚ $:守備マップ



	@A_警備兵 敵兵:01 d:警備兵巡回ルート１＿２ 0 \

	(d:ENE_STATUS_ENDLES_CHASE | d:ENE_STATUS_BIG_SNORE | \

	d:ENE_STATUS_REPORT|d:ENE_STATUS_TALK_SLEEP) \

	10250,-8500,-65000 人質部屋

#if 1

	@A_警備兵 敵兵:02 d:警備兵巡回ルート２ 0 \

	(d:ENE_STATUS_ENDLES_CHASE | d:ENE_STATUS_BIG_SNORE | \

	d:ENE_STATUS_REPORT|d:ENE_STATUS_TALK_SLEEP) \

	10250,-8500,-65000 人質部屋 



	@A_警備兵 敵兵:03 d:警備兵巡回ルート３ 0 \

	(d:ENE_STATUS_ENDLES_CHASE | d:ENE_STATUS_BIG_SNORE | \

	d:ENE_STATUS_REPORT|d:ENE_STATUS_TALK_SLEEP) \

	10250,-8500,-65000 人質部屋 



	@A_警備兵 敵兵:04 d:警備兵巡回ルート４ 0 \

	(d:ENE_STATUS_ENDLES_CHASE | d:ENE_STATUS_BIG_SNORE | \

	d:ENE_STATUS_REPORT|d:ENE_STATUS_TALK_SLEEP) \

	10250,-8500,-65000 人質部屋 



	@A_警備兵 敵兵:05 d:警備兵巡回ルート５ 0 \

	(d:ENE_STATUS_ENDLES_CHASE | d:ENE_STATUS_BIG_SNORE | \

	d:ENE_STATUS_REPORT|d:ENE_STATUS_TALK_SLEEP) \

	10250,-8500,-65000 人質部屋 

#endif

	//	とりあえず全員配置

	//	増員パターンにするときは@人質部屋増員連絡を使用して改良する

}



proc 爆弾解体ミッション用攻撃兵セット {

	#if d:DEBUG_PRINT 

		print 'attacker_set-bomb_misson'

	#endif

	//	A_攻撃兵 $:名前 $:ルート $:ステータス $:装備

	//	A_サポート攻撃兵 $:名前 $:ルート $:ステータス $:装備 $:サポートする敵兵名

}



proc 爆弾解体ミッション用警備兵コマンダー {

	#if d:DEBUG_PRINT

		print 'wccomm_set-bomb_misson'

	#endif



	chara 警備コマンダー wccomm -e { 爆弾解体ミッション用警備兵セット }

}



proc 爆弾解体ミッション用攻撃兵コマンダー {

	#if d:DEBUG_PRINT

		print 'atcomm_set-bomb_misson'

	#endif



	chara 攻撃コマンダー atcomm \

		-e { 爆弾解体ミッション用攻撃兵セット } \

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

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

		-status 0x01

}



proc 爆弾解体ミッション用コマンダー設定 {

	#if d:DEBUG_PRINT

		print 'commander_set-bomb_misson'

	#endif



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

		-w 爆弾解体ミッション用警備兵コマンダー \

		-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 $w:スタートアラートモード \

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

		-e	d:警備兵増員連絡１ 0 増員兵スタート前チェック \

			d:警備兵増員連絡２ 0 増員兵スタート前チェック \

			d:警備兵増員連絡３ 0 増員兵スタート前チェック \

			d:警備兵増員連絡４ 0 増員兵スタート前チェック \

			d:警備兵増員連絡１ 2 増員兵スタート \

			d:警備兵増員連絡２ 2 増員兵スタート \

			d:警備兵増員連絡３ 2 増員兵スタート \

			d:警備兵増員連絡４ 2 増員兵スタート \

		-f	d:警備兵増員連絡１			2 t:vc041000 t:vc041000_len \

			d:警備兵増員連絡２			2 t:vc041000 t:vc041000_len \

			d:警備兵増員連絡３			2 t:vc041000 t:vc041000_len \

			d:警備兵増員連絡４			2 t:vc041000 t:vc041000_len \

			d:警備兵巡回ルート１		1 t:vc043201 t:vc043201_len \

			d:警備兵巡回ルート１		4 t:vc043201 t:vc043201_len \

			d:警備兵巡回ルート１		8 t:vc043201 t:vc043201_len \

			d:警備兵巡回ルート１		10 t:vc043201 t:vc043201_len \

			d:警備兵巡回ルート１		13 t:vc043201 t:vc043201_len \

			d:警備兵巡回ルート１		18 t:vc043201 t:vc043201_len \

			d:警備兵巡回ルート１＿２	4 t:vc043201 t:vc043201_len \

			d:警備兵巡回ルート１＿２	12 t:vc043201 t:vc043201_len \

			d:警備兵巡回ルート１＿２	28 t:vc043201 t:vc043201_len \

			d:警備兵巡回ルート１＿２	38 t:vc043201 t:vc043201_len \

			d:警備兵巡回ルート１＿２	55 t:vc043201 t:vc043201_len



}







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

// 人質に関する設定

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

proc 爆弾解体ミッション用人質死亡プロック {

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

		@ゲームオーバー背景設定

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

			command メニュー設定 -menu off -gage off  -radar off -subwin off

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

		}

	}

}



proc NULL_PROC {



}



proc 爆弾解体ミッション用人質コマンダー設定 {



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

		-e	爆弾解体ミッション用人質死亡プロック \		//人質死亡

			NULL_PROC \		//発見された

			NULL_PROC \		//人質死亡

			NULL_PROC \		//敵兵死亡

			NULL_PROC \		//敵兵の無線が破壊された時に呼ばれる

			NULL_PROC \		//敵兵がホールドアップしたとき呼ばれる

			NULL_PROC \		//敵兵が気絶すると呼ばれる

			NULL_PROC \		//チャフ使用した

			NULL_PROC \		//警戒モードになった

			NULL_PROC \		//人質を殴った

		-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		//コマンダーがいないときの人質イベントの記述



}



proc 爆弾解体ミッション用人質設定 {

	#if d:DEBUG_PRINT

		print 'hos_set'

		print '爆弾解体人質設定'

	#endif



	eval ($b:エイムズ番号 = 20);



	command foreach -argc 8 -repeat 27 \

		-data { \



		//左上の島

		{人質１		,-5750	,-60000	,0		,d:def_ハリソン			,d:HSTG_STATUS_NO_EIMS,hos_a	,0}\

		{人質２		,-4750	,-60000	,0		,d:def_カトチャン		,d:HSTG_STATUS_JITABATA2,hos_b	,1}\

		{人質３		,-3500	,-59000	,3072	,d:def_七三分け			,(d:HSTG_STATUS_SOPPO | d:HSTG_STATUS_NO_EIMS),hos_a	,2}\

		{人質４		,-3500	,-58000	,3072	,d:def_ヒゲオールバック	,d:HSTG_STATUS_JITABATA2,hos_b	,3}\

		{人質６		,-8000	,-58500	,1024	,d:def_ウィルスミス		,d:HSTG_STATUS_NO_EIMS2,hos_a	,4}\

		{人質７		,-8000	,-57500	,1024	,d:def_スナイプス		,d:HSTG_STATUS_JITABATA2,hos_b	,5}\

		{キャシー１	,-8000	,-56500	,1024	,d:def_キャシー			,d:HSTG_STATUS_PEE,hosf_d	,100}\





		//右上の島

		{人質１１	,2500	,-59000	,1024	,d:def_ヒゲカトチャン	,d:HSTG_STATUS_PEE,hos_c	,6}\

		{人質１２	,2500	,-58000	,1024	,d:def_ヒゲオールバック	,d:HSTG_STATUS_JITABATA2,hos_a	,7}\

		{ジェニファー,1000	,-57500	,0		,d:def_ラヴヒューイット	,(d:HSTG_STATUS_SOPPO | d:HSTG_STATUS_NOEIMS_OL),hosf_e	,100}\

		{人質１４	,2000	,-57500	,0		,d:def_スナイプス		,d:HSTG_STATUS_JITABATA2,hos_c	,8}\

		{キャシー２	,4500	,-58550	,3072	,d:def_キャシー			,d:HSTG_STATUS_JITABATA,hosf_d	,100}\

		{人質１７	,4500	,-56550	,3072	,d:def_ハリソン			,d:HSTG_STATUS_NO_EIMS,hos_a	,9}\





		//左下の島

		{人質１８	,-7500	,-48250	,3072	,d:def_ヒゲオールバック	,d:HSTG_STATUS_JITABATA2,hos_b	,10}\

		{人質１９	,-7250	,-48000	,0		,d:def_七三分け			,d:HSTG_STATUS_NO_EIMS,hos_b	,11}\

		{人質２０	,-5750	,-47500	,0		,d:def_ウィルスミス		,d:HSTG_STATUS_JITABATA2,hos_a	,12}\



		//デモで決まってる3人

		{人質２１	,-3500	,-51250	,3072	,d:def_ウィルスミス		,d:HSTG_STATUS_JITABATA2,hos_c	,13}\

		{キャシー３	,-4750	,-49250	,2048	,d:def_キャシー			,d:HSTG_STATUS_SOPPO,hosf_d	,100}\

		{人質２３	,-5250	,-53250	,0		,d:def_スナイプス		,d:HSTG_STATUS_JITABATA2,hos_a	,14}\





		//右下の島

		{人質２５	,2500	,-51000	,1024	,d:def_ヒゲハリソン		,d:HSTG_STATUS_PEE,hos_c	,15}\

		{人質２６	,2500	,-50000	,1024	,d:def_オールバック		,d:HSTG_STATUS_NO_EIMS2,hos_a	,16}\

		{人質２７	,2000	,-49500	,0		,d:def_ヒゲカトチャン	,(d:HSTG_STATUS_SOPPO | d:HSTG_STATUS_FOOT),hos_c	,17}\

		{キャシー４	,4500	,-52750	,3072	,d:def_キャシー			,d:HSTG_STATUS_JITABATA,hosf_d	,100}\

		{人質２９	,4500	,-51750	,3072	,d:def_ウィルスミス		,d:HSTG_STATUS_MAIL,hos_a	,18}\

		{人質３０	,4500	,-50500	,3072	,d:def_七三分け			,d:HSTG_STATUS_JITABATA2,hos_b	,19}\







		{エイムズ	,-3000	,-49550	,0		,0						,d:hos_ames,hos_a	,20}\



		{ジョニー	,-12750	,-62000	,3072	,d:def_七三分け			,d:HSTG_STATUS_SOPPO,hos_b	,21}\







	} \

	-exec { \



		if ($4 == 0) {

			eval($i:人質Ｘ座標 = $2)

			eval($i:人質Ｚ座標 = $3 + 200)



		} else if ($4 == 1024) {

			eval($i:人質Ｘ座標 = $2 + 200)

			eval($i:人質Ｚ座標 = $3)



		} else if ($4 == 2048) {

			eval($i:人質Ｘ座標 = $2)

			eval($i:人質Ｚ座標 = $3 - 200)



		} else if ($4 == 3072) {

			eval($i:人質Ｘ座標 = $2 - 200)

			eval($i:人質Ｚ座標 = $3)



		} else {

			eval($i:人質Ｘ座標 = $2)

			eval($i:人質Ｚ座標 = $3)

		}



		#if d:DEBUG_PRINT

		print 'エイムズは！！！！'$b:エイムズ番号

		#endif



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

		if ($6 & d:HSTG_STATUS_MAIL) {

			eval($i:人質ステータス = (($i:人質ステータス & ~ d:HSTG_STATUS_MAIL) | d:HSTG_STATUS_JITABATA2))

		}



		if ($8 == $b:エイムズ番号) {

			eval($b:エイムズモデル = 0)

			eval($i:ローカル変数Ｉ２ = d:hos_ames)

		#if d:DEBUG_PRINT

			print 'エイムズ設置'

		#endif

			chara 人質達 エイムズ -p $i:人質Ｘ座標,-8500,$i:人質Ｚ座標 -d $4 -k $b:エイムズモデル -s $i:ローカル変数Ｉ２ -m $7

			//	エイムズランダムのときはこれでキャラクタを置き換える

			if($b:エイムズ番号 != 20){

				@人質モデル設定 $1 -3000 (-49550+200) 0 $5 $i:人質ステータス $7

			}

		}else if ($8 != 20) {

			@爆弾解体ミッション用人質モデル設定 $1 $i:人質Ｘ座標 $i:人質Ｚ座標 $4 $5 $i:人質ステータス $7

		}



		if ($1 == ジョニー) {

		#if d:DEBUG_PRINT

			print '人質設置終わりぷりんぷりーん'

		#endif

		}

		@人質ガード透明壁 $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 'item_no_set-bomb_misson'

	#endif



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

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

	} else if ($:ボックス名 == 止血剤１) {

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

	}



	#if d:DEBUG_PRINT

		print $:ボックス名

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

	#endif

}



proc 爆弾解体ミッション用アイテム設置 {

	#if d:DEBUG_PRINT

		print 'w24c_item_set-bomb_misson'

	#endif



	if($w:アイテム数Ｒ[d:アイテム:サーマルゴーグル] == 0){

		@サーマルゴーグル_初期設置 サーマルゴーグル -10000 -7500 -54500 0

	}



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

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

		@レーション_初期設置 レーション１ 7750 -8500 -51000 0

	}



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

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

		@止血剤_初期設置 止血剤１ -11000 -8500 -48500 0

	}

}





