/*

	a03b_tale.h

		長廊下（スネークテイルズ用）

	2002/06/10 S.Kaneyoshi

	$Id: a03b_tale.h,v 1.11 2002/08/29 05:57:57 usr04249 Exp $

*/



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



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

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

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

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

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

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

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

	}



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

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

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

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

	

		@ポーズ時ステージ名表示設定 d:wn_第二甲板右舷

		

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

		command マップ設定	中央長廊下 \

							右舷長廊下３ \

							右舷長廊下１ \

		-set {

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

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

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

			

			if ( ( $b:ミッション番号 == d:MISSION:スネークテイルズ ) && \

				 ( $b:tales_story_no == d:TALES_NO:C ) && \

				 ( $b:tales_story_c == d:TALES_C:長廊下戦闘中 ) ) {

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

			}

			

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

			

			if ( ( $b:ミッション番号 == d:MISSION:スネークテイルズ ) && \

				 ( $b:tales_story_no == d:TALES_NO:C ) && \

				 ( $b:tales_story_c < d:TALES_C:長廊下で攻撃された終了 ) ) {

				@スネークテイルズ用イベント兵登場

			}

			

			@スネークテイルズ用中央長廊下アイテムセット

		}



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

		command マップ設定 中央長廊下 -set {

		}

		

		command マップ設定 右舷長廊下１ -set {

			if ( ( $b:ミッション番号 == d:MISSION:スネークテイルズ ) && \

				 ( $b:tales_story_no == d:TALES_NO:C ) && \

				 ( $b:tales_story_c == d:TALES_C:長廊下戦闘中 ) ) {

				@長廊下兵戦闘時透明壁設定

			}

		}

	}



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

// ローカル変数初期化

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

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

		$f:長廊下兵戦ＵＳＰ弾２存在 = 0;

		$f:長廊下兵戦ＵＳＰ弾１存在 = 0;

		$f:長廊下兵戦レーション存在 = 0;

	}

	

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

// サウンド関連の設定

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



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

		#if d:DEBUG_PRINT

			print 'sound_set'

		#endif

		/*

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

		@サウンド効果音設定

		*/

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

		mesg  サウンドマネージャー ＳＤマネ SD_CODE d:SE_REVERB_ON



		@サウンド効果音設定

	}



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

		#if d:DEBUG_PRINT

			print 'bgm_set'

		#endif

		/*

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

		*/

		chara ＢＧＭマネージャー ＢＧＭマネ -s 0x00000001

	}



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

		#if d:DEBUG_PRINT

			print 'stage_var_set-bomb_misson'

		#endif

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

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

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

		/*

		eval( $f:a03a_ドアフラグ[0] = 1 );

		eval( $f:a03a_ドアフラグ[1] = 0 );

		*/

		

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

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

	}



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

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

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

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

	}

	

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

// 敵兵の設定

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



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

		#if d:DEBUG_PRINT

			print 'commander_set-tales_misson'

		#endif

		

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

			-a スネークテイルズ用長廊下コマンダー１ \

			-r 14000,-5000,-70000 右舷長廊下１ \

			-c 14000,-5000,-70000 右舷長廊下１\

			-b 8 \ //敵兵発生数

			-g 3 \	//銃ライト

			-s d:ENE_STAGE_NO_WC_GOVER \

			-f -1 0 t:vc042020 t:vc042020_len //「ライトを破壊しろ！」音声

	}

	

	proc スネークテイルズ用長廊下コマンダー１ {

		chara 長廊下コマンダー atcomm \

			-e スネークテイルズ用長廊下兵１ \

			-defense	\

				15500,-5000,-70400 0 \

				18100,-5000,-70700 2 \

				16250,-5000,-67250 1 \

				16250,-5000,-74750 1 \	//追加しました

			-type	1 \

			-light	16260,-2150,(250-28500-39500) \

			16260,-2150,(-4250-28500-39500) \

			-count	1800 \

			-final	17250,-5000,-127000 \

			-proc スネークテイルズ用長廊下戦闘終了

	}

	

	proc スネークテイルズ用長廊下兵１ {

		chara 長廊下兵 敵兵:61 -r 3 \

			-s (d:ENE_STATUS_NIGHT_SIGHT) \

			-l 3000 -type 2 // -proc 死体数チェック //-a 1000

		chara 長廊下兵 敵兵:62 -r 3 \

			-s (d:ENE_STATUS_NIGHT_SIGHT) \

			-l 3000 -type 2 //	-proc 死体数チェック //-a 1000

		chara 長廊下兵 敵兵:63 -r 4 \

			-s (d:ENE_STATUS_NIGHT_SIGHT) \

			-l 3000 -type 2  // -proc 死体数チェック //-a 1000

	}

	

	proc スネークテイルズ用長廊下戦闘終了{

		@紙芝居ステージロード d:TALES_C:長廊下戦終了

	}



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

