/*

	a12b_tale.h

		Ａ脚ポンプ室(スネークテイルズ用モード別設定ファイル)



	2002/05/22 H.Yoshiike         

	$Id: a12b_tale.h,v 1.23 2002/08/28 12:23:14 usr03682 Exp $                      

*/



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

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

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

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



// アイテム設置用ポジションリスト

// 制御室

#define		T_ITEM_POS_A12B_0_01	-10375	 0		 (-4000-287)	// 西側にあるロッカー左の中

#define		T_ITEM_POS_A12B_0_02	-9375	 0		 (-4000-287)	// 西側にあるロッカー右の中

#define		T_ITEM_POS_A12B_0_03	9375	 0		 (-4000-287)	// 東側にあるロッカー左の中

#define		T_ITEM_POS_A12B_0_04	10375	 0		 (-4000-287)	// 東側にあるロッカー右の中

#define		T_ITEM_POS_A12B_0_05	0		 -250	 -6250			// 制御室机の下

#define		T_ITEM_POS_A12B_0_06	-6750	 5000	 -8500			// 西側階段の横

#define		T_ITEM_POS_A12B_0_07	6750	 5000	 -8500			// 東側階段の横

// ポンプ室

#define		T_ITEM_POS_A12B_1_01	-4500	 0		 5500			// ポンプ室パイプ地帯の北西

#define		T_ITEM_POS_A12B_1_02	-4500	 0		 11000			// ポンプ室パイプ地帯の南西

#define		T_ITEM_POS_A12B_1_03		0	 0		 11000			// ポンプ室パイプ地帯の南





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

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

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

#include	"a12b_tale_enemy.h"











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

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

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

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

	#if d:DEBUG_PRINT 

		print 'proc_set1-bomb_misson'

	#endif

	switch ( $b:tales_story_no ) {

		// テイルズＡ

		case ( d:TALES_NO:A ) {

			// 共通システムの起動 $:クリア条件フラグ $:途中ステージフラグ(テイルズでは関係ない)

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

		}

		// テイルズＤ

		case ( d:TALES_NO:D ) {

			// 共通システムの起動 $:クリア条件フラグ $:途中ステージフラグ(テイルズでは関係ない)

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

		}

	

	}

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

}





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

	#if d:DEBUG_PRINT 

		print 'proc_set2-snake tales'

	#endif



	@プラント編全体マップ設定 d:Ａ脚マップ



	switch ( $b:tales_story_no ) {

		// テイルズＡ

		case ( d:TALES_NO:A ) {

			// 爆弾マークのチェック

			@スネークテイルズＡ用マップ爆弾表示チェック



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

			command マップ設定 制御室 ポンプ室 -set {

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

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

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

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

			}



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

			command マップ設定 制御室 -set {

				@スネークテイルズＡ用制御室アイテム設置

			}

			command マップ設定 ポンプ室 -set {

				@スネークテイルズＡ用監視カメラ設置

				@スネークテイルズＡ用ポンプ室アイテム設置

			}

		}



		// テイルズＤ

		case ( d:TALES_NO:D ) {

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

			command マップ設定 制御室 ポンプ室 -set {

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

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

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

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

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

			}



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

#if 0

			//	ここは開かないので行けません

			command マップ設定 ポンプ室 -set {

//				@スネークテイルズＤ用監視カメラ設置

			}

#endif



		}



		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



//	パックについて

	//	pak0	ハイテク兵無し

	//	pak1	Ｂ爆弾探索中

	//	pak2	ハイテク兵有り



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

	@サウンド効果音設定

}



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

	#if d:DEBUG_PRINT 

		print 'bgm_set-snake tales'

	#endif



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

}





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

// 監視カメラに関する設定

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

