/*

	a19a_tale.h

	    ＤＥ連絡橋(スネークテイルズ用設定ファイル)



	2002/06/05 S.Mukaide

	$Id: a19a_tale.h,v 1.18 2002/07/23 04:12:56 usr03379 Exp $





*/





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

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

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

#define	MISSION_TALE	1	// スネークテイルズ用プロック起動用







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

// スネークテイルズ用の敵兵配置プロック集

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

#include	"a19a_tale_enemy.h"











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

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

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



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

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

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

proc スネークテイルズ用マップ定義前設定 {

	#if d:DEBUG_PRINT 

		print 'proc_set1-snake_tales'

	#endif



	switch ( $b:tales_story_no ) {

		// テイルズＢ

		case ( d:TALES_NO:B ) {

			@全ミッション共通システム設定 0

		}



		// テイルズＤ

		case ( d:TALES_NO:D ) {

			@全ミッション共通システム設定 0

		}



	}



	command セットルートオフセット d:SCN:スネークテイルズ -c d:SCN:通常		// a_vardef.h のenum



}







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

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

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

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

ＤＥ連絡橋

*/

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

proc スネークテイルズ用マップ定義後設定 {

	#if d:DEBUG_PRINT 

		print 'proc_set2-tale_misson'

	#endif



	@プラント編全体マップ設定  d:ＤＥ連絡橋マップ	//	全体マップ表示



	switch ( $b:tales_story_no ) {

		// テイルズＢ

		case ( d:TALES_NO:B ) {

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

			command マップ設定 ＤＥ連絡橋 -set {

				@スネークテイルズ用サウンド設定	// データは最初に呼ぶ

				@スネークテイルズＢ用変数設定		// ドアのスイッチなどの変数を設定

				@スネークテイルズＢ用コマンダー設定

				@スネークテイルズ用ＢＧＭ設定		// プレイヤー→敵兵→BGMの順で呼ぶ

				@スネークテイルズＢ用アイテム設置

			}

		}



		// テイルズＤ

		case ( d:TALES_NO:D ) {

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

			command マップ設定 ＤＥ連絡橋 -set {

				@スネークテイルズ用サウンド設定	// データは最初に呼ぶ

				@スネークテイルズＤ用変数設定		// ドアのスイッチなどの変数を設定

				@スネークテイルズＤ用コマンダー設定

				@スネークテイルズ用ＢＧＭ設定		// プレイヤー→敵兵→BGMの順で呼ぶ

				@スネークテイルズＤ用アイテム設置

			}

		}



		default {

			#if d:DEBUG_PRINT

				print 'WARNING!!!!!!!不正な値が入っています。$b:tales_story_no='$b:tales_story_no

			#endif



			command assert ( d:FALSE ) 'tales no error  (scenario err) スネークテイルズ用マップ定義後設定'

		}



	}



}











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

// 各テイルズで共通で使用するプロック

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



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

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

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

proc スネークテイルズ用クリア時処理 {

	#if d:DEBUG_PRINT 

	print 'clear'

	#endif

}







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

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

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

proc スネークテイルズ用サウンド設定 {

	#if d:DEBUG_PRINT 

		print 'sound_set-snake_tales'

	#endif



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

		-pak 0



//	パックについて

	//	pak0	ハイテク兵無し

	//	pak1	ハイテク兵有り



	//		ＳＥ設定

	@サウンド効果音設定

}



proc スネークテイルズ用ＢＧＭ設定 {

	#if d:DEBUG_PRINT 

		print 'bgm_set-snake_tales'

	#endif



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

			-s 0x00000001

	chara ＢＧＭ風音 風音 \

		-s d:BGM_WINDNOISE_WEATHER_FAIN

}







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

// サイファーに関する設定

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

//	敵兵排除でサイファーを使用するためのダミー

proc スネークテイルズ用サイファー破壊 $:サイファー名 {

	#if d:DEBUG_PRINT

		print 'cypher_destroy-snake_tales'

	#endif



}







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

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

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

proc スネークテイルズ用アイテム取得時番号設定 $:ボックス名 {

	#if d:DEBUG_PRINT

		print 'item_no_set-snake_tales'

	#endif



	switch ( $b:tales_story_no ) {

		// テイルズＢ

		case ( d:TALES_NO:B ) {

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

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

			} else if ( $:ボックス名 == ＵＳＰ弾:01 ) {

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

			}

		}



		// テイルズＤ

		case ( d:TALES_NO:D ) {

			if($:ボックス名 == グレネード:01) {

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

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

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

			}

		}



		default {

			#if d:DEBUG_PRINT

				print 'WARNING!!!!!!!不正な値が入っています。$b:tales_story_no='$b:tales_story_no

			#endif



			command assert ( d:FALSE ) 'tales no error  (scenario err) スネークテイルズ用アイテム取得時番号設定'

		}



	}

	#if d:DEBUG_PRINT

		print $:ボックス名

		print $w:グローバルロード回数

	#endif



}











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

