/*

	w32_common.h

	    海上



	2000/09/29 H.Yoshiike         

	$Id: w32_common.h,v 1.131 2002/05/17 04:41:38 usr03379 Exp $                      



	

*/



// 各種スイッチ用define

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

// サウンド

#define		SOUND			1		// サウンドデータは最初に呼ぶ

#define		BGM				1		// BGMは敵兵コマンダーの後に呼ぶ

// キャラクター関係

#define		RAIDEN			1		// SNAKEとは排他

#define		SNAKE			0

#define		ENEMY			1		// コマンダーと警備兵(敵を出すときは必須)

#define		SUPPORT			0		// サポート兵

#define		ATTACKER		0		// 攻撃兵

#define		SHIELD			0		// 盾兵(1) or 通常攻撃兵(0)

#define		DOLL			1

// 監視カメラ関係

#define		CYPHER			1		// サイファー

// 入出トラップ

#define		LOAD_TRAP		1

#define		STAGE_END		1		// ステージ終了時処理を使用可にする

// フォグ

#define		FOG				1

// エフェクト関係

#define		EFFECT			0		// エフェクト全般

#define		BLUR			0		// ブラー

#define		Z_MANAGER		0		// Ｚフォーカス管理(敵のライト等で仕様)

#define		BODY_SHADOW		0		// 敵のライトによって出る影

// 子画面

#define		SUB_CAMERA		0

// カメラ関係

#define		CLEAR_CAMERA	0		// クリアリング専用カメラ(要子画面)



// 天井

#define		CHARA_CEIL		0		// 天井君

// 透明壁

#define		TR_WALL			0		// シナリオ置きの透明壁

// ライト関係

#define		SPOT_LIGHT		0		// スポットライト

#define		CHARA_LIGHT		1		// キャラ専用ライト

// オブジェ関係

#define		SEA				1		// 海面

#define		SKY				1		// 空

// 罠関係

#define		CRAYMORE		1		// クレイモア地雷

// アイテム

#define		ITEM			1

// 強制モーション

#define		BY_MOTION		0		// ビヨンドモーション





// デバッグ関係

#ifdef	d:FIX_MODE

	#define		DEBUG_CHARA		0		// デバッグキャラ全体(FIX時は0)

#else

	#define		DEBUG_CHARA		0		// デバッグキャラ全体

#endif

#define		CHARA_CAMERA	0		// キャラ追従カメラ

#define		TARGET_CHARA	敵兵:01	// キャラ追従カメラのターゲット

#define		SCREENSHOT		0		// スクリーンショット

#define		USB_KEY			0		// USBキーボード





// 各種設定用define

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

// マップ関係

//	アタリ

#define		HZX_NAME			w32a

										//	0～3		プレイヤーアタリ／跳弾アタリ

										//	4			レンズフレア用アタリ

										//	5～23		遠景用跳弾アタリ



//	マップ

#define		KMS_NAME00			w32a0

#define		KMS_NAME01			w32a1

#define		KMS_NAME02			w32a2

#define		KMS_NAME03			w32a3



#define		KMS_NAME10			w32a_15a

#define		KMS_NAME11			w32a_17a

#define		KMS_NAME12			w32a_18a

#define		KMS_NAME13			w32a_19a

#define		KMS_NAME14			w32a_20a

#define		KMS_NAME15			w32a_21a

#define		KMS_NAME16			w32a_24a

#define		KMS_NAME17			w32a_31a

#define		KMS_NAME18			w32a_dg

#define		KMS_NAME19			w32a_gh

#define		KMS_NAME1A			w32a_gl

#define		KMS_NAME1B			w32a_hi

#define		KMS_NAME1C			w32a_jk

#define		KMS_NAME1D			w32a_lk



#define		KMS_NAME1E			w32a_23a		//	ＦＡ連絡橋

#define		KMS_NAME1F			w32a_crane		//	シェル１中央棟クレーン

#define		KMS_NAME20			w32a_other00	//	浮き橋１

#define		KMS_NAME21			w32a_other01	//	浮き橋２

#define		KMS_NAME22			w32a_other02	//	浮き橋３





#define		KMS_NAME_SEA		test_oil



#define		LT2_NAME			w32a



// キャラクター関係

#if d:RAIDEN

	#define		PLAYER		ライデン	// モーションができるまで名前はスネーク

#else

	#define		PLAYER		スネーク

#endif



//	薬莢系

//#define		ENE_T_GOL			1	//	タンカー編ゴル

#define		ENE_P_GOL			1	//	プラント編ゴル

#define		GUN_MECA			1	//	ガンカメ



//	ステージ系

#define		STAGE_W32A			1	//	夕方



#define		STAGE_PLANT			1	//	プラント編



#define		POLYDEMO_LOAD		1



// ローカル変数

//	$f:w32a_ヴァンプ登場フラグ					//	ヴァンプが登場したかどうか



//	$b:w32a_詰め所Ａ死亡数カウント				//	詰め所Ａにいる敵の死亡数のカウント

//	$b:w32a_詰め所Ｂ死亡数カウント				//	詰め所Ｂにいる敵の死亡数のカウント



//	$b:w32a_スネーク到着カウント				//	スネーク到着までのカウント



//	$i:w32a_スネークレベル						//	スネークのレベル

//	$i:w32a_スネーク狙撃開始時間				//	狙った敵を撃つまでの時間

//	$i:w32a_スネーク狙撃間時間					//	一発撃って次撃つまでの時間（同一の敵）



//	$i:w32a_エマスピード						//	エマの歩く速さ

//	$b:w32a_エマゲームオーバーカメラカウント	//	エマゲームオーバーカメラの切替え用カウント



//	$i:w32a_ヴァンプ首締め間隔					//	ヴァンプの首締めの間隔

//	$i:w32a_ヴァンプ頭銃ライフ					//	ヴァンプが頭で何発で死ぬか

//	$i:w32a_ヴァンプ頭麻酔ライフ				//	ヴァンプが頭で何発で寝るか

//	$i:w32a_ヴァンプ体銃ライフ					//	ヴァンプが体で何発で死ぬか

//	$i:w32a_ヴァンプ体麻酔ライフ				//	ヴァンプが体で何発で寝るか



//	$f:w32a_ＰＳＧ１弾01フラグ					//	アイテム配置用フラグ

//	$f:w32a_ＰＳＧ１弾02フラグ					//	アイテム配置用フラグ

//	$f:w32a_ジアゼパム01フラグ					//	アイテム配置用フラグ

//	$f:w32a_ジアゼパム02フラグ					//	アイテム配置用フラグ

//	$f:w32a_ＰＳＧ１－Ｔ弾01フラグ				//	アイテム配置用フラグ

//	$f:w32a_ＰＳＧ１－Ｔ弾02フラグ				//	アイテム配置用フラグ



//	$f:w32a_お願いスネークフラグ				//	スネークに依頼したかどうか

//	$f:w32a_サイファー追加フラグ				//	サイファーを追加したかどうか



//	$f:w32a_危険ＢＧＭフラグ					//	危険ＢＧＭかどうか

//	$f:w32a_サウンド切替えディレイ１フラグ		//	サウンド切替え用フラグ

//	$f:w32a_サウンド切替えディレイ２フラグ		//	サウンド切替え用フラグ

//	$f:w32a_サウンド切替えディレイ３フラグ		//	サウンド切替え用フラグ



//	$f:w32a_エマ音声フラグ						//	エマの音声が再生中かどうか

//	$i:w32a_エマ音声種類						//	エマのどの音声を再生したか

//	$f:w32a_エマ上陸フラグ						//	エマが浮き橋にいるか詰め所にいるか

//	$f:w32a_スネーク音声フラグ					//	スネークの音声が再生中かどうか

//	$i:w32a_スネーク音声種類					//	スネークのどの音声を再生したか



//	$i:w32a_エマ音量							//	マイク装備時のエマ音量

//	$i:w32a_スネーク音量						//	マイク装備時のスネーク音量



//	$w:w32a_海上巡回兵視力						//	海上巡回兵の視力



//	$i:w32a_エマパン							//	マイク装備時のエマパン		//	使っていない

//	$i:w32a_スネークパン						//	マイク装備時のスネークパン	//	使っていない





// モーション関係

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

enum エマモーションリスト {

		NPC_IDLE = 0,

        NPC_SQUAT_IDLE,

        RAI_IDLE,

        RAI_SQUAT_IDLE,

        RAI_REACH,

        RAI_GETUP,

        RAI_RUN,

        RAI_WALK,

        RAI_WALK_CORPS,

        RAI_FREE,

        PAL_IDLE,

        PAL_SITDOWN,

        PAL_SQUAT_IDLE,

        PAL_PUSHED_LF,

        PAL_PUSHED_LB,

        PAL_OHMY_GOD,

        AFRAID_WALK,

        AFRAID_IDLE,

        DAMG_DOWN,

        DAMG_WAKE,

        DAMG_WAKESLOW,

        DAMG_FALL,

        DAMG_SLEEP,

        DAMG_DOWN_OVER,

        DAMG_OVER,

        DAMG_IDLE,

        DAMG_TUMBLE,

        DAMG_DROPOFF,

        SNIPE_IDLE,

        SNIPE_SQUAT_IDLE,

        SNIPE_AFRAID,

        SNIPE_WALK,

        SNIPE_RUN,

};



enum スネークモーションリスト {

	sna_stop = 0,

	sna_walk

}



// include

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

#include "rai_w32a.mh"

#include "stdch.h"

#include "sload.h"

#include "sound.h"

#include "enevoice.h"

#include "item_info.h"

#include "../source/user/morita/emma/include/emma_flag.h"

#include "emavoice.h" /* エマ用の音声 */





#if d:USB_KEY

	#include "usbkbd.h"

#endif

#include "w32a_kamome.h"



#include "w32_d_common.h"	//	デモ／ゲーム共通プロック



#include "snake_sejimaku.h"





// マップ設定

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

chara マップ 海上１	-k d:KMS_NAME00 \

					-k d:KMS_NAME01 \

					-k d:KMS_NAME02 \

					-k d:KMS_NAME03 \

					-k d:KMS_NAME10 -k d:KMS_NAME11 -k d:KMS_NAME12 -k d:KMS_NAME13 \

					-k d:KMS_NAME14 -k d:KMS_NAME15 -k d:KMS_NAME16 -k d:KMS_NAME17 \

					-k d:KMS_NAME18 -k d:KMS_NAME19 -k d:KMS_NAME1A -k d:KMS_NAME1B \

					-k d:KMS_NAME1C -k d:KMS_NAME1D -k d:KMS_NAME1E -k d:KMS_NAME1F \

					-k d:KMS_NAME20 -k d:KMS_NAME21 \

					-h d:HZX_NAME,0 \

					-l d:LT2_NAME





//	ＨＺＸ追加登録

//	跳弾アタリ用マップ

command 追加ＨＺＸグループ登録 \	//	詰め所Ａ

	-hzx_id 0 -add_id 1

command 追加ＨＺＸグループ登録 \	//	浮き橋２＋詰め所Ｂ

	-hzx_id 0 -add_id 2

command 追加ＨＺＸグループ登録 \	//	浮き橋３＋Ｅ脚

	-hzx_id 0 -add_id 3



command 追加ＨＺＸグループ登録 \	//	遠景

	-hzx_id 0 -add_id 5

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 6

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 7

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 8

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 9

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 10

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 11

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 12

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 13

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 14

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 15

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 16

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 17

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 18

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 19

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 20

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 21

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 22

command 追加ＨＺＸグループ登録 \

	-hzx_id 0 -add_id 23



//	グループ４はレンズフレア用ダミー

command 追加ＨＺＸグループ登録 \

	-hzx_id 4 -add_id 0







	//	デバッグ用

	if ($w:p_story < d:ST:P065_06_R02Ｌ脚エマ６無線機デモ２終了) {

		eval( $w:p_story = d:ST:P065_06_R02Ｌ脚エマ６無線機デモ２終了 );

	}



// 平野追加。デモ再生用ヘッダ。この位置を変えないこと。

#include "polydemo_w32a.h"



command マップ設定 海上１ -set {



	// 平野追加。デモ呼び分け用。

	if ($s:d_num == not_demo) {

		#if d:SOUND	

		@サウンド設定	// データは最初に呼ぶ

		#endif

	}

	@常駐キャラ設定

	

	// 平野追加。デモ呼び分け用。

	if ($s:d_num == not_demo) {

		@ローカル変数初期化

		@設定値変更

		@プラグイン設定

		@水位設定



		@プレイヤー設定

		#if d:DOLL

		@エマ設定

		@スネーク設定

		#endif

		#if d:ENEMY

		@コマンダー設定

		#endif

		#if d:CYPHER

		@ガンサイファー設定

		#endif



		#if d:BGM	

		@ＢＧＭ設定	// プレイヤー→敵兵→BGMの順で呼ぶ

		#endif



		#if d:SEA

		@海面設定

		@海面管理設定

		#endif

		#if d:SKY

		@空設定

		#endif



		@浮き橋１

		@浮き橋２

		@浮き橋３

		@浮き橋管理設定



		@かもめ管理設定



		#if d:FOG

		@フォグ設定

		#endif

		#if d:EFFECT

		@エフェクト設定

		#endif

//		@影設定

		@風基本設定

		#if d:CRAYMORE

		@クレイモア設定

		#endif



		#if d:ITEM

		@アイテム設定

		#endif

		@カメラセット

		@海上カメラ設定



		@ヴァンプ首締め



		@レーダーオフ設定	//ここではレーダーなし

		@プラント編全体マップ設定  d:オイルフェンスマップ	//	全体マップ表示



		#if d:CHARA_LIGHT

		@キャラ用ライト設定

		# endif



		@ゲームオーバー設定

		@シナリオデモキャラセット

		@エマ音声デモ設定



		@シナリオデモ設定

		#if d:DEBUG_CHARA

		//	@デバッグキャラセット

		#endif



		@ニキータ移動範囲設定

	}



}





// 無線用include ※位置は動かさないこと

#include "w32a_cdc.ch"

#include "p_force_cdc.ch"





//初期マップの表示

command マップ表示 -show 海上１





// 全てのセットが終わったところでフェードイン

	// 平野追加。デモ呼び分け用。

	if($s:d_num == not_demo){

		@海上開始時処理

	} else {

/*

	//	デモでやっているので必要なし

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

			-i 0,0,0 128 \

			-c 0,0,0 0 \

			-t d:FADEIN_TIME

*/

	}







//###################################################################################

//									各proc設定

//###################################################################################







//###################################################################################

//									全マップ共通

