/*

	a20a_bomb.h

		Ｅ脚集配場(アナザーミッション用モード別設定ファイル)



	2002/02/01 H.Yoshiike         

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



	

*/



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

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

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

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







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

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

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

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

	#if d:DEBUG_PRINT 

		print 'proc_set1-bomb_misson'

	#endif



	// 共通システムの起動 $:クリア条件フラグ $:タイマー初期値

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

}



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

	#if d:DEBUG_PRINT 

		print 'proc_set2-bomb_misson'

	#endif



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

	command マップ設定 Ｅ脚１Ｆ Ｅ脚２Ｆ Ｅ脚Ｂ１ Ｅ脚Ｂ１倉庫 Ｅ脚Ｂ１梯子部屋 -set {

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

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

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

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

	}



	command マップ設定 Ｅ脚１Ｆ -set {

		@爆弾解体ミッション用監視カメラ設置

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

	}



	command マップ設定 Ｅ脚Ｂ１ -set {

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

	}



	command マップ設定 Ｅ脚Ｂ１倉庫 -set {

		@爆弾解体ミッション用Ｅ脚Ｂ１倉庫アイテム設置

	}



	command マップ設定 Ｅ脚Ｂ１梯子部屋 -set {

		@爆弾解体ミッション用Ｅ脚Ｂ１梯子部屋アイテム設置

	}



}







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

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

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

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



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

}







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

// 変数に関する設定

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

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

	#if d:DEBUG_PRINT 

		print 'stage_var_set-bomb_misson'

	#endif



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

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

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

	$$b:ドアフラグ[0] = d:DOOR_FLAG_OPEN;	// ＤＥ連絡橋へのドア

	$$b:ドアフラグ[1] = d:DOOR_FLAG_OPEN;	// ＥＦ連絡橋へのドア

	$$b:ドアフラグ[2] = d:DOOR_FLAG_OPEN;	// ヘリポートへのドア

	$$b:ドアフラグ[3] = d:DOOR_FLAG_OPEN;	// 倉庫へのドア

	$$b:ドアフラグ[4] = d:DOOR_FLAG_OPEN;	// はしご部屋へのドア

}







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

// 敵兵に関する設定

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

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

	#if d:DEBUG_PRINT 

		print 'watcher_set-bomb_misson'

	#endif



	@A_警備兵 敵兵:01 d:E_R:定時連絡ルート 0 (d:ENE_STATUS_GUNLIGHT | d:ENE_STATUS_REPORT) 50500,0,-94500 Ｅ脚１Ｆ

	@A_警備兵 敵兵:02 d:E_R:中央巡回ルート 0 d:ENE_STATUS_GUNLIGHT 50250,0,-82500 Ｅ脚１Ｆ

	@A_警備兵 敵兵:03 d:E_R:階段巡回ルート 0 d:ENE_STATUS_GUNLIGHT 63500,0,-90250 Ｅ脚１Ｆ



}



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

	#if d:DEBUG_PRINT 

		print 'attacker_set-bomb_misson'

	#endif



	@A_探索攻撃兵 敵兵:61 d:E_R:攻撃兵待機ルート下 d:ENE_STATUS_GUNLIGHT d:ENE_EQUIP_TYPE_NORMAL d:E_R:警戒追加ルート

	@A_攻撃兵 敵兵:62 d:E_R:攻撃兵待機ルート下 d:ENE_STATUS_GUNLIGHT d:ENE_EQUIP_TYPE_SHOTGUN

	@A_攻撃兵 敵兵:63 d:E_R:攻撃兵待機ルート下 d:ENE_STATUS_GUNLIGHT d:ENE_EQUIP_TYPE_NORMAL

}



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 爆弾解体ミッション用攻撃兵セット

}







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

	#if d:DEBUG_PRINT

		print 'commander_set-bomb_misson'

	#endif



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

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

		-a 爆弾解体ミッション用攻撃兵コマンダー \

		-m $w:スタートアラートモード \

		-r	40625,0,-98125 Ｅ脚１Ｆ \

			61750,5500,-83500 Ｅ脚２Ｆ \

		-c	40625,0,-98125 Ｅ脚１Ｆ \

			61750,5500,-83500 Ｅ脚２Ｆ \

		-x [ghq_area_alert_voice:w20a] \

		-y [ghq_caution_voice:w20a] \

		-v [ene_plant_voice:01] \

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

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

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

		-f	d:E_R:定時連絡ルート 2 t:vc044023 t:vc044023_len \

			d:E_R:定時連絡ルート 15 t:vc044023 t:vc044023_len \

			d:E_R:定時連絡ルートＥＸ 1 t:vc044023 t:vc044023_len \

		-s (d:ENE_STAGE_GPS | d:ENE_STAGE_VR_ANOTHER) \

		-d Ｅ脚１Ｆ \

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

		-p 	0, -1, -1 クリアリングエリア０初期設定 \

			0, -3, -3 クリアリング回避回数処理 \

			-2, -2, -2 クリアリングカメラオフ



	// クリアリング子画面チェック

	@クリアリング子画面チェック

}







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

