/*

	a41a_bomb.h

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



	2002/02/04 S.Mukaide

	$Id: a41a_bomb.h,v 1.19 2002/09/08 08:13:13 usr03682 Exp $





*/





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

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

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

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







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

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

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

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

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

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

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

	#if d:DEBUG_PRINT

		print 'proc_set1-bomb_misson'

	#endif



	if ( $f:爆弾解体ミッションＶＲウィンドウ表示フラグ == 0 ) {

		// 他のステージからロードしてきたときは前のステージのタイムを引き継ぐ

		$$i:ライデンタイム 				= $i:爆弾解体タイマー残り時間;

		$$i:スネークタイム 				= $i:爆弾解体タイマー残り時間;

		$$i:プリスキンタイム 			= $i:爆弾解体タイマー残り時間;

		$$i:タキシードスネークタイム 	= $i:爆弾解体タイマー残り時間;

		$$i:刀ライデンタイム 			= $i:爆弾解体タイマー残り時間;

		$$i:前作スネークタイム			= $i:爆弾解体タイマー残り時間;

	} else {

		// ウィンドウが表示される場合はみねうちフラグとキルカウント、発見回数を初期化する

		command セットＶＲキルカウント 0

		command セットＶＲ発見回数 0

		@爆弾解体用キャラ別標準装備設定

	}



	// 共通システムの起動 (爆弾解体ミッションは共通で処理するようになったので引数は見なくなりました)

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



	// ウィンドウの表示（最初のロードのときのみ）

	if ( $f:爆弾解体ミッションＶＲウィンドウ表示フラグ == 1 ) {

		@爆弾解体ミッション４面ＶＲウィンドウ設定

	} else {

		// セレクトを押したときに出る説明

		@爆弾解体ミッションロード後用ＶＲウィンドウ設定

		// プレイヤーが動けるようになったらタイマーをスタートさせる処理

		@ロード時ＶＲタイマー処理

	}



	$$i:ＶＲクリアフラグ = d:VRCLR_NO_RETRY;	// プログラムでＲＥＴＲＹをかけない

	@ＶＲクリア設定 p:load_alt_bomb_a01f p:load_alt_bomb_a41a



	if ( $s:選択プレイヤー == 前作スネーク ) {

		// 前作スネークのときのみレーダーをオフにする

		// レーダーの設定

		command メニュー設定 -node_access off

	}



	command セットルートオフセット d:SCN:スネークテイルズ -c d:SCN:通常

}







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

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

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

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

拷問部屋

*/

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

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



	// プレイヤー起動後、ウインドウを表示するときはプレイヤーを消す

	if ( $f:爆弾解体ミッションＶＲウィンドウ表示フラグ == 1 ) {

		command プレイヤー消去キャラ

		// フラグはすぐに寝かす

		$f:爆弾解体ミッションＶＲウィンドウ表示フラグ = 0

	}



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

	command マップ設定 拷問部屋 -set {

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

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

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

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

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



		@爆弾解体ミッション用解体Ｃ４設置

	}

}



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

// ＶＲウィンドウの設定と表示

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

proc 爆弾解体ミッション４面ＶＲウィンドウ設定 {

	#if d:DEBUG_PRINT

		print 'vr_window_set-bomb LEVEL3'

	#endif



	@爆弾解体ミッションＶＲウィンドウ設定 p:爆弾解体ミッション４面ステージ開始時処理





	// ＶＲウィンドウを表示する

	mesg ＶＲウィンドウ ＶＲウィンドウ君 開く



	// スタート時とクリア時に使用するカットインカメラ

	chara カメラ カットインカメラ		-c 0 -l 0 -p  0



	// スタート時のカメラ(必要な場合)

	chara カメラ設定 カットインカメラ \

		-c 1 \

		-p 5250,4656,-4688 -t 5250,1140,-6250 \

		-r 700,2048,0 -f 4000 \

		-a 200 \

		-i 0 -1 0 0 \

		-s 1



}



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

// ステージ開始時処理

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

proc 爆弾解体ミッション４面ステージ開始時処理 {

	#if d:DEBUG_PRINT

		print 'game_start!!!!!'

	#endif



	// プレイヤーやパッドの制御等を行う a_stdproc.hで定義

	@全ミッション共通ステージ開始時処理



	// カメラワークスタート(必要な場合)

	// 全体図

	chara カメラ設定 カットインカメラ \

		-c 1 \

		-p 5250,4656,-4688 -t 5250,1140,-6250 \

		-r 700,2048,0 -f 4000 \

		-a 200 \

		-i 4 4 d:START_CAMERA_CHANGE_TIME d:START_CAMERA_CHANGE_TIME \

		-s 1



	chara delay ディレイ \

		-time d:START_CAMERA_CHANGE_TIME \

		-exec {

			chara カメラ設定 カットインカメラ -s -1

		}



}





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

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

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

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

	#if d:DEBUG_PRINT

		print 'clear'

	#endif



	@各ミッション共通モーションなしクリア処理

}







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

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

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

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

	#if d:DEBUG_PRINT

		print 'sound_set-bomb_misson'

	#endif



	@サウンドデータ常駐読み替え設定



	if( $s:登場ポイント == 天狗通路Ａから ) {

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

			-pak 1

	} else {

		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



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

	// ドアに関する設定

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

	eval ($$b:ドアフラグ[0] = d:DOOR_FLAG_OPEN);	// 廊下東ドア

	eval ($$b:ドアフラグ[1] = d:DOOR_FLAG_OPEN);	// 廊下西ドア

}







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

