/*

	a03a_tale.h

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

	2002/02/01 S.Kaneyoshi

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

*/



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



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

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

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

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

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

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

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

	}



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

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

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

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

	

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

		

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

		command マップ設定	左舷長廊下０ \

						左舷長廊下１ \

						左舷長廊下２ \

						左舷長廊下３ \

						中央長廊下 \

		-set {

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

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

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

			

			// 長廊下戦闘後は長廊下コマンダーは空プロックです

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

			

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

			

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

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

				 ( $b:tales_story_c >= d:TALES_C:長廊下戦終了 ) ) {

				// 長廊下戦闘２

				

				@スネークテイルズ用アイテム再セット＿Ｍ４

				@スネークテイルズ用アイテム再セット＿ＡＫＳ

				@スネークテイルズ用アイテム再セット＿ＵＳＰ

				@スネークテイルズ用アイテム再セット＿Ｍ９

				@スネークテイルズ用アイテムセット＿長廊下戦闘後

				

			} else {

				@スネークテイルズ用アイテムセット＿長廊下戦闘前

			}

		}



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

		command マップ設定 左舷長廊下０ -set {

		}

		

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

			

		}

		

		command マップ設定 左舷長廊下２ -set {

		}

		

		command マップ設定 左舷長廊下３ -set {

		}

	}



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

// サウンド関連の設定

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



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

		#if d:DEBUG_PRINT

			print 'sound_set-bomb_misson'

		#endif

		/*

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

		@サウンド効果音設定

		*/

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

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

		@サウンド効果音設定

	}



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

		#if d:DEBUG_PRINT

			print 'bgm_set-bomb_misson'

		#endif

		/*

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

		*/

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

	}



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

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

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



	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] = 1;

		

		

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

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

	}

	

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

		dim $$f:Ｍ４再セット[ 6 ]

		dim $$f:ＡＫＳ再セット[ 6 ]

		dim $$f:ＵＳＰ再セット[ 6 ]

		dim $$f:Ｍ９再セット[ 6 ]



		command	配列セット $$f:Ｍ４再セット[0] {

			0,	0,	0,	0,	0,	0

		}

		command	配列セット $$f:ＡＫＳ再セット[0] {

			0,	0,	0,	0,	0,	0

		}

		command	配列セット $$f:ＵＳＰ再セット[0] {

			0,	0,	0,	0,	0,	0

		}

		command	配列セット $$f:Ｍ９再セット[0] {

			0,	0,	0,	0,	0,	0

		}

		

		$$b:ディフェンスライン = 0;

		$$b:死んじゃった人数 = 0;

	}



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

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

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

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

		#if d:DEBUG_PRINT

			print 'game clear'

		#endif

	}



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

// 敵兵の設定

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

#define ENE_DEF_X_1		11000

#define ENE_DEF_Y_1		-5000