// 監視カメラに関する設定

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

proc 爆弾解体ミッション用監視カメラ破壊時処理 $:名前 $:フラグ {

	if ( $:名前 == 北カメラ ) {

		eval( $b:a20a_カメラ破壊ロード回数[0] = $w:グローバルロード回数);	

		eval( $b:a20a_カメラ破壊フラグ[0] = $:フラグ );

	} else if ( $:名前 == 南カメラ ) {

		eval( $b:a20a_カメラ破壊ロード回数[1] = $w:グローバルロード回数);	

		eval( $b:a20a_カメラ破壊フラグ[1] = $:フラグ );

	} else if ( $:名前 == 東カメラ ) {

		eval( $b:a20a_カメラ破壊ロード回数[2] = $w:グローバルロード回数);	

		eval( $b:a20a_カメラ破壊フラグ[2] = $:フラグ );

	}



}



proc 爆弾解体ミッション用監視カメラ設置 {

	#if d:DEBUG_PRINT

		print 'a20a0_svc_camera_set-bomb_mission'

	#endif



	// 北側のカメラ

	@カメラ再セットチェック $b:a20a_カメラ破壊ロード回数[0]

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

		eval( $b:a20a_カメラ破壊フラグ[0] = 0 );

	}

	@A_監視カメラ 北カメラ 48950 3000 -95100 496 1024 1863 0 $b:a20a_カメラ破壊フラグ[0]





	// 南側のカメラ

	@カメラ再セットチェック $b:a20a_カメラ破壊ロード回数[1]

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

		eval( $b:a20a_カメラ破壊フラグ[1] = 0 );

	}

	@A_監視カメラ 南カメラ 48950 3000 -82100 364 1024 317 0 $b:a20a_カメラ破壊フラグ[1]





	// 東側のカメラ

	@カメラ再セットチェック $b:a20a_カメラ破壊ロード回数[2]

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

		eval( $b:a20a_カメラ破壊フラグ[2] = 0 );

	}

	@A_監視カメラ 東カメラ 55950 3000 -82900 452 1024 1433 0 $b:a20a_カメラ破壊フラグ[2]





}





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

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

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