// 敵兵に関する設定

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

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

	#if d:DEBUG_PRINT

		print 'watcher_set-bomb_misson'

	#endif



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



}



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

	#if d:DEBUG_PRINT

		print 'attacker_set-bomb_misson'

	#endif



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

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

}



proc 爆弾解体ミッション用天狗兵セット {

	#if d:DEBUG_PRINT

		print 'teng_set-bomb_misson'

	#endif



	//	A_天狗兵Ａ $:名前 $:ルート $:敵潜入視力 $:敵危険視力

	@A_天狗兵Ａ 敵兵:61 5 $w:敵潜入視力 $w:敵危険視力

}



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

	#if d:DEBUG_PRINT

		print 'wccomm_set-bomb_misson'

	#endif



}



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

	#if d:DEBUG_PRINT

		print 'atcomm_set-bomb_misson'

	#endif



}



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

	#if d:DEBUG_PRINT

		print 'tengcomm_set-bomb_misson'

	#endif

	chara 天狗兵コマンダー tng_com \

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

		-type 0 \

		-avoid -1000,0,-2000 300

}



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

	#if d:DEBUG_PRINT

		print 'commander_set-bomb_misson'

	#endif



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

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

		-r 7000,0,-11000 拷問部屋 7000,0,-1500 拷問部屋 \

		-c 7000,0,-11000 拷問部屋 \

		-p 0,-1,-1 拷問部屋クリアリング設定 \

		-j	0 1 1 t:vc045072 t:vc045072_len \

			0 1 2 t:vc045071 t:vc045071_len \

			0 1 4 t:vc045073 t:vc045073_len \

		-v [ene_plant_voice:04] \

		-y [ghq_caution_voice:w41a] \

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

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

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

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

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

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

}







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

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

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

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

	#if d:DEBUG_PRINT

		print 'item_no_set-bomb_misson'

	#endif



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

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

	}



}

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

	#if d:DEBUG_PRINT

		print 'w41a_item_set-bomb_misson'

	#endif



	//	レーション

	@アイテム再セットチェック（難易度対応） $b:w41a_取得ロード回数[0]

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

		@レーション_初期設置 レーション:01 -5250 0 -3500 0			//	左側イントルードの中

	}

}





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

// 解体Ｃ４設置

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



	proc 爆弾解体ミッション用解体Ｃ４設置 {

		#if d:DEBUG_PRINT

			print 'bomb_set-bomb_misson'

		#endif



		switch ( $s:選択プレイヤー) {

			case ( ライデン ) {

				@ライデン用解体Ｃ４設置

			}

			case ( スネーク ) {

				@スネーク用解体Ｃ４設置

			}

			case ( プリスキン ) {

				@プリスキン用解体Ｃ４設置

			}

			case ( タキシードスネーク ) {

				@タキシードスネーク用解体Ｃ４設置

			}

			case ( 刀ライデン ) {

				@刀ライデン用解体Ｃ４設置

			}

			case ( 前作スネーク ) {

				@前作スネーク用解体Ｃ４設置

			}

		}

	}



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

// 爆弾を解体したときに呼ばれるプロック

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

	proc A_各ステージ別爆弾解体時処理 $:p_解体爆弾名 {

		#if d:DEBUG_PRINT

			print 'bomb_disposal $:p_解体爆弾名='$:p_解体爆弾名

		#endif



		switch ( $s:選択プレイヤー) {

			case ( ライデン ) {

				@ライデン用爆弾解体時プロック $:p_解体爆弾名

			}

			case ( スネーク ) {

				@スネーク用爆弾解体時プロック $:p_解体爆弾名

			}

			case ( プリスキン ) {

				@プリスキン用爆弾解体時プロック $:p_解体爆弾名

			}

			case ( タキシードスネーク ) {

				@タキシードスネーク用爆弾解体時プロック $:p_解体爆弾名

			}

			case ( 刀ライデン ) {

				@刀ライデン用爆弾解体時プロック $:p_解体爆弾名

			}

			case ( 前作スネーク ) {

				@前作スネーク用爆弾解体時プロック $:p_解体爆弾名

			}

		}



		// このエリアは全キャラ爆弾がひとつなので、解体したらマップの爆弾マークを取る

		command ＶＲ全体マップ表示３Ｄ＿爆弾解除 -b d:F_ARSENAL_41

		$i:A_全体マップ爆弾設置ステージ = ( $i:A_全体マップ爆弾設置ステージ & ~(d:F_ARSENAL_41) );

	}



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