// テイルズＢで使用するプロック

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



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

// 変数に関する設定

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

proc スネークテイルズＢ用変数設定 {

	#if d:DEBUG_PRINT 

		print 'stage_var_set-snake_tales'

	#endif



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

	// ドアに関する設定

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

	eval ($$b:ドアフラグ[0] = d:DOOR_FLAG_OPEN);	// Ｄ脚１Ｆドア

	eval ($$b:ドアフラグ[1] = d:DOOR_FLAG_OPEN);	// Ｄ脚Ｂ１ドア

	eval ($$b:ドアフラグ[2] = d:DOOR_FLAG_OPEN);	// Ｅ脚ドア

}







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

// 敵兵に関する設定

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

proc スネークテイルズＢ用警備兵コマンダー {

	#if d:DEBUG_PRINT

		print 'wccomm_set-snake_tales'

	#endif



	switch ($s:登場ポイント) {

		case (Ｄ脚１Ｆから) {

			chara 警備コマンダー wccomm -e { 警備兵セット_Ｄ脚から }

		}



		case (Ｄ脚Ｂ１から) {

			chara 警備コマンダー wccomm -e { 警備兵セット_Ｄ脚から }

		}



		case (Ｅ脚から) {

			chara 警備コマンダー wccomm -e { 警備兵セット_Ｅ脚から }

		}

		//	立ち話盗み聞きイベント後

		case (テイルズＢ立ち話盗み聞き後から) {

			chara 警備コマンダー wccomm -e { 警備兵セット_立ち話盗み聞き後から }

		}



		default {

			chara 警備コマンダー wccomm -e { 警備兵セット_Ｄ脚から }

		}



	}



}



proc スネークテイルズＢ用攻撃兵コマンダー {

	#if d:DEBUG_PRINT

		print 'atcomm_set-snake_tales'

	#endif



	switch ($s:登場ポイント) {

		case (Ｄ脚１Ｆから) {

			chara 攻撃コマンダー atcomm \

				-e { 攻撃兵セット_Ｄ脚１Ｆから } \

				-wait (60*3) \			//	危険開始時の出動遅らせ時間

				-avoidwait (60*5) \		//	回避モードで始まる場合のみ有効

				-status d:AT_COM_WARP	//	危険モード開始時にワープ

		}



		case (Ｄ脚Ｂ１から) {

			chara 攻撃コマンダー atcomm \

				-e { 攻撃兵セット_Ｄ脚Ｂ１から } \

				-wait (60*3) \			//	危険開始時の出動遅らせ時間

				-avoidwait (60*5) \		//	回避モードで始まる場合のみ有効

				-status d:AT_COM_WARP	//	危険モード開始時にワープ

		}



		case (Ｅ脚から) {

			chara 攻撃コマンダー atcomm \

				-e { 攻撃兵セット_Ｅ脚から } \

				-wait (60*3) \			//	危険開始時の出動遅らせ時間

				-avoidwait (60*5) \		//	回避モードで始まる場合のみ有効

				-status d:AT_COM_WARP	//	危険モード開始時にワープ

		}



		default {

			chara 攻撃コマンダー atcomm \

				-e { 攻撃兵セット_共通 } \

				-wait (60*3) \			//	危険開始時の出動遅らせ時間

				-avoidwait (60*5) \		//	回避モードで始まる場合のみ有効

				-status d:AT_COM_WARP	//	危険モード開始時にワープ

		}



	}



}



proc スネークテイルズＢ用コマンダー設定 {

	#if d:DEBUG_PRINT

		print 'commander_set-snake_tales'

	#endif



	//	双眼鏡兵状態やりとりを活かすため

	@A_双眼鏡兵開始状態チェック a19a ＤＥ連絡橋 敵兵:01 18250 5500 0 2048



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

		-w スネークテイルズＢ用警備兵コマンダー \

		-a スネークテイルズＢ用攻撃兵コマンダー \

		-r -17750,0,-3000 ＤＥ連絡橋 \		//	Ｄ脚１Ｆから

		   -18500,-4500,-4000 ＤＥ連絡橋 \	//	Ｄ脚Ｂ１から

			25750,0,2250 ＤＥ連絡橋 \		//	Ｅ脚から

		-c -17750,0,-3000 ＤＥ連絡橋 \		//	Ｄ脚１Ｆから

		   -18500,-4500,-4000 ＤＥ連絡橋 \	//	Ｄ脚Ｂ１から

			25750,0,2250 ＤＥ連絡橋 \		//	Ｅ脚から

		-v [ene_plant_voice:01] \

		-x [ghq_area_alert_voice:w19a] \

		-y [ghq_caution_voice:w19a-2] \	//	警戒時に攻撃兵が残っている場合

		-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 'a19a_item_set-snake_tales'

	#endif



	//	スタン

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

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

		@スタン_初期設置 スタン:01 13250 -4500 2750 0			//	Ｂ１東端北

	}

	//	ＵＳＰ

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

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

		@弾薬_ＵＳＰ_初期設置 ＵＳＰ弾:01 12750 -4500 3500 0	//	Ｂ１東端南

	}



}











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

