/*

	a01b_tale.h

		居住区２階（スネークテイルズ用）

	2002/06/08 S.Kaneyoshi

	$Id: a01b_tale.h,v 1.14 2002/10/02 09:04:16 usr04249 Exp $

*/



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





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

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

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

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

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

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

		command セットルートオフセット d:SCN:スネークテイルズ

	}



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

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

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

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

	

		@ポーズ時ステージ名表示設定 d:wn_船橋二階居住区

		

		// 全マップ共通基本キャラ設定

		command マップ設定 ２Ｆ廻廊部 -set {

			@スネークテイルズ用変数初期化

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

			@スネークテイルズ用変数設定

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

			@スネークテイルズ用水溜まりセット

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

		}



		// 各マップで使用するキャラの設定(アイテム等)

		command マップ設定 ２Ｆ廻廊部 -set {

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

		}

	}



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

// サウンド関連の設定

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



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

		#if d:DEBUG_PRINT

			print 'sound_set-bomb_misson'

		#endif



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

		@サウンド効果音設定

	}



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

		#if d:DEBUG_PRINT

			print 'bgm_set-bomb_misson'

		#endif

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

	}





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

// 変数の初期化と設定

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



	proc スネークテイルズ用変数初期化 {

	}

	

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

		#if d:DEBUG_PRINT

			print 'stage_var_set-bomb_misson'

		#endif

		

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

		// ドアに関する設定

		//		DOOR_FLAG_CLOSE			0		// 絶対開かない

		//		DOOR_FLAG_OPEN			1		// 絶対開く

		//		DOOR_FLAG_ENEMY_ONLY	2		// 敵兵のみ開く

		//		DOOR_FLAG_CLOSE_LEVEL	3		// カードレベルが足りなくて開かない

		//		DOOR_FLAG_OPEN_LEVEL	4		// カード持っているので開く

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



		$$b:ドアフラグ[0] = 1;		// 右舷リフレッシュ

		$$b:ドアフラグ[1] = 0;		// 左舷リフレッシュ

		$$b:ドアフラグ[2] = 0;		// 右舷水密ドア

		$$b:ドアフラグ[3] = 0;		// 左舷水密ドア



		// テイルズはレーダーＯＦＦ

		@レーダーオンオフチェック	0

	}





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

// クリア時に呼ばれるプロック （空でもよい）

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

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

	#if d:DEBUG_PRINT

		print 'game clear'

	#endif

}



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

// 敵兵の設定

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



#define ET_DEF_X_1	-5000

#define ET_DEF_Y_1	3000

#define ET_DEF_Z_1	-18750



#define ET_DEF_X_2	5000

#define ET_DEF_Y_2	3000

#define ET_DEF_Z_2	-18750



#define ET_DEF_X_3	7000

#define ET_DEF_Y_3	3000

#define ET_DEF_Z_3	-6000



#define ET_DEF_X_4	-5000

#define ET_DEF_Y_4	3000