#define ENE_DEF_Z_1		-23250



	proc 長廊下兵プロック $:敵兵名 $:ルート {

		chara 長廊下兵 $:敵兵名 \

			-r $:ルート \

			-s d:ENE_STATUS_NIGHT_SIGHT \

			-k d:ENE_STST_FAINT_EXIT \

			-i $w:敵潜入視力,$w:敵危険視力,$w:敵回避視力 \

			-l $w:敵標準体力 \

			-f $w:敵標準気絶 \

			-proc 敵兵さん死亡 \

			-type 0

	}

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

		#if d:DEBUG_PRINT

			print 'watcher_set-bomb_misson'

		#endif

		

		@長廊下兵プロック 敵兵:01 1

		@長廊下兵プロック 敵兵:02 2

		@長廊下兵プロック 敵兵:03 3

		@長廊下兵プロック 敵兵:04 4

		@長廊下兵プロック 敵兵:05 5



	}



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

		#if d:DEBUG_PRINT

			print 'nagarouka com'

		#endif

		

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

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

			 ( $b:tales_story_c >= d:TALES_C:長廊下戦終了 ) ) {

			chara 長廊下コマンダー atcomm \

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

				-defense \

					3500	-5000	-126100	7 \

					500		-5000	-126100	7 \

					-6000	-5000	-126250	7 \

					-8500	-5000	-126100	7 \

					-12500	-5000	-126100	7 \

					-16000	-5000	-125750	7 \

					-17500	-5000	-115500	6 \

					-17750	-5000	-99000	6 \

					-15750	-5000	-99250	7 \

					-17750	-5000	-70250	6 \

					-15750	-5000	-70500	7 \

					-17750	-5000	-41750	6 \

					-15750	-5000	-42000	7 \

				-type	0 \

				-final	-17000,-5000,-38000

		}



	}



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

		#if d:DEBUG_PRINT

			print 'commander_set-bomb_misson'

		#endif

		

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

			 ( $b:tales_story_no == d:TALES_NO:C ) ) {

			

			// 長廊下戦闘後は強制危険モード

			if( $b:tales_story_c >= d:TALES_C:長廊下戦終了 ) {

				$w:スタートアラートモード = d:ALERT_MODE_KIKEN;

			} else {

			// 長廊下戦闘前は潜入モード

				$w:スタートアラートモード = d:ALERT_MODE_SENNYU;

			}

		}



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

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

			-r	-16500,-5000,-125250 中央長廊下 \

				-13500,-5000,-98500 左舷長廊下３ \

				-13500,-5000,-70000 左舷長廊下２ \

				-13500,-5000,-41500 左舷長廊下１ \

			-c 14000,-5000,-97000 左舷長廊下３ \

			-v [ene_tank_voice:06] \

			-x [ghq_area_alert_voice:w03a] \

			-y [ghq_caution_voice:a03a] \

			-g 3 \	//銃ライト

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

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

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

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

			-b 60

		

		// 強制的に危険モード

		mesg 長廊下コマンダー atcomm 強制危険

		

		

		trap st_ene_001 d:PLAYER \

			-mask 入る \

			-exec {

				if( $$b:ディフェンスライン == 0 ) {

					print '敵兵復活場所変更 0 → 1'

					

					$$b:ディフェンスライン = 1

					mesg 長廊下コマンダー atcomm 再発生所替え 1

				}

			}

			

		trap st_ene_002 d:PLAYER \

			-mask 入る \

			-exec {

				if( $$b:ディフェンスライン <= 1 ) {

					print '敵兵復活場所変更 1 → 2'

					

					$$b:ディフェンスライン = 2

					mesg 長廊下コマンダー atcomm 再発生所替え 2

				}

			}

			

		trap st_ene_003 d:PLAYER \

			-mask 入る \

			-exec {

				if( $$b:ディフェンスライン <= 2 ) {

					print '敵兵復活場所変更 2 → 3'

					

					$$b:ディフェンスライン = 3

					mesg 長廊下コマンダー atcomm 再発生所替え 3

				}

			}

		

		trap st_ene_004 d:PLAYER \

			-mask 出る \

			-exec {

				if( $6 > -52000 ) {

					print '奥まで来たぞー'$6

					print '敵兵復活場所変更 3 → 2'

					mesg 長廊下コマンダー atcomm 再発生所替え 2

				} else {

					print '戻りやがった'$6

					print '敵兵復活場所変更 ? → 3'

					mesg 長廊下コマンダー atcomm 再発生所替え 3

				}

			}

	}

	

	proc 敵兵さん死亡 {

		$$b:死んじゃった人数 = ( $$b:死んじゃった人数 + 1 );

		

		switch ( $$b:死んじゃった人数 ) {

			case ( 10 ) {

				print '敵兵１０人死んだので再発生場所を１へ変更'

				if( $$b:ディフェンスライン == 0 ) {

					$$b:ディフェンスライン = 1

					mesg 長廊下コマンダー atcomm 再発生所替え 1

				}

			}

			case ( 20 ) {

				print '敵兵２０人死んだので再発生場所を２へ変更'

				if( $$b:ディフェンスライン <= 1 ) {

					$$b:ディフェンスライン = 2

					mesg 長廊下コマンダー atcomm 再発生所替え 2

				}

			}

			case ( 30 ) {

				print '敵兵３０人死んだので再発生場所を３へ変更'

				if( $$b:ディフェンスライン <= 2 ) {

					$$b:ディフェンスライン = 3

					mesg 長廊下コマンダー atcomm 再発生所替え 3

				}

			}

		}

	}



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

