/*

	a22a_hold.h

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



	2002/05/24 T.Ohtani

	$Id:

	memo:	ステージ名 a22a (dir: cdrom.img/stage/a22a/)

			hzx a22a.hzx

			msf a22a.msf

*/



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

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

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

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





enum E_R{

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

	敵兵出現ポイント２,

	雷電道１,

	雷電道２,

	雷電道３,

	雷電道４,

	雷電道５,

	蛇道１,

	蛇道２,

	蛇道３,

	蛇道４,

	蛇道５,

	蛇道６,

	昔蛇１ = 13,

	昔蛇２,

	昔蛇３,

	昔蛇４,

	昔蛇５,

	昔蛇６

}



// 敵兵ステータス

#define 警備ST d:ENE_STATUS_GUNLIGHT d:ENE_STATUS_NORMAL -55000 0 -41000 １Ｆ中央広場

#define 連絡ST (d:ENE_STATUS_GUNLIGHT | d:ENE_STATUS_REPORT )  d:ENE_STATUS_NORMAL -55000 0 -41000 １Ｆ中央広場

#define サポ攻撃ST d:ENE_STATUS_GUNLIGHT d:ENE_STATUS_NORMAL d:ENE_STATUS_NORMAL

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

// 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_a01b 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:選択プレイヤー == 前作スネーク ){

			@各ミッション用ゴール表示	54500 -3000 -27500	//	a_stdproc.hで定義	ゴール座標Ｘ、Ｙ、Ｚの順

		}else{

			@各ミッション用ゴール表示	51000 -5000 -29000	//	a_stdproc.hで定義	ゴール座標Ｘ、Ｙ、Ｚの順

		}

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

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

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

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

	}

	command マップ設定 １Ｆ右下小部屋 -set {

		@武装解除ミッション用１Ｆ右下小部屋アイテム設置

	}



}



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

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

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

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

	#if d:DEBUG_PRINT

		print 'vr_window_set-hold up LEVEL6'

	#endif





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

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

						[VRMSG_K:ALT_HLD_a22a] \												// 韓

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





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

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



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

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



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

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

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

			-c 1 \

			-p 57597,-766,-24693 -t 54500,-3000,-27500 \

			-r 320,2592,0 -f 4740 \

			-a 200 \

			-i 0 0 0 0 \

			-s 1

	}else{

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

			-c 1 \

			-p 51000,-1486,-23489 -t 51000,-3698,-29639 \

			-r 225,2048,0 -f 6536 \

			-a 200 \

			-i 0 0 0 0 \

			-s 1

	}

}







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

// ステージ開始時処理

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

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

	#if d:DEBUG_PRINT

		print 'game_start!!!!!'

	#endif



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

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



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

	// 全体図

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

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

			-c 1 \

			-p 52000,1577,-18665 -t 52000,-3247,-19889 \

			-r 862,2048,0 -f 4976 \

			-a 200 \

			-i 0 0 d:START_CAMERA_CHANGE_TIME d:START_CAMERA_CHANGE_TIME \

			-s 1



	}else{

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

			-c 1 \

			-p 47883,5465,-12997 -t 47883,1674,-17621 \

			-r 450,2048,0 -f 5997 \

			-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 'clear'

	#endif

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

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



	// カメラを移動

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

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

			-c 1 \

			-p 52466,-1251,-23872 -t 54579,-2067,-27710 \

			-r 120,1720,0 -f 4456 \

			-a 200 \

			-i 2 2 0 0 \

			-s 1

	}else{

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

			-c 1 \

			-p 48524,-3377,-25717 -t 50248,-3877,-28740 \

			-r 93,1710,0 -f 3516 \

			-a 200 \

			-i 2 2 0 0 \

			-s 1

	}

}









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

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

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

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

	#if d:DEBUG_PRINT

		print 'sound_set-hold_misson'

	#endif



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

	@サウンド効果音設定

}



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

	#if d:DEBUG_PRINT

		print 'bgm_set-hold_misson'

	#endif



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

}







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

