mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-12 08:11:10 +02:00
658 lines
17 KiB
Plaintext
658 lines
17 KiB
Plaintext
// =================================================
|
|
// Map: D3DM3 ( FragChamber )
|
|
// =================================================
|
|
|
|
//--------------------------------------------------
|
|
// Script definitions and global variables
|
|
//--------------------------------------------------
|
|
float powerupExists = 0;
|
|
float powerupTimerFinished = 0;
|
|
float soundKlaxon = 0;
|
|
|
|
//--------------------------------------------------
|
|
// Sound Functions
|
|
//--------------------------------------------------
|
|
void sound_berserk_spawn()
|
|
{
|
|
float soundBerserkSpawn;
|
|
|
|
//sys.wait( 5 );
|
|
soundBerserkSpawn = $mrdr_speaker_berserk.startSound( "snd_berserkSpawn", SND_CHANNEL_ANY, true );
|
|
sys.wait( 3 );
|
|
$mrdr_speaker_berserk.startSound( "snd_berserkLoop", SND_CHANNEL_ANY, true );
|
|
}
|
|
|
|
// function for klaxon sounds
|
|
void sound_klaxon( entity mrdr_klaxon )
|
|
{
|
|
float soundKlaxonLength;
|
|
|
|
while ( soundKlaxon ) {
|
|
soundKlaxonLength = mrdr_klaxon.startSound( "snd_klaxon", SND_CHANNEL_ANY, true );
|
|
sys.wait( soundKlaxonLength + 1.2 );
|
|
}
|
|
}
|
|
|
|
// function for flickering lights sounds
|
|
void sound_lights_flicker( entity mrdr_lights_flicker )
|
|
{
|
|
mrdr_lights_flicker.stopSound( SND_CHANNEL_ANY, true );
|
|
mrdr_lights_flicker.startSound( "snd_lightsFlicker", SND_CHANNEL_ANY, true );
|
|
}
|
|
|
|
void sound_lights_steady( entity mrdr_lights_hum )
|
|
{
|
|
mrdr_lights_hum.stopSound( SND_CHANNEL_ANY, true );
|
|
mrdr_lights_hum.startSound( "snd_lightsHum", SND_CHANNEL_ANY, true );
|
|
}
|
|
|
|
void sound_lights_flickering()
|
|
{
|
|
thread sound_lights_flicker( $mrdr_speaker_lights_01 );
|
|
thread sound_lights_flicker( $mrdr_speaker_lights_02 );
|
|
thread sound_lights_flicker( $mrdr_speaker_lights_03 );
|
|
thread sound_lights_flicker( $mrdr_speaker_lights_04 );
|
|
sys.wait( 12 );
|
|
thread sound_lights_steady( $mrdr_speaker_lights_01 );
|
|
thread sound_lights_steady( $mrdr_speaker_lights_02 );
|
|
thread sound_lights_steady( $mrdr_speaker_lights_03 );
|
|
thread sound_lights_steady( $mrdr_speaker_lights_04 );
|
|
}
|
|
|
|
void sound_lights()
|
|
{
|
|
thread sound_lights_steady( $mrdr_speaker_lights_01 );
|
|
thread sound_lights_steady( $mrdr_speaker_lights_02 );
|
|
thread sound_lights_steady( $mrdr_speaker_lights_03 );
|
|
thread sound_lights_steady( $mrdr_speaker_lights_04 );
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
// Power Light flick0r
|
|
//--------------------------------------------------
|
|
void setup_powerlights ()
|
|
{
|
|
sys.setShaderParm(0,1); // Default value ON
|
|
sys.setShaderParm(1,1);
|
|
sys.setShaderParm(2,1);
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
void light_ramp( float rgb_start, float rgb_end, float time_val )
|
|
{
|
|
float i, t, v;
|
|
|
|
t = time_val * 60;
|
|
for ( i = 0; i < t; i++ ) {
|
|
v = rgb_start + ( rgb_end - rgb_start ) * ( i / t ); // Base light value
|
|
|
|
sys.setShaderParm( 0, v );
|
|
sys.setShaderParm( 1, v );
|
|
sys.setShaderParm( 2, v );
|
|
sys.wait( 1 / 60 );
|
|
}
|
|
sys.setShaderParm( 0, rgb_end ); // Final light value
|
|
sys.setShaderParm( 1, rgb_end );
|
|
sys.setShaderParm( 2, rgb_end );
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
void power_flux(float total_time)
|
|
{
|
|
float i, pfstart, pfend, pftime;
|
|
|
|
pfstart = 1; // Initial value
|
|
while (total_time>0) {
|
|
pfend = sys.random(1); // Brightest point
|
|
pftime = sys.random(1); // Flicker interval
|
|
light_ramp( pfstart, pfend, pftime);
|
|
pfstart = pfend;
|
|
total_time = total_time - pftime;
|
|
}
|
|
light_ramp( pfend, 1, 0.3 ); // Move back to default
|
|
setup_powerlights (); // Reset lights to intial values
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
// Setup klax lights
|
|
//--------------------------------------------------
|
|
void setup_klaxlights ()
|
|
{
|
|
float i,j;
|
|
entity klit, klit_base;
|
|
|
|
for ( i = 1; i<5; i++ ) {
|
|
klit_base = sys.getEntity("rotlight"+i+"_base");
|
|
for ( j = 1; j<3; j++ ) {
|
|
klit = sys.getEntity("rotlight"+i+"_light"+j);
|
|
klit.bind(klit_base);
|
|
}
|
|
}
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
// Switch klax lights ON/OFF
|
|
//--------------------------------------------------
|
|
void switchrgb_klaxlights (vector rgb_val)
|
|
{
|
|
float i,j;
|
|
entity klit;
|
|
|
|
for ( i = 1; i<5; i++ ) {
|
|
for ( j = 1; j<3; j++ ) {
|
|
klit = sys.getEntity("rotlight"+i+"_light"+j);
|
|
klit.setColor(rgb_val_x,rgb_val_y,rgb_val_z);
|
|
}
|
|
}
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
// Spin UP/DOWN klax lights
|
|
//--------------------------------------------------
|
|
void spin_klaxlights ( entity klit, float final_speed, float total_time, float total_step, float direction )
|
|
{
|
|
float i, s, t, spinpause;
|
|
vector klitvec;
|
|
|
|
t = total_time / total_step ; // Loop step value
|
|
s = final_speed / total_step ; // Rotation loop steps
|
|
klitvec_x=0; // Start value
|
|
klitvec_z=0;
|
|
|
|
if (direction==0) {
|
|
klitvec_y=0;
|
|
for ( i = 0; i < total_time; i=i+t ) {
|
|
klitvec_y=klitvec_y+s; // Increase spin up speed
|
|
klit.rotate (klitvec); // Set new speed
|
|
sys.wait(t); // Spin up pause
|
|
}
|
|
klitvec_y=final_speed;
|
|
}
|
|
else {
|
|
klitvec_y=final_speed;
|
|
for ( i = total_time; i > 0; i=i-t ) {
|
|
klitvec_y=klitvec_y-s; // Increase spin up speed
|
|
klit.rotate (klitvec); // Set new speed
|
|
sys.wait(t); // Spin up pause
|
|
}
|
|
klitvec_y=0;
|
|
}
|
|
|
|
klit.rotate (klitvec); // Final speed
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
// Start klax lights
|
|
//--------------------------------------------------
|
|
void start_klaxlights ()
|
|
{
|
|
float thread1;
|
|
|
|
// klaxon sound on
|
|
soundKlaxon = 1;
|
|
thread sound_klaxon( $mrdr_speaker_klaxon_01 );
|
|
thread sound_klaxon( $mrdr_speaker_klaxon_02 );
|
|
thread sound_klaxon( $mrdr_speaker_klaxon_03 );
|
|
thread sound_klaxon( $mrdr_speaker_klaxon_04 );
|
|
|
|
$klaxlight_1_particle.show();
|
|
|
|
$klaxlight_2_particle.show();
|
|
$klaxlight_3_particle.show();
|
|
$klaxlight_4_particle.show();
|
|
sys.trigger ($klaxlight_1_particle);
|
|
|
|
sys.trigger ($klaxlight_2_particle);
|
|
|
|
sys.trigger ($klaxlight_3_particle);
|
|
|
|
sys.trigger ($klaxlight_4_particle);
|
|
$rotlight1_base.setColor( 0.6, 0, 0 );
|
|
$rotlight2_base.setColor( 0.6, 0, 0 );
|
|
$rotlight3_base.setColor( 0.6, 0, 0 );
|
|
$rotlight4_base.setColor( 0.6, 0, 0 );
|
|
thread switchrgb_klaxlights ('2 0 0');
|
|
|
|
thread spin_klaxlights ($rotlight1_base, 180, 2, 32, 0);
|
|
thread spin_klaxlights ($rotlight2_base, 180, 2, 32, 0);
|
|
thread spin_klaxlights ($rotlight3_base, 180, 2, 32, 0);
|
|
thread1= thread spin_klaxlights ($rotlight4_base, 180, 2, 32, 0);
|
|
sys.waitForThread(thread1);
|
|
|
|
$rotlight1_base.rotate ( '0 180 0' );
|
|
$rotlight2_base.rotate ( '0 180 0' );
|
|
$rotlight3_base.rotate ( '0 180 0' );
|
|
$rotlight4_base.rotate ( '0 180 0' );
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
// Stop klax lights
|
|
//--------------------------------------------------
|
|
void stop_klaxlights ()
|
|
{
|
|
float thread1;
|
|
|
|
// klaxon sound off
|
|
soundKlaxon = 0;
|
|
|
|
thread spin_klaxlights ($rotlight1_base, 180, 2, 32, 1);
|
|
thread spin_klaxlights ($rotlight2_base, 180, 2, 32, 1);
|
|
thread spin_klaxlights ($rotlight3_base, 180, 2, 32, 1);
|
|
thread1 = thread spin_klaxlights ($rotlight4_base, 180, 2, 32, 1);
|
|
sys.waitForThread(thread1);
|
|
|
|
$klaxlight_1_particle.hide();
|
|
$klaxlight_2_particle.hide();
|
|
$klaxlight_3_particle.hide();
|
|
$klaxlight_4_particle.hide();
|
|
sys.trigger ($klaxlight_1_particle);
|
|
|
|
sys.trigger ($klaxlight_2_particle);
|
|
sys.trigger ($klaxlight_3_particle);
|
|
|
|
sys.trigger ($klaxlight_4_particle);
|
|
$rotlight1_base.setColor( 0, 0, 0 );
|
|
$rotlight2_base.setColor( 0, 0, 0 );
|
|
$rotlight3_base.setColor( 0, 0, 0 );
|
|
$rotlight4_base.setColor( 0, 0, 0 );
|
|
thread switchrgb_klaxlights ('0 0 0');
|
|
|
|
$rotlight1_base.rotate ( '0 0 0' );
|
|
$rotlight2_base.rotate ( '0 0 0' );
|
|
$rotlight3_base.rotate ( '0 0 0' );
|
|
$rotlight4_base.rotate ( '0 0 0' );
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
// Chamber's GUI controls
|
|
//--------------------------------------------------
|
|
void chamber_guicontrol(float gui_status)
|
|
{
|
|
// Chamber can be activated
|
|
if (gui_status == 1) {
|
|
$chamber_gui_console.setGuiParm ( "gui_parm2" , 1);
|
|
}
|
|
// Chamber is full of gas/creating power up
|
|
else if (gui_status == 2) {
|
|
$chamber_gui_console.setGuiParm ( "gui_parm2" , 2);
|
|
}
|
|
// The PowerUp is waiting in the chamber
|
|
else if (gui_status == 3) {
|
|
$chamber_gui_console.setGuiParm ( "gui_parm2" , 3);
|
|
}
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Thread that gets called by the trigger relay
|
|
// -------------------------------------------------
|
|
void chamber_guiblocked_trigger()
|
|
{
|
|
powerupExists = 0;
|
|
|
|
if( powerupTimerFinished ) {
|
|
thread chamber_guicontrol(1);
|
|
}
|
|
|
|
sys.wait(0.1);
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Run a timer
|
|
// -------------------------------------------------
|
|
void powerup_timer()
|
|
{
|
|
powerupTimerFinished = 0;
|
|
sys.wait( 60 );
|
|
powerupTimerFinished = 1;
|
|
|
|
if( powerupExists == 0 ) {
|
|
thread chamber_guicontrol(1);
|
|
}
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Spawn the PowerUP
|
|
// -------------------------------------------------
|
|
void spawn_powerup()
|
|
{
|
|
powerupExists = 1;
|
|
|
|
thread powerup_timer();
|
|
|
|
$powerup_berserk_triggered.respawn();
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Shaking machines
|
|
// -------------------------------------------------
|
|
void llm_shaker1_move()
|
|
{
|
|
$llm_shaker1.time (.075);
|
|
|
|
while(1){
|
|
$llm_shaker1.rotateOnce ( '.8 1.1 1' );
|
|
sys.waitFor ($llm_shaker1);
|
|
$llm_shaker1.rotateOnce ( '-.8 -1.1 -1' );
|
|
sys.waitFor ($llm_shaker1);
|
|
}
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
F r a g c h a m b e r scripting START
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
// -------------------------------------------------
|
|
// Chamber Core DOWN
|
|
// -------------------------------------------------
|
|
void chamber_core_down()
|
|
{
|
|
$chamber_core.time(5);
|
|
$chamber_core.accelTime(1);
|
|
$chamber_core.decelTime(1.5);
|
|
$chamber_core.moveTo($chamber_core_down);
|
|
|
|
sys.trigger ($chamber_core_down_speaker);
|
|
|
|
sys.waitFor ($chamber_core);
|
|
|
|
|
|
sys.trigger ($chamber_core_shaker_speaker);
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Chamber Core UP
|
|
// -------------------------------------------------
|
|
void chamber_core_up()
|
|
{
|
|
$chamber_core.time(3);
|
|
$chamber_core.accelTime(2.5);
|
|
$chamber_core.decelTime(.5);
|
|
$chamber_core.moveTo($chamber_core_up);
|
|
|
|
sys.trigger ($chamber_core_down_speaker);
|
|
|
|
sys.waitFor ($chamber_core);
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Chamber Rods DOWN
|
|
// -------------------------------------------------
|
|
void chamber_rods_down()
|
|
{
|
|
$chamber_rods.time(4);
|
|
$chamber_rods.accelTime(1);
|
|
$chamber_rods.decelTime(.5);
|
|
$chamber_rods.moveTo($chamber_rod_down);
|
|
|
|
sys.trigger ($chamber_rods_down_speaker);
|
|
|
|
sys.waitFor ($chamber_rods);
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Chamber Rods UP
|
|
// -------------------------------------------------
|
|
void chamber_rods_up()
|
|
{
|
|
$chamber_rods.time(3);
|
|
$chamber_rods.accelTime(1);
|
|
$chamber_rods.decelTime(.5);
|
|
$chamber_rods.moveTo($chamber_rod_up);
|
|
|
|
sys.trigger ($chamber_rods_up_speaker);
|
|
|
|
sys.waitFor ($chamber_rods);
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Chamber Sockets OUT
|
|
// -------------------------------------------------
|
|
void chamber_sockets_out()
|
|
{
|
|
$chamber_socket1.time(2);
|
|
$chamber_socket1.moveTo($chamber_socket1_out);
|
|
$chamber_socket2.time(2);
|
|
$chamber_socket2.moveTo($chamber_socket2_out);
|
|
$chamber_socket3.time(2);
|
|
$chamber_socket3.moveTo($chamber_socket3_out);
|
|
$chamber_socket4.time(2);
|
|
$chamber_socket4.moveTo($chamber_socket4_out);
|
|
|
|
sys.trigger ($chamber_sockets_out_speaker);
|
|
|
|
sys.waitFor ($chamber_socket4);
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Chamber Sockets IN
|
|
// -------------------------------------------------
|
|
void chamber_sockets_in()
|
|
{
|
|
$chamber_socket1.time(2);
|
|
$chamber_socket1.moveTo($chamber_socket1_in);
|
|
$chamber_socket2.time(2);
|
|
$chamber_socket2.moveTo($chamber_socket2_in);
|
|
$chamber_socket3.time(2);
|
|
$chamber_socket3.moveTo($chamber_socket3_in);
|
|
$chamber_socket4.time(2);
|
|
$chamber_socket4.moveTo($chamber_socket4_in);
|
|
|
|
sys.trigger ($chamber_sockets_in_speaker);
|
|
|
|
sys.waitFor ($chamber_socket4);
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// fog up
|
|
// -------------------------------------------------
|
|
void fog_up()
|
|
{
|
|
$chamber_foglight_mover.time(12);
|
|
$chamber_foglight_mover.moveTo($chamber_foglight_up);
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// fog down
|
|
// -------------------------------------------------
|
|
void fog_down()
|
|
{
|
|
$chamber_foglight_mover.time(12);
|
|
$chamber_foglight_mover.moveTo($chamber_foglight_down);
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Trigger the Chamber into action!
|
|
// -------------------------------------------------
|
|
void chamber_trigger()
|
|
{
|
|
float moverthread;
|
|
|
|
// Switches gui to non-interactive mode
|
|
chamber_guicontrol(2);
|
|
sys.wait(0.1);
|
|
|
|
// doors CLOSE
|
|
$chamber_door1a.close();
|
|
$chamber_door1b.close();
|
|
$chamber_door2a.close();
|
|
$chamber_door2b.close();
|
|
$chamber_door3a.close();
|
|
$chamber_door3b.close();
|
|
$chamber_door4a.close();
|
|
$chamber_door4b.close();
|
|
|
|
sys.waitFor($chamber_door1a);
|
|
sys.waitFor($chamber_door2a);
|
|
sys.waitFor($chamber_door3a);
|
|
sys.waitFor($chamber_door4a);
|
|
|
|
//trigger the hurt on
|
|
sys.trigger ( $chamber_hurt );
|
|
|
|
// Klax lights START
|
|
thread start_klaxlights();
|
|
|
|
|
|
// flicker lights
|
|
thread power_flux(14);
|
|
|
|
// secret steam sounds
|
|
//thread sound_secret_steam_on();
|
|
//sys.trigger ($greensteam01);
|
|
//sys.trigger ($greensteam02);
|
|
//sys.trigger ($greensteam03);
|
|
//$secretsteam.moveTo ($secretsteam_pos2);
|
|
|
|
// fog & trigger_hurt move UP
|
|
//thread fog_up();
|
|
|
|
//bridges up
|
|
sys.trigger ($bridge_up_speaker);
|
|
$chamber_bridge1.rotateOnce( '0 0 -61' );
|
|
$chamber_bridge2.rotateOnce( '107.5 0 0' );
|
|
$chamber_bridge3.rotateOnce( '0 0 61' );
|
|
$chamber_bridge4.rotateOnce( '-107.5 0 0' );
|
|
|
|
//core DOWN
|
|
thread chamber_core_down();
|
|
|
|
//sockets OUT
|
|
sys.waitFor($chamber_bridge1);
|
|
moverthread = thread chamber_sockets_out();
|
|
sys.waitForThread ( moverthread );
|
|
|
|
//rods DOWN
|
|
moverthread = thread chamber_rods_down();
|
|
sys.waitForThread ( moverthread );
|
|
sys.wait(1);
|
|
|
|
// powerup goodness ...
|
|
thread spawn_powerup();
|
|
thread sound_berserk_spawn();
|
|
|
|
// ... Dramatic pause ...
|
|
sys.wait(3);
|
|
|
|
//rods up and sockets in
|
|
thread chamber_rods_up();
|
|
sys.wait (1);
|
|
moverthread = thread chamber_sockets_in();
|
|
sys.waitForThread ( moverthread );
|
|
|
|
|
|
//bridges DOWN
|
|
sys.trigger ($bridge_down_speaker);
|
|
$chamber_bridge1.rotateOnce( '0 0 61' );
|
|
$chamber_bridge2.rotateOnce( '-107.5 0 0' );
|
|
$chamber_bridge3.rotateOnce( '0 0 -61' );
|
|
$chamber_bridge4.rotateOnce( '107.5 0 0' );
|
|
|
|
//core up
|
|
moverthread = thread chamber_core_up();
|
|
sys.waitForThread ( moverthread );
|
|
|
|
// secret steam sounds
|
|
//thread sound_secret_steam_off();
|
|
//sys.trigger ($greensteam01);
|
|
//sys.trigger ($greensteam02);
|
|
//sys.trigger ($greensteam03);
|
|
//$secretsteam.moveTo ($secretsteam_pos1);
|
|
|
|
// Klax lights STOP
|
|
thread stop_klaxlights();
|
|
|
|
// fog & trigger_hurt go DOWN
|
|
sys.wait(1.5);
|
|
//thread fog_down();
|
|
|
|
// turn off flickering lights sound
|
|
thread sound_lights_steady( $mrdr_speaker_lights_01 );
|
|
thread sound_lights_steady( $mrdr_speaker_lights_02 );
|
|
|
|
// doors OPEN
|
|
sys.wait(1);
|
|
|
|
// set gui to standby mode
|
|
chamber_guicontrol(3);
|
|
sys.wait(0.1);
|
|
|
|
$chamber_door1a.open();
|
|
$chamber_door1b.open();
|
|
$chamber_door2a.open();
|
|
$chamber_door2b.open();
|
|
$chamber_door3a.open();
|
|
$chamber_door3b.open();
|
|
$chamber_door4a.open();
|
|
$chamber_door4b.open();
|
|
|
|
sys.waitFor($chamber_door1a);
|
|
sys.waitFor($chamber_door2a);
|
|
sys.waitFor($chamber_door3a);
|
|
sys.waitFor($chamber_door4a);
|
|
|
|
//trigger the hurt on
|
|
sys.trigger ( $chamber_hurt );
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
F r a g c h a m b e r scripting END
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
//--------------------------------------------------
|
|
// Set initial states
|
|
//--------------------------------------------------
|
|
void setup_objects()
|
|
{
|
|
setup_powerlights (); // Reset lights to intial values
|
|
thread setup_klaxlights(); // Red klaxons that spin when chamber is active
|
|
thread switchrgb_klaxlights ('0 0 0');
|
|
thread llm_shaker1_move();
|
|
|
|
// fog mover
|
|
$chamber_foglight_mover.time(0.1);
|
|
$chamber_foglight_mover.moveTo($chamber_foglight_down);
|
|
|
|
// Chamber bridges
|
|
$chamber_bridge1.setAngles( '0 0 -24' );
|
|
$chamber_bridge2.setAngles( '-22.5 0 0' );
|
|
$chamber_bridge3.setAngles( '0 0 24' );
|
|
$chamber_bridge4.setAngles( '22.5 0 0' );
|
|
|
|
// Switches gui to interactive mode
|
|
chamber_guicontrol(1);
|
|
sys.wait(0.1);
|
|
|
|
// Central Chamber doors
|
|
$chamber_door1a.disable();
|
|
$chamber_door1a.open();
|
|
$chamber_door1b.disable();
|
|
$chamber_door1b.open();
|
|
$chamber_door2a.disable();
|
|
$chamber_door2a.open();
|
|
$chamber_door2b.disable();
|
|
$chamber_door2b.open();
|
|
$chamber_door3a.disable();
|
|
$chamber_door3a.open();
|
|
$chamber_door3b.disable();
|
|
$chamber_door3b.open();
|
|
$chamber_door4a.disable();
|
|
$chamber_door4a.open();
|
|
$chamber_door4b.disable();
|
|
$chamber_door4b.open();
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Main
|
|
// -------------------------------------------------
|
|
void main()
|
|
{
|
|
sys.wait(1);
|
|
setup_objects();
|
|
|
|
thread sound_lights();
|
|
}
|