/*

	a24d_elim.h

	    電算室（敵兵排除ミッション用）

	    大元のファイルa24d.gcl

	2002/07/29 T.Ohtani

	$Id: a24d_elim.h,v 1.10 2002/08/27 13:36:56 usr13731 Exp $

*/

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

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

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

#define		MISSION_ELIM		1		// 敵兵排除用プロック起動用



enum E_R{

	攻撃兵出現位置南 = 0,

	攻撃兵出現位置北,

	雷道１ = 2,

	雷道２,

	雷道３,

	雷道４,

	ぷり１,

	ぷり２,

	ぷり３,

	ぷり４,

	辻斬１,

	辻斬２,

	辻斬３,

	辻斬４,

	辻斬５,

	蛇道１,

	蛇道２,

	蛇道３,

	蛇道４,

	滝蛇１,

	滝蛇２,

	滝蛇３,

	滝蛇４,

	昔蛇１,

	昔蛇２,

	昔蛇３,

	昔蛇４,

	昔蛇５,

}



// 警備とか、アイテムとかの位置。

#define 北道中央左 -500 -16000 -64500

#define 北道中央右 500 -16000 -64500

#define 部屋内左上 -2000 -16000 -57000

#define 部屋内右上 2000 -16000 -58000

#define 部屋内右下 2500 -16000 -50000

#define 部屋内左下 -3000 -16000 -50000

#define 部屋内入口 0 -16000 -48000

#define 部屋外入口 0 -16000 -46500

#define 部屋端末前 4000 -16000 -57000



// 右

#define 右北壁窪み 7500 -16000 -65500

#define 右通路中央 6500 -16000 -54000

#define 右ロッカ北 8750 -16000 -53000

#define 右ロッカ南 -8750 -16000 -52000

// 左

#define 左北壁窪み -7500 -16000 -65500

#define 左道窪ロ北 -8750 -16000 -53000

#define 左ロッカ北 -8750 -16000 -51000

#define 左ロッカ中 -8750 -16000 -50000

#define 左ロッカ南 -8750 -16000 -49000



// 敵兵ステータス

#define a24d_警備ST d:ENE_STATUS_NORMAL d:ENE_STATUS_NORMAL



// 攻撃兵は 		ステータス				拡張ステータス 		装備 の順

#define a24d_攻撃ST d:ENE_STATUS_NORMAL d:ENE_STATUS_NORMAL d:ENE_EQUIP_TYPE_NORMAL

#define a24d_散弾ST d:ENE_STATUS_NORMAL d:ENE_STATUS_NORMAL d:ENE_EQUIP_TYPE_SHOTGUN

#define a24d_光盾ST d:ENE_STATUS_NORMAL d:ENE_STATUS_NORMAL d:ENE_EQUIP_TYPE_LIGHT_SHIELD

#define a24d_盾兵ST d:ENE_STATUS_NORMAL d:ENE_STATUS_NORMAL d:ENE_EQUIP_TYPE_SHIELD



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

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

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

proc 敵兵排除ミッション用マップ定義前設定 {

	#if d:DEBUG_PRINT

		print 'proc_set1-elim_misson'

	#endif

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



	@敵兵排除ミッション５面ＶＲウィンドウ設定

	@ＶＲクリア設定 p:load_alt_elim_a24a p:load_alt_elim_a24d



	@敵兵排除ミッション用変数設定



	command セットルートオフセット	d:SCN:敵兵排除 // a_vardef.h のenum

}



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

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

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

proc 敵兵排除ミッション用マップ定義後設定 {



	// 全マップ共通基本キャラ設定

	command マップ設定 電算室 -set {

		@各ミッション用ゴール表示 -2500 -16000 -57500

		@敵兵排除ミッション用サウンド設定

		@敵兵排除ミッション用コマンダー設定

		@敵兵排除待機所変更

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

	}



	// 各マップで使用するキャラの設定(アイテム等)

	command マップ設定 電算室 -set {

		@敵兵排除ミッション電算室アイテム設置

	}

}



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

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

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

proc 敵兵排除ミッション５面ＶＲウィンドウ設定 {

	#if d:DEBUG_PRINT

		print 'vr_window_set-elim LEVEL5'

	#endif



	@ＶＲウィンドウ設定	[VRMSG_J:ALT_ELM_a24d] [VRMSG_E:ALT_ELM_a24d] [VRMSG_G:ALT_ELM_a24d] \	// 日、英、独

						[VRMSG_F:ALT_ELM_a24d] [VRMSG_I:ALT_ELM_a24d] [VRMSG_S:ALT_ELM_a24d] \	// 仏、伊、西

						[VRMSG_K:ALT_ELM_a24d] \												// 韓

						p:敵兵排除ミッション５面ステージ開始時処理								// 終了プロック





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

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



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

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



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

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

		-c 1 \

		-p -2314,-11494,-48162 -t -2500,-16000,-57500 \

		-r 293,2061,0 -f 10370 \

		-a 200 \

		-i 0 0 0 0 \

		-s 1

}







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

