mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-12 08:11:10 +02:00
1038 lines
24 KiB
Plaintext
1038 lines
24 KiB
Plaintext
// =================================================
|
|
// Map: D3DM5 ( Lights Out )
|
|
// =================================================
|
|
|
|
|
|
//--------------------------------------------------
|
|
// Script definitions and global variables
|
|
//--------------------------------------------------
|
|
|
|
// Window status: 1:Closed, 2:Open, 3:Opening, 4:Closing
|
|
float windstatus1, windstatus2;
|
|
float powerupExists = 0;
|
|
|
|
//--------------------------------------------------
|
|
// Sound Functions
|
|
//--------------------------------------------------
|
|
|
|
// berserk powerup
|
|
void sound_powerup_berserk()
|
|
{
|
|
if( powerupExists == 1 ) {
|
|
$mrdr_speaker_berserk.startSoundShader ( "snd_berserkSpawn", SND_CHANNEL_ANY );
|
|
}
|
|
|
|
else if( powerupExists == 0 ) {
|
|
$mrdr_speaker_berserk.stopSound( SND_CHANNEL_ANY, true );
|
|
}
|
|
}
|
|
|
|
// functions for generator sounds
|
|
void sound_generator_startup()
|
|
{
|
|
$mrdr_speaker_gen.startSound( "snd_genOn", SND_CHANNEL_ANY, true );
|
|
}
|
|
|
|
void sound_generator_shutdown()
|
|
{
|
|
$mrdr_speaker_gen.stopSound( SND_CHANNEL_ANY, true );
|
|
$mrdr_speaker_gen.startSound( "snd_genOff", SND_CHANNEL_ANY, true );
|
|
}
|
|
|
|
// start wind sounds
|
|
void sound_wind_init()
|
|
{
|
|
$mrdr_speaker_51.startSound( "snd_wind", SND_CHANNEL_ANY, true );
|
|
$mrdr_speaker_52.startSound( "snd_wind", SND_CHANNEL_ANY, true );
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
// Berserk Trigger
|
|
//--------------------------------------------------
|
|
void powerup_berserk_remove()
|
|
{
|
|
powerupExists = 0;
|
|
|
|
thread sound_powerup_berserk();
|
|
}
|
|
|
|
void powerup_berserk_spawn()
|
|
{
|
|
powerupExists = 1;
|
|
|
|
thread sound_powerup_berserk();
|
|
|
|
$powerup_invisibility_1.respawn();
|
|
}
|
|
|
|
|
|
//--------------------------------------------------
|
|
// Setup of the Window Shutters
|
|
//--------------------------------------------------
|
|
void windshutter_setup(float wind_no, float wind_seg)
|
|
{
|
|
string windvar;
|
|
entity windent;
|
|
|
|
windvar = "windshutter"+wind_no+"_"+wind_seg;
|
|
windent = sys.getEntity( windvar );
|
|
|
|
windent.accelTime(2);
|
|
windent.decelTime(2);
|
|
windent.time(3);
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
void windshutter1_thread()
|
|
{
|
|
$windshutter1_gui.setGuiParm( "networkState" , windstatus1);
|
|
|
|
// ********* OPENING **********
|
|
if(windstatus1 == 3) {
|
|
// Fade light up
|
|
$wils_light_120.fadeInLight(1.5);
|
|
$wils_light_106.fadeInLight(2);
|
|
$wils_light_23.fadeInLight(2.5);
|
|
$wils_light_67.fadeInLight(2);
|
|
$wils_light_86.fadeInLight(2);
|
|
|
|
// Going up
|
|
$mrdr_speaker_51.startSound( "snd_wind", SND_CHANNEL_ANY, true );
|
|
sys.trigger( $mrdr_speaker_shutter11 );
|
|
$windshutter1_1.rotateOnce( '180 0 0' );
|
|
sys.wait(0.5);
|
|
sys.trigger( $mrdr_speaker_shutter12 );
|
|
$windshutter1_2.rotateOnce( '180 0 0' );
|
|
sys.waitFor($windshutter1_2);
|
|
windstatus1 = 2; // Open
|
|
$windshutter1_gui.setGuiParm( "networkState" , windstatus1);
|
|
}
|
|
|
|
// ********* CLOSING **********
|
|
else if(windstatus1 == 4) {
|
|
// Fade light
|
|
$wils_light_120.fadeOutLight(3.25);
|
|
$wils_light_106.fadeOutLight(3);
|
|
$wils_light_23.fadeOutLight(2.75);
|
|
$wils_light_67.fadeOutLight(3);
|
|
$wils_light_86.fadeOutLight(3);
|
|
|
|
// Going down
|
|
sys.trigger( $mrdr_speaker_shutter11 );
|
|
$windshutter1_1.rotateOnce( '-180 0 0' );
|
|
sys.wait(0.25);
|
|
sys.trigger( $mrdr_speaker_shutter12 );
|
|
$windshutter1_2.rotateOnce( '-180 0 0' );
|
|
sys.waitFor($windshutter1_2);
|
|
windstatus1 = 1; // Closed
|
|
$windshutter1_gui.setGuiParm( "networkState" , windstatus1);
|
|
$mrdr_speaker_51.stopSound( SND_CHANNEL_ANY, true );
|
|
}
|
|
}
|
|
|
|
void windshutter1_open()
|
|
{
|
|
if(windstatus1 == 1) {
|
|
windstatus1 = 3;
|
|
windshutter1_thread();
|
|
}
|
|
}
|
|
|
|
void windshutter1_close()
|
|
{
|
|
if(windstatus1 == 2) {
|
|
windstatus1 = 4;
|
|
windshutter1_thread();
|
|
}
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
void windshutter2_thread()
|
|
{
|
|
$windshutter2_gui.setGuiParm( "networkState" , windstatus2);
|
|
|
|
// ********* OPENING **********
|
|
if(windstatus2 == 3) {
|
|
// Fade light
|
|
$wils_light_320.fadeInLight(2);
|
|
|
|
// Going up
|
|
$mrdr_speaker_52.startSound( "snd_wind", SND_CHANNEL_ANY, true );
|
|
sys.trigger( $mrdr_speaker_shutter21 );
|
|
$windshutter2_1.rotateOnce( '180 0 0' );
|
|
sys.wait(0.5);
|
|
sys.trigger( $mrdr_speaker_shutter22 );
|
|
$windshutter2_2.rotateOnce( '180 0 0' );
|
|
sys.waitFor($windshutter2_2);
|
|
windstatus2 = 2; // Open
|
|
$windshutter2_gui.setGuiParm( "networkState" , windstatus2);
|
|
}
|
|
|
|
// ********* CLOSING **********
|
|
else if(windstatus2 == 4) {
|
|
// Fade light
|
|
$wils_light_320.fadeOutLight(3);
|
|
|
|
// Going down
|
|
sys.trigger( $mrdr_speaker_shutter21 );
|
|
$windshutter2_1.rotateOnce( '-180 0 0' );
|
|
sys.wait(0.25);
|
|
sys.trigger( $mrdr_speaker_shutter22 );
|
|
$windshutter2_2.rotateOnce( '-180 0 0' );
|
|
sys.waitFor($windshutter2_2);
|
|
windstatus2 = 1; // Closed
|
|
$windshutter2_gui.setGuiParm( "networkState" , windstatus2);
|
|
$mrdr_speaker_52.stopSound( SND_CHANNEL_ANY, true );
|
|
}
|
|
}
|
|
|
|
void windshutter2_open()
|
|
{
|
|
if(windstatus2 == 1) {
|
|
windstatus2 = 3;
|
|
windshutter2_thread();
|
|
}
|
|
}
|
|
|
|
void windshutter2_close()
|
|
{
|
|
if(windstatus2 == 2) {
|
|
windstatus2 = 4;
|
|
windshutter2_thread();
|
|
}
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
// Motion sensor lights
|
|
//--------------------------------------------------
|
|
|
|
void triggerfield_initfunc( entity ent );
|
|
void triggerfield_checkfunc( entity ent );
|
|
void triggerfield_callfunc( entity ent );
|
|
void triggerfield_activateLight( entity ent );
|
|
void triggerfield_deactivateLight( entity ent );
|
|
|
|
void triggerfield_activateLight( entity ent ) {
|
|
string lightstr;
|
|
entity light;
|
|
float ison;
|
|
|
|
lightstr = ent.getKey( "wrelay_on" );
|
|
ison = ent.getIntKey( "ison" );
|
|
|
|
light = sys.getEntity( lightstr );
|
|
|
|
if( ison == 0){
|
|
sys.trigger( light );
|
|
ent.setKey( "ison", "1" );
|
|
}
|
|
}
|
|
|
|
void triggerfield_deactivateLight( entity ent ) {
|
|
string lightstr;
|
|
entity light;
|
|
float ison;
|
|
|
|
lightstr = ent.getKey( "wrelay_off" );
|
|
ison = ent.getIntKey( "ison" );
|
|
|
|
light = sys.getEntity( lightstr );
|
|
|
|
if( ison == 1){
|
|
sys.trigger( light );
|
|
ent.setKey( "ison", "0" );
|
|
}
|
|
}
|
|
|
|
void triggerfield_initfunc( entity ent ) {
|
|
ent.setKey( "ison", "0" );
|
|
ent.setKey( "isenabled", "1" );
|
|
}
|
|
|
|
void triggerfield_enable( entity ent ) {
|
|
ent.setKey( "isenabled", "1" );
|
|
}
|
|
|
|
void triggerfield_disable( entity ent ){
|
|
ent.setKey( "isenabled", "0" );
|
|
triggerfield_deactivateLight( ent );
|
|
}
|
|
|
|
void triggerfield_checkfunc( entity ent ) {
|
|
float ison;
|
|
|
|
ison = ent.getIntKey( "ison" );
|
|
if( ison == 1 ) {
|
|
float lasttouched, totaltime;
|
|
|
|
lasttouched = ent.getFloatKey( "lasttouched" );
|
|
|
|
totaltime = sys.getTime() - lasttouched;
|
|
|
|
if( totaltime > 10) {
|
|
triggerfield_deactivateLight( ent );
|
|
}
|
|
}
|
|
}
|
|
|
|
void triggerfield_callfunc( entity ent ) {
|
|
float isenabled;
|
|
|
|
isenabled = ent.getIntKey( "isenabled" );
|
|
if( isenabled == 1 ) {
|
|
float ison;
|
|
|
|
ent.setKey( "lasttouched", sys.getTime() );
|
|
|
|
ison = ent.getIntKey( "ison" );
|
|
if( ison == 0 ) {
|
|
triggerfield_activateLight( ent );
|
|
}
|
|
}
|
|
}
|
|
|
|
void wils_triggerfield1_callfunc() {
|
|
triggerfield_callfunc( $wils_trigger_multiple_1 );
|
|
}
|
|
|
|
void wils_triggerfield2_callfunc() {
|
|
triggerfield_callfunc( $wils_trigger_multiple_2 );
|
|
}
|
|
|
|
void wils_triggerfield3_callfunc() {
|
|
triggerfield_callfunc( $wils_trigger_multiple_3 );
|
|
}
|
|
|
|
void wils_triggerfield4_callfunc() {
|
|
triggerfield_callfunc( $wils_trigger_multiple_4 );
|
|
}
|
|
|
|
void wils_triggerfield5_callfunc() {
|
|
triggerfield_callfunc( $wils_trigger_multiple_5 );
|
|
}
|
|
|
|
void wils_triggerfield6_callfunc() {
|
|
triggerfield_callfunc( $wils_trigger_multiple_6 );
|
|
}
|
|
|
|
void wils_triggerfield7_callfunc() {
|
|
triggerfield_callfunc( $wils_trigger_multiple_20 );
|
|
}
|
|
|
|
void wils_triggerfield8_callfunc() {
|
|
triggerfield_callfunc( $wils_trigger_multiple_21 );
|
|
}
|
|
|
|
void wils_triggerfield9_callfunc() {
|
|
triggerfield_callfunc( $wils_trigger_multiple_22 );
|
|
}
|
|
|
|
void wils_triggerfield10_callfunc() {
|
|
triggerfield_callfunc( $wils_trigger_multiple_24 );
|
|
}
|
|
|
|
void wils_triggerfield11_callfunc() {
|
|
triggerfield_callfunc( $wils_trigger_multiple_25 );
|
|
}
|
|
|
|
void wils_triggerfield12_callfunc() {
|
|
triggerfield_callfunc( $wils_trigger_multiple_26 );
|
|
}
|
|
|
|
void wils_triggerfield13_callfunc() {
|
|
triggerfield_callfunc( $wils_trigger_multiple_27 );
|
|
}
|
|
|
|
void wils_triggerfield14_callfunc() {
|
|
triggerfield_callfunc( $wils_trigger_multiple_28 );
|
|
}
|
|
|
|
void nkd_triggerfield01_callfunc() {
|
|
triggerfield_callfunc( $nkd_trigger_multiple_1 );
|
|
}
|
|
|
|
void triggerfield_thread() {
|
|
|
|
// middle corridor(split level room to stairwell)
|
|
triggerfield_initfunc( $wils_trigger_multiple_1 );
|
|
triggerfield_initfunc( $wils_trigger_multiple_2 );
|
|
triggerfield_initfunc( $wils_trigger_multiple_3 );
|
|
triggerfield_initfunc( $wils_trigger_multiple_4 );
|
|
triggerfield_initfunc( $wils_trigger_multiple_5 );
|
|
|
|
// upper corridors(kitchen to fan room)
|
|
triggerfield_initfunc( $wils_trigger_multiple_20 );
|
|
triggerfield_initfunc( $wils_trigger_multiple_21 );
|
|
triggerfield_initfunc( $wils_trigger_multiple_22 );
|
|
triggerfield_initfunc( $wils_trigger_multiple_24 );
|
|
triggerfield_initfunc( $wils_trigger_multiple_25 );
|
|
triggerfield_initfunc( $wils_trigger_multiple_26 );
|
|
triggerfield_initfunc( $wils_trigger_multiple_27 );
|
|
triggerfield_initfunc( $wils_trigger_multiple_28 );
|
|
triggerfield_initfunc( $nkd_trigger_multiple_1 );
|
|
|
|
while( 1 ) {
|
|
// middle corridor
|
|
triggerfield_checkfunc( $wils_trigger_multiple_1 );
|
|
triggerfield_checkfunc( $wils_trigger_multiple_2 );
|
|
triggerfield_checkfunc( $wils_trigger_multiple_3 );
|
|
triggerfield_checkfunc( $wils_trigger_multiple_4 );
|
|
triggerfield_checkfunc( $wils_trigger_multiple_5 );
|
|
|
|
// upper corridors
|
|
triggerfield_checkfunc( $wils_trigger_multiple_20 );
|
|
triggerfield_checkfunc( $wils_trigger_multiple_21 );
|
|
triggerfield_checkfunc( $wils_trigger_multiple_22 );
|
|
triggerfield_checkfunc( $wils_trigger_multiple_24 );
|
|
triggerfield_checkfunc( $wils_trigger_multiple_25 );
|
|
triggerfield_checkfunc( $wils_trigger_multiple_26 );
|
|
triggerfield_checkfunc( $wils_trigger_multiple_27 );
|
|
triggerfield_checkfunc( $wils_trigger_multiple_28 );
|
|
triggerfield_checkfunc( $nkd_trigger_multiple_1 );
|
|
|
|
sys.wait( 1 );
|
|
}
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
// Generator stuff
|
|
//--------------------------------------------------
|
|
|
|
// Set of thingys to turn lights OFF
|
|
void lightsoff_generator_room()
|
|
{
|
|
$wils_light_333.Off();
|
|
$nkd_light_673.Off();
|
|
$wils_light_259.Off();
|
|
$wils_light_87.Off();
|
|
$wils_light_241.Off();
|
|
$wils_light_242.Off();
|
|
|
|
$wils_func_static_136.hide();
|
|
$wils_func_static_137.show();
|
|
$wils_func_static_138.hide();
|
|
$wils_func_static_139.show();
|
|
$wils_func_static_141.hide();
|
|
$wils_func_static_142.show();
|
|
$wils_func_static_143.hide();
|
|
$wils_func_static_144.show();
|
|
$wils_func_static_145.hide();
|
|
$wils_func_static_146.show();
|
|
$func_static_2623.hide();
|
|
$wils_func_static_147.hide();
|
|
$wils_func_static_148.show();
|
|
}
|
|
|
|
void lightsoff_kitchen()
|
|
{
|
|
$wils_light_24.Off();
|
|
$wils_light_244.Off();
|
|
|
|
$wils_func_static_186.hide();
|
|
$wils_func_static_187.show();
|
|
}
|
|
|
|
void lightsoff_stairwell()
|
|
{
|
|
$wils_light_154.Off();
|
|
$qfraggel_light_1.Off();
|
|
$wils_light_32.Off();
|
|
$wils_light_307.Off();
|
|
$wils_light_308.Off();
|
|
$wils_light_36.Off();
|
|
$wils_light_130.Off();
|
|
$wils_light_88.Off();
|
|
|
|
$wils_func_static_4.hide();
|
|
$wils_func_static_149.show();
|
|
$wils_func_static_150.hide();
|
|
$qfraggel_func_static_1.hide();
|
|
$wils_func_static_151.show();
|
|
$wils_func_static_250.show();
|
|
$llm_func_static_12.hide();
|
|
$llm_func_static_13.hide();
|
|
$llm_func_static_11.show();
|
|
$llm_func_static_14.show();
|
|
$wils_func_static_39.hide();
|
|
$wils_func_static_40.hide();
|
|
$nkd_func_static_6.hide();
|
|
$nkd_func_static_5.show();
|
|
}
|
|
|
|
void lightsoff_middle_corridor()
|
|
{
|
|
triggerfield_disable( $wils_trigger_multiple_1 );
|
|
triggerfield_disable( $wils_trigger_multiple_2 );
|
|
triggerfield_disable( $wils_trigger_multiple_3 );
|
|
triggerfield_disable( $wils_trigger_multiple_4 );
|
|
triggerfield_disable( $wils_trigger_multiple_5 );
|
|
|
|
$wils_func_static_210.hide();
|
|
|
|
$wils_func_static_211.show();
|
|
|
|
$nkd_func_static_7.hide();
|
|
$nkd_func_static_8.show();
|
|
$nkd_func_static_32.hide();
|
|
$nkd_func_static_33.show();
|
|
|
|
$wils_func_static_216.hide();
|
|
$wils_func_static_217.show();
|
|
}
|
|
|
|
void lightsoff_upper_corridor()
|
|
{
|
|
triggerfield_disable( $wils_trigger_multiple_20 );
|
|
triggerfield_disable( $wils_trigger_multiple_21 );
|
|
triggerfield_disable( $wils_trigger_multiple_22 );
|
|
triggerfield_disable( $wils_trigger_multiple_24 );
|
|
triggerfield_disable( $wils_trigger_multiple_25 );
|
|
triggerfield_disable( $wils_trigger_multiple_26 );
|
|
triggerfield_disable( $wils_trigger_multiple_27 );
|
|
triggerfield_disable( $wils_trigger_multiple_28 );
|
|
|
|
$nkd_func_static_22.hide();
|
|
$nkd_func_static_20.show();
|
|
$nkd_func_static_21.hide();
|
|
$nkd_func_static_19.show();
|
|
|
|
$nkd_func_static_26.hide();
|
|
$nkd_func_static_27.show();
|
|
|
|
$wils_func_static_202.hide();
|
|
|
|
$wils_func_static_203.show();
|
|
$wils_func_static_212.hide();
|
|
$wils_func_static_213.show();
|
|
$wils_func_static_214.hide();
|
|
$wils_func_static_215.show();
|
|
|
|
$nkd_func_static_39.hide();
|
|
$nkd_func_static_40.show();
|
|
$nkd_light_563.Off();
|
|
$nkd_light_564.On();
|
|
$wils_light_353.On();
|
|
}
|
|
|
|
void lightsoff_cubicles_corridor()
|
|
{
|
|
$wils_light_42.Off();
|
|
$wils_light_124.Off();
|
|
$wils_light_133.Off();
|
|
$wils_light_143.Off();
|
|
$wils_light_315.Off();
|
|
$wils_light_184.Off();
|
|
$wils_light_187.Off();
|
|
$wils_light_144.Off();
|
|
$wils_light_145.Off();
|
|
$wils_light_310.Off();
|
|
$wils_light_175.Off();
|
|
$wils_light_180.Off();
|
|
$nkd_light_534.Off();
|
|
$wils_light_181.Off();
|
|
$wils_light_316.Off();
|
|
|
|
$wils_func_static_154.hide();
|
|
$wils_func_static_155.show();
|
|
$wils_func_static_156.hide();
|
|
$wils_func_static_157.show();
|
|
$wils_func_static_208.hide();
|
|
$wils_func_static_209.show();
|
|
}
|
|
|
|
void lightsoff_split_room()
|
|
{
|
|
$wils_light_348.Off();
|
|
$wils_light_349.Off();
|
|
$tim_light_3468.Off();
|
|
$wils_light_317.Off();
|
|
$tim_light_3472.Off();
|
|
$tim_light_3281.Off();
|
|
$wils_light_218.Off();
|
|
$wils_light_219.Off();
|
|
$wils_light_166.Off();
|
|
$wils_light_167.Off();
|
|
$wils_light_168.Off();
|
|
$wils_light_169.Off();
|
|
|
|
$wils_light_350.On();
|
|
$wils_light_351.On();
|
|
|
|
|
|
$nkd_func_static_14.hide();
|
|
$nkd_func_static_16.show();
|
|
$wils_func_static_202.hide();
|
|
$wils_func_static_203.show();
|
|
$wils_func_static_206.hide();
|
|
$wils_func_static_207.show();
|
|
$nkd_func_static_30.hide();
|
|
$nkd_func_static_31.show();
|
|
}
|
|
|
|
void lightsoff_fan_room()
|
|
{
|
|
$light_1.Off();
|
|
$light_2.Off();
|
|
$light_3.Off();
|
|
$wils_light_209.Off();
|
|
$wils_light_210.Off();
|
|
$wils_light_211.Off();
|
|
$wils_light_190.Off();
|
|
$wils_light_192.Off();
|
|
$wils_light_193.Off();
|
|
$wils_light_194.Off();
|
|
$wils_light_305.Off();
|
|
$wils_light_220.Off();
|
|
$wils_light_221.Off();
|
|
$wils_light_201.Off();
|
|
|
|
$nkd_func_static_22.hide();
|
|
$nkd_func_static_20.show();
|
|
$wils_func_static_75.hide();
|
|
$wils_func_static_76.hide();
|
|
$wils_func_static_77.hide();
|
|
$wils_func_static_78.hide();
|
|
$wils_func_static_180.hide();
|
|
$wils_func_static_181.show();
|
|
$wils_func_static_184.hide();
|
|
$wils_func_static_185.show();
|
|
}
|
|
|
|
void lightsoff_swinglight_room()
|
|
{
|
|
$tim_light_3636.Off();
|
|
$tim_light_3399.Off();
|
|
$nkd_light_612.Off();
|
|
$nkd_light_613.Off();
|
|
$nkd_light_614.Off();
|
|
$nkd_light_615.Off();
|
|
$nkd_light_646.Off();
|
|
$nkd_light_647.Off();
|
|
$wils_light_326.Off();
|
|
$wils_light_321.Off();
|
|
$tim_light_3406.Off();
|
|
$tim_light_3407.Off();
|
|
$wils_light_319.Off();
|
|
$wils_light_109.Off();
|
|
|
|
$tim_light_3408.Off();
|
|
$tim_light_3394.Off();
|
|
$tim_light_3395.Off();
|
|
$tim_light_3396.Off();
|
|
|
|
$wils_func_static_160.hide();
|
|
$wils_func_static_161.show();
|
|
$wils_func_static_162.hide();
|
|
$wils_func_static_163.show();
|
|
$wils_func_static_164.hide();
|
|
$wils_func_static_165.show();
|
|
$wils_func_static_168.hide();
|
|
$wils_func_static_169.show();
|
|
$wils_func_static_172.hide();
|
|
$wils_func_static_173.show();
|
|
$wils_func_static_174.hide();
|
|
$wils_func_static_175.show();
|
|
$wils_func_static_112.hide();
|
|
}
|
|
|
|
void lightsoff_button_passage()
|
|
{
|
|
$wils_light_102.Off();
|
|
$wils_light_103.Off();
|
|
$wils_light_104.Off();
|
|
|
|
$nkd_func_static_15.hide();
|
|
$nkd_func_static_17.show();
|
|
$wils_func_static_178.hide();
|
|
$wils_func_static_179.show();
|
|
}
|
|
|
|
|
|
// Set of thingys to turn lights ON
|
|
void lightson_generator_room()
|
|
{
|
|
$wils_light_333.On();
|
|
$nkd_light_673.On();
|
|
$wils_light_259.On();
|
|
$wils_light_87.On();
|
|
$wils_light_241.On();
|
|
$wils_light_242.On();
|
|
|
|
$wils_func_static_136.show();
|
|
$wils_func_static_137.hide();
|
|
$wils_func_static_138.show();
|
|
$wils_func_static_139.hide();
|
|
$wils_func_static_141.show();
|
|
$wils_func_static_142.hide();
|
|
$wils_func_static_143.show();
|
|
$wils_func_static_144.hide();
|
|
$wils_func_static_145.show();
|
|
$wils_func_static_146.hide();
|
|
$func_static_2623.show();
|
|
$wils_func_static_147.show();
|
|
$wils_func_static_148.hide();
|
|
}
|
|
|
|
void lightson_kitchen()
|
|
{
|
|
$wils_light_24.On();
|
|
$wils_light_244.On();
|
|
|
|
$wils_func_static_186.show();
|
|
$wils_func_static_187.hide();
|
|
}
|
|
|
|
void lightson_stairwell()
|
|
{
|
|
$wils_light_154.On();
|
|
$qfraggel_light_1.On();
|
|
$wils_light_32.On();
|
|
$wils_light_307.On();
|
|
$wils_light_308.On();
|
|
$wils_light_36.On();
|
|
$wils_light_130.On();
|
|
$wils_light_88.On();
|
|
|
|
$wils_func_static_4.show();
|
|
$wils_func_static_149.hide();
|
|
$wils_func_static_150.show();
|
|
$qfraggel_func_static_1.show();
|
|
$llm_func_static_12.show();
|
|
$llm_func_static_13.show();
|
|
$wils_func_static_151.hide();
|
|
$wils_func_static_250.hide();
|
|
$llm_func_static_11.hide();
|
|
$llm_func_static_14.hide();
|
|
$wils_func_static_39.show();
|
|
$wils_func_static_40.show();
|
|
$nkd_func_static_6.show();
|
|
$nkd_func_static_5.hide();
|
|
}
|
|
|
|
void lightson_middle_corridor()
|
|
{
|
|
triggerfield_enable( $wils_trigger_multiple_1 );
|
|
triggerfield_enable( $wils_trigger_multiple_2 );
|
|
triggerfield_enable( $wils_trigger_multiple_3 );
|
|
triggerfield_enable( $wils_trigger_multiple_4 );
|
|
triggerfield_enable( $wils_trigger_multiple_5 );
|
|
|
|
$wils_func_static_210.show();
|
|
$wils_func_static_211.hide();
|
|
$nkd_func_static_7.show();
|
|
$nkd_func_static_8.hide();
|
|
$nkd_func_static_32.show();
|
|
|
|
$nkd_func_static_33.hide();
|
|
|
|
$wils_func_static_216.show();
|
|
$wils_func_static_217.hide();
|
|
}
|
|
|
|
void lightson_upper_corridor()
|
|
{
|
|
triggerfield_enable( $wils_trigger_multiple_20 );
|
|
triggerfield_enable( $wils_trigger_multiple_21 );
|
|
triggerfield_enable( $wils_trigger_multiple_22 );
|
|
triggerfield_enable( $wils_trigger_multiple_24 );
|
|
triggerfield_enable( $wils_trigger_multiple_25 );
|
|
triggerfield_enable( $wils_trigger_multiple_26 );
|
|
triggerfield_enable( $wils_trigger_multiple_27 );
|
|
triggerfield_enable( $wils_trigger_multiple_28 );
|
|
|
|
$nkd_func_static_22.show();
|
|
$nkd_func_static_20.hide();
|
|
$nkd_func_static_21.show();
|
|
$nkd_func_static_19.hide();
|
|
$nkd_func_static_26.show();
|
|
|
|
$nkd_func_static_27.hide();
|
|
|
|
$wils_func_static_202.show();
|
|
$wils_func_static_203.hide();
|
|
$wils_func_static_212.show();
|
|
$wils_func_static_213.hide();
|
|
$wils_func_static_214.show();
|
|
$wils_func_static_215.hide();
|
|
|
|
$nkd_func_static_39.show();
|
|
$nkd_func_static_40.hide();
|
|
$nkd_light_563.On();
|
|
$nkd_light_564.Off();
|
|
$wils_light_353.Off();
|
|
}
|
|
|
|
void lightson_cubicles_corridor()
|
|
{
|
|
$wils_light_42.On();
|
|
$wils_light_124.On();
|
|
$wils_light_133.On();
|
|
$wils_light_143.On();
|
|
$wils_light_315.On();
|
|
$wils_light_184.On();
|
|
$wils_light_187.On();
|
|
$wils_light_144.On();
|
|
$wils_light_145.On();
|
|
$wils_light_310.On();
|
|
$wils_light_175.On();
|
|
$wils_light_180.On();
|
|
$nkd_light_534.On();
|
|
$wils_light_181.On();
|
|
$wils_light_316.On();
|
|
|
|
$wils_func_static_154.show();
|
|
$wils_func_static_155.hide();
|
|
$wils_func_static_156.show();
|
|
$wils_func_static_157.hide();
|
|
$wils_func_static_208.show();
|
|
$wils_func_static_209.hide();
|
|
}
|
|
|
|
void lightson_split_room()
|
|
{
|
|
$wils_light_348.On();
|
|
$wils_light_349.On();
|
|
$tim_light_3468.On();
|
|
$wils_light_317.On();
|
|
$tim_light_3472.On();
|
|
$tim_light_3281.On();
|
|
$wils_light_218.On();
|
|
$wils_light_219.On();
|
|
$wils_light_166.On();
|
|
$wils_light_167.On();
|
|
$wils_light_168.On();
|
|
$wils_light_169.On();
|
|
|
|
$wils_light_350.Off();
|
|
$wils_light_351.Off();
|
|
|
|
$nkd_func_static_14.show();
|
|
$nkd_func_static_16.hide();
|
|
$wils_func_static_202.show();
|
|
$wils_func_static_203.hide();
|
|
$wils_func_static_206.show();
|
|
$wils_func_static_207.hide();
|
|
$nkd_func_static_30.show();
|
|
$nkd_func_static_31.show();
|
|
|
|
}
|
|
|
|
void lightson_fan_room()
|
|
{
|
|
$light_1.On();
|
|
$light_2.On();
|
|
$light_3.On();
|
|
$wils_light_209.On();
|
|
$wils_light_210.On();
|
|
$wils_light_211.On();
|
|
$wils_light_190.On();
|
|
$wils_light_192.On();
|
|
$wils_light_193.On();
|
|
$wils_light_194.On();
|
|
$wils_light_305.On();
|
|
$wils_light_220.On();
|
|
$wils_light_221.On();
|
|
$wils_light_201.On();
|
|
|
|
$nkd_func_static_22.show();
|
|
$nkd_func_static_20.hide();
|
|
$wils_func_static_75.show();
|
|
$wils_func_static_76.show();
|
|
$wils_func_static_77.show();
|
|
$wils_func_static_78.show();
|
|
$wils_func_static_180.show();
|
|
$wils_func_static_181.hide();
|
|
$wils_func_static_184.show();
|
|
$wils_func_static_185.hide();
|
|
}
|
|
|
|
void lightson_swinglight_room()
|
|
{
|
|
$tim_light_3636.On();
|
|
$tim_light_3399.On();
|
|
$nkd_light_612.On();
|
|
$nkd_light_613.On();
|
|
$nkd_light_614.On();
|
|
$nkd_light_615.On();
|
|
$nkd_light_646.On();
|
|
$nkd_light_647.On();
|
|
$wils_light_326.On();
|
|
$wils_light_321.On();
|
|
$tim_light_3406.On();
|
|
$tim_light_3407.On();
|
|
$wils_light_319.On();
|
|
$wils_light_109.On();
|
|
|
|
$tim_light_3408.On();
|
|
$tim_light_3394.On();
|
|
$tim_light_3395.On();
|
|
$tim_light_3396.On();
|
|
|
|
$wils_func_static_160.show();
|
|
$wils_func_static_161.hide();
|
|
$wils_func_static_162.show();
|
|
$wils_func_static_163.hide();
|
|
$wils_func_static_164.show();
|
|
$wils_func_static_165.hide();
|
|
$wils_func_static_168.show();
|
|
$wils_func_static_169.hide();
|
|
$wils_func_static_172.show();
|
|
$wils_func_static_173.hide();
|
|
$wils_func_static_174.show();
|
|
$wils_func_static_175.hide();
|
|
$wils_func_static_112.show();
|
|
}
|
|
|
|
void lightson_button_passage()
|
|
{
|
|
$wils_light_102.On();
|
|
$wils_light_103.On();
|
|
$wils_light_104.On();
|
|
|
|
$nkd_func_static_15.show();
|
|
$nkd_func_static_17.hide();
|
|
$wils_func_static_178.show();
|
|
$wils_func_static_179.hide();
|
|
}
|
|
|
|
// Generator and controls
|
|
void generator_setup()
|
|
{
|
|
$mrdr_speaker_gen.startSound( "snd_genOn", SND_CHANNEL_ANY, true );
|
|
|
|
$generator_barrel.rotate( '0 0 120' );
|
|
}
|
|
|
|
void generator_restart()
|
|
{
|
|
// trigger sounds
|
|
thread sound_generator_shutdown();
|
|
|
|
// Stop generator
|
|
$generator_barrel.accelTime( 0 );
|
|
$generator_barrel.decelTime( 6 );
|
|
$generator_barrel.time( 7 ); // note: guis/multiplayer/generator.gui is synced to this even in -- windowDef TriggerButtonOff -- onTime 7000
|
|
$generator_barrel.rotate( '0 0 120' );
|
|
sys.waitFor( $generator_barrel );
|
|
|
|
// trigger berserk
|
|
thread powerup_berserk_spawn();
|
|
|
|
// Turn lights OFF
|
|
sys.trigger( $nkd_speaker_7 ); // global sound
|
|
sys.trigger( $mrdr_speaker_22 );
|
|
|
|
lightsoff_generator_room();
|
|
|
|
sys.trigger( $mrdr_speaker_23 );
|
|
sys.trigger( $mrdr_speaker_24 );
|
|
sys.trigger( $mrdr_speaker_25 );
|
|
|
|
lightsoff_kitchen();
|
|
lightsoff_stairwell();
|
|
lightsoff_middle_corridor();
|
|
|
|
sys.trigger( $mrdr_speaker_26 );
|
|
sys.trigger( $mrdr_speaker_27 );
|
|
sys.trigger( $nkd_speaker_6 );
|
|
sys.trigger( $mrdr_speaker_28 );
|
|
|
|
lightsoff_upper_corridor();
|
|
lightsoff_cubicles_corridor();
|
|
lightsoff_split_room();
|
|
|
|
sys.trigger( $mrdr_speaker_29 );
|
|
sys.trigger( $mrdr_speaker_30 );
|
|
sys.trigger( $mrdr_speaker_31 );
|
|
|
|
lightsoff_fan_room();
|
|
lightsoff_swinglight_room();
|
|
lightsoff_button_passage();
|
|
|
|
// Open secret room
|
|
sys.trigger( $wils_func_static_218 );
|
|
sys.trigger( $wils_trigger_hurt_1 );
|
|
$wils_func_door_15.open();
|
|
$wils_func_door_16.open();
|
|
|
|
// Blackout time
|
|
sys.wait( 15 );
|
|
|
|
// Restart Generator
|
|
$generator_barrel.accelTime( 3 );
|
|
$generator_barrel.decelTime( 0 );
|
|
$generator_barrel.rotate( '0 0 120' );
|
|
|
|
// power up sound
|
|
thread sound_generator_startup();
|
|
|
|
// Turn lights ON
|
|
sys.wait( 1.5 );
|
|
|
|
sys.trigger( $mrdr_speaker_22 );
|
|
|
|
lightson_generator_room();
|
|
|
|
sys.trigger( $mrdr_speaker_23 );
|
|
sys.trigger( $mrdr_speaker_24 );
|
|
sys.trigger( $mrdr_speaker_25 );
|
|
|
|
lightson_kitchen();
|
|
lightson_stairwell();
|
|
lightson_middle_corridor();
|
|
|
|
// Close secret room
|
|
$wils_func_door_15.close();
|
|
$wils_func_door_16.close();
|
|
|
|
thread powerup_berserk_remove();
|
|
|
|
sys.trigger( $wils_func_static_218 );
|
|
sys.trigger( $wils_trigger_hurt_1 );
|
|
|
|
sys.trigger( $mrdr_speaker_26 );
|
|
sys.trigger( $mrdr_speaker_27 );
|
|
sys.trigger( $nkd_speaker_6 );
|
|
sys.trigger( $mrdr_speaker_28 );
|
|
|
|
lightson_upper_corridor();
|
|
lightson_cubicles_corridor();
|
|
lightson_split_room();
|
|
|
|
sys.trigger( $mrdr_speaker_29 );
|
|
sys.trigger( $mrdr_speaker_30 );
|
|
sys.trigger( $mrdr_speaker_31 );
|
|
|
|
lightson_fan_room();
|
|
lightson_swinglight_room();
|
|
lightson_button_passage();
|
|
}
|
|
|
|
void generator_run()
|
|
{
|
|
// don't put anything in here
|
|
// only runs if a player is accessing the GUI at the time it gets called
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
// MAIN
|
|
//--------------------------------------------------
|
|
void main()
|
|
{
|
|
thread triggerfield_thread();
|
|
|
|
thread sound_wind_init();
|
|
|
|
windshutter_setup(1,1);
|
|
windshutter_setup(1,2);
|
|
windstatus1 = 2; // Open
|
|
$windshutter1_gui.setGuiParm( "networkState" , windstatus1);
|
|
|
|
windshutter_setup(2,1);
|
|
windshutter_setup(2,2);
|
|
windstatus2 = 2; // Open
|
|
$windshutter2_gui.setGuiParm( "networkState" , windstatus2);
|
|
|
|
generator_setup();
|
|
}
|