//###################################################################################



	proc サウンド設定 {

		#if d:DEBUG_PRINT 

			print 'sound_set'

		#endif



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



		if ($f:w32a_ヴァンプ登場フラグ == d:FALSE) {

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

		} else {

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

		}

		//		ＳＥ設定

		@サウンド効果音設定

		command 弾痕ノーマル -n 0

		command 弾痕ノーマル -n 1

		command 弾痕ノーマル -n 3



		command 跳弾ノーマル -n 0

		command 跳弾ノーマル -n 1

		command 跳弾ノーマル -n 3



	}

	proc 敵攻撃開始 {

		if ($f:w32a_危険ＢＧＭフラグ == d:FALSE) {

			eval($f:w32a_危険ＢＧＭフラグ = d:TRUE)



			if ($f:w32a_サウンド切替えディレイ２フラグ == d:TRUE) {

				mesg delay サウンド切替えディレイ２ kill

			}

			if ($f:w32a_サウンド切替えディレイ３フラグ == d:TRUE) {

				mesg delay サウンド切替えディレイ３ kill

			}



			eval($f:w32a_サウンド切替えディレイ１フラグ = d:TRUE)



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



			chara delay サウンド切替えディレイ１ \

				-t 30 \

				-e {

					eval($f:w32a_サウンド切替えディレイ１フラグ = d:FALSE)

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

				}

		}

	}

	proc 敵攻撃終了 {

		if ($f:w32a_危険ＢＧＭフラグ == d:TRUE) {

			eval($f:w32a_危険ＢＧＭフラグ = d:FALSE)



			if ($f:w32a_サウンド切替えディレイ１フラグ == d:TRUE) {

				mesg delay サウンド切替えディレイ１ kill



			} else {

				eval($f:w32a_サウンド切替えディレイ２フラグ = d:TRUE)

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



				chara delay サウンド切替えディレイ２ \

					-t 180 \

					-e {

						eval($f:w32a_サウンド切替えディレイ２フラグ = d:FALSE)

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

					}

			}



			eval($f:w32a_サウンド切替えディレイ３フラグ = d:TRUE)

			chara delay サウンド切替えディレイ３ \

				-t 300 \

				-e {

					eval($f:w32a_サウンド切替えディレイ３フラグ = d:FALSE)

					//	レーダーぴーん音

					command ＳＥセットモード -s d:SD_S_RADAR001 -p 52000 -38500 -205000 -m 3

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

				}

		}

	}



	proc ローカル変数初期化 {

		#if d:DEBUG_PRINT 

			print 'localvar_init'

		#endif



		//	武器をＰＳＧ１に変える

		if ($f:w32a_ヴァンプ登場フラグ == d:TRUE) {



			//	以下のアイテムは外す

			//	ゴーグル	デジカメ	ダンボール	

			if (	($w:アイテム == d:アイテム:双眼鏡) || ($w:アイテム == d:アイテム:デジカメ) || \

				($w:アイテム == d:アイテム:ダンボール) || ($w:アイテム == d:アイテム:ダンボールＢ) || \

				($w:アイテム == d:アイテム:ダンボールＣ) || ($w:アイテム == d:アイテム:ダンボールＤ) || \

				($w:アイテム == d:アイテム:ダンボールＥ)	) {

				eval ($w:アイテム = d:アイテム:素手)

			}



			//	ＰＳＧ１－Ｔを装備していないときに

			if ($w:武器 !=d:武器:ＰＳＧ１－Ｔ) {

				//	ＰＳＧ１も装備していないときは

				if ($w:武器 != d:武器:ＰＳＧ１) {

					//	ＰＳＧ１を装備する

					eval ($w:武器 = d:武器:ＰＳＧ１)

				}

			}

		//	このステージに来た時は素手

		} else {

			@デモ後武器アイテム制御 d:デモ後必ず素手 d:デモ後特殊装備なし

		}



		//	エマの現状ライフを初期化（ヴァンプ戦前まで）

		if ($f:w32a_ヴァンプ登場フラグ == d:FALSE) {

			eval( $i:エマライフ現在値 = $i:エマライフ最大値 );

		}

		//	各詰め所の死亡数を初期化（ヴァンプ戦前まで　念のため）

		if ($f:w32a_ヴァンプ登場フラグ == d:FALSE) {

			eval ($b:w32a_詰め所Ａ死亡数カウント = 0)

			eval ($b:w32a_詰め所Ｂ死亡数カウント = 0)

		}



		//	スネーク到着カウントを初期化（ヴァンプ戦前まで　念のため）

		if ($f:w32a_ヴァンプ登場フラグ == d:FALSE ) {

			eval ($b:w32a_スネーク到着カウント = 0)

		}

		

		//	スネーク到着カウントを初期化（ヴァンプ戦前まで　念のため）

		if ($f:w32a_ヴァンプ登場フラグ == d:FALSE ) {

			eval ($b:w32a_エマゲームオーバーカメラカウント = 0)

		}



		//	アイテム配置用フラグを初期化

		eval ($f:w32a_ＰＳＧ１弾01フラグ = d:FALSE)

		eval ($f:w32a_ＰＳＧ１弾02フラグ = d:FALSE)

		eval ($f:w32a_ジアゼパム01フラグ = d:FALSE)

		eval ($f:w32a_ジアゼパム02フラグ = d:FALSE)

		eval ($f:w32a_ＰＳＧ１－Ｔ弾01フラグ = d:FALSE)

		eval ($f:w32a_ＰＳＧ１－Ｔ弾02フラグ = d:FALSE)



		//	危険ＢＧＭかどうか

		eval ($f:w32a_危険ＢＧＭフラグ = d:FALSE)

		//	サウンド切替え用フラグ

		eval ($f:w32a_サウンド切替えディレイ１フラグ = d:FALSE)

		eval ($f:w32a_サウンド切替えディレイ２フラグ = d:FALSE)

		eval ($f:w32a_サウンド切替えディレイ３フラグ = d:FALSE)



		//	エマの音声が再生中かどうか

		eval ($f:w32a_エマ音声フラグ = d:FALSE)

		//	エマのどの音声を再生したか

		eval ($i:w32a_エマ音声種類 = 0)



		//	エマが浮き橋にいるか詰め所にいるか

		eval ($f:w32a_エマ上陸フラグ = d:FALSE)



		//	スネークの音声が再生中かどうか

		eval ($f:w32a_スネーク音声フラグ = d:FALSE)

		//	スネークのどの音声を再生したか

		eval ($i:w32a_スネーク音声種類 = 0)





		//	エマ音量

		eval($i:w32a_エマ音量 = 0)

		//	エマパン

//		eval($i:w32a_エマパン = 0)

		//	スネーク音量

		eval($i:w32a_スネーク音量 = 0)

		//	スネークパン

//		eval($i:w32a_スネークパン = 0)



	}



	proc 設定値変更 {

		#if d:DEBUG_PRINT 

			print 'status_set'

		#endif



	//	スティンガーの飛行時間を伸ばす

	command スティンガー性能 \

//		-life 240 \

		-life 300 \

		-s 0,-250 ,0



	//	狙撃スネークの強さ変化	難易度によって変化させる

		if ($w:ゲーム設定 == d:LEVEL_VERYEASY) {



			//	スネークのレベル（命中率が変化）

			eval ($i:w32a_スネークレベル = 15)



			//	スネークのレベル（撃つまでの時間、撃つ間の時間）

			eval ($i:w32a_スネーク狙撃開始時間 = 50)

			eval ($i:w32a_スネーク狙撃間時間 = 100)



			//	エマの歩くスピード

			eval ($i:w32a_エマスピード = 200)



			//	ヴァンプの首締め間隔

			eval ($i:w32a_ヴァンプ首締め間隔 = 32)



			//	ヴァンプライフ

			eval ($i:w32a_ヴァンプ頭銃ライフ = 1)

			eval ($i:w32a_ヴァンプ頭麻酔ライフ = 5)

			eval ($i:w32a_ヴァンプ体銃ライフ = 5)

			eval ($i:w32a_ヴァンプ体麻酔ライフ = 10)



			//	視界設定

			eval($w:w32a_海上巡回兵視力 = ((5000*3)/2))





		} else if ($w:ゲーム設定 == d:LEVEL_EASY) {



			//	スネークのレベル（命中率が変化）

			eval ($i:w32a_スネークレベル = 10)



			//	スネークのレベル（撃つまでの時間、撃つ間の時間）

			eval ($i:w32a_スネーク狙撃開始時間 = 60)

			eval ($i:w32a_スネーク狙撃間時間 = 120)



			//	エマの歩くスピード

			eval ($i:w32a_エマスピード = 200)



			//	ヴァンプの首締め間隔

			eval ($i:w32a_ヴァンプ首締め間隔 = 16)



			//	ヴァンプライフ

			eval ($i:w32a_ヴァンプ頭銃ライフ = 2)

			eval ($i:w32a_ヴァンプ頭麻酔ライフ = 5)

			eval ($i:w32a_ヴァンプ体銃ライフ = 10)

			eval ($i:w32a_ヴァンプ体麻酔ライフ = 10)



			//	視界設定

			eval($w:w32a_海上巡回兵視力 = ((6000*3)/2))



		} else if ($w:ゲーム設定 == d:LEVEL_NORMAL) {



			//	スネークのレベル（命中率が変化）

			eval ($i:w32a_スネークレベル = 10 )



			//	スネークのレベル（撃つまでの時間、撃つ間の時間）

			eval ($i:w32a_スネーク狙撃開始時間 = 60)

			eval ($i:w32a_スネーク狙撃間時間 = 120)



			//	エマの歩くスピード

			eval ($i:w32a_エマスピード = 200)



			//	ヴァンプの首締め間隔

			eval ($i:w32a_ヴァンプ首締め間隔 = 10)



			//	ヴァンプライフ

			eval ($i:w32a_ヴァンプ頭銃ライフ = 4)

			eval ($i:w32a_ヴァンプ頭麻酔ライフ = 10)

			eval ($i:w32a_ヴァンプ体銃ライフ = 10)

			eval ($i:w32a_ヴァンプ体麻酔ライフ = 14)



			//	視界設定

			eval($w:w32a_海上巡回兵視力 = ((6000*3)/2))



		} else if ($w:ゲーム設定 == d:LEVEL_HARD) {



			//	スネークのレベル（命中率が変化）

			eval ($i:w32a_スネークレベル = 8)



			//	スネークのレベル（撃つまでの時間、撃つ間の時間）

			eval ($i:w32a_スネーク狙撃開始時間 = 80)

			eval ($i:w32a_スネーク狙撃間時間 = 130)



			//	エマの歩くスピード

			eval ($i:w32a_エマスピード = 200)



			//	ヴァンプの首締め間隔

			eval ($i:w32a_ヴァンプ首締め間隔 = 10)



			//	ヴァンプライフ

			eval ($i:w32a_ヴァンプ頭銃ライフ = 6)

			eval ($i:w32a_ヴァンプ頭麻酔ライフ = 12)

			eval ($i:w32a_ヴァンプ体銃ライフ = 12)

			eval ($i:w32a_ヴァンプ体麻酔ライフ = 16)



			//	視界設定

			eval($w:w32a_海上巡回兵視力 = ((6000*3)/2))



		} else if ($w:ゲーム設定 >= d:LEVEL_EXTREME) {



			//	スネークのレベル（命中率が変化）

			eval ($i:w32a_スネークレベル = 8)



			//	スネークのレベル（撃つまでの時間、撃つ間の時間）

			eval ($i:w32a_スネーク狙撃開始時間 = 80)

			eval ($i:w32a_スネーク狙撃間時間 = 130)



			//	エマの歩くスピード

			eval ($i:w32a_エマスピード = 200)



			//	ヴァンプの首締め間隔

			eval ($i:w32a_ヴァンプ首締め間隔 = 8)



			//	ヴァンプライフ

			eval ($i:w32a_ヴァンプ頭銃ライフ = 8)

			eval ($i:w32a_ヴァンプ頭麻酔ライフ = 12)

			eval ($i:w32a_ヴァンプ体銃ライフ = 14)

			eval ($i:w32a_ヴァンプ体麻酔ライフ = 16)



			//	視界設定

			eval($w:w32a_海上巡回兵視力 = ((8000*3)/2))

		}

	}



	proc プラグイン設定 {

		#if d:DEBUG_PRINT

			print 'plugin_set'

		#endif

	}



//###################################################################################

//									 プレイヤー

//###################################################################################



	proc プレイヤー設定 {

		#if d:DEBUG_PRINT

			print 'player_set'

		#endif



		#if d:RAIDEN

			chara プレイヤー d:PLAYER \

				-p $i:プレイヤー初期Ｘ位置,$i:プレイヤー初期Ｙ位置,$i:プレイヤー初期Ｚ位置 \

//				-p 65000,-39500,-202500 \		//	デバッグ用

				-d 0,$i:プレイヤー初期方向,0 \

				-s $b:プレイヤー初期姿勢 \

				-m rai_def -a raiden -o rai_w32a \

				-f d:PLY_NO_FOOT_SHADOW



				//髪の毛

				@ライデン髪の毛設定 d:NORMAL_HAIR



				//	ＬＯＤ機能

				@プレイヤーＬＯＤ設定 d:C_DISTANCE_TYPE 5000

//				@プレイヤーＬＯＤ設定 d:P_STATE_TYPE d:TRP_STATE_BEHIND



		#else if d:SNAKE

			chara プレイヤー d:PLAYER \

				-p $i:プレイヤー初期Ｘ位置,$i:プレイヤー初期Ｙ位置,$i:プレイヤー初期Ｚ位置 \

				-d 0,$i:プレイヤー初期方向,0 \

				-s 0 \

				-m sna_def -a snake -o rai_w32a



				//バンダナ

				chara ロープモデル３ バンダナ１ \

					-n sna_bdn1 \

					-d 1 \

					-y スネーク \

					-z 12 \

					-x 0,60,-90 \

					-m 12 \

					-p 250 \

					-k 350 \

					-o 110 \

					-f 1



				chara ロープモデル３ バンダナ２ \

					-n sna_bdn2 \

					-d 1 \

					-y スネーク \

					-z 12 \

					-x 0,50,-90 \

					-m 22 \

					-p 250 \

					-k 350 \

					-o 110 \

					-f 1

		#endif



		//	主観のときは髪の毛の計算、PSG1のときは影の計算を止める

//		chara プロック連続実行 要らないものチェック連続実行   -p 要らないものチェック



	}



	proc 要らないものチェック {

		command プレイヤー状態取得

		//	主観のときは髪の毛計算を止める

		if ($status & d:PFLAG_SUBJECT) {

			mesg 髪の毛モデル ライデン髪の毛 髪の毛計算 0

		 } else {

			mesg 髪の毛モデル ライデン髪の毛 髪の毛計算 1

		 }

		//	ＰＳＧ１とスティンガーのときは影計算を止める

		if ( ($w:武器 == d:武器:ＰＳＧ１) || ($w:武器 == d:武器:スティンガー) ) {

			mesg 影管理 影管理人 del d:PLAYER

		} else {

			mesg 影管理 影管理人 add d:PLAYER

		}

	}



//###################################################################################

//								敵兵