// ステージ開始時処理

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

proc 敵兵排除ミッション５面ステージ開始時処理 {

	#if d:DEBUG_PRINT

		print 'game_start!!!!!'

	#endif



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

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



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

	// 全体図

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

		-c 1 \

		-p 0,-4668,-69466 -t 0,-10466,-71352 \

		-r 818,2048,0 -f 6097 \

		-a 200 \

		-i 0 0 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 'elim Lv3_clear'

	#endif

	// 強制モーションを発動

	@全ミッション共通クリアモーション発動 d:モーションリスト:non_mclr_1 52



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

		-c 1 \

		-p -2268,-14588,-53540 -t -2480,-14793,-56197 \

		-r 50,2100,0 -f 2674 \

		-a 200 \

		-i 2 2 0 0 \

		-s 1



}





proc 敵兵排除ミッション用サウンド設定 {

	#if d:DEBUG_PRINT

		print 'sound_set-elim_misson'

	#endif



	chara サウンドマネージャー ＳＤマネ -pak 1

	@サウンド効果音設定

}



proc 敵兵排除ミッション用ＢＧＭ設定 {

	#if d:DEBUG_PRINT

		print 'bgm_set-elim_misson'

	#endif

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

}



proc 敵兵排除ミッション用変数設定 {

	#if d:DEBUG_PRINT

		print 'stage_var_set-elim_misson'

	#endif

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

	// ドアに関する設定

	//		DOOR_FLAG_CLOSE			0		// 絶対開かない

	//		DOOR_FLAG_OPEN			1		// 絶対開く

	//		DOOR_FLAG_ENEMY_ONLY	2		// 敵兵のみ開く

	//		DOOR_FLAG_CLOSE_LEVEL	3		// カードレベルが足りなくて開かない

	//		DOOR_FLAG_OPEN_LEVEL	4		// カード持っているので開く

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

	$$b:ドアフラグ[0] = d:DOOR_FLAG_CLOSE;		// エレベータ

	$$b:ドアフラグ[1] = d:DOOR_FLAG_OPEN;		// 左扉

	$$b:ドアフラグ[2] = d:DOOR_FLAG_OPEN;		// 右扉



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

	// 装備に関する設定

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

	// 初期装備セット

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

	// 武器／アイテムに関する設定

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

	@敵兵排除用キャラ別標準装備設定



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

		case(ライデン){

			@A_弾数設定 d:武器:クレイモア	16

			@A_弾数設定 d:武器:スタン		7



			// 装備

			@A_装備武器 d:武器:クレイモア

		}

		case(スネーク){

			// 初期弾数

			@A_弾数設定 d:武器:グレネード	12

			@A_弾数設定 d:武器:スタン		5



			// 装備

			@A_装備武器 d:武器:グレネード

		}

		case(プリスキン){

			@A_弾数設定 d:武器:Ｍ４ 15

			@A_弾数設定 d:武器:Ｃ４ 2

			@A_弾数設定 d:武器:クレイモア 5

			@A_弾数設定 d:武器:グレネード 2

			@A_弾数設定 d:武器:スタン 3



			// 装備

			@A_装備武器 d:武器:クレイモア

		}

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

			@A_弾数設定 d:武器:Ｍ９ 1

			@A_弾数設定 d:武器:Ｃ４ 8

			@A_弾数設定 d:武器:スタン 2



			// 装備

			@A_装備武器 d:武器:Ｃ４

		}

		case(刀ライデン){

			// 刀ライデンは刀のみに生きるのでつ。

		}

		case(前作スネーク){

			@A_弾数設定 d:武器:Ｃ４ 3

			@A_弾数設定 d:武器:クレイモア 6

			@A_弾数設定 d:武器:グレネード 7

			@A_弾数設定 d:武器:スタン 2



			// 装備

			@A_装備武器 d:武器:クレイモア



		}

		default{ // ライデン

			@A_弾数設定 d:武器:クレイモア	16

			@A_弾数設定 d:武器:スタン		7



			// 装備

			@A_装備武器 d:武器:クレイモア

		}

	}

}





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

// 敵兵の設定

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

