home *** CD-ROM | disk | FTP | other *** search
/ Tripas 5 / TRIPAS 005.iso / Wos.EXE / base / maps / geo2.scr < prev    next >
Encoding:
Text File  |  1999-02-24  |  45.5 KB  |  3,226 lines

  1. setdialogscript dialog/dialog_geo_therm.scr
  2.  
  3.  
  4. level.exiting_to_geo1_lava = 0
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13. //=================
  14. start:
  15.  
  16. game.geo2_PObjective1 = 0
  17. game.geo2_PObjective2 = 0
  18. game.geo2_PObjective3 = 0
  19. game.geo2_SObjective1 = 0
  20. game.geo2_SObjective2 = 0
  21. game.geo2_SObjective3 = 0
  22.  
  23. thread magic_board_thread
  24.  
  25. $manumit1    thread manumit1_thread
  26. $reconah02   thread reconah02_thread
  27. $reconah03   thread reconah03_thread
  28. $pinphat01   thread pinphat01_thread
  29. $pinphat10   thread pinphat10_thread
  30. $gruntcapt05 thread gruntcapt05_thread
  31. $mworker01   thread mworker01_thread
  32. $mworker02   thread mworker02_thread
  33. $mworker03   thread mworker03_thread
  34. $mworker04   thread mworker04_thread
  35. $mworker05   thread mworker05_thread
  36.  
  37. thread lockerdoors_thread_init
  38. thread seadoors_ew_thread_init
  39. thread elevator2_thread
  40. thread computers_thread_init
  41. thread computer3_thread
  42. thread siphons_thread_init
  43. thread bigdoors_ns_thread_init
  44. thread bigdoors_ew_thread_init
  45. thread hotwater_thread
  46. thread qtip_thread
  47. thread furnace_thread
  48. thread furnace_needle1_thread
  49. thread furnace_needle2_thread
  50. thread furnace_level1_thread
  51. thread furnace_level2_thread
  52. thread furnace_alarm_thread
  53.  
  54. thread yellowcard_thread
  55.  
  56. thread oven_thread
  57. thread oven_alarm_thread
  58. thread under_oven_light_thread
  59.  
  60. waitforplayer
  61.  
  62. wait 3.0
  63.  
  64. thread MissionComputer
  65. thread global/universal_script.scr::StatusUpdated
  66. waitForThread parm.previousthread
  67.  
  68. end
  69. //=================
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91. //================
  92. magic_board_thread:
  93.  
  94. $magic_board time 1.0
  95.  
  96. $magic_board ontrigger open_magic_board
  97. pause
  98.  
  99. open_magic_board:
  100.  
  101. $magic_board notrigger
  102.  
  103. $magic_board moveUp 64
  104. waitFor $magic_board
  105.  
  106. end
  107. //======
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. //===========
  115. manumit1_idle:
  116.  
  117. local.self ignoresounds
  118. local.self anim idle
  119.  
  120. pause
  121.  
  122. end
  123. //=======
  124.  
  125.  
  126.  
  127. //===============
  128. manumit1_activate:
  129.  
  130. wait 1.0
  131.  
  132. local.self runto $manumit1_node1
  133. waitFor local.self
  134.  
  135. wait 0.1
  136.  
  137. local.self jumpto $manumit1_node2
  138. waitFor local.self
  139.  
  140. wait 1.0
  141.  
  142. local.self jumpto $manumit1_node3
  143. waitFor local.self
  144.  
  145. wait 1.0
  146.  
  147. local.self runto $manumit1_node4
  148. waitFor local.self
  149.  
  150. wait 0.1
  151.  
  152. local.self runto $manumit1_node5
  153. waitFor local.self
  154.  
  155. wait 1.0
  156.  
  157. local.self jumpto $manumit1_node6
  158. waitFor local.self
  159.  
  160. wait 1.0
  161.  
  162. local.self definestate idle global/baseai.scr::idle
  163. local.self respondtoall
  164. local.self attackplayer
  165.  
  166. end
  167. //=======
  168.  
  169.  
  170.  
  171. //=============
  172. manumit1_thread:
  173.  
  174. local.self definestate idle     manumit1_idle
  175. local.self definestate activate manumit1_activate
  176. local.self state idle
  177.  
  178. end
  179. //=======
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205. //===========
  206. reconah02_idle:
  207.  
  208. local.self anim idle
  209.  
  210. reconah02_loop:
  211.  
  212. local.self walkto $reconah02_node1
  213. waitFor local.self
  214. wait 0.1
  215.  
  216. local.self walkto $reconah02_node2
  217. waitFor local.self
  218. wait 0.1
  219.  
  220. local.self walkto $reconah02_node3
  221. waitFor local.self
  222. wait 0.1
  223.  
  224. local.self walkto $reconah02_node4
  225. waitFor local.self
  226. wait 0.1
  227.  
  228. local.self walkto $reconah02_node3
  229. waitFor local.self
  230. wait 0.1
  231.  
  232. local.self walkto $reconah02_node2
  233. waitFor local.self
  234. wait 0.1
  235.  
  236. goto reconah02_loop
  237.  
  238. end
  239. //=======
  240.  
  241.  
  242. //=============
  243. reconah02_thread:
  244.  
  245. local.self definestate idle reconah02_idle
  246. local.self state idle
  247.  
  248. end
  249. //=======
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266. //===========
  267. reconah03_idle:
  268.  
  269. local.self anim idle
  270.  
  271. reconah03_loop:
  272.  
  273. local.self walkto $reconah03_node1
  274. waitFor local.self
  275. wait 0.1
  276. local.self walkto $reconah03_node2
  277. waitFor local.self
  278. wait 0.1
  279. local.self walkto $reconah03_node3
  280. waitFor local.self
  281. wait 0.1
  282. local.self walkto $reconah03_node2
  283. waitFor local.self
  284. wait 0.1
  285.  
  286. goto reconah03_loop
  287.  
  288. end
  289. //=======
  290.  
  291.  
  292. //=============
  293. reconah03_thread:
  294.  
  295. local.self definestate idle reconah03_idle
  296. local.self state idle
  297.  
  298. end
  299. //=======
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327. //===========
  328. pinphat01_idle:
  329.  
  330. local.self anim idle
  331.  
  332. pinphat01_loop:
  333.  
  334. local.self walkto $pinphat01_node1
  335. waitFor local.self
  336. wait 0.1
  337.  
  338. local.self anim use1
  339.  
  340. wait 3.0
  341.  
  342. local.self walkto $pinphat01_node2
  343. waitFor local.self
  344. wait 0.1
  345. local.self walkto $pinphat01_node3
  346. waitFor local.self
  347. wait 0.1
  348. local.self walkto $pinphat01_node4
  349. waitFor local.self
  350.  
  351. wait 5.0
  352.  
  353. local.self walkto $pinphat01_node3
  354. waitFor local.self
  355. wait 0.1
  356.  
  357. goto pinphat01_loop
  358.  
  359. end
  360. //=======
  361.  
  362. //=============
  363. pinphat01_thread:
  364.  
  365. local.self definestate idle pinphat01_idle
  366. local.self state idle
  367.  
  368. end
  369. //=======
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384. //===========
  385. pinphat10_idle:
  386.  
  387. local.self anim idle
  388.  
  389. pinphat10_loop:
  390.  
  391. local.self walkto $pinphat10_node1
  392. waitFor local.self
  393. wait 0.1
  394. local.self walkto $pinphat10_node2
  395. waitFor local.self
  396. wait 0.1
  397. local.self walkto $pinphat10_node3
  398. waitFor local.self
  399. wait 0.1
  400. local.self walkto $pinphat10_node2
  401. waitFor local.self
  402. wait 0.1
  403.  
  404. goto pinphat10_loop
  405.  
  406.  
  407. end
  408. //=======
  409.  
  410.  
  411. //=============
  412. pinphat10_thread:
  413.  
  414. local.self definestate idle pinphat10_idle
  415. local.self state idle
  416.  
  417. end
  418. //=======
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432. //===========
  433. gruntcapt05_idle:
  434.  
  435. local.self anim idle
  436.  
  437. gruntcapt05_loop:
  438.  
  439. local.self walkto $gruntcapt05_node1
  440. waitFor local.self
  441. wait 0.1
  442. local.self walkto $gruntcapt05_node2
  443. waitFor local.self
  444. wait 0.1
  445. local.self walkto $gruntcapt05_node3
  446. waitFor local.self
  447. wait 0.1
  448. local.self walkto $gruntcapt05_node2
  449. waitFor local.self
  450. wait 0.1
  451.  
  452. goto gruntcapt05_loop
  453.  
  454. end
  455. //=======
  456.  
  457.  
  458. //=============
  459. gruntcapt05_thread:
  460.  
  461. local.self definestate idle gruntcapt05_idle
  462. local.self state idle
  463.  
  464. end
  465. //=======
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480. //===========
  481. mworker01_idle:
  482.  
  483. local.self anim idle
  484.  
  485. mworker01_loop:
  486.  
  487. local.self walkto $mworker01_node1
  488. waitFor local.self
  489. wait 0.1
  490.  
  491. local.self walkto $mworker01_node2
  492. waitFor local.self
  493. wait 1.0
  494.  
  495. local.self walkto $mworker01_node3
  496. waitFor local.self
  497. wait 1.0
  498.  
  499. wait 2.0
  500.  
  501. local.self walkto $mworker01_node2
  502. waitFor local.self
  503. wait 1.0
  504.  
  505. local.self walkto $mworker01_node4
  506. waitFor local.self
  507. wait 1.0
  508.  
  509. wait 3.0
  510.  
  511. goto mworker01_loop
  512.  
  513. end
  514. //=======
  515.  
  516.  
  517. //=============
  518. mworker01_thread:
  519.  
  520. local.self definestate idle mworker01_idle
  521. local.self state idle
  522.  
  523. end
  524. //=======
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539. //===========
  540. mworker02_idle:
  541.  
  542. local.self anim idle
  543.  
  544. mworker02_loop:
  545.  
  546. local.self runto $mworker02_node1
  547. waitFor local.self
  548.  
  549. wait 0.1
  550.  
  551. local.self anim idle
  552.  
  553. goto mworker02_loop
  554.  
  555. end
  556. //=======
  557.  
  558.  
  559. //=============
  560. mworker02_thread:
  561.  
  562. local.self definestate idle mworker02_idle
  563. local.self state idle
  564.  
  565. end
  566. //=======
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582. //===========
  583. mworker03_idle:
  584.  
  585. local.self anim idle
  586.  
  587. mworker03_loop:
  588.  
  589. local.self walkto $mworker03_node1
  590. waitFor local.self
  591.  
  592. wait 3.0
  593.  
  594. local.self walkto $mworker03_node2
  595. waitFor local.self
  596. wait 0.1
  597.  
  598. local.self walkto $mworker03_node3
  599. waitFor local.self
  600.  
  601. wait 2.0
  602.  
  603. local.self walkto $mworker03_node2
  604. waitFor local.self
  605. wait 0.1
  606.  
  607. goto mworker03_loop
  608.  
  609. end
  610. //=======
  611.  
  612. //=============
  613. mworker03_thread:
  614.  
  615. local.self definestate idle mworker03_idle
  616. local.self state idle
  617.  
  618. end
  619. //=======
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634. //===========
  635. mworker04_idle:
  636.  
  637. local.self anim idle
  638.  
  639. mworker04_loop:
  640.  
  641. local.self walkto $mworker04_node1
  642. waitFor local.self
  643.  
  644. wait 1.0
  645.  
  646. local.self walkto $mworker04_node2
  647. waitFor local.self
  648.  
  649. wait 1.0
  650.  
  651. local.self walkto $mworker04_node3
  652. waitFor local.self
  653.  
  654. wait 1.0
  655.  
  656. local.self walkto $mworker04_node2
  657. waitFor local.self
  658.  
  659. wait 1.0
  660.  
  661. local.self walkto $mworker04_node4
  662. waitFor local.self
  663. wait 0.1
  664. local.self walkto $mworker04_node5
  665. waitFor local.self
  666. wait 0.1
  667. local.self walkto $mworker04_node6
  668. waitFor local.self
  669. wait 0.1
  670.  
  671. local.self walkto $mworker04_node4
  672. waitFor local.self
  673. wait 0.1
  674.  
  675. goto mworker04_loop
  676.  
  677. end
  678. //=======
  679.  
  680.  
  681. //=============
  682. mworker04_thread:
  683.  
  684. local.self definestate idle mworker04_idle
  685. local.self state idle
  686.  
  687. end
  688. //=======
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707. //===========
  708. mworker05_idle:
  709.  
  710. local.self anim idle
  711.  
  712. mworker05_loop:
  713.  
  714. local.self walkto $mworker05_node1
  715. waitFor local.self
  716.  
  717. wait 1.0
  718.  
  719. local.self walkto $mworker05_node2
  720. waitFor local.self
  721.  
  722. wait 3.0
  723.  
  724. local.self walkto $mworker05_node3
  725. waitFor local.self
  726.  
  727. wait 1.0
  728.  
  729. local.self walkto $mworker05_node2
  730. waitFor local.self
  731.  
  732. wait 2.0
  733.  
  734. local.self walkto $mworker05_node3
  735. waitFor local.self
  736.  
  737. wait 2.0
  738.  
  739. local.self walkto $mworker05_node4
  740. waitFor local.self
  741.  
  742. wait 2.0
  743.  
  744. local.self walkto $mworker05_node2
  745. waitFor local.self
  746.  
  747. wait 2.0
  748.  
  749. goto mworker05_loop
  750.  
  751. end
  752. //=======
  753.  
  754.  
  755. //=============
  756. mworker05_thread:
  757.  
  758. local.self definestate idle mworker05_idle
  759. local.self state idle
  760.  
  761. end
  762. //=======
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778. //===========
  779. mworker06_idle:
  780.  
  781. local.self anim idle
  782.  
  783. mworker06_loop:
  784.  
  785. local.self respondto pain
  786.  
  787. local.self runto $mworker06_node1
  788. waitFor local.self
  789.  
  790. wait 0.1
  791.  
  792. local.self anim idle
  793.  
  794. goto mworker06_loop
  795.  
  796. end
  797. //=======
  798.  
  799.  
  800. //=============
  801. mworker06_thread:
  802.  
  803. local.self definestate idle mworker06_idle
  804. local.self state idle
  805.  
  806. end
  807. //=======
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826. //===============
  827. yellowcard_thread:
  828.  
  829. $yellowcard_opened time 0.1
  830. $yellowcard_closed time 0.1
  831.  
  832. $yellowcard_opened hide
  833. $yellowcard_opened notsolid
  834.  
  835. $yellowcard_closed ontrigger open_yellowcard
  836. pause
  837.  
  838. open_yellowcard:
  839.  
  840. game.geo1_yellow_opened = 1
  841.  
  842. $yellowcard_opened show
  843. $yellowcard_opened solid
  844. $yellowcard_closed hide
  845. $yellowcard_closed notsolid
  846.  
  847. wait 0.1
  848.  
  849. end
  850. //================
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874. //======================
  875. lockerdoors_thread_init:
  876.  
  877. local.index = 1
  878.  
  879. lockerdoors_thread_init_loop:
  880.  
  881. parm.doorname string    "$locker_door"
  882. parm.doorname appendint local.index
  883.  
  884. thread lockerdoors_thread
  885.  
  886. local.index += 1
  887.  
  888. local.index iflessequal 3 goto lockerdoors_thread_init_loop
  889.  
  890. pause
  891. //=====================
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898. //==============
  899. lockerdoors_thread:
  900.  
  901. local.doorname string parm.doorname
  902.  
  903. local.doorname time 1.0
  904.  
  905. lockerdoors_thread_loop:
  906.  
  907. local.doorname onuse     open_lockerdoor
  908. local.doorname ontrigger open_lockerdoor
  909. pause
  910.  
  911. open_lockerdoor:
  912.  
  913. local.doorname nouse
  914. local.doorname notrigger
  915.  
  916. local.doorname phssound environment/doors/hatch/hatch.wav 1.0
  917. local.doorname rotateYdown 90
  918. waitFor local.doorname
  919.  
  920. wait 1.0
  921.  
  922. local.doorname onuse     close_lockerdoor
  923. local.doorname ontrigger close_lockerdoor
  924. pause
  925.  
  926. close_lockerdoor:
  927.  
  928. local.doorname nouse
  929. local.doorname notrigger
  930.  
  931. local.doorname phssound environment/doors/hatch/hatch.wav 1.0
  932. local.doorname rotateYup 90
  933. waitFor local.doorname
  934.  
  935. wait 1.0
  936.  
  937. goto lockerdoors_thread_loop
  938.  
  939. pause
  940. //================
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974. //======================
  975. seadoors_ew_thread_init:
  976.  
  977. local.index = 1
  978.  
  979. seadoors_ew_thread_init_loop:
  980.  
  981. parm.doorname    string    "$seadoor"
  982. parm.doorname    appendint local.index
  983. parm.doorname    append    "_ew_door"
  984. parm.nhandlename string    "$seadoor"
  985. parm.nhandlename appendint local.index
  986. parm.nhandlename append    "_ew_nhandle"
  987. parm.shandlename string    "$seadoor"
  988. parm.shandlename appendint local.index
  989. parm.shandlename append    "_ew_shandle"
  990. parm.portname    string    "$seadoor"
  991. parm.portname    appendint local.index
  992. parm.portname    append    "_ew_portal"
  993.  
  994. thread seadoors_ew_thread
  995.  
  996. local.index += 1
  997.  
  998. local.index iflessequal 1 goto seadoors_ew_thread_init_loop
  999.  
  1000. pause
  1001. //=====================
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008. //=================
  1009. seadoors_ew_thread:
  1010.  
  1011. local.doorname    string parm.doorname
  1012. local.nhandlename string parm.nhandlename
  1013. local.shandlename string parm.shandlename
  1014. local.portname    string parm.portname
  1015.  
  1016. local.doorname    time 1.0
  1017. local.nhandlename time 1.0
  1018. local.shandlename time 1.0
  1019.  
  1020. local.nhandlename bind local.doorname
  1021. local.shandlename bind local.doorname
  1022. wait 0.1
  1023.  
  1024. local.doorname    setdamage 20
  1025. local.nhandlename setdamage 20
  1026. local.shandlename setdamage 20
  1027.  
  1028. seadoors_ew_thread_loop:
  1029.  
  1030. local.portname close
  1031.  
  1032. local.nhandlename onuse set_seadoor_nangles
  1033. local.shandlename onuse set_seadoor_sangles
  1034. pause                                  
  1035.  
  1036. set_seadoor_nangles:
  1037.  
  1038. local.angle = -90
  1039. goto open_ew_seadoor
  1040.  
  1041. set_seadoor_sangles:
  1042.  
  1043. local.angle = 90
  1044.  
  1045. open_ew_seadoor:
  1046.  
  1047. local.nhandlename nouse
  1048. local.shandlename nouse
  1049. local.portname    open
  1050.  
  1051. local.nhandlename phssound environment/doors/metal/rtchtdr1.wav 1.0
  1052. local.nhandlename rotateXdown 360
  1053. local.shandlename rotateXdown 360
  1054. waitFor local.shandlename
  1055.  
  1056. wait 0.1
  1057.  
  1058. local.doorname phssound environment/doors/airlock/openlk3.wav 1.0
  1059. local.doorname rotateYdown local.angle
  1060. waitFor local.doorname
  1061.  
  1062. wait 3.0
  1063.  
  1064. local.doorname phssound environment/doors/airlock/airlock3.wav 1.0
  1065. local.doorname rotateYup local.angle
  1066. waitFor local.doorname
  1067.  
  1068. wait 0.1
  1069.  
  1070. local.nhandlename phssound environment/doors/metal/rtchtdr1.wav 1.0
  1071. local.nhandlename rotateXup 360
  1072. local.shandlename rotateXup 360
  1073. waitFor local.shandlename
  1074.  
  1075. wait 0.5
  1076.  
  1077. local.portname close
  1078.  
  1079. goto seadoors_ew_thread_loop
  1080.  
  1081. pause
  1082. //================
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105. //===================
  1106. computers_thread_init:
  1107.  
  1108. local.index = 1
  1109.  
  1110. computers_thread_init_loop:
  1111.  
  1112. parm.computername string    "$computer"
  1113. parm.computername appendint local.index
  1114. parm.index        =         local.index
  1115.  
  1116. local.index ifequal 1 parm.lightsname string "@FSOcomputer1exploder"
  1117. local.index ifequal 2 parm.lightsname string "@FSOunderovenlight"
  1118.  
  1119. thread computers_thread
  1120.  
  1121. local.index += 1
  1122.  
  1123. local.index iflessequal 2 goto computers_thread_init_loop
  1124.  
  1125. pause
  1126. //=====================
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133. //==============
  1134. computers_thread:
  1135.  
  1136. local.offtime = 0
  1137.  
  1138. local.computername string parm.computername
  1139. local.index        =      parm.index
  1140. local.valvename    string local.computername
  1141. local.valvename    append "_valve"
  1142. local.startsound   string local.computername
  1143. local.startsound   append "_starting"
  1144. local.runsound     string local.computername
  1145. local.runsound     append "_running"
  1146. local.stopsound    string local.computername
  1147. local.stopsound    append "_stopping"
  1148. local.valvesound   string local.computername
  1149. local.valvesound   append "_valve_sound"
  1150. local.hisssound    string local.computername
  1151. local.hisssound    append "_hiss_sound"
  1152. local.explodername string local.computername
  1153. local.explodername append "_exploder"
  1154. local.lightsname   string parm.lightsname
  1155.  
  1156. local.valvename time 2.0
  1157.  
  1158. computers_loop:
  1159.  
  1160. local.offtime = 0
  1161.  
  1162. local.computername ondamage explode_computer
  1163. local.valvename    onuse    shutdown_computer
  1164. pause
  1165.  
  1166. shutdown_computer:
  1167.  
  1168. local.valvename nouse
  1169.  
  1170. local.valvename phssound environment/valvetrn/v4lo.wav 1.0
  1171. local.valvename rotateZup 180
  1172. waitFor local.valvename
  1173.  
  1174. trigger local.valvesound
  1175. trigger local.hisssound
  1176.  
  1177. trigger local.runsound
  1178. trigger local.stopsound
  1179.  
  1180. shutdown_computer_subloop:
  1181.  
  1182. local.offtime += 1
  1183.  
  1184. local.valvename onuse restart_computer
  1185.  
  1186. wait 0.1
  1187.  
  1188. local.offtime ifless 30 goto shutdown_computer_subloop
  1189.  
  1190. explode_computer:
  1191.  
  1192. trigger local.explodername
  1193.  
  1194. local.lightsname damage 2000
  1195.  
  1196. local.valvename time 0.1
  1197.  
  1198. local.valvename rotateXup 10
  1199. waitFor local.valvename
  1200.  
  1201. local.computername hide
  1202. local.computername notsolid
  1203.  
  1204. goto computers_end
  1205.  
  1206. restart_computer:
  1207.  
  1208. local.valvename nouse
  1209.  
  1210. local.valvename phssound environment/valvetrn/v4lo.wav 1.0
  1211. local.valvename rotateZup 180
  1212. waitFor local.valvename
  1213.  
  1214. trigger local.runsound
  1215. trigger local.stopsound
  1216.  
  1217. trigger local.valvesound
  1218.  
  1219. goto computers_loop
  1220.  
  1221. computers_end:
  1222.  
  1223. end
  1224. //================
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241. //==============
  1242. computer3_thread:
  1243.  
  1244. $computer3 ondamage explode_computer3
  1245. pause
  1246.  
  1247. explode_computer3:
  1248.  
  1249. trigger local.runsound
  1250. trigger local.stopsound
  1251.  
  1252. trigger $computer3_exploder
  1253.  
  1254. $computer3 hide
  1255. $computer3 notsolid
  1256.  
  1257. goto computer3_loop
  1258.  
  1259. end
  1260. //================
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291. //==================
  1292. siphons_thread_init:
  1293.  
  1294. local.index = 1
  1295.  
  1296. siphons_thread_init_loop:
  1297.  
  1298. parm.siphonname string    "$siphon"
  1299. parm.siphonname appendint local.index
  1300. parm.index      =         local.index
  1301.  
  1302. thread siphons_thread
  1303.  
  1304. local.index += 1
  1305.  
  1306. local.index iflessequal 3 goto siphons_thread_init_loop
  1307.  
  1308. pause
  1309. //=====================
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316. //=============
  1317. siphons_thread:
  1318.  
  1319. local.siphonname     string parm.siphonname
  1320. local.index          =      parm.index
  1321. local.explodername   string local.siphonname
  1322. local.explodername   append "_exploder"
  1323. local.controllername string local.siphonname
  1324. local.controllername append "_controller"
  1325. local.siphonpole     string local.siphonname
  1326. local.siphonpole     append "_pole"
  1327.  
  1328. wait parm.index
  1329.  
  1330. siphons_thread_loop:
  1331.  
  1332. local.controllername ondamage destroy_siphon
  1333.  
  1334. wait 0.1
  1335.  
  1336. local.siphonname time 1.0
  1337.  
  1338. local.siphonname phssound environment/amb_machine/bncmb13.wav 1.0
  1339. local.siphonname moveDown 59
  1340. waitFor local.siphonname
  1341.  
  1342. wait 0.1
  1343.  
  1344. local.controllername ondamage destroy_siphon
  1345.  
  1346. wait 0.1
  1347.  
  1348. local.siphonname phssound environment/steam/steam2.wav 1.0
  1349. local.siphonname moveDown 59
  1350. waitFor local.siphonname
  1351.  
  1352. wait 1.0
  1353.  
  1354. local.controllername ondamage destroy_siphon
  1355.  
  1356. wait 0.1
  1357.  
  1358. local.siphonname time 2.0
  1359.  
  1360. local.siphonname phssound environment/amb_machine/bncmb13.wav 1.0
  1361. local.siphonname moveUp 59
  1362. waitFor local.siphonname
  1363.  
  1364. wait 0.1
  1365.  
  1366. local.controllername ondamage destroy_siphon
  1367.  
  1368. wait 0.1
  1369.  
  1370. local.siphonname phssound environment/steam/steam2.wav 1.0
  1371. local.siphonname moveUp 59
  1372. waitFor local.siphonname
  1373.  
  1374. wait 2.0
  1375.  
  1376. local.controllername ondamage destroy_siphon
  1377.  
  1378. wait 0.1
  1379.  
  1380. goto siphons_thread_loop
  1381.          
  1382. destroy_siphon:
  1383.  
  1384. local.controllername nodamage
  1385.  
  1386. trigger local.explodername
  1387.  
  1388. wait 1.0
  1389.  
  1390. local.siphonname time 0.1
  1391. local.siphonpole time 0.1
  1392.  
  1393. local.siphonname rotateZup 1
  1394. local.siphonname rotateXup 2
  1395. local.siphonpole rotateZup 1
  1396. local.siphonpole rotateXup 2
  1397. waitFor local.siphonname
  1398.  
  1399. local.controllername hide
  1400. local.controllername notsolid
  1401.  
  1402. local.siphonname rotateZup 1
  1403. local.siphonname rotateXup 2
  1404. local.siphonpole rotateZup 1
  1405. local.siphonpole rotateXup 2
  1406. waitFor local.siphonname
  1407.  
  1408. game.siphons_killed += 1
  1409.  
  1410. game.siphons_killed ifless 3 goto siphons_end
  1411.  
  1412. wait 0.1
  1413.  
  1414. $siphon_pipe1 time 0.1
  1415. $siphon_pipe2 time 0.1
  1416.  
  1417. //trigger $siphon_quake
  1418. trigger $siphon_controller_exploder
  1419.  
  1420. wait 0.1
  1421.  
  1422. $siphon_pipe1 rotateYup    8
  1423. $siphon_pipe1 rotateZdown  5
  1424. $siphon_pipe2 rotateXup    8
  1425. waitFor $siphon_pipe2
  1426.  
  1427. wait 0.1
  1428.  
  1429. trigger $tank_hotwater
  1430.  
  1431. $siphon_pipe1 time 0.5
  1432.  
  1433. $siphon_pipe1 rotateZdown  5
  1434. waitFor $siphon_pipe1
  1435.  
  1436. wait 0.1
  1437.  
  1438. siphons_end:
  1439.  
  1440. end
  1441. //================
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466. //==============
  1467. hotwater_thread:
  1468.  
  1469. local.timer = 0
  1470.  
  1471. $siphon_pipe_light lightstyle "a"
  1472. $siphon_pipe_light turnOn
  1473.  
  1474. $floor_hotwater_light lightstyle "a"
  1475. $floor_hotwater_light turnOff
  1476.  
  1477. $floor_hotwater time 0.1
  1478.  
  1479. $floor_hotwater moveDown 32
  1480. waitFor $floor_hotwater
  1481.  
  1482. $tank_hotwater  time 0.5
  1483. $floor_hotwater time 0.1
  1484.  
  1485. $tank_hotwater ontrigger lower_tank_hotwater
  1486. pause
  1487.  
  1488. lower_tank_hotwater:
  1489.  
  1490. game.hotwater_lowered = 1
  1491.  
  1492. hotwater_loop:
  1493.  
  1494. local.timer += 1
  1495.  
  1496. $tank_hotwater  moveDown 64
  1497. $floor_hotwater moveUp    4
  1498. waitFor $tank_hotwater
  1499.  
  1500. local.timer ifequal 1 $siphon_pipe_light    lightstyle "sszzszzsssssss"
  1501. local.timer ifequal 3 $floor_hotwater_light turnOn
  1502.  
  1503. local.timer ifless 8 goto hotwater_loop
  1504.  
  1505. end
  1506. //================
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554. //=========
  1555. oven_thread:
  1556.  
  1557. local.offtime = 0
  1558.  
  1559. $oven1            time 0.1
  1560. $oven2            time 0.5
  1561. $oven_floor1      time 0.1
  1562. $oven_floor2      time 0.5
  1563. $oven_floor3      time 0.1
  1564.  
  1565. oven_loop:
  1566.  
  1567. $oven_pipe_light lightstyle "z"
  1568. $oven_pipe_light turnOn
  1569.  
  1570. $oven_controller_light lightstyle "a"
  1571. $oven_controller_light turnOn
  1572.  
  1573. $oven_controller_panel ondamage blow_oven
  1574. pause
  1575.  
  1576. blow_oven:
  1577.  
  1578. trigger $oven_controller_running
  1579. trigger $oven_controller_stopping
  1580.  
  1581. trigger $oven_alarm
  1582.  
  1583. $oven_controller_panel nodamage
  1584.  
  1585. trigger $oven_controller_exploder
  1586.  
  1587. wait 1.0
  1588.  
  1589. //trigger $oven_quake
  1590.  
  1591. $oven_controller_panel hide
  1592. $oven_controller_panel notsolid
  1593.  
  1594. wait 0.1
  1595.  
  1596. trigger $oven_exploder
  1597.  
  1598. wait 1.0
  1599.  
  1600. $oven_controller_light lightstyle "azzaazzzazzzzaa"
  1601.  
  1602. wait 1.0
  1603.  
  1604. trigger $oven_floor_exploder
  1605.  
  1606. trigger $under_oven_light
  1607.  
  1608. $oven_floor1 rotateXup    5
  1609. $oven_floor1 moveDown     8
  1610. $oven_floor2 rotateXdown  5
  1611. $oven_floor3 hide
  1612. $oven_floor3 notsolid
  1613. $oven1       rotateXup    5
  1614. $oven1       rotateYup    5
  1615. $oven2       rotateXdown  5
  1616. $oven2       rotateYdown  5
  1617. $oven2       moveUp       2
  1618. waitFor $oven2
  1619.  
  1620. wait 0.5
  1621.  
  1622. $oven_floor1 rotateXup   10
  1623. $oven_floor1 moveDown    16
  1624. $oven_floor2 rotateXdown 20
  1625. $oven1       rotateXup   10
  1626. $oven1       rotateYup    5
  1627. $oven2       rotateXdown 10
  1628. $oven2       rotateYdown  5
  1629. $oven2       moveUp       6
  1630. waitFor $oven2
  1631.  
  1632. wait 1.0
  1633.  
  1634. $oven_pipe_light turnOn
  1635.  
  1636. $oven_floor1 rotateXup   20
  1637. $oven_floor1 moveDown     8
  1638. $oven_floor2 rotateXdown  5
  1639. $oven1       rotateXup    5
  1640. $oven1       rotateYup    5
  1641. $oven2       rotateXdown 10
  1642. $oven2       rotateYdown  5
  1643. $oven2       moveUp       8
  1644. waitFor $oven2
  1645.  
  1646. wait 0.1
  1647.  
  1648. end
  1649. //================
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658.  
  1659.  
  1660.  
  1661.  
  1662. //======================
  1663. under_oven_light_thread:
  1664.  
  1665. $under_oven_light moveUp 64
  1666. waitFor $under_oven_light
  1667.  
  1668. $under_oven_light ontrigger swing_under_oven_light
  1669. pause
  1670.  
  1671. swing_under_oven_light:
  1672.  
  1673. @FSOunderovenlight damage 2000
  1674.  
  1675. $under_oven_light time 1.0
  1676.  
  1677. $under_oven_light rotateXup 120
  1678. waitFor $under_oven_light
  1679.  
  1680. wait 0.1
  1681.  
  1682. $under_oven_light time 0.8
  1683.  
  1684. $under_oven_light rotateXdown 60
  1685. waitFor $under_oven_light
  1686.  
  1687. wait 0.1
  1688.  
  1689. $under_oven_light time 0.6
  1690.  
  1691. $under_oven_light rotateXup 40
  1692. waitFor $under_oven_light
  1693.  
  1694. wait 0.1
  1695.  
  1696. $under_oven_light time 0.6
  1697.  
  1698. $under_oven_light rotateXdown 20
  1699. waitFor $under_oven_light
  1700.  
  1701. wait 0.1
  1702.  
  1703. $under_oven_light time 0.4
  1704.  
  1705. under_oven_light_loop:
  1706.  
  1707. $under_oven_light rotateXup 10
  1708. waitFor $under_oven_light
  1709.  
  1710. wait 0.1
  1711.  
  1712. $under_oven_light rotateXdown 10
  1713. waitFor $under_oven_light
  1714.  
  1715. wait 0.1
  1716.  
  1717. goto under_oven_light_loop
  1718.  
  1719. pause
  1720. //================
  1721.  
  1722.  
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738.  
  1739.  
  1740. //========================
  1741. oven_alarm_thread:
  1742.  
  1743. $oven_alarm_lights  lightstyle "aaaaaabbbcdeflmnopwxyyyzzzzzzzzz"
  1744. $oven_alarm_lights  turnOff
  1745.  
  1746. oven_alarm_loop:
  1747.  
  1748. $oven_alarm ontrigger oven_alarm_on
  1749. pause
  1750.  
  1751. oven_alarm_on:
  1752.  
  1753. $oven_alarm notrigger
  1754.  
  1755. oven_alarm_on_loop:
  1756.  
  1757. $oven_alarm ontrigger oven_alarm_off
  1758.  
  1759. $oven_alarm_lights turnOn
  1760. $oven_alarm        phssound environment/alarm/bleat2.wav 1.0
  1761.  
  1762. wait 0.5
  1763.  
  1764. $oven_alarm ontrigger oven_alarm_off
  1765.  
  1766. $oven_alarm_lights turnOff
  1767.  
  1768. wait 0.5
  1769.  
  1770. $oven_alarm ontrigger oven_alarm_off
  1771.  
  1772. $oven_alarm_lights turnOff
  1773. $oven_alarm        phssound environment/alarm/bleat2.wav 1.0
  1774.  
  1775. wait 0.5
  1776.  
  1777. $oven_alarm ontrigger oven_alarm_off
  1778.  
  1779. $oven_alarm_lights turnOn
  1780.  
  1781. wait 0.5
  1782.  
  1783. $oven_alarm ontrigger oven_alarm_off
  1784.  
  1785. goto oven_alarm_on_loop
  1786.  
  1787. oven_alarm_off:
  1788.  
  1789. $oven_alarm notrigger
  1790.  
  1791. wait 1.0
  1792.  
  1793. $oven_alarm turnOff
  1794.  
  1795. wait 0.5
  1796.  
  1797. $oven_alarm stopsound
  1798.  
  1799. wait 0.1
  1800.  
  1801. goto oven_alarm_loop
  1802.  
  1803. pause
  1804. //================
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835. //=============
  1836. furnace_thread:
  1837.  
  1838. local.ConsoleObject string "%con_furnace"
  1839. local.ConsoleObject focus menu
  1840.  
  1841. $furnace             time 0.1
  1842. $furnace_fakewall    time 0.1
  1843. $furnace_pipe_piece1 time 0.1
  1844. $furnace_pipe_piece2 time 0.1
  1845. $furnace_lava1       time 0.1
  1846. $furnace_lava2       time 0.1
  1847. $furnace_lava3       time 0.1
  1848. $furnace_switch      time 0.1
  1849.  
  1850. $furnace_lava1 moveDown   32
  1851. $furnace_lava1 moveSouth 640
  1852. $furnace_lava2 moveDown   32
  1853. $furnace_lava2 moveSouth 640
  1854. $furnace_lava3 moveDown   32
  1855. $furnace_lava3 moveSouth 640
  1856. waitFor $furnace_lava3
  1857.  
  1858.  
  1859. furnace_loop:
  1860.  
  1861. local.offtime  = 20
  1862. local.coretemp = 217
  1863.  
  1864. $furnace_lava_light    lightstyle "a"
  1865. $furnace_lava_light    turnOff
  1866.  
  1867. $furnace_pipe_light    lightstyle "zr"
  1868. $furnace_pipe_light    turnOn
  1869.  
  1870. local.ConsoleObject conapplayout "jcx yb 96 fc 1 1 0 1 string \"Current Core: "
  1871. local.TempStr string ""
  1872. local.TempStr appendint local.coretemp
  1873. local.timer ifless  10 local.TempStr append " "
  1874. local.TempStr append " F"
  1875. local.ConsoleObject conapplayout local.TempStr
  1876. local.ConsoleObject conapplayout "\""
  1877.  
  1878. $furnace_switch onuse shutdown_furnace
  1879. pause
  1880.  
  1881. shutdown_furnace:
  1882.  
  1883. $furnace_switch nouse
  1884.  
  1885. $furnace_switch  rotateXdown  90
  1886. waitFor $furnace_switch
  1887.  
  1888. trigger $furnace_needle1
  1889. trigger $furnace_needle2
  1890. trigger $furnace_level1
  1891. trigger $furnace_level2
  1892.  
  1893. trigger $furnace_valve_sound
  1894. trigger $furnace_hiss_sound
  1895.  
  1896. wait 1.0
  1897.  
  1898. shutdown_furnace_subloop1:
  1899.  
  1900. local.offtime -= 1
  1901.  
  1902. $furnace_switch onuse restart_furnace
  1903.  
  1904. wait 1.0
  1905.  
  1906. local.ConsoleObject    conlayout "jcx yb 36 fc 1 1 0 1 string \"Geothermal Furnace Offline.\""
  1907. local.ConsoleObject conapplayout "jcx yb 12 fc 1 1 0 1 string \"Shutdown in "
  1908. local.TempStr string ""
  1909. local.TempStr appendint local.offtime
  1910. local.timer ifless  10 local.TempStr append " "
  1911. local.TempStr append "seconds."
  1912. local.ConsoleObject conapplayout local.TempStr
  1913. local.ConsoleObject conapplayout "\""
  1914.  
  1915. local.offtime ifequal 17 $furnace_alarm phssound environment/alarm/warning2.wav 1.0
  1916. local.offtime ifequal 13 $furnace_alarm phssound environment/alarm/warning2.wav 1.0
  1917.  
  1918. local.tempvar randomint 17
  1919. local.coretemp += local.tempvar
  1920.  
  1921. local.ConsoleObject conapplayout "jcx yb 96 fc 1 1 0 1 string \"Current Core: "
  1922. local.TempStr string ""
  1923. local.TempStr appendint local.coretemp
  1924. local.timer ifless  10 local.TempStr append " "
  1925. local.TempStr append " F"
  1926. local.ConsoleObject conapplayout local.TempStr
  1927. local.ConsoleObject conapplayout "\""
  1928.  
  1929. local.offtime ifgreater 10 goto shutdown_furnace_subloop1
  1930.  
  1931. skip_furnace_sub_loop1:
  1932.  
  1933. trigger $furnace_alarm
  1934.  
  1935. shutdown_furnace_subloop2:
  1936.  
  1937. local.offtime -= 1
  1938.  
  1939. $furnace_switch onuse restart_furnace_shut_off_alarm
  1940.  
  1941. local.tempvar randomint 7
  1942. local.coretemp += local.tempvar
  1943.  
  1944. local.ConsoleObject conlayout    "jcx yb 36 fc 1 0 0 1 bstring \"FURNACE CORE BREECHED.\""
  1945. local.ConsoleObject conapplayout "jcx yb 12 fc 1 0 0 1 bstring \"Meltdown in "
  1946. local.TempStr string ""
  1947. local.TempStr appendint local.offtime
  1948. local.timer ifless  10 local.TempStr append " "
  1949. local.TempStr append "seconds."
  1950. local.ConsoleObject conapplayout local.TempStr
  1951. local.ConsoleObject conapplayout "\""
  1952.  
  1953. local.ConsoleObject conapplayout "jcx yb 96 fc 1 1 0 1 string \"Current Core: "
  1954. local.TempStr string ""
  1955. local.TempStr appendint local.coretemp
  1956. local.timer ifless  10 local.TempStr append " "
  1957. local.TempStr append " F"
  1958. local.ConsoleObject conapplayout local.TempStr
  1959. local.ConsoleObject conapplayout "\""
  1960.  
  1961. wait 1.0
  1962.  
  1963. local.offtime ifgreater 0 goto shutdown_furnace_subloop2
  1964.  
  1965. local.coretemp = 451
  1966.  
  1967. trigger $furnace_panel2_exploder
  1968. trigger $furnace_needle1
  1969. trigger $furnace_needle2
  1970. trigger $furnace_level1
  1971. trigger $furnace_level2
  1972.  
  1973. wait 1.0
  1974.  
  1975. skip_furnace_sub_loop2:
  1976.  
  1977. wait 0.5
  1978.  
  1979. trigger $furnace_needle1
  1980. trigger $furnace_needle2
  1981. trigger $furnace_level1
  1982. trigger $furnace_level2
  1983.  
  1984. //trigger $furnace_panel1_quake
  1985.  
  1986. wait 1.0
  1987.  
  1988.      thread dialog::jc_tear_apart
  1989.      local.WaitingForThread = parm.previousthread
  1990.      waitForThread local.WaitingForThread
  1991.  
  1992. local.ConsoleObject conlayout "jcx yb 96 fc 1 1 0 1 string \"Current Core: "
  1993. local.TempStr string ""
  1994. local.TempStr appendint local.coretemp
  1995. local.timer ifless  10 local.TempStr append " "
  1996. local.TempStr append " F"
  1997. local.ConsoleObject conapplayout local.TempStr
  1998. local.ConsoleObject conapplayout "\""
  1999.  
  2000. thread furnace_pipe_piece1_thread
  2001. thread furnace_pipe_piece2_thread
  2002.  
  2003. trigger $furnace_alarm
  2004.  
  2005. thread furnace_lava1_flow_thread
  2006. thread furnace_lava2_flow_thread
  2007. thread furnace_lava3_flow_thread
  2008.  
  2009. $furnace_fakewall hide
  2010. $furnace_fakewall notsolid
  2011.  
  2012. $furnace rotateYdown  5
  2013. $furnace rotateXdown  3
  2014. $furnace moveDown     4
  2015. waitFor $furnace
  2016.  
  2017. game.geo2_furnace_blown = 1
  2018.  
  2019. trigger $manumit1
  2020.  
  2021. wait 0.1
  2022.  
  2023.      thread dialog::jc_remodelling
  2024.      local.WaitingForThread = parm.previousthread
  2025.      waitForThread local.WaitingForThread
  2026.  
  2027. end
  2028.  
  2029. restart_furnace_shut_off_alarm:
  2030.  
  2031. $furnace_switch nouse
  2032.  
  2033. trigger $furnace_alarm
  2034.  
  2035. wait 0.1
  2036.  
  2037. restart_furnace:
  2038.  
  2039. $furnace_switch nouse
  2040.  
  2041. wait 1.0
  2042.  
  2043. local.offtime = 0
  2044.  
  2045. $furnace_alarm stopsound
  2046.  
  2047. $furnace_switch  rotateXup    90
  2048. waitFor $furnace_switch
  2049.  
  2050. wait 0.1
  2051.  
  2052. trigger $furnace_needle1
  2053. trigger $furnace_needle2
  2054. trigger $furnace_level1
  2055. trigger $furnace_level2
  2056.  
  2057. trigger $furnace_valve_sound
  2058. trigger $furnace_hiss_sound
  2059.  
  2060. goto furnace_loop
  2061.  
  2062. end
  2063. //================
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075. //=========================
  2076. furnace_pipe_piece1_thread:
  2077.  
  2078. $furnace_pipe_piece1 time 0.5
  2079.  
  2080. $furnace_pipe_piece1 setdamage 10000
  2081.  
  2082. $furnace_pipe_piece1 moveNorth 128
  2083. $furnace_pipe_piece1 moveEast   32
  2084. $furnace_pipe_piece1 moveUp    128
  2085. $furnace_pipe_piece1 rotateZup 180
  2086. waitFor $furnace_pipe_piece1
  2087.  
  2088. wait 0.1
  2089.  
  2090. $furnace_pipe_piece1 moveNorth  64
  2091. $furnace_pipe_piece1 moveEast   32
  2092. $furnace_pipe_piece1 moveUp     64
  2093. $furnace_pipe_piece1 rotateZup  90
  2094. waitFor $furnace_pipe_piece1
  2095.  
  2096. wait 0.1
  2097.  
  2098. $furnace_pipe_piece1 moveNorth  32
  2099. $furnace_pipe_piece1 moveDown  128
  2100. $furnace_pipe_piece1 rotateZup  90
  2101. waitFor $furnace_pipe_piece1
  2102.  
  2103. wait 0.1
  2104.  
  2105. $furnace_pipe_piece1 time 0.3
  2106.  
  2107. $furnace_pipe_piece1 moveNorth   32
  2108. $furnace_pipe_piece1 moveDown   160
  2109. $furnace_pipe_piece1 rotateZup   90
  2110. waitFor $furnace_pipe_piece1
  2111.  
  2112. wait 0.1
  2113.  
  2114. $furnace_pipe_piece1 time 0.1
  2115.  
  2116. $furnace_pipe_piece1 moveUp     8
  2117. $furnace_pipe_piece1 rotateYup 10
  2118. waitFor $furnace_pipe_piece1
  2119.  
  2120. wait 0.1
  2121.  
  2122. $furnace_pipe_piece1 time 0.1
  2123.  
  2124. $furnace_pipe_piece1 moveDown   8
  2125. $furnace_pipe_piece1 rotateYup  5
  2126. waitFor $furnace_pipe_piece1
  2127.  
  2128. wait 8.0
  2129.  
  2130. $furnace_pipe_piece1 time 1.0
  2131.  
  2132. $furnace_pipe_piece1 moveNorth   32
  2133. $furnace_pipe_piece1 rotateYup    5
  2134. waitFor $furnace_pipe_piece1
  2135.  
  2136. wait 1.0
  2137.  
  2138. $furnace_pipe_piece1 moveNorth   64
  2139. $furnace_pipe_piece1 rotateYup   15
  2140. waitFor $furnace_pipe_piece1
  2141.  
  2142. wait 0.5
  2143.  
  2144. $furnace_pipe_piece1 moveNorth   32
  2145. $furnace_pipe_piece1 rotateYup    5
  2146. waitFor $furnace_pipe_piece1
  2147.  
  2148. wait 0.5
  2149.  
  2150. $furnace_pipe_piece1 time 0.5
  2151.  
  2152. $furnace_pipe_piece1 rotateYup 30
  2153. waitFor $furnace_pipe_piece1
  2154.  
  2155. wait 0.1
  2156.  
  2157. $furnace_pipe_piece1 rotateYup 30
  2158. $furnace_pipe_piece1 moveNorth 32
  2159. $furnace_pipe_piece1 moveWest  32
  2160. waitFor $furnace_pipe_piece1
  2161.  
  2162. wait 1.0
  2163.  
  2164.  
  2165. end
  2166. //=========
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181. //=========================
  2182. furnace_pipe_piece2_thread:
  2183.  
  2184. $furnace_pipe_piece2 time 0.1
  2185.  
  2186. $furnace_pipe_piece2 setdamage 10000
  2187.  
  2188. $furnace_pipe_piece2 rotateXdown 30
  2189. waitFor $furnace_pipe_piece2
  2190.  
  2191. wait 0.1
  2192.  
  2193. end
  2194. //=========
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214. //========================
  2215. furnace_lava1_flow_thread:
  2216.  
  2217. wait 0.5
  2218.  
  2219. local.offtime = 0
  2220.  
  2221. furnace_lava1_loop:
  2222.  
  2223. $furnace_lava1 time 1.0
  2224.  
  2225. $furnace_lava1 moveNorth 80
  2226. waitFor $furnace_lava1
  2227.  
  2228. $furnace_lava1 time 0.1
  2229.  
  2230. $furnace_lava1 moveUp     6
  2231. $furnace_lava1 moveNorth 10
  2232. waitFor $furnace_lava1
  2233.  
  2234. $furnace_lava1 time 1.0
  2235.  
  2236. $furnace_lava1 moveDown   2
  2237. $furnace_lava1 moveSouth 10
  2238. waitFor $furnace_lava1
  2239.  
  2240. local.offtime += 1
  2241.  
  2242. local.offtime ifless 8 goto furnace_lava1_loop
  2243.  
  2244. wait 1.0
  2245.  
  2246. furnace_lava1_gurgle:
  2247.  
  2248. $furnace_lava1 time 1.0
  2249.  
  2250. $furnace_lava1 moveUp     1
  2251. $furnace_lava1 moveNorth  4
  2252. waitFor $furnace_lava1
  2253.  
  2254. $furnace_lava1 time 2.0
  2255.  
  2256. $furnace_lava1 moveDown   1
  2257. $furnace_lava1 moveSouth  4
  2258. waitFor $furnace_lava1
  2259.  
  2260. wait 1.0
  2261.  
  2262. goto furnace_lava1_gurgle
  2263.  
  2264.  
  2265. end
  2266. //=========
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280. //========================
  2281. furnace_lava2_flow_thread:
  2282.  
  2283. wait 0.1
  2284.  
  2285. local.offtime = 0
  2286.  
  2287. furnace_lava2_loop:
  2288.  
  2289. $furnace_lava2 time 1.0
  2290.  
  2291. $furnace_lava2 moveNorth 80
  2292. waitFor $furnace_lava2
  2293.  
  2294. $furnace_lava2 time 0.1
  2295.  
  2296. $furnace_lava2 moveUp     8
  2297. $furnace_lava2 moveNorth 20
  2298. waitFor $furnace_lava2
  2299.  
  2300. $furnace_lava2 time 1.0
  2301.  
  2302. $furnace_lava2 moveDown   4
  2303. $furnace_lava2 moveSouth 20
  2304. waitFor $furnace_lava2
  2305.  
  2306. local.offtime += 1
  2307.  
  2308. local.offtime ifequal 1 @FSOfurnacenormal1  damage 2000
  2309. local.offtime ifequal 2 $furnace_lava_light turnOn
  2310.  
  2311. local.offtime ifless 8 goto furnace_lava2_loop
  2312.  
  2313. $furnace_pipe_light turnOff
  2314.  
  2315. wait 1.0
  2316.  
  2317.      thread dialog::jc_antibob
  2318.      local.WaitingForThread = parm.previousthread
  2319.      waitForThread local.WaitingForThread
  2320.  
  2321. furnace_lava2_gurgle:
  2322.  
  2323. $furnace_lava2 time 1.0
  2324.  
  2325. $furnace_lava2 moveUp     2
  2326. $furnace_lava2 moveNorth  4
  2327. waitFor $furnace_lava2
  2328.  
  2329. $furnace_lava2 time 2.0
  2330.  
  2331. $furnace_lava2 moveDown   2
  2332. $furnace_lava2 moveSouth  4
  2333. waitFor $furnace_lava2
  2334.  
  2335. wait 1.5
  2336.  
  2337. goto furnace_lava2_gurgle
  2338.  
  2339. end
  2340. //=========
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.  
  2349.  
  2350. //========================
  2351. furnace_lava3_flow_thread:
  2352.  
  2353. wait 0.5
  2354.  
  2355. local.offtime = 0
  2356.  
  2357. furnace_lava3_loop:
  2358.  
  2359. $furnace_lava3 time 1.0
  2360.  
  2361. $furnace_lava3 moveNorth 80
  2362. waitFor $furnace_lava3
  2363.  
  2364. $furnace_lava3 time 0.1
  2365.  
  2366. $furnace_lava3 moveUp     6
  2367. $furnace_lava3 moveNorth 10
  2368. waitFor $furnace_lava3
  2369.  
  2370. $furnace_lava3 time 1.0
  2371.  
  2372. $furnace_lava3 moveDown   2
  2373. $furnace_lava3 moveSouth 10
  2374. waitFor $furnace_lava3
  2375.  
  2376. local.offtime += 1
  2377.  
  2378. local.offtime ifless 8 goto furnace_lava3_loop
  2379.  
  2380. wait 1.0
  2381.  
  2382. furnace_lava3_gurgle:
  2383.  
  2384. $furnace_lava3 time 1.0
  2385.  
  2386. $furnace_lava3 moveUp     1
  2387. $furnace_lava3 moveNorth  2
  2388. waitFor $furnace_lava3
  2389.  
  2390. $furnace_lava3 time 2.0
  2391.  
  2392. $furnace_lava3 moveDown   1
  2393. $furnace_lava3 moveSouth  2
  2394. waitFor $furnace_lava3
  2395.  
  2396. wait 1.0
  2397.  
  2398. goto furnace_lava3_gurgle
  2399.  
  2400. end
  2401. //=========
  2402.  
  2403.  
  2404.  
  2405.  
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419. //===================
  2420. furnace_alarm_thread:
  2421.  
  2422. $furnace_alarm_lights  lightstyle "aaaaaabbbcdeflmnopwxyyyzzzzzzzzz"
  2423. $furnace_alarm_lights  turnOff
  2424.  
  2425. furnace_alarm_loop:
  2426.  
  2427. $furnace_alarm ontrigger furnace_alarm_on
  2428. pause
  2429.  
  2430. furnace_alarm_on:
  2431.  
  2432. $furnace_alarm notrigger
  2433.  
  2434. furnace_alarm_on_loop:
  2435.  
  2436. $furnace_alarm ontrigger furnace_alarm_off
  2437.  
  2438. $furnace_alarm_lights turnOn
  2439. $furnace_alarm        phssound environment/alarm/bleat2.wav 1.0
  2440.  
  2441. wait 0.5
  2442.  
  2443. $furnace_alarm ontrigger furnace_alarm_off
  2444.  
  2445. $furnace_alarm_lights turnOff
  2446.  
  2447. wait 0.5
  2448.  
  2449. $furnace_alarm ontrigger furnace_alarm_off
  2450.  
  2451. $furnace_alarm_lights turnOff
  2452. $furnace_alarm        phssound environment/alarm/bleat2.wav 1.0
  2453.  
  2454. wait 0.5
  2455.  
  2456. $furnace_alarm ontrigger furnace_alarm_off
  2457.  
  2458. $furnace_alarm_lights turnOn
  2459.  
  2460. wait 0.5
  2461.  
  2462. $furnace_alarm ontrigger furnace_alarm_off
  2463.  
  2464. goto furnace_alarm_on_loop
  2465.  
  2466. furnace_alarm_off:
  2467.  
  2468. $furnace_alarm notrigger
  2469.  
  2470. wait 1.0
  2471.  
  2472. $furnace_alarm turnOff
  2473. $furnace_alarm stopsound
  2474.  
  2475. wait 0.1
  2476.  
  2477. goto furnace_alarm_loop
  2478.  
  2479. pause
  2480. //================
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496. //=====================
  2497. furnace_needle1_thread:
  2498.  
  2499. $furnace_needle1 time 0.5
  2500.  
  2501. furnace_needle1_loop:
  2502.  
  2503. $furnace_needle1 ontrigger stop_furnace_needle1
  2504.  
  2505. $furnace_needle1 time 0.5
  2506.  
  2507. $furnace_needle1 rotateZdownto 260
  2508. waitFor $furnace_needle1
  2509.  
  2510. wait 0.1
  2511.  
  2512. $furnace_needle1 ontrigger stop_furnace_needle1
  2513.  
  2514. $furnace_needle1 time 1.0
  2515.  
  2516. $furnace_needle1 rotateZupto 270
  2517. waitFor $furnace_needle1
  2518.  
  2519. wait 0.1
  2520.  
  2521. goto furnace_needle1_loop
  2522.  
  2523. stop_furnace_needle1:
  2524.  
  2525. $furnace_needle1 notrigger
  2526.  
  2527. $furnace_needle1 time 1.0
  2528.  
  2529. $furnace_needle1 rotateZupto 10
  2530. waitFor $furnace_needle1
  2531.  
  2532. wait 0.1
  2533.  
  2534. $furnace_needle1 ontrigger furnace_needle1_loop
  2535. pause
  2536.  
  2537. end
  2538. //================
  2539.  
  2540.  
  2541.  
  2542.  
  2543.  
  2544.  
  2545.  
  2546.  
  2547.  
  2548.  
  2549. //=====================
  2550. furnace_needle2_thread:
  2551.  
  2552. $furnace_needle2 time 0.5
  2553.  
  2554. furnace_needle2_loop:
  2555.  
  2556. $furnace_needle2 ontrigger stop_furnace_needle2
  2557.  
  2558. $furnace_needle2 time 0.7
  2559.  
  2560. $furnace_needle2 rotateZdownto 240
  2561. waitFor $furnace_needle2
  2562.  
  2563. wait 0.1
  2564.  
  2565. $furnace_needle2 ontrigger stop_furnace_needle2
  2566.  
  2567. $furnace_needle2 time 1.5
  2568.  
  2569. $furnace_needle2 rotateZupto 280
  2570. waitFor $furnace_needle2
  2571.  
  2572. wait 0.1
  2573.  
  2574. goto furnace_needle2_loop
  2575.  
  2576. stop_furnace_needle2:
  2577.  
  2578. $furnace_needle2 notrigger
  2579.  
  2580. $furnace_needle2 time 2.0
  2581.  
  2582. $furnace_needle2 rotateZupto 10
  2583. waitFor $furnace_needle2
  2584.  
  2585. wait 0.1
  2586.  
  2587. $furnace_needle2 ontrigger furnace_needle2_loop
  2588. pause
  2589.  
  2590. end
  2591. //================
  2592.  
  2593.  
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616. //=====================
  2617. furnace_level1_thread:
  2618.  
  2619. $furnace_level1 moveto $furnace_level1_start
  2620. waitFor $furnace_level1
  2621.  
  2622. furnace_level1_loop:
  2623.  
  2624. $furnace_level1 ontrigger stop_furnace_level1
  2625.  
  2626. $furnace_level1 time 0.5
  2627.  
  2628. $furnace_level1 moveto $furnace_level1_peek1
  2629. waitFor $furnace_level1
  2630.  
  2631. wait 0.1
  2632.  
  2633. $furnace_level1 time 0.2
  2634.  
  2635. $furnace_level1 moveto $furnace_level1_peek2
  2636. waitFor $furnace_level1
  2637.  
  2638. wait 0.1
  2639.  
  2640. goto furnace_level1_loop
  2641.  
  2642. stop_furnace_level1:
  2643.  
  2644. $furnace_level1 notrigger
  2645.  
  2646. $furnace_level1 time 2.0
  2647.  
  2648. $furnace_level1 moveto $furnace_level1_start
  2649. waitFor $furnace_level1
  2650.  
  2651. wait 0.1
  2652.  
  2653. $furnace_level1 ontrigger furnace_level1_loop
  2654. pause
  2655. //================
  2656.  
  2657.  
  2658.  
  2659.  
  2660.  
  2661.  
  2662.  
  2663.  
  2664.  
  2665.  
  2666. //=====================
  2667. furnace_level2_thread:
  2668.  
  2669. $furnace_level2 moveto $furnace_level2_start
  2670. waitFor $furnace_level2
  2671.  
  2672. furnace_level2_loop:
  2673.  
  2674. $furnace_level2 ontrigger stop_furnace_level2
  2675.  
  2676. $furnace_level2 time 1.0
  2677.  
  2678. $furnace_level2 moveto $furnace_level2_peek1
  2679. waitFor $furnace_level2
  2680.  
  2681. wait 0.1
  2682.  
  2683. $furnace_level2 time 0.2
  2684.  
  2685. $furnace_level2 moveto $furnace_level2_peek2
  2686. waitFor $furnace_level2
  2687.  
  2688. wait 0.1
  2689.  
  2690. goto furnace_level2_loop
  2691.  
  2692. stop_furnace_level2:
  2693.  
  2694. $furnace_level2 notrigger
  2695.  
  2696. $furnace_level2 time 1.0
  2697.  
  2698. $furnace_level2 moveto $furnace_level2_start
  2699. waitFor $furnace_level2
  2700.  
  2701. wait 0.1
  2702.  
  2703. $furnace_level2 ontrigger furnace_level2_loop
  2704. pause
  2705. //================
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.  
  2712.  
  2713.  
  2714.  
  2715.  
  2716.  
  2717.  
  2718.  
  2719.  
  2720.  
  2721.  
  2722.  
  2723.  
  2724.  
  2725.  
  2726.  
  2727.  
  2728.  
  2729.  
  2730.  
  2731. //======================
  2732. bigdoors_ns_thread_init:
  2733.  
  2734. local.index = 1
  2735.  
  2736. bigdoors_ns_thread_init_loop:
  2737.  
  2738. parm.doornname  string    "$bigdoor"
  2739. parm.doornname  appendint local.index
  2740. parm.doornname  append    "n"
  2741. parm.doorsname  string    "$bigdoor"
  2742. parm.doorsname  appendint local.index
  2743. parm.doorsname  append    "s"
  2744. parm.portname   string    "$bigdoor"
  2745. parm.portname   appendint local.index
  2746. parm.portname   append    "n_port"
  2747.  
  2748. thread bigdoors_ns_thread
  2749.  
  2750. local.index += 1
  2751.  
  2752. local.index iflessequal 1 goto bigdoors_ns_thread_init_loop
  2753.  
  2754. pause
  2755. //=====================
  2756.  
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  
  2762. //=================
  2763. bigdoors_ns_thread:
  2764.  
  2765. local.doornname string parm.doornname
  2766. local.doorsname string parm.doorsname
  2767. local.portname  string parm.portname
  2768.  
  2769. local.doornname time 5.0
  2770. local.doorsname time 5.0
  2771. local.portname  time 0.1
  2772.  
  2773. bigdoors_ns_thread_loop:
  2774.  
  2775. local.portname close
  2776.  
  2777. local.doornname onuse open_bigdoor_ns
  2778. local.doorsname onuse open_bigdoor_ns
  2779. pause
  2780.  
  2781. open_bigdoor_ns:
  2782.  
  2783. local.doornname nouse
  2784. local.doorsname nouse
  2785. local.portname  open
  2786.  
  2787. local.doornname phssound environment/doors/bigdoor.wav 1.0
  2788. local.doornname moveNorth 80
  2789. local.doorsname moveSouth 80
  2790. waitFor local.doornname
  2791.  
  2792. wait 3.0
  2793.  
  2794. local.doornname phssound environment/doors/bigdoor.wav 1.0
  2795. local.doornname moveSouth 80
  2796. local.doorsname moveNorth 80
  2797. waitFor local.doornname
  2798.  
  2799. wait 1.0
  2800.  
  2801. goto bigdoors_ns_thread_loop
  2802.  
  2803. pause
  2804. //================
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823. //======================
  2824. bigdoors_ew_thread_init:
  2825.  
  2826. local.index = 1
  2827.  
  2828. bigdoors_ew_thread_init_loop:
  2829.  
  2830. parm.doorename  string    "$bigdoor"
  2831. parm.doorename  appendint local.index
  2832. parm.doorename  append    "e"
  2833. parm.doorwname  string    "$bigdoor"
  2834. parm.doorwname  appendint local.index
  2835. parm.doorwname  append    "w"
  2836. parm.portname   string    "$bigdoor"
  2837. parm.portname   appendint local.index
  2838. parm.portname   append    "e_port"
  2839.  
  2840. thread bigdoors_ew_thread
  2841.  
  2842. local.index += 1
  2843.  
  2844. local.index iflessequal 1 goto bigdoors_ew_thread_init_loop
  2845.  
  2846. pause
  2847. //=====================
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854. //=================
  2855. bigdoors_ew_thread:
  2856.  
  2857. local.doorename string parm.doorename
  2858. local.doorwname string parm.doorwname
  2859. local.portname  string parm.portname
  2860.  
  2861. local.doorename time 5.0
  2862. local.doorwname time 5.0
  2863. local.portname  time 0.1
  2864.  
  2865. bigdoors_ew_thread_loop:
  2866.  
  2867. local.portname close
  2868.  
  2869. local.doorename ontrigger open_bigdoor_ew
  2870. local.doorwname ontrigger open_bigdoor_ew
  2871. pause
  2872.  
  2873. open_bigdoor_ew:
  2874.  
  2875. local.doorename notrigger
  2876. local.doorwname nouse
  2877. local.portname  open
  2878.  
  2879. local.doorename phssound environment/doors/bigdoor.wav 1.0
  2880. local.doorename moveEast 80
  2881. local.doorwname moveWest 80
  2882. waitFor local.doorename
  2883.  
  2884. wait 3.0
  2885.  
  2886. local.doorename phssound environment/doors/bigdoor.wav 1.0
  2887. local.doorename moveWest 80
  2888. local.doorwname moveEast 80
  2889. waitFor local.doorename
  2890.  
  2891. wait 1.0
  2892.  
  2893. goto bigdoors_ew_thread_loop
  2894.  
  2895. pause
  2896. //================
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.                   
  2911.                   
  2912.  
  2913.  
  2914.  
  2915.  
  2916.  
  2917.  
  2918.  
  2919.  
  2920.  
  2921.  
  2922.  
  2923.  
  2924. /===========
  2925. qtip_thread:
  2926.  
  2927. $qtip1 time 20.0
  2928. $qtip2 time 10.0
  2929.  
  2930. qtip_loop:
  2931.  
  2932. $qtip1 rotateYup   360
  2933. $qtip2 rotateYdown 360
  2934. waitFor $qtip2
  2935. $qtip1 stopsound
  2936.  
  2937. $qtip1 time 12.0
  2938. $qtip2 time  6.0
  2939.  
  2940. $qtip1 rotateYdown 360
  2941. $qtip2 rotateYup   360
  2942. waitFor $qtip2
  2943. $qtip1 stopsound
  2944.  
  2945.  
  2946. goto qtip_loop
  2947.  
  2948. pause
  2949. /====
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.  
  2970. //===============
  2971. elevator2_thread:
  2972.  
  2973. $elevator2       time 2.5
  2974. $elevator2_gate2 time 0.5
  2975.  
  2976. $elevator2_switch bind $elevator2
  2977.  
  2978. elevator2_loop:
  2979.  
  2980. waitForPlayer
  2981.  
  2982. wait 0.1
  2983.  
  2984. $elevator2 phssound environment/elevator/lvtrgd.wav 1.0
  2985. $elevator2 moveDown 320
  2986. waitFor $elevator2
  2987. $elevator2 phssound environment/elevator/elev1end.wav 1.0
  2988.  
  2989. wait 1.0
  2990.  
  2991. $elevator2_gate2 phssound environment/machine/smlmach/smmch1.wav 1.0
  2992. $elevator2_gate2 moveWest 112
  2993. waitFor $elevator2_gate2
  2994. $elevator2_gate2 phssound environment/machine/smlmach/smmchstp1.wav 1.0
  2995.  
  2996. wait 1.0
  2997.  
  2998. $elevator2_switch onuse elevator2_up
  2999. pause
  3000.  
  3001. elevator2_up:
  3002.  
  3003. $elevator2_switch nouse
  3004.  
  3005. $elevator2_gate2 phssound environment/machine/smlmach/smmch1.wav 1.0
  3006. $elevator2_gate2 moveEast 112
  3007. waitFor $elevator2_gate2
  3008. $elevator2_gate2 phssound environment/machine/smlmach/smmchstp1.wav 1.0
  3009.  
  3010. wait 1.0
  3011.  
  3012. $elevator2 phssound environment/elevator/lvtrgd.wav 1.0
  3013. $elevator2 moveUp 320
  3014. waitFor $elevator2
  3015. $elevator2 phssound environment/elevator/elev1end.wav 1.0
  3016.  
  3017. wait 0.1
  3018.  
  3019. thread exiting_to_geo1_elevator
  3020.  
  3021. wait 16.0
  3022.  
  3023. goto elevator2_loop
  3024.  
  3025. pause
  3026. /=================
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.  
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040. //========================
  3041. located_siphon_controlroom:
  3042.  
  3043. game.geo2_PObjective1 = 1
  3044.  
  3045. thread global/universal_script.scr::PObjectiveComplete
  3046.  
  3047. thread MissionComputer
  3048. thread global/universal_script.scr::StatusUpdated
  3049. local.WaitingForThread = parm.previousthread
  3050. waitForThread local.WaitingForThread
  3051.  
  3052. end
  3053. //======
  3054.  
  3055.  
  3056.  
  3057.  
  3058.  
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065. //=============
  3066. MissionComputer:
  3067.  
  3068. %missioncon conlayout "jcx yv 76 fc 0.6 0.6 1 1 string \"Geothermal Substation\""
  3069. %missioncon conapplayout "xv -120 yv 60 fc 0.4 0.4 0.8 1 string \"Primary Objective(s):\""
  3070.  
  3071. game.geo2_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 \" Locate Siphon Control Room.\""
  3072.  
  3073. game.geo2_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 \" Locate Siphon Control Room.\""
  3074.  
  3075. game.geo2_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 \" Locate Siphon Control Room.\""
  3076.  
  3077. game.geo2_PObjective1 ifequal 3 %missioncon conapplayout "xv -116 yv 48 fc 0.2 0.2 0.2 1 string \" ----------------------------\""
  3078.  
  3079. %missioncon conapplayout "xv -120 yv -16 fc 0.4 0.4 0.8 1 string \"Secondary Objective(s):\""
  3080. game.geo2_SObjective1 ifequal 0 %missioncon conapplayout "xv -118 yv -28 spicn b_blank 0.5 0.5 xv -116 yv -28 fc 0.7 0.7 0.7 1 string \" None.\""
  3081.  
  3082. game.geo2_SObjective1 ifequal 1 %missioncon conapplayout "xv -118 yv -28 spicn b_checked 0.5 0.5 xv -116 yv -28 fc 0.2 0.2 0.2 1 string \" None.\""
  3083.  
  3084. game.geo2_SObjective1 ifequal 2 %missioncon conapplayout "xv -118 yv -28 spicn b_notchecked 0.5 0.5 xv -116 yv -28 fc 0.2 0.2 0.2 1 string \" None.\""
  3085.  
  3086. game.geo2_SObjective1 ifequal 3 %missioncon conapplayout "xv -116 yv -28 fc 0.2 0.2 0.2 1 string \" ----------------------------\""
  3087.  
  3088. end
  3089. //=======
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.  
  3100.  
  3101. //======================
  3102. exiting_to_geo1_elevator:
  3103.  
  3104. level.exiting_to_geo1_lava = 0
  3105.  
  3106. game.geo2_PObjective1 ifequal 0 game.geo2_PObjective1 = 2
  3107.  
  3108. thread LevelComplete
  3109.  
  3110. map geo1$start2
  3111.  
  3112. end
  3113. /======
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125. //==================
  3126. exiting_to_geo1_lava:
  3127.  
  3128. level.exiting_to_geo1_lava = 1
  3129.  
  3130. game.geo2_PObjective1 ifequal 0 game.geo2_PObjective1 = 2
  3131.  
  3132. thread LevelComplete
  3133.  
  3134. end
  3135. /======
  3136.  
  3137.  
  3138.  
  3139.  
  3140.  
  3141.  
  3142.  
  3143.  
  3144.  
  3145.  
  3146.  
  3147.  
  3148.  
  3149.  
  3150. //===========
  3151. LevelComplete:
  3152.  
  3153. thread global/universal_script.scr::ClearInventory
  3154.  
  3155. // Set up the Primary Objectives
  3156. local.IMString string "oxl 2 oyt -32 fc 0.53 0.53 0.83 1 string \"Primary Objective(s):\""
  3157.  
  3158. game.geo2_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 \" Locate Siphon Control Room.\""
  3159.  
  3160. game.geo2_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 \" Locate Siphon Control Room.\""
  3161.  
  3162. // Send over the information that Scott needs to load the proper intermission
  3163.  
  3164. loadintermission "layouts/im_layouts/geo2_to_geo1"
  3165. intermissionlayout local.IMString
  3166.  
  3167. wait 5.0
  3168.  
  3169. waitForPlayer
  3170.  
  3171. game.geo1_yellow_opened ifequal 1 *1 item YellowCard 1
  3172. game.geo1_yellow_opened ifequal 1 $yellowcard_closed hide
  3173. game.geo1_yellow_opened ifequal 1 $yellowcard_closed notsolid
  3174. game.geo1_yellow_opened ifequal 1 $yellowcard_opened show
  3175. game.geo1_yellow_opened ifequal 1 $yellowcard_opened solid
  3176.  
  3177. game.geo2_PObjective1 ifequal 2 game.geo2_PObjective1 = 0
  3178.  
  3179. end
  3180. //=======
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.  
  3191.  
  3192.  
  3193.  
  3194.  
  3195.  
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.  
  3203. //======
  3204. precache:
  3205.  
  3206. cachesound impact/crates/crate3.wav
  3207. cachesound vehicle/helicopt/flyloop.wav
  3208. cachesound environment/cabinet/glasscab/latch12.wav
  3209. cachesound environment/levelsnds/bank/rvlv001.wav
  3210. cachesound impact/glass/glassbrk/mix1.wav
  3211. cachesound misc/bell.wav
  3212. cachesound environment/cabinet/drawer/cab11.wav
  3213. cachesound environment/cabinet/drawer/cab12.wav
  3214. cachesound environment/levelsnds/bank/bankdoo2.wav
  3215. cachesound impact/metal/drm2.wav
  3216. cachesound environment/doors/metal/mtldoor1.wav
  3217. cachesound misc/civmale/panic3.wav
  3218. cachesound misc/civmale/beg1.wav
  3219. cachesound environment/doors/door1cls.wav
  3220. cachesound environment/doors/door1opn.wav
  3221. cachesound environment/computer/beeps/cmpbp1.wav
  3222. cachesound environment/computer/beeps/reject1.wav
  3223.  
  3224. end
  3225. //======
  3226.