// テイルズＤで使用するプロック

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



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

// 変数に関する設定

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

proc スネークテイルズＤ用変数設定 {

	#if d:DEBUG_PRINT 

		print 'stage_var_set-snake_tales'

	#endif



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

	// ドアに関する設定

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

	eval ($$b:ドアフラグ[0] = d:DOOR_FLAG_OPEN);	// Ｄ脚１Ｆドア

	eval ($$b:ドアフラグ[1] = d:DOOR_FLAG_OPEN);	// Ｄ脚Ｂ１ドア

	eval ($$b:ドアフラグ[2] = d:DOOR_FLAG_OPEN);	// Ｅ脚ドア

}







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

// 敵兵に関する設定

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

proc スネークテイルズＤ用警備兵コマンダー {

	#if d:DEBUG_PRINT

		print 'wccomm_set-snake_tales'

	#endif



	switch ($s:登場ポイント) {

		case (Ｄ脚１Ｆから) {

			chara 警備コマンダー wccomm -e { 警備兵セット_Ｄ脚から_２ }

		}



		case (Ｄ脚Ｂ１から) {

			chara 警備コマンダー wccomm -e { 警備兵セット_Ｄ脚から_２ }

		}



		case (Ｅ脚から) {

			chara 警備コマンダー wccomm -e { 警備兵セット_Ｅ脚から_２ }

		}



		default {

			chara 警備コマンダー wccomm -e { 警備兵セット_Ｄ脚から_２ }

		}



	}



}



proc スネークテイルズＤ用攻撃兵コマンダー {

	#if d:DEBUG_PRINT

		print 'atcomm_set-snake_tales'

	#endif



	switch ($s:登場ポイント) {

		case (Ｄ脚１Ｆから) {

			chara 攻撃コマンダー atcomm \

				-e { 攻撃兵セット_Ｄ脚１Ｆから_２ } \

				-wait (60*3) \			//	危険開始時の出動遅らせ時間

				-avoidwait (60*5) \		//	回避モードで始まる場合のみ有効

				-status d:AT_COM_WARP	//	危険モード開始時にワープ

		}



		case (Ｄ脚Ｂ１から) {

			chara 攻撃コマンダー atcomm \

				-e { 攻撃兵セット_Ｄ脚Ｂ１から_２ } \

				-wait (60*3) \			//	危険開始時の出動遅らせ時間

				-avoidwait (60*5) \		//	回避モードで始まる場合のみ有効

				-status d:AT_COM_WARP	//	危険モード開始時にワープ

		}



		case (Ｅ脚から) {

			chara 攻撃コマンダー atcomm \

				-e { 攻撃兵セット_Ｅ脚から_２ } \

				-wait (60*3) \			//	危険開始時の出動遅らせ時間

				-avoidwait (60*5) \		//	回避モードで始まる場合のみ有効

				-status d:AT_COM_WARP	//	危険モード開始時にワープ

		}



		default {

			chara 攻撃コマンダー atcomm \

				-e { 攻撃兵セット_共通_２ } \

				-wait (60*3) \			//	危険開始時の出動遅らせ時間

				-avoidwait (60*5) \		//	回避モードで始まる場合のみ有効

				-status d:AT_COM_WARP	//	危険モード開始時にワープ

		}



	}



}







proc スネークテイルズＤ用コマンダー設定 {

	#if d:DEBUG_PRINT

		print 'commander_set-snake_tales'

	#endif



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

		-w スネークテイルズＤ用警備兵コマンダー \

		-a スネークテイルズＤ用攻撃兵コマンダー \

		-r -17750,0,-3000 ＤＥ連絡橋 \		//	Ｄ脚１Ｆから

		   -18500,-4500,-4000 ＤＥ連絡橋 \	//	Ｄ脚Ｂ１から

			25750,0,2250 ＤＥ連絡橋 \		//	Ｅ脚から

		-c -17750,0,-3000 ＤＥ連絡橋 \		//	Ｄ脚１Ｆから

		   -18500,-4500,-4000 ＤＥ連絡橋 \	//	Ｄ脚Ｂ１から

			25750,0,2250 ＤＥ連絡橋 \		//	Ｅ脚から

		-v [ene_plant_voice:01] \

		-x [ghq_area_alert_voice:w19a] \

		-y [ghq_caution_voice:w19a-2] \	//	警戒時に攻撃兵が残っている場合

		-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 'a19a_item_set-snake_tales'

	#endif



	//	グレネード

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

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

		@グレネード_初期設置 グレネード:01 13250 -4500 2750 0		//	Ｂ１東端北

	}

	//	レーション

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

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

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

		@レーション_初期設置 レーション:01 12750 -4500 3500 0		//	Ｂ１東端南

	}



}





