/*

	a01b_photo.h

		居住区２階（写真撮影ミッション用）

	2002/05/20 S.Kaneyoshi

	$Id: a01b_photo.h,v 1.33 2002/08/29 05:57:57 usr04249 Exp $

*/



#define MISSION_PHOTO	1	// 写真撮影用プロック起動用



#include "dcam_alt.h"



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

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

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

	proc 写真撮影ミッション用マップ定義前設定 {

		command セットＶＲステータス d:VR_PHOTOGRAPH

		@全ミッション共通システム設定 d:VR_GOAL_FREE

		@写真撮影ミッション２面ＶＲウィンドウ設定

		command セットルートオフセット d:SCN:写真撮影

		@ＶＲクリア設定 p:load_alt_photo_a01f p:A_ＲＥＴＲＹプロック

	}



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

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

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

	proc 写真撮影ミッション用マップ定義後設定 {



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

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

			// 写真撮影はいらないはず

			@各ミッション用ゴール表示 22000 3000 -19000



			@写真撮影ミッション用変数初期化

			@写真撮影ミッション用サウンド設定

			@写真撮影ミッション用変数設定

			@写真撮影ミッション用コマンダー設定

			@写真撮影ミッション用水溜まりセット

			@写真撮影ミッション用ＢＧＭ設定			// プレイヤー→敵兵→BGMの順で呼ぶ



			@階段登れない透明壁と監視カメラ設置

		}



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

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

			//@写真撮影ミッションアイテム設置

			@写真撮影プロック

		}

	}



	proc 写真撮影ミッション用変数初期化 {

		$$i:Ｘ画面位置 = 0;

		$$i:Ｙ画面位置 = 0;

		$$i:画面占有率 = 0;

		$$b:撮影成功フラグ = 0;



		$$f:一人目チェック = 0;

		$$f:二人目チェック = 0;



		$b:死んだ人数 = 0;

	}



	proc 写真撮影ミッション用サウンド設定 {

		#if d:DEBUG_PRINT

			print 'sound_set-bomb_misson'

		#endif



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

		@サウンド効果音設定

	}



	proc 写真撮影ミッション用ＢＧＭ設定 {

		#if d:DEBUG_PRINT

			print 'bgm_set-bomb_misson'

		#endif

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

	}



	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] = d:DOOR_FLAG_ENEMY_ONLY;		// 右舷リフレッシュ

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

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

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



		// 初期装備の設定

		$w:武器弾数Ｒ[d:武器:雑誌] = 20;

		$w:アイテム数Ｒ[ d:アイテム:デジカメ ] = 1;



		command シナリオ前装備変更 -number d:アイテム:デジカメ



		$w:アイテム = d:アイテム:素手

		$w:武器 = d:武器:雑誌;

	}



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

// ＶＲウィンドウの設定と表示

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

proc 写真撮影ミッション２面ＶＲウィンドウ設定 {

	#if d:DEBUG_PRINT

		print 'vr_window_set'

	#endif



	//proc 写真撮影用ＶＲウィンドウ設定 $:リソース日 $:リソース英 $:リソース独 $:リソース仏 $:リソース伊 $:リソース西 $:リソース韓 $:終了時プロック $:tri名 $:テクスチャ名 {

	@写真撮影用ＶＲウィンドウ設定 \

				[VRMSG_J:ALT_PHT_a01b_RAI] [VRMSG_E:ALT_PHT_a01b_RAI] \	// 日、英

				[VRMSG_G:ALT_PHT_a01b_RAI] [VRMSG_F:ALT_PHT_a01b_RAI] \	// 独、仏

				[VRMSG_I:ALT_PHT_a01b_RAI] [VRMSG_S:ALT_PHT_a01b_RAI] \	// 伊、西

				[VRMSG_K:ALT_PHT_a01b_RAI] \							// 韓

				p:写真撮影ミッション２面ステージ開始時処理 \			// 終了プロック

				photo_odai odai_erobook



	// ＶＲウィンドウを表示する

	mesg ＶＲウィンドウ ＶＲウィンドウ君 開く



/*

	// スタート時とクリア時に使用するカットインカメラ

	chara カメラ カットインカメラ		-c 0 -l 0 -p  0



	// スタート時のカメラ(必要な場合)

	chara カメラ設定 カットインカメラ \

		-c 1 \

		-p 43,8528,-1398 -t -43,5745,-5427 \

		-r 394,2062,0 -f 4897 \

		-a 200 \

		-i 0 -1 0 0 \

		-s 1

*/

}







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

// ステージ開始時処理

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

