/*

	w25a_common.h

	    タイトロープ（１）デモとの共通設置ヘッダ



	2000/11/30 Y.Matsuhana         

	$Id: w25a_common.h,v 1.39 2001/11/05 09:28:01 usr00725 Exp $                      



*/



/*

	この共通ヘッダの意義)

	デモ中も、破壊された赤外線制御パネルなど位置合わせが必要なものが多いため、

	ゲーム、デモの両方で置かれるオブジェクトに関して切り出しを行った。

*/



#define		DOOR_NAME_LOAD		w25a_dr00		// ロード用



	// ドア関係

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

	proc ドア設置 {

		#if d:DEBUG_PRINT

			print 'slide_door_set'

		#endif



		/* d045p01/d046p01ステージのデモでは、hzxがゲームステージと異なって

		いるため id検索失敗で「chara ドア」が落ちたので、以下改変(10728/平野) 

		ゲームステージ用キャラをデモに持って行く際は注意が必要です */

		if($s:d_num == not_demo) {

			chara ドア Ｄ脚方面ドア \

				-m d:DOOR_NAME_LOAD \

				-p -3000,500,-133875 \

				-d 0 0 0 \

				-slide 2000 \

				-card_level 3 \			// カードレベルは３です！

				-A Ｄ脚方面ドアランプ \

				-time d:SD_OPEN_TIME 

	

			trap dr002 ？ -mask ？ \

				-exec {

					if ( $3 == 入る ) {

						mesg ドア Ｄ脚方面ドア open

					} else{

						mesg ドア Ｄ脚方面ドア close

					}

				}

		} else {

			chara プットオブジェ Ｄ脚方面ドア \

				-m d:DOOR_NAME_LOAD \

				-r 0,0,0 \

				-p -3000,500,-133875 \

				-s 100,100,100 \

				-l d:LT2_NAME

		}

		if ( $w:p_story < d:ST:P046_01_P01ハリアー戦勝利１ポリゴンデモ１開始 ) {

			// ハリアー戦開始時だけ必要

			@ドアランプ設定 Ｄ脚方面ドアランプ    0 -3000,500,-133875 1

			@ドアランプ設定 Ｇ脚方面ドアランプ 2048   750 500 -166125 1

		}

	}

	proc 主観禁止壁設定 {

		@主観禁止壁 Ｄ脚方面ドア壁 -3000,500,-133875 0 d:SD_SLIDE_OUTSIDE

		trap dr002 d:PLAYER \

			-mask ？ \

			-state d:TRP_STATE_SUBJECT \

			-exec {

				if( $3 == 入る ) {

					mesg 透明壁 Ｄ脚方面ドア壁 on

				} else {

					mesg 透明壁 Ｄ脚方面ドア壁 off

				}

			}

	}



	// 赤外線センサー設定

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

	#include "w25a_dim.h"

	proc w25a専用赤外線設定 {

		#if d:DEBUG_PRINT

			print 'w25a_ir_sencer_set'

		#endif



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

			eval( $w:セムテックスの個数 = 10 ) ;

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

			eval( $w:セムテックスの個数 = 18 ) ;

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

			eval( $w:セムテックスの個数 = 18 ) ;

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

			eval( $w:セムテックスの個数 = 20 ) ;

		} else {	// VERY_HARD

			eval( $w:セムテックスの個数 = 20 ) ;

		}

		// セムテックス

		command foreach -argc 6 -repeat $w:セムテックスの個数 \

			-data { \

				{  800,  750,-145650 0, 512,0 } \	// ドラム側面

				{  -50,  750,-145650 0,3584,0 } \	// ドラム側面

				{ -700,-1000,-141350 0,   0,0 } \	// 赤外線センサー横(手前)

				{ -700,-1000,-142850 0,   0,0 } \	// 赤外線センサー横(奥)

				{-1600, 3000,-163750 0,   0,0 } \	// Ｇ脚壁面（左）

				{-1250, 2550,-163750 0,   0,0 } \	// Ｇ脚壁面（左）

				{-1250, 3450,-163750 0,   0,0 } \	// Ｇ脚壁面（左）

				{-1600, 2550,-163750 0,   0,0 } \	// Ｇ脚壁面（左）

				{-1600, 3450,-163750 0,   0,0 } \	// Ｇ脚壁面（左）

				{-2700,-1000,-156000 0,   0,0 } \	// 上層左奥

				// VERY EASY

				{ -400, 3450,-136072 0,2048,0 } \	// 背後の壁面

				{  400, 3450,-136072 0,2048,0 } \	// 背後の壁面

				{ 4050, 1550,-163750 0,   0,0 } \	// Ｇ脚壁面（右）

				{ 4450, 1550,-163750 0,   0,0 } \	// Ｇ脚壁面（右）

				{ 3850, 2000,-163750 0,   0,0 } \	// Ｇ脚壁面（右）

				{ 4650, 2000,-163750 0,   0,0 } \	// Ｇ脚壁面（右）

				{ 4050, 2450,-163750 0,   0,0 } \	// Ｇ脚壁面（右）

				{ 4450, 2450,-163750 0,   0,0 } \	// Ｇ脚壁面（右）

				// EASY

				// NORMAL

				{ -450,-4000,-145250 0,   0,0 } \	// 下層部

				{  350,-4000,-145250 0,   0,0 } \	// 下層部

				// HARD

				// VERYHARD

			} \

			-exec { \

				if (( $s:d_num == not_demo ) && ( $w:p_story < d:ST:P044_01_R01赤外線センサークリア１無線デモ１開始 )) {

					// ゲーム時

					chara トラップ専用C4 セムテックス -p $1,$2,$3 -r $4,$5,$6 \

						-e セムテックス誤射時即死ゲームオーバー -n 1

				} else {

					// デモ時

					chara プットオブジェ セムテックス -m cfr_trp -p $1,$2,$3 -r $4,$5,$6 -l d:LT2_NAME 

				}

			}

		if ( $w:p_story < d:ST:P045_01_P01ハリアー登場１ポリゴンデモ１終了 ) {

			// ソリダス登場(ハリアー登場)デモで破壊されるセムテックス。以後はセットしない。

			command foreach -argc 6 -repeat 3 \

				-data { \

					{    0, 2000,-166000 0,   0,0 } \

					{  400, 2000,-166000 0,   0,0 } \

					{ -400, 2000,-166000 0,   0,0 } \

				} \

				-exec { \

					if (( $s:d_num == not_demo )) {

						// ゲーム時

						chara トラップ専用C4 セムテックス -p $1,$2,$3 -r $4,$5,$6 \

							-e セムテックス誤射時即死ゲームオーバー -n 1

					} else {

						// デモ時

						chara プットオブジェ ドア部セムテックス -m cfr_trp -p $1,$2,$3 -r $4,$5,$6 -l d:LT2_NAME 

					}

				}

		}



		if( $w:p_story <  d:ST:P045_01_P01ハリアー登場１ポリゴンデモ１開始 ) {

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

			if ( $s:d_num == not_demo ) {

				chara コマンダー commander -m $w:スタートアラートモード ; 

				// ハリアー戦が開始されるとサイファーはいなくなる

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

					chara サイファ  サイファー:01 \		// 遠いほう（PSG１で無いとダメ）

						-route 0 0 \ 

						-type 0 \ 		// 0:NORMAL,1:GUN 

						-i 100 \		// 赤外線スイッチ張り付け用なので、ほとんど盲目サイファ。

						-speed 30 \		// 初期値80

						-proc w25a_サイファー破壊0

				}

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

					chara サイファ  サイファー:02 \

						-route 1 0 \ 

						-type 0 \ 		// 0:NORMAL,1:GUN 

						-i 100 \		// 赤外線スイッチ張り付け用なので、ほとんど盲目サイファ。

						-speed 30 \		// 初期値80

						-proc w25a_サイファー破壊1

				}

			}

		}



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

			eval( $w:制御装置の個数 =  6 ) ;

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

			eval( $w:制御装置の個数 =  8 ) ;

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

			eval( $w:制御装置の個数 = 10 ) ;

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

			eval( $w:制御装置の個数 = 12 ) ;

		} else {	// VERY_HARD

			eval( $w:制御装置の個数 = 14 ) ;

		}



		if ( $w:p_story >= d:ST:シェル１シェル２連絡橋赤外線センサークリア ) {

			eval( $f:制御装置破壊フラグ[0] = 1 );

			eval( $f:制御装置破壊フラグ[1] = 1 );

			eval( $f:制御装置破壊フラグ[2] = 1 );

			eval( $f:制御装置破壊フラグ[3] = 1 );

			eval( $f:制御装置破壊フラグ[4] = 1 );

			eval( $f:制御装置破壊フラグ[5] = 1 );

			eval( $f:制御装置破壊フラグ[6] = 1 );

			eval( $f:制御装置破壊フラグ[7] = 1 );

			eval( $f:制御装置破壊フラグ[8] = 1 );

			eval( $f:制御装置破壊フラグ[9] = 1 );

			eval( $f:制御装置破壊フラグ[10] = 1 );

			eval( $f:制御装置破壊フラグ[11] = 1 );

			eval( $f:制御装置破壊フラグ[12] = 1 );

			eval( $f:制御装置破壊フラグ[13] = 1 );

		}



		chara 複数赤外線 ＤＧ連絡橋専用赤外線 \

			-p \

				  375,  750,-145500    0,   0,0 SW0 \	// デモ用ドラム壁面

				 -750,-1000,-141750    0,1024,0 SW1 \	// 手前の通路

				 -750,-1000,-143250    0,1024,0 SW2 \	// 手前の通路奥

				-2750,-1000,-155500    0,1024,0 SW3 \	// 左の奥

				    0,    0,      0    0,   0,0 SW4 \	// サイファー

				-1250, 3000,-163750    0,   0,0 SW5 \	// G脚壁面(左)

			// VERY EASY

				    0, 3450,-136125    0,2048,0 SW6 \	// 背後の壁

				 4250, 2000,-163750    0,   0,0 SW7 \	// G脚壁面(右)

			// EASY

				 4750,-1700,-163500 3072,2048,0 SW8 \	// かもめ群がり

				-8900, 1500,-163750    0,   0,0 SW9 \	// 旗の後ろ

			// NORMAL

				  -50,-4000,-145250    0,   0,0 SWA \	// 下段(伸び上がり撃ち）

				 3000,-3000,-139125    0,2048,0 SWB \	// 右足元の壁

			// HARD

				    0,    0,      0    0,   0,0 SWC \	// サイファー

				-3525, 1125,-163500    0,3072,0 SWD \	// 見えにくい奴(難易度高い）

			// VERYHARD

			-single \

					制御装置破壊_SW0 \

					制御装置破壊_SW1 \

					制御装置破壊_SW2 \

					制御装置破壊_SW3 \

					制御装置破壊_SW4 \

					制御装置破壊_SW5 \

					制御装置破壊_SW6 \

					制御装置破壊_SW7 \

					制御装置破壊_SW8 \

					制御装置破壊_SW9 \

					制御装置破壊_SWA \

					制御装置破壊_SWB \

					制御装置破壊_SWC \

					制御装置破壊_SWD \

			-n $w:制御装置の個数 \

			-a \

				-750,-1000,-142250 0,0,0 \

				 750,-1000,-142250 0,0,0 \

				-750,-1000,-143750 0,0,0 \

				 750,-1000,-143750 0,0,0 \

			-b 2 \

			-e ＤＧ連絡橋赤外線接触 \

			-s ＤＧ連絡橋赤外線スイッチ破壊 \

			-m irs_box irs_box2 irs \

			-l \

				サイファー:01 SW4 1 \

				サイファー:02 SWC 1 \

			-o 2 \

			-d 0 0 

		

		if ( $f:w25a赤外線イベントクリア == 1 ) {

			mesg 複数赤外線 ＤＧ連絡橋専用赤外線 all_kill

		} else {

			if ( $f:制御装置破壊フラグ[0]  == 1 ) { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 single_die SW0 } ;

			if ( $f:制御装置破壊フラグ[1]  == 1 ) { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 single_die SW1 } ;

			if ( $f:制御装置破壊フラグ[2]  == 1 ) { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 single_die SW2 } ;

			if ( $f:制御装置破壊フラグ[3]  == 1 ) { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 single_die SW3 } ;

			if ( $f:制御装置破壊フラグ[4]  == 1 ) { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 single_die SW4 } ;

			if ( $f:制御装置破壊フラグ[5]  == 1 ) { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 single_die SW5 } ;

			if ( $f:制御装置破壊フラグ[6]  == 1 ) { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 single_die SW6 } ;

			if ( $f:制御装置破壊フラグ[7]  == 1 ) { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 single_die SW7 } ;

			if ( $f:制御装置破壊フラグ[8]  == 1 ) { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 single_die SW8 } ;

			if ( $f:制御装置破壊フラグ[9]  == 1 ) { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 single_die SW9 } ;

			if ( $f:制御装置破壊フラグ[10] == 1 ) { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 single_die SWA } ;

			if ( $f:制御装置破壊フラグ[11] == 1 ) { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 single_die SWB } ;

			if ( $f:制御装置破壊フラグ[12] == 1 ) { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 single_die SWC } ;

			if ( $f:制御装置破壊フラグ[13] == 1 ) { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 single_die SWD } ;

		}

	}





	proc 制御装置破壊_SW0 { eval( $f:制御装置破壊フラグ[0] = 1 );  }

	proc 制御装置破壊_SW1 { eval( $f:制御装置破壊フラグ[1] = 1 );  }

	proc 制御装置破壊_SW2 { eval( $f:制御装置破壊フラグ[2] = 1 );  }

	proc 制御装置破壊_SW3 { eval( $f:制御装置破壊フラグ[3] = 1 );  }

	proc 制御装置破壊_SW4 { eval( $f:制御装置破壊フラグ[4] = 1 );  }

	proc 制御装置破壊_SW5 { eval( $f:制御装置破壊フラグ[5] = 1 );  }

	proc 制御装置破壊_SW6 { eval( $f:制御装置破壊フラグ[6] = 1 );  }

	proc 制御装置破壊_SW7 { eval( $f:制御装置破壊フラグ[7] = 1 );  }

	proc 制御装置破壊_SW8 { eval( $f:制御装置破壊フラグ[8] = 1 );  }

	proc 制御装置破壊_SW9 { eval( $f:制御装置破壊フラグ[9] = 1 );  }

	proc 制御装置破壊_SWA { eval( $f:制御装置破壊フラグ[10] = 1 );  }

	proc 制御装置破壊_SWB { eval( $f:制御装置破壊フラグ[11] = 1 );  }

	proc 制御装置破壊_SWC { eval( $f:制御装置破壊フラグ[12] = 1 );  }

	proc 制御装置破壊_SWD { eval( $f:制御装置破壊フラグ[13] = 1 );  }

	proc w25a専用赤外線破壊設定 { mesg 複数赤外線 ＤＧ連絡橋専用赤外線 all_kill }

	proc ＤＧ連絡橋赤外線スイッチ破壊 {

		eval( $f:w25a赤外線イベントクリア = 1 ) ;

		mesg プロック連続実行 w25a狙撃イベントアイテム補給 kill

		if ( $w:p_story < d:ST:シェル１シェル２連絡橋赤外線センサークリア ) {

			eval( $w:p_story = d:ST:シェル１シェル２連絡橋赤外線センサークリア ) ;	// 2001.7.2 福島要請により追加

			#ifndef d:BOSS_MODE

			@rp_赤外線狙撃イベント終了時無線処理

			#endif

			mesg トラップ専用C4 セムテックス lamp_off

			if( $w:p_story < d:ST:P044_01_R01赤外線センサークリア１無線デモ１開始 ) {

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

				command パッド操作 -release			// パッドリリース

				chara delay 遅延 -time 60 -exec {

					@シナリオカメラデモフラグ変更 -1 0 20 ;

					@シナリオカメラデモ（シネマ） 260 -2894,1114,-141073 3368,1068,-145188 200 1178,4172,-141340 -1477,-2178,-144306 200

				}

			}

		}

	}

	proc ドア部セムテックス消去 {

		mesg プットオブジェ ドア部セムテックス kill ;

	}



	dim $i:fpx[d:IR_SENCER_MAX] ;

	dim $i:fpy[d:IR_SENCER_MAX] ;

	dim $i:fpz[d:IR_SENCER_MAX] ;

	dim $i:ftx[d:IR_SENCER_MAX] ;

	dim $i:fty[d:IR_SENCER_MAX] ;

	dim $i:ftz[d:IR_SENCER_MAX] ;

	dim $w:fag[d:IR_SENCER_MAX] ;



	proc フラッシュバックヒント映像 {

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

			eval( $w:制御装置の個数 =  6 ) ;

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

			eval( $w:制御装置の個数 =  8 ) ;

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

			eval( $w:制御装置の個数 = 10 ) ;

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

			eval( $w:制御装置の個数 = 12 ) ;

		} else {	// VERY_HARD

			eval( $w:制御装置の個数 = 14 ) ;

		}

		if ( $f:制御装置破壊フラグ[$b:制御装置カウンタ] == 1 ) {

				// その番号の制御装置は破壊されていた

				eval( $b:制御装置カウンタ = $b:制御装置カウンタ + 1 );

				chara delay 遅延 -time 1 -exec {		// 再帰オーバーフローを防ぐため

					if ( $b:制御装置カウンタ < $w:制御装置の個数 ) { 

						@フラッシュバックヒント映像

					} else {

						@フラッシュバックヒント映像終了

					}

				}

		} else {

			if ( $f:フラッシュバック映像が入った == 0 ) {

				mesg シネマスクリーン シネマ フェードアウト 0

				eval( $f:フラッシュバック映像が入った = 1 ) ;

			}

			chara カメラ設定 ゲームオーバーカメラ \

				-c 1 \

				-p $i:fpx[$b:制御装置カウンタ],$i:fpy[$b:制御装置カウンタ],$i:fpz[$b:制御装置カウンタ] \

				-t $i:ftx[$b:制御装置カウンタ],$i:fty[$b:制御装置カウンタ],$i:ftz[$b:制御装置カウンタ] \

				-a $w:fag[$b:制御装置カウンタ] \

				-i 0 0 0 0 \

				-s 1

				eval( $b:制御装置カウンタ = $b:制御装置カウンタ + 1 );

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

					-i 0,0,0 0 -c 255,255,255 128 -t 20 

			chara delay 遅延 -time 20 -exec {

				if ( $b:制御装置カウンタ < $w:制御装置の個数 ) { 

					@フラッシュバックヒント映像

				} else {

					@フラッシュバックヒント映像終了

				}

			}

		}

	}

	proc フラッシュバックヒント映像初期化 {

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

		eval( $f:フラッシュバック映像が入った = 0 ) ;

		command 無線設定 -reset

		command パッド操作 -release

		command メニュー設定 -menu off -gage off -radar off -subwin off \

			-radio off -pause off

		command プレイヤー無敵セット



		eval ($b:制御装置カウンタ = 0 ) ;

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

			eval( $w:制御装置の個数 =  6 ) ;

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

			eval( $w:制御装置の個数 =  8 ) ;

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

			eval( $w:制御装置の個数 = 10 ) ;

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

			eval( $w:制御装置の個数 = 12 ) ;

		} else {	// VERY_HARD

			eval( $w:制御装置の個数 = 14 ) ;

		}

		command foreach -argc 7 -repeat $w:制御装置の個数 \

			-data { \

				{ -664,  434,-144101   280,  934,-145566,177} , \ // デモ用ドラム壁面

				{  -71, -918,-140732 -1017, -327,-142146,166} , \ // 手前の通路

				{   36, -874,-142137  -929, -534,-143614,200} , \ // 手前の通路奥

				{-2350,  364,-153458 -2648, -380,-155075,200} , \ // 左の奥

				{ 5041, 6172,-161701  4680, 7542,-169049,385} , \ // サイファー

				{-1363, 3560,-162385 -1020, 2669,-163937,200} , \ // G脚壁面(右)

				{ 3229,  708,-137768 -1826, 4556,-133848,200} , \ // 背後の壁

				{  367, 5534,-162625  5187,  860,-165954,200} , \ // G脚壁面(左)

				{ 4072,-1411,-160765  4621,-1523,-162462,416} , \ // かもめ群がり

				{-8044, 3273,-162104 -8694, 1942,-163188,200} , \ // 旗の後ろ

				{-6136, 1116,-141160 -1161,-3006,-144946,262} , \ // 下段(伸び上がり撃ち）

				{  108,  970,-141451  4033,-4697,-138614,200} , \ // 右足元の壁

				{ 3006, 5897,-160014   930, 8114,-166859,249} , \ // サイファー

				{-5885, 2223,-161491  -258,  230,-165981,262} , \ // 見えにくい奴(難易度高い）

			} \

			-exec { \

				eval( $i:fpx[$b:制御装置カウンタ] = $1 ) ;

				eval( $i:fpy[$b:制御装置カウンタ] = $2 ) ;

				eval( $i:fpz[$b:制御装置カウンタ] = $3 ) ;

				eval( $i:ftx[$b:制御装置カウンタ] = $4 ) ;

				eval( $i:fty[$b:制御装置カウンタ] = $5 ) ;

				eval( $i:ftz[$b:制御装置カウンタ] = $6 ) ;

				eval( $w:fag[$b:制御装置カウンタ] = $7 ) ;

				eval ($b:制御装置カウンタ = $b:制御装置カウンタ + 1 );

			}

		eval ($b:制御装置カウンタ = 0 );

	}

	proc フラッシュバックヒント映像終了 {

			if ( $f:フラッシュバック映像が入った == 1 ) {

				chara カメラ設定 ゲームオーバーカメラ -s -1

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

					-i 255,255,255 128 -c 0,0,0 0 -t 20 

				eval( $b:制御装置カウンタ = 0 ) ; 

				mesg シネマスクリーン シネマ フェードイン 0

			}

			command メニュー設定 -menu on -gage on -radar on -subwin on -radio on -pause on

			command プレイヤー無敵解除

			command パッド操作 -cancel

	}



	proc ＤＧ連絡橋赤外線接触 {

		@シナリオデモ開始処理

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

			-c 0,0,0 128 \

			-t 15 \

			-p w25a_特殊ゲームオーバーリスタート

	}

	proc w25a_サイファー破壊0 {

		if ( $f:制御装置破壊フラグ[4]  == 0 ) {

			@シナリオデモ開始処理

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

				-c 0,0,0 128 \

				-t 1 \

				-p w25a_特殊ゲームオーバーリスタート

		}

	}

	proc w25a_サイファー破壊1 {

		if ( $f:制御装置破壊フラグ[12]  == 0 ) {

			@シナリオデモ開始処理

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

				-c 0,0,0 128 \

				-t 1 \

				-p w25a_特殊ゲームオーバーリスタート

		}

	}

	proc セムテックス誤射時即死ゲームオーバー {

		@シナリオデモ開始処理

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

			-c 0,0,0 128 \

			-t 15 \

			-p w25a_特殊ゲームオーバーリスタート

	}

	proc w25a_特殊ゲームオーバーリスタート {

		eval( $w:w25a_特殊ゲームオーバー = 1 );

		restart

	}

	proc セムテックス爆発ゲームオーバー {

		eval( $b:セムテックス爆発ゲームオーバー回数 = $b:セムテックス爆発ゲームオーバー回数 + 1 ) ;

		if ( $b:セムテックス爆発ゲームオーバー回数 > 99 ) { eval( $b:セムテックス爆発ゲームオーバー回数 = 99 ); }

		command varsave $b:セムテックス爆発ゲームオーバー回数 ;

		command マップ設定 ＤＧ連絡橋1F ＤＧ連絡橋B1 -set {

			@セムテックス爆発散開かもめ

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

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

			command ゲームオーバー処理開始 \

				-exec {

					command プレイヤーモーション振動ＯＦＦ

					command プレイヤー瞬殺 \

						-name d:PLAYER \

						-blow 	//これがあると「吹っ飛び」

					command メニュー設定 \

						-gage off \

						-radar off \

						-subwin off \

						-radio off \

						-pause off

				}

			@セムテックス爆発中カメラ設定 ;

			chara 連絡橋爆発 あちこち爆発

			chara delay w25a_bomb -time 75 -exec { mesg 連絡橋爆発 あちこち爆発 終了 }

			chara delay w25a_IR_GameOverFO -time (60*1) -exec {

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

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

					-t (90) \

					-p ホワイトフェード終了後処理 \

					-s 143

			}

		}

	}



	proc ホワイトフェード終了後処理 {

		print 'GameOver Pict Set!'

		command ゲームオーバー背景設定 \

			-t gmov \

			-s plant_bomb2_alp_ovl \

			-m 1

		command ゲームオーバー処理終了;

	}



	proc セムテックス爆発中カメラ設定 {

		command サイト表示制御 -switch off ;

		chara カメラ設定 ゲームオーバーカメラ \

			-c 1 \

			-p 5153,4664,-137288 \

			-t -192,-1024,-148113 \

			-r 287,2347,0 -f 13346 \

			-a 200 \

			-i 4 4 15 15 \

			-s 1

	}