#define ET_DEF_Z_4	-6000







	proc スネークテイルズ用警備兵セット {

		#if d:DEBUG_PRINT

			print 'watcher_set-bomb_misson'

		#endif



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

		// 敵兵の数を増やした際は「水溜まりセット」を変更する事



		@A_警備兵 敵兵:01 \

			1 \		// ルート

			0 \		// ノード

			d:ENE_STATUS_NORMAL \

			d:ET_DEF_X_1 d:ET_DEF_Y_1 d:ET_DEF_Z_1 \

			２Ｆ廻廊部

		

		@A_警備兵 敵兵:03 \

			3 \		// ルート

			0 \		// ノード

			d:ENE_STATUS_NORMAL \

			d:ET_DEF_X_2 d:ET_DEF_Y_2 d:ET_DEF_Z_2 \

			２Ｆ廻廊部

		

		

		if( $s:登場ポイント == 居住区一階中央階段右からロード ) {

			@A_警備兵 敵兵:02 \

				2 \		// ルート

				0 \		// ノード

				d:ENE_STATUS_NORMAL \

				d:ET_DEF_X_3 d:ET_DEF_Y_3 d:ET_DEF_Z_3 \

				２Ｆ廻廊部

				

			@A_警備兵 敵兵:04 \

				4 \		// ルート

				0 \		// ノード

				d:ENE_STATUS_NORMAL \

				d:ET_DEF_X_4 d:ET_DEF_Y_4 d:ET_DEF_Z_4 \

				２Ｆ廻廊部

		} else if( $s:登場ポイント == 居住区一階中央階段左からロード ) {

			@A_警備兵 敵兵:02 \

				5 \		// ルート

				0 \		// ノード

				d:ENE_STATUS_NORMAL \

				d:ET_DEF_X_3 d:ET_DEF_Y_3 d:ET_DEF_Z_3 \

				２Ｆ廻廊部

			

			@A_警備兵 敵兵:04 \

				8 \		// ルート

				0 \		// ノード

				d:ENE_STATUS_NORMAL \

				d:ET_DEF_X_4 d:ET_DEF_Y_4 d:ET_DEF_Z_4 \

				２Ｆ廻廊部

		}

	}



	proc スネークテイルズ用攻撃兵セット {

		#if d:DEBUG_PRINT

			print 'attacker_set-bomb_misson'

		#endif



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

		// 敵兵の数を増やした際は「水溜まりセット」を変更する事



		/*

		@A_攻撃兵 敵兵:61 \

			1 \

			//d:ENE_STATUS_NORMAL \

			( d:ENE_STATUS_TRAPSHADOW | d:ENE_STATUS_CONVERT )\

			//d:ENE_EQUIP_TYPE_NORMAL

			d:ENE_EQUIP_TYPE_SHIELD



		@A_攻撃兵 敵兵:62 \

			2 \

			//d:ENE_STATUS_NORMAL \

			( d:ENE_STATUS_TRAPSHADOW | d:ENE_STATUS_CONVERT )\

			//d:ENE_EQUIP_TYPE_NORMAL

			d:ENE_EQUIP_TYPE_SHIELD

		*/

		@A_攻撃兵 敵兵:61 \

			7 \

			//d:ENE_STATUS_NORMAL \

			d:ENE_STATUS_TRAPSHADOW \

			d:ENE_EQUIP_TYPE_SHIELD



		@A_攻撃兵 敵兵:62 \

			7 \

			//d:ENE_STATUS_NORMAL \

			d:ENE_STATUS_TRAPSHADOW \

			d:ENE_EQUIP_TYPE_SHIELD

	}



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

		#if d:DEBUG_PRINT

			print 'wccomm_set-bomb_misson'

		#endif



		chara 警備コマンダー wccomm \

			-e { スネークテイルズ用警備兵セット }

	}



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

		#if d:DEBUG_PRINT

			print 'atcomm_set-bomb_misson'

		#endif



		chara 攻撃コマンダー atcomm \

			//-status 	d:AT_COM_WARP \

			//-wait		180 \

			//-avoidwait	300 \

			-e { スネークテイルズ用攻撃兵セット }

	}



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

		#if d:DEBUG_PRINT

			print 'commander_set-bomb_misson'

		#endif



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

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

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

			-s (d:ENE_STAGE_VR_ANOTHER) \

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

			-r 0,0,-13000 ２Ｆ廻廊部 \

			-c 0,0,-13000 ２Ｆ廻廊部 \

			-x [ghq_area_alert_voice:w01b] \

			-y [ghq_caution_voice:a01b] \

			-v [ene_tank_voice:06] \

			-b $w:敵標準再発生数 \ // 生き返る敵兵数

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

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

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

	}

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

// 水溜まりセット

// 敵兵を増やした時は変更する事

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

	proc スネークテイルズ用水溜まりセット {

		chara 水溜り管理 水溜り管理人 \

			-n_obj	7 \		// 水溜まりエフェクトを登録する人数

			-obj	d:PLAYER \

					敵兵:01 \

					敵兵:02 \

					敵兵:03 \

					敵兵:04 \

					敵兵:61 \

					敵兵:62

		//if( $f:a01b_ドアフラグ[2] ) {

		if( $$b:ドアフラグ[2] ) {

			// 右舷水溜まりトラップ

			command トラップ切り替え -trap puddle:01 -switch 1

			command 追加ＨＺＸグループ登録 -hzx_id 0 -add_id 2

		}

		if( $$b:ドアフラグ[3] ) {

			// 左舷水溜まりトラップ

			command トラップ切り替え -trap puddle:02 -switch 1

			command 追加ＨＺＸグループ登録 -hzx_id 0 -add_id 3

		}



		trap puddle ？ \

			-mask ？ \

			-exec {

				if($3 == 入る){

					mesg 水溜り管理 水溜り管理人 入る $2

				}else{

					mesg 水溜り管理 水溜り管理人 出る $2

				}

			}

	}



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

// アイテム関連

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



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

		// ＡＫＳ弾

		if( $:ボックス名 == ＡＫＳ弾 ) {

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

		}

		// Ｍ４弾

		if( $:ボックス名 == Ｍ４弾 ) {

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

		}

	}

	

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

		// ＡＫＳ弾

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

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

			@弾薬_ＡＫＳ_初期設置 ＡＫＳ弾 9650 3000 -9600 d:アイテム水飛沫無

		}

		// Ｍ４弾

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

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

			@弾薬_Ｍ４_初期設置 Ｍ４弾 -10750 3000 -15150 d:アイテム水飛沫無

		}

		

		// 自分で出現チェックをするアイテム

		@A_Ｍ４_初期設置 Ｍ４本体 11250 5500 -13250 d:アイテム水飛沫無 なし 31

		mesg アイテム Ｍ４本体 影だけオフ

		

		@A_風邪薬_初期設置 風邪薬 1100 3000 5500 d:アイテム水飛沫無

	}