proc 敵兵排除ミッション用警備兵セット {

	#if d:DEBUG_PRINT

		print 'watcher_set-elim_misson'

	#endif

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

		case( ライデン ){

			@A_敵兵排除警備兵 敵兵:01 d:E_R:雷道２ 0 d:a24d_警備ST d:部屋外入口 電算室

		}

		case( プリスキン ){

			@A_敵兵排除警備兵 敵兵:01 d:E_R:ぷり２ 0 d:a24d_警備ST d:部屋内右上 電算室

			@A_敵兵排除警備兵 敵兵:02 d:E_R:ぷり３ 0 d:a24d_警備ST d:部屋内左上 電算室

			@A_敵兵排除警備兵 敵兵:03 d:E_R:ぷり４ 0 d:a24d_警備ST d:部屋外入口 電算室

		}

		case( 刀ライデン ){

			@A_敵兵排除警備兵 敵兵:01 d:E_R:辻斬１ 0 d:a24d_警備ST d:部屋内右上 電算室

			@A_敵兵排除警備兵 敵兵:02 d:E_R:辻斬２ 1 d:a24d_警備ST d:部屋内右下 電算室

			@A_敵兵排除警備兵 敵兵:03 d:E_R:辻斬３ 2 d:a24d_警備ST d:部屋内左上 電算室

			@A_敵兵排除警備兵 敵兵:04 d:E_R:辻斬４ 0 d:a24d_警備ST d:部屋内左下 電算室

		}

		case( スネーク ){

			@A_敵兵排除警備兵 敵兵:01 d:E_R:蛇道１ 2 d:a24d_警備ST d:部屋内左上 電算室

			@A_敵兵排除警備兵 敵兵:02 d:E_R:蛇道２ 0 d:a24d_警備ST d:部屋端末前 電算室

			@A_敵兵排除警備兵 敵兵:03 d:E_R:蛇道３ 0 d:a24d_警備ST d:部屋外入口 電算室

			@A_敵兵排除警備兵 敵兵:04 d:E_R:蛇道４ 0 d:a24d_警備ST d:部屋内右上 電算室

		}

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

			// タキシードに警備兵は無し

		}

*/		case( 前作スネーク ){

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

			@A_敵兵排除警備兵 敵兵:01 d:E_R:昔蛇４ 0 d:a24d_警備ST d:部屋内左下 電算室

			@A_敵兵排除警備兵 敵兵:02 d:E_R:昔蛇５ 0 d:a24d_警備ST d:部屋内右下 電算室

		}

		default{

			@A_敵兵排除警備兵 敵兵:01 d:E_R:雷道１ 1 d:a24d_警備ST d:部屋内左上 電算室

			@A_敵兵排除警備兵 敵兵:02 d:E_R:雷道２ 0 d:a24d_警備ST d:部屋内右上 電算室

			@A_敵兵排除警備兵 敵兵:03 d:E_R:雷道３ 0 d:a24d_警備ST d:右通路中央 電算室

		}

	}

}



proc 敵兵排除ミッション用攻撃兵セット {

	#if d:DEBUG_PRINT

		print 'attacker_set-elim_misson'

	#endif

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

		case( ライデン ){

			@A_敵兵排除警備攻撃兵 攻撃兵:61 d:E_R:雷道１	1 d:a24d_攻撃ST

			@A_敵兵排除警備攻撃兵 攻撃兵:62 d:E_R:雷道３	0 d:a24d_攻撃ST

			@A_敵兵排除警備攻撃兵 攻撃兵:63 d:E_R:雷道４	9 d:a24d_攻撃ST

		}

		case( プリスキン ){

			@A_敵兵排除警備攻撃兵 攻撃兵:61 d:E_R:ぷり１	0 d:a24d_盾兵ST

		}

		case( 刀ライデン ){

			@A_敵兵排除警備攻撃兵 攻撃兵:61 d:E_R:辻斬５	1 d:a24d_攻撃ST

		}

		case( スネーク ){

			// スネークに攻撃兵は無し。

		}

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

			@A_敵兵排除警備攻撃兵 攻撃兵:61 d:E_R:滝蛇１	2 d:a24d_攻撃ST

			@A_敵兵排除警備攻撃兵 攻撃兵:62 d:E_R:滝蛇２	2 d:a24d_攻撃ST

			@A_敵兵排除警備攻撃兵 攻撃兵:63 d:E_R:滝蛇３	2 d:a24d_攻撃ST

			@A_敵兵排除警備攻撃兵 攻撃兵:64 d:E_R:滝蛇４	0 d:a24d_攻撃ST

		}

		case( 前作スネーク ){

			@A_敵兵排除警備攻撃兵 攻撃兵:61 d:E_R:昔蛇１	0 d:a24d_攻撃ST

			@A_敵兵排除警備攻撃兵 攻撃兵:62 d:E_R:昔蛇２	0 d:a24d_攻撃ST

			@A_敵兵排除警備攻撃兵 攻撃兵:63 d:E_R:昔蛇３	0 d:a24d_攻撃ST

		}

		default{

			// ライデン

			@A_敵兵排除警備攻撃兵 攻撃兵:61 d:E_R:雷道１	1 d:a24d_攻撃ST

			@A_敵兵排除警備攻撃兵 攻撃兵:62 d:E_R:雷道３	0 d:a24d_攻撃ST

			@A_敵兵排除警備攻撃兵 攻撃兵:63 d:E_R:雷道４	9 d:a24d_攻撃ST

			#if d:DEBUG_PRINT

				print ' $s:選択プレイヤー'  $s:選択プレイヤー

			#endif

		}

	}



}



