/*

	w04.h

	    船倉用ヘッダファイル



	2000/07/06 S.Nojiri

	$Id: w04.h,v 1.142 2002/05/09 13:07:49 usr01475 Exp $





*/





#define		プロジェクタ録画用		0





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

//									船倉兵物音反応

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





proc 船倉兵物音反応 {//こいつはこのあと、下のca1000に反応を与えます。



	if($i:プレイヤー位置Ｚ > -24000 && $i:プレイヤー位置Ｙ < -9000 && $i:プレイヤー位置Ｙ > -17000){



		//物音モードになったら一定時間暗闇トラップを解除する処理

		mesg delay ダークゾーンオフディレイ kill



		chara delay ディレイ -time 2 -exec{

			chara delay ダークゾーンオフディレイ -time 180 -exec{

				if(!$f:ローカルフラグ１){

					print 'ダークゾーンなくなっちゃうよー！！'

					eval($f:ローカルフラグ１ = 1)

					command トラップ切り替え \

						-trap dark \

						-switch 0



					chara delay ダークゾーンオフディレイ -time 600 -exec{

						print 'ダークゾーンふっかーつ！！'

						command トラップ切り替え \

							-trap dark \

							-switch 1

						eval($f:ローカルフラグ１ = 0)

					}

				}

			}

		}



		//($1,$2,$3)は物音を聞きつけた船倉兵の座標



		eval($i:船倉兵位置Ｘ = $1)

		eval($i:船倉兵位置Ｙ = $2)

		eval($i:船倉兵位置Ｚ = $3)



		if( $w:船倉物音カメラフレーム数 == 0 ){



			command パッド操作 \

				-release



			chara カメラ設定 ビヨンドカメラ \

				-c 1 \

				-p $1,($2 + 2000),( $3 + 3000 ) \

				-t $1,$2,$3 \

				-a 200 \

				-i 1 -1 0 0 \

				-s 1



			chara delay 敵兵物音きいた -time 40 -exec {

				if(`%ゲームオーバーチェック` == 0 && !$f:w04b_椎名まおムービー中){

					command パッド操作 \

						-cancel

				}

			}



			chara delay 敵兵物音きいた -time 50 -exec {



				chara カメラ設定 ビヨンドカメラ \

					-s -1



				eval($w:船倉物音カメラフレーム数 = 1)



			}



		}



	}



}





proc 船倉物音カメラ{





	trap ca1000 d:PLAYER \

		-mask ＊ \

		-exec {



			if($3 == いる){



				if( $w:船倉物音カメラフレーム数 > 100){

					chara カメラ設定 サブカメラ３ \

						-s -1



					eval($w:船倉物音カメラフレーム数 = 0)



				}else if( $w:船倉物音カメラフレーム数 > 0){



					eval( $i:補完ＰＸ = ( $i:船倉兵位置Ｘ + $i:プレイヤー位置Ｘ )/2 )



					if($s:エリア == w04a && $i:補完ＰＸ > 7750){

						eval( $i:補完ＰＸ = 7750 )



					}else if( $i:補完ＰＸ > 8500 ){

						eval( $i:補完ＰＸ = 8500 )



					}else if( $i:補完ＰＸ < -8500 ){

						eval( $i:補完ＰＸ = -8500 )



					}



					eval( $i:補完ＰＺ = ( $i:船倉兵位置Ｚ + $i:プレイヤー位置Ｚ )/2 )



					if( $i:補完ＰＺ > -1100 ){

						eval( $i:補完ＰＺ = -1100 )

					}



					chara カメラ設定 サブカメラ３ \

						-c 1 \

						-p $i:補完ＰＸ,-5000,( $i:補完ＰＺ + 1000) \

						-t $i:補完ＰＸ,-17000,$i:補完ＰＺ \

						-a 200 \

						-i 2 -1 0 0 \

						-s 1



					eval($w:船倉物音カメラフレーム数 = $w:船倉物音カメラフレーム数 + 1)





				}



			}else if($3 == 出る){

				chara カメラ設定 サブカメラ３ \

					-s -1



				eval( $w:船倉物音カメラフレーム数 = 0 )



			}



		}









}













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

//								船倉敵兵発見ゲームオーバー

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







proc 敵兵発見 {



	chara delay ディレイ -time 2 -exec{



		if(`%ゲームオーバーチェック` == 0 && $f:ロードチェックＯＮフラグ){

			command ゲームオーバー処理開始 -load -exec {

				if(!$f:船倉最初に一人に発見された){



					print '敵に発見されてもた！'



					command StreamStopAll

					command 無線設定 -reset



					command パッド操作 \

						-release



					chara delay ディレイ -time 120 \

						-p 船倉敵兵発見ゲームオーバー

				}

			}



		}



	}



}







proc 船倉敵兵発見ゲームオーバー{



	if($f:ロードチェックＯＮフラグ){

		command セットタイマーステータス -s d:TMR_WAIT



//	if(`%ゲームオーバーチェック` == 0 && $f:ロードチェックＯＮフラグ){

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

			-load \

			-exec {



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

/*

				chara delay 敵兵発見ディレイ \

					-time 10 \

					-exec {

						chara パッド振動 落下振動 -vibfile drop_sea

					}

*/



				command メニュー設定 \

					-menu off \			//武器・アイテムメニューのオンオフ

					-jamming off \ 		//電波障害中／電波障害解除

					-disable_menu off \	//メニューオープンの許可／不許可

					-gage off \

					-radar off \

					-subwin off \

					-radio off \

					-pause off



				@ロード時ストリームフェードアウト



				chara デモキャンセルチェック ゲームオーバーデモキャンセル \

					-p 船倉ゲームオーバーデモキャンセル処理



				eval($f:ゲームオーバー処理終了呼ばれた = 0)



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

					-i 0 0 0 0 \		//設定するとこのＲＧＢαから始まる

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

					-t d:FADEOUT_TIME \

					-s 143 \			//プライオリティ

					-p 船倉敵兵発見ゲームオーバー終了処理



			}



	}





}







proc 船倉ゲームオーバーデモキャンセル処理 {



	mesg デモキャンセルチェック ゲームオーバーデモキャンセル kill



	if($s:エリア == w04a){

		eval($f:w04a_ゲームオーバーキャンセルした = 1)

		command varsave $f:w04a_ゲームオーバーキャンセルした

	}else if($s:エリア == w04b){

		eval($f:w04b_ゲームオーバーキャンセルした = 1)

		command varsave $f:w04b_ゲームオーバーキャンセルした

	}else if($s:エリア == w04c){

		eval($f:w04c_ゲームオーバーキャンセルした = 1)

		command varsave $f:w04c_ゲームオーバーキャンセルした

	}



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

		-exec {

			eval($f:ゲームオーバー処理終了呼ばれた = 1)

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

		}

}









proc 船倉敵兵発見ゲームオーバー終了処理{



	if(!$f:ゲームオーバー処理終了呼ばれた){

		mesg デモキャンセルチェック ゲームオーバーデモキャンセル kill



		command セットサウンドコード -c d:SNG_FOUTS_S

			command StreamStopAll



		if(($s:エリア == w04a && $f:w04a_ゲームオーバーキャンセルした) \

			||($s:エリア == w04b && $f:w04b_ゲームオーバーキャンセルした) \

			||($s:エリア == w04c && $f:w04c_ゲームオーバーキャンセルした)) \

		{

			@船倉ゲームオーバーデモキャンセル処理



		}else{

			print 'd14tをロード！！！！'

			load "d14t" -gameover -no_save ;



		}



	}



}







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

//								敵兵死亡時プロック

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







proc 船倉兵死亡時プロック {

	print '船倉兵を殺しよったな！！！！'



	if(`%ゲームオーバーチェック` == 0 && $f:ロードチェックＯＮフラグ){



		eval($f:w04_船倉兵殺害ゲームオーバー = 1)



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

			-exec {

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

			}

	}





}





















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

//								船倉ぼかし設定

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



proc 船倉敵兵発見ぼかし設定{





	chara 近景ぼかし 敵兵発見近景ぼかし \

		-plane	20 \

		-near	0 \

		-far	4000



	chara 遠景ぼかし 敵兵発見遠景ぼかし \

		-plane 10 \

		-near 1000 \

		-far 2000

//		-near 5000 \

//		-far 10000







}













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

//								最初の一人発見

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







proc 最初の一人発見 {



	chara delay ディレイ -time 1 -arg $1 $2 $3 -exec{

		if(`%ゲームオーバーチェック` == 0 && $f:ロードチェックＯＮフラグ && $i:プレイヤー位置Ｙ > -17000){

			command ゲームオーバー処理開始 -load -exec {



				if(!$f:船倉最初に一人に発見された){



					command セットサウンドコード -c d:SNG_FOUTS_S

					command StreamStopAll



					eval($w:船倉演説イベント中 = 100)

					eval($f:船倉最初に一人に発見された = 1)



					print '最初の一人発見！！！！'



					eval($i:船倉兵位置Ｘ = $1)

					eval($i:船倉兵位置Ｙ = $2)

					eval($i:船倉兵位置Ｚ = $3)



					print '$i:船倉兵位置Ｘ' $i:船倉兵位置Ｘ

					print '$i:船倉兵位置Ｙ' $i:船倉兵位置Ｙ

					print '$i:船倉兵位置Ｚ' $i:船倉兵位置Ｚ





					command セットタイマーステータス -s d:TMR_WAIT



					command メニュー設定 \

						-menu off \			//武器・アイテムメニューのオンオフ

						-disable_menu off \	//メニューオープンの許可／不許可

						-gage off \

						-radar off \

						-subwin off \

						-radio off \

						-pause off





					command 無線設定 -reset



					command パッド操作 \

						-release



					chara デモキャンセルチェック ゲームオーバーデモキャンセル \

						-p 船倉ゲームオーバーデモキャンセル処理



					eval($i:船倉敵兵発見法線大きさ = `%VecLen $i:プレイヤー位置Ｘ $i:プレイヤー位置Ｙ $i:プレイヤー位置Ｚ $i:船倉兵位置Ｘ $i:船倉兵位置Ｙ $i:船倉兵位置Ｚ` / 1000)



					if($i:船倉敵兵発見法線大きさ <= 0){

						eval($w:角度 = 0 )

					}else{

						//ベクトル(x,z)の法線は(-z,x)

						//注意！！！$w:法線Ｘ変位　は、Ｚ軸が逆のため、-1をかけてあります！！

						eval($w:Ｘ変位 = ($i:プレイヤー位置Ｘ - $i:船倉兵位置Ｘ) / $i:船倉敵兵発見法線大きさ)

						eval($w:Ｚ変位 = (-$i:プレイヤー位置Ｚ + $i:船倉兵位置Ｚ) / $i:船倉敵兵発見法線大きさ)



						eval($w:角度 = `%atan $w:Ｘ変位 $w:Ｚ変位` )

					}





					eval($i:カメラポジションＸ = $i:船倉兵位置Ｘ - (`%cos $w:角度` * 500 / 4096))

					eval($i:カメラポジションＺ = $i:船倉兵位置Ｚ - (`%sin $w:角度` * 500 / 4096))





					if(`@船倉発見カメラ壁判定` == 0 || `%VecLen $i:プレイヤー位置Ｘ $i:プレイヤー位置Ｙ $i:プレイヤー位置Ｚ $i:船倉兵位置Ｘ $i:船倉兵位置Ｙ $i:船倉兵位置Ｚ` < 3000){



						chara delay ディレイ -time 180 -proc 船倉敵兵発見ゲームオーバー



					}else{







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

							-c 1 \

							-p $i:カメラポジションＸ,($i:船倉兵位置Ｙ + 500),$i:カメラポジションＺ \

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

							-a 170 \

							-i 0 -1 0 0 \

							-s 1





				//ぼかし変化

						mesg 近景ぼかし near_deforcus off

						mesg 遠景ぼかし far_deforcus off

						mesg 遠景ぼかし 敵兵発見遠景ぼかし on



						chara delay ディレイ -time 30 -exec {



				#if 1

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

								-c 1 \

								-p $i:カメラポジションＸ,($i:船倉兵位置Ｙ + 700),$i:カメラポジションＺ \

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

								-a 400 \

								-z d:CAMERA_INTERP_CAMERA \ //補完カメラフラグを指定。

								-interp_time 30 \ //補完時間を指定

								-s 1

				#else

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

								-c 1 \

								-p $i:カメラポジションＸ,($i:船倉兵位置Ｙ + 500),$i:カメラポジションＺ \

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

								-a 400 \

								-i 3 0 30 0 \

								-z d:CAMERA_INTERP_CAMERA \ //補完カメラフラグを指定。

								-interp_time 30 \ //補完時間を指定

								-s 1

				#endif

							mesg 遠景ぼかし 敵兵発見遠景ぼかし set (19 * 50) 0 40000 80000



							chara delay ディレイ \

								-time 20 \

								-exec {

									mesg 遠景ぼかし 敵兵発見遠景ぼかし off

								}



							mesg 近景ぼかし 敵兵発見近景ぼかし on



							chara delay ディレイ \

								-time 1 \

								-exec {

									mesg 近景ぼかし 敵兵発見近景ぼかし set (149 * 50) 0 1000 5000

								}



							chara delay ディレイ -time 150 -exec {

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

									-s -1



								mesg 近景ぼかし 敵兵発見近景ぼかし off

								mesg 遠景ぼかし far_deforcus on



								mesg デモキャンセルチェック ゲームオーバーデモキャンセル kill



								chara delay ディレイ -time 2 -proc 船倉敵兵発見ゲームオーバー

							}



						}



					}



				}



			}



		}



	}



}





