home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-02-24 | 73.8 KB | 2,993 lines |
- //***************************************************************************
- // Construction Site
- // Ritual Entertainment - Charlie Wiederhold
- //***************************************************************************
-
- setdialogscript dialog/dialog_csite.scr
-
- level.SkillLevel getcvar skill
-
- thread csite_init_thread
-
- thread drawer_thread
- thread desk_drawer_thread
- thread cabinet1_thread
- thread cabinet5_thread
- thread cabinet8_thread
- thread cabinet12_thread
-
- thread large_barrel_thread
- thread beam_fall_thread
- thread flood1_thread
- thread pipe1_thread
- thread generator_thread
- thread generator_light_thread
- thread generator_shake_thread
-
- thread wood1_thread
- thread wood2_thread
- thread wood3_thread
- thread wood4_thread
- thread wood5_thread
- thread wood6_thread
- thread wood7_thread
- thread wood8_thread
- thread wood9_thread
- thread wood11_thread
- thread wood12_thread
- thread wood13_thread
- thread wood14_thread
- thread wood15_thread
- thread wood16_thread
- thread wood17_thread
- thread wood18_thread
- thread wood19_thread
-
- //-------------------------------------------------------
- //-------------------------------------------------------
- // Wieder Additions
- //-------------------------------------------------------
- //-------------------------------------------------------
-
- thread ValveInPool
- thread DumpsterThread
- thread Dumpster2Thread
-
- thread SpeedsPortal1
- thread Generator_Flicker
- thread Crane
-
- thread VatorDoorSetup
- thread VatorRope1
- thread VatorRope2
-
- $abandon_abo_water hide
- $abandon_abo_water notsolid
- $abandon_abo_water2 hide
- $abandon_abo_water2 notsolid
- $abandon_abo_clipper notsolid
-
- $vator_bubbles anim off
- game.Abandon_ValveActivated ifequal 0 goto SkippedSecretArea
- $vator_bubbles anim idle
- $abandon_abo_water show
- $abandon_abo_water solid
- $abandon_abo_water1 hide
- $abandon_abo_water1 notsolid
- $abandon_abo_water2 show
- $abandon_abo_water2 solid
- $abandon_abo_clipper solid
- parm.Door string "$abandon_abo_vator_door1"
- parm.StartAngle = -80
- parm.Speed = 2.5
- thread AbandonABO_VatorDoorSetup
- parm.Door string "$abandon_abo_vator_door2"
- parm.StartAngle = -45
- parm.Speed = 2
- thread AbandonABO_VatorDoorSetup
- thread AbandonABO_Box1
- thread AbandonABO_Box2
- thread AbandonABO_Box3
- thread AbandonABO_Box4
- thread AbandonABO_Box5
- thread AbandonABO_Box6
- thread AbandonABO_Box7
- thread AbandonABO_Lights
- SkippedSecretArea:
-
- thread CreakingBoard1
- thread CreakingBoard2
-
- //-------------------------------------------------------
- //-------------------------------------------------------
- // Wieder Character Additions
- //-------------------------------------------------------
- //-------------------------------------------------------
-
- game.Abandon_HostageKilled ifequal 1 $hostage_roof remove
- game.Abandon_HostageKilled ifequal 0 $hostage_roof thread AI_Hostage_Roof
-
- $mancini_jumping thread AI_Mancini_Jumping
- $mancini_tube thread AI_Mancini_Tube
- $mancini_ladder thread AI_Mancini_Ladder
- $mancini_final thread AI_Mancini_Final
-
- $hostage_vator thread AI_Hostage_Vator
-
- $thug_dumpster thread AI_Thug_Dumpster
- $thug_ledge1 thread AI_Thug_Ledge1
- $thug_ledge2 thread AI_Thug_Ledge2
- $thug1_roof1 thread AI_Thug1_Roof1
- $thug2_roof1 thread AI_Thug2_Roof1
-
- $csite_thug1 thread AI_CYard_Thug1
- $csite_thug2 thread AI_CYard_Thug2
- $csite_thug3 thread AI_CYard_Thug3
- $csite_worker1 thread AI_PushWorker
-
- $basement_thug6 item health 50
- $basement_thug7 item health 50
- level.SkillLevel ifless 2 $basement_thug1 remove
- level.SkillLevel ifless 2 $basement_thug2 remove
- level.SkillLevel ifgreaterequal 2 $basement_thug1 thread AI_Basement_Thug1
- level.SkillLevel ifgreaterequal 2 $basement_thug2 thread AI_Basement_Thug2
- $basement_thug_ambush thread AI_Basement_ThugAmbush
- parm.ThugNum = 3
- $basement_thug3 thread AI_Basement_Thugs
- parm.ThugNum = 4
- $basement_thug4 thread AI_Basement_Thugs
- parm.ThugNum = 5
- $basement_thug5 thread AI_Basement_Thugs
- parm.ThugNum = 6
- $basement_thug6 thread AI_Basement_Thugs
- parm.ThugNum = 7
- $basement_thug7 thread AI_Basement_Thugs
-
- $pool_thug1 item GlowStick 2
-
- $bum1 thread AI_Bum1
- $bum2 thread AI_Bum2
-
- $vator_thug1 thread AI_Vator_Thug1
- $vator_thug2 thread AI_Vator_Thug2
- $vator_thug3 thread AI_Vator_Thug3
-
- $t9 thread AI_OutsideThugs
- $end_thug3 thread AI_EndThugs
-
- $foreman thread AI_Foreman
-
- end
-
- //============================================================
- //============================================================
-
- csite_init_thread:
-
- level.PObjective1 = 0 // Continue Chasing Mancini
- level.PObjective2 = 0 // Eliminate Hostile Forces
- level.SObjective2 = 0 // Rescue Any Remaining Hostages
- level.SObjective1 = 0 // Find Incriminating Evidence
-
- level.PipeDown = 0
- level.DoorBroken = 0
- level.HostageCount = 0
- level.Hostage1Taunted = 0
- level.Hostage2Taunted = 0
- game.Abandon_HostageKilled ifequal 1 level.HostageCount += 1
- game.csite_HaveBlueprints = 0
- $open1 open
-
- $door_break_portal close
- waitForPlayer
-
- wait 1
- thread dialog::jc_unused_subway
- local.WaitingForThread = parm.previousthread
- waitForThread local.WaitingForThread
- wait 1
- thread MissionComputer
- thread global/universal_script.scr::StatusUpdated
- local.WaitingForThread = parm.previousthread
- waitForThread local.WaitingForThread
-
- end
-
- //============================================================
- //============================================================
-
- drawer_thread:
-
- local.drawer_index = 1
-
- drawer_loop:
-
- parm.drawer string "$drawer"
- parm.drawer appendint local.drawer_index
-
- thread drawer_setup_thread
-
- local.drawer_index += 1
- local.drawer_index iflessequal 4 goto drawer_loop
- end
-
- drawer_setup_thread:
- local.drawer string parm.drawer
- local.drawer time 1
-
- drawer_start:
- local.drawer onuse drawer_open
- pause
-
- drawer_open:
- local.drawer nouse
- local.drawer playsound environment/cabinet/drawer/cab11.wav 1.0
- local.drawer moveEast 20
- waitFor local.drawer
-
- local.drawer onuse drawer_close
- pause
-
- drawer_close:
- local.drawer nouse
- local.drawer moveWest 20
- waitFor local.drawer
- local.drawer playsound environment/cabinet/drawer/cab12.wav 1.0
- goto drawer_start
- end
-
-
-
-
-
- desk_drawer_thread:
-
- local.desk_drawer_index = 1
-
- desk_drawer_loop:
-
- parm.desk_drawer string "$desk_drawer"
- parm.desk_drawer appendint local.desk_drawer_index
-
- thread desk_drawer_setup_thread
-
- local.desk_drawer_index += 1
- local.desk_drawer_index iflessequal 2 goto desk_drawer_loop
- end
-
-
-
- desk_drawer_setup_thread:
-
- local.desk_drawer string parm.desk_drawer
-
- local.desk_drawer time 1
-
- desk_drawer_start:
- local.desk_drawer onuse desk_drawer_open
- pause
-
- desk_drawer_open:
- local.desk_drawer nouse
- local.desk_drawer playsound environment/cabinet/drawer/cab11.wav 1.0
- local.desk_drawer moveNorth 20
- waitFor local.desk_drawer
-
- local.desk_drawer onuse desk_drawer_close
- pause
-
- desk_drawer_close:
- local.desk_drawer nouse
- local.desk_drawer moveSouth 20
- waitFor local.desk_drawer
- local.desk_drawer playsound environment/cabinet/drawer/cab12.wav 1.0
- goto desk_drawer_start
- end
-
-
-
- //============================================================
- //============================================================
-
- cabinet1_thread:
-
- local.cabinet1_index = 1
-
- cabinet1_loop:
-
- parm.cabinet1 string "$cabinet"
- parm.cabinet1 appendint local.cabinet1_index
-
- thread cabinet1_setup_thread
-
- local.cabinet1_index += 1
- local.cabinet1_index iflessequal 4 goto cabinet1_loop
- end
-
- cabinet1_setup_thread:
- local.cabinet1 string parm.cabinet1
- local.cabinet1 time 1
-
- cabinet1_start:
- local.cabinet1 onuse cabinet1_open
- pause
-
- cabinet1_open:
- local.cabinet1 nouse
- local.cabinet1 playsound environment/cabinet/latch32.wav 1.0
- local.cabinet1 rotateYup 90
- waitFor local.cabinet1
-
- local.cabinet1 onuse cabinet1_close
- pause
-
- cabinet1_close:
- local.cabinet1 nouse
- local.cabinet1 rotateYdown 90
- waitFor local.cabinet1
- local.cabinet1 playsound environment/doors/metal/mtldrcl3.wav 1.0
- goto cabinet1_start
- end
-
-
- cabinet5_thread:
-
- local.cabinet5_index = 5
-
- cabinet5_loop:
-
- parm.cabinet5 string "$cabinet"
- parm.cabinet5 appendint local.cabinet5_index
-
- thread cabinet5_setup_thread
-
- local.cabinet5_index += 1
- local.cabinet5_index iflessequal 7 goto cabinet5_loop
- end
-
- cabinet5_setup_thread:
- local.cabinet5 string parm.cabinet5
- local.cabinet5 time 1
-
- cabinet5_start:
- local.cabinet5 onuse cabinet5_open
- pause
-
- cabinet5_open:
- local.cabinet5 nouse
- local.cabinet5 playsound environment/cabinet/latch32.wav 1.0
- local.cabinet5 rotateYdown 90
- waitFor local.cabinet5
-
- local.cabinet5 onuse cabinet5_close
- pause
-
- cabinet5_close:
- local.cabinet5 nouse
- local.cabinet5 rotateYup 90
- waitFor local.cabinet5
- local.cabinet5 playsound environment/doors/metal/mtldrcl3.wav 1.0
- goto cabinet5_start
- end
-
-
-
- cabinet8_thread:
-
- local.cabinet8_index = 8
-
- cabinet8_loop:
-
- parm.cabinet8 string "$cabinet"
- parm.cabinet8 appendint local.cabinet8_index
-
- thread cabinet8_setup_thread
-
- local.cabinet8_index += 1
- local.cabinet8_index iflessequal 11 goto cabinet8_loop
- end
-
- cabinet8_setup_thread:
- local.cabinet8 string parm.cabinet8
- local.cabinet8 time 1
-
- cabinet8_start:
- local.cabinet8 onuse cabinet8_open
- pause
-
- cabinet8_open:
- local.cabinet8 onblock cabinet8_close
- local.cabinet8 nouse
- local.cabinet8 playsound environment/cabinet/latch32.wav 1.0
- local.cabinet8 rotateYupto 90
- waitFor local.cabinet8
-
- local.cabinet8 onuse cabinet8_close
- pause
-
- cabinet8_close:
- local.cabinet8 onblock cabinet8_open
- local.cabinet8 nouse
- local.cabinet8 rotateYdownto 0
- waitFor local.cabinet8
- local.cabinet8 playsound environment/doors/metal/mtldrcl3.wav 1.0
- goto cabinet8_start
-
- local.cabinet8 ifstrequal "$cabinet11" local.cabinet8 notsolid
- local.cabinet8 ifstrequal "$cabinet11" local.cabinet8 solid
-
- end
-
-
- cabinet12_thread:
-
- local.cabinet12_index = 12
-
- cabinet12_loop:
-
- parm.cabinet12 string "$cabinet"
- parm.cabinet12 appendint local.cabinet12_index
-
- thread cabinet12_setup_thread
-
- local.cabinet12_index += 1
- local.cabinet12_index iflessequal 14 goto cabinet12_loop
- end
-
- cabinet12_setup_thread:
- local.cabinet12 string parm.cabinet12
- local.cabinet12 time 1
-
- cabinet12_start:
- local.cabinet12 onuse cabinet12_open
- pause
-
- cabinet12_open:
- local.cabinet12 nouse
- local.cabinet12 onblock cabinet12_close
- local.cabinet12 playsound environment/cabinet/latch32.wav 1.0
- local.cabinet12 rotateYdownto -90
- waitFor local.cabinet12
-
- local.cabinet12 onuse cabinet12_close
- pause
-
- cabinet12_close:
- local.cabinet12 nouse
- local.cabinet12 onblock cabinet12_open
- local.cabinet12 rotateYupto 0
- waitFor local.cabinet12
- local.cabinet12 playsound environment/doors/metal/mtldrcl3.wav 1.0
- goto cabinet12_start
- end
-
- //============================================================
- //============================================================
-
-
- wood1_thread:
-
- $wood1 time .5
-
- $wood1 ontouch wood1_sequence
- pause
-
- wood1_sequence:
- $wood1 notouch
- $wood1 notsolid
- $wood1 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood1 moveDown 200
- waitFor $wood1
- $wood1 playsound impact/explosion/track65.wav 1.0
- $wood1 notsolid
- end
-
- wood2_thread:
-
- $wood2 time .5
-
- $wood2 ontouch wood2_sequence
- pause
-
- wood2_sequence:
- $wood2 notouch
- $wood2 notsolid
- $wood2 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood2 moveDown 200
- waitFor $wood2
- $wood2 playsound impact/explosion/track65.wav 1.0
- end
-
- wood3_thread:
-
- $wood3 time .5
-
- $wood3 ontouch wood3_sequence
- pause
-
- wood3_sequence:
- $wood3 notouch
- $wood3 notsolid
- $wood3 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood3 moveDown 200
- $wood3 moveNorth 16
- $wood3 rotateYdown 30
- waitFor $wood3
- $wood3 playsound impact/explosion/track65.wav 1.0
- end
-
- wood4_thread:
-
- $wood4 time .5
-
- $wood4 ontouch wood4_sequence
- pause
-
- wood4_sequence:
- $wood4 notouch
- $wood4 notsolid
- $wood4 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood4 moveDown 200
- waitFor $wood4
- $wood4 playsound impact/explosion/track65.wav 1.0
- end
-
- wood5_thread:
-
- $wood5 time .5
-
- $wood5 ontouch wood5_sequence
- pause
-
- wood5_sequence:
- $wood5 notouch
- $wood5 notsolid
- $wood5 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood5 moveDown 200
- $wood5 moveWest 16
- $wood5 moveNorth 16
- $wood5 rotateYup 15
- waitFor $wood5
- $wood5 playsound impact/explosion/track65.wav 1.0
- end
-
- wood6_thread:
-
- $wood6 time .5
-
- $wood6 ontouch wood6_sequence
- pause
-
- wood6_sequence:
- $wood6 notouch
- $wood6 notsolid
- $wood6 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood6 moveDown 200
-
- waitFor $wood6
- $wood6 playsound impact/explosion/track65.wav 1.0
- end
-
- wood7_thread:
-
- $wood7 time .5
-
- $wood7 ontouch wood7_sequence
- pause
-
- wood7_sequence:
- $wood7 notouch
- $wood7 notsolid
- $wood7 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood7 moveDown 200
- $wood7 moveSouth 24
- waitFor $wood7
- $wood7 playsound impact/explosion/track65.wav 1.0
- end
-
- wood8_thread:
-
- $wood8 time .5
-
- $wood8 ontouch wood8_sequence
- pause
-
- wood8_sequence:
- $wood8 notouch
- $wood8 notsolid
- $wood8 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood8 moveDown 200
- waitFor $wood8
- $wood8 playsound impact/explosion/track65.wav 1.0
- end
-
- wood9_thread:
-
- $wood9 time .5
-
- $wood9 ontouch wood9_sequence
- pause
-
- wood9_sequence:
- $wood9 notouch
- $wood9 notsolid
- $wood9 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood9 moveDown 200
- $wood9 moveSouth 16
- $wood9 moveEast 16
- $wood9 rotateYup 20
- waitFor $wood9
- $wood9 playsound impact/explosion/track65.wav 1.0
- end
-
- wood10_thread:
-
- $wood10 time .5
-
- $wood10 ontouch wood10_sequence
- pause
-
- wood10_sequence:
- $wood10 notouch
- $wood10 notsolid
- $wood10 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood10 moveDown 200
- $wood10 moveWest 32
- waitFor $wood10
- $wood10 playsound impact/explosion/track65.wav 1.0
- end
-
- wood11_thread:
-
- $wood11 time .5
-
- $wood11 ontouch wood11_sequence
- pause
-
- wood11_sequence:
- $wood11 notouch
- $wood11 notsolid
- $wood11 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood11 moveDown 200
- $wood11 moveWest 32
- $wood11 rotateYup 10
- waitFor $wood11
- $wood11 playsound impact/explosion/track65.wav 1.0
- end
-
- wood12_thread:
-
- $wood12 time .5
-
- $wood12 ontouch wood12_sequence
- pause
-
- wood12_sequence:
- $wood12 notouch
- $wood12 notsolid
- $wood12 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood12 moveDown 200
- waitFor $wood12
- $wood12 playsound impact/explosion/track65.wav 1.0
- end
-
- wood13_thread:
-
- $wood13 time .5
-
- $wood13 ontouch wood13_sequence
- pause
-
- wood13_sequence:
- $wood13 notouch
- $wood13 notsolid
- $wood13 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood13 moveDown 200
- waitFor $wood13
- $wood13 playsound impact/explosion/track65.wav 1.0
- end
-
- wood14_thread:
-
- $wood14 time .5
-
- $wood14 ontouch wood14_sequence
- pause
-
- wood14_sequence:
- $wood14 notouch
- $wood14 notsolid
- $wood14 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood14 moveDown 200
- waitFor $wood14
- $wood14 playsound impact/explosion/track65.wav 1.0
- end
-
- wood15_thread:
-
- $wood15 time .5
-
- $wood15 ontouch wood15_sequence
- pause
-
- wood15_sequence:
- $wood15 notouch
- $wood15 notsolid
- $wood15 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood15 moveDown 200
- $wood15 moveWest 8
- $wood15 moveNorth 12
- waitFor $wood15
- $wood15 playsound impact/explosion/track65.wav 1.0
- end
-
- wood16_thread:
-
- $wood16 time .5
-
- $wood16 ontouch wood16_sequence
- pause
-
- wood16_sequence:
- $wood16 notouch
- $wood16 notsolid
- $wood16 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood16 moveDown 200
- waitFor $wood16
- $wood16 playsound impact/explosion/track65.wav 1.0
- end
-
- wood17_thread:
-
- $wood17 time .5
-
- $wood17 ontouch wood17_sequence
- pause
-
- wood17_sequence:
- $wood17 notouch
- $wood17 notsolid
- $wood17 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood17 moveDown 200
- waitFor $wood17
- $wood17 playsound impact/explosion/track65.wav 1.0
- end
-
- wood18_thread:
-
- $wood18 time .5
-
- $wood18 ontouch wood18_sequence
- pause
-
- wood18_sequence:
- $wood18 notouch
- $wood18 notsolid
- $wood18 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood18 moveDown 200
- $wood18 moveEast 8
- $wood18 moveNorth 16
- waitFor $wood18
- $wood18 playsound impact/explosion/track65.wav 1.0
- end
-
- wood19_thread:
-
- $wood19 time .5
-
- $wood19 ontouch wood19_sequence
- pause
-
- wood19_sequence:
- $wood19 notouch
- $wood19 notsolid
- $wood19 playsound environment/woodcreak/crkngwds.wav 1.0
- $wood19 moveDown 200
- $wood19 moveWest 32
- waitFor $wood19
- $wood19 playsound impact/explosion/track65.wav 1.0
- end
-
-
- //===================================
- //===================================
- //===================================
- //===================================
-
-
-
- large_barrel_thread:
- $brick_explode1 time .7
- $brick_explode2 time .7
- $brick_explode3 time .7
- $brick_explode4 time .7
- $brick_explode5 time .7
- $brick_explode6 time .7
- $brick_explode7 time .7
- $brick_explode8 time .7
-
- $large_barrel_portal close
-
- $large_barrels ondamage large_barrel_sequence
- pause
-
- large_barrel_sequence:
- $large_barrels nodamage
- $large_barrels trigger $barrel_explosion
- $large_barrels playsound impact/explosion/lrg1.wav 1.0
- $large_barrels shatter "0 0 0" 100 20 40 .1 0
- $large_barrels_nearby_boxes shatter "0 0 0" 100 20 40 0.1 0
- wait .1
- $large_barrels shatter "0 0 0" 100 20 40 .1 0
- $large_barrels_nearby_boxes shatter "0 0 0" 100 20 40 0.1 0
- $large_barrels_nearby_boxes remove
- $large_barrels remove
- $large_barrel_portal open
- wait .1
-
- $brick_explode1 moveWest 300
- $brick_explode1 rotateYdown 180
- $brick_explode1 rotateYdown 180
-
- $brick_explode2 shatter "0 0 0" 100 30 50 .5 0
- $brick_explode2 moveWest 256
- $brick_explode2 moveSouth 64
- $brick_explode2 rotateYup 180
-
- $brick_explode3 shatter "0 0 0" 100 30 50 .5 0
- $brick_explode3 moveWest 256
- $brick_explode3 moveDown 256
- $brick_explode3 moveNorth 64
- $brick_explode3 rotateYdown 180
-
- $brick_explode4 shatter "0 0 0" 100 30 50 .5 0
- $brick_explode4 moveWest 256
- $brick_explode4 moveDown 256
- $brick_explode4 moveSouth 64
- $brick_explode4 rotateYup 120
-
- $brick_explode5 moveWest 300
- $brick_explode5 moveDown 256
- $brick_explode5 moveNorth 32
- $brick_explode5 rotateYdown 120
-
- $brick_explode6 moveWest 300
- $brick_explode6 moveDown 256
- $brick_explode6 moveSouth 32
- $brick_explode6 rotateYup 180
-
- $brick_explode7 moveWest 256
- $brick_explode7 moveDown 64
- $brick_explode7 moveNorth 32
- $brick_explode7 rotateYdown 60
-
- $brick_explode8 moveWest 256
- $brick_explode8 moveDown 64
- $brick_explode8 moveSouth 32
- $brick_explode8 rotateYup 90
-
- waitFor $brick_explode8
-
- $brick_explode1 notsolid
- $brick_explode1 hide
- $brick_explode2 notsolid
- $brick_explode2 hide
- $brick_explode3 notsolid
- $brick_explode3 hide
- $brick_explode4 notsolid
- $brick_explode4 hide
- $brick_explode5 notsolid
- $brick_explode5 hide
- $brick_explode6 notsolid
- $brick_explode6 hide
- $brick_explode7 notsolid
- $brick_explode7 hide
- $brick_explode8 notsolid
- $brick_explode8 hide
-
- end
-
- //=======================================
-
- beam_fall_thread:
-
- $beam1 time 1
- $beam2 time 1
-
- $beam1 ontrigger beam_fall_sequence
- pause
-
- beam_fall_sequence:
- $beam1 playsound impact/metal.wav 4
- $beam1 notrigger
- $beam1 rotateXdown 42
- waitFor $beam1
- $beam1 playsound impact/metal.wav 4
- wait .2
-
- $beam1 time .5
- $beam2 time .5
- $beam2 rotateXdown 29
- $beam1 rotateXdown 15
- waitFor $beam2
-
- //$beam2 time 1
-
- $beam2 rotateXdown 30
- waitFor $beam2
- $beam1 playsound impact/metal.wav 4
- thread dialog::jc_wrecking_crew
- $beam1 notsolid
- $beam2 notsolid
- $beam1_clipper solid
- $beam2_clipper solid
-
- end
-
- //=======================================
-
-
- flood1_thread:
-
- level.ValveBroke = 0
-
- $beam_fall3 moveSouth 64
- $beam_fall4 moveSouth 64
- waitFor $beam_fall4
-
- $beam_fall3 rotateYupto 6
- $beam_fall4 rotateYupto 6
- waitFor $beam_fall4
-
- $flood1 time .5
- $flood2 time 2
- $flood2 moveDown 248
- waitFor $flood2
- $flood1 notsolid
- $flood1 hide
- $flood2 hide
-
- $beam_fall3 time 5
- $beam_fall4 time 5
-
- BeamWaiting_Loop:
- local.BeamRotation = 0
- $beam_fall3 phssound misc/metcreak.wav 4
- $beam_fall4 phssound misc/metcreak.wav 4
- $beam_fall3 rotateYupto 12
- $beam_fall4 rotateYupto 12
- waitFor $beam_fall4
- local.BeamRotation = 1
- $beam_fall3 phssound misc/metcreak.wav 4
- $beam_fall4 phssound misc/metcreak.wav 4
- $beam_fall3 rotateYdownto -12
- $beam_fall4 rotateYdownto -12
- waitFor $beam_fall4
- $beam_fall3 ondamage flood1_sequence
- $beam_fall4 ondamage flood1_sequence
- goto BeamWaiting_Loop
-
- flood1_sequence:
- $beam_fall3 nodamage
- $beam_fall4 nodamage
-
- $beam_fall3 time .3
- $beam_fall4 time .3
-
- $beam_fall3 moveDown 100
- $beam_fall4 moveDown 100
- waitFor $beam_fall4
-
- $beam_fall3 moveDown 200
- $beam_fall4 moveDown 200
- waitFor $beam_fall4
-
- $beam_fall3 moveDown 400
- $beam_fall4 moveDown 400
- waitFor $beam_fall4
-
- local.BeamRotation ifequal 0 $beam_fall3 rotateYdownto 0
- local.BeamRotation ifequal 0 $beam_fall4 rotateYdownto 0
- local.BeamRotation ifequal 1 $beam_fall3 rotateYupto 0
- local.BeamRotation ifequal 1 $beam_fall4 rotateYupto 0
- $beam_fall3 moveDown 732
- $beam_fall4 moveDown 732
- waitFor $beam_fall4
-
- $beam_fall4 playsound impact/metal.wav 4
-
- $beam_fall3 rotateZup 9
- $beam_fall4 rotateZup 8
- $beam_fall3 moveDown 4
- $beam_fall4 moveDown 4
- $beam_fall4 rotateXup 30
- $beam_fall3 moveWest 16
- $beam_fall4 moveEast 32
- $valve1 rotateXup 45
- waitFor $valve1
- level.PipeDown = 1
- level.ValveBroke = 1
- $beam_fall3 playsound impact/metal.wav 4
-
- trigger $valve_spray
- $flood1 show
- $flood1 moveSouth 24
- waitFor $flood1
- trigger $valve_spray_sound
- $flood2 show
- $flood2 moveUp 10
- waitFor $flood2
- $flood2 time 6
- $flood2 moveUp 32
- thread dialog::jc_swim_pool
- waitFor $flood2
- $flood1 hide
- $flood2 time 16
- $flood2 moveUp 190
- wait 8
- trigger $spawn_pipethug
- wait 0.1
- $pipethug thread AI_PipeThug
- end
-
- //=======================================
-
- door_break_thread:
-
- level.player_in_vehicle ifequal 0 goto door_do_not_break
- level.DoorBroken ifequal 1 goto door_do_not_break
-
- $door_break1 time .7
- $door_break2 time .7
- $door_break3 time .7
- $brick1 time .7
- $brick2 time .7
- $brick3 time .7
- $brick4 time .7
- $brick5 time .7
- $brick6 time .7
- $brick7 time .7
- $brick8 time .7
- $brick9 time .7
- $brick10 time .7
- $brick11 time .7
- $brick12 time .7
- $brick13 time .7
- $brick14 time .7
- $brick15 time .7
- $brick16 time .7
-
- door_break_sequence:
- level.DoorBroken = 1
- $door_break_portal open
-
- $door_break1 notsolid
- $door_break2 notsolid
- $door_break3 notsolid
- $brick1 notsolid
- $brick2 notsolid
- $brick3 notsolid
- $brick4 notsolid
- $brick5 notsolid
- $brick6 notsolid
- $brick7 notsolid
- $brick8 notsolid
- $brick9 notsolid
- $brick10 notsolid
- $brick11 notsolid
- $brick12 notsolid
- $brick13 notsolid
- $brick14 notsolid
- $brick15 notsolid
- $brick16 notsolid
-
- $brick4 hide
-
- $door_break3 playsound "environment/rockfall/hvyrckss.wav" 4
- $brick10 playsound "environment/rockfall/hvyrckss.wav" 4
- $brick5 playsound "environment/rockfall/hvyrckss.wav" 4
- $door_break3 shatter "0 0 0" 50 30 50 .5 0
- $brick10 shatter "0 0 0" 50 30 50 .5 0
- $brick5 shatter "0 0 0" 50 30 50 .5 0
-
- $brick1 moveSouth 410
- $brick2 moveSouth 390
- $brick3 moveSouth 356
- $brick5 moveSouth 356
- $brick6 moveSouth 324
- $brick7 moveSouth 300
- $brick8 moveSouth 280
- $brick9 moveSouth 270
- $brick10 moveSouth 220
- $brick11 moveSouth 250
- $brick12 moveSouth 160
- $brick14 moveSouth 130
- $brick13 moveSouth 200
- $brick15 moveSouth 150
- $brick16 moveSouth 135
-
- $brick1 rotateZup 270
- $brick2 rotateZup 270
- $brick3 rotateZup 270
- $brick5 rotateZup 270
- $brick6 rotateZup 270
- $brick7 rotateZup 270
- $brick8 rotateZup 270
- $brick9 rotateZup 270
- $brick10 rotateZup 270
- $brick11 rotateZup 270
- $brick12 rotateZup 90
- $brick13 rotateZup 90
- $brick14 rotateZup 90
- $brick15 rotateZup 90
-
- $brick1 moveDown 98
- $brick2 moveDown 98
- $brick3 moveDown 92
- $brick5 moveDown 92
- $brick6 moveDown 74
- $brick7 moveDown 74
- $brick8 moveDown 68
- $brick9 moveDown 68
- $brick10 moveDown 46
- $brick11 moveDown 52
- $brick12 moveDown 38
- $brick13 moveDown 28
- $brick14 moveDown 22
- $brick15 moveDown 16
-
- $brick1 moveEast 16
- $brick3 moveEast 32
- $brick6 moveEast 48
- $brick8 moveEast 40
- $brick10 moveEast 64
- $brick13 moveEast 70
- $brick15 moveEast 96
- $brick16 moveEast 20
-
- //$brick2 moveWest
- $brick5 moveWest 16
- $brick7 moveWest 16
- //$brick9 moveWest
- $brick11 moveWest 16
- $brick12 moveWest 16
- //$brick14 moveWest
-
- $brick16 rotateYdown 120
- $brick3 rotateYdown 120
- $brick6 rotateYdown 160
- $brick10 rotateYdown 130
- $brick13 rotateYdown 150
-
- $door_break3 rotateZup 90
- $door_break3 moveDown 32
- $door_break3 moveSouth 74
-
- $door_break2 rotateYdown 180
- $door_break2 rotateZup 90
- $door_break2 moveSouth 224
- $door_break2 moveDown 64
-
- $door_break1 rotateZup 90
- $door_break1 rotateYup 180
- $door_break1 moveSouth 180
- $door_break1 moveDown 68
-
- waitFor $door_break1
- thread dialog::jc_where_that_go
-
- door_do_not_break:
-
- end
-
- //====================================
-
- pipe1_thread:
- $pipe1_clip notsolid
- $pipe1 time 2
- $pipe1 setdamage 10000
- $pipe1 ontrigger pipe1_sequence
- pause
-
- pipe1_sequence:
- music suprise
- $pipe1 notrigger
-
- $pipe1 playsound "environment/rockfall/hvyrcks3.wav" 4
- $pipe1 rotateXdown 25
- $pipe1 moveWest 32
- waitFor $pipe1
-
- $pipe1 time .4
-
- $pipe1 moveWest 128
- $pipe1 moveDown 64
- waitFor $pipe1
-
- $pipe1 moveWest 236
- $pipe1 moveDown 160
- waitFor $pipe1
-
- $pipe1 time .3
-
- $pipe1 moveWest 88
- $pipe1 rotateXdown 15
- waitFor $pipe1
-
- $pipe1 rotateXup 50
- waitFor $pipe1
-
- $pipe1 time .4
-
- $pipe1 rotateXdown 10
- waitFor $pipe1
-
- $pipe1 playsound "environment/rockfall/sldngrck.wav" 4
- $pipe1 notsolid
- $pipe1_clip solid
-
- end
-
-
- //=============================================
-
-
- generator_thread:
-
- game.csite_generator ifequal 0 game.csite_generator = 1
- local.generator_speed = 0
-
- $basement_lights group light -Fullbright
- $generator1 time .1
- $generator2 time .1
- $generator3 time .1
- $generator4 time .1
-
- $generator_handle time .5
- $generator_handle rotateZdown 20
- waitFor $generator_handle
-
- $generator_handle onuse generator_sequence
- pause
-
- generator_sequence:
- music suspense
- $generator_handle nouse
- game.csite_generator = 2
-
- $generator_handle rotateZup 40
- waitFor $generator_handle
-
- $generator_handle playsound environment/levelsnds/csite/cnstlp7.wav 1.0
-
- $generator_handle trigger $generator1
- $generator_handle trigger $generator2
- generator_speed_up:
- $generator1 rotateZ local.generator_speed
- wait .2
- local.generator_speed += 20
- local.generator_speed iflessequal 360 goto generator_speed_up
- $generator_on lightstyle "Laammmmppzppzzp"
-
- Generator_WaitingLoop:
- $basement_lights group light +Fullbright
- level.SkillLevel ifequal 0 $generator_waiting_easy ontrigger Generator_BlowUp
- level.SkillLevel ifequal 1 $generator_waiting_medium ontrigger Generator_BlowUp
- level.SkillLevel ifgreaterequal 2 $generator_waiting_hard ontrigger Generator_BlowUp
- $generator1 shatter "0 0 0" 70 30 50 .1 0
- $generator2 shatter "0 0 0" 70 30 50 .1 0
- $generator1 playsound impact/explosion/lrg1.wav 1.0
- wait 4
- goto Generator_WaitingLoop
-
- Generator_BlowUp:
-
- $generator_handle trigger $generator2
- $generator1 playsound impact/comp_explode/cmpmx4.wav 1.0
-
- $generator1 time .7
- $generator2 time .7
-
- $generator1 rotateXdown 20
- $generator2 rotateXdown 20
- waitFor $generator2
-
- $generator_on lightstyle "La"
- $basement_lights group light -Fullbright
- $generator_handle trigger $generator_explode
- music surprise
-
- $generator1 time .5
- $generator2 time .5
-
- $generator1 moveDown 64
- $generator2 moveDown 64
- $generator1 rotateXdown 30
- $generator2 rotateXdown 30
- waitFor $generator2
-
- thread dialog::jc_scared_dark
- $generator_handle trigger $generator1
-
- $generator1 time 1
- $generator2 time 1
-
- $generator_handle stopsound
-
- $generator1 moveDown 400
- $generator2 moveDown 400
- $generator_floor moveDown 400
- waitFor $generator_floor
-
- $generator1 rotateZ 0
-
- $generator1 remove
- $generator2 remove
- $generator_floor remove
-
- end
-
- //===================
-
- generator_shake_thread:
-
- $generator2 ontrigger generator_shake_sequence
- pause
-
- generator_shake_sequence:
- $generator2 notrigger
-
- $generator2 ontrigger generator_shake_stop
-
- generator_shake_loop:
- $generator1 moveNorth 1
- $generator2 moveNorth 1
- $generator3 moveNorth 1
- $generator4 moveNorth 1
- waitFor $generator4
- $generator1 moveSouth 1
- $generator2 moveSouth 1
- $generator3 moveSouth 1
- $generator4 moveSouth 1
- waitFor $generator4
- goto generator_shake_loop
-
-
- generator_shake_stop:
- $generator2 notrigger
- end
-
- //===================
-
- generator_light_thread:
-
- $generator_light lightstyle "a"
-
- $generator1 ontrigger generator_light_sequence
- pause
-
- generator_light_sequence:
- $generator1 notrigger
-
- $generator_light lightstyle "Lfmfmfmfmfm"
-
- $generator1 ontrigger generator_light_off
- pause
-
- generator_light_off:
- $generator_light lightstyle "a"
- end
-
-
- //-------------------------------------------------------
- //-------------------------------------------------------
- // Wieder Additions
- //-------------------------------------------------------
- //-------------------------------------------------------
-
- //---------------------------------------
- // Csite Mission Computer Setup
- //---------------------------------------
- MissionComputer:
- //0 not accomplished 1 = success 2 = fail 3 = not available
- %missioncon conlayout "xv -72 yv 76 fc 0.6 0.6 1 1 string \"Construction Site\""
- %missioncon conapplayout "xv -120 yv 60 fc 0.4 0.4 0.8 1 string \"Primary Objective(s):\""
-
- level.PObjective1 ifequal 0 %missioncon conapplayout "xv -118 yv 48 spicn b_blank 0.5 0.5 xv -116 yv 48 fc 0.7 0.7 0.7 1 string \" Continue Chasing Mancini\""
- level.PObjective2 ifequal 0 %missioncon conapplayout "xv -118 yv 36 spicn b_blank 0.5 0.5 xv -116 yv 36 fc 0.7 0.7 0.7 1 string \" Eliminate Hostile Forces\""
-
- level.PObjective1 ifequal 1 %missioncon conapplayout "xv -118 yv 48 spicn b_checked 0.5 0.5 xv -116 yv 48 fc 0.2 0.2 0.2 1 string \" Continue Chasing Mancini\""
- level.PObjective2 ifequal 1 %missioncon conapplayout "xv -118 yv 36 spicn b_checked 0.5 0.5 xv -116 yv 36 fc 0.2 0.2 0.2 1 string \" Eliminate Hostile Forces\""
-
- level.PObjective1 ifequal 2 %missioncon conapplayout "xv -118 yv 48 spicn b_notchecked 0.5 0.5 xv -116 yv 48 fc 0.2 0.2 0.2 1 string \" Continue Chasing Mancini\""
- level.PObjective2 ifequal 2 %missioncon conapplayout "xv -118 yv 36 spicn b_notchecked 0.5 0.5 xv -116 yv 36 fc 0.2 0.2 0.2 1 string \" Eliminate Hostile Forces\""
-
- level.PObjective1 ifequal 3 %missioncon conapplayout "xv -116 yv 48 fc 0.2 0.2 0.2 1 string \" ----------------------------\""
- level.PObjective2 ifequal 3 %missioncon conapplayout "xv -116 yv 36 fc 0.2 0.2 0.2 1 string \" ----------------------------\""
-
- %missioncon conapplayout "xv -120 yv 20 fc 0.4 0.4 0.8 1 string \"Secondary Objective(s):\""
-
- level.SObjective1 ifequal 0 %missioncon conapplayout "xv -118 yv 8 spicn b_blank 0.5 0.5 xv -116 yv 8 fc 0.7 0.7 0.7 1 string \" Find Incriminating Evidence\""
- level.SObjective1 ifequal 1 %missioncon conapplayout "xv -118 yv 8 spicn b_checked 0.5 0.5 xv -116 yv 8 fc 0.2 0.2 0.2 1 string \" Find Incriminating Evidence\""
- level.SObjective1 ifequal 2 %missioncon conapplayout "xv -118 yv 8 spicn b_notchecked 0.5 0.5 xv -116 yv 8 fc 0.2 0.2 0.2 1 string \" Find Incriminating Evidence\""
- level.SObjective1 ifequal 3 %missioncon conapplayout "xv -116 yv 8 fc 0.2 0.2 0.2 1 string \" ----------------------------\""
-
- level.SObjective2 ifequal 0 %missioncon conapplayout "xv -118 yv -4 spicn b_blank 0.5 0.5 xv -116 yv -4 fc 0.7 0.7 0.7 1 string \" Rescue Remaining Hostages\""
- level.SObjective2 ifequal 1 %missioncon conapplayout "xv -118 yv -4 spicn b_checked 0.5 0.5 xv -116 yv -4 fc 0.2 0.2 0.2 1 string \" Rescue Remaining Hostages\""
- level.SObjective2 ifequal 2 %missioncon conapplayout "xv -118 yv -4 spicn b_notchecked 0.5 0.5 xv -116 yv -4 fc 0.2 0.2 0.2 1 string \" Rescue Remaining Hostages\""
- level.SObjective2 ifequal 3 %missioncon conapplayout "xv -116 yv -4 fc 0.2 0.2 0.2 1 string \" ----------------------------\""
-
- end
-
- //---------------------------------------------------------------------------
- // Finished Level Update
- // This is a pretty basic one. Some levels have ABOs that will affect which
- // one you load, what settings are, etc. However for the most part this is
- // how they all will look. I think you'll find that this is actually
- // easier than the mission computer. The distance between lines is also
- // 10 now for easy math. ;)
- //---------------------------------------------------------------------------
- LevelComplete:
-
- // Clears any items in the player's inventory that need to be removed
- thread global/universal_script.scr::ClearInventory
-
- // Any objectives that haven't been set to Success or Fail should be set
- // here. This usually is for things like "Eliminate All Hostile Forces"
- // All Objectives need to be set to Success or Fail by the end of the
- // map. This should be automatic for the most part but if you
- // Find any that aren't, we need to figure out what to do with them.
- level.PObjective1 = 1
- level.PObjective2 = 1
- level.SObjective1 ifnotequal 1 level.SObjective1 = 2
- level.SObjective2 ifnotequal 1 level.SObjective2 = 2
-
- // Set up the Primary Objectives
- local.IMString string "oxl 2 oyt -32 fc 0.53 0.53 0.83 1 string \"Primary Objective(s):\""
-
- level.PObjective1 ifequal 1 local.IMString append "oxl 6 oyt -42 spicn b_checked 0.5 0.5 oxl 18 oyt -42 fc 0.6 0.6 0.6 1 string \"Continue Chasing Mancini\""
- level.PObjective2 ifequal 1 local.IMString append "oxl 6 oyt -52 spicn b_checked 0.5 0.5 oxl 18 oyt -52 fc 0.6 0.6 0.6 1 string \"Eliminate Hostile Forces\""
-
- level.PObjective1 ifequal 2 local.IMString append "oxl 6 oyt -42 spicn b_notchecked 0.5 0.5 oxl 18 oyt -42 fc 0.6 0.6 0.6 1 string \"Continue Chasing Mancini\""
- level.PObjective2 ifequal 2 local.IMString append "oxl 6 oyt -52 spicn b_notchecked 0.5 0.5 oxl 18 oyt -52 fc 0.6 0.6 0.6 1 string \"Eliminate Hostile Forces\""
-
- // Set up the Secondary Objectives
- local.IMString append "oxl 2 oyt -62 fc 0.53 0.53 0.83 1 string \"Secondary Objective(s):\""
-
- level.SObjective1 ifequal 1 local.IMString append "oxl 6 oyt -72 spicn b_checked 0.5 0.5 oxl 18 oyt -72 fc 0.6 0.6 0.6 1 string \"Find Incriminating Evidence\""
- level.SObjective2 ifequal 1 local.IMString append "oxl 6 oyt -82 spicn b_checked 0.5 0.5 oxl 18 oyt -82 fc 0.6 0.6 0.6 1 string \"Rescue Remaining Hostages\""
-
- level.SObjective1 ifequal 2 local.IMString append "oxl 6 oyt -72 spicn b_notchecked 0.5 0.5 oxl 18 oyt -72 fc 0.6 0.6 0.6 1 string \"Find Incriminating Evidence\""
- level.SObjective2 ifequal 2 local.IMString append "oxl 6 oyt -82 spicn b_notchecked 0.5 0.5 oxl 18 oyt -82 fc 0.6 0.6 0.6 1 string \"Rescue Remaining Hostages\""
-
- // Send over the information that Scott needs to load the proper intermission
- loadintermission "layouts/im_layouts/csite_to_subway_cinema"
- intermissionlayout local.IMString
-
- end
-
- //---------------------------------------------------------------------------
- // Near CSite Exit 1
- //---------------------------------------------------------------------------
- csite_exit1:
- game.csite_exit = 0
- end
-
- //---------------------------------------------------------------------------
- // Near CSite Exit 2
- //---------------------------------------------------------------------------
- csite_exit2:
- game.csite_exit = 1
- end
-
- //---------------------------------------------------------------------------
- // Using the Valve in the pool area
- //---------------------------------------------------------------------------
- ValveInPool:
-
- ValveLoop:
- $valve1 onuse ValveMessage
- pause
-
- ValveMessage:
- level.ValveBroke ifequal 0 thread dialog::blade_valve_stuck
- goto ValveLoop
-
- end
-
- //---------------------------------------------------------------------------
- // Duke Secret Portal Open
- //---------------------------------------------------------------------------
- OpenDukeSecretPortal:
- $duke_secret_portal open
- end
-
- //---------------------------------------------------------------------------
- // Duke Secret Portal Close
- //---------------------------------------------------------------------------
- CloseDukeSecretPortal:
- $duke_secret_portal close
- end
-
- //---------------------------------------------------------------------------
- // JC Taunting Blade when he goes after the chick #1
- //---------------------------------------------------------------------------
- JCDoorTaunt1:
-
- level.Hostage1State ifequal 0 goto JCDoorTaunt1_Blade
- level.Hostage1Taunted ifequal 1 goto JCDoorTaunt1_Blade
- level.Hostage1Taunted = 1
- thread dialog::jc_what_thinking
- goto JCDoorTaunt1_End
-
- JCDoorTaunt1_Blade:
- thread global/universal_script.scr::blade_no_reason
- goto JCDoorTaunt1_End
-
- JCDoorTaunt1_End:
-
- end
-
- //---------------------------------------------------------------------------
- // The Crane
- //---------------------------------------------------------------------------
- Crane:
- $beam1_clipper notsolid
- $beam2_clipper notsolid
- $crane bind $crane_clip
- $crane_panel bind $crane_clip
- wait 0.1
-
- $wreckingball bind $crane_clip
- wait 0.1
-
- $crane ambientsound "vehicle/bulldoze/idle.wav"
- $crane_clip ambientsound "vehicle/bulldoze/idle.wav"
- $crane_panel ambientsound "vehicle/bulldoze/idle.wav"
- $crane_clip time 4
- $crane_clip rotateYup -30
- waitFor $crane_clip
-
- $crane_panel onuse MoveCrane
- pause
-
- MoveCrane:
- $crane ambientsound "vehicle/bulldoze/run.wav"
- $crane_clip ambientsound "vehicle/bulldoze/run.wav"
- $crane_panel ambientsound "vehicle/bulldoze/run.wav"
- $crane_clip rotateYup 120
- wait 3.2
- trigger $beam1
- wait 0.8
- $crane ambientsound "vehicle/bulldoze/idle.wav"
- $crane_clip ambientsound "vehicle/bulldoze/idle.wav"
- $crane_panel ambientsound "vehicle/bulldoze/idle.wav"
-
- end
-
- //---------------------------------------------------------------------------
- // Roof Hostage Is Safe
- //---------------------------------------------------------------------------
- RoofHostageSafe:
-
- level.HostageCount += 1
- level.HostageCount ifless 2 goto RoofHostageSafe_End
- level.SObjective2 = 1
- thread MissionComputer
- thread global/universal_script.scr::SObjectiveComplete
- goto RoofHostageSafe_End
-
- RoofHostageSafe_End:
-
- end
-
- //---------------------------------------------------------------------------
- // Vator Hostage Is Safe
- //---------------------------------------------------------------------------
- VatorHostageSafe:
-
- level.HostageCount += 1
- level.HostageCount ifless 2 goto VatorHostageSafe_End
- level.SObjective2 = 1
- thread MissionComputer
- thread global/universal_script.scr::SObjectiveComplete
- level.HostageCount ifequal 2 thread global/universal_script.scr::SObjectiveComplete
- goto VatorHostageSafe_End
-
- VatorHostageSafe_End:
-
- end
-
- //---------------------------------------------------------------------------
- // Opens the areaportal for the alternate exit
- //---------------------------------------------------------------------------
- altexit_open:
- //$door_break_portal open
- end
-
- //---------------------------------------------------------------------------
- // Closes the areaportal for the alternate exit
- //---------------------------------------------------------------------------
- altexit_close:
- //$door_break_portal close
- end
-
- //---------------------------------------------------------------------------
- // Control lids for first dumpster
- //---------------------------------------------------------------------------
- DumpsterThread:
-
- $dumpster_lid1 bind $dumpster
- $dumpster_lid2 bind $dumpster
- wait 0.1
-
- $dumpster time 0.1
- $dumpster rotateYup 15
- waitFor $dumpster
-
- $dumpster ontrigger Dumpster_PopOpen
- pause
-
- Dumpster_PopOpen:
- $dumpster_lid1 playsound "environment/doors/metal/mtlcls3.wav" 2
- $dumpster_lid1 time 0.4
- $dumpster_lid1 rotateXdownto 245
- waitFor $dumpster_lid1
-
- $dumpster_lid1 playsound "environment/doors/metal/mtlclose.wav" 2
- local.Lid1 = 1
- local.Lid2 = 0
- $dumpster_lid1 time 0.8
- $dumpster_lid2 time 0.8
- goto Dumpster_Wait
-
- Dumpster_Wait:
- $dumpster_lid1 onuse Dumpster_Lid1_Move
- $dumpster_lid2 onuse Dumpster_Lid2_Move
- pause
-
- Dumpster_Lid1_Move:
- $dumpster_lid1 playsound "environment/doors/metal/mtlcls3.wav" 2
- $dumpster_lid1 nouse
- $dumpster_lid2 nouse
- local.Lid1 ifequal 0 $dumpster_lid1 rotateXdownto 245
- local.Lid1 ifequal 1 $dumpster_lid1 rotateXupto 0
- waitFor $dumpster_lid1
- $dumpster_lid1 playsound "environment/doors/metal/mtlclose.wav" 2
- local.Lid1 *= -1
- local.Lid1 += 1
- goto Dumpster_Wait
-
- Dumpster_Lid2_Move:
- $dumpster_lid2 playsound "environment/doors/metal/mtlcls3.wav" 2
- $dumpster_lid1 nouse
- $dumpster_lid2 nouse
- local.Lid2 ifequal 0 $dumpster_lid2 rotateXdownto 245
- local.Lid2 ifequal 1 $dumpster_lid2 rotateXupto 0
- waitFor $dumpster_lid2
- $dumpster_lid2 playsound "environment/doors/metal/mtlclose.wav" 2
- local.Lid2 *= -1
- local.Lid2 += 1
- goto Dumpster_Wait
-
- end
-
- //---------------------------------------------------------------------------
- // Control lids for second dumpster
- //---------------------------------------------------------------------------
- Dumpster2Thread:
-
- local.Lid1 = 1
- local.Lid2 = 0
- $dumpster2_lid1 time 0.8
- $dumpster2_lid2 time 0.8
- $dumpster2_lid1 rotateXup 130
- waitFor $dumpster2_lid1
- goto Dumpster2_Wait
-
- Dumpster2_Wait:
- $dumpster2_lid1 onuse Dumpster2_Lid1_Move
- $dumpster2_lid2 onuse Dumpster2_Lid2_Move
- pause
-
- Dumpster2_Lid1_Move:
- $dumpster2_lid1 playsound "environment/doors/metal/mtlcls3.wav" 2
- $dumpster2_lid1 nouse
- $dumpster2_lid2 nouse
- local.Lid1 ifequal 0 $dumpster2_lid1 rotateXupto 130
- local.Lid1 ifequal 1 $dumpster2_lid1 rotateXdownto 0
- waitFor $dumpster2_lid1
- $dumpster2_lid1 playsound "environment/doors/metal/mtlclose.wav" 2
- local.Lid1 *= -1
- local.Lid1 += 1
- goto Dumpster2_Wait
-
- Dumpster2_Lid2_Move:
- $dumpster2_lid2 playsound "environment/doors/metal/mtlcls3.wav" 2
- $dumpster2_lid1 nouse
- $dumpster2_lid2 nouse
- local.Lid2 ifequal 0 $dumpster2_lid2 rotateXupto 130
- local.Lid2 ifequal 1 $dumpster2_lid2 rotateXdownto 0
- waitFor $dumpster2_lid2
- $dumpster2_lid2 playsound "environment/doors/metal/mtlclose.wav" 2
- local.Lid2 *= -1
- local.Lid2 += 1
- goto Dumpster2_Wait
-
- end
-
- //---------------------------------------------------------------------------
- // Control portals in basement
- //---------------------------------------------------------------------------
- SpeedsPortal1:
-
- SpeedsPortal1_Loop:
- $generator_portal_open ontrigger SpeedsPortal1_Open
- $generator_portal_close ontrigger SpeedsPortal1_Close
- pause
-
- SpeedsPortal1_Open:
- $large_barrel_portal open
- goto SpeedsPortal1_Loop
-
- SpeedsPortal1_Close:
- $large_barrel_portal close
- goto SpeedsPortal1_Loop
-
- end
-
- //---------------------------------------------------------------------------
- // Control thread for Broken light
- //---------------------------------------------------------------------------
- Generator_Flicker:
-
- Generator_Flicker_Loop:
- local.TimeToWait randomint 20
- $generator_flicker lightstyle "Lc"
- wait local.TimeToWait
- $generator_flicker lightstyle "Lmmzmmz"
- trigger $generator_flicker_sparks
- wait 0.6
- goto Generator_Flicker_Loop
-
- end
-
- //---------------------------------------------------------------------------
- // Elevator Door Setup
- //---------------------------------------------------------------------------
- VatorDoorSetup:
-
- $vator_door1 time 0.1
- $vator_door1 moveDown 52
- wait 0.2
-
- $vator_door1 moveSouth 96
- wait 0.2
-
- $vator_door1 notsolid
- $vator_door1 rotateZdown 90
- $vator_door1 rotateYup 30
- $vator_door2 time 0.1
- $vator_door2 rotateYup 30
- wait 0.1
-
- $vator_door2 time 1
-
- VatorDoor_Loop:
- $vator_door2 rotateYup 1
- waitFor $vator_door2
- $vator_door2 rotateYup 2
- waitFor $vator_door2
- $vator_door2 rotateYup 3
- waitFor $vator_door2
- $vator_door2 rotateYup 2
- waitFor $vator_door2
- $vator_door2 rotateYup 1
- waitFor $vator_door2
- $vator_door2 rotateYdown 1
- waitFor $vator_door2
- $vator_door2 rotateYdown 2
- waitFor $vator_door2
- $vator_door2 rotateYdown 3
- waitFor $vator_door2
- $vator_door2 rotateYdown 2
- waitFor $vator_door2
- $vator_door2 rotateYdown 1
- waitFor $vator_door2
- goto VatorDoor_Loop
-
- end
-
- //---------------------------------------------------------------------------
- // Elevator Rope 1
- //---------------------------------------------------------------------------
- VatorRope1:
-
- $vator_rope1 time 0.2
-
- VatorRope1_Loop:
- $vator_rope1 moveEast 1
- waitFor $vator_rope1
- $vator_rope1 moveEast 2
- waitFor $vator_rope1
- $vator_rope1 moveEast 3
- waitFor $vator_rope1
- $vator_rope1 moveEast 2
- waitFor $vator_rope1
- $vator_rope1 moveEast 1
- waitFor $vator_rope1
- $vator_rope1 moveWest 1
- waitFor $vator_rope1
- $vator_rope1 moveWest 2
- waitFor $vator_rope1
- $vator_rope1 moveWest 3
- waitFor $vator_rope1
- $vator_rope1 moveWest 2
- waitFor $vator_rope1
- $vator_rope1 moveWest 1
- waitFor $vator_rope1
- goto VatorRope1_Loop
-
- end
-
- //---------------------------------------------------------------------------
- // Elevator Rope 2
- //---------------------------------------------------------------------------
- VatorRope2:
-
- $vator_rope2 time 0.5
-
- VatorRope2_Loop:
- $vator_rope2 moveNorth 1
- waitFor $vator_rope2
- $vator_rope2 moveNorth 2
- waitFor $vator_rope2
- $vator_rope2 moveNorth 3
- waitFor $vator_rope2
- $vator_rope2 moveNorth 2
- waitFor $vator_rope2
- $vator_rope2 moveNorth 1
- waitFor $vator_rope2
- $vator_rope2 moveSouth 1
- waitFor $vator_rope2
- $vator_rope2 moveSouth 2
- waitFor $vator_rope2
- $vator_rope2 moveSouth 3
- waitFor $vator_rope2
- $vator_rope2 moveSouth 2
- waitFor $vator_rope2
- $vator_rope2 moveSouth 1
- waitFor $vator_rope2
- goto VatorRope2_Loop
-
- end
-
- //---------------------------------------------------------------------------
- // Abandon ABO Vator Door Setup
- //---------------------------------------------------------------------------
- AbandonABO_VatorDoorSetup:
-
- local.Door string parm.Door
- local.StartAngle = parm.StartAngle
- local.Speed = parm.Speed
-
- local.Door time local.Speed
- local.Door rotateYup local.StartAngle
- waitFor local.Door
-
- AbandonABO_VatorDoor_Loop:
- local.Door rotateYup 2
- waitFor local.Door
- local.Door rotateYup 4
- waitFor local.Door
- local.Door rotateYup 6
- waitFor local.Door
- local.Door rotateYup 4
- waitFor local.Door
- local.Door rotateYup 2
- waitFor local.Door
- local.Door rotateYdown 2
- waitFor local.Door
- local.Door rotateYdown 4
- waitFor local.Door
- local.Door rotateYdown 6
- waitFor local.Door
- local.Door rotateYdown 4
- waitFor local.Door
- local.Door rotateYdown 2
- waitFor local.Door
- goto AbandonABO_VatorDoor_Loop
-
- end
-
- //---------------------------------------------------------------------------
- // Abandon ABO Box 1
- //---------------------------------------------------------------------------
- AbandonABO_Box1:
- $abandon_abo_box1 moveUp 32
- waitFor $abandon_abo_box1
-
- $abandon_abo_box1 rotateY 10
- $abandon_abo_box1 rotateX 8
- wait 0.1
- end
-
- //---------------------------------------------------------------------------
- // Abandon ABO Box 2
- //---------------------------------------------------------------------------
- AbandonABO_Box2:
- $abandon_abo_box2 rotateYup 30
- $abandon_abo_box2 rotateXup 30
- wait 0.1
- end
-
- //---------------------------------------------------------------------------
- // Abandon ABO Box 3
- //---------------------------------------------------------------------------
- AbandonABO_Box3:
- $abandon_abo_box3 moveUp 24
- waitFor $abandon_abo_box3
-
- $abandon_abo_box3 rotateYup 45
- $abandon_abo_box3 rotateXup 75
- wait 0.1
- end
-
- //---------------------------------------------------------------------------
- // Abandon ABO Box 4
- //---------------------------------------------------------------------------
- AbandonABO_Box4:
- $abandon_abo_box4 rotateYup 15
- waitFor $abandon_abo_box4
-
- $abandon_abo_box4 time 4
-
- Abandon_Box4_Loop:
- $abandon_abo_box4 rotateXup 2
- waitFor $abandon_abo_box4
- $abandon_abo_box4 rotateXup 4
- waitFor $abandon_abo_box4
- $abandon_abo_box4 rotateXup 6
- waitFor $abandon_abo_box4
- $abandon_abo_box4 rotateXup 8
- waitFor $abandon_abo_box4
- $abandon_abo_box4 rotateXup 6
- waitFor $abandon_abo_box4
- $abandon_abo_box4 rotateXup 4
- waitFor $abandon_abo_box4
- $abandon_abo_box4 rotateXup 2
- waitFor $abandon_abo_box4
- $abandon_abo_box4 rotateXdown 2
- waitFor $abandon_abo_box4
- $abandon_abo_box4 rotateXdown 4
- waitFor $abandon_abo_box4
- $abandon_abo_box4 rotateXdown 6
- waitFor $abandon_abo_box4
- $abandon_abo_box4 rotateXdown 8
- waitFor $abandon_abo_box4
- $abandon_abo_box4 rotateXdown 6
- waitFor $abandon_abo_box4
- $abandon_abo_box4 rotateXdown 4
- waitFor $abandon_abo_box4
- $abandon_abo_box4 rotateXdown 2
- waitFor $abandon_abo_box4
- goto Abandon_Box4_Loop
-
- end
-
- //---------------------------------------------------------------------------
- // Abandon ABO Box 5
- //---------------------------------------------------------------------------
- AbandonABO_Box5:
- $abandon_abo_box5 moveDown 24
- waitFor $abandon_abo_box5
- end
-
- //---------------------------------------------------------------------------
- // Abandon ABO Box 6
- //---------------------------------------------------------------------------
- AbandonABO_Box6:
- $abandon_abo_box6 rotateX 6
- $abandon_abo_box6 moveUp 16
- waitFor $abandon_abo_box6
-
- $abandon_abo_box6 time 4
-
- Abandon_Box6_Loop:
- $abandon_abo_box6 rotateZup 2
- waitFor $abandon_abo_box6
- $abandon_abo_box6 rotateZup 4
- waitFor $abandon_abo_box6
- $abandon_abo_box6 rotateZup 6
- waitFor $abandon_abo_box6
- $abandon_abo_box6 rotateZup 8
- waitFor $abandon_abo_box6
- $abandon_abo_box6 rotateZup 6
- waitFor $abandon_abo_box6
- $abandon_abo_box6 rotateZup 4
- waitFor $abandon_abo_box6
- $abandon_abo_box6 rotateZup 2
- waitFor $abandon_abo_box6
- $abandon_abo_box6 rotateZdown 2
- waitFor $abandon_abo_box6
- $abandon_abo_box6 rotateZdown 4
- waitFor $abandon_abo_box6
- $abandon_abo_box6 rotateZdown 6
- waitFor $abandon_abo_box6
- $abandon_abo_box6 rotateZdown 8
- waitFor $abandon_abo_box6
- $abandon_abo_box6 rotateZdown 6
- waitFor $abandon_abo_box6
- $abandon_abo_box6 rotateZdown 4
- waitFor $abandon_abo_box6
- $abandon_abo_box6 rotateZdown 2
- waitFor $abandon_abo_box6
- goto Abandon_Box6_Loop
-
-
- end
-
- //---------------------------------------------------------------------------
- // Abandon ABO Box 7
- //---------------------------------------------------------------------------
- AbandonABO_Box7:
- $abandon_abo_box7 rotateY 10
- $abandon_abo_box7 rotateZ 6
- wait 0.1
- end
-
- //---------------------------------------------------------------------------
- // Abandon ABO Lights
- //---------------------------------------------------------------------------
- AbandonABO_Lights:
-
- $abandon_abo_lights lightstyle "Lffcfkcffkffcffcfcfcccfkcffc"
- AbandonABO_Lights_Loop:
- local.WaitTime randomint 10
- local.WaitTime += 6
- wait local.WaitTime
- goto AbandonABO_Lights_Loop
-
- end
-
- //---------------------------------------------------------------------------
- // Creaking Boards 1
- //---------------------------------------------------------------------------
-
- CreakingBoard1:
-
- CreakingBoard1_Loop:
- $boardcreak1 ontouch CreakingBoard1_PlaySound
- pause
-
- CreakingBoard1_PlaySound:
- $boardcreak1 notouch
- $boardcreak1 playsound "environment/woodcreak/smcreak1.wav"
- waitForSound "environment/woodcreak/smcreak1.wav"
- goto CreakingBoard1_Loop
-
- end
-
- //---------------------------------------------------------------------------
- // Creaking Boards 2
- //---------------------------------------------------------------------------
-
- CreakingBoard2:
-
- CreakingBoard2_Loop:
- $boardcreak2 ontouch CreakingBoard2_PlaySound
- pause
-
- CreakingBoard2_PlaySound:
- $boardcreak2 notouch
- $boardcreak2 playsound "environment/woodcreak/smcreak2.wav"
- waitForSound "environment/woodcreak/smcreak2.wav"
- goto CreakingBoard2_Loop
-
- end
-
- //---------------------------------------------------------------------------
- // Start Rocket Dude
- //---------------------------------------------------------------------------
- StartRocketDude:
- // This thread here just because I'm a dumbass and forgot to delete
- // the trigger calling it.
- end
-
-
- //-------------------------------------------------------
- //-------------------------------------------------------
- // Wieder Character Additions
- //-------------------------------------------------------
- //-------------------------------------------------------
-
- //---------------------------------------------------------------------------
- // Mancini Jumping
- //---------------------------------------------------------------------------
- AI_Mancini_Jumping:
-
- local.self ignoreall
- local.self definestate activate Mancini_Jump
- pause
-
- Mancini_Jump:
- music surprise
- local.self ignore activate
- thread dialog::mancini_get_me_out
- local.self runto $mancini_jump_end
- waitFor local.self
- local.self runto $mancini_escape
- waitFor local.self
- local.self remove
- end
-
- end
-
- //---------------------------------------------------------------------------
- // Mancini Tube
- //---------------------------------------------------------------------------
- AI_Mancini_Tube:
-
- local.self ignoreall
- local.self definestate activate Mancini_Tube_Activate
- pause
-
- Mancini_Tube_Activate:
- local.self ignore activate
- thread dialog::mancini_dont_let_thru
- wait 2
- local.self runto $mancini_tube_escape
- waitFor local.self
- local.self remove
- level.PipeDown ifequal 0 wait 4
- level.PipeDown ifequal 0 thread dialog::jc_way_into_pipe
- end
-
- end
-
- //---------------------------------------------------------------------------
- // Mancini Ladder
- //---------------------------------------------------------------------------
- AI_Mancini_Ladder:
-
- $mancini_door lock
- $weak_ladder time 1.5
- $weak_ladder rotateZup 17
- waitFor $weak_ladder
-
- local.self ignoreall
- local.self definestate activate Mancini_Ladder_Activate
- pause
-
- Mancini_Ladder_Activate:
- local.self ignore activate
- thread dialog::mancini_persistent
- local.self anim "csite_12_ladder_push"
- waitFor local.self
- local.self anim "idle"
- $weak_ladder rotateZup -107
- waitFor $weak_ladder
- $weak_ladder shatter "0 0 0" 30 50 75 .5 0
- wait 0.1
- $weak_ladder remove
- thread dialog::jc_look_out_above
- local.self runto $mancini_ladder_1
- waitFor local.self
- local.self runto $mancini_ladder_2
- waitFor local.self
- local.self runto $mancini_fall_escape
- waitFor local.self
- local.self remove
- end
-
- end
-
- //---------------------------------------------------------------------------
- // Mancini Final
- //---------------------------------------------------------------------------
- AI_Mancini_Final:
-
- $end_thug1 hide
- $end_thug2 hide
- $end_thug3 hide
- local.self hide
- local.self ignoreall
- local.self definestate activate Mancini_Final_Activate
- pause
-
- Mancini_Final_Activate:
- music action
- $end_thug1 show
- $end_thug2 show
- $end_thug3 show
- local.self show
- local.self ignore activate
- thread dialog::mancini_blast_him
- local.self runto $mancini_final_flee1
- waitFor local.self
- local.self runto $mancini_final_flee2
- waitFor local.self
- local.self runto $mancini_final_flee3
- waitFor local.self
- local.self runto $mancini_final_flee4
- waitFor local.self
- local.self remove
- end
-
- end
-
- //---------------------------------------------------------------------------
- // Thug in the dumpster
- //---------------------------------------------------------------------------
- AI_Thug_Dumpster:
-
- local.self ignoresounds
- local.self ignore sightenemy
- local.self definestate activate Thug_Dumpster_Attack
- pause
-
- Thug_Dumpster_Attack:
- local.self ignore activate
- local.self anim "opencan1"
- waitFor local.self
- local.self anim "idle1"
- local.self respondtoall
- local.self attack *1
- pause
-
- end
-
- //---------------------------------------------------------------------------
- // Spawned Pipe Thug
- //---------------------------------------------------------------------------
- AI_PipeThug:
-
- local.self item Health 50
- local.self definestate idle PipeThug_Idle
- local.self state idle
- pause
-
- PipeThug_Idle:
- local.self ignoreall
- local.self turnto 0
- waitFor local.self
- local.self runto $pipe_thug_node
- waitFor local.self
- local.self respondtoall
- local.self state standground
- end
-
- end
-
- //---------------------------------------------------------------------------
- // Thug on ledge 1
- //---------------------------------------------------------------------------
- AI_Thug_Ledge1:
-
- level.SkillLevel ifless 1 goto AI_Thug_Ledge1_Delete
-
- local.self ignoresounds
- local.self definestate activate Thug_Ledge1_Attack
- local.self definestate idle Thug_Ledge1_Idle
- local.self state idle
- pause
-
- Thug_Ledge1_Attack:
- local.self respondtoall
- local.self attack *1
- pause
-
- Thug_Ledge1_Idle:
- local.self walkto $thug_ledge1_node1
- waitFor local.self
- local.self turnto 180
- waitFor local.self
- wait 2
- local.self walkto $thug_ledge1_node2
- waitFor local.self
- local.self turnto 180
- waitFor local.self
- wait 2
- goto Thug_Ledge1_Idle
-
- AI_Thug_Ledge1_Delete:
- local.self remove
-
- end
-
- //---------------------------------------------------------------------------
- // Thug on ledge 2
- //---------------------------------------------------------------------------
- AI_Thug_Ledge2:
-
- level.SkillLevel ifless 2 goto AI_Thug_Ledge2_Delete
-
- local.self item Health 20
- local.self ignoresounds
- local.self definestate activate Thug_Ledge2_Attack
- local.self definestate idle Thug_Ledge2_Idle
- local.self state idle
- pause
-
- Thug_Ledge2_Attack:
- local.self respondtoall
- local.self attack *1
- pause
-
- Thug_Ledge2_Idle:
- local.self walkto $thug_ledge2_node2
- waitFor local.self
- local.self turnto 180
- waitFor local.self
- wait 2
- local.self walkto $thug_ledge2_node1
- waitFor local.self
- local.self turnto 180
- waitFor local.self
- wait 2
- goto Thug_Ledge2_Idle
-
- AI_Thug_Ledge2_Delete:
- local.self remove
-
- end
-
- //---------------------------------------------------------------------------
- // Thug 1 on roof 1
- //---------------------------------------------------------------------------
- AI_Thug1_Roof1:
-
- local.self item Health 50
- local.self ignoresounds
- local.self ignore sightenemy
- local.self definestate activate Thug1_Roof1_Attack
- pause
-
- Thug1_Roof1_Attack:
- local.self ignore activate
- local.self respondto pain
- local.self runto $roof1_duck_node
- waitFor local.self
- local.self turnto 270
- waitFor local.self
- local.self respondtoall
- local.self attack *1
- pause
-
- end
-
- //---------------------------------------------------------------------------
- // Thug 2 on roof 1
- //---------------------------------------------------------------------------
- AI_Thug2_Roof1:
-
- local.self ignoresounds
- local.self ignore sightenemy
- local.self definestate activate Thug2_Roof1_Attack
- pause
-
- Thug2_Roof1_Attack:
- local.self ignore activate
- local.self respondto pain
- local.self runto $roof1_standground
- waitFor local.self
- local.self respondtoall
- local.self attack *1
- pause
-
- end
-
- //---------------------------------------------------------------------------
- // Hostage On Roof
- //---------------------------------------------------------------------------
- AI_Hostage_Roof:
-
- level.Hostage1State = 0
- local.self ignoreall
- local.self respondto pain opendoor
- local.self definestate idle Hostage_Roof_Idle
- local.self definestate use Hostage_Roof_Saved
- local.self definestate killed Hostage_Roof_Killed
- local.self state idle
- pause
-
- Hostage_Roof_Idle:
- local.self anim "crouch_idle"
- waitFor local.self
- pause
-
- Hostage_Roof_Saved:
- thread blade_saved_female_dialog_thread
- level.Hostage1State = 1
- local.self ignore use
- local.self runto $roof_hostage_flee
- waitFor local.self
- local.self remove
- end
-
- Hostage_Roof_Killed:
- level.SObjective2 ifequal 2 goto Hostage_Roof_Killed_FailedAlready
- level.SObjective2 = 2
- thread MissionComputer
- thread global/universal_script.scr::SObjectiveFailed
- Hostage_Roof_Killed_FailedAlready:
- end
-
- end
-
- //---------------------------------------------------------------------------
- // Construction Yard Thug 1
- //---------------------------------------------------------------------------
- AI_CYard_Thug1:
- local.self item Health 20
- local.self ignore sightenemy
- local.self ignoresounds
- local.self definestate activate CYard_Thug1_Active
- local.self definestate idle CYard_Thug1_Idle
- local.self state idle
- pause
-
- CYard_Thug1_Idle:
- local.self walkto $outside_porto1
- waitFor local.self
- wait 4
- local.self walkto $outside_porto3
- waitFor local.self
- wait 6
- local.self walkto $outside_porto2
- waitFor local.self
- wait 2
- local.self walkto $outside_porto3
- waitFor local.self
- wait 4
- goto CYard_Thug1_Idle
-
- CYard_Thug1_Active:
- local.self ignore activate
- local.self runto $thug1_scatter_spot
- waitFor local.self
- local.self respondtoall
- local.self attack *1
- pause
-
- end
-
- //---------------------------------------------------------------------------
- // Construction Yard Thug 2
- //---------------------------------------------------------------------------
- AI_CYard_Thug2:
- local.self item Health 20
- local.self ignore sightenemy
- local.self ignoresounds
- local.self definestate activate CYard_Thug2_Active
- pause
-
- CYard_Thug2_Active:
- local.self ignore activate
- local.self runto $thug2_scatter_spot
- waitFor local.self
- local.self respondtoall
- local.self attack *1
- pause
-
- end
-
- //---------------------------------------------------------------------------
- // Construction Yard Thug 3
- //---------------------------------------------------------------------------
- AI_CYard_Thug3:
- level.SkillLevel ifless 2 goto AI_CYard_Thug3_Delete
-
- local.self item Health 20
- local.self ignore sightenemy
- local.self ignoresounds
- local.self definestate idle CYard_Thug3_Idle
- local.self definestate activate CYard_Thug3_Active
- local.self state idle
- pause
-
- CYard_Thug3_Active:
- local.self ignore activate
- local.self runto $thug3_scatter_spot
- waitFor local.self
- local.self respondtoall
- local.self attack *1
- pause
-
- CYard_Thug3_Idle:
- local.self walkto $thug3_node1
- waitFor local.self
- local.self walkto $thug3_node2
- waitFor local.self
- local.self walkto $thug3_node3
- waitFor local.self
- local.self walkto $thug3_node4
- waitFor local.self
- local.self walkto $thug3_node5
- waitFor local.self
- goto CYard_Thug3_Idle
-
- AI_CYard_Thug3_Delete:
- local.self remove
-
- end
-
- //---------------------------------------------------------------------------
- // Construction Worker Pusing a Box
- //---------------------------------------------------------------------------
- AI_PushWorker:
-
- local.self ignore sightenemy
- local.self definestate activate PushWorker_Activate
- local.self state idle
- pause
-
- PushWorker_Activate:
- music suspense
- local.Box string "$pushbox1"
- local.self anim "push1"
- $pushbox1 time 1
- $pushbox1 moveBackward 32
- waitFor $pushbox1
- $pushbox1 moveBackward 32
- waitFor $pushbox1
- $pushbox1 moveBackward 32
- waitFor $pushbox1
- $pushbox1 moveBackward 32
- waitFor $pushbox1
- $pushbox1 moveBackward 32
- waitFor $pushbox1
- $pushbox1 moveBackward 32
- waitFor $pushbox1
- $pushbox1 moveBackward 32
- waitFor $pushbox1
- $pushbox1 moveBackward 32
- waitFor $pushbox1
- $pushbox1 moveBackward 32
- waitFor $pushbox1
- $pushbox1 moveBackward 32
- waitFor $pushbox1
- local.self anim "twitch1"
- wait 2
- local.self anim "twitch2"
- wait 2
- local.self walkto $cworker1_node1
- waitFor local.self
- local.self walkto $cworker1_box2
- waitFor local.self
- local.self turnto 180
- waitFor local.self
- local.Box string "$pushbox2"
- local.self anim "push1"
- $pushbox2 time 1
- $pushbox2 moveBackward 32
- waitFor $pushbox2
- $pushbox2 moveBackward 32
- waitFor $pushbox2
- $pushbox2 moveBackward 32
- waitFor $pushbox2
- $pushbox2 moveBackward 32
- waitFor $pushbox2
- local.self anim "twitch1"
- wait 2
- local.self anim "push1"
- $pushbox2 moveBackward 32
- waitFor $pushbox2
- $pushbox2 moveBackward 32
- waitFor $pushbox2
- $pushbox2 moveBackward 32
- waitFor $pushbox2
- $pushbox2 moveBackward 32
- waitFor $pushbox2
- local.self anim "twitch2"
- wait 2
- local.self anim "push1"
- $pushbox2 moveBackward 32
- waitFor $pushbox2
- $pushbox2 moveBackward 32
- waitFor $pushbox2
- $pushbox2 moveBackward 32
- waitFor $pushbox2
- $pushbox2 moveBackward 32
- waitFor $pushbox2
- local.self walkto $cworker1_node1
- waitFor local.self
- local.self walkto $cworker1_node2
- waitFor local.self
- local.self walkto $cworker1_node3
- waitFor local.self
- local.self anim "twitch2"
- waitFor local.self
- local.self walkto $cworker1_node4
- waitFor local.self
- local.self walkto $cworker1_node5
- waitFor local.self
- local.self walkto $cworker1_node6
- waitFor local.self
- local.self turnto 90
- waitFor local.self
- local.self anim "twitch2"
- waitFor local.self
- local.self anim "idle1"
- end
-
- end
-
- //---------------------------------------------------------------------------
- // Basement Thug 1
- //---------------------------------------------------------------------------
- AI_Basement_Thug1:
- //local.self ignoresounds
- //pause
- end
-
- //---------------------------------------------------------------------------
- // Basement Thug 2
- //---------------------------------------------------------------------------
- AI_Basement_Thug2:
- //local.self ignoresounds
- //pause
- end
-
- //---------------------------------------------------------------------------
- // Basement Thug Ambush
- //---------------------------------------------------------------------------
- AI_Basement_ThugAmbush:
- local.self item Health 50
- //local.self ignoresounds
- //pause
- end
-
- //---------------------------------------------------------------------------
- // Basement Thugs
- //---------------------------------------------------------------------------
- AI_Basement_Thugs:
-
- local.ThugNum = parm.ThugNum
- local.Node string "$basement_guy"
- local.Node appendint local.ThugNum
- local.Node append "_node"
-
- local.self ignoresounds
- local.self ignore sightenemy
- local.self definestate activate Basement_Thugs_Active
- pause
-
- Basement_Thugs_Active:
- local.self ignore activate
- local.ThugNum ifequal 3 local.self walkto local.Node
- local.ThugNum ifequal 4 local.self walkto local.Node
- local.ThugNum ifequal 5 local.self walkto local.Node
- local.ThugNum ifequal 6 local.self runto local.Node
- local.ThugNum ifequal 7 local.self runto local.Node
- waitFor local.self
- local.ThugNum ifequal 3 local.self turnto 0
- local.ThugNum ifequal 4 local.self turnto 270
- local.ThugNum ifequal 5 local.self turnto 270
- local.ThugNum ifequal 6 local.self turnto 0
- local.ThugNum ifequal 7 local.self turnto 0
- waitFor local.self
- local.self respondtoall
- local.self attack *1
- pause
-
- end
-
- //---------------------------------------------------------------------------
- // Bum 1
- //---------------------------------------------------------------------------
- AI_Bum1:
-
- local.self ignoreall
- local.self respondto pain killed use
- local.self definestate use Bum1_Use
- local.self definestate idle Bum1_Idle
- local.self state idle
- pause
-
- Bum1_Idle:
- local.self walkto $bum1_node1
- waitFor local.self
- local.self anim "twitch2"
- waitFor local.self
- local.self walkto $bum1_node2
- waitFor local.self
- local.self anim "idle1"
- waitFor local.self
- local.self walkto $bum1_node3
- waitFor local.self
- local.self walkto $bum1_node4
- waitFor local.self
- local.self anim "twitch2"
- local.self walkto $bum1_node3
- waitFor local.self
- local.self walkto $bum1_node2
- waitFor local.self
- local.self walkto $bum1_node1
- waitFor local.self
- local.self anim "idle1"
- waitFor local.self
- goto Bum1_Idle
-
- Bum1_Use:
- local.self ignore use
- parm.SaySomething = 0
- thread bum_say_something_thread
- end
-
- end
-
- //---------------------------------------------------------------------------
- // Bum 2
- //---------------------------------------------------------------------------
- AI_Bum2:
-
- local.self ignoreall
- local.self respondto pain killed use
- local.self definestate use Bum2_Use
- local.self definestate idle Bum2_Idle
- local.self state idle
- pause
-
- Bum2_Idle:
- local.self anim "idle1"
- pause
-
- Bum2_Use:
- local.self ignore use
- parm.SaySomething = 6
- thread bum_say_something_thread
- end
-
- end
-
- //---------------------------------------------------------------------------
- // Vator Thug 1
- //---------------------------------------------------------------------------
- AI_Vator_Thug1:
- local.self item Health 50
- local.self ignoresounds
- local.self definestate activate Vator_Thug1_Active
- pause
-
- Vator_Thug1_Active:
- local.self runto $vator_thug1_node
- waitFor local.self
- local.self respondtoall
- local.self attack *1
- pause
-
- end
-
- //---------------------------------------------------------------------------
- // Vator Thug 2
- //---------------------------------------------------------------------------
- AI_Vator_Thug2:
- local.self ignoresounds
- local.self definestate activate Vator_Thug2_Active
- pause
-
- Vator_Thug2_Active:
- local.self respondtoall
- local.self attack *1
- pause
-
- end
-
- //---------------------------------------------------------------------------
- // Vator Thug 3
- //---------------------------------------------------------------------------
- AI_Vator_Thug3:
- local.self item Health 20
- local.self ignoresounds
- local.self definestate activate Vator_Thug3_Active
- pause
-
- Vator_Thug3_Active:
- local.self respondtoall
- local.self attack *1
- pause
-
- end
-
- //---------------------------------------------------------------------------
- // Hostage near Vator
- //---------------------------------------------------------------------------
- AI_Hostage_Vator:
-
- local.self ignoreall
- local.self respondto pain opendoor
- local.self definestate idle Hostage_Vator_Idle
- local.self definestate use Hostage_Vator_Saved
- local.self definestate killed Hostage_Vator_Killed
- local.self state idle
- pause
-
- Hostage_Vator_Idle:
- local.self anim "crouch_idle"
- waitFor local.self
- pause
-
- Hostage_Vator_Saved:
- thread blade_saved_female_dialog_thread
- local.self runto $vator_hostage_stage1
- waitFor local.self
- local.self runto $vator_hostage_stage2
- waitFor local.self
- local.self runto $vator_hostage_stage3
- waitFor local.self
- local.self runto $vator_hostage_flee
- waitFor local.self
- local.self remove
- end
-
- Hostage_Vator_Killed:
- level.SObjective2 ifequal 2 goto Hostage_Vator_Killed_FailedAlready
- level.SObjective2 = 2
- thread MissionComputer
- thread global/universal_script.scr::SObjectiveFailed
- Hostage_Vator_Killed_FailedAlready:
- end
-
- end
-
- //---------------------------------------------------------------------------
- // Thugs Outside
- //---------------------------------------------------------------------------
- AI_OutsideThugs:
- local.self health 20
- end
-
- //---------------------------------------------------------------------------
- // Thugs at the end
- //---------------------------------------------------------------------------
- AI_EndThugs:
- local.self health 50
- end
-
- //---------------------------------------------------------------------------
- // Foreman in the trailer
- //---------------------------------------------------------------------------
- AI_Foreman:
- local.self attachmodel blueprints.def gun blueprints
- local.self ignoreall
- local.self respondto pain
- local.self anim "sitting"
- local.self definestate killed Foreman_Killed
- local.self definestate activate Foreman_Scared
- local.self definestate use Foreman_Conversation
- local.self definestate idle Foreman_Waiting
- local.self state idle
- pause
-
- Foreman_Waiting:
- local.self anim "sitting"
- pause
-
- Foreman_Scared:
- local.self ignore activate
- local.self anim "getup"
- waitFor local.self
- thread dialog::blade_foreman_scared
- local.self anim "idle1"
- pause
-
- Foreman_Conversation:
- music suspense
- local.self anim "idle1"
- local.self ignore use
- cinematic
- hud 0
- freezeplayer
- $foreman_camera2 fixedposition
- $foreman_camera1 fixedposition
- cuecamera $foreman_camera1
- fadein 4 0 0 0
- wait 1.5
- thread dialog::blade_foreman
- waitForSound "dialog/csite/blade/vent1.wav" .3
- local.self anim "twitch2"
- waitForSound "dialog/csite/foreman/info1.wav" .3
- local.self anim "handitem"
- waitForSound "dialog/csite/foreman/take.wav" .1
- $blueprints hide
- local.self anim "twitch1"
- waitForSound "dialog/csite/blade/whtth1.wav" .3
- local.self anim "twitch2"
- waitForSound "dialog/csite/foreman/info2.wav" .1
- local.self anim "idle1"
- waitForSound "dialog/csite/foreman/plsgo.wav" .1
- hud 1
- fadein 4 0 0 0
- cueplayer
- noncinematic
- releaseplayer
- local.self respondto pain killed
-
- trigger $foreman_guards
- *1 item blueprints 1
- game.csite_HaveBlueprints = 1
- level.SObjective1 = 1
- thread MissionComputer
- thread global/universal_script.scr::SObjectiveComplete
- wait 0.1
- $csite_thug1 thread AI_CYard_Thug1
- $csite_thug2 thread AI_CYard_Thug2
- pause
-
- Foreman_Killed:
- $blueprints hide
- $foreman_clip notsolid
- level.SObjective1 ifequal 0 level.SObjective1 = 2
- level.SObjective1 ifequal 2 thread MissionComputer
- level.SObjective1 ifequal 2 thread global/universal_script.scr::SObjectiveFailed
- level.SObjective1 ifequal 2 trigger $foreman_guards
- wait 0.1
- trigger $csite_thug1
- trigger $csite_thug2
- end
-
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
-
- // blade_saved_female_dialog_thread:
- /////////////////////////////////////////////////////////////////////////////
- blade_saved_female_dialog_thread:
-
- local.Count randomint 2
-
- local.Count ifequal 0 thread dialog::blade_civfemale_rescue1
- local.Count ifequal 1 thread dialog::blade_civfemale_rescue2
- waitForThread parm.previousthread
-
- end
-
- // bum_leave_alone_dialog_thread:
- /////////////////////////////////////////////////////////////////////////////
- bum_say_something_thread:
- local.SaySomething = parm.SaySomething
- local.SaySomething ifequal 0 thread dialog::bum_whos_in_costume
- local.SaySomething ifequal 6 thread dialog::bum_staying
- waitForThread parm.previousthread
- end
-
- //---------------------------------------------------------------------------
- // Precache
- //---------------------------------------------------------------------------
-
-
-
-
- // sound precache
- precache:
- cachesound dialog/csite/blade/vent1.wav
- cachesound dialog/csite/blade/whtth1.wav
- cachesound dialog/csite/foreman/info1.wav
- cachesound dialog/csite/foreman/info2.wav
- cachesound dialog/csite/foreman/plsgo.wav
- cachesound dialog/csite/foreman/take.wav
- cachesound environment/cabinet/drawer/cab11.wav
- cachesound environment/cabinet/drawer/cab12.wav
- cachesound environment/cabinet/latch32.wav
- cachesound environment/doors/metal/mtlclose.wav
- cachesound environment/doors/metal/mtlcls3.wav
- cachesound environment/doors/metal/mtldrcl3.wav
- cachesound environment/levelsnds/csite/cnstlp7.wav
- cachesound environment/rockfall/hvyrcks3.wav
- cachesound environment/rockfall/hvyrckss.wav
- cachesound environment/rockfall/sldngrck.wav
- cachesound environment/woodcreak/crkngwds.wav
- cachesound environment/woodcreak/smcreak1.wav
- cachesound environment/woodcreak/smcreak2.wav
- cachesound impact/comp_explode/cmpmx4.wav
- cachesound impact/explosion/lrg1.wav
- cachesound impact/explosion/track65.wav
- cachesound impact/metal.wav
- cachesound misc/metcreak.wav
- cachesound vehicle/bulldoze/idle.wav
- cachesound vehicle/bulldoze/run.wav
- end
-
-