mirror of
https://github.com/id-Software/DOOM-3-BFG.git
synced 2025-03-15 23:21:35 +00:00
341 lines
No EOL
7.5 KiB
Text
341 lines
No EOL
7.5 KiB
Text
namespace map_marscity1 {
|
|
|
|
void cache_sounds() {
|
|
sys.cacheSoundShader ("mc1_scanner_rot1s");
|
|
sys.cacheSoundShader ("mc1_scanner_3s_movement");
|
|
sys.cacheSoundShader ("entrance_scanner_loop");
|
|
sys.trigger ($speaker_mouse); // Turn it off...
|
|
}
|
|
|
|
void toggle_intro_sounds() {
|
|
sys.print ("Toggling speakers\n");
|
|
sys.trigger ($speaker_83);
|
|
sys.trigger ($speaker_84);
|
|
sys.trigger ($speaker_85);
|
|
sys.trigger ($speaker_86);
|
|
sys.trigger ($speaker_87);
|
|
sys.trigger ($speaker_88);
|
|
sys.trigger ($speaker_89);
|
|
sys.trigger ($speaker_90);
|
|
sys.trigger ($speaker_91);
|
|
sys.trigger ($speaker_92);
|
|
}
|
|
|
|
//turret gun movement
|
|
void turret_loop() {
|
|
while(1)
|
|
{
|
|
$security_cannon.time( 3 );
|
|
$security_cannon.accelTime( 0 );
|
|
$security_cannon.decelTime( .25 );
|
|
|
|
$security_cannon.rotateOnce( '0 -30 0' );
|
|
sys.waitFor($security_cannon);
|
|
|
|
sys.wait(.5);
|
|
|
|
$security_cannon.rotateOnce( '0 30 0' );
|
|
sys.waitFor($security_cannon);
|
|
|
|
sys.wait(.5);
|
|
}
|
|
}
|
|
|
|
// mars city mice movers
|
|
void Startmouse1() {
|
|
while(1)
|
|
{
|
|
$mc_mouse1.time( 15 );
|
|
$mc_mouse1.accelTime( 0 );
|
|
$mc_mouse1.decelTime( 0 );
|
|
sys.trigger ($speaker_mouse); // Turn it on...
|
|
$mc_mouse1.startSpline( $func_splinemover_3 );
|
|
|
|
sys.waitFor($mc_mouse1);
|
|
|
|
sys.trigger ($speaker_mouse); // Turn it off...
|
|
|
|
sys.wait(60);
|
|
$mc_mouse1.removeInitialSplineAngles();
|
|
}
|
|
}
|
|
|
|
// function for starting shutters1 sound
|
|
void sound_shutter1_start()
|
|
{
|
|
sys.trigger ($speaker_shutters);
|
|
}
|
|
|
|
// function for stopping shutters1 sound
|
|
void sound_shutter1_stop()
|
|
{
|
|
//sys.trigger ($speaker_shutters);
|
|
}
|
|
|
|
|
|
void kitchenlightsoff()
|
|
{
|
|
sys.wait(1);
|
|
$kitchen_swinglight_1.fadeOutLight(2);
|
|
$kitchen_swinglight_2.fadeOutLight(2);
|
|
$kitchen_swinglight_3.fadeOutLight(2);
|
|
$kitchen_swinglight_4.fadeOutLight(2);
|
|
$kitchen_swinglight_5.fadeOutLight(2);
|
|
$kitchen_swinglight_6.fadeOutLight(2);
|
|
|
|
}
|
|
|
|
void windshutter1_open()
|
|
{
|
|
//start the kitchen lights fading
|
|
thread kitchenlightsoff();
|
|
|
|
/// starting shutter sound
|
|
thread sound_shutter1_start();
|
|
|
|
//might need this later
|
|
//$windshutter1_gui.setGuiParm( "gui_parm1" , windstatus1);
|
|
|
|
//fade in the bounce lightlight
|
|
$shutter_bounce_light.fadeInLight(1.5);
|
|
|
|
//times for shutters opening
|
|
$windshutter1_1.time(1.5);
|
|
$windshutter1_1.accelTime(1);
|
|
$windshutter1_1.decelTime(.5);
|
|
|
|
$windshutter1_2.time(1.5);
|
|
$windshutter1_2.accelTime(1);
|
|
$windshutter1_2.decelTime(.5);
|
|
|
|
// Going up
|
|
$windshutter1_1.rotateOnce( '180 0 0' );
|
|
sys.wait(0.5);
|
|
$windshutter1_2.rotateOnce( '180 0 0' );
|
|
sys.waitFor($windshutter1_2);
|
|
|
|
|
|
// stopping shutter sound
|
|
thread sound_shutter1_stop();
|
|
}
|
|
|
|
void kitchenlightson()
|
|
{
|
|
sys.wait(3);
|
|
$kitchen_swinglight_1.fadeInLight(2);
|
|
$kitchen_swinglight_2.fadeInLight(2);
|
|
$kitchen_swinglight_3.fadeInLight(2);
|
|
$kitchen_swinglight_4.fadeInLight(2);
|
|
$kitchen_swinglight_5.fadeInLight(2);
|
|
$kitchen_swinglight_6.fadeInLight(2);
|
|
|
|
}
|
|
|
|
void windshutter1_close()
|
|
{
|
|
|
|
//start the kitchen lights fading
|
|
thread kitchenlightson();
|
|
|
|
// starting shutter sound
|
|
thread sound_shutter1_start();
|
|
|
|
// Fade bounce light
|
|
$shutter_bounce_light.fadeOutLight(3);
|
|
|
|
|
|
//times for shutters closing
|
|
$windshutter1_1.time(3);
|
|
$windshutter1_1.accelTime(2);
|
|
$windshutter1_1.decelTime(1);
|
|
|
|
$windshutter1_2.time(3);
|
|
$windshutter1_2.accelTime(2);
|
|
$windshutter1_2.decelTime(1);
|
|
|
|
// Going down
|
|
$windshutter1_1.rotateOnce( '-180 0 0' );
|
|
sys.wait(0.25);
|
|
$windshutter1_2.rotateOnce( '-180 0 0' );
|
|
sys.waitFor($windshutter1_2);
|
|
|
|
// stopping shutter sound
|
|
thread sound_shutter1_stop();
|
|
}
|
|
|
|
////////////////////////////////////////////////////
|
|
//
|
|
// Mars City Bio Scanners
|
|
//
|
|
////////////////////////////////////////////////////
|
|
void bioscan_lockdoors ()
|
|
{
|
|
//close both doors
|
|
$func_door_1.close();
|
|
$func_door_9.close();
|
|
|
|
//lock both doors
|
|
$func_door_1.lock(2);
|
|
$func_door_9.lock(2);
|
|
|
|
//trigger the relay to remove things in the Hangar
|
|
sys.trigger ( $trigger_remove_floods );
|
|
|
|
//change gui and shader parms on doors
|
|
$func_static_4456.setShaderParm (7, 0);
|
|
$func_static_929.setShaderParm (7, 0);
|
|
$func_door_1.setGuiParm ( "gui_parm3" , 0);
|
|
$func_door_1.setShaderParm (7, 0);
|
|
$func_door_9.setGuiParm ( "gui_parm3" , 0);
|
|
$func_door_9.setShaderParm (7, 0);
|
|
}
|
|
|
|
void bioscan_opendoor ()
|
|
{
|
|
//trigger the lights to fade
|
|
sys.trigger($bioscan_fadein);
|
|
|
|
//slight delay to make sure the sentry is in motion
|
|
//before the doors open
|
|
sys.wait(.85);
|
|
|
|
//unlock door
|
|
$func_door_9.lock(0);
|
|
|
|
//open door
|
|
$func_door_9.open();
|
|
|
|
//lock the little room door
|
|
$func_door_11.lock(2);
|
|
|
|
//change gui parms on doors
|
|
$func_door_9.setGuiParm ( "gui_parm3" , 1);
|
|
$func_door_9.setShaderParm (7, 1);
|
|
$func_static_4456.setShaderParm (7, 1);
|
|
|
|
toggle_intro_sounds(); // Trigger the start sounds on when the player gets to this point
|
|
turret_loop(); // Start the turret looping here...
|
|
}
|
|
|
|
void bioscan_go ()
|
|
{
|
|
//trigger the particles
|
|
$scan_lazmodel_1.startSoundShader ("entrance_scanner_loop", SND_CHANNEL_VOICE );
|
|
$scan_lazmodel_2.startSoundShader ("entrance_scanner_loop", SND_CHANNEL_VOICE );
|
|
sys.trigger($scan_particle_1);
|
|
sys.trigger($scan_particle_2);
|
|
|
|
//change the gui on bioscanner
|
|
sys.trigger($bio_scanner);
|
|
|
|
//trigger the lights to fade
|
|
sys.trigger($bioscan_fadeout);
|
|
|
|
sys.wait(.4);
|
|
|
|
//trigger the laser models to unhide them
|
|
|
|
sys.trigger($scan_lazmodel_1);
|
|
sys.trigger($scan_lazmodel_2);
|
|
|
|
//set times
|
|
//up 64 scan_anchor
|
|
|
|
$scan_anchor.time (1);
|
|
$scan_anchor.startSoundShader ("mc1_scanner_3s_movement", SND_CHANNEL_VOICE);
|
|
|
|
$scan_anchor.move ( UP, 64 );
|
|
sys.waitFor ($scan_anchor);
|
|
|
|
//rotate 90 scan_anchor
|
|
$scan_anchor.rotateOnce ( '0 0 -90' );
|
|
sys.waitFor ($scan_anchor);
|
|
|
|
//move 24 scan_anchor
|
|
$scan_anchor.move ( SOUTH, -24 );
|
|
sys.waitFor ($scan_anchor);
|
|
|
|
//rotate 720 scan_thing_1
|
|
$scan_thing_1.startSoundShader ("mc1_scanner_rot1s", SND_CHANNEL_VOICE);
|
|
$scan_thing_1.rotateOnce ( '360 0 0' );
|
|
|
|
|
|
//rotate 720 scan_thing_2
|
|
$scan_thing_2.startSoundShader ("mc1_scanner_rot1s", SND_CHANNEL_VOICE);
|
|
$scan_thing_2.rotateOnce ( '360 0 0' );
|
|
|
|
//wait for rotating to stop and a bit extra
|
|
sys.waitFor ($scan_thing_1);
|
|
sys.wait (1);
|
|
|
|
//move 24 scan_anchor
|
|
$scan_anchor.startSoundShader ("mc1_scanner_3s_movement", SND_CHANNEL_VOICE);
|
|
$scan_anchor.move ( SOUTH, 24 );
|
|
sys.waitFor ($scan_anchor);
|
|
|
|
//rotate 90 scan_anchor
|
|
$scan_anchor.rotateOnce ( '0 0 90' );
|
|
sys.waitFor ($scan_anchor);
|
|
|
|
//down 64 scan_anchor
|
|
$scan_anchor.move ( DOWN, 64 );
|
|
sys.waitFor ($scan_anchor);
|
|
|
|
//trigger the particles
|
|
|
|
sys.trigger($scan_particle_1);
|
|
|
|
sys.trigger($scan_particle_2);
|
|
|
|
sys.wait(2);
|
|
|
|
//trigger the laser models to hide them
|
|
$scan_lazmodel_1.stopSound (SND_CHANNEL_VOICE, false);
|
|
sys.trigger($scan_lazmodel_1);
|
|
$scan_lazmodel_2.stopSound (SND_CHANNEL_VOICE, false);
|
|
sys.trigger($scan_lazmodel_2);
|
|
|
|
}
|
|
|
|
void bioscan_noreturn ()
|
|
{
|
|
//close both doors
|
|
$func_door_9.close();
|
|
|
|
//lock both doors
|
|
$func_door_9.lock(2);
|
|
|
|
//change gui parms on doors
|
|
$func_door_9.setGuiParm ( "gui_parm3" , 0);
|
|
$func_door_9.setShaderParm (7, 0);
|
|
$func_static_4456.setShaderParm (7, 0);
|
|
}
|
|
|
|
void show_pda ()
|
|
{
|
|
$player_pda.show();
|
|
}
|
|
|
|
//move fog brush in the hanger
|
|
void move_hangar_fog ()
|
|
{
|
|
$hanger_fog_mover.time( 5 );
|
|
$hanger_fog_mover.move( UP, 320 );
|
|
}
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////
|
|
//
|
|
// MAIN
|
|
//
|
|
////////////////////////////////////////////////////
|
|
void main () {
|
|
cache_sounds();
|
|
|
|
//setup_objects ();
|
|
//init_world();
|
|
|
|
}
|
|
} |