//###################################################################################



	proc 海上兵セット {

		#if d:DEBUG_PRINT

			print 'sea_patrol_set'

			print 'w32a enemy set'

		#endif



		if ($f:w32a_ヴァンプ登場フラグ == d:FALSE) {

		//	エマが近づくと出てくる敵兵



			//	詰め所Ａ	１Ｆ

			#if d:DEBUG_PRINT

			print 'soldier_01_set'

			#endif

			chara 海上巡回兵  敵兵:01\

				-r 14 -s 0x02 \

				-i ($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000) \

				-l $w:敵標準体力 -f $w:敵標準気絶 \

				-b 1 \								//	詰め所Ａの敵はチーム１

				-d 98500,-38500,-180500 \			//	回避位置	西（パイプの裏）

				-p 98500,-38500,-179000 \			//	攻撃位置	西

				-e サイファー起動敵死亡詰め所Ａ \

				-t エマ



			//	イージー以上から登場

			if ($w:ゲーム設定 >= d:LEVEL_EASY) {

				#if d:DEBUG_PRINT

				print 'soldier_02_set'

				#endif

				chara 海上巡回兵  敵兵:02\

					-r 15 -s 0x02 \

					-i ($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000) \

					-l $w:敵標準体力 -f $w:敵標準気絶 \

					-b 1 \								//	詰め所Ａの敵はチーム１

					-d 109000,-38500,-177500 \			//	回避位置	東（柱の裏）

					-p 	103000,-38500,-185500 \			//	攻撃位置	北

						98500,-38500,-182000 \			//	攻撃位置 	北西（浮き橋１付近）

					-e サイファー起動敵死亡詰め所Ａ \

					-t エマ

			}



			//	詰め所Ａ	２Ｆ

			chara 海上巡回兵  敵兵:03\

				-r 16 -s 0x02 \

				-i ($w:w32a_海上巡回兵視力+15000),($w:w32a_海上巡回兵視力+15000),($w:w32a_海上巡回兵視力+15000),($w:w32a_海上巡回兵視力+15000) \

				-l $w:敵標準体力 -f $w:敵標準気絶 \

				-b 1 \								//	詰め所Ａの敵はチーム１

				-d 100000,-35000,-184000 \			//	回避位置	北西（鉄板の裏）

				-p	100000,-35000,-184000 \			//	攻撃位置	北西 (その場)

					 98500,-35000,-179000 \			//	攻撃位置	西

				-e サイファー起動敵死亡詰め所Ａ \

				-t エマ



		//	最初からいる敵兵

			//	詰め所Ａ	２Ｆ

			chara 海上巡回兵  敵兵:07\

				-r 32 -s 0x02 \

				-i ($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000) \

				-l $w:敵標準体力 -f $w:敵標準気絶 \

				-b 1 \								//	詰め所Ａの敵はチーム１

				-d 100000,-35000,-184000 \			//	回避位置	北西（鉄板の裏）

				-p  98500,-35000,-182000 \			//	攻撃位置	西

				-e サイファー起動敵死亡詰め所Ａ \

				-t エマ





		//	再発生する敵兵

			@再発生海上兵１			//	イージー以下は出てこない





		//	エマが近づくと出てくる敵兵

			//	詰め所Ｂ	１Ｆ

			chara 海上巡回兵  敵兵:04\

				-r 17 -s 0x02 \

				-i ($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000) \

				-l $w:敵標準体力 -f $w:敵標準気絶 \

				-b 2 \								//	詰め所Ｂの敵はチーム２

				-d 106500,-38500,-115000 \			//	回避位置	南東（柱の裏）

				-p	102500,-38500,-125500 \			//	攻撃位置	北（浮き橋２付近）

					 98500,-38500,-120000 \			//	攻撃位置	西

				-e サイファー起動敵死亡詰め所Ｂ \

				-t エマ



			//	イージー以上から登場

			if ($w:ゲーム設定 >= d:LEVEL_EASY) {

				chara 海上巡回兵  敵兵:05\

					-r 18 -s 0x02 \

					-i ($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000) \

					-l $w:敵標準体力 -f $w:敵標準気絶 \

					-b 2 \								//	詰め所Ｂの敵はチーム２

					-d 108500,-38500,-116500 \			//	回避位置	東（柱の裏）

					-p	 99000,-38500,-122500 \			//	攻撃位置	西

						105500,-38500,-125500 \			//	攻撃位置	北（浮き橋２付近）

					-e サイファー起動敵死亡詰め所Ｂ \

					-t エマ

			}



			//	詰め所Ｂ	２Ｆ

			chara 海上巡回兵  敵兵:06\

				-r 19 -s 0x02 \

				-i ($w:w32a_海上巡回兵視力+15000),($w:w32a_海上巡回兵視力+15000),($w:w32a_海上巡回兵視力+15000),($w:w32a_海上巡回兵視力+15000) \

				-l $w:敵標準体力 -f $w:敵標準気絶 \

				-b 2 \								//	詰め所Ｂの敵はチーム２

				-d 104000,-35000,-114500 \			//	回避位置	南（柱の裏）

				-p	104000,-35000,-125500 \			//	攻撃位置	北

					 99000,-35000,-122500 \			//	攻撃位置	西

				-e サイファー起動敵死亡詰め所Ｂ \

				-t エマ





		//	最初からいる敵兵

			//	詰め所Ｂ	１Ｆ

			chara 海上巡回兵  敵兵:08\

				-r 33 -s 0x02 \

				-i ($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000),($w:w32a_海上巡回兵視力+10000) \

				-l $w:敵標準体力 -f $w:敵標準気絶 \

				-b 2 \								//	詰め所Ｂの敵はチーム２

				-d 100750,-38500,-124250 \			//	回避位置	北西（パイプの裏）

				-p 101500,-38500,-124750 \			//	攻撃位置	北西

					98500,-38500,-122000 \			//	攻撃位置	西

				-e サイファー起動敵死亡詰め所Ｂ \

				-t エマ





		//	再発生する敵兵

			@再発生海上兵２			//	イージー以下は出てこない

		}



	}



	proc 再発生海上兵１ {

		//	詰め所Ａ	２Ｆ

		chara 海上巡回兵  敵兵:09 \

			-r 16 -s 0x02 \

			-i ($w:w32a_海上巡回兵視力+15000),($w:w32a_海上巡回兵視力+15000),($w:w32a_海上巡回兵視力+15000),($w:w32a_海上巡回兵視力+15000) \

			-l $w:敵標準体力 -f $w:敵標準気絶 \

//			-d 100000,-35000,-184000 \			//	回避位置	北西（鉄板の裏）

//			-p 102000,-35000,-175000 \			//	攻撃位置	南

//				99000,-38500,-178000 \			//	攻撃位置	西



			-d 109000,-35000,-182500 \			//	回避位置	北東（柱の裏）

			-p	103000,-35000,-174500 \			//	攻撃位置	南

//				100000,-35000,-184000 \			//	攻撃位置	北西

			-t エマ

	}



	proc 再発生海上兵２ {

		//	詰め所Ｂ	２Ｆ

		chara 海上巡回兵  敵兵:10 \

			-r 19 -s 0x02 \

			-i ($w:w32a_海上巡回兵視力+15000),($w:w32a_海上巡回兵視力+15000),($w:w32a_海上巡回兵視力+15000),($w:w32a_海上巡回兵視力+15000) \

			-l $w:敵標準体力 -f $w:敵標準気絶 \

			-d 104000,-35000,-114500 \			//	回避位置	南（柱の裏）

			-p	99000,-35000,-117000 \			//	攻撃位置	南西

//				104000,-35000,-125500 \			//	攻撃位置	北

			-t エマ

	}



	proc 警備兵コマンダー {

		#if d:DEBUG_PRINT

			print 'wccomm_set'

		#endif

			chara 警備コマンダー wccomm -e {海上兵セット}

	}





		//	司令官音声

	resource ghq_area_alert_voice {

	w32a:

		$t{

			// PLAREA0

			t:vc040007,	//	指揮官　　「了解。奴を逃がすな！」

			t:vc040009,	//	指揮官　　「了解。敵を殲滅せよ！」

			-1

		}

	}



	proc コマンダー設定 {

		#if d:DEBUG_PRINT

			print 'commander_set'

		#endif

		if ($f:w32a_ヴァンプ登場フラグ == d:FALSE) {

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

				-w 警備兵コマンダー \

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

				-r 99000,-38000,-180000 海上１ \

				-c 99000,-38000,-180000 海上１ \

				-v [ene_plant_voice:01] \

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

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

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

				-s (d:ENE_STAGE_GPS | d:ENE_STAGE_NO_STRM | d:ENE_STAGE_NO_WC_GOVER) \

				-x [ghq_area_alert_voice:w32a] \

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

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



			//	このイベント中はずっと危険

			eval ($w:スタートアラートモード = d:ALERT_MODE_KIKEN)

			mesg コマンダー 敵兵セット 危険レベル減らない

		}

	}



	proc ガンサイファー設定 {

		#if d:DEBUG_PRINT 

			print 'cypher_set'

		#endif



		if ($f:w32a_ヴァンプ登場フラグ == d:FALSE) {

			//	詰め所Ａ→浮き橋２

			chara 狙撃サイファ ガンサイファー:01 \

				-route 20 0 \ 

				-i 16000 \

				-yran 256 \

				-guntime 30 30 120 120 \

				-brakeproc サイファー起動サイファー破壊浮き橋２ \

				-touchaku サイファー視界オン 8 0 \

				-s 25

			mesg 狙撃サイファ ガンサイファー:01 視界設定 1 /*0:見える 1:見えない*/



			chara 狙撃サイファ ガンサイファー:02 \		//	ハード以上のみ

				-route 21 0 \ 

				-i 16000 \

				-yran 256 \

				-guntime 30 30 120 120 \

				-brakeproc サイファー起動サイファー破壊浮き橋２ \

				-touchaku サイファー視界オン 9 0 \

				-s 20

			mesg 狙撃サイファ ガンサイファー:02 視界設定 1 /*0:見える 1:見えない*/



			//	詰め所Ｂ→浮き橋２

			chara 狙撃サイファ ガンサイファー:03 \		//	ノーマル以上のみ

				-route 22 0 \ 

				-i 16000 \

				-yran 256 \

				-guntime 30 30 120 120 \

				-brakeproc サイファー起動サイファー破壊浮き橋２ \

				-touchaku サイファー視界オン 10 0 \

				-s 25

			mesg 狙撃サイファ ガンサイファー:03 視界設定 1 /*0:見える 1:見えない*/



			chara 狙撃サイファ ガンサイファー:04 \

				-route 23 0 \ 

				-i 16000 \

				-yran 256 \

				-guntime 30 30 120 120 \

				-brakeproc サイファー起動サイファー破壊浮き橋２ \

				-touchaku サイファー視界オン 11 0 \

				-s 20

			mesg 狙撃サイファ ガンサイファー:04 視界設定 1 /*0:見える 1:見えない*/



			//	詰め所Ｂ→浮き橋３

			chara 狙撃サイファ ガンサイファー:05 \

				-route 24 0 \ 

				-i 16000 \

				-yran 256 \

				-guntime 30 30 120 120 \

				-brakeproc サイファー起動サイファー破壊浮き橋３ \

				-touchaku サイファー視界オン 12 0 \

				-s 25

			mesg 狙撃サイファ ガンサイファー:05 視界設定 1 /*0:見える 1:見えない*/



			chara 狙撃サイファ ガンサイファー:06 \

				-route 25 0 \ 

//				-i 16000 \

				-i 5000 \		//	ルート変更中に見つけてしまうために短くする

				-yran 256 \

				-guntime 30 30 120 120 \

				-brakeproc サイファー起動サイファー破壊浮き橋３ \

				-touchaku サイファー視界オン 13 0 \

				-s 20

			mesg 狙撃サイファ ガンサイファー:06 視界設定 1 /*0:見える 1:見えない*/



			//	Ｅ脚→浮き橋３

			chara 狙撃サイファ ガンサイファー:07 \			//	ノーマル以上のみ

				-route 28 0 \ 

				-i 16000 \

				-yran 256 \

				-guntime 30 30 120 120 \

				-brakeproc サイファー起動サイファー破壊浮き橋３ \

				-touchaku サイファー視界オン 30 0 \

				-s 25

			mesg 狙撃サイファ ガンサイファー:07 視界設定 1 /*0:見える 1:見えない*/



			chara 狙撃サイファ ガンサイファー:08 \			//	イージー以下スネークに依頼したら出てくる//ノーマル以上出てくる

				-route 29 0 \ 

				-i 16000 \

				-yran 256 \

				-guntime 30 30 120 120 \

				-brakeproc サイファー起動サイファー破壊浮き橋２ \

				-touchaku サイファー視界オン 31 0 \

				-s 20

			mesg 狙撃サイファ ガンサイファー:08 視界設定 1 /*0:見える 1:見えない*/



			//	Ｌ脚→浮き橋２

			chara 狙撃サイファ ガンサイファー:09 \

				-route 34 0 \ 

				-i 16000 \

				-yran 256 \

				-guntime 30 30 120 120 \

				-touchaku サイファー視界オン 36 0 \

				-brakeproc サイファー起動サイファー破壊浮き橋２ \

				-s 25

			mesg 狙撃サイファ ガンサイファー:09 視界設定 1 /*0:見える 1:見えない*/



			//	Ｌ脚→浮き橋３

			chara 狙撃サイファ ガンサイファー:10 \

				-route 35 0 \ 

				-i 16000 \

				-yran 256 \

				-guntime 30 30 120 120 \

				-brakeproc サイファー起動サイファー破壊浮き橋３ \

				-touchaku サイファー視界オン 37 0 \

				-s 20

			mesg 狙撃サイファ ガンサイファー:10 視界設定 1 /*0:見える 1:見えない*/



		//	最初から見えるサイファー

			//	浮き橋２

			chara 狙撃サイファ ガンサイファー:11 \

				-route 26 0 \ 

				-i 16000 \

				-yran 256 \

				-guntime 30 30 120 120 \

				-brakeproc サイファー起動サイファー破壊浮き橋２ \

				-s 25

			//	浮き橋３

			chara 狙撃サイファ ガンサイファー:12 \

				-route 27 0 \ 

				-i 16000 \

				-yran 256 \

				-guntime 30 30 120 120 \

				-brakeproc サイファー起動サイファー破壊浮き橋３ \

				-s 20



		//	Ｌ脚→浮き橋３→浮き橋２

			chara 狙撃サイファ ガンサイファー:13 \			//	ノーマル以下スネークに依頼したら出てくる//ハード出てくる

				-route 38 0 \ 

				-i 16000 \

				-yran 256 \

				-guntime 30 30 120 120 \

				-brakeproc サイファー起動サイファー破壊浮き橋２ \

				-touchaku サイファー視界オン 40 0 \

				-s 25

			mesg 狙撃サイファ ガンサイファー:13 視界設定 1 /*0:見える 1:見えない*/



			chara 狙撃サイファ ガンサイファー:14 \

				-route 39 0 \ 

				-i 16000 \

				-yran 256 \

				-guntime 30 30 120 120 \

				-brakeproc サイファー起動サイファー破壊浮き橋３ \

				-touchaku サイファー視界オン 41 0 \

				-s 25

			mesg 狙撃サイファ ガンサイファー:14 視界設定 1 /*0:見える 1:見えない*/

		}



	}



	proc サイファー視界オン {

		#if d:DEBUG_PRINT 

			print 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'

		#endif

		mesg 狙撃サイファ $1 視界設定 0 /*0:見える 1:見えない*/	

	}



	proc クレイモア設定 {

		#if d:DEBUG_PRINT 

			print 'craymore_set'

		#endif



	//	日本語版

	#ifdef d:JAPANESE

		//	ヴァンプ戦前までクレイモアある

		if ($f:w32a_ヴァンプ登場フラグ == d:FALSE) {



			//	ノーマル以上からクレイモアある

			if ($w:ゲーム設定 >= d:LEVEL_NORMAL) {

				//	浮き橋１

				chara 狙撃イベント設置クレイモア 地雷１ \

					-position  73000,-39500,-198000 \

					-rotate 0,2731,0 \

					-proc クレイモア爆発１

					

				chara 狙撃イベント設置クレイモア 地雷２ \

					-position  78000,-39500,-195000 \

					-rotate 0,2731,0 \

					-proc クレイモア爆発２



				chara 狙撃イベント設置クレイモア 地雷３ \

					-position  81000,-39500,-193250 \

					-rotate 0,2731,0 \

					-proc クレイモア爆発３



				chara 狙撃イベント設置クレイモア 地雷４ \

					-position  83000,-39500,-192000 \

					-rotate 0,2731,0 \

					-proc クレイモア爆発４



				chara 狙撃イベント設置クレイモア 地雷５ \

					-position  84500,-39500,-191000 \

					-rotate 0,2731,0 \

					-proc クレイモア爆発５



				//	ハード以上クレイモア追加

				if ($w:ゲーム設定 >= d:LEVEL_HARD) {

					//	浮き橋３

					chara 狙撃イベント設置クレイモア 地雷６ \

						-position  75500,-39500,-103500 \

						-rotate 0,1707,0 \

						-proc クレイモア爆発６



					chara 狙撃イベント設置クレイモア 地雷７ \

						-position  81500,-39500,-107000 \

						-rotate 0,1707,0 \

						-proc クレイモア爆発７



					chara 狙撃イベント設置クレイモア 地雷８ \

						-position  85000,-39500,-109000 \

						-rotate 0,1707,0 \

						-proc クレイモア爆発８

				}



				//	エクストリームクレイモア追加

				if ($w:ゲーム設定 >= d:LEVEL_EXTREME) {

					chara 狙撃イベント設置クレイモア 地雷９ \

						-position  89500,-39500,-111500 \

						-rotate 0,1707,0 \

						-proc クレイモア爆発９



					chara 狙撃イベント設置クレイモア 地雷１０ \

						-position  83000,-39500,-108000 \

						-rotate 0,1707,0 \

						-proc クレイモア爆発１０



					chara 狙撃イベント設置クレイモア 地雷１１ \

						-position  78000,-39500,-105000 \

						-rotate 0,1707,0 \

						-proc クレイモア爆発１１

				}

			}



		}

	//	それ以外

	#else

		//	ヴァンプ戦前までクレイモアある

		if ($f:w32a_ヴァンプ登場フラグ == d:FALSE) {



			//	イージー以上からクレイモアある

			if ($w:ゲーム設定 >= d:LEVEL_EASY) {

				//	浮き橋１

				chara 狙撃イベント設置クレイモア 地雷１ \

					-position  73000,-39500,-198000 \

					-rotate 0,2731,0 \

					-proc クレイモア爆発１

					

				chara 狙撃イベント設置クレイモア 地雷２ \

					-position  78000,-39500,-195000 \

					-rotate 0,2731,0 \

					-proc クレイモア爆発２



				chara 狙撃イベント設置クレイモア 地雷３ \

					-position  81000,-39500,-193250 \

					-rotate 0,2731,0 \

					-proc クレイモア爆発３



				chara 狙撃イベント設置クレイモア 地雷４ \

					-position  83000,-39500,-192000 \

					-rotate 0,2731,0 \

					-proc クレイモア爆発４



				chara 狙撃イベント設置クレイモア 地雷５ \

					-position  84500,-39500,-191000 \

					-rotate 0,2731,0 \

					-proc クレイモア爆発５



				//	ノーマル以上クレイモア追加

				if ($w:ゲーム設定 >= d:LEVEL_NORMAL) {

					//	浮き橋３

					chara 狙撃イベント設置クレイモア 地雷６ \

						-position  75500,-39500,-103500 \

						-rotate 0,1707,0 \

						-proc クレイモア爆発６



					chara 狙撃イベント設置クレイモア 地雷７ \

						-position  81500,-39500,-107000 \

						-rotate 0,1707,0 \

						-proc クレイモア爆発７

				}



				//	ハード以上

				if ($w:ゲーム設定 >= d:LEVEL_HARD) {

					chara 狙撃イベント設置クレイモア 地雷８ \

						-position  85000,-39500,-109000 \

						-rotate 0,1707,0 \

						-proc クレイモア爆発８

				}



				//	エクストリームクレイモア追加

				if ($w:ゲーム設定 >= d:LEVEL_EXTREME) {

					chara 狙撃イベント設置クレイモア 地雷９ \

						-position  89500,-39500,-111500 \

						-rotate 0,1707,0 \

						-proc クレイモア爆発９



					chara 狙撃イベント設置クレイモア 地雷１０ \

						-position  83000,-39500,-108000 \

						-rotate 0,1707,0 \

						-proc クレイモア爆発１０



					chara 狙撃イベント設置クレイモア 地雷１１ \

						-position  78000,-39500,-105000 \

						-rotate 0,1707,0 \

						-proc クレイモア爆発１１

				}

			}



		}



	#endif

	}



	//	クレイモア終了プロック

	proc クレイモア爆発１ {

		if ($1 != 0) {

			eval($f:rfp_w32a_地雷１爆発した = 1)

		}

	}

	proc クレイモア爆発２ {

		if ($1 != 0) {

			eval($f:rfp_w32a_地雷２爆発した = 1)

		}

	}

	proc クレイモア爆発３ {

		if ($1 != 0) {

			eval($f:rfp_w32a_地雷３爆発した = 1)

		}

	}

	proc クレイモア爆発４ {

		if ($1 != 0) {

			eval($f:rfp_w32a_地雷４爆発した = 1)

		}

	}

	proc クレイモア爆発５ {

		if ($1 != 0) {

			eval($f:rfp_w32a_地雷５爆発した = 1)

		}

	}

	proc クレイモア爆発６ {

		if ($1 != 0) {

			eval($f:rfp_w32a_地雷６爆発した = 1)

		}

	}

	proc クレイモア爆発７ {

		if ($1 != 0) {

			eval($f:rfp_w32a_地雷７爆発した = 1)

		}

	}

	proc クレイモア爆発８ {

		if ($1 != 0) {

			eval($f:rfp_w32a_地雷８爆発した = 1)

		}

	}

	proc クレイモア爆発９ {

		if ($1 != 0) {

			eval($f:rfp_w32a_地雷９爆発した = 1)

		}

	}

	proc クレイモア爆発１０ {

		if ($1 != 0) {

			eval($f:rfp_w32a_地雷１０爆発した = 1)

		}

	}

	proc クレイモア爆発１１ {

		if ($1 != 0) {

			eval($f:rfp_w32a_地雷１１爆発した = 1)

		}

	}