// 長廊下イベント

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

	proc スネークテイルズ用イベント兵登場 {

		trap ev001 d:PLAYER \

			-mask 入る \

			-exec {

				//if( $w:t_story < d:長廊下兵との戦闘突入ポリデモ開始 ) {

				if( ( $b:ミッション番号 == d:MISSION:スネークテイルズ ) && \

					( $b:tales_story_no == d:TALES_NO:C ) && \

					( $b:tales_story_c < d:TALES_C:長廊下で攻撃された終了 ) ) {



					command セットサウンドコード -c d:SNG_FOUTS_S		//ＢＧＭフェードアウト

					command パッド操作 -release



					// 強制移動

					mesg プレイヤー d:PLAYER run \

						16492 -5000 -93242 \

						0 \ // 立ち歩き

						0 \

						d:FA_DIRECT_MOVE



					// 黒フェード

					chara フェードインアウト 黒フェード \

						-c 0 0 0 255 \		//目標のＲＧＢα

						-t 120 \			//変化完了までのフレーム数

						-p スネークテイルズ用イベント前各種セット終了 // \

//						-s 1

				}

		}

	}

	

	proc スネークテイルズ用イベント前各種セット終了 {

		chara delay カメラディレイ \

			-time 10 \

			-exec {

				eval($f:w03b_イベント兵フラグ = 1)	// これでカメラの南北が変わる



				@紙芝居ステージロード d:TALES_C:長廊下で攻撃された終了

			}

	}

	

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

// アイテム関連

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



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

		// レーション

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

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

		}

		// ジアゼパム

		if($:ボックス名 == ジアゼパム) {

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

		}

		// ＡＫＳ弾

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

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

		}

		// Ｍ４弾

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

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

		}

		// Ｍ９弾

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

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

		}

		// Ｍ４弾２

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

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

		}

	}



	proc スネークテイルズ用中央長廊下アイテムセット {

		// レーション

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

		if ($f:再セットフラグ && $w:アイテム数Ｒ[ d:アイテム:レーション ] == 0 ) {

			@レーション_初期設置 レーション 13500 -5000 -99500 d:アイテム水飛沫無

		}

		// ジアゼパム

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

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

			@ジアゼパム_初期設置 ジアゼパム 13500 -5000 -97000 d:アイテム水飛沫無

		}

		// ＡＫＳ弾

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

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

			@弾薬_ＡＫＳ_初期設置 ＡＫＳ弾 13500 -5000 -125750 d:アイテム水飛沫無

		}

		// Ｍ４弾１

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

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

			@弾薬_Ｍ４_初期設置 Ｍ４弾１ 16000 -5000 -125750 d:アイテム水飛沫無

		}

		// Ｍ９

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

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

			@弾薬_Ｍ９_初期設置 Ｍ９弾 17500 -5000 -127650 d:アイテム水飛沫無

		}

		// Ｍ４弾２

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

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

			@弾薬_Ｍ４_初期設置 Ｍ４弾２ 17200 -5000 -110300 d:アイテム水飛沫無

		}

	

		// レーション、弾薬再発生

		trap ca003 d:PLAYER \

				-mask いる \

				-exec {





					if(!$f:長廊下兵戦ＵＳＰ弾１存在 && $w:武器弾数Ｒ[ d:武器:ＵＳＰ ] == 0 && \

						`command カメラ視界チェック -camera 0x03 \

							-bound 17240 -5000 -87010 17260 -4500 -86990` == 0){



						chara アイテム アイテムボックス \

							-b 0 \

							-p 17250 -5000 -87000 \

							-k handgun_amo_ibox \

							-s handgun_amo_ibox_sh \

							-l usp_amo_label \

							-f d:アイテム種別:武器弾 \

							-i d:武器:ＵＳＰ \

							-n 15 \

							-h 300 \

							-r 0 \

							-x { eval($f:長廊下兵戦ＵＳＰ弾１存在 = 0) }



						// 弾薬がステージ上に出現（存在）しましたよ。

						eval($f:長廊下兵戦ＵＳＰ弾１存在 = 1)



					}





					if(!$f:長廊下兵戦ＵＳＰ弾２存在 && $w:武器弾数Ｒ[ d:武器:ＵＳＰ ] == 0 && \

						`command カメラ視界チェック -camera 0x03 \

							-bound 17240 -5000 -86010 17260 -4500 -85990` == 0){



						chara アイテム アイテムボックス \

							-b 0 \

							-p 17250 -5000 -86000 \

							-k handgun_amo_ibox \

							-s handgun_amo_ibox_sh \

							-l usp_amo_label \

							-f d:アイテム種別:武器弾 \

							-i d:武器:ＵＳＰ \

							-n 15 \

							-h 300 \

							-r 0 \

							-x { eval($f:長廊下兵戦ＵＳＰ弾２存在 = 0) }



						// 弾薬がステージ上に出現（存在）しましたよ。

						eval($f:長廊下兵戦ＵＳＰ弾２存在 = 1)



					}



					if(!$f:長廊下兵戦レーション存在 && $w:アイテム数Ｒ[ d:アイテム:レーション ] == 0 && \

						`command カメラ視界チェック -camera 0x03 \

							-bound 16240 -5000 -87010 16260 -4500 -86990` == 0){



						chara アイテム アイテムボックス \

							-b 0 \

							-p 16250 -5000 -87000 \

							-k ration_ibox \

							-s ration_ibox_sh \

							-l rtn_label \

							-f d:アイテム種別:アイテム \

							-i d:アイテム:レーション \

							-n 1 \

							-h 300 \

							-r 0 \

							-x { eval($f:長廊下兵戦レーション存在 = 0) }



						// レーションがステージ上に出現（存在）しましたよ。

						eval($f:長廊下兵戦レーション存在 = 1)



					}



			}

	}