proc 船倉一人発見ゲームオーバーデモキャンセル{



}











proc 船倉発見カメラ壁判定 {



#ifdef STAGE_W04A

	//ステージ外

	if(`%abs $i:カメラポジションＸ` > 13000 || $i:カメラポジションＺ > 0 || $i:カメラポジションＺ < -24000){

		return 0



	//発電機？の判定

	}else if($i:カメラポジションＸ > -7750 && $i:カメラポジションＸ < -6250){

		if(($i:カメラポジションＺ < -4000 && $i:カメラポジションＺ > -5500) \

			|| ($i:カメラポジションＺ < -9000 && $i:カメラポジションＺ > -10500) \

			|| ($i:カメラポジションＺ < -14000 && $i:カメラポジションＺ > -15500) \

			|| ($i:カメラポジションＺ < -19000 && $i:カメラポジションＺ > -20500) \

		){

			return 0

		}else{

			return 1

		}



	//柱の判定

	}else if(`%abs $i:カメラポジションＸ` > 9000){

		if(($i:カメラポジションＺ < -4000 && $i:カメラポジションＺ > -3000) \

			|| ($i:カメラポジションＺ < -10500 && $i:カメラポジションＺ > -11500) \

			|| ($i:カメラポジションＺ < -17000 && $i:カメラポジションＺ > -18000) \

		){

			return 0

		}else{

			return 1

		}



	//手前箱

	}else if($i:カメラポジションＺ > -3000 && $i:カメラポジションＺ < -2000 && `%abs $i:カメラポジションＸ` < 4000 && `%abs $i:カメラポジションＸ` > 3000){

		return 0



	//スクリーン下

	}else if($i:カメラポジションＸ > -9500 && $i:カメラポジションＸ < -4500 && $i:カメラポジションＺ > -23000 && $i:カメラポジションＺ < -21500){

		return 0



	}else if($i:カメラポジションＸ > -11000 && $i:カメラポジションＸ < -9500 && $i:カメラポジションＺ > -23000 && $i:カメラポジションＺ < -20750){

		return 0





	//左舷箱

	}else if($i:カメラポジションＸ > -11000 && $i:カメラポジションＸ < -9500 && $i:カメラポジションＺ > -13000 && $i:カメラポジションＺ < -15500){

		return 0



	}else{

		return 1

	}





#endif



#ifdef STAGE_W04B

	//ステージ外

	if(`%abs $i:カメラポジションＸ` > 13000 || $i:カメラポジションＺ > 0 || $i:カメラポジションＺ < -24000){

		return 0



	//発電機？の判定

	}else if(`%abs $i:カメラポジションＸ` < 7750 && `%abs $i:カメラポジションＸ` > 6250){

		if(($i:カメラポジションＺ < -4000 && $i:カメラポジションＺ > -5500) \

			|| ($i:カメラポジションＺ < -9000 && $i:カメラポジションＺ > -10500) \

			|| ($i:カメラポジションＺ < -14000 && $i:カメラポジションＺ > -15500) \

			|| ($i:カメラポジションＺ < -19000 && $i:カメラポジションＺ > -20500) \

		){

			return 0

		}else{

			return 1

		}



	//柱の判定

	}else if(`%abs $i:カメラポジションＸ` > 9000){

		if(($i:カメラポジションＺ < -4000 && $i:カメラポジションＺ > -3000) \

			|| ($i:カメラポジションＺ < -10500 && $i:カメラポジションＺ > -11500) \

			|| ($i:カメラポジションＺ < -17000 && $i:カメラポジションＺ > -18000) \

		){

			return 0

		}else{

			return 1

		}



	//手前箱

	}else if($i:カメラポジションＺ > -3000 && $i:カメラポジションＺ < -2000 && `%abs $i:カメラポジションＸ` < 4000 && `%abs $i:カメラポジションＸ` > 3000){

		return 0



	//スクリーン下

	}else if(`%abs $i:カメラポジションＸ` < 9500 && `%abs $i:カメラポジションＸ` > 4500 && $i:カメラポジションＺ > -23000 && $i:カメラポジションＺ < -21500){

		return 0



	}else if(`%abs $i:カメラポジションＸ` < 11000 && `%abs $i:カメラポジションＸ` > 9500 && $i:カメラポジションＺ > -23000 && $i:カメラポジションＺ < -20750){

		return 0



	//左舷箱

	}else if($i:カメラポジションＸ > -11000 && $i:カメラポジションＸ < -9500 && $i:カメラポジションＺ > -13000 && $i:カメラポジションＺ < -15500){

		return 0





	}else{

		return 1

	}





#endif



#ifdef STAGE_W04C

	//ステージ外

	if(`%abs $i:カメラポジションＸ` > 13000 || $i:カメラポジションＺ > 0 || $i:カメラポジションＺ < -36000){

		return 0



	//カメラマン台

	}else if(`%abs $i:カメラポジションＸ` < 6250 && `%abs $i:カメラポジションＸ` > 4750 && $i:カメラポジションＺ > -2500){

		return 0



	//コンテナ

	}else if(`%abs $i:カメラポジションＸ` < 9000 && `%abs $i:カメラポジションＸ` > 7500 && $i:カメラポジションＺ > -7000 && $i:カメラポジションＺ < -4500){

		return 0



	//柱の判定

	}else if(`%abs $i:カメラポジションＸ` > 10000){

		if(($i:カメラポジションＺ < -5000 && $i:カメラポジションＺ > -6000) \

			|| ($i:カメラポジションＺ < -12000 && $i:カメラポジションＺ > -17000) \

			|| ($i:カメラポジションＺ < -17000 && $i:カメラポジションＺ > -18000) \

		){

			return 0

		}else{

			return 1

		}



	}else{

		return 1

	}







#endif



}











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

//								船倉床下発見

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



proc 落としちまった終了 {



	command StreamIsPlay

	print 'ストリーム本数'$status



	if($1 == 0){

		command メニュー設定 -A on		//通信機禁止

	}else if($1 == 1){

/*

		if($i:プレイヤー位置Ｘ > 0){

			chara demo ライター兵発見カメラデモ \

				-i t:scndemo_w04b_00 \

				-begin ライター発見デモ開始 \

				-next ライター発見デモ終了 \

				-undraw d:DEMO_NO_UNDRAW



		}else{

			chara demo ライター兵発見カメラデモ \

				-i t:scndemo_w04b_01 \

				-begin ライター発見デモ開始 \

				-next ライター発見デモ終了 \

				-undraw d:DEMO_NO_UNDRAW



		}

*/

	}



}



proc ライターのぞき発見 {



	if(`%ゲームオーバーチェック` == 0 && $f:ロードチェックＯＮフラグ){

		command ゲームオーバー処理開始 -load -exec {

			command セットタイマーステータス -s d:TMR_WAIT



			eval($f:船倉最初に一人に発見された = 1)



			print 'ライター兵が発見！！！！'



			command StreamStopAll



			command メニュー設定 \

				-menu off \			//武器・アイテムメニューのオンオフ

				-disable_menu off \	//メニューオープンの許可／不許可

				-gage off \

				-radar off \

				-subwin off \

				-radio off \

				-pause off





			command 無線設定 -reset



			command パッド操作 \

				-release



			mesg シネマスクリーン シネマ フェードアウト 0		//ゼロでデフォルト値



			print '敵兵「あっ。おとしちまった。ちくしょう。諦めるか…」の中止'



#if 0



			%StreamStop $i:落としちまった音声コード





#else



			eval($i:船倉兵位置Ｘ = $1)

			eval($i:船倉兵位置Ｙ = $2)

			eval($i:船倉兵位置Ｚ = $3)



			print '$i:船倉兵位置Ｘ' $i:船倉兵位置Ｘ

			print '$i:船倉兵位置Ｙ' $i:船倉兵位置Ｙ

			print '$i:船倉兵位置Ｚ' $i:船倉兵位置Ｚ





			eval($i:カメラポジションＸ = $i:プレイヤー位置Ｘ)

			eval($i:カメラポジションＹ = -17500)

			eval($i:カメラポジションＺ = $i:プレイヤー位置Ｚ + 50)





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

				-c 1 \

				-p $i:カメラポジションＸ,$i:カメラポジションＹ,$i:カメラポジションＺ \

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

				-a 147 \

				-i 0 -1 0 0 \

				-s 1





			chara delay ディレイ -time 90 -exec {



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

					-c 1 \

					-p $i:カメラポジションＸ,$i:カメラポジションＹ,$i:カメラポジションＺ \

					-t $i:船倉兵位置Ｘ,$i:船倉兵位置Ｙ,$i:船倉兵位置Ｚ \

					-a 147 \

					-i 4 0 119 0 \

					-s 1



				chara delay ディレイ -time 120 -exec {



				eval($i:カメラポジションＸ = (($i:船倉兵位置Ｘ * 10) + ($i:船倉兵位置Ｘ - $i:プレイヤー位置Ｘ) * 1)/10 )

				eval($i:カメラポジションＹ = (($i:船倉兵位置Ｙ * 10) + ($i:船倉兵位置Ｙ - $i:プレイヤー位置Ｙ) * 1)/10 )

				eval($i:カメラポジションＺ = (($i:船倉兵位置Ｚ * 10) + ($i:船倉兵位置Ｚ - $i:プレイヤー位置Ｚ) * 1)/10 )





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

						-c 1 \

						-p $i:カメラポジションＸ,($i:船倉兵位置Ｙ + 14000),$i:カメラポジションＺ \

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

						-a 2000 \

						-i 0 -1 0 0 \

						-s 1





					chara delay ディレイ -time 60 -exec {



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

							-c 1 \

							-p $i:カメラポジションＸ,($i:船倉兵位置Ｙ + 14000),$i:カメラポジションＺ \

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

							-a 170 \

							-i 4 0 119 0 \

							-s 1





						chara delay ディレイ -time 120 -exec {

							@船倉敵兵発見ゲームオーバー

						}



					}





				}





			}





#endif





		}



	}







}