// ライデン用爆弾プロック

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



	proc ライデン用解体Ｃ４設置 {

		@A_解体Ｃ４設置 解体Ｃ４:01 6750,600,1125 3072 0 0 \

			d:BOMB_A \			// タイプ

			1 \					// フラグ番号

			d:C4FLAG_NORMAL \	// フラグ

			bm001 \

			もやもや:01

	}



	proc ライデン用爆弾解体時プロック $:p_解体爆弾名 {

		switch ( $:p_解体爆弾名 ) {

			case ( 解体Ｃ４:01 ) {

				$b:A_爆弾解体終了状態フラグ[1] = 1;

				mesg 爆弾検知領域 もやもや:01 消去 d:BOMB_RADAR_OFF_TIME

			}

		}

	}



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

// スネーク用爆弾プロック

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



	proc スネーク用解体Ｃ４設置 {

		@A_解体Ｃ４設置 解体Ｃ４:11 -3750,700,0 1024 3072 0 \

			d:BOMB_A \			// タイプ

			1 \					// フラグ番号

			d:C4FLAG_NORMAL \	// フラグ

			bm011 \

			もやもや:11

	}



	proc スネーク用爆弾解体時プロック $:p_解体爆弾名 {

		switch ( $:p_解体爆弾名 ) {

			case ( 解体Ｃ４:11 ) {

				$b:A_爆弾解体終了状態フラグ[1] = 1;

				mesg 爆弾検知領域 もやもや:11 消去 d:BOMB_RADAR_OFF_TIME

			}

		}

	}



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

// プリスキン用爆弾プロック

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



	proc プリスキン用解体Ｃ４設置 {

		@A_解体Ｃ４設置 解体Ｃ４:21 -2000,3000,-3500 1024 0 0 \

			d:BOMB_B \			// タイプ

			1 \					// フラグ番号

			d:C4FLAG_NORMAL \	// フラグ

			bm021 \

			もやもや無し

	}



	proc プリスキン用爆弾解体時プロック $:p_解体爆弾名 {

		switch ( $:p_解体爆弾名 ) {

			case ( 解体Ｃ４:21 ) {

				$b:A_爆弾解体終了状態フラグ[1] = 1;

				command トラップ切り替え -trap bm021 -switch 0

			}

		}

	}



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

// タキシードスネーク用爆弾プロック

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



	proc タキシードスネーク用解体Ｃ４設置 {

		@A_解体Ｃ４設置 解体Ｃ４:31 1750,4000,-5250 1024 0 0 \

			d:BOMB_B \			// タイプ

			1 \					// フラグ番号

			d:C4FLAG_LIKE_CEILING \	// フラグ

			bm031 \

			もやもや無し

	}



	proc タキシードスネーク用爆弾解体時プロック $:p_解体爆弾名 {

		switch ( $:p_解体爆弾名 ) {

			case ( 解体Ｃ４:31 ) {

				$b:A_爆弾解体終了状態フラグ[1] = 1;

				command トラップ切り替え -trap bm031 -switch 0

			}

		}

	}



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

// 刀ライデン用爆弾プロック

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



	proc 刀ライデン用解体Ｃ４設置 {

		@A_解体Ｃ４設置 解体Ｃ４:41 -2250,180,-3700 1024 2048 0 \

			d:BOMB_B \			// タイプ

			1 \					// フラグ番号

			d:C4FLAG_NORMAL \	// フラグ

			bm041 \

			もやもや無し

	}



	proc 刀ライデン用爆弾解体時プロック $:p_解体爆弾名 {

		switch ( $:p_解体爆弾名 ) {

			case ( 解体Ｃ４:41 ) {

				$b:A_爆弾解体終了状態フラグ[1] = 1;

				command トラップ切り替え -trap bm041 -switch 0

			}

		}

	}



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

// 前作スネーク用爆弾プロック

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



	proc 前作スネーク用解体Ｃ４設置 {

		@A_解体Ｃ４設置 解体Ｃ４:51 750,500,-5250 0 (2048+512) 0 \

			d:BOMB_B \			// タイプ

			1 \					// フラグ番号

			d:C4FLAG_NORMAL \	// フラグ

			bm051 \

			もやもや無し

	}



	proc 前作スネーク用爆弾解体時プロック $:p_解体爆弾名 {

		switch ( $:p_解体爆弾名 ) {

			case ( 解体Ｃ４:51 ) {

				$b:A_爆弾解体終了状態フラグ[1] = 1;

				command トラップ切り替え -trap bm051 -switch 0

			}

		}

	}