// 変数に関する設定

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

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

	#if d:DEBUG_PRINT

		print 'stage_var_set-hold_misson'

	#endif



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

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

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

	$$b:ドアフラグ[0]	= d:DOOR_FLAG_CLOSE;	// １Ｆ左上小部屋ドア

	$$b:ドアフラグ[1]	= d:DOOR_FLAG_CLOSE;	// １Ｆ右上小部屋ドア

	$$b:ドアフラグ[2]	= d:DOOR_FLAG_CLOSE;	// １Ｆ中央左小部屋ドア

	$$b:ドアフラグ[3]	= d:DOOR_FLAG_CLOSE;	// １Ｆ中央右小部屋ドア

	$$b:ドアフラグ[4]	= d:DOOR_FLAG_CLOSE;	// １Ｆ左下小部屋ドア

	$$b:ドアフラグ[5]	= d:DOOR_FLAG_OPEN;		// １Ｆ右下小部屋ドア

	$$b:ドアフラグ[6]	= d:DOOR_FLAG_ENEMY_ONLY;	// １Ｆ上ドア

	$$b:ドアフラグ[7]	= d:DOOR_FLAG_ENEMY_ONLY;	// １Ｆ下ドア

	$$b:ドアフラグ[8]	= d:DOOR_FLAG_CLOSE;	// Ｂ１上小部屋ドア左

	$$b:ドアフラグ[9]	= d:DOOR_FLAG_CLOSE;	// Ｂ１上小部屋ドア右

	$$b:ドアフラグ[10]	= d:DOOR_FLAG_CLOSE;	// Ｂ１左下小部屋ドア

	$$b:ドアフラグ[11]	= d:DOOR_FLAG_CLOSE;	// Ｂ１右下小部屋ドア

	$$b:ドアフラグ[12]	= d:DOOR_FLAG_ENEMY_ONLY;	// Ｂ１下ドア



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

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

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

	// デフォルトアイテム

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

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

		case ( ライデン ){

			@A_弾数設定 d:武器:雑誌 2

			@A_アイテム数設定 d:アイテム:ダンボール 25

			command シナリオ前装備変更	-number d:アイテム:ダンボール

		}

		case( プリスキン ){

			@A_アイテム数設定 d:アイテム:ダンボール 25

			command シナリオ前装備変更	-number d:アイテム:ダンボール

		}

		case( スネーク ){

			@A_弾数設定 d:武器:雑誌 2

			@A_アイテム数設定 d:アイテム:ダンボール 25

			command シナリオ前装備変更	-number d:アイテム:ダンボール

		}

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

			@A_弾数設定 d:武器:雑誌 1

		}

		case( 前作スネーク ){

		}

		default{

			#ifndef d:FIX_MODE

				command assert(d:FALSE) 'player_err (scn) a22a'

			#endif

		}

	}

}





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