proc ライター発見デモ開始 {



	command セットサウンドコード -c d:SNG_FOUTS_S



	chara デモキャンセルチェック ライター発見デモキャンセル \

		-p ライター発見デモキャンセル





}





proc ライター発見デモキャンセル {

	command StreamStopAll

}





proc ライター発見デモ終了 {



	mesg デモキャンセルチェック ライター発見デモキャンセル kill



	@船倉敵兵発見ゲームオーバー



}













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

//								船倉演説終了ゲームオーバー

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





#if d:プロジェクタ録画用

proc 船倉演説終了ゲームオーバー{

	eval( $i:STREAM_ID = `%Stream t:vc070131 -p 船倉演説終了ゲームオーバー２ -menustop -c 1 -ipu` );

}





proc 船倉演説終了ゲームオーバー２ {

#else

proc 船倉演説終了ゲームオーバー{

#endif



	if($1 == 0 && `%ゲームオーバーチェック` == 0 && $f:ロードチェックＯＮフラグ){



		chara delay ディレイ -time 1 -exec {

			command ゲームオーバー処理開始 -load -exec {



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



				command メニュー設定 \

					-menu off \			//武器・アイテムメニューのオンオフ

					-disable_menu off \	//メニューオープンの許可／不許可

					-gage off \

					-radar off \

					-subwin off \

					-radio off \

					-pause off



				command StreamStopAll



				command 字幕制御 -hide



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

					-i 0 0 0 0 \		//設定するとこのＲＧＢαから始まる

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

					-s 143 \			//プライオリティ

					-t d:FADEOUT_TIME





				chara delay 敵兵発見ディレイ \

					-time 1 \

					-exec {

						eval( $i:STREAM_LAST_ID = `%Stream t:vc070150 -p 船倉敵兵発見ゲームオーバー終了処理` );

						print '船倉タイムオーバー'

					}



			}



		}



	}



}





































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

//									船倉スコット演説

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



#define	演説レベル１個数	6

#define	演説レベル２個数	11



proc 船倉スコット演説スタート{









	dim $w:w04演説音声リスト[19]





#if d:プロジェクタ録画用



		eval($i:船倉演説残り時間 = 60 * 60 * 100)



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



		command	配列セット $w:w04演説音声リスト[0] {

			1,2,3,4,5,6,

			7,8,9,10,11,12,13,14,15,16,17

		}







/*

	command rand 3



	if($status == 0){

		command	配列セット $w:w04演説音声リスト[0] {

			1,2,5,4,3,6,

			10,12,19,9,16,7,14,18,11,15,8,13,17

		}



	}else if($status == 1){

		command	配列セット $w:w04演説音声リスト[0] {

			2,3,4,1,5,6,

			8,14,7,17,15,11,18,10,9,13,19,16,12

		}



	}else{

		command	配列セット $w:w04演説音声リスト[0] {

			1,2,5,4,3,6,

			11,7,18,13,12,17,14,10,19,16,15,9,8

		}



	}

*/

	@演説実行初期化



#else



	if($i:プレイタイム%2 == 0){



		eval($w:順番代入値 = 3)



		command	配列セット $w:w04演説音声リスト[0] {

			1,2,0,0,0,6,

			0,0,0,0,0,0,0,0,0,0,0

		}



		@演説内容配列決定１



	}else{



		eval($w:順番代入値 = 1)



		command	配列セット $w:w04演説音声リスト[0] {

			2,0,0,0,0,6,

			0,0,0,0,0,0,0,0,0,0,0

		}





		@演説内容配列決定２



	}







//5秒間演説決まんなかったときの逃げ道

	chara delay 演説逃げ道ディレイ -time (60 * 4) -exec{



		mesg delay 演説ディレイ kill



		chara delay 演説逃げ道ディレイ -time 1 -exec{

			command	配列セット $w:w04演説音声リスト[0] {

				1,2,5,4,3,6,

				10,12,9,16,7,14,11,15,8,13,17

			}



			print '演説決まんないのでスタート！！'

			@演説実行初期化



		}





	}







#endif

}













//演説内容の順番を決定します。

proc 演説内容配列決定１{



	chara delay 演説ディレイ -time 1 -exec {



		if($w:順番代入値 <= 5){

			eval($w:代入場所 = `%rand 30`/10 + 2 )

		}else{

			eval($w:代入場所 = `%rand 110`/10 + 6 )

		}



		if($w:w04演説音声リスト[$w:代入場所] == 0){	//その場所のデータが空だった。

			eval($w:w04演説音声リスト[$w:代入場所] = $w:順番代入値 )

			print $w:順番代入値'だいにゅー'





			if($w:順番代入値 >= d:演説レベル１個数 + d:演説レベル２個数){

				@演説実行初期化

				print '演説スタート！！'



				return 0



			}else{



				if($w:順番代入値 == 5){

					eval($w:順番代入値 = 7)

				}else{

					eval($w:順番代入値 = $w:順番代入値 + 1)

				}



				return 1



			}



		}else{	//すでに代入されてた

			print 'やりなおし１'$w:順番代入値

			return 1



		}



	}



}















//演説内容の順番を決定します。

proc 演説内容配列決定２{



	chara delay 演説ディレイ -time 1 -exec {



		if($w:順番代入値 <= 5){

			eval($w:代入場所 = `%rand 40`/10 + 1 )

		}else{

			eval($w:代入場所 = `%rand 110`/10 + 6 )

		}



		if($w:w04演説音声リスト[$w:代入場所] == 0){	//その場所のデータが空だった。

			eval($w:w04演説音声リスト[$w:代入場所] = $w:順番代入値)

			print $w:順番代入値'だいにゅー'



			if($w:順番代入値 >= d:演説レベル１個数 + d:演説レベル２個数){

				print '演説スタート！！'

				@演説実行初期化

				return 0



			}else{



				if($w:順番代入値 == 1){

					eval($w:順番代入値 = 3)

				}else if($w:順番代入値 == 5){

					eval($w:順番代入値 = 7)

				}else{

					eval($w:順番代入値 = $w:順番代入値 + 1)

				}



				return 1

			}



		}else{	//すでに代入されてた

			print $w:代入場所'が'$w:w04演説音声リスト[$w:代入場所]'だったのでやりなおし２'$w:順番代入値

			return 1



		}



	}



}

















proc 演説実行初期化{

	print '演説実行初期化'



	mesg delay 演説ディレイ kill

	mesg delay 演説逃げ道ディレイ kill



	eval($f:w04演説は開始されました = 1)





	eval($w:演説進行ブロックステップ = 0)	//0-16まで

	eval($w:演説進行ステップ = 1)			//それぞれのブロックの中での分割の管理

	eval($w:演説イベントやったステップ = 0)





	command varsave $f:w04演説は開始されました

	command varsave $w:演説進行ブロックステップ

	command varsave $w:演説進行ステップ



	command foreach -argc 1 -repeat 17 \

		-data{ \

			{0},{1},{2},{3},{4}, \

			{5},{6},{7},{8},{9}, \

			{10},{11},{12},{13},{14}, \

			{15},{16} \

		} \

		-exec{ \

			command varsave $w:w04演説音声リスト[$1]

			print '演説番号'$1'は'$w:w04演説音声リスト[$1]

		}





	@演説実行





}





proc 演説ストリーム再生チェック{

	print '演説ストリーム再生チェック'



	eval($w:演説継続チェックカウンタ = 0)



	chara delay 演説継続チェックディレイ -time 1 -exec{



		command StreamStatus $i:STREAM_ID



		if($status == d:STREAM:PLAY){

			eval($w:演説継続チェックカウンタ = 0)

		}else{

			if($w:演説継続チェックカウンタ < 60 * 30){

				eval($w:演説継続チェックカウンタ = $w:演説継続チェックカウンタ + 1)

			}else{

				eval($w:演説継続チェックカウンタ = 0)

				@演説実行

			}

		}



		return 1

	}





}









proc 演説ドッキリスタートチェック {

	if($b:演説うっかり２回目ステップ == 1){

		return 0

	}else if( $s:ドッキリ系スタート != 不可 && !$f:w04演説ドッキリやった && !$f:第二船倉プロジェクタチェンジデモカメラ中){

		return 1

	}else if($s:エリア != w04a && !$f:船倉ステージ移動直後 && $w:演説進行ブロックステップ > 7 && !$f:w04演説ドッキリやった  && !$f:第二船倉プロジェクタチェンジデモカメラ中 && `%rand 100` < 30 ){

		return 1

	}else{

		return 0

	}

}



proc 演説首体操スタートチェック {

	if($b:演説うっかり２回目ステップ == 1){

		return 0

	}else if($w:演説進行ブロックステップ > $w:演説イベントやったステップ + 3){

		if( $s:ドッキリ系スタート != 不可 && !$f:第二船倉プロジェクタチェンジデモカメラ中 && ($f:w04演説首体操やった ) ){

			return 1

		}else if( $s:エリア != w04a && !$f:船倉ステージ移動直後 && !$f:第二船倉プロジェクタチェンジデモカメラ中 && $w:演説進行ブロックステップ > 4 && !$f:w04演説首体操やった && `%rand 100` < 40 ){

			return 1

		}else if( $s:エリア != w04a && !$f:船倉ステージ移動直後 && !$f:第二船倉プロジェクタチェンジデモカメラ中 && $w:演説進行ブロックステップ > 4 && $f:w04演説首体操やった && ($w:演説進行ブロックステップ > $w:演説イベントやったステップ + 3)&&`%rand 100` < 20 ){

			return 1

		}else{

			return 0

		}

	}else{

		return 0

	}

}



proc 演説休憩スタートチェック {

	if($b:演説うっかり２回目ステップ != 1 && $s:エリア != w04a && !$f:船倉ステージ移動直後 && !$f:第二船倉プロジェクタチェンジデモカメラ中 && $w:演説進行ブロックステップ > 4 && !$f:w04演説アメリカンジョークやった && ($w:演説進行ブロックステップ > $w:演説イベントやったステップ + 3) && `%rand 100` < 40 ){

		return 1

	}else{

		return 0

	}

}







proc 演説実行 {

	print '演説実行'

	print '$w:演説進行ブロックステップ＝'$w:演説進行ブロックステップ

	print '$w:演説ナンバーは'$w:w04演説音声リスト[$w:演説進行ブロックステップ]

	print '$w:演説進行ステップ＝'$w:演説進行ステップ



	if($b:船倉ロード回数カウンタ == 10){



		eval( $i:STREAM_ID = `%Stream t:vc070144 -p 演説終了処理 -menustop -c 1 -ipu` );

		print 'スコット「同じところを往復するな！それでは任務は決して遂行できない」'



		chara delay ディレイ -time (60 * 10) -exec{

			eval($b:船倉ロード回数カウンタ = 100)

		}



//タイムオーバー前演説

#if d:プロジェクタ録画用

	}else if($w:演説進行ブロックステップ == 19){

		@演説ステップ移行

#else



	#ifdef JAPANESE

		#define	ラスト開始タイム		10

	#else

		#define	ラスト開始タイム		10

	#endif



	}else if(`%ゲット残りタイム` < (60 * d:ラスト開始タイム) && ($s:エリア != w04b || !$f:第二船倉プロジェクタチェンジデモカメラ中) ){

		if((!$f:w04c_船倉演説タイムボーナス発生 && $s:エリア == w04c) || (!$f:w04b_船倉演説タイムボーナス発生 && $s:エリア == w04b)){

#endif



			chara delay ディレイ -time (60 * 5) -exec{

				eval( $i:STREAM_ID = `%Stream t:vc070140 -p 船倉演説終了タイムボーナス -menustop -c 1 -ipu` );

				print 'スコット「…興が乗ってきた。もう少しだけ話をしようか。」'

			}



#if d:プロジェクタ録画用

	}else if($w:演説進行ブロックステップ == 24){

		@演説ステップ移行

#else

		}else{

#endif

			print '************************************************'

			print '************************************************'

			print '************************************************'

			print '************************************************'

			print '************************************************'

			print '************************************************'

			print '演説終了でゲームオーバー'



			eval( $i:STREAM_ID = `%Stream t:vc070130 -p 船倉演説終了ゲームオーバー -menustop -c 1 -ipu` );



			//スコット「....このメタルギアＲＡＹによって、我々海兵隊が新しい時代を切り開くのだ。以上、解散！！！」

			eval($w:船倉演説イベント中 = $w:船倉演説イベント中 + 1)



#if d:プロジェクタ録画用

#else

		}

#endif













//ドッキリ開始

#if d:プロジェクタ録画用

	}else if($w:演説進行ブロックステップ == 20){

		@演説ステップ移行

#else

	}else if(`@演説ドッキリスタートチェック`){

#endif



		print 'ドッキリ開始なので$w:船倉演説イベント中'

		eval($w:船倉演説イベント中 = $w:船倉演説イベント中 + 1)

		chara delay ディレイ -time (60 * 5) -exec{



			eval($f:w04演説ドッキリやった = 1)

			eval($w:演説イベントやったステップ = $w:演説進行ブロックステップ)



			command varsave $f:w04演説ドッキリやった



			@演説ドッキリスタート





		}











//首体操開始

#if d:プロジェクタ録画用

	}else if($w:演説進行ブロックステップ == 21){

		@演説ステップ移行

#else

	}else if(`@演説首体操スタートチェック`){

		print '首体操中なので$w:船倉演説イベント中'

		eval($w:船倉演説イベント中 = $w:船倉演説イベント中 + 1)

		chara delay ディレイ -time (60 * 5) -exec{

			eval($w:演説イベントやったステップ = $w:演説進行ブロックステップ)

			@演説首体操スタート

		}

#endif











//アメリカンジョーク予定

#if d:プロジェクタ録画用

	}else if($w:演説進行ブロックステップ == 22){

		@演説ステップ移行

#else

	}else if(`@演説休憩スタートチェック`){

#endif

		print '休憩中なので$w:船倉演説イベント中'

		eval($w:船倉演説イベント中 = $w:船倉演説イベント中 + 1)

		chara delay ディレイ -time (60 * 5) -exec{



			eval($f:w04演説アメリカンジョークやった = 1)

			eval($w:演説イベントやったステップ = $w:演説進行ブロックステップ)



			command varsave $f:w04演説アメリカンジョークやった



			@演説アメリカンジョークスタート



		}











//うっかり２回おなじセリフ

#if d:プロジェクタ録画用

	}else if($w:演説進行ブロックステップ == 23){

		eval($w:演説進行ブロックステップ = 24)

		@演説しまった音声再生



#else

	}else if($b:演説うっかり２回目ステップ == 0 && $w:演説進行ブロックステップ > 6 && $w:演説進行ステップ == 1 && `%rand 100` < 20){



		print 'これからうっかり２回目始めます'

		eval($w:演説進行ブロックステップ退避 = $w:演説進行ブロックステップ)

		eval($w:演説進行ブロックステップ = `%rand ($w:演説進行ブロックステップ退避 - 2)` + 1)

		eval($b:演説うっかり２回目ステップ = 1)



		chara delay ディレイ -time 1 -exec{

			@演説実行

		}

#endif









//演説本体



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 1){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

			//print'現在、メタルギアのデータは先進国のみならず、第三国のいわゆる『ならず者国家（rogue country）』の手にまで渡っている。'

			eval( $i:STREAM_ID = `%Stream t:vc070002 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

			//print '合衆国の核武装に対抗するため、各国は独自のメタルギア開発に着手しはじめた。今、世界中でメタルギアの子供達が孵化しようとしているのだ。'

			eval( $i:STREAM_ID = `%Stream t:vc070003 -p 演説終了処理 -menustop -c 1 -ipu` );



		}



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 2){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

			//print 'そこで、我々はメタルギアの亜種に対する迎撃兵器として、このメタルギアＲＡＹを開発した。メタルギアに対抗できるのはメタルギアだけだ。'

			eval( $i:STREAM_ID = `%Stream t:vc070004 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

			//print 'ＲＡＹの前では世界中に拡散したどのメタルギアも、脅威ではなくなる。我々海兵隊がこのメタルギアＲＡＹによって、愚かな核軍拡の流れを押しとどめるのだ。'

			eval( $i:STREAM_ID = `%Stream t:vc070005 -p 演説終了処理 -menustop -c 1 -ipu` );



		}



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 3){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

			//print 'このＲＡＹによって他のメタルギアは無効になると言って良い。その軍事的優位性は、メタルギア導入を進めようとしている各国の核戦略を再度転換させるだろう。'

			eval( $i:STREAM_ID = `%Stream t:vc070006 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

			//print 'パワーバランスは見直され、新しい世界秩序が築かれる。そしてその新しい世界で軍事的主役を務めるのは我々海兵隊となるのだ。'

			eval( $i:STREAM_ID = `%Stream t:vc070007 -p 演説終了処理 -menustop -c 1 -ipu` );



		}



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 4){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

			//print 'このＲＡＹが完成すれば、空母の戦略的価値が下がるという声もある。海軍から反発があるのも事実である。エヴィエイターやサブマリーナ出身の海軍幹部からの圧力もある。'

			eval( $i:STREAM_ID = `%Stream t:vc070008 -p 演説終了処理 -action 海軍からの圧力再生したプロック -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

			//print 'そしてあの勢力……。しかし、我々海兵隊にはこの計画が必要なのだ。諸君、敵は外だけではない。このことを忘れないでいてもらいたい。'

			eval( $i:STREAM_ID = `%Stream t:vc070009 -p 演説終了処理 -menustop -c 1 -ipu` );



		}



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 5){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

			//print '同じメタルギアの名を持つプロジェクトでも、海軍で進行中のあの計画とは違う。アレは核軍拡をさらに際限なく促進するプロジェクトだ。'

			eval( $i:STREAM_ID = `%Stream t:vc070010 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

			//print 'それを推進しようとする勢力が我々のメタルギアＲＡＹ開発に対し圧力をかけているという事実もある。だが我々は決して屈しない。'

			eval( $i:STREAM_ID = `%Stream t:vc070011 -p 演説終了処理 -menustop -c 1 -ipu` );



		}



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 6){

		@演説ステップ移行

		@演説進行ステップ初期化

		//print '私にも娘がいる。娘、そしてその子供達には核の恐怖を味わわせたくはない。父親として、次の世代により良い世界を残したいのだ。それは軍人としての義務でもある。'

		eval( $i:STREAM_ID = `%Stream t:vc070012 -p 演説終了処理 -menustop -c 1 -ipu` );



















	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 7){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

//			%Stream t:vc070134 -p 演説終了処理

			//print '我が国の政府・軍部内に、己の利権のために国策を我が物とする勢力が厳然として存在するのは事実だ。このメタルギアＲＡＹはそれら勢力に対抗し、彼等の意図をくじいて、この国をあるべき方向に戻すという役割も負っている。'

			eval( $i:STREAM_ID = `%Stream t:vc070134 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

//			%Stream t:vc070135 -p 演説終了処理

			//print 'そのためにこの演習はなんとしても成功させなければならないのだ。諸君は我が国の未来を背負っていると言うことを理解しておいてもらいたい。'

			eval( $i:STREAM_ID = `%Stream t:vc070135 -p 演説終了処理 -menustop -c 1 -ipu` );



		}



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 8){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

			//print 'メタルギアの開発と拡散によって、ＮＰＴやＳＴＡＲＴなどの核軍縮条約も今や有名無実と化そうとしている。この忌まわしき潮流を利用して己の権力を伸長し、利権を確保しようとする勢力があるのも事実だ。'

			eval( $i:STREAM_ID = `%Stream t:vc070015 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

			//print '旧世紀の、愚かで際限のない核軍拡の時代に、人類は再び立ち戻ろうとしている。あの悪夢を甦らせてはならない。そのために今、諸君の前に、このメタルギアＲＡＹがある。'

			eval( $i:STREAM_ID = `%Stream t:vc070016 -p 演説終了処理 -menustop -c 1 -ipu` );



		}



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 9){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

			//print '核技術者の流出、闇市場におけるプルトニウムの密売。旧世紀末から核兵器を製造すること自体は難しいことではなくなっている。そこに今、メタルギアという技術までもが加わった。結果、一度は破棄されかけた核軍拡路線が各国に復活しつつある。'

			eval( $i:STREAM_ID = `%Stream t:vc070017 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

			//print '世界は大量殺戮兵器に支配された、あの恐怖の時代に立ち戻ろうとしているのだ。しかしこのメタルギアＲＡＹがあれば、他国のメタルギアを駆逐し、その流れを食い止めることが出来る。我々海兵隊がそれをなすのだ。'

			eval( $i:STREAM_ID = `%Stream t:vc070018 -p 演説終了処理 -menustop -c 1 -ipu` );



		}



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 10){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

			//print 'ＮＭＤは前世紀末から、２００５年の配備を目標に進められていた。だが２０００年に行われたＮＭＤ迎撃実験は失敗し、１９９９年に行われた実験の成功も偶然であったという見方がされるようになった。'

			eval( $i:STREAM_ID = `%Stream t:vc070019 -p 演説終了処理 -action ＮＭＤ再生したプロック -menustop -c 1 -ipu` );



		}else if($w:演説進行ステップ == 2){

			@演説進行ステップ移行

			//print '技術的問題の解決に目処が立たない上に、ＮＭＤがＡＢＭ制限条約に違反するというロシアや中国からの強い批判もあった。またミサイル迎撃技術の発達は、多弾頭化等核兵器のさらなる高度化と核軍拡を生むという指摘も早くからなされていた。'

			eval( $i:STREAM_ID = `%Stream t:vc070020 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

			//print 'しかしシアーズ前大統領はＮＭＤ構想を強引に推進し、これを導入した。その影には１千億ドルを越える巨額の開発予算を巡る一部軍需産業の思惑が大きく反映されていたといわれている。'

			eval( $i:STREAM_ID = `%Stream t:vc070132 -p 演説終了処理 -menustop -c 1 -ipu` );



		}



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 11){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

			//print '前の大統領ジョージ・シアーズはＮＭＤ構想を推進しながらも、ロシアにＡＢＭ制限条約の修正を認めさせるために、ＳＴＡＲＴ３の戦略核上限を引き下げるなど、核兵器削減も同時に行った。それにより世界は核軍縮の方向に向かうと思われていた。だが、あのシャドーモセス事件がそれを逆行させた。'

			eval( $i:STREAM_ID = `%Stream t:vc070021 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

			//print '勿論、メタルギアＲＥＸの開発はいまだ公には認められていない。しかし各国軍事関係者の間では公然の事実だ。そのデータも流出し、メタルギア技術は既に拡散している。世界は核軍拡の道を再び進みつつあるのだ。それを止められるのは、このメタルギアＲＡＹの存在をおいて他にない。'

			eval( $i:STREAM_ID = `%Stream t:vc070022 -p 演説終了処理 -menustop -c 1 -ipu` );



		}



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 12){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

			//print 'メタルギアＲＡＹは水陸両用だ。陸軍で開発されていたメタルギアＲＥＸとは違う。海中深く潜航して、探知されることなく接近し、あらゆる沿岸から上陸する。'

			eval( $i:STREAM_ID = `%Stream t:vc070023 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

			//print 'Ｊ−ＴＩＤＳを用いた完璧な索敵能力で敵を発見し、圧倒的な火力で撃滅する。この究極の兵器が諸君の手に委ねられるのだ。'

			eval( $i:STREAM_ID = `%Stream t:vc070024 -p 演説終了処理 -menustop -c 1 -ipu` );



		}



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 13){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

//			%Stream t:vc070025 -p 演説終了処理

			//print 'このメタルギアＲＡＹはプロトタイプだ。人間が搭乗して操作する有人機となっている。だが制式型では、テレイグジステンスと自律制御システムを併用した完全な無人機になる予定だ。Ｃ４ＩＳＲ、ＲＭＡ。'

			eval( $i:STREAM_ID = `%Stream t:vc070025 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

//			%Stream t:vc070026 -p 演説終了処理

			//print '戦場のデジタル化の重要性が取りざたされて久しいが、メタルギアＲＡＹはそれを真に具現化する、初めての兵器となる。ＲＡＹの完成と共に戦場は新しい時代を迎えるのだ。我々海兵隊の手で。'

			eval( $i:STREAM_ID = `%Stream t:vc070026 -p 演説終了処理 -menustop -c 1 -ipu` );



		}



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 14){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

//			%Stream t:vc070136 -p 演説終了処理

			//print 'シャドーモセス事件後、当時の大統領ジョージ・シアーズは辞任した。無論、その公式な理由は新型核弾頭とメタルギアＲＥＸ開発の事実を認めたためではない。'

			eval( $i:STREAM_ID = `%Stream t:vc070136 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

//			%Stream t:vc070135 -p 演説終了処理

			//print 'だが、その揉み消しに失敗し政界内での地位を失って辞任に追い込まれた、というのが事実だという噂は諸君も聞いたことがあるだろう。'

			eval( $i:STREAM_ID = `%Stream t:vc070137 -p 演説終了処理 -menustop -c 1 -ipu` );



		}



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 15){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

//			%Stream t:vc070029 -p 演説終了処理

			//print '我々はこのままニューヨーク湾を出て、ＲＡＹの潜航演習を行う。極秘の作戦行動だ。シャドーモセス事件以来、兵器開発に対する世論の攻撃は激しい。演習は世間の目に触れることなく行われなければならない。'

			eval( $i:STREAM_ID = `%Stream t:vc070029 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

//			%Stream t:vc070030 -p 演説終了処理

			//print 'ＲＡＹの開発が完成前に中止されることがあってはならないのだ。そのためにこの偽装タンカーを使用している。ＲＡＹにはそれだけの価値があるのだ。'

			eval( $i:STREAM_ID = `%Stream t:vc070030 -p 演説終了処理 -menustop -c 1 -ipu` );



		}



	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 16){

		@演説ステップ移行

		@演説進行ステップ初期化

//		%Stream t:vc070031 -p 演説終了処理

		//print '新型メタルギアの「ＲＡＹ」というコードネームは、南洋に住む巨大エイ、マンタレイから取っている。勇壮な海の王者だ。ただマンタレイに刺はないが、我々のＲＡＹにはそれがある。我々はこのＲＡＹをもって新しい時代の海と陸を統べる。'

			eval( $i:STREAM_ID = `%Stream t:vc070031 -p 演説終了処理 -menustop -c 1 -ipu` );













	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 17){

		@演説ステップ移行

		@演説進行ステップ初期化

//		%Stream t:vc070132 -p 演説終了処理

		//print 'メタルギアＲＥＸの開発はＮＭＤ技術の他国への流出によって将来起こりうる核抑止力の減少に備えた一手だったとも言われている。そうだとするならば、それは将来的に発生する莫大な利益と権力を確保しようという一部軍需産業と軍部による目論見があったことを意味する。我々がここにいるのは、そうした勢力を一掃するためでもある。'

			eval( $i:STREAM_ID = `%Stream t:vc070133 -p 演説終了処理 -action 哀れな海兵隊成仏プロック -menustop -c 1 -ipu` );



/*

	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 18){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

			//print 'この計画は第２５代海軍作戦総長ジェレミー・マイケル・ボーダ大将が、１９９０年代半ばに進めていた、アーセナル・シップ計画から派生したものだ。'

			eval( $i:STREAM_ID = `%Stream t:vc070013 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

			//print 'そのことから、本計画は呪われているという者も居る。確かにボーダ提督の死は不幸な出来事であった。だが我々はこの計画を完遂せねばならない。'

			eval( $i:STREAM_ID = `%Stream t:vc070014 -p 演説終了処理 -menustop -c 1 -ipu` );

		}





	}else if($w:w04演説音声リスト[$w:演説進行ブロックステップ] == 19){

		if($w:演説進行ステップ == 1){

			@演説進行ステップ移行

//			%Stream t:vc070027 -p 演説終了処理

			//print 'この計画の前身は１９９０年代半ばに推進されていたアーセナル・シップ計画だ。だがその責任者であるボーダ提督は１９９６年５月に突然自殺。計画もフェイズ２、機能設計段階で突如打ち切りとなった。'

			eval( $i:STREAM_ID = `%Stream t:vc070027 -p 演説終了処理 -menustop -c 1 -ipu` );



		}else{

			@演説ステップ移行

			@演説進行ステップ初期化

//			%Stream t:vc070028 -p 演説終了処理

			//print 'その直後にメタルギアＲＥＸの開発が始まったこともあり、提督の死について、様々な噂が流れたことは諸君も知っていることだろう。'

			eval( $i:STREAM_ID = `%Stream t:vc070028 -p 演説終了処理 -menustop -c 1 -ipu` );



		}

*/







	}else{

		print '演説ネタありましえーん！！'

		eval($w:演説進行ブロックステップ = `%rand 17` + 1)

		print '不覚にもランダム演説になっちまった'$w:演説進行ブロックステップ

		if($w:w04演説音声リスト[$w:演説進行ブロックステップ] != 0){

			chara delay ディレイ -time 1 -p 演説実行

		}

	}







}









#define 演説移行タイム	5







proc 演説進行ステップ移行 {



	chara delay 演説ステップ移行ディレイ -time (60 * d:演説移行タイム) -exec{

		eval($w:演説進行ステップ = $w:演説進行ステップ + 1)

	}





}



proc 演説進行ステップ初期化 {

	chara delay 演説ステップ移行ディレイ -time (60 * d:演説移行タイム) -exec{

		eval($w:演説進行ステップ = 1)

	}

}







proc 演説ステップ移行 {



	chara delay 演説ステップ移行ディレイ -time (60 * d:演説移行タイム) -exec{



#if d:プロジェクタ録画用

		eval($w:演説進行ブロックステップ = $w:演説進行ブロックステップ + 1 )

#else

		if(!$f:船倉ランダム演説 && (($w:演説進行ブロックステップ + 1) < (d:演説レベル１個数 + d:演説レベル２個数))){

			eval($w:演説進行ブロックステップ = $w:演説進行ブロックステップ + 1 )



		}else{

			eval($w:演説進行ブロックステップ = `%rand 17`)

			print 'ランダム演説です'$w:演説進行ブロックステップ

			eval($f:船倉ランダム演説 = 1)



		}

#endif

		eval($f:船倉ステージ移動直後 = 0)



	}



}







proc 演説終了処理{



	if($1 == 0){

		if($b:演説うっかり２回目ステップ == 1){

			@演説うっかり２回目終了処理



			chara delay ディレイ -time 240 -exec {

				@演説しまった音声再生

			}



		}else{

			@演説実行



		}



	}



}









proc 船倉演説終了タイムボーナス {



	if($1 == 0){

		if($s:エリア == w04b){

			eval($f:w04b_船倉演説タイムボーナス発生 = 1)

			mesg タイマー タイマー 加算 (60 * 60 * 2)

			//command タイマー加算 -time (60 * 60 * 2)

		}else{

			eval($f:w04c_船倉演説タイムボーナス発生 = 1)

			mesg タイマー タイマー 加算 (60 * 60 * 3)

			//command タイマー加算 -time (60 * 60 * 3)

		}

		chara delay ディレイ -time 5 -p 演説実行

	}



}









proc 哀れな海兵隊成仏プロック  $:ストリームＩＤ $:話者名 $:アクションコード {

	//プロジェクタの中の犠牲者

	if($s:エリア != w04c){

		print '$f:w04c_哀れな海兵隊成仏 = 1'

		eval($f:w04c_哀れな海兵隊成仏 = 1)

	}



}





proc 海軍からの圧力再生したプロック  $:ストリームＩＤ $:話者名 $:アクションコード {

	print '$f:rft_演説２海軍からの圧力再生した = 1'

	eval($f:rft_演説２海軍からの圧力再生した = 1)

}





proc ＮＭＤ再生したプロック  $:ストリームＩＤ $:話者名 $:アクションコード {

	print '$f:rft_演説４ＮＭＤ再生した = 1'

	eval($f:rft_演説４ＮＭＤ再生した = 1)

}











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

//							演説うっかり２回目終了処理

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





proc 演説うっかり２回目終了処理 {



	eval($b:演説うっかり２回目ステップ = 2)

	eval($w:演説進行ブロックステップ = $w:演説進行ブロックステップ退避)

	eval($w:演説進行ステップ = 1)





}



proc 演説しまった音声再生 {

	print'スコット「…しまった。また同じ話をしてしまった。私も歳だな…。」'

	eval( $i:STREAM_ID = `%Stream t:vc070139 -p 演説終了処理 -menustop -c 1 -ipu` );



}





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

//							スコットアップカットインスタート

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







proc 演説スコットアップカットインスタート {



#if d:プロジェクタ録画用

#else

	if(`%プレイヤー状態取得` & d:PFLAG_INTRUDE == 0){

		@シナリオデモ開始処理

	}



	if($s:エリア == w04b && $i:プレイヤー位置Ｚ < 0 && $i:プレイヤー位置Ｚ > -18000 && $i:プレイヤー位置Ｙ > -17000){

		if($f:第二船倉プロジェクタ方向 == 0){	//右側のとき

			chara カメラ設定 サブカメラ４ \

				-c 1 \

				-p 2734,-4517,-11059 \

				-t 3086,-5384,-12950 \

				-a 153 \

				-i 0 0 0 0 \

				-s 1

		}else{

			chara カメラ設定 サブカメラ４ \

				-c 1 \

				-p -2734,-4517,-11059 \

				-t -3086,-5384,-12950 \

				-a 153 \

				-i 0 0 0 0 \

				-s 1

		}



	}else if($s:エリア == w04c){

		chara delay スコットアップディレイ -time 1 -exec{

			chara カメラ設定 サブカメラ４ \

				-c 1 \

				-p 0,-15112,-4219 \

				-t $i:スコットＸ座標,($i:スコットＹ座標 + 300),$i:スコットＺ座標 \

				-a 500 \

				-i 0 0 0 0 \

				-s 1



			return 1

		}

	}













	chara delay ディレイ -time (60 * 6) -exec{



		mesg delay スコットアップディレイ kill



		chara delay ディレイ -time 2 -exec{

			@シナリオデモ終了処理

			chara カメラ設定 サブカメラ４ \

				-s -1

		}



	}



#endif



}





proc 演説スコットアップカットイン終了 {



#if d:プロジェクタ録画用

#else

	mesg delay スコットアップディレイ kill



	chara delay ディレイ -time 2 -exec{



		@シナリオデモ終了処理



		chara カメラ設定 サブカメラ４ \

			-s -1



	}

#endif



}











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

//									首体操イベント

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



proc 演説首体操スタート{



	eval($w:演説首体操回数 = 1)

	eval($b:演説首体操方向 = 0)



	command セットタイマーステータス -s d:TMR_WAIT

	mesg 船倉兵 SEALS_1 前に首を向けろ



/*

	if(!$f:首体操スコットアップカットイン見た){

		eval($f:首体操スコットアップカットイン見た = 1)

		@演説スコットアップカットインスタート

	}

*/



#if d:プロジェクタ録画用

		print 'さて、諸君も肩がこっただろう。首の運動でもしようか。'

		eval( $i:STREAM_ID = `%Stream t:vc070100 -p プロジェクタ撮影用演説首体操１ -menustop -c 1 -ipu` );

#else

	if(!$f:w04演説首体操やった){

		eval($f:w04演説首体操やった = 1)

		print 'さて、諸君も肩がこっただろう。首の運動でもしようか。'

		eval( $i:STREAM_ID = `%Stream t:vc070100 -p 演説首体操中盤１ -menustop -c 1 -ipu` );



	}else if(`%rand 2` == 0){

		print 'そろそろ肩がこってきた頃だろう。また首の運動だ。'

		eval( $i:STREAM_ID = `%Stream t:vc070107 -p 演説首体操中盤１ -menustop -c 1 -ipu` );



	}else{

		print 'さぁ、また首の運動でもしようか。'

		eval( $i:STREAM_ID = `%Stream t:vc070108 -p 演説首体操中盤１ -menustop -c 1 -ipu` );



	}

#endif





}





#if d:プロジェクタ録画用



proc プロジェクタ撮影用演説首体操１ {

	print 'そろそろ肩がこってきた頃だろう。また首の運動だ。'

	eval( $i:STREAM_ID = `%Stream t:vc070107 -p プロジェクタ撮影用演説首体操２ -menustop -c 1 -ipu` );



}





proc プロジェクタ撮影用演説首体操２ {

	print 'さぁ、また首の運動でもしようか。'

	eval( $i:STREAM_ID = `%Stream t:vc070108 -p 演説首体操中盤１ -menustop -c 1 -ipu` );



	eval( $b:演説首体操方向 = 0 )



}



#endif



proc 演説首体操中盤１{



	if($1 == 0){

		//@演説スコットアップカットイン終了

		@演説首体操中盤２

	}



}



#define 首体操タイムラグ	60





proc 演説首体操中盤２{



#if d:プロジェクタ録画用

	@演説首体操実行

#else

	command rand 5



	if($w:演説首体操回数 == 1){



		if($s:ドッキリ系スタート == 左){

			eval( $b:演説首体操方向 = 1 )



		}else if($s:ドッキリ系スタート == 右){

			eval( $b:演説首体操方向 = 0 )



		}else if($i:プレイヤー位置Ｘ < 0){

			eval( $b:演説首体操方向 = 0 )





		}else{

			eval( $b:演説首体操方向 = 1 )



		}



		@演説首体操実行



	}else{



		if($status == $b:演説首体操方向){

			chara delay 首体操ディレイ -time 1 \

			 -exec{

				@演説首体操中盤２

			}



		}else{

			eval( $b:演説首体操方向 = $status )

			@演説首体操実行



		}



	}

#endif



}











proc 演説首体操実行{



	eval($w:演説首体操回数 = $w:演説首体操回数 + 1)



	if($b:演説首体操方向 == 0){

		print '右……'

		eval( $i:STREAM_ID = `%Stream t:vc070101 -p 演説首体操継続判定 -menustop -c 1 -ipu` );

		chara delay 首体操ディレイ -time d:首体操タイムラグ -exec {

			mesg 船倉兵 SEALS_1 右に首を向けろ

		}



	}else if($b:演説首体操方向 == 1){

		print '左……'

		eval( $i:STREAM_ID = `%Stream t:vc070102 -p 演説首体操継続判定 -menustop -c 1 -ipu` );

		chara delay 首体操ディレイ -time d:首体操タイムラグ -exec {

			mesg 船倉兵 SEALS_1 左に首を向けろ

		}



	}else if($b:演説首体操方向 == 2){

		print '上……'

		eval( $i:STREAM_ID = `%Stream t:vc070103 -p 演説首体操継続判定 -menustop -c 1 -ipu` );

		chara delay 首体操ディレイ -time d:首体操タイムラグ -exec {

			mesg 船倉兵 SEALS_1 上に首を向けろ

		}



	}else if($b:演説首体操方向 == 3){

		print '下……'

		eval( $i:STREAM_ID = `%Stream t:vc070104 -p 演説首体操継続判定 -menustop -c 1 -ipu` );

		chara delay 首体操ディレイ -time d:首体操タイムラグ -exec {

			mesg 船倉兵 SEALS_1 下に首を向けろ

		}



	}else if($b:演説首体操方向 == 4){

		print '前……'

		eval( $i:STREAM_ID = `%Stream t:vc070105 -p 演説首体操継続判定 -menustop -c 1 -ipu` );

		chara delay 首体操ディレイ -time d:首体操タイムラグ -exec {

			mesg 船倉兵 SEALS_1 前に首を向けろ

		}



	}else{

		print '後ろ……'

		eval( $i:STREAM_ID = `%Stream t:vc070106 -p 演説首体操継続判定 -menustop -c 1 -ipu` );

		chara delay 首体操ディレイ -time d:首体操タイムラグ -exec {

			mesg 船倉兵 SEALS_1 後を向け

		}





	}





}







proc 演説首体操継続判定{



if($1 == 0){



#if d:プロジェクタ録画用

	if($b:演説首体操方向 == 5){

		chara delay 首体操ディレイ -time (60 * 4) \

		 -exec{

			print 'さて……。'

			eval( $i:STREAM_ID = `%Stream t:vc070121 -p 演説終了処理 -menustop -c 1 -ipu` );

		}

	}else{

		eval($b:演説首体操方向 = $b:演説首体操方向 + 1)

		chara delay 首体操ディレイ -time 60 -exec {

			@演説首体操中盤２

		}

	}



#else

	chara delay 首体操ディレイ -time 60 -exec {



		if($w:演説首体操回数 <= 3){

			@演説首体操中盤２



		}else if($w:演説首体操回数 <= 6 && `%rand 100`< 60){

			@演説首体操中盤２



		}else if(`%rand 100`< 30){

			@演説首体操中盤２



		}else{

			chara delay 首体操ディレイ -time (60 * 4) \

			 -exec{



				mesg タイマー タイマー 開始

				mesg 船倉兵 SEALS_1 前に首を向けろ

				eval($w:船倉演説イベント中 = $w:船倉演説イベント中 - 1)



				command rand 3

				if($status == 0){

					print 'さて……。'

					eval( $i:STREAM_ID = `%Stream t:vc070121 -p 演説終了処理 -menustop -c 1 -ipu` );



				}else if($status == 1){

					print '続きだ。'

					eval( $i:STREAM_ID = `%Stream t:vc070122 -p 演説終了処理 -menustop -c 1 -ipu` );



				}else{

					print '話に戻ろう。'

					eval( $i:STREAM_ID = `%Stream t:vc070123 -p 演説終了処理 -menustop -c 1 -ipu` );



				}



			 }



		}



	}



#endif

}



}





#if d:プロジェクタ録画用



proc プロジェクタ撮影用演説終了１ {

	chara delay 首体操ディレイ -time (60 * 4) \

	 -exec{

		print '続きだ。'

		eval( $i:STREAM_ID = `%Stream t:vc070122 -p プロジェクタ撮影用演説終了２ -menustop -c 1 -ipu` );

	}

}





proc プロジェクタ撮影用演説終了２ {

	chara delay 首体操ディレイ -time (60 * 4) \

	 -exec{

		print '話に戻ろう。'

		eval( $i:STREAM_ID = `%Stream t:vc070123 -p 演説終了処理 -menustop -c 1 -ipu` );

	}

}



#endif





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

//								警戒ドッキリイベント

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



proc 演説ドッキリスタート{



	eval($w:演説ドッキリ回数 = 0)

	command セットタイマーステータス -s d:TMR_WAIT



/*

	if(!$f:ドッキリスコットアップカットイン見た){

		eval($f:ドッキリスコットアップカットイン見た = 1)

		@演説スコットアップカットインスタート

	}

*/



	print '反メタルギアを標榜するテロリストが、この船を狙っているという情報もある。'

	eval( $i:STREAM_ID = `%Stream t:vc070110 -p 演説ドッキリ中盤１ -menustop -c 1 -ipu` );









}



proc 演説ドッキリ中盤１{



	if($1 == 0){



#if d:プロジェクタ録画用

		eval($w:演説プロジェクタ収録ドッキリ回数 = -1)

		eval($s:ドッキリ系スタート = ぷりぷり)

#endif



		//@演説スコットアップカットイン終了



		chara delay 演説ドッキリディレイ -time 90 \

		 -exec{

			@演説ドッキリ中盤２

		}

	}



}





proc 演説ドッキリ中盤２{



#if d:プロジェクタ録画用

	eval($w:演説ドッキリ回数 = 0)

	eval($w:演説プロジェクタ収録ドッキリ回数 = $w:演説プロジェクタ収録ドッキリ回数 + 1)



	if($s:ドッキリ系スタート == 左){

		eval($s:ドッキリ系スタート = 右)



	}else if($s:ドッキリ系スタート == 右){

		eval($s:ドッキリ系スタート = 後ろ)



	}else if($w:演説プロジェクタ収録ドッキリ回数 == 0){

		eval($s:ドッキリ系スタート = 左)





	}



#else

	command rand 3

#endif



	if($w:演説ドッキリ回数 == 0){



		if($s:ドッキリ系スタート == 左){

			eval($w:演説ドッキリ回数 = $w:演説ドッキリ回数 + 1)

			eval($b:演説さっきのドッキリ方向 = 0)



			print '左に侵入者がいる！１回目'

			eval( $i:STREAM_ID = `%Stream t:vc070111 -p 演説ドッキリ継続判定 -menustop -c 1 -ipu` );

			mesg 船倉兵 SEALS_1 左に銃を向けろ



		}else if($s:ドッキリ系スタート == 右){

			eval($w:演説ドッキリ回数 = $w:演説ドッキリ回数 + 1)

			eval($b:演説さっきのドッキリ方向 = 1)



			print '右に侵入者がいる！'

			eval( $i:STREAM_ID = `%Stream t:vc070112 -p 演説ドッキリ継続判定 -menustop -c 1 -ipu` );

			mesg 船倉兵 SEALS_1 右に銃を向けろ





		}else if($s:ドッキリ系スタート == 後ろ){

			eval($w:演説ドッキリ回数 = $w:演説ドッキリ回数 + 1)

			eval($b:演説さっきのドッキリ方向 = 2)



			print '後ろに侵入者がいる！'

			eval( $i:STREAM_ID = `%Stream t:vc070113 -p 演説ドッキリ継続判定 -menustop -c 1 -ipu` );

			mesg 船倉兵 SEALS_1 後に銃を向けろ





		}else if($i:プレイヤー位置Ｘ > 0){

			eval($w:演説ドッキリ回数 = $w:演説ドッキリ回数 + 1)

			eval($b:演説さっきのドッキリ方向 = 0)



			print '左に侵入者がいる！１回目'

			eval( $i:STREAM_ID = `%Stream t:vc070111 -p 演説ドッキリ継続判定 -menustop -c 1 -ipu` );

			mesg 船倉兵 SEALS_1 左に銃を向けろ



		}else{

			eval($w:演説ドッキリ回数 = $w:演説ドッキリ回数 + 1)

			eval($b:演説さっきのドッキリ方向 = 1)



			print '右に侵入者がいる！１回目'

			eval( $i:STREAM_ID = `%Stream t:vc070112 -p 演説ドッキリ継続判定 -menustop -c 1 -ipu` );

			mesg 船倉兵 SEALS_1 右に銃を向けろ



		}



	}else if($status == 0 && $b:演説さっきのドッキリ方向 != 0){

		eval($w:演説ドッキリ回数 = $w:演説ドッキリ回数 + 1)

		eval($b:演説さっきのドッキリ方向 = 0)



		print '左に侵入者がいる！'

		eval( $i:STREAM_ID = `%Stream t:vc070111 -p 演説ドッキリ継続判定 -menustop -c 1 -ipu` );

		mesg 船倉兵 SEALS_1 左に銃を向けろ



	}else if($status == 1 && $b:演説さっきのドッキリ方向 != 1){

		eval($w:演説ドッキリ回数 = $w:演説ドッキリ回数 + 1)

		eval($b:演説さっきのドッキリ方向 = 1)



		print '右に侵入者がいる！'

		eval( $i:STREAM_ID = `%Stream t:vc070112 -p 演説ドッキリ継続判定 -menustop -c 1 -ipu` );

		mesg 船倉兵 SEALS_1 右に銃を向けろ



	}else if($status == 2 && $b:演説さっきのドッキリ方向 != 2){

		eval($w:演説ドッキリ回数 = $w:演説ドッキリ回数 + 1)

		eval($b:演説さっきのドッキリ方向 = 2)



		print '後ろに侵入者がいる！'

		eval( $i:STREAM_ID = `%Stream t:vc070113 -p 演説ドッキリ継続判定 -menustop -c 1 -ipu` );

		mesg 船倉兵 SEALS_1 後に銃を向けろ



	}else{

		chara delay 演説ドッキリディレイ -time 1 \

		 -exec{

			@演説ドッキリ中盤２

		}

	}





}







proc 演説ドッキリ継続判定{



if($1 == 0){



	chara delay ドッキリディレイ -time 60 -exec {



#if d:プロジェクタ録画用



	if($s:ドッキリ系スタート == 後ろ){

		//print 'ということになったら迅速に行動できるように心がけておいてもらいたい。何があってもＲＡＹを失うわけにはいかないのだ。各員警戒を怠るな。'

		eval( $i:STREAM_ID = `%Stream t:vc070114 -p 演説ドッキリ終了処理 -menustop -c 1 -ipu` );



		chara delay ドッキリディレイ -time 60 \

			 -exec{

				mesg 船倉兵 SEALS_1 通常状態

			}

	}else{

		@演説ドッキリ中盤２

	}



#else

		if($w:演説ドッキリ回数 <= 2){

			@演説ドッキリ中盤２



		}else if($w:演説ドッキリ回数 <= 3 && `%rand 100`< 60){

			@演説ドッキリ中盤２



		}else if(`%rand 100`< 10){

			@演説ドッキリ中盤２



		}else{

			chara delay ドッキリディレイ -time (60 * 2) \

				 -exec{



					//print 'ということになったら迅速に行動できるように心がけておいてもらいたい。何があってもＲＡＹを失うわけにはいかないのだ。各員警戒を怠るな。'

					eval( $i:STREAM_ID = `%Stream t:vc070114 -p 演説ドッキリ終了処理 -menustop -c 1 -ipu` );



					chara delay ドッキリディレイ -time 60 \

						 -exec{

							mesg 船倉兵 SEALS_1 通常状態

						}



				 }



		}



#endif



	}



}



}











proc 演説ドッキリ終了処理{



	if($1 == 0){



		chara delay ドッキリディレイ -time (60 * 4) -exec {



			eval($w:船倉演説イベント中 = $w:船倉演説イベント中 - 1)

			mesg タイマー タイマー 開始



#if d:プロジェクタ録画用

			print 'さて……。'

			eval( $i:STREAM_ID = `%Stream t:vc070121 -p プロジェクタ録画用演説終了１ -menustop -c 1 -ipu` );

#else



			command rand 3

			if($status == 0){

				print 'さて……。'

				eval( $i:STREAM_ID = `%Stream t:vc070121 -p 演説終了処理 -menustop -c 1 -ipu` );



			}else if($status == 1){

				print '続きだ。'

				eval( $i:STREAM_ID = `%Stream t:vc070122 -p 演説終了処理 -menustop -c 1 -ipu` );



			}else{

				print '話に戻ろう。'

				eval( $i:STREAM_ID = `%Stream t:vc070123 -p 演説終了処理 -menustop -c 1 -ipu` );



			}

#endif



		}



	}



}







#if d:プロジェクタ録画用

proc プロジェクタ録画用演説終了１ {

	print '続きだ。'

	eval( $i:STREAM_ID = `%Stream t:vc070122 -p プロジェクタ録画用演説終了２ -menustop -c 1 -ipu` );



}





proc プロジェクタ録画用演説終了２ {

	print '話に戻ろう。'

	eval( $i:STREAM_ID = `%Stream t:vc070123 -p 演説終了処理 -menustop -c 1 -ipu` );

}

#endif





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

//								演説アメリカンジョーク

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





proc 演説アメリカンジョークスタート {



	command セットタイマーステータス -s d:TMR_WAIT



	print 'スコット「さて、話も長くなった。皆も疲れてきたことだろう。すこし身体を楽にしていいぞ。」'

	eval( $i:STREAM_ID = `%Stream t:vc070138 -p 演説アメリカンジョーク中盤 -menustop -c 1 -ipu` );









}







proc 演説アメリカンジョーク中盤 {



	if($1 == 0){



		chara delay ディレイ -time 60 -exec{

			mesg 船倉兵 SEALS_1 アメリカンジョーク



			chara delay ディレイ -time 600 -exec{

				@演説アメリカンジョーク終了処理

			}



		}



	}



}









proc 演説アメリカンジョーク終了処理{



	eval($w:船倉演説イベント中 = $w:船倉演説イベント中 - 1)

	mesg タイマー タイマー 開始



	command rand 3

	if($status == 0){

		print 'さて……。'

		eval( $i:STREAM_ID = `%Stream t:vc070121 -p 演説終了処理 -menustop -c 1 -ipu` );



	}else if($status == 1){

		print '続きだ。'

		eval( $i:STREAM_ID = `%Stream t:vc070122 -p 演説終了処理 -menustop -c 1 -ipu` );



	}else{

		print '話に戻ろう。'

		eval( $i:STREAM_ID = `%Stream t:vc070123 -p 演説終了処理 -menustop -c 1 -ipu` );



	}



	chara delay ディレイ -time 180 -exec{

		mesg 船倉兵 SEALS_1 通常状態

	}





}







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

//								船倉演説ボリューム制御

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





#define	船倉ボリューム制御用プリント	0

#define	演説パン振幅					0x1f

#define	演説音量減衰１					0x30

#define	演説音量減衰２					0x20





	proc 船倉演説ボリューム制御 $:音源数 $:音源１Ｘ位置 $:音源１Ｙ位置 $:音源１Ｚ位置  $:音源２Ｘ位置 $:音源２Ｙ位置 $:音源２Ｚ位置{





		if($:音源数 == 2){



			@音源位置特定処理 0 $:音源１Ｘ位置 $:音源１Ｙ位置 $:音源１Ｚ位置

			@音源位置特定処理 1 $:音源２Ｘ位置 $:音源２Ｙ位置 $:音源２Ｚ位置





			//両音源からの距離から最終的な角度とボリュームを決定（ところでこの合成はあってるの？）

			eval($b:最終演説ボリューム = ( ($b:演説ボリューム[0] * $i:法線大きさ２[1]) + ($b:演説ボリューム[1] * $i:法線大きさ２[0]) ) / ($i:法線大きさ２[0] + $i:法線大きさ２[1]))



			eval($b:最終演説パン角度 = ( ($b:演説パン角度[0] * $i:法線大きさ２[1]) + ($b:演説パン角度[1] * $i:法線大きさ２[0]) ) /($i:法線大きさ２[0] + $i:法線大きさ２[1]))





		}else{



			@音源位置特定処理 0 $:音源１Ｘ位置 $:音源１Ｙ位置 $:音源１Ｚ位置



			eval($b:最終演説ボリューム = $b:演説ボリューム[0])

			eval($b:最終演説パン角度 = $b:演説パン角度[0])





		}



		if($b:船倉デジカメ撮影つぶやき中 == 1){

			print '船倉撮影つぶやき中'



			eval($b:最終演説ボリューム = 0x0a)



		}



		if($b:船倉デジカメ撮影つぶやき中 == 0){

			eval($b:現在演説ボリューム = $b:最終演説ボリューム)

		}else{

			if($b:現在演説ボリューム > $b:最終演説ボリューム){

				eval($b:現在演説ボリューム = $b:現在演説ボリューム - 1)

			}else if($b:現在演説ボリューム < $b:最終演説ボリューム){

				eval($b:現在演説ボリューム = $b:現在演説ボリューム + 1)

			}else{

				if($b:船倉デジカメ撮影つぶやき中 == 2){

					eval($b:船倉デジカメ撮影つぶやき中 = 0)

				}

			}

		}



		//print '$b:現在演説ボリューム'$b:現在演説ボリューム

		//print '$b:最終演説ボリューム'$b:最終演説ボリューム



		%StreamSetPan $i:STREAM_ID -p $b:最終演説パン角度 -v $b:現在演説ボリューム

			// ストリームにパンとボリュームを設定する。

			// pan 0(左)-0x20(中)-0x3F(右), vol 0-0x3F





	}











	proc 音源位置特定処理 $:音源番号 $:音源Ｘ位置 $:音源Ｙ位置 $:音源Ｚ位置 {



		//カメラの位置からスコットの位置までのベクトルの法線ベクトル（向き0からの角度を調べたいため）を作り、それとカメラの向きとの角度差を調べる。cosの値で左右にパン。



		eval($i:法線大きさ = `%VecLen $:音源Ｘ位置 $:音源Ｙ位置 $:音源Ｚ位置 $i:カメラＸ位置 $i:カメラＹ位置 $i:カメラＺ位置`)





		if($i:法線大きさ/1000 == 0){

			eval($b:演説ボリューム[$:音源番号] = 0x3F)

			eval($b:演説パン角度[$:音源番号] = 0x20)



		}else{



			eval($i:法線大きさ２[$:音源番号] = $i:法線大きさ / 1000)



			//ベクトル(x,z)の法線は(-z,x)

			//注意！！！$w:法線Ｘ変位　は、Ｚ軸が逆のため、-1をかけてあります！！

			eval($w:法線Ｘ変位 = ($:音源Ｚ位置 - $i:カメラＺ位置) / $i:法線大きさ２[$:音源番号])

			eval($w:法線Ｚ変位 = ($:音源Ｘ位置 - $i:カメラＸ位置) / $i:法線大きさ２[$:音源番号])



			eval($w:角度 = `%atan $w:法線Ｘ変位 $w:法線Ｚ変位` )



			#if d:船倉ボリューム制御用プリント

				print '音源との角度'$:音源番号'は'$w:角度

			#endif





			eval($w:カメラの角度 = $i:カメラ角度Ｙ)



			eval($w:音の方向 = ($w:角度 - $w:カメラの角度) & 4095)



			#if d:船倉ボリューム制御用プリント

				print '$w:音の方向'$:音源番号'は'$w:音の方向

			#endif





			if($w:音の方向 >= 1024 && $w:音の方向 < 3072 ){	//後ろ向き

				@CS_スムーズカメラ昇順 $i:法線大きさ 5000 20000 0x3F 0x15

			}else{												//前向き

				@CS_スムーズカメラ昇順 $i:法線大きさ 5000 20000 0x3F 0x20

			}



			eval($b:演説ボリューム[$:音源番号] = $i:CS_結果１)





			//左右の振幅を距離で変化

			@CS_スムーズカメラ昇順 $i:法線大きさ 5000 10000 0x25 0x3F

			eval($b:演説ボリューム右振幅 = $i:CS_結果１)



			@CS_スムーズカメラ昇順 $i:法線大きさ 5000 10000 0x1b 0x00

			eval($b:演説ボリューム左振幅 = $i:CS_結果１)





			if($w:音の方向 < 1024 ){

				@CS_スムーズカメラ昇順 $w:音の方向 0 1023 0x20 $b:演説ボリューム左振幅



			}else if( $w:音の方向 >= 1024 && $w:音の方向 < 3072 ){

				@CS_スムーズカメラ昇順 $w:音の方向 1024 3071 $b:演説ボリューム左振幅 $b:演説ボリューム右振幅



			}else{

				@CS_スムーズカメラ昇順 $w:音の方向 3072 4095 $b:演説ボリューム右振幅 0x20



			}





			eval($b:演説パン角度[$:音源番号] = $i:CS_結果１)



			#if d:船倉ボリューム制御用プリント

				print '$b:演説パン角度'$:音源番号'は'$b:演説パン角度[$:音源番号]

			#endif



		}





	}































proc 演説音声小さめに{



	//ロードそば通路

	trap ev000 d:PLAYER \

		-mask ＊ \

		-exec {



			if($3 == 入る){

				print 'リバーブ開始しまーす。'

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



			}else if($3 == いる){

				//print '演説ちっちゃくしまーす。'

				%StreamSetPan $i:STREAM_ID -v 0x10



			}else{

				print '演説音量戻しまーす。'

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



			}



		}





	//船首側ロード扉の開いたとき

	trap ev100 d:PLAYER \

		-mask いる \

		-exec {

			%StreamSetPan $i:STREAM_ID -v 0x20

		}





}







proc ロード時ストリームフェードアウト{



	command 字幕制御 -hide

	command セットサウンドコード -c d:STR1_FADE_OUT	//ストリーミングch.1のフェードアウト

	command セットサウンドコード -c d:STR2_FADE_OUT	//ストリーミングch.2のフェードアウト



}













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

//								船倉カウントダウンタイマー

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





proc 船倉タイマー起動{



	chara タイマー タイマー \

		-time $i:船倉演説残り時間 \ /*NTSCフレーム数で指定(1分の場合3600)*/

		-proc 船倉タイマー終了処理 \

		-status (d:TMR_WAIT | d:TMR_DISP_ZERO)	//一時停止状態で起動



//	@船倉タイマー残時間ゲット



}







proc ロード時船倉タイマー残時間ゲット{



//	mesg delay 船倉タイマーディレイ kill

	if($b:演説うっかり２回目ステップ == 1){

		@演説うっかり２回目終了処理

	}



	command セットタイマーステータス -s d:TMR_WAIT



	eval($i:船倉演説残り時間 = `%ゲット残りタイム`)





}







proc 船倉タイマー残時間ゲット{



	chara delay 船倉タイマーディレイ \

		-time 1 \

		-exec{

			if(`%ゲット残りタイム` > 0){

				eval($i:船倉演説残り時間 = $status)

				return 1

			}else{

				return 0

			}

		}



}







proc 船倉タイマー終了処理{



	eval($f:船倉ロスタイム突入 = 1)



}





































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

//									船倉くしゃみ設定

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





proc 船倉くしゃみ設定 {



	#if d:DEBUG_PRINT

		print '船倉くしゃみ設定'

		print 'hold_sneeze'

	#endif





	eval($w:船倉くしゃみカウンタ = 0)



	if($w:風邪状態 == 1){



		command プラグインくしゃみ

		command プレイヤー風邪引かせ -time 500	//$i:くしゃみ間隔（秒）



		trap ev3000 d:PLAYER \

			-mask いる \

			-state d:TRP_STATE_STAND,d:TRP_STATE_GROUND,d:TRP_STATE_INTRUDE \

			-exec {



				if(`%ゲット残りタイム` > 60 * 60 * 4){

					if($s:エリア == w04a && !$f:w04a_くしゃみした){



						if($w:船倉くしゃみカウンタ < 120){

							eval($w:船倉くしゃみカウンタ = $w:船倉くしゃみカウンタ + 1)

						}else{

							eval($f:w04a_くしゃみした = 1)

							print 'へっぷし！！！！！'

							command プレイヤーくしゃみ発動

						}



					}else if($s:エリア == w04b && !$f:w04b_くしゃみした){



						if($w:船倉くしゃみカウンタ < 120){

							eval($w:船倉くしゃみカウンタ = $w:船倉くしゃみカウンタ + 1)

						}else{

							eval($f:w04b_くしゃみした = 1)

							print 'へっぷし！！！！！'

							command プレイヤーくしゃみ発動

						}



					}else if($s:エリア == w04c && !$f:w04c_くしゃみした){

						if($w:船倉くしゃみカウンタ < 120){

							eval($w:船倉くしゃみカウンタ = $w:船倉くしゃみカウンタ + 1)

						}else{

							eval($f:w04c_くしゃみした = 1)

							print 'へっぷし！！！！！'

							command プレイヤーくしゃみ発動

						}



					}

				}



			}





	}



}

















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

//								キャラ専用ライト設定

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



proc 第一第二船倉キャラクタ専用ライトセット {



	print 'キャラ平行光'



// キャラクタ専用ライト設置

	chara 環境光 環境光 \

		 -c 24,91,94



	chara 平行光 平行光 \

		-c 90,45,15 \

		-p -50,-100,-40



/*

// キャラクタ専用ライト設置

	chara 環境光 環境光 \

		 -c 24,91,94



	chara 平行光 平行光 \

		 -c 80,35,5 \

		 -d -50,-70,-50

*/

}



















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

//									空中落下死亡開始

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



	proc 空中落下死亡開始 {



		if(`%ゲームオーバーチェック` == 0 && $f:ロードチェックＯＮフラグ){

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

				-exec {

					print '空中落下死亡開始！！！'



					@ロード時ストリームフェードアウト





					mesg タイマー タイマー 表示切り替え 0



					command 無線設定 -reset



					command メニュー設定 \

						-menu off \			//武器・アイテムメニューのオンオフ

						-disable_menu off \	//メニューオープンの許可／不許可

						-gage off \

						-radar off \

						-subwin off \

						-radio off \

						-pause off



					command セットタイマーステータス -s d:TMR_WAIT



					eval($f:船倉最初に一人に発見された = 1)



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

						-i 0 0 0 0 \		//設定するとこのＲＧＢαから始まる

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

						-s 143 \			//プライオリティ

						-t 30 \

						-p 空中落下死亡フェードアウト終了

				}

		}



	}



	proc 空中落下死亡フェードアウト終了 {

		print 'ぷりぽこ'

				command StreamStopAll

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

	}























