//###################################################################################

//								狙撃イベント用敵起動

//###################################################################################



//	エマルート依存

	proc クレイモア無線 {

		#if d:DEBUG_PRINT 

			print 'craymore_radio'

		#endif

//		chara デバッグポーズ クレイモア無線 'craymore_radio_demo' -p クレイモア無線終了

	}



	proc クレイモア無線終了 {

		

	}



	proc 敵起動詰め所Ａ {

		#if d:DEBUG_PRINT 

		print 'proc soldier_A'

		# endif	



		//	エマが詰め所Ａに近づいたら

		//	ベリーイージー

		if ($w:ゲーム設定 == d:LEVEL_VERYEASY) {

			mesg 海上巡回兵 敵兵:03 ルート変更 4 0



			chara delay 敵兵第２陣詰め所Ａ \

				-t 180 \

				-e {

					mesg 海上巡回兵 敵兵:01 ルート変更 2 0

				}



		//	イージー以上

		} else {

			mesg 海上巡回兵 敵兵:03 ルート変更 4 0



			chara delay 敵兵第２陣詰め所Ａ \

				-t 180 \

				-e {

					mesg 海上巡回兵 敵兵:01 ルート変更 2 0

				}



			chara delay 敵兵第３陣詰め所Ａ \

				-t 360 \

				-e {

					mesg 海上巡回兵 敵兵:02 ルート変更 3 0

				}

		}



		//	スネーク到着カウント

		@スネーク到着カウント

	}







//	敵死亡依存

	proc サイファー起動敵死亡詰め所Ａ {



		//	敵死亡数をカウントする	再発生敵は数に含めない

		eval ($b:w32a_詰め所Ａ死亡数カウント = $b:w32a_詰め所Ａ死亡数カウント + 1 )



		//	ハード以下

		if ($w:ゲーム設定 <= d:LEVEL_HARD) {

			//	詰め所Ａのチーム１の誰か１人死んだら

			if ($b:w32a_詰め所Ａ死亡数カウント == 1) {

				//	何もしない



			//	詰め所Ａのチーム１の誰か２人死んだら

			} else if ($b:w32a_詰め所Ａ死亡数カウント == 2) {

				mesg 狙撃サイファ ガンサイファー:01 スタート

				mesg 狙撃サイファ ガンサイファー:01 ルート変更 8 0		//	詰め所Ａ→浮き橋２



			//	詰め所Ａのチーム１が全滅したら

			} else if ($b:w32a_詰め所Ａ死亡数カウント == 4) {



			}



		//	エクストリーム

		} else if ($w:ゲーム設定 >= d:LEVEL_EXTREME) {

			//	詰め所Ａのチーム１の誰か１人死んだら

			if ($b:w32a_詰め所Ａ死亡数カウント == 1) {

				mesg 狙撃サイファ ガンサイファー:04 スタート

				mesg 狙撃サイファ ガンサイファー:04 ルート変更 11 0		//	詰め所Ｂ→浮き橋２



			//	詰め所Ａのチーム１の誰か２人死んだら

			} else if ($b:w32a_詰め所Ａ死亡数カウント == 2) {

				mesg 狙撃サイファ ガンサイファー:01 スタート

				mesg 狙撃サイファ ガンサイファー:01 ルート変更 8 0		//	詰め所Ａ→浮き橋２



			//	詰め所Ａのチーム１が全滅したら

			} else if ($b:w32a_詰め所Ａ死亡数カウント == 4) {

				mesg 狙撃サイファ ガンサイファー:03 スタート

				mesg 狙撃サイファ ガンサイファー:03 ルート変更 10 0		//	詰め所Ｂ→浮き橋２

			}

		}



	}

//	サイファー破壊依存

	proc サイファー起動サイファー破壊浮き橋２ {



		//	イージー・ベリーイージー

		if ($w:ゲーム設定 <= d:LEVEL_EASY) {

			//	最初からいるサイファーが破壊されたら

			if ($1 == ガンサイファー:11) {

				mesg 狙撃サイファ ガンサイファー:04 スタート

				mesg 狙撃サイファ ガンサイファー:04 ルート変更 11 0		//	詰め所Ｂ→浮き橋２



			//	ガンサイファー:04が破壊されたら

			} else if ($1 == ガンサイファー:04) {

				mesg 狙撃サイファ ガンサイファー:09 スタート

				mesg 狙撃サイファ ガンサイファー:09 ルート変更 36 0		//	Ｌ脚→浮き橋２

			}



		//	ノーマル・ハード

		 } else if ($w:ゲーム設定 <= d:LEVEL_HARD) {



			//	最初からいるサイファーが破壊されたら

			if ($1 == ガンサイファー:11) {

				mesg 狙撃サイファ ガンサイファー:04 スタート

				mesg 狙撃サイファ ガンサイファー:04 ルート変更 11 0		//	詰め所Ｂ→浮き橋２



			//	ガンサイファー:04が破壊されたら

			} else if ($1 == ガンサイファー:04) {

				mesg 狙撃サイファ ガンサイファー:09 スタート

				mesg 狙撃サイファ ガンサイファー:09 ルート変更 36 0		//	Ｌ脚→浮き橋２



			//	ガンサイファー:09が破壊されたら

			} else if ($1 == ガンサイファー:09) {

				mesg 狙撃サイファ ガンサイファー:03 スタート

				mesg 狙撃サイファ ガンサイファー:03 ルート変更 10 0		//	詰め所Ｂ→浮き橋２

			}



		//	エクストリーム

		} else if ($w:ゲーム設定 >= d:LEVEL_EXTREME) {

			//	何もしない

		}

	}





//	エマルート依存

	proc ガンサイファー起動詰め所Ａ {

		#if d:DEBUG_PRINT 

		print 'proc gun cypher_1'

		# endif	



		//	エマが詰め所Ａに上陸したら



		chara delay 狙撃サイファ第２陣詰め所Ａ \

			-t 300 \

			-e {

				//	ハード以下

				if ($w:ゲーム設定 <= d:LEVEL_HARD) {

				//	何もしない



				//	エクストリーム

				} else if ($w:ゲーム設定 >= d:LEVEL_EXTREME) {

					mesg 狙撃サイファ ガンサイファー:09 スタート

					mesg 狙撃サイファ ガンサイファー:09 ルート変更 36 0		//	Ｌ脚→浮き橋２

				}



			}



		//	ノーマル以上ならば再発生させる

		if ($w:ゲーム設定 >= d:LEVEL_NORMAL) {

		//	詰め所Ａ２Ｆの敵を再発生させる。詰め所Ａの敵が絶対に全滅していないと進めないはずなので大丈夫

			@敵再発生詰め所Ａ

		}



		//	詰め所に上陸したことを示す

		eval ($f:w32a_エマ上陸フラグ = d:TRUE)



		//	ハード以上のときはやってくる

		if ($w:ゲーム設定 >= d:LEVEL_HARD) {

			mesg 狙撃サイファ ガンサイファー:13 スタート

			mesg 狙撃サイファ ガンサイファー:13 ルート変更 40 0		//Ｌ脚→浮き橋３→浮き橋２

		}



	}



	proc 敵再発生詰め所Ａ {

		mesg 海上巡回兵 敵兵:09 ルート変更 4 0

	}



	proc ガンサイファー起動詰め所Ａ裏側 {

		#if d:DEBUG_PRINT 

		print 'proc gun cypher_2'

		# endif	

		//	エマが詰め所Ａの裏側に行ったら



		//	エマのゲームオーバーカメラの切替え用

		@エマゲームオーバーカメラカウント



		//	エマ休憩

		@エマ休憩詰め所Ａ

	}

	

	proc ガンサイファー起動浮き橋２ {

		#if d:DEBUG_PRINT 

		print 'proc gun cypher_3'

		# endif	



		//	エマが浮き橋２に移ったら



		//	ハード以上ならば

		if ($w:ゲーム設定 >= d:LEVEL_HARD) {

			chara delay ガンサイファー第２陣浮き橋２ \

				-t 900 \

				-e {

					mesg 狙撃サイファ ガンサイファー:02 スタート		//	詰め所Ａ→浮き橋２

					mesg 狙撃サイファ ガンサイファー:02 ルート変更 9 0

				}

		}



		//	スネーク到着カウント

		@スネーク到着カウント



		//	浮き橋に降りたことを示す

		eval ($f:w32a_エマ上陸フラグ = d:FALSE)



	}



	proc 敵起動詰め所Ｂ {

		#if d:DEBUG_PRINT 

		print 'proc soldier_B'

		# endif	



		//	エマが詰め所Ｂに近づいたら

		//	ベリーイージー

		if ($w:ゲーム設定 == d:LEVEL_VERYEASY) {

			mesg 海上巡回兵 敵兵:06 ルート変更 7 0



			chara delay 敵兵第２陣詰め所Ｂ \

				-t 180 \

				-e {

					mesg 海上巡回兵 敵兵:04 ルート変更 5 0

				}



		//	イージー以上

		} else {

			mesg 海上巡回兵 敵兵:06 ルート変更 7 0



			chara delay 敵兵第２陣詰め所Ｂ \

				-t 180 \

				-e {

					mesg 海上巡回兵 敵兵:04 ルート変更 5 0

				}



			chara delay 敵兵第３陣詰め所Ｂ \

				-t 360 \

				-e {

					mesg 海上巡回兵 敵兵:05 ルート変更 6 0

				}

		}



	}







//	敵死亡依存

	proc サイファー起動敵死亡詰め所Ｂ {



		//	敵死亡数をカウントする	再発生敵は数に含めない

		eval ($b:w32a_詰め所Ｂ死亡数カウント = $b:w32a_詰め所Ｂ死亡数カウント + 1 )



		//	ハード以下

		if ($w:ゲーム設定 <= d:LEVEL_HARD) {

			//	詰め所Ｂのチーム２の誰か１人死んだら

			if ($b:w32a_詰め所Ｂ死亡数カウント == 1) {



			//	詰め所Ｂのチーム２の誰か２人死んだら

			} else if ($b:w32a_詰め所Ｂ死亡数カウント == 2) {

				mesg 狙撃サイファ ガンサイファー:05 スタート

				mesg 狙撃サイファ ガンサイファー:05 ルート変更 12 0				//	詰め所Ｂ→浮き橋３



			//	詰め所Ｂのチーム２が全滅したら

			} else if ($b:w32a_詰め所Ｂ死亡数カウント == 4) {



			}



		//	エクストリーム

		} else if ($w:ゲーム設定 >= d:LEVEL_EXTREME) {

			//	詰め所Ｂのチーム２の誰か１人死んだら

			if ($b:w32a_詰め所Ｂ死亡数カウント == 1) {

				mesg 狙撃サイファ ガンサイファー:14 スタート

				mesg 狙撃サイファ ガンサイファー:14 ルート変更 41 0				//	Ｌ脚→浮き橋３→浮き橋２



			//	詰め所Ｂのチーム２の誰か２人死んだら

			} else if ($b:w32a_詰め所Ｂ死亡数カウント == 2) {

				mesg 狙撃サイファ ガンサイファー:05 スタート

				mesg 狙撃サイファ ガンサイファー:05 ルート変更 12 0				//	詰め所Ｂ→浮き橋３



			//	詰め所Ｂのチーム２が全滅したら

			} else if ($b:w32a_詰め所Ｂ死亡数カウント == 4) {

				mesg 狙撃サイファ ガンサイファー:07 スタート

				mesg 狙撃サイファ ガンサイファー:07 ルート変更 30 0				//	Ｅ脚→浮き橋３



			}

		}

	

	}



//	サイファー破壊依存

	proc サイファー起動サイファー破壊浮き橋３ {



		//	イージー・ベリーイージー

		if ($w:ゲーム設定 <= d:LEVEL_EASY) {

			//	最初からいるサイファーが破壊されたら

			if ($1 == ガンサイファー:12) {

				mesg 狙撃サイファ ガンサイファー:14 スタート

				mesg 狙撃サイファ ガンサイファー:14 ルート変更 41 0				//	Ｌ脚→浮き橋３→浮き橋２



			//	ガンサイファー:14が破壊されたら

			} else if ($1 == ガンサイファー:14) {

				mesg 狙撃サイファ ガンサイファー:10 スタート

				mesg 狙撃サイファ ガンサイファー:10 ルート変更 37 0				//	Ｌ脚→浮き橋３

			}



		//	ノーマル・ハード

		} else if ($w:ゲーム設定 <= d:LEVEL_HARD) {

			//	最初からいるサイファーが破壊されたら

			if ($1 == ガンサイファー:12) {

				mesg 狙撃サイファ ガンサイファー:14 スタート

				mesg 狙撃サイファ ガンサイファー:14 ルート変更 41 0				//	Ｌ脚→浮き橋３→浮き橋２



			//	ガンサイファー:14が破壊されたら

			} else if ($1 == ガンサイファー:14) {

				mesg 狙撃サイファ ガンサイファー:10 スタート

				mesg 狙撃サイファ ガンサイファー:10 ルート変更 37 0				//	Ｌ脚→浮き橋３



			//	ガンサイファー:10が破壊されたら

			} else if ($1 == ガンサイファー:10) {

				mesg 狙撃サイファ ガンサイファー:07 スタート

				mesg 狙撃サイファ ガンサイファー:07 ルート変更 30 0				//	Ｅ脚→浮き橋３

			}



		//	エクストリーム

		} else if ($w:ゲーム設定 >= d:LEVEL_EXTREME) {

			//	何もしない

		}

	}





//	エマルート依存

	proc ガンサイファー起動詰め所Ｂ {

		#if d:DEBUG_PRINT 

		print 'proc gun cypher_4'

		# endif	



		//	エマが詰め所Ｂに上陸したら



		chara delay 狙撃サイファ第２陣詰め所Ｂ \

			-t 300 \

			-e {

				//	ハード以下

				if ($w:ゲーム設定 <= d:LEVEL_HARD) {



				//	エクストリーム

				} else if ($w:ゲーム設定 >= d:LEVEL_EXTREME) {

					mesg 狙撃サイファ ガンサイファー:10 スタート

					mesg 狙撃サイファ ガンサイファー:10 ルート変更 37 0				//	Ｌ脚→浮き橋３

				}



			}



		//	ノーマル以上再発生させる

		if ($w:ゲーム設定 >= d:LEVEL_NORMAL) {

			//	詰め所Ｂ２Ｆの敵を再発生させる。詰め所Ｂの敵が絶対に全滅していないと進めないはずなので大丈夫

			@敵再発生詰め所Ｂ

		}



		//	詰め所に上陸したことを示す

		eval ($f:w32a_エマ上陸フラグ = d:TRUE)



		//	ノーマル以上のときはやってくる

		if ($w:ゲーム設定 >= d:LEVEL_NORMAL) {

			mesg 狙撃サイファ ガンサイファー:08 スタート

			mesg 狙撃サイファ ガンサイファー:08 ルート変更 31 0		//	Ｅ脚→浮き橋３

		}



	}



	proc 敵再発生詰め所Ｂ {

			mesg 海上巡回兵 敵兵:10 ルート変更 7 0

	}



	proc ガンサイファー起動詰め所Ｂ裏側 {

		#if d:DEBUG_PRINT 

		print 'proc gun cypher_5'

		# endif	



		//	エマが詰め所Ｂの裏側に行ったら



		//	エマのゲームオーバーカメラの切替え用

		@エマゲームオーバーカメラカウント



		//	エマ休憩

		@エマ休憩詰め所Ｂ

	}





	proc ガンサイファー起動浮き橋３{

		#if d:DEBUG_PRINT 

		print 'proc gun cypher_6'

		# endif



		//	エマが浮き橋３に移ったら

		chara delay ガンサイファー第２陣浮き橋２ \

			-t 240 \

			-e {

				mesg 狙撃サイファ ガンサイファー:06 スタート

				mesg 狙撃サイファ ガンサイファー:06 ルート変更 13 0		//	詰め所Ｂ→浮き橋３

			}



		//	スネーク到着カウント

		@スネーク到着カウント



		//	浮き橋に降りたことを示す

		eval ($f:w32a_エマ上陸フラグ = d:FALSE)



	}







