/*

	a15_tale.h

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



	2002/06/05 S.Mukaide

	$Id: a15_tale.h,v 1.26 2002/08/05 13:01:14 usr03379 Exp $





*/





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

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

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

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



#define	CONTINUE_ADD	1	//	追加コンティニュー処理を可能にする。a_gameover.h内で呼ばれる







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

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

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

#include	"a15_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

		}



		// テイルズＥ

		case ( d:TALES_NO:E ) {

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

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



			//	スネークテイルズＥ用デジカメ設定

			@スネークテイルズＥ用デジカメ設定		//	a_stdproc.h内で定義

		}



	}



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



}







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

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

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

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

ＢＣ連絡橋

*/

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

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

	#if d:DEBUG_PRINT 

		print 'proc_set2-snake_tales'

	#endif



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



	switch ( $b:tales_story_no ) {

		// テイルズＢ

		case ( d:TALES_NO:B ) {

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

			command マップ設定 ＢＣ連絡橋 -set {

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

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

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

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

				@スネークテイルズＢ用サイファー配置

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

			}

		}



		// テイルズＤ

		case ( d:TALES_NO:D ) {

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

			command マップ設定 ＢＣ連絡橋 -set {

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

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

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

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

				@スネークテイルズＤ用サイファー配置

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

			}

		}



		// テイルズＥ

		case ( d:TALES_NO:E ) {

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

			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



	switch ( $b:tales_story_no ) {

		// テイルズＢ

		case ( d:TALES_NO:B ) {

			if ($:サイファー名 == サイファー:01) {

				eval ($b:a15_サイファー破壊ロード回数[0] = $w:グローバルロード回数)

			}

		}



		// テイルズＤ

		case ( d:TALES_NO:D ) {

			if ($:サイファー名 == サイファー:01) {

				eval ($b:a15_サイファー破壊ロード回数[0] = $w:グローバルロード回数)

			}

		}



		// テイルズＥ

		case ( d:TALES_NO:E ) {

			if ($:サイファー名 == サイファー:01) {

				eval ($b:a15_サイファー破壊ロード回数[0] = $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 ($:サイファー名 == サイファー:01) {

				eval ($b:a15_サイファー破壊ロード回数[0] = $w:グローバルロード回数)

			}

		}



	}

}







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

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

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

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:w15a_取得ロード回数[0] = $w:グローバルロード回数);

			}

		}



		// テイルズＤ

		case ( d:TALES_NO:D ) {

			if($:ボックス名 == チャフ:01) {

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

			}

		}



		// テイルズＥ

		case ( d:TALES_NO:E ) {

			if($:ボックス名 == チャフ:01) {

				eval($b:w15a_取得ロード回数[0] = $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($:ボックス名 == チャフ:01) {

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

			}

		}



	}

}







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

//ゲームオーバー／コンティニューに関する設定

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

//	a_gameover.h内で呼ばれる

proc 追加コンティニュー処理 {

	switch ( $b:tales_story_no ) {

		// テイルズＥ

		case ( d:TALES_NO:E ) {

			@テイルズＥ用コンティニュー処理		//	a_stdproc.hで定義

		}

	}

}











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

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

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



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

// 変数に関する設定

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

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_LEVEL);	// Ｃ脚ドア		//カード１で開く



}







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

// 敵兵に関する設定

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

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

	#if d:DEBUG_PRINT

		print 'wccomm_set-snake_tales'

	#endif



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

		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	//	危険モード開始時にワープ

		}



		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	-48500,0,-42500 ＢＣ連絡橋 \	//	Ｂ脚から

			-53250,0,-96000 ＢＣ連絡橋 \	//	Ｃ脚から

		-c	-48500,0,-42500 ＢＣ連絡橋 \	//	Ｂ脚から

			-53250,0,-96000 ＢＣ連絡橋 \	//	Ｃ脚から

		-v [ene_plant_voice:01] \

		-x [ghq_area_alert_voice:w15a] \

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

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

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

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

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

		-f d:T_ER:連絡橋南北連絡Ｒ 0 t:vc044023 t:vc044023_len \

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

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

}







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

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

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

