/*

	a12a_hold.h

		Ａ脚屋上(アナザーミッション用モード別設定ファイル)



	2002/5/13 T.Ohtani

	$Id: a12a_hold.h,v 1.28 2002/09/25 07:06:43 usr13731 Exp $





*/



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

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

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

#define		MISSION_HOLD		1		// 武装解除用プロック起動用



enum E_R{

	敵兵出現ポイント左=0,

	敵兵出現ポイント右,

	ライデンルート１,

	ライデンルート２,

	雷電攻撃兵ルート１,

	パッド,

	スネークルート１,

	スネークルート２,

	前蛇１,

	前蛇２,

	前蛇３, // 小五郎

	前蛇４, // 攻撃

}



// 敵兵ステータス

#define 武装解除警備ST d:ENE_STATUS_NO_FINGER d:ENE_STATUS_NORMAL	0 5000 -3000 屋上



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

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

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

proc 武装解除ミッション用マップ定義前設定 {

	#if d:DEBUG_PRINT

		print 'proc_set1-hold_misson'

	#endif



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

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

	@武装解除ミッション２面ＶＲウィンドウ設定

//	テイルズＥ以外では

#ifndef d:E_TALES

	@ＶＲクリア設定 p:load_alt_hold_a24d p:A_ＲＥＴＲＹプロック

//	テイルズＥのときは

#else

	@テイルズＥ用ＶＲクリア設定雷電

#endif



	command セットルートオフセット	d:SCN:武装解除 // a_vardef.h のenum

}



proc 武装解除ミッション用マップ定義後設定 {

	#if d:DEBUG_PRINT

		print 'proc_set2-hold_misson'

	#endif



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

	command マップ設定 屋上 -set {

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

			@各ミッション用ゴール表示 0 5000 -6000 // 昔スネーク

		}else{

			@各ミッション用ゴール表示 0 5000 -6000 // その他大勢

		}

		@武装解除ミッション用サウンド設定	// データは最初に呼ぶ

		@武装解除ミッション用変数設定		// ドアのスイッチなどの変数を設定

		@武装解除ミッション用コマンダー設定

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

	}

}







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

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

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

proc 武装解除ミッション２面ＶＲウィンドウ設定 {

	#if d:DEBUG_PRINT

		print 'vr_window_set-hold up LEVEL2'

	#endif



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

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

						[VRMSG_K:ALT_HLD_a12a] \												// 韓

						p:武装解除ミッション２面ステージ開始時処理								// 終了プロック





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

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



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

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



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

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

		-c 1 \

		-p 43,8528,-1398 -t -43,5745,-5427 \

		-r 394,2062,0 -f 4897 \

		-a 200 \

		-i 0 -1 0 0 \

		-s 1

}







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

// ステージ開始時処理

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

proc 武装解除ミッション２面ステージ開始時処理 {

	#if d:DEBUG_PRINT

		print 'game_start!!!!!'

	#endif



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

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



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

	// 全体図

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

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

			-c 1 \

			-p -6500,12500,3500 -t -6500,6000,-2000 \

			-r 900,2048,0 -f 7000 \

			-a 200 \

			-i 0 0 d:START_CAMERA_CHANGE_TIME d:START_CAMERA_CHANGE_TIME \

			-s 1

	}else{

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

			-c 1 \

			-p 6250,14660,-9741 -t 6250,6269,-11625 \

			-r 880,2048,0 -f 8600 \

			-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 'HOLD UP Lv2_clear'

	#endif

	// 俯瞰判定されてしまうので連続実行２を殺しておく。(a12a.gcl)

	mesg プロック連続実行 連続実行２ kill



	// メッセージが届くのに1フレームかかる。

	chara delay ディレイ \

		-time 1 \

		-exec {

			mesg 汎用空 空 表示

			mesg 太陽 ソル 表示



			mesg プラント海面 海面 表示状態 1

			mesg プットオブジェ にせ海面    off

			mesg プットオブジェ Ａ脚壁面         on

			mesg プットオブジェ エレベータ壁     on

			mesg プットオブジェ エレベータ蓋     on



			mesg プットオブジェ ＡＢ連絡橋       on

			mesg プットオブジェ ＢＣ連絡橋１     on

			mesg プットオブジェ Ｅ脚             on

			mesg プットオブジェ ＥＦ連絡橋面     on

			mesg プットオブジェ ＦＡ連絡橋       on

			mesg プットオブジェ オイルフェンス１ on

			mesg プットオブジェ オイルフェンス２ on

			mesg プットオブジェ オイルフェンス３ on

			mesg プットオブジェ オイルフェンス４ on

			mesg プットオブジェ ＢＣ連絡橋２     on

			mesg プットオブジェ クレーン         on



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

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



			// カメラを移動

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

				-c 1 \

				-p -442,6621,-72 -t -198,5874,-5209 \

				-r 94,2017,0 -f 5196 \

				-a 200 \

				/*

				-p -321,5922,-1380 -t -506,6093,-6026 \

				-r -24,2074,0 -f 4653 \

				-a 200 \

				*/

				-i 2 2 0 0 \

				-s 1

		}



}







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

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

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

proc 武装解除ミッション用サウンド設定 {

	#if d:DEBUG_PRINT

		print 'sound_set-hold_misson'

	#endif



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

	@サウンド効果音設定

}



proc 武装解除ミッション用ＢＧＭ設定 {

	#if d:DEBUG_PRINT

		print 'bgm_set-hold_misson'

	#endif



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

	chara ＢＧＭ風音 ＢＧＭ風音 -s d:BGM_WINDNOISE_WEATHER_FAIN

}







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

// 変数に関する設定

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