// アイテム関連 長廊下戦闘後

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

	proc スネークテイルズ用アイテムセット＿長廊下戦闘後 {

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

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

//		@レーション_初期設置 レーション３ -16250 -5000 -123750 d:アイテム水飛沫無

		//@レーション_初期設置 レーション４ -17750 -5000 -98500 d:アイテム水飛沫無

		@弾薬_ＰＳＧ１－Ｔ_初期設置 ＰＳＧ１Ｔ弾 -12900 -5000 -40250 d:アイテム水飛沫無

		

		@A_スタン_初期設置 スタン:01 9067,-5000,-127960 d:アイテム水飛沫無 5

		@A_スタン_初期設置 スタン:02 -8427,-5000,-125852 d:アイテム水飛沫無 5

		@A_スタン_初期設置 スタン:03 -17628,-5000,-98382 d:アイテム水飛沫無 5

		@A_スタン_初期設置 スタン:04 -12822,-5000,-70250 d:アイテム水飛沫無 5



		@ＡＫサプレッサ_初期設置 ＡＫＳサプレッサ -13750,-5000,-42650 d:アイテム水飛沫無

	}

	

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

// Ｍ４

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



	proc スネークテイルズ用アイテム再セット＿Ｍ４ {



		@A_Ｍ４_初期設置 ＡＫ本体 -17200,-5000,-128000 d:アイテム水飛沫無 なし 151

	

		chara プロック連続実行 アイテム連続君 -time -1 -exec {

			if( $w:武器弾数Ｒ[ d:武器:Ｍ４ ] != -1 && \

				$w:武器弾数Ｒ[ d:武器:Ｍ４ ] < 100 ) {

				@Ｍ４弾チェック Ｍ４弾＿０ 0 中央長廊下 5500 -5000 -126250

				@Ｍ４弾チェック Ｍ４弾＿１ 1 中央長廊下 -4000 -5000 -127750

				@Ｍ４弾チェック Ｍ４弾＿２ 2 中央長廊下 -15500 -5000 -125500	// 左上

				@Ｍ４弾チェック Ｍ４弾＿３ 3 左舷長廊下３ -13250 -5000 -99500	// 左１

				@Ｍ４弾チェック Ｍ４弾＿４ 4 左舷長廊下２ -12000 -5000 -69000	// 左２

				@Ｍ４弾チェック Ｍ４弾＿５ 5 左舷長廊下１ -12500 -5000 -41500	// 左３

			}

		}

		trap item_003 d:PLAYER \

			-mask いる \

			-exec {

				if( $w:武器弾数Ｒ[ d:武器:Ｍ４ ] != -1 && \

					$w:武器弾数Ｒ[ d:武器:Ｍ４ ] < 100 && \

					$$f:Ｍ４再セット[3] == 0 ) {

					

					#if d:DEBUG_PRINT

						print 'Ｍ４弾チェック トラップ 003'

					#endif

					@Ｍ４弾セット Ｍ４弾＿３ 3 左舷長廊下３ -13250 -5000 -99500	// 左１

				}

			}

		

		trap item_004 d:PLAYER \

			-mask いる \

			-exec {

				if( $w:武器弾数Ｒ[ d:武器:Ｍ４ ] != -1 && \

					$w:武器弾数Ｒ[ d:武器:Ｍ４ ] < 100 && \

					$$f:Ｍ４再セット[4] == 0 ) {

					

					#if d:DEBUG_PRINT

						print 'Ｍ４弾チェック トラップ 004'

					#endif

					

					@Ｍ４弾セット Ｍ４弾＿４ 4 左舷長廊下２ -12000 -5000 -69000	// 左２

				}

			}

		

		trap item_005 d:PLAYER \

			-mask いる \

			-exec {

				if( $w:武器弾数Ｒ[ d:武器:Ｍ４ ] != -1 && \

					$w:武器弾数Ｒ[ d:武器:Ｍ４ ] < 100 && \

					$$f:Ｍ４再セット[5] == 0 ) {

					

					#if d:DEBUG_PRINT

						print 'Ｍ４弾チェック トラップ 005'

					#endif

					

					@Ｍ４弾セット Ｍ４弾＿５ 5 左舷長廊下１ -12500 -5000 -41500	// 左３

				}

			}

	}

	

	proc Ｍ４弾チェック $:名前 $:配列番号 $:マップ $:Ｘ $:Ｙ $:Ｚ {

		

		if( $$f:Ｍ４再セット[$:配列番号] == 0 && \

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

				-bound	($:Ｘ - 1000)	($:Ｙ) 		($:Ｚ-1000) \

						($:Ｘ + 1000)	($:Ｙ+1000) ($:Ｚ+1000)` == 0 ){

			

			#if d:DEBUG_PRINT

				print 'Ｍ４弾チェック プロック'

			#endif

			

			@Ｍ４弾セット  $:名前 $:配列番号 /*$:マップ*/A $:Ｘ $:Ｙ $:Ｚ

		}

	}



	proc Ｍ４弾セット $:名前 $:配列番号 $:マップ $:Ｘ $:Ｙ $:Ｚ {

		eval( $$f:Ｍ４再セット[$:配列番号] = 1 )

		chara アイテム $:名前 -b 0 -p $:Ｘ $:Ｙ $:Ｚ \

			-k rifle_amo_ibox -s rifle_amo_ibox_sh 	-l m4_amo_label \

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

			-n 30 -h 300 -r 0 -m $:マップ \

			-x {

				switch ( $4 ) {

					case ( Ｍ４弾＿０ ) {

						print 'Ｍ４弾＿０'

						eval( $$f:Ｍ４再セット[0] = 0)

					}

					case ( Ｍ４弾＿１ ) {

						print 'Ｍ４弾＿１'

						eval( $$f:Ｍ４再セット[1] = 0)

					}

					case ( Ｍ４弾＿２ ) {

						print 'Ｍ４弾＿２'

						eval( $$f:Ｍ４再セット[2] = 0)

					}

					case ( Ｍ４弾＿３ ) {

						print 'Ｍ４弾＿３'

						eval( $$f:Ｍ４再セット[3] = 0)

					}

					case ( Ｍ４弾＿４ ) {

						print 'Ｍ４弾＿４'

						eval( $$f:Ｍ４再セット[4] = 0)

					}

					case ( Ｍ４弾＿５ ) {

						print 'Ｍ４弾＿５'

						eval( $$f:Ｍ４再セット[5] = 0)

					}

					default {

						command assert ( d:FALSE ) 'そんなアイテムはありません'

					}

				}

			}

	}



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

// ＡＫＳ

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

	proc スネークテイルズ用アイテム再セット＿ＡＫＳ {

	

		chara プロック連続実行 アイテム連続君 -time -1 -exec {

			if( $w:武器弾数Ｒ[ d:武器:ＡＫＳ ] != -1 && \

				$w:武器弾数Ｒ[ d:武器:ＡＫＳ ] < 100 ) {

				@ＡＫＳ弾チェック ＡＫＳ弾＿０ 0 中央長廊下 10500 -5000 -126500

				//@ＡＫＳ弾チェック ＡＫＳ弾＿１ 1 中央長廊下 -4000 -5000 -127750

				@ＡＫＳ弾チェック ＡＫＳ弾＿２ 2 中央長廊下 -18000 -5000 -127250	// 左上

				@ＡＫＳ弾チェック ＡＫＳ弾＿３ 3 左舷長廊下３ -12500 -5000 -98250	// 左１

				@ＡＫＳ弾チェック ＡＫＳ弾＿４ 4 左舷長廊下２ -14000 -5000 -71500	// 左２

				@ＡＫＳ弾チェック ＡＫＳ弾＿５ 5 左舷長廊下１ -12250 -5000 -40250	// 左３

			}

		}

		

		trap item_003 d:PLAYER \

			-mask いる \

			-exec {

				if( $w:武器弾数Ｒ[ d:武器:ＡＫＳ ] != -1 && \

					$w:武器弾数Ｒ[ d:武器:ＡＫＳ ] < 100 && \

					$$f:ＡＫＳ再セット[3] == 0 ) {

					

					#if d:DEBUG_PRINT

						print 'ＡＫＳ弾チェック トラップ 003'

					#endif

					@ＡＫＳ弾セット ＡＫＳ弾＿３ 3 左舷長廊下３ -12500 -5000 -98250	// 左１

				}

			}

		

		trap item_004 d:PLAYER \

			-mask いる \

			-exec {

				if( $w:武器弾数Ｒ[ d:武器:ＡＫＳ ] != -1 && \

					$w:武器弾数Ｒ[ d:武器:ＡＫＳ ] < 100 && \

					$$f:ＡＫＳ再セット[4] == 0 ) {

					

					#if d:DEBUG_PRINT

						print 'ＡＫＳ弾チェック トラップ 004'

					#endif

					

					@ＡＫＳ弾セット ＡＫＳ弾＿４ 4 左舷長廊下２ -14000 -5000 -71500	// 左２

				}

			}

		

		trap item_005 d:PLAYER \

			-mask いる \

			-exec {

				if( $w:武器弾数Ｒ[ d:武器:ＡＫＳ ] != -1 && \

					$w:武器弾数Ｒ[ d:武器:ＡＫＳ ] < 100 && \

					$$f:ＡＫＳ再セット[5] == 0 ) {

					

					#if d:DEBUG_PRINT

						print 'ＡＫＳ弾チェック トラップ 005'

					#endif

					

					@ＡＫＳ弾セット ＡＫＳ弾＿５ 5 左舷長廊下１ -12250 -5000 -40250	// 左３

				}

			}

	}

	

	proc ＡＫＳ弾チェック $:名前 $:配列番号 $:マップ $:Ｘ $:Ｙ $:Ｚ {

		

		if( $$f:ＡＫＳ再セット[$:配列番号] == 0 && \

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

				-bound	($:Ｘ - 1000)	($:Ｙ) 		($:Ｚ-1000) \

						($:Ｘ + 1000)	($:Ｙ+1000) ($:Ｚ+1000)` == 0 ){

			

			#if d:DEBUG_PRINT

				print 'ＡＫＳ弾チェック プロック'

			#endif

			

			@ＡＫＳ弾セット  $:名前 $:配列番号 $:マップ $:Ｘ $:Ｙ $:Ｚ

		}

	}



	proc ＡＫＳ弾セット $:名前 $:配列番号 $:マップ $:Ｘ $:Ｙ $:Ｚ {

		eval( $$f:ＡＫＳ再セット[$:配列番号] = 1 )

		chara アイテム $:名前 \

			-b 0 -p $:Ｘ $:Ｙ $:Ｚ \

			-k rifle_amo_ibox \					// モデル：箱本体

			-s rifle_amo_ibox_sh \				// モデル：箱影

			-l aks_amo_label \					// モデル：ラベル

			-f d:アイテム種別:武器弾 \		// ＩＤ：from ..../scn/equip.h

			-i d:武器:ＡＫＳ \					// ＩＤ：from ..../scn/equip.h

			-n 30 \								// 個数

			-h 300 \

			-r 0 \

			-m $:マップ \

			-x {

				switch ( $4 ) {

					case ( ＡＫＳ弾＿０ ) {

						print 'ＡＫＳ弾＿０'

						eval( $$f:ＡＫＳ再セット[0] = 0)

					}

					case ( ＡＫＳ弾＿１ ) {

						print 'ＡＫＳ弾＿１'

						eval( $$f:ＡＫＳ再セット[1] = 0)

					}

					case ( ＡＫＳ弾＿２ ) {

						print 'ＡＫＳ弾＿２'

						eval( $$f:ＡＫＳ再セット[2] = 0)

					}

					case ( ＡＫＳ弾＿３ ) {

						print 'ＡＫＳ弾＿３'

						eval( $$f:ＡＫＳ再セット[3] = 0)

					}

					case ( ＡＫＳ弾＿４ ) {

						print 'ＡＫＳ弾＿４'

						eval( $$f:ＡＫＳ再セット[4] = 0)

					}

					case ( ＡＫＳ弾＿５ ) {

						print 'ＡＫＳ弾＿５'

						eval( $$f:ＡＫＳ再セット[5] = 0)

					}

					default {

						command assert ( d:FALSE ) 'そんなアイテムはありません'

					}

				}

			}

	}

	

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