proc 写真撮影ミッション２面ステージ開始時処理 {

	#if d:DEBUG_PRINT

		print 'game_start!!!!!'

	#endif



	// プレイヤーやパッドの制御等を行う a_stdproc.hで定義

	@全ミッション共通ステージ開始時処理



/*

	// カメラワークスタート(必要な場合)

	// 全体図

	chara カメラ設定 カットインカメラ \

		-c 1 \

		-p -90,17878,2163 -t -90,12036,-1689 \

		-r 644,2048,0 -f 6997 \

		-a 200 \

		-i 4 4 d:START_CAMERA_CHANGE_TIME d:START_CAMERA_CHANGE_TIME \

		-s 1



	chara delay ディレイ \

		-time d:START_CAMERA_CHANGE_TIME \

		-exec {

			chara カメラ設定 カットインカメラ -s -1

		}

*/

}



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

// クリア時に呼ばれるプロック

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

proc 写真撮影ミッション用クリア時処理 {

	#if d:DEBUG_PRINT

		print 'game clear'

	#endif

	@全ミッション共通クリアモーション発動 d:モーションリスト:non_mclr_1 0

/*

	chara カメラ設定 カットインカメラ \

		-c 1 \

		-p -2209,-13877,-60193 -t -2480,-14860,-57681 \

		-r 242,4026,0 -f 2711 \

		-a 200 \

		-i 2 2 0 0 \

		-s 1

*/

}



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

// 敵兵の設定

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

#define	ENE_DEF_X_1		-2750

#define	ENE_DEF_Y_1		 3000

#define	ENE_DEF_Z_1		-18750



#define	ENE_DEF_X_2		-10000

#define	ENE_DEF_Y_2		3000

#define	ENE_DEF_Z_2		-10000



#define ENE_DEF_X_3		5000

#define ENE_DEF_Y_3		3000

#define ENE_DEF_Z_3		5000



	proc 写真撮影ミッション用警備兵セット {

		#if d:DEBUG_PRINT

			print 'watcher_set-bomb_misson'

		#endif



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

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



		@A_死亡判定付き警備兵 敵兵:01 \

			1 \		// ルート

			0 \		// ノード

			d:ENE_STATUS_NORMAL \

			d:ENE_DEF_X_1 d:ENE_DEF_Y_1 d:ENE_DEF_Z_1 \

			２Ｆ廻廊部 \

			p:僕死にました



		@A_死亡判定付き警備兵 敵兵:02 \

			2 \		// ルート

			0 \		// ノード

			d:ENE_STATUS_NORMAL \

			d:ENE_DEF_X_2 d:ENE_DEF_Y_2 d:ENE_DEF_Z_2 \

			２Ｆ廻廊部 \

			p:僕死にました



		/*

		@A_警備兵 敵兵:03 \

			3 \		// ルート

			0 \		// ノード

			d:ENE_STATUS_NORMAL \

			d:ENE_DEF_X_3 d:ENE_DEF_Y_3 d:ENE_DEF_Z_3 \

			２Ｆ廻廊部

		*/



	}



	proc 僕死にました {

		print '僕、死んじゃいました'

		$b:死んだ人数 = $b:死んだ人数 + 1;



		if( $b:死んだ人数 == 2 ) {

			@ミッション共通ゲームオーバー処理

		}

	}



	proc 写真撮影ミッション用攻撃兵セット {

		#if d:DEBUG_PRINT

			print 'attacker_set-bomb_misson'

		#endif



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

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



		@A_攻撃兵 敵兵:61 \

			0 \

			//d:ENE_STATUS_NORMAL \

			d:ENE_STATUS_TRAPSHADOW \

			d:ENE_EQUIP_TYPE_NORMAL



		@A_攻撃兵 敵兵:62 \

			1 \

			//d:ENE_STATUS_NORMAL \

			d:ENE_STATUS_TRAPSHADOW \

			d:ENE_EQUIP_TYPE_NORMAL

	}



	proc 写真撮影ミッション用警備兵コマンダー {

		#if d:DEBUG_PRINT

			print 'wccomm_set-bomb_misson'

		#endif



		chara 警備コマンダー wccomm \

			-e { 写真撮影ミッション用警備兵セット }

	}



	proc 写真撮影ミッション用攻撃兵コマンダー {

		#if d:DEBUG_PRINT

			print 'atcomm_set-bomb_misson'

		#endif



		chara 攻撃コマンダー atcomm \

			-status 	d:AT_COM_WARP \

			-wait		180 \

			-avoidwait	300 \

			-e { 写真撮影ミッション用攻撃兵セット }

	}



	proc 写真撮影ミッション用コマンダー設定 {

		#if d:DEBUG_PRINT

			print 'commander_set-bomb_misson'

		#endif



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

			-w 写真撮影ミッション用警備兵コマンダー \

//			-a 写真撮影ミッション用攻撃兵コマンダー \

			-s (d:ENE_STAGE_VR_ANOTHER) \

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

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

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

			//-x [ghq_area_alert_voice:w01b] \

			//-y [ghq_caution_voice:w01b] \

			-v [ene_tank_voice:03] \

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

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

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

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

	}

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