proc スネークテイルズ用監視カメラ破壊時処理 $:名前 $:フラグ {

	switch ( $b:tales_story_no ) {

		// テイルズＡ

		case ( d:TALES_NO:A ) {

			if ( $:名前 == ポンプ室カメラ ) {

				$b:a12b_カメラ破壊ロード回数[0] = $w:グローバルロード回数;	

				$b:a12b_カメラ破壊フラグ[0] = $:フラグ;

			}

		}



		// テイルズＤ

		case ( d:TALES_NO:D ) {

			if ( $:名前 == ポンプ室カメラ ) {

				$b:a12b_カメラ破壊ロード回数[0] = $w:グローバルロード回数;	

				$b:a12b_カメラ破壊フラグ[0] = $:フラグ;

			}

		}



		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 ( $:名前 == ポンプ室カメラ ) {

				$b:a12b_カメラ破壊ロード回数[0] = $w:グローバルロード回数;	

				$b:a12b_カメラ破壊フラグ[0] = $:フラグ;

			}

		}

	}

}





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

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

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

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

	#if d:DEBUG_PRINT

		print 'item_no_set-snake tales'

	#endif



	switch ( $b:tales_story_no ) {

		// テイルズＡ

		case ( d:TALES_NO:A ) {

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

				$b:w12b_取得ロード回数[0] = $w:グローバルロード回数;

			} else if($:ボックス名 == Ｍ９弾薬:01) {

				$b:w12b_取得ロード回数[1] = $w:グローバルロード回数;

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

				$b:w12b_取得ロード回数[2] = $w:グローバルロード回数;

			}

		}



		// テイルズＤ

		case ( d:TALES_NO:D ) {

			if ($:ボックス名 == 止血材:01) {

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

/*

			} else if($:ボックス名 == ソコム弾薬:02) {

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

*/

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

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

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

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

			} else if($:ボックス名 == 止血材:02) {

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

/*

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

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

			} else if($:ボックス名 == 止血剤:01) {

				eval($b:w12b_取得ロード回数[6] = $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



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

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

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

	$$b:ドアフラグ[0] = d:DOOR_FLAG_OPEN;	// 屋上左側へのドア

	$$b:ドアフラグ[1] = d:DOOR_FLAG_OPEN;	// 屋上右側へのドア

	$$b:ドアフラグ[2] = d:DOOR_FLAG_CLOSE;	// ＡＢ連絡橋へのドア

	$$b:ドアフラグ[3] = d:DOOR_FLAG_OPEN;	// ＦＡ連絡橋へのドア

	$$b:ドアフラグ[4] = 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 { 攻撃兵セット_屋上左から }

		}

		case ( Ａ脚屋上右側から ) {

			chara 攻撃コマンダー atcomm -e { 攻撃兵セット_屋上右から }

		}

		case ( ＦＡ連絡橋から ) {

			chara 攻撃コマンダー atcomm -e { 攻撃兵セット_ＦＡ連絡橋から }

		}

		case ( Ｅ脚からダンボール ) {

			chara 攻撃コマンダー atcomm -e { 攻撃兵セット_ＦＡ連絡橋から }

		}

		default {

			chara 攻撃コマンダー atcomm -e { 攻撃兵セット_ＦＡ連絡橋から }

		}

	}

}



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

	#if d:DEBUG_PRINT

		print 'commander_set-snake tales'

	#endif



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

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

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

		-d 制御室 \

		-r 14500 0 -7750 制御室 \

		-c 14500 0 -7750 制御室 \

		-v [ene_plant_voice:01] \

		-x [ghq_area_alert_voice:w12b] \

		-y [ghq_caution_voice:w12b] \

		-p  0,-1,-1 クリアリングエリア０_初期設定 \

		    0,-2,-2 クリアリングエリア０_終了 \

		   -2,-2,-2 クリアリングカメラＯＦＦ \

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

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

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

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

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

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



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

	// クリアリング子画面

	chara サブ画面 子画面



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

	// クリアリングエリア０ 子画面制御

	trap clearing_0 d:PLAYER \

		-mask 出る \

		-exec {

			if($f:クリアリングフラグ０ == 1) {

				@クリアリングカメラＯＦＦ

			}

		}

}





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

// 監視カメラに関する設定

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

proc スネークテイルズＡ用監視カメラ設置 {

	#if d:DEBUG_PRINT

		print 'a20a0_svc_camera_set-bomb_mission'

	#endif



	// 北側のカメラ

	@カメラ再セットチェック $b:a12b_カメラ破壊ロード回数[0]

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

		eval( $b:a12b_カメラ破壊フラグ[0] = 0 );

	}

	// A_監視カメラ $:名前 $:場所Ｘ $:場所Ｙ $:場所Ｚ $:取付縦方向 $:取付横方向 $:カメラ振り中心角 $:振り幅 $:フラグ 

	@A_監視カメラ ポンプ室カメラ -9250 2700 250 500 0 290 400 $b:a12b_カメラ破壊フラグ[0]

}





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

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

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

proc スネークテイルズＡ用制御室アイテム設置 {

	#if d:DEBUG_PRINT

		print 'a12a_item_set-snake tales'

	#endif



	// チャフ

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

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

		@チャフ_初期設置 チャフ:01 d:T_ITEM_POS_A12B_0_05 0

	}

/*

	// Ｍ９弾薬 福島さん指示により削除 2002.08.29

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

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

		@弾薬_Ｍ９_初期設置 Ｍ９弾薬:01 d:T_ITEM_POS_A12B_0_03 0

	}

*/

}



proc スネークテイルズＡ用ポンプ室アイテム設置 {

	#if d:DEBUG_PRINT

		print 'a12a_item_set-snake tales'

	#endif



	// ダンボール

	@ダンボールＣ_初期設置 日用品ダンボール d:T_ITEM_POS_A12B_1_01 0 25



	// レーション

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

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

		@レーション_初期設置 レーション:01 d:T_ITEM_POS_A12B_1_03 0

	}



}











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

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

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

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