proc 爆弾解体ミッション用アイテム取得時番号設定 $:ボックス名 {

	#if d:DEBUG_PRINT

		print 'item_no_set-bomb_misson'

	#endif



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

		eval( $b:w20a_取得ロード回数[d:I_NO:M9_R01] = $w:グローバルロード回数 );

	} else if ( $:ボックス名 == ソコム弾:01 ) {

		eval( $b:w20a_取得ロード回数[d:I_NO:SOCOM_R01] = $w:グローバルロード回数 );

	} else if ( $:ボックス名 == ソコム弾:02 ) {

		eval( $b:w20a_取得ロード回数[d:I_NO:SOCOM_R02] = $w:グローバルロード回数 );

	} else if ( $:ボックス名 == ソコム弾:03 ) {

		eval( $b:w20a_取得ロード回数[d:I_NO:SOCOM_R03] = $w:グローバルロード回数 );

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

		eval( $b:w20a_取得ロード回数[d:I_NO:M4_R01] = $w:グローバルロード回数 );

	} else if ( $:ボックス名 == スタン:01 ) {

		eval( $b:w20a_取得ロード回数[d:I_NO:STUN_01] = $w:グローバルロード回数 );

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

		eval( $b:w20a_取得ロード回数[d:I_NO:RATION_01] = $w:グローバルロード回数 );

	} else if ( $:ボックス名 == ＰＳＧ１－Ｔ弾:01 ) {

		eval( $b:w20a_取得ロード回数[d:I_NO:PSG1T_R01] = $w:グローバルロード回数 );

	} else if ( $:ボックス名 == スティンガー弾:01 ) {

		eval( $b:w20a_取得ロード回数[d:I_NO:STINGER_R01] = $w:グローバルロード回数 );

	} else if ( $:ボックス名 == ＺＯＥダンボール ) {

		eval( $f:w20a_アイテム再セット１ = 0 );

	}





}





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

	#if d:DEBUG_PRINT

		print 'w20a0_item_set-bomb_misson'

	#endif



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

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

		@弾薬_Ｍ９_初期設置 Ｍ９弾:01 52000 0 -87500 0				// 中央荷物の中

	}



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

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

		@弾薬_ソコム_初期設置 ソコム弾:01 48000 -250 -100000 0			// 北側棚の下左

	}



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

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

		@弾薬_ソコム_初期設置 ソコム弾:02 56000 -250 -100000 0			// 北側棚の下右

	}



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

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

		@弾薬_Ｍ４_初期設置 Ｍ４弾:01 53500 0 -84750 0				// 荷物の中

	}



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

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

		@スタン_初期設置 スタン:01 51500 -250 -92000 0 				// 北側ベルトコンベアの下

	}



	// ZOEダンボール。なくなると自動的に再発生

	@ダンボールＥ_初期設置 ＺＯＥダンボール 57500 750 -94500 0 25	// 台の上





	// 狙撃イベント後に増設するアイテム

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

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

		@弾薬_ＰＳＧ１－Ｔ_初期設置 ＰＳＧ１－Ｔ弾:01 55500 0 -81500 0 	// ベルトコンベアの南西

	}



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

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

		@弾薬_スティンガー_初期設置 スティンガー弾:01 50000 -250 -96500 0		// 北側ベルトコンベアの下

	}



}



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

	#if d:DEBUG_PRINT

		print 'w20a2_item_set-bomb_misson'

	#endif



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

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

		@レーション_初期設置 レーション:01 42750 -4750 -86000 0		// ダクトの中

	}



	// 地雷探知機は持ってないときは無条件に設置(ロード回数は関係なし)

	if ( $w:アイテム数Ｒ[ d:アイテム:地雷探知器 ] == 0 ) {

		@地雷探知器_初期設置 地雷探知器 46500 -4500 -87000 0		// Ｅ脚Ｂ１ダンボールのところ

	}

}



proc 爆弾解体ミッション用Ｅ脚Ｂ１倉庫アイテム設置 {

	#if d:DEBUG_PRINT

		print 'w20a3_item_set-bomb_misson'

	#endif



	// デジカメは持ってないときは無条件に設置(ロード回数は関係なし)

	if ( $w:アイテム数Ｒ[ d:アイテム:デジカメ ] == 0 ) {

		@デジカメ_初期設置 デジカメ 42500 -4500 -96000 0		// Ｅ脚Ｂ１倉庫ダンボールのところ

	}



	// 倉庫内でＺＯＥダンボールがなくなった時のために再発生機構をねじ込んでおく

	if ( $w:p_story < d:ST:P069_02_R01ヴァンプ狙撃終了２無線機デモ１終了 ) {

		trap ca301 d:PLAYER \

			-mask いる \

			-exec {

				if( $w:アイテム数Ｒ[ d:アイテム:ダンボールＥ ] == 0 \

					&& (`command カメラ視界チェック -camera 0x01 \

							-bound (40500-1000) (-4500) (-92000-1000) \

							       (40500+1000) (-3500) (-92000+1000)` == 0) && \

					( $i:プレイヤー位置Ｘ <= 44000 ) ) {

	

					if($f:w20a_アイテム再セット１ == 0) {

						@ダンボールＥ_初期設置 ＺＯＥダンボール 40500 -4500 -92000 0 25	// 左下

						eval( $f:w20a_アイテム再セット１ = 1 );

					}

				}

			}

	}

}



proc 爆弾解体ミッション用Ｅ脚Ｂ１梯子部屋アイテム設置 {

	#if d:DEBUG_PRINT

		print 'w20a2_item_set-bomb_misson'

	#endif



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

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

		@弾薬_ソコム_初期設置 ソコム弾:03 53000 -4500 -93000 0			// 北側棚の下右

	}

}