proc 武装解除ミッション用変数設定 {

	#if d:DEBUG_PRINT

		print 'stage_var_set-hold_misson_lv2'

	#endif



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

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

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

	$$b:ドアフラグ[0] = d:DOOR_FLAG_ENEMY_ONLY;	// 左側のドア

	$$b:ドアフラグ[1] = d:DOOR_FLAG_ENEMY_ONLY;		// 右側のドア



	@武装解除キャラ別標準装備設定



}





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

// 敵兵に関する設定

// このステージの敵兵は手モーフィングはすべて使えない。

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

proc 武装解除ミッション用警備兵セット {

	#if d:DEBUG_PRINT

		print 'watcher_set-hold_misson'

	#endif

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

		case( ライデン ){

			// 武装解除警備兵 名前		ルート				ノード 	ステータス 			拡張ステータス 		守備ポイント マップ名

			@A_武装解除警備兵 敵兵:01 d:E_R:ライデンルート１ 1 		d:武装解除警備ST

			@A_武装解除警備兵 敵兵:02 d:E_R:ライデンルート２ 1 		d:武装解除警備ST

		}

		case ( プリスキン ){

			@A_武装解除警備兵 敵兵:01 d:E_R:ライデンルート１ 3 		d:武装解除警備ST

			@A_武装解除警備兵 敵兵:02 d:E_R:ライデンルート２ 2 		d:武装解除警備ST

		}

		case( スネーク ){

			@A_武装解除警備兵 敵兵:01 d:E_R:スネークルート１ 1 		d:武装解除警備ST

			@A_武装解除警備兵 敵兵:02 d:E_R:スネークルート２ 1 		d:武装解除警備ST

		}

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

			@A_武装解除警備兵 敵兵:01 d:E_R:スネークルート１ 2 		d:武装解除警備ST

			@A_武装解除警備兵 敵兵:02 d:E_R:スネークルート２ 2 		d:武装解除警備ST

		}

		case(前作スネーク){

			@A_武装解除警備兵 敵兵:01 d:E_R:前蛇１ 0				d:武装解除警備ST

			@A_武装解除警備兵 敵兵:02 d:E_R:前蛇２ 1				d:武装解除警備ST

			@A_武装解除警備兵 敵兵:03 d:E_R:前蛇３ 0				d:武装解除警備ST

		}

		default{// ( ライデン )

			#ifndef d:FIX_MODE

				print 'select pc error!! (scn)'

				command assert(d:FALSE) 'select pc error!! a12a_hold.h'

			#endif

			@A_武装解除警備兵 敵兵:01 d:E_R:ライデンルート１ 1 		d:武装解除警備ST

			@A_武装解除警備兵 敵兵:02 d:E_R:ライデンルート２ 1 		d:武装解除警備ST

		}

	}

}

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

// 攻撃兵に関する設定

// このステージの敵兵は手モーフィングはすべて使えない。

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

proc 武装解除ミッション用攻撃兵セット {

	#if d:DEBUG_PRINT

		print 'attacker_set-hold_misson'

	#endif

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

		case( ライデン ){

			//A_武装解除探索攻撃兵 $:名前 	$:ルート $:ノード $:ステータス $:拡張ステータス $:装備 $:探索ルート

			@A_武装解除探索攻撃兵  攻撃兵:01 d:E_R:敵兵出現ポイント左 0 d:ENE_STATUS_NO_FINGER d:ENE_STATUS_NORMAL d:ENE_EQUIP_TYPE_NORMAL d:E_R:雷電攻撃兵ルート１

		}

		case( スネーク ){

			@A_武装解除サポート攻撃兵 攻撃兵:01 d:E_R:敵兵出現ポイント左 d:ENE_STATUS_NO_FINGER d:ENE_STATUS_NORMAL d:ENE_EQUIP_TYPE_NORMAL 敵兵:02

		}

		case( 前作スネーク ){

			@A_武装解除探索攻撃兵  攻撃兵:01 d:E_R:敵兵出現ポイント左 0 d:ENE_STATUS_NO_FINGER d:ENE_STATUS_NORMAL d:ENE_EQUIP_TYPE_NORMAL d:E_R:前蛇４

		}

		default{// ( ライデン )

			@A_武装解除サポート攻撃兵 攻撃兵:01 d:E_R:敵兵出現ポイント左 d:ENE_STATUS_NO_FINGER d:ENE_STATUS_NORMAL d:ENE_EQUIP_TYPE_NORMAL 敵兵:01

		}

	}

}



proc 武装解除ミッション用警備兵コマンダー {

	#if d:DEBUG_PRINT

		print 'wccomm_set-hold_misson'

	#endif



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

}



proc 武装解除ミッション用攻撃兵コマンダー {

	#if d:DEBUG_PRINT

		print 'atcomm_set-hold_misson'

	#endif



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

}











proc 武装解除ミッション用コマンダー設定 {

	#if d:DEBUG_PRINT

		print 'commander_set-hold_misson'

	#endif



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

		-w 武装解除ミッション用警備兵コマンダー \

		-a 武装解除ミッション用攻撃兵コマンダー \

		-d 屋上 \

		-r -6250,0,-2250 屋上 6250,0,-2250 屋上 \

		-c -6250,0,-2250 屋上 6250,0,-2250 屋上 \

		-v [ene_plant_voice:01] \

		-x [ghq_area_alert_voice:w12a] \

		-y [ghq_caution_voice:w12a] \

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

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

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

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

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

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

}







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

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

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

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

	#if d:DEBUG_PRINT

		print 'item_no_set-hold_misson'

	#endif

}





proc 武装解除ミッション用アイテム設置 {

	#if d:DEBUG_PRINT

		print 'a12a_item_set-hold_misson'

	#endif

}