// ＵＳＰ

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

	proc スネークテイルズ用アイテム再セット＿ＵＳＰ {



		// これだけは最初から設置

		

		@弾薬_ＵＳＰ_初期設置 最初からのＵＳＰ弾 8000 -5000 -128250 d:アイテム水飛沫無

	

		chara プロック連続実行 ＵＳＰ連続君 -time -1 -exec {

			if( $w:武器弾数Ｒ[ d:武器:ＵＳＰ ] != -1 && \

				$w:武器弾数Ｒ[ d:武器:ＵＳＰ ] < 30 ) {

				//@ＵＳＰ弾チェック ＵＳＰ弾＿０ 0 中央長廊下 8000 -5000 -128250

				@ＵＳＰ弾チェック ＵＳＰ弾＿１ 1 中央長廊下 -5750 -5000 -126250

				@ＵＳＰ弾チェック ＵＳＰ弾＿２ 2 中央長廊下 -16000 -5000 -128250	// 左上

				@ＵＳＰ弾チェック ＵＳＰ弾＿３ 3 左舷長廊下３ -12250 -5000 -99000	// 左１

				@ＵＳＰ弾チェック ＵＳＰ弾＿４ 4 左舷長廊下２ -14000 -5000 -68500	// 左２

				@ＵＳＰ弾チェック ＵＳＰ弾＿５ 5 左舷長廊下１ -13000 -5000 -42000	// 左３

			}

		}

		

		trap item_003 d:PLAYER \

			-mask いる \

			-exec {

				if( $w:武器弾数Ｒ[ d:武器:ＵＳＰ ] != -1 && \

					$w:武器弾数Ｒ[ d:武器:ＵＳＰ ] < 30 && \

					$$f:ＵＳＰ再セット[3] == 0 ) {

					

					#if d:DEBUG_PRINT

						print 'ＵＳＰ弾チェック トラップ 003'

					#endif

					@ＵＳＰ弾セット ＵＳＰ弾＿３ 3 左舷長廊下３ -12250 -5000 -99000	// 左１

				}

			}

		

		trap item_004 d:PLAYER \

			-mask いる \

			-exec {

				if( $w:武器弾数Ｒ[ d:武器:ＵＳＰ ] != -1 && \

					$w:武器弾数Ｒ[ d:武器:ＵＳＰ ] < 30 && \

					$$f:ＵＳＰ再セット[4] == 0 ) {

					

					#if d:DEBUG_PRINT

						print 'ＵＳＰ弾チェック トラップ 004'

					#endif

					

					@ＵＳＰ弾セット ＵＳＰ弾＿４ 4 左舷長廊下２ -14000 -5000 -68500	// 左２

				}

			}

		

		trap item_005 d:PLAYER \

			-mask いる \

			-exec {

				if( $w:武器弾数Ｒ[ d:武器:ＵＳＰ ] != -1 && \

					$w:武器弾数Ｒ[ d:武器:ＵＳＰ ] < 30 && \

					$$f:ＵＳＰ再セット[5] == 0 ) {

					

					#if d:DEBUG_PRINT

						print 'ＵＳＰ弾チェック トラップ 005'

					#endif

					

					@ＵＳＰ弾セット ＵＳＰ弾＿５ 5 左舷長廊下１ -13000 -5000 -42000	// 左３

				}

			}

	}

	

	proc ＵＳＰ弾チェック $:名前 $:配列番号 $:マップ $:Ｘ $:Ｙ $:Ｚ {

		

		if( $$f:ＵＳＰ再セット[$:配列番号] == 0 && \

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

				-bound	($:Ｘ - 1000)	($:Ｙ) 		($:Ｚ-1000) \

						($:Ｘ + 1000)	($:Ｙ+1000) ($:Ｚ+1000)` == 0 ){

			

			#if d:DEBUG_PRINT

				print 'ＵＳＰ弾チェック プロック'

			#endif

			

			@ＵＳＰ弾セット  $:名前 $:配列番号 $:マップ $:Ｘ $:Ｙ $:Ｚ

		}

	}



	proc ＵＳＰ弾セット $:名前 $:配列番号 $:マップ $:Ｘ $:Ｙ $:Ｚ {

		eval( $$f:ＵＳＰ再セット[$:配列番号] = 1 )

		chara アイテム $:名前 -b 0 -p $:Ｘ $:Ｙ $:Ｚ \

			-k handgun_amo_ibox \			// モデル：箱本体

			-s handgun_amo_ibox_sh \		// モデル：箱影

			-l usp_amo_label \				// モデル：ラベル

			-f d:アイテム種別:武器弾 \		// ＩＤ：from ..../scn/equip.h

			-i d:武器:ＵＳＰ \				// ＩＤ：from ..../scn/equip.h

			-n 15 \							// 個数

			-h 300 \

			-r 0 \

			-m $:マップ \

			-x {

				switch ( $4 ) {

					case ( ＵＳＰ弾＿０ ) {

						print 'ＵＳＰ弾＿０'

						eval( $$f:ＵＳＰ再セット[0] = 0)

					}

					case ( ＵＳＰ弾＿１ ) {

						print 'ＵＳＰ弾＿１'

						eval( $$f:ＵＳＰ再セット[1] = 0)

					}

					case ( ＵＳＰ弾＿２ ) {

						print 'ＵＳＰ弾＿２'

						eval( $$f:ＵＳＰ再セット[2] = 0)

					}

					case ( ＵＳＰ弾＿３ ) {

						print 'ＵＳＰ弾＿３'

						eval( $$f:ＵＳＰ再セット[3] = 0)

					}

					case ( ＵＳＰ弾＿４ ) {

						print 'ＵＳＰ弾＿４'

						eval( $$f:ＵＳＰ再セット[4] = 0)

					}

					case ( ＵＳＰ弾＿５ ) {

						print 'ＵＳＰ弾＿５'

						eval( $$f:ＵＳＰ再セット[5] = 0)

					}

					default {

						command assert ( d:FALSE ) 'そんなアイテムはありません'

					}

				}

			}

	}



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

// Ｍ９

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

	proc スネークテイルズ用アイテム再セット＿Ｍ９ {

	

		chara プロック連続実行 アイテム連続君 -time -1 -exec {

			if( $w:武器弾数Ｒ[ d:武器:Ｍ９ ] != -1 && \

				$w:武器弾数Ｒ[ d:武器:Ｍ９ ] < 20 ) {

				@Ｍ９弾チェック Ｍ９弾＿０ 0 中央長廊下 10000 -5000 -128000

				@Ｍ９弾チェック Ｍ９弾＿１ 1 中央長廊下 -250 -5000 -126250

				@Ｍ９弾チェック Ｍ９弾＿２ 2 中央長廊下 -14000 -5000 -128500	// 左上

				@Ｍ９弾チェック Ｍ９弾＿３ 3 左舷長廊下３ -13500 -5000 -97250	// 左１

				@Ｍ９弾チェック Ｍ９弾＿４ 4 左舷長廊下２ -13750 -5000 -69000	// 左２

				@Ｍ９弾チェック Ｍ９弾＿５ 5 左舷長廊下１ -13750 -5000 -40250	// 左３

			}

		}

		

		trap item_003 d:PLAYER \

			-mask いる \

			-exec {

				if( $w:武器弾数Ｒ[ d:武器:Ｍ９ ] != -1 && \

					$w:武器弾数Ｒ[ d:武器:Ｍ９ ] < 20 && \

					$$f:Ｍ９再セット[3] == 0 ) {

					

					#if d:DEBUG_PRINT

						print 'Ｍ９弾チェック トラップ 003'

					#endif

					@Ｍ９弾セット Ｍ９弾＿３ 3 左舷長廊下３ -13500 -5000 -97250	// 左１

				}

			}

		

		trap item_004 d:PLAYER \

			-mask いる \

			-exec {

				if( $w:武器弾数Ｒ[ d:武器:Ｍ９ ] != -1 && \

					$w:武器弾数Ｒ[ d:武器:Ｍ９ ] < 20 && \

					$$f:Ｍ９再セット[4] == 0 ) {

					

					#if d:DEBUG_PRINT

						print 'Ｍ９弾チェック トラップ 004'

					#endif

					

					@Ｍ９弾セット Ｍ９弾＿４ 4 左舷長廊下２ -13750 -5000 -69000	// 左２

				}

			}

		

		trap item_005 d:PLAYER \

			-mask いる \

			-exec {

				if( $w:武器弾数Ｒ[ d:武器:Ｍ９ ] != -1 && \

					$w:武器弾数Ｒ[ d:武器:Ｍ９ ] < 20 && \

					$$f:Ｍ９再セット[5] == 0 ) {

					

					#if d:DEBUG_PRINT

						print 'Ｍ９弾チェック トラップ 005'

					#endif

					

					@Ｍ９弾セット Ｍ９弾＿５ 5 左舷長廊下１ -13750 -5000 -40250	// 左３

				}

			}

	}

	

	proc Ｍ９弾チェック $:名前 $:配列番号 $:マップ $:Ｘ $:Ｙ $:Ｚ {

		

		if( $$f:Ｍ９再セット[$:配列番号] == 0 && \

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

				-bound	($:Ｘ - 1000)	($:Ｙ) 		($:Ｚ-1000) \

						($:Ｘ + 1000)	($:Ｙ+1000) ($:Ｚ+1000)` == 0 ){

			

			#if d:DEBUG_PRINT

				print 'Ｍ９弾チェック プロック'

			#endif

			

			@Ｍ９弾セット  $:名前 $:配列番号 $:マップ $:Ｘ $:Ｙ $:Ｚ

		}

	}



	proc Ｍ９弾セット $:名前 $:配列番号 $:マップ $:Ｘ $:Ｙ $:Ｚ {

		eval( $$f:Ｍ９再セット[$:配列番号] = 1 )

		chara アイテム $:名前 -b 0 -p $:Ｘ $:Ｙ $:Ｚ \

			-k handgun_amo_ibox \			// モデル：箱本体

			-s handgun_amo_ibox_sh \		// モデル：箱影

			-l m92_amo_label \				// モデル：ラベル

			-f d:アイテム種別:武器弾 \		// ＩＤ：from ..../scn/equip.h

			-i d:武器:Ｍ９ \				// ＩＤ：from ..../scn/equip.h

			-n 15 \							// 個数

			-h 300 \

			-r 0 \

			-m $:マップ \

			-x {

				switch ( $4 ) {

					case ( Ｍ９弾＿０ ) {

						print 'Ｍ９弾＿０'

						eval( $$f:Ｍ９再セット[0] = 0)

					}

					case ( Ｍ９弾＿１ ) {

						print 'Ｍ９弾＿１'

						eval( $$f:Ｍ９再セット[1] = 0)

					}

					case ( Ｍ９弾＿２ ) {

						print 'Ｍ９弾＿２'

						eval( $$f:Ｍ９再セット[2] = 0)

					}

					case ( Ｍ９弾＿３ ) {

						print 'Ｍ９弾＿３'

						eval( $$f:Ｍ９再セット[3] = 0)

					}

					case ( Ｍ９弾＿４ ) {

						print 'Ｍ９弾＿４'

						eval( $$f:Ｍ９再セット[4] = 0)

					}

					case ( Ｍ９弾＿５ ) {

						print 'Ｍ９弾＿５'

						eval( $$f:Ｍ９再セット[5] = 0)

					}

					default {

						command assert ( d:FALSE ) 'そんなアイテムはありません'

					}

				}

			}

	}



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

// アイテム関連 長廊下戦闘前

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



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

		

	}

	

	

	proc スネークテイルズ用アイテムセット＿長廊下戦闘前 {

		

		@A_ＵＳＰサプレッサ_初期設置 ＵＳＰサプレッサ -13600 -5000 -70800 d:アイテム水飛沫無

		

	}

	

