메모용
내용 출처: 모던2 (2009) contingency.ff 파일
사내 테스트 버전으로 일부 복원한 잠수함 부분 스크립트
일부 복원된 영상에서 나오는 자막이 현재 모던2에 남겨진 자막과 동일.
내용에는 프라이스 대위와 함께 가스 마스크를 착용후 잠수함에 침투.
대위는 잠수함을 가라앉히지 않고 미사일을 발사.
소프는 그 사이 트럭을 잠수함까지 대동.
발사 이후 로치, 프라이스는 소프가 가져온 트럭을 타고 탈출.
형광색칠된 부분이 게임 속 대사
//debug_timer()
//{
/// time = 0;
/// while( 1 )
/// {
/// / println( "time " + time );
/// / time++;
/// / wait 1;
/// }/
//}
//
//
//start_sub()
//{
/// start = getstruct( "sub_start_player", "targetname" );
/// level.player setOrigin( start.origin );
/// level.player setPlayerAngles( start.angles );
///
/// friendlies = getentarray( "start_friendly", "targetname" );
/// friendlies2 = getentarray( "rasta_and_bricktop", "targetname" );
/// friendlies = array_combine( friendlies, friendlies2 );
///
/// //array_thread( friendlies, ::spawn_ai );
/// friendly_starts = getstructarray( "sub_start_friendly", "targetname" );
///
/// for ( i = 0 ; i < friendlies.size ; i++ )
/// {
/// / friendlies[ i ].origin = friendly_starts[ i ].origin;
/// / friendlies[ i ].angles = friendly_starts[ i ].angles;
/// / friendlies[ i ] spawn_ai();
/// }
/// flag_set( "stop_stealth_music" );
/// music_stop();
///
/// level.player takeallweapons();
/// level.player giveWeapon( "aa12" );
/// level.player giveWeapon( "m240_heartbeat_reflex_arctic" );
/// level.player switchToWeapon( "m240_heartbeat_reflex_arctic" );
//
/// level.player giveWeapon( "fraggrenade" );
/// level.player setOffhandSecondaryClass( "flash" );
/// level.player giveWeapon( "flash_grenade" );
/// /
///
/// wait .1;/
///
/// level.rasta set_force_color( "g" );
/// level.rasta enable_ai_color();
/// level.bricktop set_force_color( "g" );
/// level.bricktop enable_ai_color();
/// level.price set_force_color( "g" );
/// level.price enable_ai_color();
///
/// level.price forceUseWeapon( "aug_scope", "primary" );
///
/// disable_stealth_system();
///
/// friendlies = getaiarray( "allies" );
/// / foreach( g in friendlies )
/// / / g thread turn_off_stealth_settings();
/// / /
/// thread spawn_second_uav();
/// flag_set( "player_on_ridge" );
/// flag_set( "leaving_village" );
///
/// thread handle_sub();
//}
//
//start_sub_gas_mask()
//{
/// start_sub();
///
/// wait 2;
///
/// thread put_on_player_gas_mask();
//}
//
//
//handle_sub()
//{
/// level notify( "stop_snow" );
/// thread start_tear_gas_fx();
/// thread start_tear_gas_guys();
/// thread sub_ladder();
/// flag_wait( "friendlies_or_player_at_sub" );
///
/// flee_pos = getstruct( "sub_obj_enemies_flee", "targetname" ).origin;
/// enemies = getaiarray( "axis" );
/// foreach( guy in enemies )
/// / guy thread enemies_flee( flee_pos );
///
///
/// level.price.colornode_func = undefined;
/// thread dialog_at_sub();
///
/// flag_wait( "obj_sub_entrance" );//player at sub
///
///
/// level.price disable_ai_color();
/// price_on_sub = getnode( "price_on_sub", "targetname" );
/// level.price setgoalnode( price_on_sub );
///
/// flag_wait( "player_on_sub" );
///
/// //Roach! Get your mask on!/
/// level.price dialogue_queue( "cont_pri_getmaskon" );
/// thread put_on_player_gas_mask();
///
/// if( !flag( "player_dropping_into_sub" ) )
/// {
/// / //Down the hatch, lets go!/
/// / level.price thread dialogue_queue( "cont_pri_downthehatch" );
/// }
//
/// flag_wait( "player_dropping_into_sub" );
///
/// if( isalive( level.rasta ) )
/// / level.rasta kill();
/// if( isalive( level.bricktop ) )
/// / level.bricktop kill();
/// level.price set_battlechatter( false );
///
/// killTimer();
///
///
/// flag_wait( "player_is_clear_of_ladder" );
///
/// price_drop_pos = getent( "price_drop_pos", "targetname" );
///
/// price_drop_kill_pos = getent( "price_drop_kill_pos", "targetname" );
/// level.price setgoalpos( price_drop_kill_pos.origin );
///
/// price_drop_bottom_pos = getent( "price_drop_bottom_pos", "targetname" );
///
/// level.price forceteleport( price_drop_bottom_pos.origin, price_drop_bottom_pos.angles );
///
/// level.price.goalradius = 64;
/// level.price.baseaccuracy = 500000;
/// //level.price.shootstyleoverride = "single";
/// level.price.a.specialShootBehavior = ::single_shots;
///
/// flag_wait( "tear_gas_guys_dead" );
///
/// thread spawn_sub_enemies();
///
/// price_key_pos = getent( "price_key_pos", "targetname" );
/// level.price setgoalpos( price_key_pos.origin );
/// level.price.goalradius = 64;
/// level.price.ignoreall = true;
/// level.price.ignoreme = true;
///
/// //Roach! I need a few minutes! Cover me!/
/// level.price dialogue_queue( "cont_pri_needfewminutes" );
///
/// //Alert! The use of nuclear weapons has been authorized./
///
/// //Price! I'm on my way to the east gate with our transport, over!/
/// radio_dialogue( "cont_cmt_eastgate" );
///
/// //Copy that Soap! /
/// level.price dialogue_queue( "cont_pri_copythatsoap" );
///
/// //Launch codes verified authentic. Launch codes accepted. /
/// //Set condition one-SQ. Nuclear missile launch authorized./
/// //Now spinning up missiles 1 through 4 and 8 through 12 for strategic missile launch?/
/// //Target package 572 has been authorized. Standing by for target confirmation and launch order./
///
/// //Roach! I'm almost done! Hold your ground!!/
/// level.price dialogue_queue( "cont_pri_almostdone" );
///
/// //Price! How much longer do you need to sink the sub? We're almost at the gate!/
/// radio_dialogue( "cont_cmt_muchlonger" );
///
/// //Soap, I'm not sinking the sub - I'm launching the nukes./
/// level.price dialogue_queue( "cont_pri_notsinking" );
///
/// //The bloody hell you are!!!!/
/// radio_dialogue( "cont_cmt_bloodyhell" );
///
/// thread activate_players_key();
///
/// //There's no time to explain! Roach! Turn that key over there! Hurry! They've scrambled MiGs to take us out!
/// level.price dialogue_queue( "cont_pri_notime" );/
///
/// level notify( "stop_sub_enemies" );
/// thread dialog_turn_key_nags();
///
/// flag_wait( "player_turned_key" );
/// thread handle_exit_sub();
///
/// //Missiles are ready for launch. Ten?Nine?Eight?Seven?Six...Five?Four?Three?Two?One?ignition on missiles 1 through 4 and 8 through 12 for strategic missile launch./
//}/
//
//
//start_exit_sub()
//{
/// start = getstruct( "exit_sub_start_player", "targetname" );
/// level.player setOrigin( start.origin );
/// level.player setPlayerAngles( start.angles );
///
/// friendlies = getentarray( "start_friendly", "targetname" );
/// //friendlies2 = getentarray( "rasta_and_bricktop", "targetname" );
/// //friendlies = array_combine( friendlies, friendlies2 );
///
/// //array_thread( friendlies, ::spawn_ai );
/// friendly_starts = getstructarray( "exit_sub_start_friendly", "targetname" );
///
/// for ( i = 0 ; i < friendlies.size ; i++ )
/// {
/// / friendlies[ i ].origin = friendly_starts[ i ].origin;
/// / friendlies[ i ].angles = friendly_starts[ i ].angles;
/// / friendlies[ i ] spawn_ai();
/// }
/// flag_set( "stop_stealth_music" );
/// music_stop();
///
/// level.player takeallweapons();
/// level.player giveWeapon( "aa12" );
/// level.player giveWeapon( "m240_heartbeat_reflex_arctic" );
/// level.player switchToWeapon( "m240_heartbeat_reflex_arctic" );
//
/// level.player giveWeapon( "fraggrenade" );
/// level.player setOffhandSecondaryClass( "flash" );
/// level.player giveWeapon( "flash_grenade" );
/// /
///
/// wait .1;
///
/// //level.rasta set_force_color( "g" );
/// //level.rasta enable_ai_color();
/// //level.bricktop set_force_color( "g" );
/// //level.bricktop enable_ai_color();
/// //level.price set_force_color( "g" );
/// //level.price enable_ai_color();
///
/// level.price forceUseWeapon( "aug_scope", "primary" );
///
/// disable_stealth_system();
///
/// friendlies = getaiarray( "allies" );
/// / foreach( g in friendlies )
/// / / g thread turn_off_stealth_settings();
/// / /
/// thread spawn_second_uav();
/// flag_set( "player_on_ridge" );
/// flag_set( "leaving_village" );
///
/// thread handle_exit_sub();
//}
//
//handle_exit_sub()
//{
/// level notify( "stop_snow" );
/// level.soap_truck = spawn_vehicle_from_targetname( "soap_truck" );
/// level.soap_truck.dontunloadonend = true;
///
///
/// price_wait_for_truck_node = getnode( "price_wait_for_truck_node", "targetname" );
/// level.price setgoalnode( price_wait_for_truck_node );
///
/// //We're done here! Let's go!/
/// level.price thread dialogue_queue( "cont_pri_donehereletsgo" );
///
///
/// flag_wait( "player_on_sub" );
///
/// flee_pos = getstruct( "exit_sub_start_player", "targetname" ).origin;
/// enemies = getaiarray( "axis" );
/// foreach( guy in enemies )
/// / guy thread enemies_flee( flee_pos );
///
/// thread gopath( level.soap_truck );
///
/// level.uaz = level.soap_truck;
/// level.uaz thread uaz_control();
///
/// //Roach! Get to the truck! Move! Move!!/
/// level.price thread dialogue_queue( "cont_pri_gettotruck" );
///
/// flag_wait( "soap_truck_arrived" );
///
/// friendlies = [];
/// friendlies[ friendlies.size ] = level.price;
/// level.soap_truck thread vehicle_load_ai( friendlies );
///
///
/// flag_wait( "player_in_uaz" );
///
/// soap_truck_reverse_path = getvehiclenode( "soap_truck_reverse_path", "targetname" );
/// soap_truck_exit_path = getvehiclenode( "soap_truck_exit_path", "targetname" );
///
///
///
/// level.soap_truck StartPath( soap_truck_reverse_path );
/// //soap_truck thread maps\_vehicle::vehicle_paths( soap_truck_reverse_path );
/// //soap_truck.veh_pathdir = "reverse";
/// //soap_truck.veh_transmission = "reverse";
///
/// wait 6;
///
/// thread launch_nuke();
///
/// //flag_wait( "soap_truck_finished_reverse" );
///
/// //Sometimes you can't end a war with a bullet, Soap./
/// level.price dialogue_queue( "cont_pri_endawar" );
///
/// wait 2;
///
/// level.soap_truck StartPath( soap_truck_exit_path );
/// //soap_truck thread maps\_vehicle::vehicle_paths( soap_truck_exit_path );
/// //soap_truck.veh_pathdir = "forward";
/// //soap_truck.veh_transmission = "forward";
///
///
///
/// //level waittill( "forever" );
///
///
/// //iprintlnbold( "end of /s!crip/ing" );
///
/// wait 4;
///
/// nextmission();
//}