/*

	a24d_bomb.h

	    電算室（写真撮影ミッション用）

	2002/02/01 S.Kaneyoshi

	$Id: a24d_photo.h,v 1.18 2002/10/02 05:24:52 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_a24a p:A_ＲＥＴＲＹプロック

	}

	

	



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

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

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

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



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

		command マップ設定 電算室 -set {

			@各ミッション用ゴール表示 0 0 -30000

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

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

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

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

			@写真撮影ミッション用待機所変更

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

		}



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

		command マップ設定 電算室 -set {

			@写真撮影ミッション用電算室アイテム設置

			

			@ミスマガジン撮影

		}

	}



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

		#if d:DEBUG_PRINT

			print 'sound_set-bomb_misson'

		#endif

		

		@サウンドデータ常駐読み替え設定

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

		@サウンド効果音設定



	}



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

		#if d:DEBUG_PRINT

			print 'bgm_set-bomb_misson'

		#endif

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

	}

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

// 初期化関連

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

	proc 種初期化 {

		// 一括初期化後に変数を戻す

		$i:グローバル変数プレイタイム = $$i:ローカル変数プレイタイム;

		command varsave $i:グローバル変数プレイタイム

		

		$$i:種 = ( $i:グローバル変数プレイタイム % 2 );

		$$i:種 = $$i:種 + `command ミッションズリトライ回数取得`

		$$i:種 = $$i:種 + `command ミッションズコンティニュー回数取得`



	}

	

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

	}

	

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

		#if d:DEBUG_PRINT

			print 'stage_var_set-bomb_misson'

		#endif

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

		// ドアに関する設定

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

		//		DOOR_FLAG_OPEN			1		// 絶対開く

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

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

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

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

		$$b:ドアフラグ[0] = d:DOOR_FLAG_CLOSE;		// エレベータ

		$$b:ドアフラグ[1] = 1;		// 左扉

		$$b:ドアフラグ[2] = 1;		// 右扉



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

		//$w:アイテム数Ｒ[ d:アイテム:タンカー編カメラ ] = 1;

		$w:アイテム == d:アイテム:デジカメ;

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

	}



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

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

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

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

		#if d:DEBUG_PRINT

			print 'vr_window_set'

		#endif

		

		

		switch ( $$i:種 % 2 ) {

			case ( 0 ) {

				$$s:ファイル名 = odai_a24d2_pane03;

			}

			case ( 1 ) {

				$$s:ファイル名 = odai_a24d2_pane04;

			}

		}

		

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

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

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

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

				[VRMSG_K:ALT_PHT_a24d_SNA] \							// 韓

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

				odai	$$s:ファイル名



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

		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 写真撮影ミッション用クリア時処理 {

	}



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

// 敵兵の設定

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

#define ENE1_DP_X	10250

#define ENE1_DP_Y	-14000

#define ENE1_DP_Z	-70250



#define ENE2_DP_X	-2750

#define ENE2_DP_Y	-16000

#define ENE2_DP_Z	-52000



#define ENE3_DP_X	1750

#define ENE3_DP_Y	-16000

#define ENE3_DP_Z	-57000



#define ENE4_DP_X	0

#define ENE4_DP_Y	-16000

#define ENE4_DP_Z	-63000



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

		#if d:DEBUG_PRINT

			print 'watcher_set-bomb_misson'

		#endif



		switch ( $$i:種 % 2 ) {

			case ( 0 ) {

				$$b:ノード = 6;

			}

			case ( 1 ) {

				$$b:ノード = 0;

			}

		}

		

		@A_武装解除警備兵 敵兵:03 \

			5 \				// ルート

			$$b:ノード \	// ノード

			d:ENE_STATUS_NORMAL \

			0 \	// 拡張ステータス

			-d d:ENE3_DP_X d:ENE3_DP_Y d:ENE3_DP_Z \

			電算室

	}



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

		#if d:DEBUG_PRINT

			print 'attacker_set-bomb_misson'

		#endif



		@A_探索ルート付き攻撃兵 攻撃兵:01 \

			18 23 \

			d:ENE_STATUS_NORMAL \

			d:ENE_EQUIP_TYPE_SHIELD



		@A_探索ルート付き攻撃兵 攻撃兵:02 \

			19 24 \

			d:ENE_STATUS_NORMAL \

			d:ENE_EQUIP_TYPE_SHOTGUN



		@A_探索ルート付き攻撃兵 攻撃兵:03 \

			20 25 \

			d:ENE_STATUS_NORMAL \

			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 写真撮影ミッション用攻撃兵コマンダー \

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

			-r 0,-12000,-71000 電算室  0,-16000,-46000 電算室 \

			-c 0,-12000,-71000 電算室  0,-16000,-46000 電算室 \

			-x [ghq_area_alert_voice:w24d] \

			-y [ghq_caution_voice:w24d] \

			-v [ene_plant_voice:01] \

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

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

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

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

			-e 5 3 コンピューターいじりＡ_1 \

			   5 5 コンピューターいじりＡ_2 \

			   5 10 コンピューターいじりＢ_1 \

			   5 12 コンピューターいじりＢ_2

	}



	proc 写真撮影ミッション用待機所変更 {

		trap en004 d:PLAYER \

			-mask ？ \

			-exec {

				if( $3 == 入る ) {

					print '待機所変更01'

					//mesg アタッカー 攻撃兵:01 ルート変更 18

					//mesg アタッカー 攻撃兵:02 ルート変更 19

					//mesg アタッカー 攻撃兵:03 ルート変更 20

					mesg アタッカー 攻撃兵 ルート変更 20

					mesg コマンダー 敵兵セット 待機所替え 1

				} else {

					print '待機所変更02'

					//mesg アタッカー 攻撃兵:01 ルート変更 8

					//mesg アタッカー 攻撃兵:02 ルート変更 9

					//mesg アタッカー 攻撃兵:03 ルート変更 10

					mesg アタッカー 攻撃兵 ルート変更 10

					mesg コマンダー 敵兵セット 待機所替え 0

				}

			}

	}



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

// アイテム関連

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



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

		#if d:DEBUG_PRINT

			print 'item_no_set'

		#endif



		#if d:DEBUG_PRINT

			print $:ボックス名

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

		#endif

	}



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

	}



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

// 写真判定

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

	#define 阿部_XYZ	250 -14410 -52850

	#define 安田_XYZ	-4650 -14750 -50120

	

	proc ミスマガジン撮影 {

		command カメラ撮影時プロック -proc ミスマガジン撮影時プロック



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



		switch ( $$i:種 % 2 ) {

			case ( 0 ) {

				@チェック面登録＿阿部英理奈＿正面 d:阿部_XYZ p:阿部英理奈＿正面判定

				@チェック面登録＿阿部英理奈＿左	d:阿部_XYZ p:阿部英理奈＿左判定

				@チェック面登録＿阿部英理奈＿右 d:阿部_XYZ p:阿部英理奈＿右判定

			}

			case ( 1 ) {

				@チェック面登録＿安田美沙子＿正面 d:安田_XYZ p:安田美沙子＿正面判定

				@チェック面登録＿安田美沙子＿左 d:安田_XYZ p:安田美沙子＿左判定

				@チェック面登録＿安田美沙子＿右 d:安田_XYZ p:安田美沙子＿右判定

			}

		}

	}



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

// 阿部英理奈

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

	// 正面

	proc チェック面登録＿阿部英理奈＿正面 $:Ｘ $:Ｙ $:Ｚ $:p_判定プロック {

		command カメラチェック面登録 \

		-points $:Ｘ,($:Ｙ+50),($:Ｚ+50) \

				$:Ｘ,($:Ｙ+50),($:Ｚ-50) \

				$:Ｘ,($:Ｙ-50),($:Ｚ-50) \

				$:Ｘ,($:Ｙ-50),($:Ｚ+50) \

		-far 1 \

		-proc $:p_判定プロック

	}

	proc 阿部英理奈＿正面判定 {

		print '阿部英理奈＿正面判定'

		command ゲットデジカメ被写体情報 $$i:Ｘ画面位置 $$i:Ｙ画面位置 $$i:画面占有率

		#if d:DEBUG_PRINT

			@写真判定プリント文 $1

			@２Ｄ用写真判定プリント文 $1

		#endif

		

		@新写真判定 $1 $$i:画面占有率

	}

	// 左

	proc チェック面登録＿阿部英理奈＿左 $:Ｘ $:Ｙ $:Ｚ $:p_判定プロック {

		command カメラチェック面登録 \

		-points ($:Ｘ-20),($:Ｙ+50),($:Ｚ+50) \

				($:Ｘ+20),($:Ｙ+50),($:Ｚ-50) \

				($:Ｘ+20),($:Ｙ-50),($:Ｚ-50) \

				($:Ｘ-20),($:Ｙ-50),($:Ｚ+50) \

		-far 1 \

		-proc $:p_判定プロック

	}

	proc 阿部英理奈＿左判定 {

		print '阿部英理奈＿左判定'

		command ゲットデジカメ被写体情報 $$i:Ｘ画面位置 $$i:Ｙ画面位置 $$i:画面占有率

		#if d:DEBUG_PRINT

			@写真判定プリント文 $1

			@２Ｄ用写真判定プリント文 $1

		#endif

		

		@新写真判定 $1 $$i:画面占有率

	}

	// 右

	proc チェック面登録＿阿部英理奈＿右 $:Ｘ $:Ｙ $:Ｚ $:p_判定プロック {

		command カメラチェック面登録 \

		-points ($:Ｘ+20),($:Ｙ+50),($:Ｚ+50) \

				($:Ｘ-20),($:Ｙ+50),($:Ｚ-50) \

				($:Ｘ-20),($:Ｙ-50),($:Ｚ-50) \

				($:Ｘ+20),($:Ｙ-50),($:Ｚ+50) \

		-far 1 \

		-proc $:p_判定プロック

	}

	proc 阿部英理奈＿右判定 {

		print '阿部英理奈＿右判定'

		command ゲットデジカメ被写体情報 $$i:Ｘ画面位置 $$i:Ｙ画面位置 $$i:画面占有率

		#if d:DEBUG_PRINT

			@写真判定プリント文 $1

			@２Ｄ用写真判定プリント文 $1

		#endif

		

		@新写真判定 $1 $$i:画面占有率

	}



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

// 安田美沙子

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



	// 正面

	proc チェック面登録＿安田美沙子＿正面 $:Ｘ $:Ｙ $:Ｚ $:p_判定プロック {

		command カメラチェック面登録 \

		-points $:Ｘ,($:Ｙ+50),($:Ｚ+50) \

				$:Ｘ,($:Ｙ+50),($:Ｚ-50) \

				$:Ｘ,($:Ｙ-50),($:Ｚ-50) \

				$:Ｘ,($:Ｙ-50),($:Ｚ+50) \

		-far 1 \

		-proc $:p_判定プロック

	}

	proc 安田美沙子＿正面判定 {

		print '安田美沙子＿正面判定'

		command ゲットデジカメ被写体情報 $$i:Ｘ画面位置 $$i:Ｙ画面位置 $$i:画面占有率

		#if d:DEBUG_PRINT

			@写真判定プリント文 $1

			@２Ｄ用写真判定プリント文 $1

		#endif

		

		@新写真判定 $1 $$i:画面占有率

	}

	// 左

	proc チェック面登録＿安田美沙子＿左 $:Ｘ $:Ｙ $:Ｚ $:p_判定プロック {

		command カメラチェック面登録 \

		-points ($:Ｘ-20),($:Ｙ+50),($:Ｚ+50) \

				($:Ｘ+20),($:Ｙ+50),($:Ｚ-50) \

				($:Ｘ+20),($:Ｙ-50),($:Ｚ-50) \

				($:Ｘ-20),($:Ｙ-50),($:Ｚ+50) \

		-far 1 \

		-proc $:p_判定プロック

	}

	proc 安田美沙子＿左判定 {

		print '安田美沙子＿左判定'

		command ゲットデジカメ被写体情報 $$i:Ｘ画面位置 $$i:Ｙ画面位置 $$i:画面占有率

		#if d:DEBUG_PRINT

			@写真判定プリント文 $1

			@２Ｄ用写真判定プリント文 $1

		#endif

		

		@新写真判定 $1 $$i:画面占有率

	}

	// 右

	proc チェック面登録＿安田美沙子＿右 $:Ｘ $:Ｙ $:Ｚ $:p_判定プロック {

		command カメラチェック面登録 \

		-points ($:Ｘ+20),($:Ｙ+50),($:Ｚ+50) \

				($:Ｘ-20),($:Ｙ+50),($:Ｚ-50) \

				($:Ｘ-20),($:Ｙ-50),($:Ｚ-50) \

				($:Ｘ+20),($:Ｙ-50),($:Ｚ+50) \

		-far 1 \

		-proc $:p_判定プロック

	}

	proc 安田美沙子＿右判定 {

		print '安田美沙子＿右判定'

		command ゲットデジカメ被写体情報 $$i:Ｘ画面位置 $$i:Ｙ画面位置 $$i:画面占有率

		#if d:DEBUG_PRINT

			@写真判定プリント文 $1

			@２Ｄ用写真判定プリント文 $1

		#endif

		

		@新写真判定 $1 $$i:画面占有率

	}

	

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

// 写真判定共通プロック

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

	proc 新写真判定 $:値 $:画面占有率 {

		if( $:値 == 4 ) {

			if( $:画面占有率 > 200 ) {

				@撮影成功フラグ入力 100;

			} else if( $:画面占有率 > 150 ) {

				@撮影成功フラグ入力 50;

			} else {

				@撮影成功フラグ入力 10;

			}

		}

	}



	proc ミスマガジン撮影時プロック {

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

		switch ( $$i:種 % 2 ) {

			case ( 0 ) {

				if( $$f:エロコン２ != 1 ) {

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

				}

			}

			case ( 1 ) {

				if( $$f:エロコン１ != 1 ) {

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

				}

			}

		}

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

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

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

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

		} else if( $$b:撮影成功フラグ >= 30 ) {

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

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

		} else if( $$b:撮影成功フラグ >= 10 ) {

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

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

		}

		

		#if 0

			command ＶＲポーズ中クリア

		#else

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

				command ＶＲポーズ中クリア

			} else {

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

			}

		#endif

	}