//	ヴァンプ

	proc ヴァンプ登場 {

		#if d:DEBUG_PRINT 

		print 'proc vamp appear'

		# endif

		//	ヴァンプ登場フラグを立てる

		eval ($f:w32a_ヴァンプ登場フラグ = d:TRUE)





		//	エマの現在の座標、体力を記憶

		command ゲットエマ座標 $i:エマＸ座標変数 $i:エマＹ座標変数 $i:エマＺ座標変数

		command ゲットエマライフ $i:エマライフ現在値

	#if d:DEBUG_PRINT 

	print 'EMA_X '$i:エマＸ座標変数

	print 'EMA_Y '$i:エマＹ座標変数

	print 'EMA_Z '$i:エマＺ座標変数

	#endif



		//	登場ポイントを変更する

		eval($s:登場ポイント = ヴァンプ登場デモ後)

		eval( $i:プレイヤー初期Ｘ位置 = 52910) ;

		eval( $i:プレイヤー初期Ｙ位置 = -38370 ) ;

		eval( $i:プレイヤー初期Ｚ位置 = -204638) ;

		eval( $i:プレイヤー初期方向   = 113) ;



		eval( $b:プレイヤー初期姿勢   = d:FA_END_GROUND) ;



		//	マイクは外しておく

		if ($w:武器 == d:武器:マイク) {

			eval ($w:武器 = d:武器:素手)

		}



		//	エマライフを回復

		//	ハード以下ではヴァンプ戦前に回復

		if ( $w:ゲーム設定 <= d:LEVEL_HARD) {

			eval ($i:エマライフ現在値 = $i:エマライフ最大値)



		//	エクストリーム以上ではライフが最大値の1/4以下ならば1/4まで回復（ライフが最大値の1/4以上かつ1/2以下ではコンティニュー後に回復）

		} else {

			if ($i:エマライフ現在値 <= ($i:エマライフ最大値/4)) {

				eval ($i:エマライフ現在値 = ($i:エマライフ最大値/4))

			}

		}





//		mesg ＮＰＣスネーク スネーク 狙撃終了	//	リスタートがかかるので必要なし

	

		//	ストーリーフラグを立ててリスタートでデモへ

//		@ポリゴンデモスタート d:ST:P068_01_P01ヴァンプ狙撃前１ポリゴンデモ１開始



		//	ストーリーフラグを立ててロードする

		eval ($w:p_story = d:ST:P068_01_P01ヴァンプ狙撃前１ポリゴンデモ１開始)

		@海上ロード設定

	}



/*

	proc ヴァンプ登場デモ終了 {

		

		eval($s:登場ポイント == ヴァンプ登場デモ後)

		eval( $i:プレイヤー初期Ｘ位置 = 52268) ;

		eval( $i:プレイヤー初期Ｙ位置 = -37574 ) ;

		eval( $i:プレイヤー初期Ｚ位置 = -204843) ;

		eval( $i:プレイヤー初期方向   = 120) ;



//		mesg ＮＰＣスネーク スネーク 狙撃終了	//	リスタートがかかるので必要なし

	

		restart -s

	}

*/



	proc  ヴァンプ首締め {

		if ($f:w32a_ヴァンプ登場フラグ == d:TRUE) {

			command マップ設定 海上１ -set {

	#if d:DEBUG_PRINT 

	print 'EMA_X '$i:エマＸ座標変数

	print 'EMA_Y '$i:エマＹ座標変数

	print 'EMA_Z '$i:エマＺ座標変数



	print '####################################################################################vamp'



	#endif



			

			chara ボス狙撃ヴァンプ ヴァンプ \

					-model		vmp_naked_shadow vmp_naked_light_mh_mt \

					-pos		$i:エマＸ座標変数 -37500 $i:エマＺ座標変数 \

					-dir		2048 \

					-vitality	100 100 \

					-damage		$i:w32a_ヴァンプ頭銃ライフ $i:w32a_ヴァンプ頭麻酔ライフ \	//	頭で何発で死ぬか／寝るか回数

								$i:w32a_ヴァンプ体銃ライフ $i:w32a_ヴァンプ体麻酔ライフ \	//	体で何発で死ぬか／寝るか回数

					-proc		ヴァンプ死す \

	        		-hang		$i:w32a_ヴァンプ首締め間隔 \

	        		-flag    	0

			}

			chara マルチウェイト髪の毛モデル マルチウェイトヴァンプの髪 \

				-n vmp_hair_naked_mh_mt \

				-b vmp_naked_bounding \

				-d 9 \

				-y ヴァンプ \

				-z 2 11 12 \

				-x 0,0,0 \

				-o 120 \

				-q 0 \

				-f 1 \

				-c 5 { 2 3 7 11 12 } \

				-v \

				-w 80



			chara マルチウェイト髪の毛モデル マルチウェイトヴァンプのナイフ \

					-n vmp_parts_vkpa_mh \

					-d 10 \ /* ヴァンプナイフ */

					-y ヴァンプ \

					-z 0 \

					-f 1

		}

	}



	proc ヴァンプ死す {

		//	モードを潜入に戻す

		eval ($w:スタートアラートモード = d:ALERT_MODE_SENNYU)



		//	ＢＧＭフェードアウト

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



		//	ステージ終了処理

		command 無線設定 -reset

		command パッド操作 -release

		command プレイヤー無敵セット

		mesg コマンダー 敵兵セット 視界オフ

		eval ( $w:p_story = d:ST:P069_01_P01ヴァンプ狙撃終了１ポリゴンデモ１開始 );

		eval( $f:デモ直後フラグ = 1 );



		// ポリデモのときはレーダーオフするためのフラグ

		eval($f:global_polygon_demo = 1);



		//	ロードでデモへ

		if($w:アイテム == d:アイテム:ゴル兵制服){

//			@ポリゴンデモロード d:ST:P069_01_P01ヴァンプ狙撃終了１ポリゴンデモ１開始



			// フェードインスタート

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

				-c 0,0,0 128 \

				-t (d:FADEOUT_TIME/2) \

				-p ポリデモロードスタート



		//	リスタートでデモへ

		} else {

//			@ポリゴンデモスタート d:ST:P069_01_P01ヴァンプ狙撃終了１ポリゴンデモ１開始



			// フェードインスタート

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

				-c 0,0,0 128 \

				-t (d:FADEOUT_TIME/2) \

				-p リスタート

		}

	}



	proc ポリデモロードスタート {

		@mv_w32a_w32b_0

	}



/*

	proc ヴァンプ死亡終了 {

		//	次のステージへ

		@海上ロード設定

	}

*/



//	絶対防衛ライン

	proc 絶対防衛ライン浮き橋１ {

		//	エマが更に近づいてきたら無理矢理発見して攻撃開始。誰か生き残っているのかわからないのでチーム全員に送る

		mesg 海上巡回兵 敵兵:01 攻撃開始

		mesg 海上巡回兵 敵兵:03 攻撃開始

		mesg 海上巡回兵 敵兵:07 攻撃開始



		//	イージー以上

		if ($w:ゲーム設定 >= d:LEVEL_EASY) {

			mesg 海上巡回兵 敵兵:02 攻撃開始

		}



	}



	proc 絶対防衛ライン浮き橋２ {

		//	エマが更に近づいてきたら無理矢理発見して攻撃開始。誰か生き残っているのかわからないのでチーム全員に送る

		mesg 海上巡回兵 敵兵:04 攻撃開始

		mesg 海上巡回兵 敵兵:06 攻撃開始

		mesg 海上巡回兵 敵兵:08 攻撃開始



		//	イージー以上

		if ($w:ゲーム設定 >= d:LEVEL_EASY) {

			mesg 海上巡回兵 敵兵:05 攻撃開始

		}



	}



//###################################################################################

//								ＢＧＭ設定

//###################################################################################



	proc ＢＧＭ設定 {

		#if d:DEBUG_PRINT 

			print 'bgm_set'

		#endif



		//	ここでは起動しないでマニュアルで処理

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

		



	}





//###################################################################################

//									 ドア＆マップ切り替え

//###################################################################################







//###################################################################################

//									開始時処理

//###################################################################################



	proc 海上開始時処理 {

		//	ヴァンプ戦時

		if( $s:登場ポイント == ヴァンプ登場デモ後 ){

			@ステージ開始時特殊処理

		} else {

			if( $s:登場ポイント == sp_w28a_w32a_0 ) {

				// 梯子下から

				@デモ後武器アイテム制御 d:デモ後必ず素手 d:デモ後特殊装備なし

				@ステージ開始時処理（ステージ名表示） \

				 d:LOAD_TYPE:NO_MOVE_TYPE 梯子下 0 d:DEFAULT_M_TYPE \

				 d:wn_Ｌ脚下部オイルフェンス

			}

		}

	}



	proc ステージ開始時特殊処理 {

		#if d:DEBUG_PRINT 

			print 'stage_start'

		#endif



		// パッド操作を奪う(無線やポーズも不許可にする)

		command パッド操作 -release

		command メニュー設定 -radio off -pause off



		// フェードインスタート

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

			-i 0,0,0 128 \

			-c 0,0,0 0 \

			-t d:FADEIN_TIME



		chara delay パッドディレイ \

			-time d:FADEIN_TIME \

			-exec {

				command パッド操作 -cancel

				command メニュー設定 -radio on -pause on

				eval($f:ロードチェックＯＮフラグ = 1);

			}

	}







//###################################################################################

//									ロード設定

//###################################################################################



	proc ロードプロック {

		#if d:DEBUG_PRINT 

			print 'load_proc'

		#endif



		if ($s:呼び出しプロック == mv_w32a_w32b_0) {

			// Ｅ脚Ｂ１へ

			@mv_w32a_w32b_0

		}

	}





	proc 海上ロード設定 {

		#if d:DEBUG_PRINT 

			print 'load_set'

		#endif



		// ヴァンプ戦へ

		@ステージ終了時特殊処理 mv_w32a_w32b_0

		//	先読み

		preseek 'w32b'

	}



	proc ステージ終了時特殊処理  $:終了時プロック  {

		#if d:DEBUG_PRINT 

			print 'stage_end'

		#endif



		// 二重呼び防止のためにフラグを寝かす

		eval($f:ロードチェックＯＮフラグ = 0);



		// 無線機からのコールがあった場合キャンセルをかける

		command 無線設定 -reset



		// パッド操作を奪う(無線やポーズもフラグをたてなければ不許可にする)

		command パッド操作 -release

		command メニュー設定 -menu off -gage off -radar off -subwin off -radio off -pause off



		eval($s:呼び出しプロック = $:終了時プロック);



		//	ＢＧＭフェードアウト

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



		//	画面フェードアウト

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

			-c 0,0,0 128 \

//			-t d:FADEOUT_TIME \

			-t (d:FADEOUT_TIME/2) \

			-p ロードプロック

	}





//###################################################################################

//									オブジェクト

//###################################################################################



/*

	//	w32_d_common.h内に記述

	proc 海面設定 {

		#if d:DEBUG_PRINT

			print 'w32a_sea_set'

		#endif



		chara プラント海面 seaseasea \

			-tex oil s_oil_sea_alp_ovl_mod0022 s_oil_ref_add_alp_ovl_mod1120 \

			-w 2,2,6 \

			-l \

			-pos 52000,-40000,-210000

	}

*/



	proc 水位設定 {

		command 水位設定 -lv -40000 \

			-s d:se_code:SD_A_RICOCH06

	}



	proc 海面管理設定 {

		chara 水面監視水飛沫 落下水飛沫 \

			-n d:PLAYER \

			-n 敵兵 \

			-n エマ

		command 弾水飛沫処理

	}



/*

	//	w32_d_common.h内に記述

	proc 空設定 {

		#if d:DEBUG_PRINT

			print 'w32a_sky_set'

		#endif



		@狙撃夕空（レンズフレア指定）	52000 -31000 -210000 -1000 -210 -4500 4



	}

*/



/*

	//	w32_d_common.h内に記述

	proc 浮き橋１ {

		chara 浮き橋 bridge_1 \

//			-pos 56750,-40000,-205000 99000,-40000,-184800 \

			-pos 57875,-40000,-206625 98125,-40000,-183375 \

			-n 10 \

			-model oilfence

	}

	proc 浮き橋２ {

		chara 浮き橋 bridge_2 \

//			-pos 104000,-40000,-173000 104000,-40000,-126500 \

			-p 104000,-40000,-173250 104000,-40000,-126750 \

			-n 10 \

			-model oilfence

	}

	proc 浮き橋３ {

		chara 浮き橋 bridge_3 \

//			-pos 98400,-40000,-116500 57750,-40000,-93150 \

			-p 98125,-40000,-116500 57875 -40000 -93250 \

			-n 10 \

			-model oilfence

	}

*/

	proc 浮き橋１ＯＮ {

		mesg 浮き橋 bridge_1 動的床強制更新開始

//		mesg 床水飛沫 浮き橋１水飛沫 オン

	}

	proc 浮き橋１ＯＦＦ {

		mesg 浮き橋 bridge_1 動的床強制更新禁止

//		mesg 床水飛沫 浮き橋１水飛沫 オフ

	}

	proc 浮き橋２ＯＮ {

		mesg 浮き橋 bridge_2 動的床強制更新開始

//		mesg 床水飛沫 浮き橋２水飛沫 オン

	}

	proc 浮き橋２ＯＦＦ {

		mesg 浮き橋 bridge_2 動的床強制更新禁止

//		mesg 床水飛沫 浮き橋２水飛沫 オフ

	}

	proc 浮き橋３ＯＮ {

		mesg 浮き橋 bridge_3 動的床強制更新開始

//		mesg 床水飛沫 浮き橋３水飛沫 オン

	}

	proc 浮き橋３ＯＦＦ {

		mesg 浮き橋 bridge_3 動的床強制更新禁止

//		mesg 床水飛沫 浮き橋３水飛沫 オフ

	}



	proc 浮き橋管理設定 {

		//	浮き橋１は最初から

		if ($f:w32a_ヴァンプ登場フラグ == d:FALSE) {

			@浮き橋１ＯＮ

		}



		//	浮き橋３はヴァンプ登場後はオン

		if ($f:w32a_ヴァンプ登場フラグ == d:TRUE) {

			@浮き橋３ＯＮ

		}

	}







//###################################################################################

//									アイテム