// 敵兵に関する設定

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

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

	#if d:DEBUG_PRINT

		print 'watcher_set-hold_misson'

	#endif

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

		case( ライデン ){

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

			@A_武装解除警備兵 敵兵:01 d:E_R:雷電道１ 0 d:警備ST

			@A_武装解除警備兵 敵兵:02 d:E_R:雷電道２ 2 d:警備ST

			@A_武装解除警備兵 敵兵:03 d:E_R:雷電道３ 0 d:連絡ST // 定時連絡

			@A_武装解除警備兵 敵兵:04 d:E_R:雷電道４ 2 d:警備ST

			@A_武装解除警備兵 敵兵:05 d:E_R:雷電道５ 2 d:警備ST

		}

		case( プリスキン ){

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

			@A_武装解除警備兵 敵兵:01 d:E_R:雷電道１ 2 d:警備ST

			@A_武装解除警備兵 敵兵:02 d:E_R:雷電道２ 3 d:警備ST

			@A_武装解除警備兵 敵兵:03 d:E_R:雷電道３ 2 d:連絡ST // 定時連絡

			@A_武装解除警備兵 敵兵:04 d:E_R:雷電道４ 0 d:警備ST

			@A_武装解除警備兵 敵兵:05 d:E_R:雷電道５ 1 d:警備ST

		}

		case( スネーク ){

			@A_武装解除警備兵 敵兵:01 d:E_R:蛇道１ 0 d:連絡ST // 定時連絡

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

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

			@A_武装解除警備兵 敵兵:04 d:E_R:蛇道４ 0 d:警備ST

			@A_武装解除警備兵 敵兵:05 d:E_R:蛇道５ 0 d:警備ST

			@A_武装解除警備兵 敵兵:06 d:E_R:蛇道６ 0 d:警備ST

		}

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

			@A_武装解除警備兵 敵兵:01 d:E_R:蛇道１ 2 d:連絡ST // 定時連絡

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

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

			@A_武装解除警備兵 敵兵:04 d:E_R:蛇道４ 2 d:警備ST

			@A_武装解除警備兵 敵兵:05 d:E_R:蛇道５ 2 d:警備ST

			@A_武装解除警備兵 敵兵:06 d:E_R:蛇道６ 2 d:警備ST

		}

		case( 前作スネーク ){

			@A_武装解除警備兵 敵兵:01 d:E_R:昔蛇１ 0 d:連絡ST // 定時連絡

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

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

			@A_武装解除警備兵 敵兵:04 d:E_R:昔蛇４ 0 d:警備ST

			@A_武装解除警備兵 敵兵:05 d:E_R:昔蛇５ 0 d:警備ST

			@A_武装解除警備兵 敵兵:06 d:E_R:昔蛇６ 0 d:警備ST

		}

		default{// ( ライデン )

			@A_武装解除警備兵 敵兵:01 d:E_R:雷電道１ 0 d:警備ST

			@A_武装解除警備兵 敵兵:02 d:E_R:雷電道２ 2 d:警備ST

			@A_武装解除警備兵 敵兵:03 d:E_R:雷電道３ 0 d:連絡ST // 定時連絡

			@A_武装解除警備兵 敵兵:04 d:E_R:雷電道４ 2 d:警備ST

			@A_武装解除警備兵 敵兵:05 d:E_R:雷電道５ 2 d:警備ST

		}

	}

}



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

	#if d:DEBUG_PRINT

		print 'attacker_set-hold_misson'

	#endif

	@A_武装解除サポート攻撃兵 攻撃兵:01 0 d:サポ攻撃ST 敵兵:01

	@A_武装解除サポート攻撃兵 攻撃兵:02 1 d:サポ攻撃ST 敵兵:02

}

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 武装解除ミッション用攻撃兵コマンダー \

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

		-r	36875,0,-22500,１Ｆ中央広場 \

			38500,-5000,-19500,Ｂ１中央広場 \

		-c	36875,0,-22500,１Ｆ中央広場 \

			38500,-5000,-19500,Ｂ１中央広場 \

		-x [ghq_area_alert_voice:w22a] \

		-y [ghq_caution_voice:w22a] \

		-v [ene_plant_voice:01] \

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

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

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

		-f	d:E_R:雷電道３	2 t:vc044023 t:vc044023_len \

			d:E_R:蛇道１	0 t:vc044023 t:vc044023_len \

			d:E_R:昔蛇１	0 t:vc044023 t:vc044023_len \

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

		-d １Ｆ中央広場 \

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





}







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

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

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

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

}

proc 武装解除ミッション用１Ｆ右下小部屋アイテム設置 {

	#if d:DEBUG_PRINT

		print 'item_no_set-hold_misson'

	#endif

	@雑誌_初期設置 			雑誌１ 		55250	-200 -23250 0

	@雑誌_初期設置 			雑誌２ 		56500	-200 -23250 0

}