proc スネークテイルズＢ用サイファー配置 {

	#if d:DEBUG_PRINT

		print 'cypher_set-snake_tales'

	#endif



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

		case (Ｂ脚から) {

			@サイファセット_Ｂ脚から

		}



		case (Ｃ脚から) {

			@サイファセット_Ｃ脚から

		}



		default {

			@サイファセット_Ｂ脚から

		}



	}



}







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

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

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

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

	#if d:DEBUG_PRINT

		print 'w15_item_set-snake_tales'

	#endif



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

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

		@チャフ_初期設置 チャフ:01 -47750 0 -60000 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);	// Ｃ脚ドア

}







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

// 敵兵に関する設定

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

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

	#if d:DEBUG_PRINT

		print 'wccomm_set-snake_tales'

	#endif



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

		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	//	危険モード開始時にワープ

		}



		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	-48500,0,-42500 ＢＣ連絡橋 \	//	Ｂ脚から

			-53250,0,-96000 ＢＣ連絡橋 \	//	Ｃ脚から

		-c	-48500,0,-42500 ＢＣ連絡橋 \	//	Ｂ脚から

			-53250,0,-96000 ＢＣ連絡橋 \	//	Ｃ脚から

		-v [ene_plant_voice:01] \

		-x [ghq_area_alert_voice:w15a] \

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

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

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

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

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

		-f d:T_ER:連絡橋南北連絡Ｒ 0 t:vc044023 t:vc044023_len \

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

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

}







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

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

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

proc スネークテイルズＤ用サイファー配置 {

	#if d:DEBUG_PRINT

		print 'cypher_set-snake_tales'

	#endif



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

		case (Ｂ脚から) {

			@サイファセット_Ｂ脚から

		}



		case (Ｃ脚から) {

			@サイファセット_Ｃ脚から

		}



		default {

			@サイファセット_Ｂ脚から

		}



	}



}







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

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

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

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

	#if d:DEBUG_PRINT

		print 'w15_item_set-snake_tales'

	#endif



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

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

		@チャフ_初期設置 チャフ:01 -47750 0 -60000 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);	// Ｃ脚ドア

}







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

// 敵兵に関する設定

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

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

	#if d:DEBUG_PRINT

		print 'wccomm_set-snake_tales'

	#endif



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

		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	//	危険モード開始時にワープ

		}



		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	-48500,0,-42500 ＢＣ連絡橋 \	//	Ｂ脚から

			-53250,0,-96000 ＢＣ連絡橋 \	//	Ｃ脚から

		-c	-48500,0,-42500 ＢＣ連絡橋 \	//	Ｂ脚から

			-53250,0,-96000 ＢＣ連絡橋 \	//	Ｃ脚から

		-v [ene_plant_voice:01] \

		-x [ghq_area_alert_voice:w15a] \

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

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

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

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

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

		-f d:T_ER:連絡橋南北連絡Ｒ 0 t:vc044023 t:vc044023_len \

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

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

}







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

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

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

proc スネークテイルズＥ用サイファー配置 {

	#if d:DEBUG_PRINT

		print 'cypher_set-snake_tales'

	#endif



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

		case (Ｂ脚から) {

			@サイファセット_Ｂ脚から

		}



		case (Ｃ脚から) {

			@サイファセット_Ｃ脚から

		}



		default {

			@サイファセット_Ｂ脚から

		}



	}



}







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

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

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

proc スネークテイルズＥ用アイテム設置 {

	#if d:DEBUG_PRINT

		print 'w15_item_set-snake_tales'

	#endif



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

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

		@チャフ_初期設置 チャフ:01 -47750 0 -60000 0		//	壊れ橋付け根

	}

}

















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

// 以下デバッグ専用proc

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

// デバッグキャラ

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

proc デバッグキャラセット {

	#if d:DEBUG_PRINT

		print 'debug_chara_set'

	#endif



	chara スクリーンショット shot



#include "usbkbd.h"

	chara USBキーボード実行 test \

		-e d:KBD_ESC {

			command プレイヤー無敵解除

		} \

		-e d:KPD_ENTER {

			command プレイヤー無敵セット

		}

}