//###################################################################################



	proc アイテム設定 {

		#if d:DEBUG_PRINT

			print 'item_set'

		#endif



		//	デバッグ用

#if 0

		eval ($w:武器弾数Ｒ[ d:武器:ＰＳＧ１ ] = 31)

		eval ($w:アイテム数Ｒ[ d:アイテム:ジアゼパム ] = 2)

		eval ($w:武器弾数Ｒ[ d:武器:ＰＳＧ１－Ｔ ] = 31)

//		eval ($w:アイテム数Ｒ[ d:アイテム:サーマルゴーグル ] = 0)

#endif



		trap ca001 d:PLAYER \

			-mask いる \

			-exec {



				//	ＰＳＧ１弾配置

				//	イージー以下では2セット出す

				if ( $w:ゲーム設定 <= d:LEVEL_EASY) {

					if ($f:w32a_ＰＳＧ１弾01フラグ == 0) {

						if ($w:武器弾数Ｒ[ d:武器:ＰＳＧ１ ] <= 20) {

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

								-bound 52500,-38500,-204500 53500,-37500,-203500` == 0) {

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

										-b 0 \

										-p 53000 -38500 -204000 \

										-k rifle_amo_ibox \

										-s rifle_amo_ibox_sh \

										-l psg_amo_label \

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

										-i d:武器:ＰＳＧ１ \

										-n 20 \

										-h d:シナリオの高さ \

										-x { eval ($f:w32a_ＰＳＧ１弾01フラグ = 0) }



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

								eval ($f:w32a_ＰＳＧ１弾01フラグ = 1)

							}

						}

					}



					if ($f:w32a_ＰＳＧ１弾02フラグ == 0) {

						if ($w:武器弾数Ｒ[ d:武器:ＰＳＧ１ ] <= 20) {

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

								-bound 54000,-38500,-204500 55000,-37500,-203500` == 0) {

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

										-b 0 \

										-p 54500 -38500 -204000 \

										-k rifle_amo_ibox \

										-s rifle_amo_ibox_sh \

										-l psg_amo_label \

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

										-i d:武器:ＰＳＧ１ \

										-n 20 \

										-h d:シナリオの高さ \

										-x { eval ($f:w32a_ＰＳＧ１弾02フラグ = 0) }



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

								eval ($f:w32a_ＰＳＧ１弾02フラグ = 1)

							}

						}

					}



				//	ノーマルは1セットのみ20発以下で再発生

				} else if ( $w:ゲーム設定 == d:LEVEL_NORMAL) {

					if ($f:w32a_ＰＳＧ１弾02フラグ == 0) {

						if ($w:武器弾数Ｒ[ d:武器:ＰＳＧ１ ] <= 20) {

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

								-bound 54000,-38500,-204500 55000,-37500,-203500` == 0) {

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

										-b 0 \

										-p 54500 -38500 -204000 \

										-k rifle_amo_ibox \

										-s rifle_amo_ibox_sh \

										-l psg_amo_label \

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

										-i d:武器:ＰＳＧ１ \

										-n 20 \

										-h d:シナリオの高さ \

										-x { eval ($f:w32a_ＰＳＧ１弾02フラグ = 0) }



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

								eval ($f:w32a_ＰＳＧ１弾02フラグ = 1)

							}

						}

					}



				//	ハードは1セットのみ10発以下で再発生

				} else if ( $w:ゲーム設定 == d:LEVEL_HARD) {

					if ($f:w32a_ＰＳＧ１弾02フラグ == 0) {

						if ($w:武器弾数Ｒ[ d:武器:ＰＳＧ１ ] <= 10) {

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

								-bound 54000,-38500,-204500 55000,-37500,-203500` == 0) {

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

										-b 0 \

										-p 54500 -38500 -204000 \

										-k rifle_amo_ibox \

										-s rifle_amo_ibox_sh \

										-l psg_amo_label \

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

										-i d:武器:ＰＳＧ１ \

										-n 20 \

										-h d:シナリオの高さ \

										-x { eval ($f:w32a_ＰＳＧ１弾02フラグ = 0) }



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

								eval ($f:w32a_ＰＳＧ１弾02フラグ = 1)

							}

						}

					}



				//	エクストリームは1セットのみ5発以下で再発生

				} else {

					if ($f:w32a_ＰＳＧ１弾02フラグ == 0) {

						if ($w:武器弾数Ｒ[ d:武器:ＰＳＧ１ ] <= 5) {

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

								-bound 54000,-38500,-204500 55000,-37500,-203500` == 0) {

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

										-b 0 \

										-p 54500 -38500 -204000 \

										-k rifle_amo_ibox \

										-s rifle_amo_ibox_sh \

										-l psg_amo_label \

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

										-i d:武器:ＰＳＧ１ \

										-n 20 \

										-h d:シナリオの高さ \

										-x { eval ($f:w32a_ＰＳＧ１弾02フラグ = 0) }



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

								eval ($f:w32a_ＰＳＧ１弾02フラグ = 1)

							}

						}

					}

				}





				//	ジアゼパム配置

				//	ハード以下

				if ( $w:ゲーム設定 <= d:LEVEL_HARD) {

					if ($f:w32a_ジアゼパム01フラグ == 0) {

						if ($w:アイテム数Ｒ[ d:アイテム:ジアゼパム ] == 0) {

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

								-bound 49500,-38500,-205500 50500,-37500,-204500` == 0) {

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

										-b 0 \

										-p 50000 -38500 -205000 \

										-k medicine_ibox \

										-s medicine_ibox_sh \

									#ifdef d:JAPANESE

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

									#else

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

									#endif

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

										-i d:アイテム:ジアゼパム \

										-n 5 \

										-h d:シナリオの高さ \

										-x { eval ($f:w32a_ジアゼパム01フラグ = 0) }



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

								eval ($f:w32a_ジアゼパム01フラグ = 1)

							}

						}

					}

					if ($f:w32a_ジアゼパム02フラグ == 0) {

						if ($w:アイテム数Ｒ[ d:アイテム:ジアゼパム ] == 0) {

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

								-bound 50500,-38500,-204500 51500,-37500,-203500` == 0) {

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

										-b 0 \

										-p 51000 -38500 -204000 \

										-k medicine_ibox \

										-s medicine_ibox_sh \

									#ifdef d:JAPANESE

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

									#else

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

									#endif

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

										-i d:アイテム:ジアゼパム \

										-n 5 \

										-h d:シナリオの高さ \

										-x { eval ($f:w32a_ジアゼパム02フラグ = 0) }



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

								eval ($f:w32a_ジアゼパム02フラグ = 1)

							}

						}

					}



				//	エクストリームの場合は1セット1回限り発生

				} else {

					if ($f:w32a_ジアゼパム01フラグ == 0) {

						if ($w:アイテム数Ｒ[ d:アイテム:ジアゼパム ] == 0) {

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

								-bound 49500,-38500,-205500 50500,-37500,-204500` == 0) {

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

										-b 0 \

										-p 50000 -38500 -205000 \

										-k medicine_ibox \

										-s medicine_ibox_sh \

									#ifdef d:JAPANESE

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

									#else

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

									#endif

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

										-i d:アイテム:ジアゼパム \

										-n 5 \

										-h d:シナリオの高さ \

//										-x { eval ($f:w32a_ジアゼパム01フラグ = 0) }

										-x { }



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

								eval ($f:w32a_ジアゼパム01フラグ = 1)

							}

						}

					}

				}





				//	ＰＳＧ１－Ｔ弾配置持っていたら出す

				//	イージー以下では2セット出す

				if ( $w:ゲーム設定 <= d:LEVEL_EASY) {

					if ($f:w32a_ＰＳＧ１－Ｔ弾01フラグ == 0) {

						if (	($w:武器弾数Ｒ[ d:武器:ＰＳＧ１－Ｔ ] >= 0) && \

								($w:武器弾数Ｒ[ d:武器:ＰＳＧ１－Ｔ ] <= 20)	) {

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

								-bound 55500,-38500,-205500 56500,-37500,-204500` == 0) {

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

										-b 0 \

										-p 56000 -38500 -205000 \

										-k rifle_amo_ibox \

										-s rifle_amo_ibox_sh \

										-l psgT_amo_label \

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

										-i d:武器:ＰＳＧ１－Ｔ \

										-n 5 \

										-h d:シナリオの高さ \

										-x { eval ($f:w32a_ＰＳＧ１－Ｔ弾01フラグ = 0) }



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

								eval ($f:w32a_ＰＳＧ１－Ｔ弾01フラグ = 1)

							}

						}

					}

					if ($f:w32a_ＰＳＧ１－Ｔ弾02フラグ == 0) {

						if (	($w:武器弾数Ｒ[ d:武器:ＰＳＧ１－Ｔ ] >= 0) && \

								($w:武器弾数Ｒ[ d:武器:ＰＳＧ１－Ｔ ] <= 20)	) {

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

								-bound 57000,-38500,-207000 58000,-37500,-206000` == 0) {

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

										-b 0 \

										-p 57500 -38500 -208000 \

										-k rifle_amo_ibox \

										-s rifle_amo_ibox_sh \

										-l psgT_amo_label \

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

										-i d:武器:ＰＳＧ１－Ｔ \

										-n 5 \

										-h d:シナリオの高さ \

										-x { eval ($f:w32a_ＰＳＧ１－Ｔ弾02フラグ = 0) }



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

								eval ($f:w32a_ＰＳＧ１－Ｔ弾02フラグ = 1)

							}

						}

					}

				

				//	ノーマルは1セットのみ20発以下で再発生

				} else if ( $w:ゲーム設定 == d:LEVEL_NORMAL) {

					if ($f:w32a_ＰＳＧ１－Ｔ弾02フラグ == 0) {

						if (	($w:武器弾数Ｒ[ d:武器:ＰＳＧ１－Ｔ ] >= 0) && \

								($w:武器弾数Ｒ[ d:武器:ＰＳＧ１－Ｔ ] <= 20)	) {

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

								-bound 57000,-38500,-207000 58000,-37500,-206000` == 0) {

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

										-b 0 \

										-p 57500 -38500 -208000 \

										-k rifle_amo_ibox \

										-s rifle_amo_ibox_sh \

										-l psgT_amo_label \

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

										-i d:武器:ＰＳＧ１－Ｔ \

										-n 5 \

										-h d:シナリオの高さ \

										-x { eval ($f:w32a_ＰＳＧ１－Ｔ弾02フラグ = 0) }



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

								eval ($f:w32a_ＰＳＧ１－Ｔ弾02フラグ = 1)

							}

						}

					}



				//	ハードは1セットのみ10発以下で再発生

				} else if ( $w:ゲーム設定 == d:LEVEL_HARD) {

					if ($f:w32a_ＰＳＧ１－Ｔ弾02フラグ == 0) {

						if (	($w:武器弾数Ｒ[ d:武器:ＰＳＧ１－Ｔ ] >= 0) && \

								($w:武器弾数Ｒ[ d:武器:ＰＳＧ１－Ｔ ] <= 10)	) {

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

								-bound 57000,-38500,-207000 58000,-37500,-206000` == 0) {

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

										-b 0 \

										-p 57500 -38500 -208000 \

										-k rifle_amo_ibox \

										-s rifle_amo_ibox_sh \

										-l psgT_amo_label \

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

										-i d:武器:ＰＳＧ１－Ｔ \

										-n 5 \

										-h d:シナリオの高さ \

										-x { eval ($f:w32a_ＰＳＧ１－Ｔ弾02フラグ = 0) }



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

								eval ($f:w32a_ＰＳＧ１－Ｔ弾02フラグ = 1)

							}

						}

					}



				//	エクストリームは1セットのみ5発以下で再発生

				} else {

					if ($f:w32a_ＰＳＧ１－Ｔ弾02フラグ == 0) {

						if (	($w:武器弾数Ｒ[ d:武器:ＰＳＧ１－Ｔ ] >= 0) && \

								($w:武器弾数Ｒ[ d:武器:ＰＳＧ１－Ｔ ] <= 5)		) {

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

								-bound 57000,-38500,-207000 58000,-37500,-206000` == 0) {

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

										-b 0 \

										-p 57500 -38500 -208000 \

										-k rifle_amo_ibox \

										-s rifle_amo_ibox_sh \

										-l psgT_amo_label \

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

										-i d:武器:ＰＳＧ１－Ｔ \

										-n 5 \

										-h d:シナリオの高さ \

										-x { eval ($f:w32a_ＰＳＧ１－Ｔ弾02フラグ = 0) }



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

								eval ($f:w32a_ＰＳＧ１－Ｔ弾02フラグ = 1)

							}

						}

					}

				}

			}





			//	ここまでサーマルを持っていなかったらサーマルを置く

			if ($w:アイテム数Ｒ[ d:アイテム:サーマルゴーグル ] == 0) {

				@サーマルゴーグル_初期設置 サーマルゴーグル 52000 -38500 -204000 0

			}



	}











//###################################################################################

//									 エフェクト

//###################################################################################



/*

	//	w32_d_common.h内に記述

	proc フォグ設定 {

		#if d:DEBUG_PRINT

			print 'fog_set'

		#endif



		chara フォグ 霧\

			-c 143,100,50 \

			-n -16000 \

			-f 250000

	}

*/

	proc エフェクト設定 {

		#if d:DEBUG_PRINT

			print 'effect_set'

		#endif



		#if d:BLUR

			chara ブラー ブラー

		#endif



		#if d:Z_MANAGER

			chara Ｚフォーカス管理 Z_manager

			mesg Ｚフォーカス管理 Z_manager パラメータ 5000 30

		#endif



		#if d:BODY_SHADOW

			chara ＯＦＦ制御 off_man

			mesg ＯＦＦ制御 off_man ボディシャドウＯＦＦ

		#endif



	}



	proc キャラ用ライト設定 {

		#if d:DEBUG_PRINT

			print 'chara_light_set'

		#endif



		chara 環境光 環境光源 \

			 -c 22 45 33



		chara 平行光 平行光源 \

			 -c 160 128 64\

//			 -p -2100 -210 -4500

			 -p -1000 -210 -4500

	}



	proc 影設定 {

		#if d:DEBUG_PRINT

		print'SHADOW'

		#endif



		//	影写り用モデル

		chara 影投影モデル 影用モデル \

			-model w32a_sdw \

			-pos  1,1,1



		chara 影管理 影管理人 \

			-type 0 \

			-length 6000 \

			 -p -1000 -1000 -4500

		

		trap sh001 ？ \

			-mask  ？ \

			-exec {

				if ($3 == 入る) {

					mesg 影管理 影管理人 add $2 影用モデル

				} else if ($3 == 出る) {

					mesg 影管理 影管理人 del $2

				}

			}

	}





//###################################################################################

//									カメラ

//###################################################################################



	proc カメラセット {

		#if d:DEBUG_PRINT

			print 'stage_camera_set'

		#endif



		chara カメラ ステージカメラ		-c 0 -l 3 -p 0 

		chara カメラ 通路カメラ			-c 0 -l 2 -p 40

		chara カメラ シナリオカメラ		-c 0 -l 2 -p 6

		chara カメラ ゲームオーバーカメラ		-c 0 -l 0 -p 5



		// デフォルトカメラ

		chara カメラ設定 ステージカメラ \

			-c 0 \	

			-b d:CAM_MIN,d:CAM_MIN,d:CAM_MIN d:CAM_MAX,d:CAM_MAX,d:CAM_MAX \

			-l d:CAM_MIN,d:CAM_MIN,d:CAM_MIN d:CAM_MAX,d:CAM_MAX,d:CAM_MAX \

			-r 425,2048,0 \

			-f 7500 \

			-a 200 \

			-i 2 2 0 0 \

			-s 1



	}



	proc 海上カメラ設定 {

		#if d:DEBUG_PRINT

			print 'w32a_camera_set'

		#endif



		//	

		trap ca001 d:PLAYER \

			-mask ？ \

			-camera \

			-exec {



				chara カメラ設定 通路カメラ \

					-c 0\	

					-b d:CAM_MIN,d:CAM_MIN,d:CAM_MIN d:CAM_MAX,d:CAM_MAX,d:CAM_MAX \

					-l d:CAM_MIN,d:CAM_MIN,d:CAM_MIN d:CAM_MAX,d:CAM_MAX,d:CAM_MAX \

					-r 100,2048,0 -f 7500 \

					-a 200 \

					-i 0 0 0 0 \

					-d 1 \

					-s $3

			}

	}







//###################################################################################

//									デモ

//###################################################################################



//	詰め所Ａでの音声



/*	

	proc エマ休憩詰め所Ａ {

		mesg エマ・エメリッヒ エマ 狙撃用待機



		//	マイクを装備していたら音声発生

		if ($w:武器 == d:武器:マイク) {

			@エマイベント音声再生１

			@エマイベント音声監視設定

		//	装備してない場合は

		} else {

			chara delay エマ休憩詰め所Ａディレイ \

				-t 180 \

				-e {

					mesg エマ・エメリッヒ エマ 狙撃用復帰

				}

		}

	}

*/



	proc エマ休憩詰め所Ａ {

		mesg エマ・エメリッヒ エマ 狙撃用待機

		//	音声再生監視

		@エマイベント音声再生１監視設定

	}



	//	イベント音声再生１監視

	proc エマイベント音声再生１監視設定 {

		//	180フレームマイクを装備したかを監視

		chara プロック連続実行 エマイベント音声再生１監視人 \

			 -t 180 \

			 -exec {

				//	マイクを装備したら

				if ($w:武器 == d:武器:マイク) {

					//	いったん音声を止めて

					if ($i:STREAM_ID != 0) {

						command 狙撃StreamStop $i:STREAM_ID

					}

					//	音声再生

					@エマイベント音声再生１

					@エマイベント音声監視設定



					//	マイクを装備したらプロック連続実行を殺す

					mesg プロック連続実行 エマイベント音声再生１監視人 kill

				}

			} \

			 -end_exec {

				//	マイクを装備していないまま180フレーム立てば

				if ($f:w32a_エマ音声フラグ == d:FALSE) {

					mesg エマ・エメリッヒ エマ 狙撃用復帰

				}

			}

	}



	//	イベント音声再生１

	proc エマイベント音声再生１ {

		//	詰め所Ａ裏で悪口

		eval ( $i:STREAM_ID = `%狙撃EmaStream t:vc120111 -p エマイベント音声再生１終了` )



		//	音声再生に成功したらフラグを立てる

		if ($i:STREAM_ID != 0) {

			eval($f:w32a_エマ音声フラグ = d:TRUE)

		}

		//	もし、音声再生に失敗したら

#if 0

		//	強制的に終了

		if ($i:STREAM_ID == 0) {

			chara delay エマ休憩詰め所Ａディレイ \

				-t 180 \

				-p エマイベント音声終了

		}

#else

		//	リトライ

		chara delay エマ休憩詰め所Ａディレイ \

			-t 1 \

			-e {

				if ($i:STREAM_ID == 0) {

					eval ( $i:STREAM_ID = `%狙撃EmaStream t:vc120111 -p エマイベント音声再生１終了` )

					return 1

				} else {

					return 0

				}

			}

#endif



	}



	//	イベント音声再生１終了

	proc エマイベント音声再生１終了 {

		//	正常終了したら

		if ($1 == 0) {

		#if d:DEBUG_PRINT

			print 'エマ音声イベント悪口聞いた'

		#endif

			eval($f:rfp_w32a_エマ音声イベント悪口聞いた = 1)

		}

		@エマイベント音声終了

	}







//	詰め所Ｂでの音声



/*

	proc エマ休憩詰め所Ｂ {

		mesg エマ・エメリッヒ エマ 狙撃用待機



		//	マイクを装備していたら音声発生

		if ($w:武器 == d:武器:マイク) {

			@エマイベント音声再生２

			@エマイベント音声監視設定

		//	装備してない場合は

		} else {

			chara delay エマ休憩詰め所Ｂディレイ \

				-t 240 \

				-e {

					mesg エマ・エメリッヒ エマ 狙撃用復帰

				}

		}

	}

*/

	proc エマ休憩詰め所Ｂ {

		mesg エマ・エメリッヒ エマ 狙撃用待機

		//	音声再生監視

		@エマイベント音声再生２監視設定

	}



	//	イベント音声再生２監視

	proc エマイベント音声再生２監視設定 {

		//	240フレームマイクを装備したかを監視

		chara プロック連続実行 エマイベント音声再生２監視人 \

			 -t 240 \

			 -exec {

				//	マイクを装備したら音声再生

				if ($w:武器 == d:武器:マイク) {

					//	いったん音声を止めて

					if ($i:STREAM_ID != 0) {

						command 狙撃StreamStop $i:STREAM_ID

					}

					//	音声再生

					@エマイベント音声再生２

					@エマイベント音声監視設定



					//	マイクを装備したらプロック連続実行を殺す

					mesg プロック連続実行 エマイベント音声再生２監視人 kill

				}

			} \

			 -end_exec {

				//	マイクを装備していないまま240フレーム立てば

				if ($f:w32a_エマ音声フラグ == d:FALSE) {

					mesg エマ・エメリッヒ エマ 狙撃用復帰

				}

			}

	}



	//	イベント音声再生２

	proc エマイベント音声再生２ {

		//	詰め所Ｂ裏でジョニー登場

		eval ( $i:STREAM_ID = `%狙撃EmaStream t:vc120121 -p エマイベント音声再生２終了` )



		//	音声再生に成功したらフラグを立てる

		if ($i:STREAM_ID != 0) {

			eval($f:w32a_エマ音声フラグ = d:TRUE)

		}



		//	もし、音声再生に失敗したら

#if 0

		//	強制的に終了

		if ($i:STREAM_ID == 0) {

			chara delay エマ休憩詰め所Ｂディレイ \

				-t 240 \

				-p エマイベント音声終了

		}

#else

		//	リトライ

		chara delay エマ休憩詰め所Ｂディレイ \

			-t 1 \

			-e {

				if ($i:STREAM_ID == 0) {

					eval ( $i:STREAM_ID = `%狙撃EmaStream t:vc120121 -p エマイベント音声再生２終了` )

					return 1

				} else {

					return 0

				}

			}

#endif

	}



	//	イベント音声再生２終了

	proc エマイベント音声再生２終了 {

		//	正常終了したら

		if ($1 == 0) {

		#if d:DEBUG_PRINT

			print 'エマ音声イベントジョニー聞いた'

			eval($f:rfp_w32a_エマ音声イベントジョニー聞いた = 1)

		#endif

		}

		@エマイベント音声終了

	}







	//	イベント音声監視

	proc エマイベント音声監視設定 {

		chara プロック連続実行 エマイベント音声監視人 \

			-p エマイベント音声監視

	}

	proc エマイベント音声監視 {

		//	音声再生中マイクを外すと

		if ($w:武器 != d:武器:マイク) {

//			@エマイベント音声終了

			command 狙撃StreamStop $i:STREAM_ID

			mesg プロック連続実行 エマイベント音声監視人 kill

		}

	}







	//	イベント音声終了処理

	proc エマイベント音声終了 {

		@エマ通常音声終了

		mesg エマ・エメリッヒ エマ 狙撃用復帰

	}







//	浮き橋でのエマ音声

	proc エマ音声デモ設定 {

		if ($f:w32a_ヴァンプ登場フラグ == d:FALSE) {



			chara プロック連続実行 ボリューム監視人 \

				-p ボリューム監視



			chara プロック連続実行 エマ音声監視人 \

				-p エマ音声監視



//			@スネーク音声デモ設定		//	デバッグ用



			command セットマイクパラメータ \

				1 \			//$i:モード

				0 \			//$i:有効角度

				100000 \	//$i:内側計算最小距離

				250000 \	//$i:内側計算最大距離

				0x3F \		//$i:内側最小距離時音量

				0x3D \		//$i:内側最大距離時音量

				100 \		//$i:減衰最大角

				50000 \		//$i:外側計算最小距離

				100000 \	//$i:外側計算最大距離

				0x01 \		//$i:外側最小距離時音量

				0x00 \		//$i:外側最大距離時音量

				100			//$i:パン係数



			chara 台詞発生源君 台詞発生源 -n エマ スネーク

		}



	}

	proc ボリューム監視 {

		//	エマの座標を取得

		command ゲットエマ座標 \

			$i:エマＸ座標変数 $i:エマＹ座標変数 $i:エマＺ座標変数



		//	音声ボリュームチェックを行う

		command 指向性マイク音量パン \

			$i:エマＸ座標変数 $i:エマＹ座標変数 $i:エマＺ座標変数 \ 	//	取りたいマイクの位置を指定

			$i:w32a_エマ音量														//	取得する音量を指定する

//			$i:w32a_エマ音量 $i:w32a_エマパン										//	取得する音量とパンを指定する



		//	スネークの座標は58087,-35000,-87565



		//	音声ボリュームチェックを行う

		command 指向性マイク音量パン \

			58087,-35000,-87565	\										//	取りたいマイクの位置を指定

//			$i:w32a_スネーク音量 $i:w32a_スネークパン								//	取得する音量とパンを指定する

			$i:w32a_スネーク音量													//	取得する音量を指定する



	}



	proc エマ音声監視 {



		//	エマが浮き橋にいるとき

		if ($f:w32a_エマ上陸フラグ == d:FALSE) {



			//	エマの音量が勝っていたら

			if ($i:w32a_エマ音量 >= $i:w32a_スネーク音量) {

//			print '$i:w32a_エマ音量'$i:w32a_エマ音量 '$i:w32a_スネーク音量'$i:w32a_スネーク音量

				//	マイクを装備したら

				if ($w:武器 == d:武器:マイク) {

					if ($f:w32a_エマ音声フラグ == d:FALSE) {

						//	乱数振る

						command rand 8

						if ($i:w32a_エマ音声種類 != $status) {

							//	どれを鳴らしたかをとっておく

							eval ($i:w32a_エマ音声種類 = $status)



							if ($i:w32a_エマ音声種類  == 0) {

								@エマ通常音声再生１

							} else if ($i:w32a_エマ音声種類  == 1) {

								@エマ通常音声再生２

							} else if ($i:w32a_エマ音声種類  == 2) {

								@エマ通常音声再生３

							} else if ($i:w32a_エマ音声種類  == 3) {

								@エマ通常音声再生４

							} else if ($i:w32a_エマ音声種類  == 4) {

								@エマ通常音声再生５

							} else if ($i:w32a_エマ音声種類  == 5) {

								@エマ通常音声再生６

							} else if ($i:w32a_エマ音声種類  == 6) {

								@エマ通常音声再生７

							} else if ($i:w32a_エマ音声種類  == 7) {

								@エマ通常音声再生８

							}

							

							//	音声再生に成功したらフラグを立てる

							if ($i:STREAM_ID != 0) {

								eval ($f:w32a_エマ音声フラグ = d:TRUE)

							}



						}

					}

				//	マイクを外したら

				} else {

					if ($f:w32a_エマ音声フラグ == d:TRUE) {

//						@エマ通常音声終了

						command 狙撃StreamStop $i:STREAM_ID

					}

				}

			//	ボリューム負けしたら

			} else {

				if ($f:w32a_エマ音声フラグ == d:TRUE) {

//					@エマ通常音声終了

					command 狙撃StreamStop $i:STREAM_ID

				}

			}



		}

	}



	proc エマ通常音声再生１ {

		//エマ　　　「もういや……」

		eval ( $i:STREAM_ID = `%狙撃EmaStream t:vc120101 -p エマ通常音声終了` )

	}

	proc エマ通常音声再生２ {

		//エマ　　　「だめ……」

		eval ( $i:STREAM_ID = `%狙撃EmaStream t:vc120102 -p エマ通常音声終了` )

	}

	proc エマ通常音声再生３ {

		//エマ　　　「……どうして私がこんな目に……」

		eval ( $i:STREAM_ID = `%狙撃EmaStream t:vc120103 -p エマ通常音声終了` )

	}

	proc エマ通常音声再生４ {

		//エマ　　　「……疲れた……」

		eval ( $i:STREAM_ID = `%狙撃EmaStream t:vc120104 -p エマ通常音声終了` )

	}

	proc エマ通常音声再生５ {

		//エマ　　　「……全くなんでこんなことに……」

		eval ( $i:STREAM_ID = `%狙撃EmaStream t:vc120105 -p エマ通常音声終了` )

	}

	proc エマ通常音声再生６ {

		//エマ　　　「……こわい……」

		eval ( $i:STREAM_ID = `%狙撃EmaStream t:vc120106 -p エマ通常音声終了` )

	}

	proc エマ通常音声再生７ {

		//エマ　　　「……揺れる……もし落ちたら……」

		eval ( $i:STREAM_ID = `%狙撃EmaStream t:vc120107 -p エマ通常音声終了` )

	}

	proc エマ通常音声再生８ {

		//エマ　　　「……サイテー……」

		eval ( $i:STREAM_ID = `%狙撃EmaStream t:vc120108 -p エマ通常音声終了` )

	}



//	通常音声終了処理

	proc エマ通常音声終了 {

		#if d:DEBUG_PRINT

			print 'EMMA_VOICEEND'

		#endif

		chara delay エマ通常音声終了ディレイ \

			-t 180 \

			-e {

		#if d:DEBUG_PRINT

			print 'EMMA_VOICEEND2'

		#endif

				eval ($f:w32a_エマ音声フラグ = d:FALSE)

			}

	}





//	スネークの音声設定		スネーク到着プロックで呼ばれる

	proc スネーク音声デモ設定 {

		chara プロック連続実行 スネーク音声監視人 \

			-p スネーク音声監視



	}

	proc スネーク音声監視 {



		//	エマが浮き橋にいるとき	//	詰め所に上陸したときは鳴らさない

		if ($f:w32a_エマ上陸フラグ == d:FALSE) {



			//	スネークの音量が勝っていたら

			if ($i:w32a_エマ音量 < $i:w32a_スネーク音量) {

				//	マイクを装備したら

				if ($w:武器 == d:武器:マイク) {

					if ($f:w32a_スネーク音声フラグ == d:FALSE) {



						//	スネークが寝てる場合

						if (`command ＮＰＣスネークの状態` == 2) {

							//	なにもしない



						//	スネークがダメージ中の場合

						} else if (`command ＮＰＣスネークの状態` == 3) {

							//	なにもしない



						//	スネークが気絶中の場合

						} else if (`command ＮＰＣスネークの状態` == 4) {

							//	なにもしない



						//	ライデンにライデンに反撃中

						} else if (`command ＮＰＣスネークの状態` == 5) {

							//	乱数振る

							command rand 4

							if ($i:w32a_スネーク音声種類 != $status) {

								//	どれを鳴らしたかをとっておく

								eval ($i:w32a_スネーク音声種類 = $status)



								if ($i:w32a_スネーク音声種類 == 0) {

									@スネーク特殊音声再生１

								} else if ($i:w32a_スネーク音声種類 == 1) {

									@スネーク特殊音声再生２

								} else if ($i:w32a_スネーク音声種類 == 2) {

									@スネーク特殊音声再生３

								} else if ($i:w32a_スネーク音声種類 == 3) {

									@スネーク特殊音声再生４

								}



								//	音声再生に成功したらフラグを立てる

								if ($i:STREAM_ID != 0) {

									eval ($f:w32a_スネーク音声フラグ = d:TRUE)

								}

							}



						//	スネークの状態がそれ以外の場合

						} else {



							//	通常時（エマが敵に見つかっていない場合）

							if ($f:w32a_危険ＢＧＭフラグ == d:FALSE) {

								//	乱数振る

								command rand 5

								if ($i:w32a_スネーク音声種類 != $status) {

									//	どれを鳴らしたかをとっておく

									eval ($i:w32a_スネーク音声種類 = $status)



									if ($i:w32a_スネーク音声種類 == 0) {

										@スネーク通常音声再生１

									} else if ($i:w32a_スネーク音声種類 == 1) {

										@スネーク通常音声再生２

									} else if ($i:w32a_スネーク音声種類 == 2) {

										@スネーク通常音声再生３

									} else if ($i:w32a_スネーク音声種類 == 3) {

										@スネーク通常音声再生４

									} else if ($i:w32a_スネーク音声種類 == 4) {

										@スネーク通常音声再生５

									}



									//	音声再生に成功したらフラグを立てる

									if ($i:STREAM_ID != 0) {

										eval ($f:w32a_スネーク音声フラグ = d:TRUE)

									}

								}



							//	危険時（エマが攻撃を受けている場合）

							} else {

								//	乱数振る

								command rand 3

								if ($i:w32a_スネーク音声種類 != $status) {

									//	どれを鳴らしたかをとっておく

									eval ($i:w32a_スネーク音声種類 = $status)



									if ($i:w32a_スネーク音声種類 == 0) {

										@スネーク危険音声再生１

									} else if ($i:w32a_スネーク音声種類 == 1) {

										@スネーク危険音声再生２

									} else if ($i:w32a_スネーク音声種類 == 2) {

										@スネーク危険音声再生３

									}



									//	音声再生に成功したらフラグを立てる

									if ($i:STREAM_ID != 0) {

										eval ($f:w32a_スネーク音声フラグ = d:TRUE)

									}

								}

							}



						}



					}

				//	マイクを外したら

				} else {

					if ($f:w32a_スネーク音声フラグ == d:TRUE) {

//						@スネーク通常音声終了

						command 狙撃StreamStop $i:STREAM_ID

					}

				}

			//	ボリューム負けしたら

			} else {

				if ($f:w32a_スネーク音声フラグ == d:TRUE) {

//					@スネーク通常音声終了

					command 狙撃StreamStop $i:STREAM_ID

				}

			}



		}

	}





//	特殊音声再生

	proc スネーク特殊音声再生１ {

		//	スネーク　「何を考えてるんだ」

		eval ( $i:STREAM_ID = `%狙撃SnaStream t:vc122201 -p スネーク特殊音声終了` )

	

	}

	proc スネーク特殊音声再生２ {

		//	スネーク　「どこを狙ってる」



		eval ( $i:STREAM_ID = `%狙撃SnaStream t:vc122202 -p スネーク特殊音声終了` )

	

	}

	proc スネーク特殊音声再生３ {

		//	スネーク　「ふざけるな」

		eval ( $i:STREAM_ID = `%狙撃SnaStream t:vc122203 -p スネーク特殊音声終了` )

	

	}

	proc スネーク特殊音声再生４ {

		//	スネーク　「いい加減にしろ」

		eval ( $i:STREAM_ID = `%狙撃SnaStream t:vc122204 -p スネーク特殊音声終了` )

	

	}



//	通常音声終了処理

	proc スネーク特殊音声終了 {

		@スネーク通常音声終了

	}







//	通常音声再生



	//	通常時

	proc スネーク通常音声再生１ {

		//	スネーク　「（エマを見ながら）うむ……悪くない……」

		#if d:DEBUG_PRINT

			print'VOICE1'

		#endif

		eval ( $i:STREAM_ID = `%狙撃SnaStream t:vc122205 -p スネーク通常音声終了` )

	}

	proc スネーク通常音声再生２ {

		#if d:DEBUG_PRINT

			print'VOICE2'

		#endif

		//	スネーク　「食事に誘うにはオタコンの許可がいるかな……」

		eval ( $i:STREAM_ID = `%狙撃SnaStream t:vc122206 -p スネーク通常音声終了` )

	}

	proc スネーク通常音声再生３ {

		#if d:DEBUG_PRINT

			print'VOICE3'

		#endif

		//	スネーク　「ふぅ……」

		eval ( $i:STREAM_ID = `%狙撃SnaStream t:vc122210 -p スネーク通常音声終了` )

	}

	proc スネーク通常音声再生４ {

		#if d:DEBUG_PRINT

			print'VOICE4'

		#endif

		//	スネーク　「いいぞ……」

		eval ( $i:STREAM_ID = `%狙撃SnaStream t:vc122211 -p スネーク通常音声終了` )

	}



	proc スネーク通常音声再生５ {

		#if d:DEBUG_PRINT

			print'VOICE5'

		#endif

		//	スネーク　「もう少しだ……」

		eval ( $i:STREAM_ID = `%狙撃SnaStream t:vc122212 -p スネーク通常音声終了` )

	}



	//	危険時に変更

	proc スネーク危険音声再生１ {

		//	スネーク　「大丈夫か……！」

		#if d:DEBUG_PRINT

			print'VOICE1K'

		#endif

		eval ( $i:STREAM_ID = `%狙撃SnaStream t:vc122207 -p スネーク通常音声終了` )

	}



	proc スネーク危険音声再生２ {

		#if d:DEBUG_PRINT

			print'VOICE2K'

		#endif

		//	スネーク　「あいつ（ライデン）何してる……！」

		eval ( $i:STREAM_ID = `%狙撃SnaStream t:vc122208 -p スネーク通常音声終了` )

	}



	//	危険時

	proc スネーク危険音声再生３ {

		#if d:DEBUG_PRINT

			print'VOICE3K'

		#endif

		//	スネーク　「危ない……！」

		eval ( $i:STREAM_ID = `%狙撃SnaStream t:vc122209 -p スネーク通常音声終了` )

	}





//	通常音声終了処理

	proc スネーク通常音声終了 {

		chara delay スネーク通常音声終了ディレイ \

			-t 180 \

			-e {

				#if d:DEBUG_PRINT

					print'VOICEEND'

				#endif

				eval ($f:w32a_スネーク音声フラグ = d:FALSE)

			}

	}





	proc シナリオデモ設定 {

		if ($w:p_story <= d:ST:P065_06_R02Ｌ脚エマ６無線機デモ２終了) {

			@シナリオデモ開始処理



#if 0

			chara カメラ設定 シナリオカメラ \

				-c 1 \

				-p 55229,-35865,-200954 -t 51846,-36924,-205650 \

				-a 200 \

				-i 0 1 0 0 \

				-s 1

#else

			chara カメラ設定 シナリオカメラ \

				-c 1 \

				-p 62028,-34202,-198259 -t 56871,-38586,-204445 \

				-a 200 \

				-i 0 1 0 0 \

				-s 1

#endif

			//	梯子降りモーション再生

			mesg プレイヤー d:PLAYER motion \

				d:モーションリスト:rai_ladder \

				2048 \

				-1 \

				0 \

				( d:FA_NO_CHECK_SEG | d:FA_NO_CHECK_FLR | d:FA_NO_INTERP) \

				52200 -205250



/*

			command	強制モーション終了プロック \

				-motion d:モーションリスト:rai_ladder \

				-proc 梯子降り終了処理

*/

			chara delay 監視カメラディレイ \

				-t 300 \

				-e {

					chara カメラ設定 シナリオカメラ \

						-s -1

					@シナリオデモ終了処理

					command メニュー設定 -radio on -pause on

					@レーダーオフ設定

					eval ($f:デモ再生フラグ = 0)

				}

		}

	}



	proc 梯子降り終了処理 {

		chara カメラ設定 シナリオカメラ \

			-c 1 \

			-p 62028,-34202,-198259 -t 56871,-38586,-204445 \

			-a 200 \

			-i 0 1 0 0 \

			-s 1

	}



//###################################################################################

//									ストーリーフラグ

//###################################################################################







//###################################################################################

//									特殊ゲームオーバー

//###################################################################################



//	エマが死んだ場合



	proc エマゲームオーバーカメラカウント {

		//	エマの死亡場所によってゲームカメラを変える

		eval( $b:w32a_エマゲームオーバーカメラカウント =  $b:w32a_エマゲームオーバーカメラカウント + 1)

	}



	proc エマゲームオーバー {

/*

//	必要なし

		if(`command ゲームオーバーチェック` == 1) {

			return

		}

*/

	#if d:DEBUG_PRINT 

	print 'EMA_GAMEOVER_EMA_GAMEOVER_EMA_GAMEOVER_EMA_GAMEOVER_EMA_GAMEOVER_EMA_GAMEOVER_'

	#endif



		//	エマゲームオーバー呼び分け

		eval($f:pgo_エマ死亡 = 1)



	//	特殊装備を解除する

		@特殊装備解除

		//	ニキータ、サーマル、ナイトビジョンも外す

		if ($w:武器 == d:武器:ニキータ) {

			eval($w:武器 = d:武器:素手)

		}

		if ( ($w:アイテム == d:アイテム:暗視ゴーグル) || \

			($w:アイテム == d:アイテム:サーマルゴーグル) ){

	#if d:DEBUG_PRINT 

	print 'KAIJO_KAIJO_KAIJO_KAIJO_KAIJO_KAIJO_KAIJO_KAIJO_KAIJO_KAIJO_KAIJO_KAIJO_KAIJO_KAIJO_KAIJO'

	#endif

			eval($w:アイテム = d:アイテム:素手)

		}



	//	eval($w:武器 = d:武器:素手);

	//	eval($w:アイテム = d:アイテム:素手);







		//	エマの座標をゲット

		command ゲットエマ座標 $i:エマＸ座標変数 $i:エマＹ座標変数 $i:エマＺ座標変数



	#if d:DEBUG_PRINT 

	print 'EMA_X '$i:エマＸ座標変数

	print 'EMA_Y '$i:エマＹ座標変数

	print 'EMA_Z '$i:エマＺ座標変数

	#endif



		//	シネマスクリーン起動

	//	mesg シネマスクリーン シネマ フェードアウト 1



		//	ゲームオーバーカメラ発動



		//	念のためサイトを消す

		command サイト表示制御 \

			-switch off



		//	ヴァンプ登場まで

		if ( $f:w32a_ヴァンプ登場フラグ == d:FALSE) {

			if ($b:w32a_エマゲームオーバーカメラカウント == 0) {

				chara カメラ設定 ゲームオーバーカメラ \

					-c 1\	

					-p $i:エマＸ座標変数,-35500,($i:エマＺ座標変数-10000) \

					-t $i:エマＸ座標変数,-38500,$i:エマＺ座標変数 \

					-a 200 \

					-i 0 -1 0 0 \

					-d 1 \

					-s 1

			} else if ($b:w32a_エマゲームオーバーカメラカウント == 1) {

				chara カメラ設定 ゲームオーバーカメラ \

					-c 1\	

					-p ($i:エマＸ座標変数+10000),-35500 ,($i:エマＺ座標変数-5000) \

					-t $i:エマＸ座標変数,-38500,$i:エマＺ座標変数 \

					-a 200 \

					-i 0 -1 0 0 \

					-d 1 \

					-s 1

			} else if ($b:w32a_エマゲームオーバーカメラカウント == 2) {

				chara カメラ設定 ゲームオーバーカメラ \

					-c 1\	

					-p ($i:エマＸ座標変数+7000),-35500,($i:エマＺ座標変数+5000) \

					-t $i:エマＸ座標変数,-38500,$i:エマＺ座標変数 \

					-a 200 \

					-i 0 -1 0 0 \

					-d 1 \

					-s 1

			}

		//	ヴァンプ登場後

		} else	if ( $f:w32a_ヴァンプ登場フラグ == d:TRUE) {

	#if d:DEBUG_PRINT 

	print 'VAMP_GAME_OVER'

	#endif



			chara カメラ設定 ゲームオーバーカメラ \

				-c 1\	

				-p ($i:エマＸ座標変数-1000),-37800,($i:エマＺ座標変数-5000) \

				-t $i:エマＸ座標変数,-38500,$i:エマＺ座標変数 \

				-a 200 \

				-i 0 -1 0 0 \

				-d 1 \

				-s 1

		}

	}





//###################################################################################

//								ＮＰＣ設定

//###################################################################################



	proc エマ設定 {

		#if d:DEBUG_PRINT 

			print 'emma_set'

		#endif



		chara エマ・エメリッヒ エマ \

/*

			-pos	56500, -37000, -207000 \

	        -route  0 2 \



			-pos	57500, -38500, -207000 \

	        -route  0 3 \



*/



#if 1

			-pos	56500, -38500, -207000 \

	        -route  0 2 \



#else

			-pos	74000, -39500, -102500 \					//	ヴァンプ登場直前デバッグ用

	        -route  0 29 \

#endif

			-dir	0 \

			-speed  $i:w32a_エマスピード \

			-damage  5 10 \		//	前が銃、後は爆発物

			-vitality $i:エマライフ最大値 $i:エマライフ現在値  \

			-proc   エマゲームオーバー				\	//	0	//	ゲームオーバー用



					クレイモア無線					\	//	1

		    	    敵起動詰め所Ａ					\	//	2



		    	    ガンサイファー起動詰め所Ａ		\	//	3

					浮き橋１ＯＦＦ					\	//	4

		    	    ガンサイファー起動詰め所Ａ裏側	\	//	5

					浮き橋２ＯＮ					\	//	6



		    	    ガンサイファー起動浮き橋２		\	//	7

		    	    敵起動詰め所Ｂ					\	//	8



					ガンサイファー起動詰め所Ｂ		\	//	9

					浮き橋２ＯＦＦ					\	//	10

					ガンサイファー起動詰め所Ｂ裏側	\	//	11

					浮き橋３ＯＮ					\	//	12



		    	    ガンサイファー起動浮き橋３		\	//	13

		    	    ヴァンプ登場					\	//	14

					

					絶対防衛ライン浮き橋１			\	//	15

					絶対防衛ライン浮き橋２			\	//	16



					敵攻撃開始						\	//	17		ＢＧＭ切替え用

					敵攻撃終了						\	//	18		ＢＧＭ切替え用



			-flag   d:emma_t:EMA_F_EVENT_SNIPE \

			-voice [emma_voice:vox_list] \

			-no_idcard



		//	初めて登場して浮き橋１に降りるまでは無敵

		if ($f:w32a_ヴァンプ登場フラグ == d:FALSE) {

			mesg エマ・エメリッヒ エマ 無敵開始

		}



		//	ハード・エクストリームはエマの回復禁止

		if ($w:ゲーム設定 >= d:LEVEL_HARD) {

			mesg エマ・エメリッヒ エマ 回復不可能

		}



//	デバッグ用

//		chara プロック連続実行 エマ無敵連続実行   -p エマ無敵\





	}







	//	スネーク死亡

	proc スネーク死亡 {

		eval($f:pgo_ＮＰＣスネーク死亡 = 1)

	}



	proc スネーク設定 {

		#if d:DEBUG_PRINT 

			print 'snake_set'

		#endif

		if ( $f:w32a_ヴァンプ登場フラグ == d:FALSE) {

			chara ＮＰＣスネーク スネーク \

//				-m sna_def \

				-m iro_def_mt \

				-a npc_snake \

				-c npc_snake_cap \

				-d npc_snake_drag \

				-x 58087,-35000,-87565 \

				-r 0,1536,0 \

				-t 6 \

				-l $i:w32a_スネークレベル \

				-i $i:w32a_スネーク狙撃開始時間 $i:w32a_スネーク狙撃間時間 \

				-u ドッグタグ_敵兵 \											//	念のため

				[dogtag:plt_w43a_snake_ve] [dogtag:plt_w43a_snake_ea] [dogtag:plt_w43a_snake_no] \

				[dogtag:plt_w43a_snake_ha] [dogtag:plt_w43a_snake_vh] \

				-b 49000 -40000 -97000 71000 0 -84000 \				//	真上は撃たない

				-g スネーク死亡										//	死ぬことはないが念のため



		//	デバッグ用

//			mesg ＮＰＣスネーク スネーク ステージ切替え 5



		} else if ( $f:w32a_ヴァンプ登場フラグ == d:TRUE) {

			chara ＮＰＣスネーク スネーク \

//				-m sna_def \

				-m iro_def_mt \

				-a npc_snake \

				-c npc_snake_cap \

				-d npc_snake_drag \

				-x 58087,-35000,-87565 \

				-r 0,1536,0 \

				-t 5 \

				-l $i:w32a_スネークレベル \

				-i $i:w32a_スネーク狙撃開始時間 $i:w32a_スネーク狙撃間時間 \

				-u ドッグタグ_敵兵 \											//	念のため

				[dogtag:plt_w43a_snake_ve] [dogtag:plt_w43a_snake_ea] [dogtag:plt_w43a_snake_no] \

				[dogtag:plt_w43a_snake_ha] [dogtag:plt_w43a_snake_vh] \

				-b 49000 -40000 -97000 71000 0 -84000 \				//	真上は撃たない

				-g スネーク死亡										//	死ぬことはないが念のため



		}



		//	デバッグ用

		#if 0

			chara デバッグパッドプロック 狙撃依頼通知 \

				-proc 仕事だ \

				-key d:PAD_A \

				-cont 1

		#endif



		// 欧州、韓国はＳＥ字幕が入る

		#ifdef d:EU || d:KOREA

			#ifdef d:EU

			// 欧州版では言語選択があるためにこのコマンドを使う(:01とかで定義プロックを変えられる)

				command 字幕言語設定

			#endif

			@ＮＰＣスネーク音声ＳＥリソース設定

		#endif

	}



	//	スネークを表示させる

	proc スネーク到着カウント { 

		#if d:DEBUG_PRINT 

			print 'SNAKE_totyaku '

		#endif



		//	到着カウントを増やす

		eval($b:w32a_スネーク到着カウント = $b:w32a_スネーク到着カウント + 1 )

	

		if ( ($w:ゲーム設定 == d:LEVEL_EASY) || ( $w:ゲーム設定 == d:LEVEL_VERYEASY) ) {

			if ($b:w32a_スネーク到着カウント == 1) {

				@スネーク到着完了

			}



		} else if ( $w:ゲーム設定 == d:LEVEL_NORMAL ) {

			if ($b:w32a_スネーク到着カウント == 2) {

				@スネーク到着完了

			}



		} else if ( ($w:ゲーム設定 == d:LEVEL_HARD) || ($w:ゲーム設定 >= d:LEVEL_EXTREME) ) {

			if ($b:w32a_スネーク到着カウント == 3) {

				@スネーク到着完了

			}

		}

	

	}



	proc スネーク到着完了	{

		//	無線を呼ぶ

		//	もしストリームが鳴っていれば止める

		if ($i:STREAM_ID != 0) {

//			@エマ通常音声終了

//			@スネーク通常音声終了

			command 狙撃StreamStop $i:STREAM_ID

			chara delay 到着無線ディレイ \

				-t 1 \

				-p rt_P067_01_R01エマ狙撃１無線機デモ１

		} else {

			@rt_P067_01_R01エマ狙撃１無線機デモ１

		}



	}



	//	無線の終了関数内で呼ばれる

	proc スネーク到着無線終了 {

		#if d:DEBUG_PRINT

			print 'MUSEN_END'

		#endif

		//	もし、エマの音声フラグが立っていたら初期化

		if ($f:w32a_エマ音声フラグ == d:TRUE) {

		#if d:DEBUG_PRINT

			print 'EMMA_VOICECHECK'

		#endif

			eval ($f:w32a_エマ音声フラグ = d:FALSE)

		}



		//	もし、スネークの音声フラグが立っていたら初期化

		if ($f:w32a_スネーク音声フラグ == d:TRUE) {

		#if d:DEBUG_PRINT

			print 'SNA_VOICECHECK'

		#endif

			eval ($f:w32a_スネーク音声フラグ = d:FALSE)

		}



		//	スネークに依頼したかを監視する

		@スネーク依頼監視設定



		//	スネーク音声デモ設定を呼ぶ

		@スネーク音声デモ設定



		//	スネークを狙撃スタンバイへ切替える

		if(`@rp_w32_スネークがみえちっています`){

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

				-i 0,0,0 128 \

				-c 0,0,0 0 \

				-t (d:FADEOUT_TIME/2)

		}



		command ＮＰＣスネークステージ切替え 5

	

	}



	proc スネーク依頼監視設定 {

		chara プロック連続実行 スネーク依頼監視人 \

			-p スネーク依頼監視

	}



	proc スネーク依頼監視 {

		if ($f:w32a_お願いスネークフラグ == d:TRUE) {

			if ($f:w32a_サイファー追加フラグ == d:FALSE) {

				eval ($f:w32a_サイファー追加フラグ = d:TRUE)



				//	イージー以下のときは依頼すると増援が来る（ノーマル以上は関係なくくる）

				if ($w:ゲーム設定 <= d:LEVEL_EASY) {

					//	サイファー追加

					mesg 狙撃サイファ ガンサイファー:08 スタート

					mesg 狙撃サイファ ガンサイファー:08 ルート変更 31 0		//	Ｅ脚→浮き橋３

				}

				//	ノーマル以下のときは依頼すると増援が来る（ハード以上は関係なくくる）

				if ($w:ゲーム設定 <= d:LEVEL_NORMAL) {

					mesg 狙撃サイファ ガンサイファー:13 スタート

					mesg 狙撃サイファ ガンサイファー:13 ルート変更 40 0		//Ｌ脚→浮き橋３→浮き橋２

				}



				//	連続実行を殺す

				mesg プロック連続実行 スネーク依頼監視人 kill

			}

		}

	}



//###################################################################################

//								その他設定

//###################################################################################



	proc レーダーオフ設定 {

		command メニュー設定 -radar off

	}





	proc ニキータ移動範囲設定 {

		command ミサイル移動範囲設定 \

			49500 -40000 -209500 58500 0 -204000

		

	}



	proc かもめ管理設定 {

		//	ヴァンプ登場まで

		if ( $f:w32a_ヴァンプ登場フラグ == d:FALSE) {

			@かもめ設定

		}

	}













// FIXデータはここまで

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





//	デバッグ用

proc エマ無敵 {

	mesg エマ・エメリッヒ エマ 無敵開始



}



//	デバッグ用

proc 仕事だ {

	#if d:DEBUG_PRINT

		print 'SNAKE_WORK'

	# endif



# if 0

		//	ヴァンプ登場まで

		if ( $f:w32a_ヴァンプ登場フラグ == d:FALSE) {

			mesg ＮＰＣスネーク スネーク 狙撃依頼

		}

# else

		//	もしかしたらヴァンプ戦もＯＫかも

		mesg ＮＰＣスネーク スネーク 狙撃依頼

# endif



}











//###################################################################################

//									ゲームオーバー

//###################################################################################



	proc ゲームオーバー設定 {

		command システムコールバック \

			-continue コンティニュー設定

	}



	proc コンティニュー設定 {

		//	stdch.h内に記述されている

		@コンティニュー処理

		//	エクストリームの場合

		if ($w:ゲーム設定 >= d:LEVEL_EXTREME) {

			//	ヴァンプ戦中にエマが死んだ場合は

			if ($f:w32a_ヴァンプ登場フラグ == d:TRUE ) {

				//	ヴァンプ戦に突入したときのエマのライフが半分以下

				if ( $i:エマライフ現在値 <= ($i:エマライフ最大値/2) ) {

					eval ($i:エマライフ現在値 = $i:エマライフ最大値)

				}

			}

		}

	}











// 以下仮キャラ用proc

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

// 仮キャラ

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

proc 水面セット {

	#if d:DEBUG_PRINT

		print 'water_set'

	#endif



	chara 頂点アニメブラー 仮水面 \

		-model w11a_sea \

		-base 10 \

		-width 1 \

		-flag 5 \

		-pos 0,0,0

}









































// 以下デバッグ専用proc

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

// デバッグキャラ

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

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

	#if d:DEBUG_PRINT

		print 'debug_chara_set'

	#endif



	#if d:CHARA_CAMERA

		chara キャラカメラ 敵兵カメラ \

			-c d:TARGET_CHARA \

			-s -920,610,200 \

			-r -200,1024,0 

	#endif



	#if d:SCREENSHOT

		chara スクリーンショット shot

	#endif



	#if d:USB_KEY

		chara USBキーボード実行 test \

			-e d:KBD_ESC {	

				mesg プレイヤー d:PLAYER position -5500, -13000, -500

			} \

	#endif

}



	// 子画面設定 

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

	proc 子画面設定 {

		#if d:DEBUG_PRINT

			print 'sub_camera_set'

		#endif



		chara サブ画面 子画面 \

			-w (512-d:SUB_MARGIN-d:SUB_WIDTH),d:SUB_MARGIN (512-d:SUB_MARGIN),(d:SUB_HEIGHT+d:SUB_MARGIN)

	}