proc 敵兵排除ミッション用警備兵コマンダー {

	#if d:DEBUG_PRINT

		print 'wccomm_set-elim_misson'

	#endif



	chara 警備コマンダー wccomm	-e { 敵兵排除ミッション用警備兵セット }

}



proc 敵兵排除ミッション用攻撃兵コマンダー {

	#if d:DEBUG_PRINT

		print 'atcomm_set-elim_misson'

	#endif



	chara 攻撃コマンダー atcomm	-e { 敵兵排除ミッション用攻撃兵セット }

}



proc 敵兵排除ミッション用コマンダー設定 {

	#if d:DEBUG_PRINT

		print 'commander_set-elim_misson'

	#endif



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

	// 攻撃兵は待機所変更を行っているので名前を「攻撃兵」で固定すると便利

	// 増援が来ないので-x -y は無し。-v も:03になってます。

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

		case( スネーク ){ // スネークのときは警備兵のみ

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

				-w 敵兵排除ミッション用警備兵コマンダー \

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

				-r 0,-12000,-71000 電算室  0,-16000,-46000 電算室 \

				-c 0,-12000,-71000 電算室  0,-16000,-46000 電算室 \

//				-x [ghq_area_alert_voice:w24d] \

//				-y [ghq_caution_voice:w24d] \

				-v [ene_plant_voice:03] \

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

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

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

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

				-s d:ENE_STAGE_VR_ANOTHER

		}

		case(タキシードスネーク){// タキシードのときは攻撃兵のみ

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

				-a 敵兵排除ミッション用攻撃兵コマンダー \

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

				-r 0,-12000,-71000 電算室  0,-16000,-46000 電算室 \

				-c 0,-12000,-71000 電算室  0,-16000,-46000 電算室 \

	//			-x [ghq_area_alert_voice:w24d] \

	//			-y [ghq_caution_voice:w24d] \

				-v [ene_plant_voice:03] \

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

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

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

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

				-s d:ENE_STAGE_VR_ANOTHER

		}

		default{

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

				-w 敵兵排除ミッション用警備兵コマンダー \

				-a 敵兵排除ミッション用攻撃兵コマンダー \

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

				-r 0,-12000,-71000 電算室  0,-16000,-46000 電算室 \

				-c 0,-12000,-71000 電算室  0,-16000,-46000 電算室 \

	//			-x [ghq_area_alert_voice:w24d] \

	//			-y [ghq_caution_voice:w24d] \

				-v [ene_plant_voice:03] \

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

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

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

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

				-s d:ENE_STAGE_VR_ANOTHER

		}

	}

}



proc 敵兵排除待機所変更 {

	trap en004 d:PLAYER \

		-mask ？ \

		-exec {

			if( $3 == 入る ) {

				print '待機所変更01'

				mesg コマンダー 敵兵セット 待機所替え 1

			} else {

				print '待機所変更02'

				mesg コマンダー 敵兵セット 待機所替え 0

			}

		}

}





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

// アイテム関連

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



proc 敵兵排除ミッション用アイテム取得時番号設定 $:ボックス名 {

	#if d:DEBUG_PRINT

		print 'item_no_set'

	#endif

}





proc 敵兵排除ミッション電算室アイテム設置 {

	#if d:DEBUG_PRINT

		print 'item_elim_set'

	#endif

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

		case( ライデン ){

			//@グレネード_初期設置 $:p_ボックス名 $:p_Ｘ座標 $:p_Ｙ座標 $:p_Ｚ座標 $:p_水飛沫

			@クレイモア_初期設置 くれ吉 d:右北壁窪み 0

		}

		case( スネーク ){

			@グレネード_初期設置 グレ吉 d:左北壁窪み 0

		}

		default{

		}

	}

}