// 変数に関する設定

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

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

	#if d:DEBUG_PRINT 

		print 'stage_var_set-snake tales'

	#endif



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

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

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

	$$b:ドアフラグ[0] = d:DOOR_FLAG_CLOSE;	// 屋上左側へのドア

	$$b:ドアフラグ[1] = d:DOOR_FLAG_CLOSE;	// 屋上右側へのドア

	$$b:ドアフラグ[2] = d:DOOR_FLAG_OPEN;	// ＡＢ連絡橋へのドア

	$$b:ドアフラグ[3] = d:DOOR_FLAG_OPEN;	// ＦＡ連絡橋へのドア

	$$b:ドアフラグ[4] = d:DOOR_FLAG_CLOSE;	// ポンプ室へのドア

}





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

// 敵兵に関する設定

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

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 { 攻撃兵セット_ＡＢ連絡橋から_２ }

		}

		case ( ＦＡ連絡橋から ) {

			chara 攻撃コマンダー atcomm -e { 攻撃兵セット_ＦＡ連絡橋から_２ }

		}

		case ( Ｅ脚からダンボール ) {

			chara 攻撃コマンダー atcomm -e { 攻撃兵セット_ＦＡ連絡橋から_２ }

		}

		default {

			chara 攻撃コマンダー atcomm -e { 攻撃兵セット_ＦＡ連絡橋から_２ }

		}

	}

}



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

	#if d:DEBUG_PRINT

		print 'commander_set-snake tales'

	#endif



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

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

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

		-d 制御室 \

		-r -14500 0 -7750 制御室 \	//	ＡＢ連絡橋から

		-c 14500 0 -7750 制御室 \	//	ＦＡ連絡橋から

		-v [ene_plant_voice:01] \

		-x [ghq_area_alert_voice:w12b] \

		-y [ghq_caution_voice:w12b] \

		-p  0,-1,-1 クリアリングエリア０_初期設定 \

		    0,-2,-2 クリアリングエリア０_終了 \

		   -2,-2,-2 クリアリングカメラＯＦＦ \

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

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

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

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

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

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



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

	// クリアリング子画面

	chara サブ画面 子画面



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

	// クリアリングエリア０ 子画面制御

	trap clearing_0 d:PLAYER \

		-mask 出る \

		-exec {

			if($f:クリアリングフラグ０ == 1) {

				@クリアリングカメラＯＦＦ

			}

		}

}





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

// 監視カメラに関する設定

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

proc スネークテイルズＤ用監視カメラ設置 {

	#if d:DEBUG_PRINT

		print 'a20a0_svc_camera_set-bomb_mission'

	#endif



	// 北側のカメラ

	@カメラ再セットチェック $b:a12b_カメラ破壊ロード回数[0]

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

		eval( $b:a12b_カメラ破壊フラグ[0] = 0 );

	}

	// A_監視カメラ $:名前 $:場所Ｘ $:場所Ｙ $:場所Ｚ $:取付縦方向 $:取付横方向 $:カメラ振り中心角 $:振り幅 $:フラグ 

	@A_監視カメラ ポンプ室カメラ -9250 2700 250 500 0 290 400 $b:a12b_カメラ破壊フラグ[0]

}





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

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

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

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

	#if d:DEBUG_PRINT

		print 'a12a_item_set-snake tales'

	#endif



	//	ジアゼパム

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

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

		@止血剤_初期設置 止血材:01 -9500 200 -4250 0		//	西ロッカー東側

	}



#if 0

	//	行けないので使用せず

	//	ソコム弾薬

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

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

		@弾薬_ソコム_初期設置 ソコム弾薬:02 -8500 0 1000 0			//	ポンプ室北西

	}

#endif



	//	レーション

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

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

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

		@レーション_初期設置 レーション:01 0 -200 -6250 0				//	中央机下

	}



	//	スタン

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

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

		@スタン_初期設置 スタン:01 6250 5000 -7875 0			//	東階段上

	}



	//	止血材

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

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

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

		@止血剤_初期設置 止血材:02 10375 200 -4250 0		//	東ロッカー東側

	}



#if 0

	//	行けないので使用せず

	//	レーション

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

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

		@レーション_初期設置 レーション:02 -1500 0 7250 0			//	ポンプ室中央西

	}

#endif



#if 0

	//	止血剤

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

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

		@止血剤_初期設置 止血剤:01 -4500 0 5500 0					//	ポンプ室北西

	}

#endif



}