// 水溜まりセット

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

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

	proc 写真撮影ミッション用水溜まりセット {

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

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

			-obj	d:PLAYER \

					敵兵:01 \

					敵兵:02 \

					敵兵:61 \

					敵兵:62

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

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

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

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

		}

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

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

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

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

		}



		trap puddle ？ \

			-mask ？ \

			-exec {

				if($3 == 入る){

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

				}else{

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

				}

			}

	}



	proc 階段登れない透明壁と監視カメラ設置 {

		chara 透明壁 $$s:進入禁止壁 \

			-position	-11750 3000 -11000 3000 \

						-10750 3000 -11000 3000 \

			-attribute	( d:HZX_SEG_ATR_ALL & ~(d:HZX_SEG_NO_PLAYER ))



		/*

		chara 監視カメラ 監視カメラ左 \

			-pos -11750 5000 -11250 \

			-rot 1000 1024 0 \ 		// ＸＹ値のみ有効

			-center 256 0 \

			-dir 0 \

			-xran 300 \ 			// 省略可

			-yran 300  			// 省略可

		*/

	}

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

// アイテム関連

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



	proc 写真撮影ミッション用アイテム取得時番号設定 $:ボックス名 {

		#if d:DEBUG_PRINT

			print 'item_no_set'

		#endif



/*

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

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

		} else if ($:ボックス名 == 弾薬ＵＳＰ:01) {

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

		} else if ($:ボックス名 == ＵＳＰ本体) {

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

		} else if ($:ボックス名 == 弾薬ＵＳＰ:02) {

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

		}

*/

		#if d:DEBUG_PRINT

			print $:ボックス名

			print $w:グローバルロード回数

		#endif

	}



	proc 写真撮影ミッションアイテム設置 {

	}



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

// 写真撮影用プロック

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



	// エロ本

	proc 写真撮影プロック {

		command カメラ撮影時プロック -proc 撮影チェック



		command カメラチェックキャラワーク確保

		command 敵兵カメラチェック初期化



		chara 敵兵カメラチェックポーズ登録 敵メラチェ \

				-chance d:CPE_ERO_GECHU \

				-far 1 \

				-proc 飛びつき撮影時プロック

	}



	proc 飛びつき撮影時プロック {



		command ゲットデジカメ被写体情報 \

			$$i:Ｘ画面位置 $$i:Ｙ画面位置 $$i:画面占有率



		print '$1'$1

		print 'Ｘ画面位置' $$i:Ｘ画面位置

		print 'Ｙ画面位置' $$i:Ｙ画面位置

		print '画面占有率' $$i:画面占有率

		$$i:中心からの距離 = `@写真中心チェック`

		print '中心からの距離'$$i:中心からの距離



		if( $$f:一人目チェック == 0 ) {

			if( $1 == 1 ) {

				if( $$i:中心からの距離 < 10 ) {

					$$b:撮影成功フラグ = 100;

				} else if( $$i:中心からの距離 < 20 ) {

					$$b:撮影成功フラグ = 50;

				} else {

					$$b:撮影成功フラグ = 10;

				}

				$$f:一人目チェック = 1;

			}

		} else {

			if( $1 == 1 ) {

				if( $$i:中心からの距離 < 10 ) {

					$$b:撮影成功フラグ = 100;

				} else if( $$i:中心からの距離 < 20 ) {

					if( $$b:撮影成功フラグ < 50 ) {

						$$b:撮影成功フラグ = 50;

					}

				} else {

					if( $$b:撮影成功フラグ < 10 ) {

						$$b:撮影成功フラグ = 10;

					}

				}

				$$f:二人目チェック = 1;

			}

		}

	}



	proc 撮影チェック {

		print '$$b:撮影成功フラグ'$$b:撮影成功フラグ



		if( $$f:一人目チェック && $$f:二人目チェック ) {

			print 'ダブルサクセス！！！'

			command ＶＲクリア＿星の数の設定 3

			command ＶＲクリア＿スコアの設定 ( d:PHOTO_STAR_SCORE * 6 )

		} else {

			switch ( $$b:撮影成功フラグ ) {

				case ( 100 ) {

					command ＶＲクリア＿星の数の設定 3

					command ＶＲクリア＿スコアの設定 ( d:PHOTO_STAR_SCORE * 3 )

				}

				case ( 50 ) {

					command ＶＲクリア＿星の数の設定 2

					command ＶＲクリア＿スコアの設定 ( d:PHOTO_STAR_SCORE * 2 )

				}

				case ( 10 ) {

					command ＶＲクリア＿星の数の設定 1

					command ＶＲクリア＿スコアの設定 ( d:PHOTO_STAR_SCORE * 1 )

				}

			}

		}





		if( $$b:撮影成功フラグ ) {

			command ＶＲポーズ中クリア

		} else {

			@ミッション共通ゲームオーバー処理

		}

	}





