{ Var _TimeTest = 0 // Has the machine speed test been run? // ***SKIP SHAPE DEFAULTS*** _BAR_FRAME = 0 // Set when a user hits a key to interrupt something. _UserInterrupt = 0 // TITLE sequence variables _titl_frame = 0 // Cryogenics chamber variables _no_more_pouring = 0 // kill variable for pour_loop _IRI_FRAME = 1 _IR2_FRAME = 1 _IRS_FRAME = 0 _IRZ_FRAME = 1 _POU_FRAME = 0 _frz_frame = 0 _NZL_FRAME = 1 _WARP_FRAME = 1 // Platform warp door _Bx1_Space = _POSITIVE _ld1_SPACE = _NEUTRAL // Cryo_Room door that gets blasted off _ld2_SPACE = _NEUTRAL // Cryo_Room door that gets blasted off _ld3_SPACE = _NEUTRAL // Cryo_Room door that gets blasted off _qpit1_SPACE = _NEUTRAL // The cryo hatch _qpit2_SPACE = _NEUTRAL // The cryo hatch _qpit3_SPACE = _NEUTRAL // The cryo hatch _qpit4_SPACE = _NEUTRAL // The cryo hatch _qpit5_SPACE = _NEUTRAL // The cryo hatch _lp8_space = _NEUTRAL // Phantom pillar in Tomb Room _qhole01_SPACE = _POSITIVE // Glass pane in final battle room _qhole02_SPACE = _POSITIVE // Glass pane in final battle room _qhole_trigger = 0 // Trigger the pane to fall _pltdoor_SPACE = _POSITIVE // Door in final battle room _gls1_frame = 0 // Glass animation _gls2_frame = 0 // Glass animation _btl3_frame = 0 // Cam3 ani _cryo_warning = _INVALID_PROCESS_ID // warning process _ever_poured = 0 // has cryo ever been turned on? // The cell-block area on CHAOS _pn3_frame = 0 // spark behind cell-block panel _pn2_frame = 0 // spark behind cell-block panel _burn_frame = 0 // burn marks around panel _xplo_frame = 0 // explosion art of cell-block panel _DR6_FRAME = 1 // Door from Guard room to hallway _read_danes_log = 0 // set to _TRUE once Dane's logbook has been read _read_caynans_log = 0 // set to _TRUE once Caynan's logbook has been read _caynan_lost_arm = 0 // set to _TRUE once Caynan has lost his arm _ce3_modifyvar_handle = 0 // this is the handle for a @ModifyVarEveryNth() in CE3_LOAD _got_log_about_bars = 0 // set to _TRUE once we've had the log entry about the force bars added to our log _played_flute = 0 // Counts when flute is played, used to trigger log entry // Unknown usage for these variables. _DR5_FRAME = 1 _DR7_FRAME = 1 _WR7_FRAME = 0 // skip shape for door depths _DR1_FRAME = 1 _DOO_FRAME = 1 _DR3_FRAME = 1 _DR2_FRAME = 1 _DRK_Frame = 1 // Skip shape for dark cell2 _mon_frame = 0 // Tanks monster art and platform monitor _mnt_frame = 0 // The other monster skip shape // This is used to stop Lex from doing silly things while he // endures a dramatic moment. Just set it to one, and then // back to zero when things are normal again. -KLD _Drama = 0 _Suppress_Quakes = 0 // set to 1 if we want to supress earthquakes, like when a monitor is about to be run _IntroProcess = _INVALID_PROCESS_ID // Control level skipshape variables _DR4_frame = 1 // Door to control area _elev_frame = 0 // the elevator from the garage to the control level _eleb_frame = 0 // // Control Corridor Scene Variables _Hard_Suit_Mach_Used = 0 // HardSuit machine used? _Suit_Machine_In_Use = 0 _OKtoUse = 1 // COntrol Airlock door in use // Operating Room variables _Mastaba_Set_Scene = 0 // Mastaba set scene _Operate_Done = 0 // Operating room set scene is done _mastaba_override = 0 // allows PFD to fire despite other guns _arm_frame = 1 // Dane's arm movements _hed_frame = 0 // Dane's head movements _ded_frame = 0 // Dane is dead _Dane_Alive = 1 // 1 is Dane is alive; 0 if dead _opra_frame = 0 // runs the Dane flic animation _Dane_Asks_Death = _FALSE // Set _TRUE after Dane has conversation _Dane_interrupt = _FALSE // Prevents code being called over itself _btt_frame = 0 // Dane's death by battery frames _baa_frame = 0 // Dane's death by battery anim // Control Room Variables _Use_Hardsuit_Machine = 1 // Allow player to use hardsuit machine _waiting_to_leave_elv = 0 // for the machine shop auto-activation of the elevator // Control Hangar Variables _Battery_In_Bike = 1 // Battery is in the "bike" (0=empty,1=alien battery,2=mondite battery) _did_bike_journal = 0 // Set to TRUE when LEX reads journal about bike _did_ring_glyphs = 0 // Set to TRUE when LEX reads hieroglyphs about gravity ring _Can_frame = 0 // Canopy opening _Bat_frame = 0 // Bike battery panel animation; panel is open _Bat0_frame = 0 // cycling animation of empty storage cell for battery in bike _BatR_frame = 0 // a mondite battery is in storage cell of bike _BatB_frame = 0 // cycling animation of alien battery in storage cell of bike _Exp_Frame = 0 // Bike taking off _Exp2_Frame = 0 // Bike taking off _sip_space = _POSITIVE // The bike itself (has to be set to false to get the player to sit in it) _Seen_Mach_Shop = _FALSE // set to TRUE once the player has seen the machine shop //============================= // Tower Scene Variables //============================= _GN1_FRAME = 1 _GN2_FRAME = 1 _LND1_FRAME = 0 _LND2_FRAME = 0 _GUN_FRAME = 1 // TOWER: the gun you aim at the dropship, LEDGE: the gun of the dropship firing at us _Lase_Frame = 0 _HIT_FRAME = 0 _CRS_FRAME = 0 _RISE_FRAME = 0 _Missile_Coming = 0 _DR0_FRAME = 1 // Tower elevator door pics _IncomingProcess = -1 // The incoming ship manager _Lander_Stage = 0 _LexAtGun = 0 _FirstLanderAlive = 1 _SecondLanderAlive = 1 _InCutScene = 0 _Swiveling = 0 _GunActive = 0 _RolandOnKnees = 0 _RolandBusy = 0 _Roland_Alive = 1 // Roland Start the game alive _Roland_Log = 0 // Roland alive log flag _LeftSide = 1 // Roland is cowering on the leftside // of the gun _Yap = _INVALID_PROCESS_ID _HeardMastabaSurSpeech = 0 // Flag for Mastaba's elevator speech after // you kill both ships _Mastaba_Elev_Speech = 0 // flag that checks if Mastaba is in his elevator speech _Tower_Y = 0 _DOR_FRAME = 1 _FRE_FRAME = 0 _RTR_FRAME = 0 _DSK_FRAME = 30 _BR3_FRAME = 0 _BR1_FRAME = 1 _BR2_FRAME = 1 _BR4_FRAME = 1 _LV2_FRAME = 1 _LV3_FRAME = 1 _lv4_frame = 1 _lv5_frame = 1 _LD1_FRAME = 1 // Freezer lid _pn1_frame = 1 _do1_frame = 1 _ld3_frame = 0 _shd_frame = 0 // 34 _ld2_frame = 1 _dk1_frame = 0 _dk3_frame = 0 _dp1_frame = 0 _dp2_frame = 0 _gol_frame = 1 _win_frame = 1 _dr8_frame = 1 _wall_frame = 0 _sng1_frame = 0 _sng2_frame = 0 _TUB_frame = 1 _mec_frame = 1 _flr_frame = 1 _grd_frame = 1 _for_frame = 1 _aft_frame = 1 _lht_frame = 2 _wat_frame = 1 _tnkd_frame = 0 // TankDeth water _q5a_frame = 0 // Bubbles _q4b_frame = 0 // Bubbles _q9c_frame = 0 // Bubbles _dr9_frame = 1 // Landpad elevator door (inside) _dra_frame = 1 // Landpad airlock from hall (inside) _drb_frame = 1 // Landpad airlock to outside (inside) _door_frame = 1 // Landpad airlock to outside (pad6) _butn_frame = 1 // Anim for Klaxon button _drw__frame = 1 // Anim for warp field in snake corridor // beach variables _LastLoc = 0 // Var to determine whether Lex is in the Beach or the Landpad level _bchr_frame = 0 // Anim of the acid lake rippling _bchz_frame = 0 _xbm_frame = 0 // For anim of explosion in tunnel near landpad _btn1_frame = 0 // Frame 0 = normal, frame 1 = blasted _btn2_frame = 0 // Frame 0 = normal, frame 1 = blasted _msl_frame = 1 // Shows the missile out of its tube. _spl_frame = 0 // The Splash that Fluffy causes _mlt_frame = 1 // Blinking lite on missle _bub_frame = 0 // Beach acid bubbles _Fluffy_Space = _NEUTRAL // Extent box for dead fluffy // Blast Tunnel Variables _BLN_FRAME = 1 // Variable for blst tunnel animations _fnt_frame = 0 // Suit machine front _bak_frame = 0 // Suit machine back // Tube Room variables _TubesOpen = 0 // flags indicating open tubes _TN1_frame = 0 // tube activation frames.... _TN2_frame = 0 _TN3_frame = 0 _TN4_frame = 0 _TN5_frame = 0 _TN6_frame = 0 _TN7_frame = 0 _TN8_frame = 0 _MN1_frame = 0 _MN2_frame = 0 _T1b_frame = 0 // tube activation frames.... _T2b_frame = 0 // Part 2 _T3b_frame = 0 _T4b_frame = 0 _T5b_frame = 0 _T6b_frame = 0 _T7b_frame = 0 _T8b_frame = 0 _fmo_frame = 1 // Skip shape to set the depth of // the closed tube control monitor // correctly _tube_mon_failure = 0 // keeps track of failures // Tube room flickering lights _LIT_FRAME = 0 _lik_frame = 0 // Tubes variables _GLO_FRAME = 0 // Pillar base (5 sections) space // set to NEUTRAL when Lex walk around to monitor opening during use _MON01_SPACE = _POSITIVE _MON02_SPACE = _POSITIVE _MON03_SPACE = _POSITIVE _MON04_SPACE = _POSITIVE _MON05_SPACE = _POSITIVE // Digsite variables _keyglow = 0 // Handle for keyglow process _off_frame = 0 // Anim of Tomb forcefield fading _enrg_frame = 1 // CloseUp anim of tomb forcefield _key_frame = 1 // CloseUp anim of tomb key w/out forcefield _lid_space = _NEUTRAL // Ripped-off tomb door _opening_tomb = 0 // Is lex opening the tomb? _crak_frame = 0 // Anim of glow thru the tomb's cracks _back_frame = 1 // Tomb lid is shut _open_frame = 1 // Tomb lid is shut _opn2_Frame = 0 // tomb llid is half open _glow_frame = 0 // Tomb's force field is off _gunm_frame = 4 _mch1_frame = 1 _mch2_frame = 1 _rcks_frame = 1 // Rocks busting out in Tomb Room _escher_dead = 0 // set to _TRUE(1) once Escher disappears (no death) _know_escher = _FALSE // Set when LEX knows who Escher is _escher_healed = 0 // set to _TRUE if Escher is healed _escher_spoke_1 = 0 // set to _TRUE when Escher speaks to Lex _escher_spoke_2 = 0 // set to _TRUE when she gives her last message _esc_frame = 1 // Eschers headless body (head is 3d) Turn to 0 when gone _escher_interrupt = 0 // set to _TRUE when not supposed to interrupt _escher_process = 0 // set to handle of escher_talk _stop_escher_process = _FALSE // set to _TRUE to end talk process cleanly _escher_process_2 = 0 // set to handle of escher_whine _escher_dont_whine = _FALSE // set to true when you want her to not interrupt _escher_moaning = 0 // process handle for Escher_moans _sdam_frame = 0 // Damaged suit machine _lmp_frame = 1 // lamp in dgs3 2nd frame is damaged one _lmp2_frame = 1 _Hardsuit_Mach_Damaged = 0 _hole_frame = 1 // blinkie at digsite tube _blinkie_process = 0 // is blinkie process being run? _tube_frame = 0 // tube tunnel is off at start _tub2_frame = 0 // other half of digtube (for sorting) // Dust that falls from Lex's starting cell _Eq1_frame = 0 _Eq2_frame = 0 _Eq3_frame = 0 _Eq4_frame = 0 _big_quake_running = 0 // used by Level1Tremors to know when to start the quake motion // The medical indicator on the wall of Lex's cell _Med_Frame = 0 // the landing pad _plr_frame = 0 // the blinking lights in the foreground _arow_frame = 0 // the big arrows pointing to the spot to land _fire_frame = 0 // the flaming husk of airmecho _hfr2_frame = 0 // fire flickering on walls _hfr3_frame = 0 // the dark hallway with the elevator doors opening and closing _hall_frame = 0 // fire flickering on walls _mech_frame = 0 // mecho burning in hallway _mecs_frame = 0 // Small fire (depth related) _arl2_frame = 0 // mecho burning and hallway flickering from airlock _elv3_frame = 0 // the animation for the laser bolts ripping through the elevator door // the ledge _blst_frame = 0 // the exhaust of the ship preparing for takeoff _ship_frame = 0 // the ship (0 or 1) //_gun_frame = 0 // the gun of the ship firing at us - defined already for the tower scene _lift_frame = 0 // the ship takes off // Grav Ring _rk0_frame = 0 _rk1_frame = 0 _rk2_frame = 0 _rk3_frame = 0 _rk4_frame = 0 _rk5_frame = 0 _no_more_asteroids = _INVALID_PROCESS_ID _stb_frame = 0 //Wall strobes _pz1_frame = 15 _pz2_frame = 1 _pz3_frame = 13 _pz4_frame = 15 _pz5_frame = 1 _pz6_frame = 11 _tg1_frame = 0 // Triangle button for grav ring pz6 _tg2_frame = 0 // Triangle button for grav ring pz5 _tg3_frame = 0 // Triangle button for grav ring pz4 _tg4_frame = 0 // Triangle button for grav ring pz3 _tg5_frame = 0 // Triangle button for grav ring pz2 _tg6_frame = 0 // Triangle button for grav ring pz1 _acid_frame = 0 // Acid lake opening // Dropship Missles _Dropship_Missles = 14 // 01110 - #4 always unavailable // Frame of the missile showing it // out of the pod _MIS_FRAME = 0 // missle launch/fire _BOM_FRAME = 0 // missle Boom! Explosion _DAM_FRAME = 0 // missle damage _OK_ToFire = 1 // Is it OK to fire a missile? //----------------------- //----------------------- // Platform variables //----------------------- //----------------------- _plt0_frame = 0 // Frame control for plt0 camera _emn_frame = 0 // Frame control for elite alien monitor _lite_frame = 0 // Frame control for city sun anim _bll_frame = 0 // Frame control for floating ball _shpa_frame = 0 // Frame control for arriving ship _shpb_frame = 46 // Frame control for departing ship _ship_animation_process = 0 // Used to keep track of process _gave_alien_battery = 0 // TRUE after alien gives battery _notice_alien_drop = 0 // TRUE if Lex kills alien before getting battery _need_new_battery = 0 // Set if player tries to charge bike with low battery // ***SOLIDITY DEFAULTS*** _dr1_SPACE = _NEGATIVE // Chaos Cell #1 bars space _dr2_SPACE = _NEGATIVE // Chaos Cell #2 bars space _dr3_SPACE = _NEGATIVE // Chaos Cell #3 bars space _dr4_SPACE = _NEGATIVE // Chaos Cell #4 bars space _dr5_SPACE = _POSITIVE // Cell block to guard room _dr6_SPACE = _POSITIVE // Guard room to hallway door _dr7_SPACE = _POSITIVE // Front elevator door _dr9_SPACE = _POSITIVE // Back elevator door _dr11_SPACE = _POSITIVE // Door b/w airlock & hallway (control) _dr12_SPACE = _POSITIVE // Door b/w airlock & reactor _dr13_SPACE = _POSITIVE // operate room door (control) _dr14_SPACE = _POSITIVE // Control Room doors (Control) _dr18_SPACE = _POSITIVE // Airlock/Airhall door (Landpad) _lexstuk_SPACE = _NEUTRAL // Space that HFR6 can't see, set to solid when fighting airmecho _wk1_SPACE = _NEUTRAL // Reactor room light bridge _paddr_SPACE = _POSITIVE // Landpad airlock to pad _drog_SPACE = _NEGATIVE // area where drogg leaps from _opn_SPACE = _NEGATIVE // area where drogg leaps thru? _lndtnk1_SPACE = _POSITIVE _lnddr2_space = _NEUTRAL // the doors inside the crashed dropship leading to the missile monitor _FS1_SPACE = _NEUTRAL // Tanks monster extents //_wk2_space = _POSITIVE // Tank platform //_wka_space = _POSITIVE // Tank walkway _FS2_SPACE = _NEUTRAL _FS3_SPACE = _NEUTRAL _fl2_SPACE = _POSITIVE // control room elevator _sft_SPACE = _POSITIVE // control room elevator _mecho_space = _NEUTRAL // landing pad hallway, airmecho's burning husk _Blt_Space = _POSITIVE // Blast door full _blt1_Space = _NEUTRAL // First quarter of blown blast doors _blt2_space = _NEUTRAL // Second quarter of blown blast doors _blt3_space = _NEUTRAL // Third quarter of blown blast doors _blt4_space = _NEUTRAL // Forth quarter of blown blast doors _blt5_space = _NEUTRAL // FIfth part of blown blast doors _cliff04_space = _NEUTRAL // Extent next to the ledge (above the acid lake) _cliff05_space = _NEUTRAL // Extent next to the blast door tunnel exit (on the ledge) _jetson1_space = _POSITIVE // Upper jetson tube door _Jetson2_space = _POSITIVE // Lower Jetson Tube door // ***GAME STATE VARIABLES*** // All Levels _ReflectBattDrain_Hand = 0 // Handle for the process "ReflectBattDrain" // Beach _ZipTripping = 0 // Is Lex zip-tripping? _BlowLexAway = 0 // Handle for process that knocks Lex off of ledge after being blasted _KnockLexDown_Handle = 0 // Handle for process that knocks Lex down from the warhead blast _Tripped_Timer = 0 // Has Lex tripped the warhead timer trigger box? _Warhead_Status = 0 // What are the conditions in which the warhead monitor is called _WTdigit1 = 0 // 1st digit of warhead timer display _WTdigit2 = 0 // 2nd digit of warhead timer display _WTdigit3 = 0 // 3rd digit of warhead timer display _WTdigit4 = 0 // 4th digit of warhead timer display _Warhead_Mon_Handle = 0 // Handle for the realtime process "Warhead_Mon" _Warhead_Timer_Handle = 0 // Handle for realtime process "Warhead_Timer" _Hundredths = 0 // Handle for realtime process "Hundredths" _Warhead_Timer = 900 // The realtime timer for the warhead _bomb_volume = 100 // Controls the loudness of the "soft beep" _Static_Handle = 0 // Handle for a process that fills the // dropship monitor with white noise (static) _KillFluffy_Handle = 0 // Handle for process of same name _Fluffy_SFX1 = 0 // Handle for process of same name _Fluffy_SFX2 = 0 // Handle for process of same name _Fluffy_SFX3 = 0 // Handle for process of same name _Fluffy_Dead = 0 // Is Fluffy alive or dead? _FluffyRisen = 0 // Has Fluffy risen out of the acid? _FluffyLooksUp = 0 // Handle for process of same name _FluffyGoBack_Hand = 0 // Handle for process "FluffyGoBack" _MissileGoBoom = 0 // Handle for the MissileGoBoom process _PlatformBurning = 0 // Is the platform burning? _Fluffy_Process = 0 // Process handle for Fluffy sfx _LexBchLoc = 0 // Used for the Beachbots AI _BchBot1_Alive = 1 // Beach robot 1 _BchBot2_Alive = 1 // Beach robot 2 _BchBot3_Alive = 1 // Beach robot 3 _Demo = 0 // Cryo Room _LEX_IS_CLIMBING = 0 _CRYO_DOOR_GONE = 0 _IRIS_OPN = 0 _CRYO_POUR = 0 _IRIS_MOVING = 0 _QUIT_POUR = 0 _LADDER = 1 _lyd_frame = 1 _DR2_STATE = 0 _DR5_STATE = 0 _DR4_STATE = 0 // Door way to control room _DR8_state = 0 _DRA_state = 0 // Landpad airlock _DRB_state = 0 // Landpad airlock to pad _ZAP_INTERRUPT = 0 _ZAP_COMBAT = _FALSE // controls whether to resume combatmode _ONEARM_LOADED = 0 // 50 _MECH_LOADED = 0 _RTR_SHUTDN = 0 _RTR_STATE = 1 _BRDG_ON = 0 _RTR_OFF = 0 _LAST_TURN = 0 _STOP_RTR_ANIM = 0 _LT_LEV = 0 _RT_LEV = 0 // Chaos cell-block variables _Deny_State = 0 // Used for the "DenyAccess" process in Chaosmon.scr _LexRevived = 0 // Has Lex revived from being drugged? _BOT_BLOWN = 0 _CEL1_OFF = 0 _CEL2_OFF = 0 _CEL3_OFF = 0 _CEL4_OFF = 0 _BARS1_ON = 1 _BARS2_ON = 1 _BARS3_ON = 1 _BARS4_ON = 0 _CellOneProcess = _INVALID_PROCESS_ID _CellThreeProcess = _INVALID_PROCESS_ID _CellFourProcess = _INVALID_PROCESS_ID _short_drip = 0 _Use_Bot_Blown = 0 _Medical_Speed = 10 _current_level = 2 _cycle4 = 0 _cls_arlk_tripped = 0 _cls_airl_tripped = 0 _entering = 0 _leaving = 0 _opn_arlk_tripped = 0 _in_rtr_tripped = 0 _arlk_out_tripped = 0 _opn_airl_tripped = 0 _in_pad_tripped = 0 _airl_out_tripped = 0 _ZegCounter = 0 _CtrRmElv = 1 _TEMP = 0 _TEMP1 = 0 _TEMP2 = 0 _TEMP3 = 0 _TEMP4 = 0 _TEMP5 = 0 _landpad = 0 _from_tanks = 0 _beach = 0 _digsite = 0 _tunroom = 0 _Winds_of_Change = 0 // flag for changing wind sfx in tower _exit_monitor = 0 _RexFallsNow = 0 _BeenThere = 0 _WaterPour = 0 // 78 // cryo fluid _FightSFX = 0 // Fido/Scorp fight _LightInterval = 10 _Fido_and_Scorp_are_DEAD = 0 _Heard_tank_monster = 0 _Goner_Tripped = 0 // Flag for tank scene _safe = 0 // It is safe to transport lex 'tween tanks _cel_door_state = 0 // cel<->guard door: 0=closed, 1=open _celpan_state = 2 // 1,2,3,4,5 (1 = reset,5=finished) _celpan_start = 0 _celpan_open = 0 _celpan_flag = 0 _celpan_loc = 0 _celpan_cur_ptr = 0 _celpan_seq_ptr = 0 _celpan_entering = 0 _celpan_newloc = 0 _celpan_goal = 0 // 88 _celpan_failures = 0 // a running total of the number of // times Lex has tried this puzzle // door variables _elevator_door_in_op = 0 // if 1, then door is currently being opened or closed _Elevator_moving = 0 // Is the elevator in motion? _hand_door_in_op = 0 // if 1, then door is currently being opened or closed _operate_door_in_op = 0 _control_door_in_op = 0 _airlock_door_in_op = 0 _airlock_door2_in_op = 0 _MONITOR_CAMERA = 0 _lex_standing = 1 _bar_tick = 0 _elev_inacc_level = 0 _message = 0 // speech flag for Mastaba's "random" radio messages _Mastaba_Message_One = 0 // controls radio trigger box _Mastaba_Message_Two = 0 // controls radio trigger box _Mastaba_Message_Three = 0 // controls radio trigger box _Mastaba_Message_Four = 0 // controls radio trigger box _Mastaba_Message_Five = 0 // controls radio trigger box _Mastaba_Message_Six = 0 // controls radio trigger box _mastaba_Random = 0 // process handle for _Random_Mastaba_speech _mastaba_threatened = _FALSE // set when Mastaba threatens Escher on radio _elevator_vox_secure = 0 // speech for weapon-discharge speech _BeenInTanks = 0 // Used for positioning HalMecho _HalMecho_Speech_Num = 0 // Used in switch statement of mecho speech _CheckLexDeath_Hand = 0 // Handle for "CheckLexDeath" process _HalMecho_state = 0 // the AI state of the hallway mecho _HalMecho_speech = 0 // the current speech of the hallway mecho _HalMecho_Speeches = 0 // Block of speeches; used a handle. _HalMecho_Alive = 1 // 1 = alive ; 0 = dead _Retaliate = 0 // Handle for HalMecho's "Retaliate" Process _brendan_var1 = 0 // stupid vars for Brendan to play with _brendan_var2 = 0 _brendan_var3 = 0 _gosub = 0 _Grav_Solved = 0 // Flag for the grav ring puzzle _Rock0 = 0 // handle for rock process _Rock1 = 0 // handle for rock process _Rock2 = 0 // handle for rock process _Rock3 = 0 // handle for rock process _Rock4 = 0 // handle for rock process _Rock5 = 0 // handle for rock process _mch1_process = 0 // handle for hardsuit process _mch2_process = 0 // handle for hardsuit process _radio_crosstalk_process = 0 // handle for radio crosstalk process in GRD _radio_crosstalk = 0 // flag _tankwater_process = 0 // handle for water anim process _bub1_process = 0 // handle for bubble1 anim process _bub2_process = 0 // handle for bubble2 anim process _bub3_process = 0 // handle for bubble3 anim process _lnd2_shipflyby = 0 // handle for 1st ship in lnd2_frame // Landing Pad variables _alien_city_seen = 0 // Set to 1 when the alien city has been reactivated _ship_has_left = 0 // set to 1 when the dropship has left with Mastaba and Escher _airmecho_dead = 0 // set to _TRUE when killed _Airmecho_Scene = 0 // Is it running? _airlock_solved = _FALSE // TRUE when puzzle done _airlock_flag = 0 // Current puzzle state _airlock_prev = 0 // Previous button push // Zero-G room variables _Sng_Space = _NEUTRAL // so we can float thru the big glowing thing in the middle of the room // Reactor Room variables _Bridge_Moving = 0 // Is bridge activating/Deactivating? _Reactor_Safe = 0 // Reactor safe variable 0=not 1= ok _Conbot_Is_Ramming = 0 // Is the ConBot ramming? _Forklift_Dead = 0 // Used to grey out the forklift control buttons once it's destroyed _rt6_Frame = 1 // Shut down scene frame counter _Reactor_Detonate = 0 // Reactor is to/has Detonate(ed) _On_Bridge = 0 // Is Lex going to the bridge? _On_Stone = 0 // Is Lex on Stone or Sand? // Reactor Monitor Variables _Left_Pylon = 0 // Variable for left pylon state _Right_Pylon = 0 // Variable for right pylon state _Strobe_Tripped = 0 _RDTDigit1 = 10 // Reactor Detonation Timer Digit #1 _RDTDigit2 = 10 // Reactor Detonation Timer Digit #2 _RDTDigit3 = 10 // Reactor Detonation Timer Digit #3 _RDTDigit4 = 10 // Reactor Detonation Timer Digit #4 _RDTHandle = 0 // Reactor Detonation Timer handle _RDTDigit1n2Handle = 0 // Reactor Detonation Timer handle (digit #1&2) _RDTDigit3Handle = 0 // Reactor Detonation Timer handle (digit #3) _RDTDigit4Handle = 0 // Reactor Detonation Timer handle (digit #4) _Pylon_Kill = 0 // Reactor monitor in use and pylon // engaged animation going // COntrol Level Airlock variables _Con_Decontam_ok = 0 // control decontam variable _Con_in_Cycle = 0 // Control Airlock in Cycle // has the walkytalky started receiving messages from Escher yet? Set to TRUE once the guard in the machine shop drops it _walky_talky_started = _FALSE // Security Monitor variables .... _access_id1 = 0 // access id digits _access_id2 = 0 _access_id3 = 0 _access_id4 = 0 _access_id5 = 0 _access_id1_to_match = 0 // id digits to match _access_id2_to_match = 0 _access_id3_to_match = 0 _access_id4_to_match = 0 _access_id5_to_match = 0 _access_id_digit = 0 // digit entered on keypad _access_id_digit_frame = 0 _allow_access_id_entry = 0 // allow access id entry _Klaxon_On_Process = 0 // Process handle for guardroom klaxon _Klaxon_Off_Process = 0 // Process handle for guardroom klaxon _Warp_Field = 0 // Process handle for warp field in snake corridor _IHearYou = 0 // Flag for Tomb Room scene _mecho_on_fire = 0 // Is mecho on fire sfx // Sound state vars _RoomAmb = 0 // current room handle for pimm _FuckingKlaxon = 1 // grd_ambient state = on _bleed_1 = 0 // handles for bleeders _bleed_2 = 0 _bleed_3 = 0 _sfx_1 = 0 // handles for general sfx - to replace use _sfx_2 = 0 // of tempN handles _sfx_3 = 0 _sfx_4 = 0 _sfx_5 = 0 _shrimp_ambient_1 = 0 // shrimp ambient handles _shrimp_ambient_2 = 0 _shrimp_ambient_3 = 0 _Alien_Ship_Amb = 0 // Platform scene ship _Tmp_Ball_Amb = 0 // Temple Ball ambient _acidsfx_1 = 0 // Handle for acid sfx _acidsfx_2 = 0 // Handle for acid sfx _RoomVol = 0 // handle for original room amb vol lvl _BleedVol = 0 // handle for vol lvl of adjoining room amb // LANDPAD VARIABLES _FromPad = 0 // Tells which pad elevator // lex cames from _Pad_In_Cycle = 0 // Flag for airlock in cycle _LTS_Frame = 0 // decontam lights _decontam_ok = 0 // decontam available _LandbotsAlive = 1 // For ALL robots on the Landing Pad _LdgBot1_Alive = 1 // For robot on the ledge in Landing Pad _LdgBot2_Alive = 1 // For robot on the ledge in Landing Pad _LdgBot3_Alive = 1 // For robot on the ledge in Landing Pad _LanBot1_Alive = 1 // For robots on landing pad _LanBot2_Alive = 1 // For robots on landing pad _LanBot3_Alive = 1 // For robots on landing pad _LanBot4_Alive = 1 // For robots on landing pad _LandBots = 0 // Controls Landing Pad robots' AI _LdgBotAI = 0 // Controls the ledge bots' AI _ela_Frame = 16 // jetson tube door shadow _elb_frame = 17 // Jetson tube door _elc_frame = 1 // Jetson tube dummy skip shape (depth reasons) _down_frame = 0 // jetson tube light pulse _blip_frame = 0 // jetson tube waring light _get_frame = 0 // jetson tube button _pad_talking_done = 0 // variable to end jetson transit // OPERATING ROOM GAME VARIABLES _Do_OPR_Scene = 1 // Should the first set scene occur now? 1=yes _Personality_Web = 0 //Value determines who Lex is _Ident = 0 // web computed flag //DEBUG // Camera Volumes _ce11_volume = 100 _ce12_volume = 60 _ce21_volume = 100 _ce22_volume = 60 _ce31_volume = 100 _ce32_volume = 60 _ce33_volume = 80 _ce41_volume = 100 _ce42_volume = 60 _blk1_volume = 50 _blk2_volume = 85 _blk3_volume = 125 _blk4_volume = 140 _blk5_volume = 100 _grd1_volume = 100 _grd2_volume = 100 _grd3_volume = 100 _grd4_volume = 100 _grd5_volume = 100 _hal1_volume = 150 _hal2_volume = 255 _hal3_volume = 85 _hal4_volume = 125 _hal5_volume = 80 _hal6_volume = 80 _cry1_volume = 150 _cry2_volume = 255 _cry3_volume = 100 _cry4_volume = 155 _tnk1_volume = 65 _tnk2_volume = 65 _tnk3_volume = 65 _tnk4_volume = 65 _tk21_volume = 65 _tk22_volume = 65 _tk23_volume = 85 _tnkd_volume = 85 _twr1_volume = 75 _twr2_volume = 255 _twr3_volume = 85 _twr4_volume = 75 _twr5_volume = 75 _twr6_volume = 75 _twr7_volume = 150 _ctr1_volume = 125 _ctr2_volume = 100 _ctr3_volume = 85 _ctr4_volume = 105 _ctr5_volume = 80 _ctr6_volume = 80 _ctr7_volume = 80 _ctr8_volume = 80 _opr_volume = 60 _rtr_volume = 100 _hlc1_volume = 80 _hlc2_volume = 150 _hlc3_volume = 120 _hlc4_volume = 150 _hlc5_volume = 100 _air_volume = 100 _sho1_volume = 75 _sho2_volume = 100 _sho3_volume = 65 _sho4_volume = 75 _sho5_volume = 105 _lnd1_volume = 175 _lnd2_volume = 150 _lnd3_volume = 125 _lnd4_volume = 100 _lnd5_volume = 100 _dgs1_volume = 125 _dgs2_volume = 75 _dgs3_volume = 175 _alc1_volume = 125 _alc2_volume = 75 _alc3_volume = 175 _tmb1_volume = 125 _tmb2_volume = 75 _tmb3_volume = 175 _bch_volume = 150 _btn1_volume = 125 _btn2_volume = 100 _btn3_volume = 75 _btn4_volume = 50 _btn5_volume = 25 _grv_volume = 150 _tmp_volume = 100 _plt_volume = 75 _btl1_volume = 125 _btl2_volume = 150 _pad_volume = 100 _arl_volume = 150 _hfr_volume = 150 _elt_volume = 70 _elc_volume = 70 _hlc_volume = 70 _elv_volume = 70 _tun_volume = 100 // cryo monitor variable - KGC _fluid_level = 0 _cryo_chamber = 0 _cryo_temp = 0 _bpm = 0 // heart rate in Beats Per Minute _fido_awake = 0 // fido is awake flag _flatline = 0 // chamber is full flag // FIDO_WAKENS communication variables _crym_warning = 0 // cryo monitor in use flag _heart_wait = 0 // heart beat delay variable _ctemp = 0 // chamber temperature variable _clvl = 0 // for fluid level _ctemp1 = 0 // chamber 1 temperature variable _clvl1 = 0 // chamber 1 fluid level variable _kgc_temp1 = 0 // temp variable _kgc_temp2 = 0 // temp variable _kgc_temp3 = 0 // temp variable // flatline variables _notes = 0 // tells flatline and beatline // that control is in correct // crym screen _flatframe = 0 // flatline frame counter _beatframe = 0 // beatline frame counter _bpmdelay = 0 // beatline wait delay _p_flatline = 0 // flatline process handle _p_beatline = 0 // beatline process handle // Music vars _PlayedIt = 0 // flag for ambient _ControlMusic = 0 // flag for music _MilliVanilli = 0 // flag for music _DigsiteMusic = 0 // flag for music _ZeroGMusic = 0 // flag for music _TunRoomMusic = 0 // flag for music _CityAmbient = 0 // handle for ambient _ReactorMusic = 0 // handle for music _LanderMusic = 0 // flag for music _Going_Back_To_Tanks = 0 // flag - got to cell 2, now you are // going back thru tanks _lev2_loop1 = 0 _lev3_loop1 = 0 _lev3_loop2 = 0 _crack = 0 _drip1 = 0 // handle for drip sfx in BLK _drip2 = 0 // handle for drip sfx in BLK // Prisoner_bio_monitor Variables _clvl_attract = 0 // declares if control is in text field // Maintenance Monitor variables _Cell1RepairNeeded = 1 _Cell2RepairNeeded = 1 _Cell3RepairNeeded = 1 // Security/Palm Reader variables _caynan_security_id_ok = 0 _palm_failures = 0 // used by log entry system // use_bot & forklift activation state // 0 == is not activated, in automatic mode // 1 == is activated, in manual mode // 2 == is in process of being activate _use_bot_activated = 0 _forklift_activated = 0 _Forks_are_up = 0 // 0 when conbot forks are down 1 when up // MON_NORMAL _manb_state = 2 // MON_SELECTED _autb_state = 4 // lets us know when Lex has used the medicaid at least once -bes _have_used_medicaid = 0 // PIM-related _return_to_pim = 0 // used by code - rerun PIM // Dignostics monitor _pfd_state = 2 // 0 = uncharged, 1 = charged, 2 = not activated yet _bio_state = 0 _pds_recharge = 0 _charging_PFD = 0 // *** ID VARIABLES *** // escher id variables _escher_id1_to_match = 0 // id digits to match _escher_id2_to_match = 0 _escher_id3_to_match = 0 _escher_id4_to_match = 0 _escher_id5_to_match = 0 _bio_results_restricted = 1 // reactor id variables _reactor_id_to_match = 0 // bit flags of what to match _reactor_id_number = 0 // the actual printable number _ok_to_pwr_down = 0 // set to 1 when reactor id entered // *** COMBAT/A.I. RELATED VARIABLES *** - LRG // LEX VARIABLES _LexIsDead = 0 // Set to 1 by LEX_DEATH _HardDmg = 0 // Hard Suit Damage Flags // GENERAL PURPOSE VARIABLES _easy_wait = 45 // used for difficulty level _medium_wait = 30 // used for difficulty level _hard_wait = 15 // used for difficulty level _tonfa_handle = 0 // used for the timer process handle _wait_30_handle = 0 // handle for Wait_30 realtime process _tonfa_timer = 20 // timer for the tonfa gun _gun_timer = 30 // 30 second timer; used when the tonfa can't be fired _tonfa_used = 0 // the number of times the tonfa gun has been fired _TONFA_OK = _TRUE // Set to false while gun it to hot _delay_before_reload = 2 // Default # sewconds to delay in Kill_Lex _forcing_reload = 0 // can we exit Options? _enemy_speech = 0 // handle of enemy speech _subtitle_hand = 0 // handle of a subtitle process _enemy_process = 0 // generic enemy process handle _lex_process = 0 // generic lex process handle _subtitle_lex = 0 // handle of lex's subtitle process _lex_speech = 0 // handle of lex's speech _SRE_Count = 0 // Super Recoil Enemy Counter _SRP_Count = 0 // Super Recoil Player Counter _Abort_Face_The_Enemy = 0 // Set to 1 to abort the process // AWAKEN SCENE / NURSEBOT VARIABLES _lex_drugged = 0 // how many times has lex been drugged? _nursebot_is_hit = 0 // 0 = no, 1 = yes // CAYNAN VARIABLES _Caynan_Alive = _TRUE // Is Caynan alive? _Caynan_State = 0 // 0=space, 1=greet, 2=atk (or eat) _cay_greet = 0 // controls Caynan's greeting routine - BAR _Caynan_Eating = 0 // Is Caynan eating? _Lex_Was_Inside3 = 0 // Lex was just inside cell3 _Lex_Has_Fork = 0 // Lex has picked up the fork _Stop_Eating = 0 // Forces caynan top stop eating // FIDO VARIABLES _Fido_Alive = _TRUE // 0 = no, 1 = yes _Fido_Hit = 0 // 0 = no, 1 = yes _KO_Count = 0 // KO counter for Fido _Fido_In_Tank = 0 // True when Fido falls to Tank Level _Fido_On_Iris = 0 // True when Fido is on the iris _Fido_Running = 0 // True if lex is in Fido_Run trigger _Fido_Max_KO = 8 // The only was to use CONST in our engine _Fido_KOed = 0 // # of times KOed _Fido_Avoid_Set = 0 // Is hatch avoidance on? // CELL2 / GUARD VARIABLES _GRD1_Alive = _TRUE // Is guard1 alive? _GRD1_Awake = _FALSE // Has he been woken up yet? // TOWER VARIABLES _LexTowLoc = 0 // Set by various tower triggers _TB1_Alive = _TRUE // Is towerbot1 alive? _TB2_Alive = _TRUE // Is towerbot2 alive? _TB3_Alive = _TRUE // Is towerbot3 alive? _TB4_Alive = _TRUE // Is towerbot4 alive? _TB5_Alive = _TRUE // Is towerbot5 alive? _TB6_Alive = _TRUE // Is towerbot6 alive? // CONTROL VARIABLES _LexConLoc = 0 // Set by various control triggers _Lex_In_Elevator = _FALSE // Set By lex's presence in the control elevator _Mecho2_Alive = _TRUE // Is mecho2 alive? _Mecho2_Fired = _FALSE // TRUE if he has fired _ReactBot_Alive = _TRUE // Is the Reactor Robot alive? _ReactBot_Active = _TRUE // Is the Reactor Robot activated? _GrdCon_Alive = _TRUE // Is the control room guard alive? _GrdHang_Alive = _TRUE // Is the machine shop guard alive? _GrdHall_Alive = _TRUE // Is the hall guard alive? _GrdCon_Active = _FALSE // AI stasis hack around... _GrdHang_Active = _FALSE // AI stasis hack around... _GrdHang_State = 0 // _GrdHall_Active = _FALSE // AI stasis hack around... _GrdHallHatesLex = _FALSE // Assumes lex in the hardsuit... _Marine1_Alive = _FALSE // Set True in OPR if dropship not shot... _Drogg1_Alive = _TRUE _Drogg1_Active = _FALSE // AI stasis hack around... _Drogg1_Counter = 0 // Attack counter used by the A.I... _Drogg1_Loc = 0 // Drogg1 location _Drogg1_Bored = _TRUE // _TRUE = wait for Lex to cross bridge... _Drogg1_RanForIt = _FALSE // _TRUE = when Drogg decides to cross brdg _Drogg1_Max_KO = 6 // The only was to use CONST in our engine _Drogg1_Part2 = _FALSE // Crossed Bridge w/o being dropped? _pulling_lever = _FALSE // _TRUE = lex is pulling a lever _lever_process = _FALSE // process handle for lever pulling // BEACH VARIABLES _Tumolt_Alive = _TRUE // Small rodents dance merrily _Tumolt_Flag = _FALSE // Activation flag _Tumolt_Activated = _FALSE // Activated flag // DIGSITE VARIABLES _Drogg2_Alive = _TRUE // True until he runs to the TunRoom... _Drogg2_Active = _FALSE _Drogg2_Jumped_Out = _FALSE _Drogg2_Counter = 0 // Attack counter used by the A.I... _Drogg2_Running = _FALSE _Shrimp1_Alive = _TRUE _Shrimp1_Active = _FALSE _Shrimp2_Alive = _TRUE _Shrimp2_Active = _FALSE _Shrimp3_Alive = _FALSE _Shrimp3_Active = _FALSE // PLATFORM VARIABLES _Drogg3_Alive = _TRUE // True until he dies... _Drogg3_Activated = _FALSE _LexPltLoc = 0 _Elite_Alive = _TRUE // True until he dies... _Mind_Meld_Active = _FALSE // True during telepathy // RETURN VARIABLES _Marine2_Alive = _TRUE _Marine2_Active = _FALSE _Marine2_State = 0 _Marine2_Counter = 0 _Marine3A_Alive = _TRUE _Marine3A_Active = _FALSE _Marine3A_State = 0 _Marine3B_Alive = _TRUE _Marine3B_Active = _FALSE _Marine3B_State = 0 _Marine4_Alive = _TRUE _Marine4_Active = _FALSE _Marine4_State = -1 _Marine5_Alive = _TRUE _Marine5_Active = _FALSE _Marine5_State = 0 _Marine5_Counter = 0 // *** END OF COMBAT/A.I. RELATED VARIABLES *** - LRG // TEMPLE VARIABLES // Temple ball for opening Temple _mrn_frame = 0 // body of crushed marine _WAK_frame = _FIRST_WAK_FRAME // first WAK (ball raising) frame _TLR_Frame = 0 // Floor animations in temple _LightAnim = 0 // Variable for light bar animaations _TUBE_space = _POSITIVE // the statue in the temple _QTUBE_space = _NEUTRAL // the space below the temple _bal_frame = 1 // Frame of animation for hovering statue in temple _heard_templeA_speech = _FALSE _heard_templeB_speech = _FALSE _safe_to_peer_in = _FALSE // set to _TRUE when its safe for the marine to peer in the hole _marine_peering_in = _FALSE // set to _TRUE when the marine is peering down the hole that the statue left in the ground _heard_templeC_speech = _FALSE _grenade_handle = 0 // the handle of the process that waits for the grenade to intersect with the tube _grenade_handle_2 = 0 // the handle of the process that counts down for the grenade _got_temple_mon_log = _FALSE // set to _TRUE when we got the log about the monitor not having enough power _inside_temple_monitor = _FALSE // set to _TRUE when the player is using the temple monitor _marines_handle = 0 // handle for TempleMarinesPeerIn _heard_fireinhole_speech = 0 // set to 1 once we've heard "Fire in the hole!" by the temple marine _was_just_peering_in = _FALSE // set to 1 once the marine has peered in the hole so his AI will skip the wait _mar_grenade_in_transit = 0 // HACK flag used for a problem with the marine throwing his grenade _doa_frame = 1 // frames of animation for the temple flic _marines_set_up = 0 // set to 1 once the marines are in place // CITY MONITOR VARIABLES _city_solved = 0; _Red_Flag = 0; _Blue_Flag = 0; _Yellow_Flag = 0; _CLocation = 1; _City_Total = 1; _CTM1 = 0 // WHOOPS! SCRIPT DOESN'T SUPPROT ARRAYS! BRUTE FORCE! -LRG _CTM2 = 0 _CTM3 = 0 _CTM4 = 0 _CTM5 = 0 _CTM6 = 0 _CTM7 = 0 _CTM8 = 0 _CTM9 = 0 _CTM10 = 0 _CTM11 = 0 _CTM12 = 0 _CTM13 = 0 _CTM14 = 0 _CTM15 = 0 _CTM16 = 0 _CTM17 = 0 _CTM18 = 0 _CTM19 = 0 _CTM20 = 0 _CROT1 = 0 // WHOOPS! SCRIPT DOESN'T SUPPROT ARRAYS! BRUTE FORCE! -LRG _CROT2 = 0 _CROT3 = 0 _CROT4 = 0 _CROT5 = 0 _CROT6 = 0 _CROT7 = 0 _CROT8 = 0 _CROT9 = 0 _CROT10 = 0 _CROT11 = 0 _CROT12 = 0 _CROT13 = 0 _CROT14 = 0 _CROT15 = 0 _CROT16 = 0 _CROT17 = 0 _CROT18 = 0 _CROT19 = 0 _CROT20 = 0 // TOMB MONITOR VARIABLES _tomb_solved = 0; _tomb_flag1 = 0; _tomb_flag2 = 0; _tomb_flag3 = 0; _tomb_flag4 = 0; _tomb_flag5 = 0; _tomb_flag6 = 0; _tomb_sol1 = 0; _tomb_sol2 = 0; _tomb_sol3 = 0; _tomb_sol4 = 0; _tomb_sol5 = 0; _tomb_sol6 = 0; _tomb_L1 = 0; _tomb_L2 = 0; _tomb_L3 = 0; _tomb_L4 = 0; _tomb_L5 = 0; _tomb_L6 = 0; _tomb_L7 = 0; _tomb_L8 = 0; _tomb_L9 = 0; _tomb_R1 = 0; _tomb_R2 = 0; _tomb_R3 = 0; _tomb_R4 = 0; _tomb_R5 = 0; _tomb_R6 = 0; _tomb_R7 = 0; _tomb_R8 = 0; _tomb_R9 = 0; _tomb_T1 = 0; _tomb_T2 = 0; _tomb_T3 = 0; // Credits - Speed Limit. _credits_frame_ticks = 128 // 0.5 tick/vert pixel (1 tick = 256) _Credits_Shadowing = _Credits_DR_Shadow // shadowing credits text // This is used if we've gone into the journal. We use this flag to know // whether to add a log entry or not. -bes // split up PIMM and had to move this out since Main & Journal of PIMM use it - jar _journal_read = 0 _got_entries = _FALSE // Set true when log entry added for first time - BAR // This variable is used to tell if player is inside of Pimm Diagnostics // 0 if Falsse 1 if True _In_Diag = 0 // Used by your battery recharge system. _Bio = 0 // Misc Monitor-related _REPEAT_DELAY = 10 _PTR_PRESS_TIME = 14 _PTR_HOLD_TIME = 5 _PTR_RELEASE_TIME = 14 _PTR_X_HOT = 122 _PTR_Y_HOT = 13 _PTR_X_DEFAULT = 280 _PTR_Y_DEFAULT = 160 // Monitor pointer variables _ptr_left_margin = 0 _ptr_right_margin = 319 // hand ptrs do not reach to top of screen _ptr_top_margin = 14 _ptr_bottom_margin = 199 // Credits Column alignment _CrCol1 = 60 _CrCol2 = 60 _CrCol3 = 180 _CrCol4 = 180 // Music ids for Options _OptionsMusic = _Options // Monitor-related variables which need to be saved _lex_last_hl = 0 _lex_last_rd = 0 _inventor_last_hl = 0 _last_game_no = 1 _difficulty_level = 1 // 0=Easy, 1=Medium, 2=Hard _gama_corr_percent = 0 _sound_volume = 50 _music_volume = 50 // Is script trying to exit a monitor? _IsExitMonRunning = 0 }