Outhere

Blade Runner ULTIMATE Pro_1.04 - DOF

Apr 17th, 2021 (edited)
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 284.89 KB | None | 0 0
  1. ' *********************************************************************
  2. ' ** **
  3. ' ** BLADE RUNNER **
  4. ' ** **
  5. ' ** by SLAMT1LT **
  6. ' ** **
  7. ' *********************************************************************
  8.  
  9. ' ** NO OTHER VERSIONS PLEASE, THIS IS A FUTURE PINBALL EXCLUSIVE GAME **
  10. ' ** FUTURE PINBALL MODS ARE PERMITTED **
  11.  
  12. ' Very Basic DOF added by Outhere ON 4/21/2021 --- DOFLinx Not Needed
  13.  
  14. ' DOF SETUP
  15. ' ---------
  16.  
  17. '101 - Flipper Left
  18. '102 - Flipper Right
  19. '103 - Slingshot Left
  20. '104 - Slingshot Right
  21. '105 - Bumper Back Left
  22. '106 - Bumper Back Right
  23. '107 - Bumper Back Center
  24. '108 - Put Ball in Plunger Line (Ball Release)
  25. '109 - Auto Fire
  26. '110 - Right Ramp Diver
  27. '111 - Drop Target Reset
  28. '112 - Right Kicker
  29.  
  30.  
  31. ' ** ULTIMATE Pro 1.04 **
  32.  
  33. ' fixed 'continue game' qualifying value set too high
  34. ' fixed Snake Pit Mystery not always showing awards on DMD
  35. ' fixed Sebastian win not playing movie clip
  36. ' added more quotes
  37. ' edited and improved some quotes
  38. ' New Rule: Activating the Spinner 4 times plays out a sequence from Blade Runner 2049
  39. ' added more Joi Companion functionality
  40. ' Shop upgrades can now be stacked, purchased items are marked as 'sold'
  41. ' added more movie clips
  42. ' added more music
  43. ' Rule Change: Ramp Saver now only activates once per ball.  Unlimted use if Joi active.
  44. ' added 'Buzz Off' to Snake Pit Mystery as a null award
  45. ' fixed range drop targets not resetting if active when ball drains
  46. ' adjusted some score values
  47. ' improved some lighting sequences
  48. ' added new dynamic flipper settings to fix 'ball-through-flipper' bug
  49. ' added HUD toggle to special 1 key
  50.  
  51.  
  52. ' ** ULTIMATE Pro 1.03 **
  53.  
  54. ' fixed some movie clips freezing on last frame
  55. ' adjusted price of items in upgrade shop
  56. ' fixed 2nd DMD on backglass not showing all information
  57. ' added more movie clips
  58. ' improved Joi companion funtionality
  59. ' New Rule: hitting the right scoop 3 times when not lit will send the ball into the bumpers
  60. ' New Rule: making a late Super Ramp shot as the Spinner is landing awards a Landing Bonus
  61. ' fixed some upgrade shop adjustments not carrying over to next game
  62. ' improved 'money spinner' feature and inceased values
  63.  
  64.  
  65. ' ** ULTIMATE Pro 1.02 **
  66.  
  67. ' fixed ball sticking on launch ramp
  68. ' fixed Leon Kill flag not resetting for each new game
  69. ' fixed 2 music tracks playing at the same time when Spinner moving
  70. ' fixed some quotes not playing
  71. ' improved Racheal mission
  72. ' added more sound fx, quotes and music tracks
  73. ' added more movie clips
  74. ' added more blimp ad animations to back wall LCD
  75. ' adjusted score value needed for 'Continue Game'
  76. ' improved some lighting effects
  77. ' added colour-changing LEDs
  78. ' added Joi Companion from Blade Runner 2049
  79. ' added option to change balls per game during attract sequence
  80. ' fixed Skill Shot activating for ball save
  81. ' minor improvements to physics
  82.  
  83.  
  84. ' MISSIONS
  85. ' --------
  86.  
  87. ' Hit the right NEW CASE targets to spin the mission wheel. When it stops and highlights a character, the
  88. ' main sccop will light to start that mission.
  89.  
  90. ' Shoot the scoop or the left ramp to start the next mission (the left ramp shot will divert the ball into the scoop).
  91.  
  92.  
  93. ' RETIREMENT MISSIONS
  94. ' -------------------
  95.  
  96. ' Only the retirement missions have 2 stages - the hunt and the kill.
  97.  
  98. ' Leon
  99. ' ----
  100.  
  101. ' Stage 1 (Hunt) - Give Leon the test.
  102.  
  103. ' Leon: Stage 1 (Hunt) - Shoot the left loop and hit the flashing rollover lane to activate the elevator. This will
  104. ' announce Leon as the next subject and take him up to the 1st floor for testing.
  105. ' Leon: Stage 2 (Kill) - Fight Leon then kill him
  106.  
  107. ' Zhora: Stage 1 (Hunt) - Use the photo analysis machine to find her
  108. ' Zhora: Stage 2 (Kill) - Fight and kill her
  109.  
  110. ' Pris: Stage 1 (Hunt) - Pris wins over Sebastian
  111. ' Pris: Stage 2 (Kill) - Fight and kill her
  112.  
  113. ' Batty: Fight and then watch him die
  114.  
  115.  
  116. ' CHARACTER MISSIONS
  117. ' ------------------
  118.  
  119. ' Tyrell
  120. ' ------
  121.  
  122. ' Roy meets Tyrell.
  123.  
  124. ' Shot 1: Shoot the left loop and light both rollever lanes to light the elevator and meet with Tyrell.
  125. ' Shot 2,3,4,5: Shoot either ramp to discuss 'longevity' with Dr Tyrell.
  126. ' Shot 6: Shoot the left loop into the bumpers and get a certain amount of hits to kill Tyrell.
  127.  
  128.  
  129. ' J.F. Sebastian
  130. ' --------------
  131.  
  132. ' Roy and Pris convince Sebastian to help them.
  133.  
  134. ' Shot 1,2,3,4: Shoot the centre loop (in either direction).
  135. ' Shot 5,6: Shoot the left loop to access the elevator and speak with Tryell to access his penthouse.
  136.  
  137.  
  138. ' Chew
  139. ' ----
  140.  
  141. ' Roy and Leon visit Chew at his eye shop.
  142.  
  143. ' Shot 1: Shoot the left ramp.
  144. ' Shot 2: Shoot the right ramp.
  145. ' Shot 3: Shoot the center loop.
  146. ' Shot 4: Shoot the left lane target.
  147. ' Shot 5: Shoot any lit shot (all of them are lit).
  148.  
  149.  
  150. ' Rachael
  151. ' -------
  152.  
  153. ' Test Racheal to deterine she's a replicant.
  154.  
  155. ' All Shots: Shoot the left lane target until the mode is complete.
  156.  
  157.  
  158. ' Gaff
  159. ' ----
  160.  
  161. ' Take Deckard to Police HQ.
  162.  
  163. ' Shot 1: Shoot the centre loop.
  164. ' Shot 2: Shoot the centre target to start the spinner.
  165. ' Shot 3: Shoot the left ramp.
  166.  
  167.  
  168. ' SPINNER
  169. ' -------
  170.  
  171. ' activate the spinner by shooting the left and right stand up targets, then the centre target, then the
  172. ' centre lane.
  173.  
  174. ' this will activate the Super Ramps for a limited time.
  175.  
  176.  
  177. ' FIRING RANGE
  178. ' ------------
  179.  
  180. ' complete G-U-N to raise the drop targets. When the first drop target is hit, a timer will start. Knock
  181. ' down all the targets before the timer runs out to advance to the next objective, the Voigt-Kampff test.
  182.  
  183.  
  184. ' VOIGT-KAMPFF TEST
  185. ' -----------------
  186.  
  187. ' complete G-U-N again to raise the drop targets. Same rules as above. When sucessfully completed, advance
  188. ' to the next objevtive - the Photo.
  189.  
  190.  
  191. ' PHOTO ANALYSYS
  192. ' --------------
  193.  
  194. ' same as firing range and voigt-kampff, but ends with an extra ball win.
  195.  
  196.  
  197. ' when firing, vk and photo are completed, the inner wheel will spin and award a random value.
  198.  
  199.  
  200. ' TYRELL CORPORATION
  201. ' ------------------
  202.  
  203. ' make a centre lane loop to light the Tyrell light at the left lane. The ball will be diverted into the top
  204. ' rollover lanes. Light both lanes to activate the elevator at the scoop.
  205.  
  206. ' When the ball lands in the scoop, the elevator will take you 1 floor up. Make it to Tyrell's penthouse to
  207. ' win the extra ball.
  208.  
  209.  
  210. ' SUPER BUMPERS
  211. ' -------------
  212.  
  213. ' hit the bumpers 30 times to activate Super Bumpers. The bumpers will score 10x their normal value for a limited
  214. ' time.
  215.  
  216. ' hit the Super Bumpers 25 times to activate the playfield score multiplier.
  217.  
  218.  
  219. ' THE SNAKE PIT MYSTERY
  220. ' ---------------------
  221.  
  222. ' Shoot the single right stand up target 8 times to light mystery at the right scoop. Shoot the scoop to collect
  223. ' the mystery award.
  224.  
  225.  
  226. ' NEXUS 6
  227. ' -------
  228.  
  229. ' complete the in and out lanes - MORE HUMAN THAN HUMAN - to light the Nexus 6 inserts on both in lanes for a limited
  230. ' time. Get the ball into these lanes to activate the ball saver (MORE LIFE) for a limited time.
  231.  
  232.  
  233. ' LANE TARGET
  234. ' -----------
  235.  
  236. ' shooting the left lane target when the drop targets are down, increases the value of the drop targets when hit.
  237.  
  238.  
  239. ' LEFT RAMP
  240. ' ---------
  241.  
  242. ' Collect Super Ramp value.
  243.  
  244.  
  245. ' RIGHT RAMP
  246. ' ----------
  247.  
  248. ' Collect Super Ramp value.
  249.  
  250.  
  251. ' CENTRE LOOP
  252. ' -----------
  253.  
  254. ' Shooting the centre loop will increase the Super Ramp value.
  255.  
  256.  
  257. ' SKILL SHOT
  258. ' ----------
  259.  
  260. ' make any of the flashing shot from lauch to collect the Skill Shot value.
  261.  
  262.  
  263. ' COMBO
  264. ' -----
  265.  
  266. ' make a ramp or centre lane shot immediatly after any ramp shot to collect the combo value.
  267.  
  268.  
  269. ' UPGRADE SHOP
  270. ' ------------
  271.  
  272. ' At the end of each game, upgrades can by purchased using the money collected during the game. These upgrades
  273. ' will be active for the next game.
  274.  
  275.  
  276.  
  277. Option Explicit
  278.  
  279. '/////////////////////// iCOM BAM PLUG-IN - USE COM OBJECTS ////////////////////////////
  280.  
  281. ' The iCOM plug-in for BAM must be installed and enabled in the BAM Plug-ins menu!
  282.  
  283. ' This will allow programs such as DOF, Pinup Player, and more to work directly with Future Pinball.
  284.  
  285. Dim icom : Set icom = xBAM.Get("icom") ' "icom" is name of "icom.dll" in BAM\Plugins dir
  286.  
  287. Function CreateObject(className)
  288. Set CreateObject = icom.CreateObject(className)
  289. End Function
  290.  
  291. '///////////////////////////////////////////////////////////////////////////////////////
  292.  
  293.  
  294. '//////////////////////// DOF: STARTUP & CONTROL SECTION /////////////////////////////
  295.  
  296. ' This is used for the startup and control of DOF (Direct Output Framework)
  297.  
  298. Dim useDOF: useDOF = false
  299. Dim DOFStatus:DofStatus=false
  300. Dim DOFObject
  301. Dim cGamename
  302.  
  303. Sub DOFStart(DOFProfile) 'Start DOF Session
  304. if DofStatus=true then Exit Sub
  305. if useDOF=true Then
  306. Set DOFObject = CreateObject("DirectOutput.ComObject")
  307. If DOFObject is Nothing Then
  308. AddDebugText "DOF is not installed or detected"
  309. useDOF=false
  310. DofStatus=false
  311. else
  312. DOFObject.Init "B2SServer","",DOFProfile
  313. DOFStatus=true
  314. AddDebugText "Start DOF"
  315. end if
  316. End if
  317. end sub
  318.  
  319. Sub DOFClose() 'PinEvent - Close out DOF session. Add this to FuturePinball_EndPlay()
  320. if DOFStatus=false then Exit Sub
  321. DOFStatus=false
  322. DOFObject.Finish()
  323. Set DOFObject=nothing
  324. end sub
  325.  
  326. Sub dof(dID,dValue)
  327. if DOFStatus=false then Exit Sub
  328. if dValue=0 Then DOFObject.UpdateNamedTableElement "E"&dID,0
  329. if dValue=1 Then DOFObject.UpdateNamedTableElement "E"&dID,1
  330. if dValue=2 Then
  331. DOFObject.UpdateNamedTableElement "E"&dID,1
  332. DOFObject.UpdateNamedTableElement "E"&dID,0
  333. End If
  334. end Sub
  335.  
  336. ' Usage: dof(dID,dValue)
  337.  
  338. ' dID = DOF Exxx trigger
  339. ' dValue = trigger action. 0 = off, 1 = on, 2 = pulse
  340.  
  341. ' Example:
  342.  
  343. ' dof 103,1
  344.  
  345. ' The above example will trigger DOF event E103 as ON
  346.  
  347.  
  348. '///////////////////////////////////////////////////////////////////////////////////////
  349.  
  350.  
  351. '////////////// START DOF ////////////////
  352.  
  353. useDOF = true ' enable DOF
  354. cGamename = "fp_blade_runner_ult_pro" ' name of this table's DOF Config as listed on the "DOF Config Tool" web site
  355. DOFStart(cGamename) ' check for DOF - If found, then start DOF Session
  356.  
  357. '/////////////////////////////////////////
  358.  
  359. xBAM.CreateAllExt
  360.  
  361.  
  362. '=============================== PHYSICS XML ===========================
  363. '<?xml version="1.0" encoding="utf-8"?>
  364. '<document>
  365. ' <!—Custom Physics for BLADERUNNER -->
  366. ' <physics fps="296" threaded="1"></physics>
  367. ' <ball newtonDamping="0" mass="75" gravity="6800" damping="0.65"></ball>
  368. ' <flipper releaseOmega="18" rotationSpeedChart="{0.0,100.0}[0.0,100.0]" newtonDamping="1" mass="20150" omega="43" moeMethod="0"
  369. ' leftXoff="0" leftYoff="0" leftZoff="0"
  370. ' rightXoff="0" rightYoff="0" rightZoff="0"></flipper>
  371. ' <bumper impulse="90.0" impulseRandomness="0" vectorRandomness="6"></bumper>
  372. ' <autoplunger mass="20000.0" force="60000.0"></autoplunger>
  373. ' <diverter mass="10000.0" omega="33.0"></diverter>
  374. ' <gate mass="0.010" gravity="100" damping="0.25"></gate>
  375. ' <kicker impulse="1000.0" vukImpulse="1400.0" impulseRandomness="2" vectorRandomness="1"></kicker>
  376. ' <plunger mass="20000.0" force="30000.0"></plunger>
  377. ' <slingshot impulse="650.0" impulseRandomness="15" vectorRandomness="3"></slingshot>
  378. ' <spindisk mass="10000.0" angularDamp="0.33" linearDamp="0.25"></spindisk>
  379. ' <spinner mass="50000.0" gravity="9800.0" angularDamp="0.5" angularAccel="5.25"
  380. ' spinDampLoose="0.30" spinBackLoose="0.90"
  381. ' spinDampNorm="0.40" spinBackNorm="0.65"
  382. ' spinDampTight="0.70" spinBackTight="0.65"></spinner>
  383. ' <emkicker mass="10000.0" omega="80.0"></emkicker>
  384. ' <varitarget mass="500.0" damping="0.9" tension="3.0" return="15.0"></varitarget>
  385. ' <magnet impulse="10.0" impulseRandomness="2"></magnet>
  386. ' <nudge impulse="240.0" impulseRandomness="25.0" warningLevel="300" leftAngle="60" upAngle="0" rightAngle="320"
  387. ' vectorRandomness="5" visualDistance="3" waitPeriod="300" maxBallVelocity="500.0"></nudge>
  388. ' <defaultMat softnessCoef="0.03" elasticCoef="0.1" staticFriction="0.01" kineticFriction="0.02"></defaultMat>
  389. ' <playfieldMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.01" kineticFriction="0.02"></playfieldMat>
  390. ' <metalMat softnessCoef="0.01" elasticCoef="0.15" staticFriction="0.02" kineticFriction="0.02"></metalMat>
  391. ' <woodMat softnessCoef="0.03" elasticCoef="0.15" staticFriction="0.03" kineticFriction="0.02"></woodMat>
  392. ' <plasticMat softnessCoef="0.02" elasticCoef="0.2" staticFriction="0.02" kineticFriction="0.01"></plasticMat>
  393. ' <rubberHardMat softnessCoef="0.08" elasticCoef="0.50" staticFriction="0.04" kineticFriction="0.055"></rubberHardMat>
  394. ' <rubberIntMat softnessCoef="0.1" elasticCoef="0.72" staticFriction="0.05" kineticFriction="0.065"></rubberIntMat>
  395. ' <rubberSoftMat softnessCoef="0.12" elasticCoef="0.90" staticFriction="0.06" kineticFriction="0.075"></rubberSoftMat>
  396. ' <gateMat softnessCoef="0.05" elasticCoef="0.65" staticFriction="0" kineticFriction="0"></gateMat>
  397. ' <kickerMat softnessCoef="0.01" elasticCoef="0.05" staticFriction="0.8" kineticFriction="0.8"></kickerMat>
  398. ' <rampMat softnessCoef="0.01" elasticCoef="0.01" staticFriction="0.01" kineticFriction="0.01"></rampMat>
  399. ' <plungerMat softnessCoef="0.04" elasticCoef="0.55" staticFriction="0.02" kineticFriction="0.02"></plungerMat>
  400. ' <spindiskMat softnessCoef="0.05" elasticCoef="0.5" staticFriction="1.5" kineticFriction="2"></spindiskMat>
  401. '</document>
  402. '=============================== PHYSICS XML ===========================
  403.  
  404.  
  405.  
  406. ' === Ball Rolling FX ===
  407.  
  408. ExecuteGlobal LoadExternalScript ("ZBRrollingballsoundslib.vbs")
  409.  
  410. ZRBrampHeight = 40
  411. ZRBtablewide = 516
  412.  
  413. ZRBsoundballchan = 8
  414. ZRBvolNormLevel = 0.30
  415.  
  416. ZRBrampSoundballchan = -1
  417. ZRBrampVolNormLevel = 0.40
  418.  
  419.  
  420. ' ADD A TIMER...RollingBallUpdateTimer
  421. ' ADD CODE FOR FX....InitTrakedSoundBalls(), AddTrackedBall(PlungerKicker), DeleteTrackedBall(Drain)
  422. ' ADD CODE (TEXTURE SWAP).....xBAM.SetPlayfieldTexture "potc pf2"
  423.  
  424.  
  425. ' === Dynamic Flipper Settings ===
  426.  
  427. Const BAM_VERSION = 0
  428. AddDebugText BAM_VERSION
  429.  
  430.  
  431. Sub BAM_Init()
  432. If BAM_VERSION < 233 then Exit Sub
  433. xBAM.ShadowMap "leftslingshotbulb1", 1000 , 1 , 2.5, 2, 5, 0.5, 0
  434. xBAM.ShadowMap "leftslingshotbulb2", 1000 , 1 , 2.5, 1, 3, 0.5, 0
  435. xBAM.ShadowMap "rightslingshotbulb1", 1000 , 1 , 2.5, 1, 5, 0.5, 0
  436. xBAM.ShadowMap "rightslingshotbulb2", 1000 , 1 , 2.5, 1, 3, 0.5, 0
  437. End Sub
  438.  
  439.  
  440. If BAM_VERSION => 233 then
  441. Dim RightFlipperExt,LeftFlipperExt
  442. Dim omegaCorrectionR
  443. Dim omegaCorrectionL
  444. xBAM.BallSpeedLimit = 3000
  445. End If
  446.  
  447.  
  448. Sub SetLightsParamsInBAM()
  449. xBAM.Lights.EnableNewRenderer = TRUE
  450. xBAM.Lights.MainLightLock = TRUE
  451. ' --- SetMainLightPosition not used because MainLightLock = FALSE
  452. ' xBAM.Lights.SetMainLightPosition 0, 650, 500
  453. xBAM.Lights.SetMainLightProperties 1, 0.3, 1, 0.075
  454. xBAM.Lights.SetMainLightAttenuation 1, 0, 0
  455. xBAM.Lights.SetOtherLightsAttenuation 0.066, 0, 0.333
  456. xBAM.Lights.EnablePostprocessing = FALSE
  457. xBAM.Lights.SetPostprocessing 1, 0, 1, 1
  458. xBAM.Lights.SetPostprocessingForNewRenderer 1, 0, 1, 1, 2.2, 1, 1, 1, 0.2
  459. ' xBAM.Lights.BallReflection = 1
  460. ' xBAM.Lights.BallShininess = 80
  461. xBAM.Lights.BallSpecular = 0.4
  462. End Sub
  463.  
  464.  
  465. SetLightsParamsInBAM()
  466.  
  467.  
  468. Sub OnPreHitFlipperSettings(FlipperExt)
  469. If BAM_VERSION < 233 then Exit Sub
  470. OnPreHitFlipperSettings_bounceControl(FlipperExt)
  471. End Sub
  472.  
  473.  
  474. If BAM_VERSION => 233 then
  475. const MaxOmega = 45 ' Omega at base of flipper. Must be > MinOmega. Default = 45
  476. const MinOmega = 32 ' Omega at tip of flipper. Must be < MaxOmega. Default = 32
  477. End If
  478.  
  479.  
  480. Sub RightFlipper_prehit()
  481. If BAM_VERSION < 233 then Exit Sub
  482. OnPreHitFlipperSettings(RightFlipperExt)
  483. omegaCorrectionR = MaxOmega - (RightFlipperExt.ContactPoint * ((MaxOmega - MinOmega)/1.2))
  484. If RightFlipperExt.ContactPoint < 0.0 then RightFlipperExt.Omega = MaxOmega
  485. If RightFlipperExt.ContactPoint > 1.2 then RightFlipperExt.Omega = MinOmega
  486. If (RightFlipperExt.ContactPoint => 0.0) And (RightFlipperExt.ContactPoint =< 1.2) then
  487. RightFlipperExt.Omega = omegaCorrectionR
  488. End if
  489. End Sub
  490.  
  491.  
  492. Sub LeftFlipper_prehit()
  493. If BAM_VERSION < 233 then Exit Sub
  494. OnPreHitFlipperSettings(LeftFlipperExt)
  495. omegaCorrectionL = MaxOmega - (LeftFlipperExt.ContactPoint * ((MaxOmega - MinOmega)/1.2))
  496. If LeftFlipperExt.ContactPoint < 0.0 then LeftFlipperExt.Omega = MaxOmega
  497. If LeftFlipperExt.ContactPoint > 1.2 then LeftFlipperExt.Omega = MinOmega
  498. If (LeftFlipperExt.ContactPoint => 0.0) And (LeftFlipperExt.ContactPoint =< 1.2) then
  499. LeftFlipperExt.Omega = omegaCorrectionL
  500. End if
  501. End Sub
  502.  
  503.  
  504. ' Thanks George! ; ) I went with NEW VALUE 12
  505.  
  506.  
  507. ' $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  508.  
  509. ' Note: This table corrects an issue where the ball sinks through the flippers when one or more balls are cradled during game
  510. ' play. This fix is easy to apply to other tables as follows: 1) Copy the old and new values lists below and paste them in the
  511. ' script of a new table. 2) Change leftYoff and rightYoff in the flipper section in the "PHYSICS XML" from 1500 to 0. This will make
  512. ' all 6 of the parameters for leftXoff, leftYoff, leftZoff, rightXoff, rightYoff and rightZoff so they are set to 0. The XML is
  513. ' usually located in the script of most newer tables although on older tables it is a separate file saved with the same name as
  514. ' the table. 3) Find the bounce control values that are currently used in the "PARAMETERS TO TWEAK" section below in the
  515. ' "OLD VALUES" list and convert to the comparable values posted in the "NEW VALUES" list. If the values were used from "Group 4"
  516. ' in the old list, find the "Group 4" values in the new list and enter them into the "PARAMETERS TO TWEAK" section below. If the
  517. ' XML is in the script, the changes must be saved and the Future Pinball editor must be closed before you play the table to test
  518. ' the changes. The changes you made to the XML will not take effect until you save.
  519.  
  520. ' OLD VALUES
  521. ' (where values in the "PHYSICS XML" where leftYoff equals 1500 and rightYoff equals 1500)
  522. ' Suggested values from low bounce on the left to high bounce on the right
  523. ' Group: 1 2 3 4 5 6 7 8 9 10 11 12
  524. ' base_elasticCoef 0.84 0.86 0.88 0.89 0.91 0.93 0.95 0.97 0.99 1.01 1.03 1.04
  525. ' expected_ball_speed_after_hit 280.00 300.00 320.00 340.00 360.00 380.00 400.00 420.00 440.00 460.00 480.00 500.00
  526. ' minimum_elasticCoef_to_scale_fast_balls 0.09 0.11 0.13 0.14 0.16 0.18 0.20 0.22 0.24 0.26 0.28 0.29
  527. ' reduction_for_flipper_in_motion 0.19 0.18 0.18 0.17 0.16 0.16 0.15 0.14 0.14 0.13 0.13 0.12
  528.  
  529. ' NEW VALUES
  530. ' (where values in the "PHYSICS XML" where leftYoff equals 0 and rightYoff equals 0)
  531. ' Suggested values from low bounce on the left to high bounce on the right
  532. ' Group: 1 2 3 4 5 6 7 8 9 10 11 12
  533. ' base_elasticCoef 0.55 0.57 0.59 0.60 0.62 0.64 0.66 0.68 0.70 0.71 0.73 0.75
  534. ' expected_ball_speed_after_hit 146.00 170.00 195.00 219.00 243.00 267.00 292.00 316.00 340.00 365.00 389.00 413.00
  535. ' minimum_elasticCoef_to_scale_fast_balls 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.09 0.10 0.11
  536. ' reduction_for_flipper_in_motion 0.23 0.22 0.21 0.20 0.19 0.19 0.18 0.17 0.16 0.16 0.15 0.14
  537.  
  538.  
  539. ' $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  540.  
  541.  
  542. Sub OnPreHitFlipperSettings_bounceControl(FlipperExt)
  543. If BAM_VERSION < 233 then Exit Sub
  544. ' PARAMETERS TO TWEAK
  545. const base_elasticCoef = 0.73 ' very bouncy flipper rubber
  546. const expected_ball_speed_after_hit = 389.00 ' calc elasticCoef to get desired ball speed after ball hit flipper
  547. const minimum_elasticCoef_to_scale_fast_balls = 0.10 ' we will add this to calculated elastiCoef, so ball after hit will have aditional 5% of speed before hit
  548. const reduction_for_flipper_in_motion = 0.15 ' if flipper is not in starting point, reduce elasticCoef by 20%
  549.  
  550. If FlipperExt.Hit Then
  551. Dim elasticCoef
  552. Dim maxElasticCoef
  553. Dim ballSpeed
  554. ballSpeed = (FlipperExt.BallVSpeed + xBAM.Ball.Speed) * 0.5 ' averge speed of
  555.  
  556. maxElasticCoef = base_elasticCoef
  557. If FlipperExt.AngleDiff > 1 Then maxElasticCoef = maxElasticCoef - reduction_for_flipper_in_motion
  558.  
  559. elasticCoef = base_elasticCoef
  560. If ballSpeed > 1 Then elasticCoef = expected_ball_speed_after_hit / ballSpeed
  561. elasticCoef = elasticCoef + minimum_elasticCoef_to_scale_fast_balls
  562.  
  563. If elasticCoef > maxElasticCoef Then elasticCoef = maxElasticCoef
  564.  
  565. FlipperExt.SetMaterial elasticCoef
  566. End If
  567. End Sub
  568.  
  569.  
  570. ' === End of Dynamic Flipper Settings ===
  571.  
  572.  
  573.  
  574.  
  575. ' what this do?
  576. ' - it makes the Spinnner Toy a bit more shiney, like metal (or wet fibreglass as the movie prop was...probably)
  577.  
  578. '[BAM] !texture = !SpinText-ColorMap
  579. '[BAM] !normalMap = !SpinText-NormalMap
  580. '[BAM] !shininess = 55.00
  581. '[BAM] !specularLevel = 10.4
  582. '[BAM] !specularBalance = 0.01
  583. '[BAM] !normalMapScale = 1.0
  584.  
  585.  
  586. '[BAM] !texture = !BumperOff
  587. '[BAM] !shininess = 55.00
  588. '[BAM] !specularLevel = 10.4
  589. '[BAM] !specularBalance = 0.01
  590. '[BAM] !normalMapScale = 1.0
  591.  
  592.  
  593.  
  594.  
  595. Const constMaxPlayers = 1 ' Deckard doesn't have a partner....one player only
  596. Const constBallSaverTime = 5000
  597. Const constMaxMultiplier = 6
  598.  
  599.  
  600. Dim PlayersPlayingGame
  601. Dim CurrentPlayer
  602. Dim BonusPoints(4)
  603. Dim BonusMultiplier(4)
  604. Dim BallsRemaining(4)
  605. Dim ExtraBallsAwards(4)
  606.  
  607. Dim LastSwitchHit
  608. Dim BallsOnPlayfield
  609. Dim BallsInLock
  610.  
  611. Dim bOnTheFirstBall
  612. Dim bBallInPlungerLane
  613. Dim bBallSaverActive
  614. Dim bMultiBallMode
  615. Dim bEnteringAHighScore
  616. Dim TempL1
  617. Dim IgnoreHit
  618. Dim BF
  619. Dim PlayAtt
  620. Dim SSActive
  621. Dim MagnetActive
  622. Dim QuoteBusy
  623. Dim TrackPlayed
  624. Dim TiltCheck
  625. Dim ShootingMode
  626. Dim LeonMode
  627. Dim ZhoraMode
  628. Dim PrisMode
  629. Dim TyrellMode
  630. Dim SebastianMode
  631. Dim ChewMode
  632. Dim RachaelMode
  633. Dim GaffMode
  634. Dim ReHit
  635. Dim MysterySpin
  636. Dim Spin
  637. Dim TempM1
  638. Dim TempM2
  639. Dim TempM3
  640. Dim TempM4
  641. Dim TempM5
  642. Dim TempM6
  643. Dim TempM7
  644. Dim TempM8
  645. Dim ModeActive
  646. Dim Photo
  647. Dim VK
  648. Dim TempGun
  649. Dim BattyMode
  650. Dim Purge
  651. Dim SnakeHit
  652. Dim Upgrade
  653. Dim BuyIn
  654. Dim BuyInActive
  655. Dim ShopActive
  656. Dim Floor
  657. Dim BumpHit
  658. Dim Time
  659. Dim SebastianHit
  660. Dim GaffHit
  661. Dim PrisHit
  662. Dim RachaelHit
  663. Dim TempS1
  664. Dim ZhoraHit
  665. Dim BSTime
  666. Dim RampValue
  667. Dim JPValue
  668. Dim RampHit
  669. Dim RangeValue
  670. Dim RangeComp
  671. Dim SSValue
  672. Dim TyrellHit
  673. Dim ChewHit
  674. Dim KillLeon
  675. Dim LeonHit
  676. Dim PFScore
  677. Dim PhotoMode
  678. Dim VKMode
  679. Dim BattyHit
  680. Dim VKValue
  681. Dim RangeTime
  682. Dim PhotoValue
  683. Dim AdjPhotoValue
  684. Dim AdjRangeValue
  685. Dim AdjVKValue
  686. Dim AdjRampValue
  687. Dim AdjSRTime
  688. Dim AdjSnakeHit
  689. Dim MissionHit
  690. Dim AdjMissionHit
  691. Dim Ass
  692. Dim BattyReady
  693. Dim SuperSpin
  694. Dim Combo
  695. Dim ComboVal
  696. Dim SuperRamps
  697. Dim SRTime,TopBR
  698. Dim Batty,SnakePlay
  699. Dim BumpVal,AdjBumpVal,AdjRangeTime
  700. Dim FadeTime,LBPlay,HSReset
  701. Dim Item1,Item2,Item3,Item4,Item5
  702. Dim Item6,Item7,Item8, Item9,Item10
  703. Dim ExitShop,SeeHUD
  704.  
  705.  
  706.  
  707. DMD.AddFont 1, "dmd05x05p"
  708. DMD.AddFont 2, "dmd06x07p"
  709. DMD.AddFont 3, "dmd08x09p"
  710. DMD.AddFont 4, "dmd08x13p"
  711. DMD.AddFont 5, "dmd09x11po"
  712. DMD.AddFont 6, "dmd09x15po"
  713. DMD.AddFont 7, "dmd06x05p"
  714.  
  715. DMD2.AddFont 1, "dmd05x05p"
  716. DMD2.AddFont 2, "dmd06x07p"
  717. DMD2.AddFont 3, "dmd08x09p"
  718. DMD2.AddFont 4, "dmd08x13p"
  719. DMD2.AddFont 5, "dmd09x11po"
  720. DMD2.AddFont 6, "dmd09x15po"
  721. DMD2.AddFont 7, "dmd06x05p"
  722.  
  723.  
  724. Function RandomNumber(ByVal max)
  725. RandomNumber = Int(max * Rnd + 1)
  726. End function
  727.  
  728.  
  729.  
  730.  
  731. Function FormatScore(num)
  732. Dim n, f, s
  733. n = CStr(num)
  734. f = ""
  735.  
  736. do while len(n)>3
  737. if len(f)>0 then
  738. f = Right(n, 3) & "," & f
  739. else
  740. f = Right(n, 3)
  741. end if
  742. n = Left(n, Len(n)-3)
  743. loop
  744. if len(n)>0 then
  745. if len(f) > 0 then
  746. f = n & "," & f
  747. else
  748. f = n
  749. end if
  750. end if
  751. FormatScore = f
  752. End Function
  753.  
  754.  
  755.  
  756. nvBallsPerGame = 3 ' 3 to 5 balls only (change with flippers during attract sequence)
  757.  
  758.  
  759. ' *********************************************************************
  760. ' ** **
  761. ' ** Future Pinball Defined Script Events **
  762. ' ** **
  763. ' *********************************************************************
  764.  
  765.  
  766.  
  767.  
  768. Sub FuturePinball_BeginPlay()
  769. Randomize
  770.  
  771. set LastSwitchHit = LeftInLaneTrigger
  772.  
  773. bOnTheFirstBall = FALSE
  774. bEnteringAHighScore = FALSE
  775. RangeTime = 20000
  776. RangeValue = 300
  777. RampValue = 200
  778. VKValue = 500
  779. PhotoValue = 800
  780. BumpVal = 70
  781. MissionHit = 500
  782. SnakeHit = 5
  783. SRTime = 13000
  784. BSTime = 12000
  785. AdjRangeTime = 20000
  786. AdjRangeValue = 500
  787. AdjRampValue = 200
  788. AdjVKValue = 1000
  789. AdjPhotoValue = 1500
  790. AdjMissionHit = 500
  791. AdjSnakeHit = 5
  792. AdjSRTime = 13000
  793. AdjBumpVal = 70
  794. BallsOnPlayfield = 0
  795. BallsInLock = 0
  796. Upgrade = 0
  797. LBPlay = TRUE
  798. EndOfGame()
  799. End Sub
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807. Sub FuturePinball_KeyPressed(ByVal KeyCode)
  808.  
  809.  
  810. If (KeyCode = 19) Then
  811. End If
  812.  
  813. If (KeyCode = 20) Then
  814. End If
  815.  
  816. If (KeyCode = 21) Then
  817. End If
  818.  
  819.  
  820.  
  821.  
  822. If (KeyCode = GetKeyCode(InsertCoinKey)) Then
  823. PlaySound "fx_CoinIn"
  824. nvCredits = nvCredits + 1
  825. If (nvCredits = 1) Then
  826. QuoteBusy = TRUE
  827. PlayMusic 2, "vo_BladeRunner2", FALSE, 1, 500
  828. AttractTimer.Enabled = FALSE
  829. DMD.FlushQueue: DMD2.FlushQueue
  830. DMD.QueueText "[y1][xc][f6] ", deNone, 500, FALSE
  831. DMD2.QueueText "[yc][xc][f6] ", deNone, 500, FALSE
  832. DMD.QueueText "[y1][xc][f6]BLADE RUNNER", deNone, 1000, FALSE
  833. DMD2.QueueText "[yc][xc][f6]BLADE RUNNER", deNone, 1000, FALSE
  834. DMD.QueueText "[y2][xc][f3]BLADE RUNNER[y18][f7][b]PRESS START", deNone, 1000, TRUE
  835. DMD2.QueueText "[y3][xc][f3]BLADE RUNNER[y18][f3][b]PRESS START", deNone, 1000, TRUE
  836. End If
  837. If (fpGameInPlay = FALSE) Then
  838. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 400
  839. End If
  840. End If
  841.  
  842.  
  843. If (KeyCode = GetKeyCode(Special1Key)) Then
  844. PlaySound "fx_Whoosh"
  845. Select Case SeeHUD
  846. Case 0:
  847. Overlay1.FadeOut
  848. DMD.FadeOut
  849. OverlayMovieHUD.FadeOut
  850. OverlayHUD2.FadeOut
  851. SeeHUD = 1
  852. Case 1:
  853. Overlay1.FadeIn
  854. DMD.FadeIn
  855. OverlayMovieHUD.FadeIn
  856. OverlayHUD2.FadeIn
  857. SeeHUD = 0
  858. End Select
  859. End If
  860.  
  861. If (KeyCode = GetKeyCode(PlungerKey)) Then
  862.  
  863. If (ShopActive = TRUE) Then
  864.  
  865. If (ExitShop = TRUE) Then
  866. ExitShop = FALSE
  867. Upgrade = 0
  868. ShopActive = FALSE
  869. DelayEOG_Expired()
  870. Exit Sub
  871. End If
  872.  
  873. OverlayHUD2.Frame 1: OverlayMovie2.Frame 1
  874. OverlayMovieHUD.Frame 599: OverlayMovie.Frame 599
  875. Select Case Upgrade
  876. Case 1:
  877.  
  878. If (Item1 = 1) Then PlaySound "fx_Buzzer": DMD.Text = "[y1][xc][f6][bf]NO SALE": DMD2.Text = "[yc][xc][f6][bf]NO SALE": OverlayMovie2.Frame 335: OverlayHUD2.Frame 335: Exit Sub ' item already sold...
  879.  
  880. PlayMusic 2, "vo_Smart2", FALSE, 1, 600
  881. DMD.QueueText "[yc][xc][f5][bf]+ BALL SAVER", deNone, 1000, FALSE
  882. DMD.QueueText "[f7][y2]BALL SAVER[y18]TIMER + 3 SECS", deNone, 1000, TRUE
  883. DMD2.QueueText "[yc][xc][f5][bf]+ BALL SAVER", deNone, 1000, FALSE
  884. DMD2.QueueText "[f3][y3]BALL SAVER[y18]TIMER + 3 SECS", deNone, 1000, TRUE
  885. BSTime = 15000: DelayEOG.Set TRUE, 3000
  886. OverlayMovie2.Frame 334: OverlayHUD2.Frame 334
  887. Item1 = 1
  888. Case 2:
  889.  
  890. If (Item2 = 1) Then PlaySound "fx_Buzzer": DMD.Text = "[yc][xc][f6][bf]NO SALE": DMD2.Text = "[yc][xc][f6][bf]NO SALE": OverlayMovie2.Frame 335: OverlayHUD2.Frame 335: Exit Sub ' item already sold...
  891.  
  892. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ThankYou", FALSE, 1, 600
  893. DMD.QueueText "[yc][xc][f5][bf]+ RANGE VALUE", deNone, 1000, FALSE
  894. DMD.QueueText "[f7][y2]FIRING RANGE[y18]TARGETS INCREASED", deNone, 1000, TRUE
  895. DMD2.QueueText "[yc][xc][f5][bf]+ RANGE VALUE", deNone, 1000, FALSE
  896. DMD2.QueueText "[f3][y3]FIRING RANGE[y18]TARGETS INCREASED", deNone, 1000, TRUE
  897. AdjRangeValue = 750: DelayEOG.Set TRUE, 3000
  898. OverlayMovie2.Frame 336: OverlayHUD2.Frame 336
  899. Item2 = 1
  900. Case 3:
  901.  
  902. If (Item3 = 1) Then PlaySound "fx_Buzzer": DMD.Text = "[yc][xc][f6][bf]NO SALE": DMD2.Text = "[yc][xc][f6][bf]NO SALE": OverlayMovie2.Frame 335: OverlayHUD2.Frame 335: Exit Sub ' item already sold...
  903.  
  904. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ThankYou", FALSE, 1, 600
  905. DMD.QueueText "[yc][xc][f5][bf]+ RAMP VALUE", deNone, 1000, FALSE
  906. DMD.QueueText "[f7][y2]SUPER RAMP[y18]VALUE INCREASED", deNone, 1000, TRUE
  907. DMD2.QueueText "[yc][xc][f5][bf]+ RAMP VALUE", deNone, 1000, FALSE
  908. DMD2.QueueText "[f3][y3]SUPER RAMP[y18]VALUE INCREASED", deNone, 1000, TRUE
  909. AdjRampValue = 350: DelayEOG.Set TRUE, 3000
  910. OverlayMovie2.Frame 337: OverlayHUD2.Frame 337
  911. Item3 = 1
  912. Case 4:
  913.  
  914. If (Item4 = 1) Then PlaySound "fx_Buzzer": DMD.Text = "[yc][xc][f6][bf]NO SALE": DMD2.Text = "[yc][xc][f6][bf]NO SALE": OverlayMovie2.Frame 335: OverlayHUD2.Frame 335: Exit Sub ' item already sold...
  915.  
  916. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ThankYou", FALSE, 1, 600
  917. DMD.QueueText "[yc][xc][f5][bf]+ VK VALUE", deNone, 1000, FALSE
  918. DMD.QueueText "[f7][y2]VOIGT-KAMPFF[y18]TARGETS INCREASED", deNone, 1000, TRUE
  919. DMD2.QueueText "[yc][xc][f5][bf]+ VK VALUE", deNone, 1000, FALSE
  920. DMD2.QueueText "[f3][y3]VOIGT-KAMPFF[y18]TARGETS INCREASED", deNone, 1000, TRUE
  921. AdjVKValue = 1500: DelayEOG.Set TRUE, 3000
  922. OverlayMovie2.Frame 338: OverlayHUD2.Frame 338
  923. Item4 = 1
  924. Case 5:
  925.  
  926. If (Item5 = 1) Then PlaySound "fx_Buzzer": DMD.Text = "[yc][xc][f6][bf]NO SALE": DMD2.Text = "[yc][xc][f6][bf]NO SALE": OverlayMovie2.Frame 335: OverlayHUD2.Frame 335: Exit Sub ' item already sold...
  927.  
  928. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ThankYou", FALSE, 1, 600
  929. DMD.QueueText "[yc][xc][f5][bf]+ PHOTO VALUE", deNone, 1000, FALSE
  930. DMD.QueueText "[f7][y2]PHOTO SCANNER[y18]TARGETS INCREASED", deNone, 1000, TRUE
  931. DMD2.QueueText "[yc][xc][f5][bf]+ PHOTO VALUE", deNone, 1000, FALSE
  932. DMD2.QueueText "[f3][y3]PHOTO SCANNER[y18]TARGETS INCREASED", deNone, 1000, TRUE
  933. AdjPhotoValue = 2250: DelayEOG.Set TRUE, 3000
  934. OverlayMovie2.Frame 339: OverlayHUD2.Frame 339
  935. Item5 = 1
  936. Case 6:
  937.  
  938. If (Item6 = 1) Then PlaySound "fx_Buzzer": DMD.Text = "[yc][xc][f6][bf]NO SALE": DMD2.Text = "[yc][xc][f6][bf]NO SALE": OverlayMovie2.Frame 335: OverlayHUD2.Frame 335: Exit Sub ' item already sold...
  939.  
  940. PlayMusic 2, "vo_Smart2", FALSE, 1, 600
  941. DMD.QueueText "[yc][xc][f5][bf]+ MISSON VALUE", deNone, 1000, FALSE
  942. DMD.QueueText "[f7][y2]MISSION SHOT[y18]VALUE INCREASED", deNone, 1000, TRUE
  943. DMD2.QueueText "[yc][xc][f5][bf]+ MISSON VALUE", deNone, 1000, FALSE
  944. DMD2.QueueText "[f3][y3]MISSION SHOT[y18]VALUE INCREASED", deNone, 1000, TRUE
  945. AdjMissionHit = 750: DelayEOG.Set TRUE, 3000
  946. OverlayMovie2.Frame 340: OverlayHUD2.Frame 340
  947. Item6 = 1
  948. Case 7:
  949.  
  950. If (Item7 = 1) Then PlaySound "fx_Buzzer": DMD.Text = "[yc][xc][f6][bf]NO SALE": DMD2.Text = "[yc][xc][f6][bf]NO SALE": OverlayMovie2.Frame 335: OverlayHUD2.Frame 335: Exit Sub ' item already sold...
  951.  
  952. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ThankYou", FALSE, 1, 600
  953. DMD.Text = "[yc][xc][f5][bf]+ BUMPER VALUE"
  954. DMD2.Text = "[yc][xc][f3][bf]+ BUMPER VALUE"
  955. AdjBumpVal = 100
  956. DelayEOG.Set TRUE, 1500
  957. OverlayMovie2.Frame 341: OverlayHUD2.Frame 341
  958. Item7 = 1
  959. Case 8:
  960.  
  961. If (Item8 = 1) Then PlaySound "fx_Buzzer": DMD.Text = "[yc][xc][f6][bf]NO SALE": DMD2.Text = "[yc][xc][f6][bf]NO SALE": OverlayMovie2.Frame 335: OverlayHUD2.Frame 335: Exit Sub ' item already sold...
  962.  
  963. PlayMusic 2, "vo_Smart2", FALSE, 1, 600
  964. DMD.QueueText "[yc][xc][f5][bf]+ MORE TIME", deNone, 1000, FALSE
  965. DMD2.QueueText "[f7][y2]RANGE & S/RAMP[y18]TIMERS EXTENDED", deNone, 1000, TRUE
  966. DMD2.QueueText "[yc][xc][f5][bf]+ MORE TIME", deNone, 1000, FALSE
  967. DMD2.QueueText "[f3][y3]RANGE & S/RAMP[y18]TIMERS EXTENDED", deNone, 1000, TRUE
  968. AdjRangeTime = 25000: AdjSRTime = 15000: DelayEOG.Set TRUE, 3000
  969. OverlayMovie2.Frame 342: OverlayHUD2.Frame 342
  970. Item8 = 1
  971. Case 9:
  972.  
  973. If (Item9 = 1) Then PlaySound "fx_Buzzer": DMD.Text = "[yc][xc][f6][bf]NO SALE": DMD2.Text = "[yc][xc][f6][bf]NO SALE": OverlayMovie2.Frame 335: OverlayHUD2.Frame 335: Exit Sub ' item already sold...
  974.  
  975. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Special", FALSE, 1, 500
  976. DMD.QueueText "[yc][xc][f5][bf]MYSTERY HITS", deNone, 1000, FALSE
  977. DMD.QueueText "[f7][y2]MYSTERY READY[y18]WITH 2 LESS HITS", deNone, 1000, TRUE
  978. DMD2.QueueText "[yc][xc][f5][bf]MYSTERY HITS", deNone, 1000, FALSE
  979. DMD2.QueueText "[f3][y3]MYSTERY READY[y18]WITH 2 LESS HITS", deNone, 1000, TRUE
  980. DelayEOG.Set TRUE, 3000
  981. AdjSnakeHit = 3
  982. OverlayMovie2.Frame 343: OverlayHUD2.Frame 343
  983. Item9 = 1
  984. Case 10:
  985.  
  986. 'If (Item10 = 1) Then DMD.Text = "[yc][xc][f6][bf]NO SALE": DMD2.Text = "[yc][xc][f6][bf]NO SALE": OverlayMovie2.Frame 335: OverlayHUD2.Frame 335: Exit Sub ' item already sold...
  987.  
  988. JoiReady = TRUE
  989. PlayMusic 2, "vo_JoiThankyou", FALSE, 1, 500
  990. DMD.QueueText "[yc][xc][f5][bf]JOI COMPANION", deNone, 1000, FALSE
  991. DMD.QueueText "[f7][y2]PRESS PLUNGER[y18]KEY TO ACTIVATE", deNone, 1000, TRUE
  992. DMD2.QueueText "[yc][xc][f5][bf]JOI COMPANION", deNone, 1000, FALSE
  993. DMD2.QueueText "[f3][y3]PRESS PLUNGER[y18]KEY TO ACTIVATE", deNone, 1000, TRUE
  994. DelayEOG.Set TRUE, 3000
  995. OverlayMovie2.Frame 345: OverlayHUD2.Frame 345
  996. 'Item10 = 1
  997.  
  998. Case 11: ' a new game will start, exactly where the last game finished...
  999. DMD.Text ="[y2][xc][f3]NEW GAME[y18][f7]CONTINUE"
  1000. DMD2.Text ="[y3][xc][f3]NEW GAME[y18][f7]CONTINUE"
  1001. TrackPlayed = 0
  1002. PlayMusic 1, "Music_BRTrack11", FALSE, 0.6, 1200
  1003. PlayMusic 2, "vo_GoodLuck"
  1004. nvScore(CurrentPlayer) = 0
  1005. BallsRemaining(CurrentPlayer) = nvBallsPerGame
  1006. IgnoreHit = TRUE: DelayEOB.Set TRUE, 1500
  1007. TopBR = FALSE
  1008. OverlayMovie2.Frame 346: OverlayHUD2.Frame 346
  1009.  
  1010. Case else:
  1011. QuoteBusy = TRUE: PlayMusic 2, "vo_NoChoice"
  1012. DMD.Text = "[yc][xc][f5][bf]BUY SOMETHING"
  1013. DMD2.Text = "[yc][xc][f3][bf]BUY SOMETHING"
  1014. UpgradeTimer.Set TRUE, 1800
  1015. End Select
  1016. ShopActive = FALSE: UpgradeTimer.Enabled = FALSE
  1017. PlaySound "fx_7"
  1018. End If
  1019.  
  1020. If (fpGameInPlay = FALSE) Then
  1021. If (JoiOn = FALSE) and (JoiReady = TRUE) Then
  1022. JoiReady = FALSE
  1023. StopMusic 3
  1024. BumpAttract.Enabled = FALSE
  1025. AttractTimer.Enabled = FALSE
  1026. If (MusicResume.Enabled = FALSE) Then EffectMusic 1, FadeOutAndPause, 0, 100: MusicResume.Set TRUE, 3000
  1027. EffectMusic 5, FadeOutAndStop, 0, 500
  1028. PlayMusic 4, "fx_JoiOn": JoiOn = TRUE
  1029. CokeSign.UpdateInterval = 66
  1030. JoiPlay = JoiPlay + 1
  1031. Select Case JoiPlay
  1032. Case 1: PlayMusic 2, "vo_JoiHello", FALSE, 1, 2200: CokeSign.Frame 179, 247: SignOffTimer.Set TRUE, 4700
  1033. Case 2: PlayMusic 2, "vo_JoiLonely", FALSE, 1, 1000: CokeSign.Frame 248, 295: SignOffTimer.Set TRUE, 3200
  1034. Case 3: PlayMusic 2, "vo_JoiGoodJoe", FALSE, 1, 1000: CokeSign.Frame 248, 295: SignOffTimer.Set TRUE, 3200
  1035. Case else: PlayMusic 2, "vo_JoiSigh", FALSE, 1, 1500: SignOffTimer_Expired()
  1036. End Select
  1037. DMD.Text = "[yc][xc][f6]JOI ON"
  1038. DMD2.Text = "[yc][xc][f6]JOI ON"
  1039. Else
  1040. If (MusicResume.Enabled = FALSE) Then EffectMusic 1, FadeOutAndPause, 0, 100: MusicResume.Set TRUE, 2000
  1041. EffectMusic 4, FadeOutAndStop, 0, 500
  1042. StopMusic 2
  1043. PlayMusic 5, "fx_JoiOff": JoiOn = FALSE
  1044. DMD.Text = "[yc][xc][f6]JOI OFF"
  1045. DMD2.Text = "[yc][xc][f6]JOI OFF"
  1046. End If
  1047. Exit Sub
  1048. End If
  1049.  
  1050. If (BallsOnPlayfield = 0) Then Exit Sub
  1051.  
  1052. Plunger.SolenoidPulse
  1053. StartButtonBulb.FlashForMs 200, 50, BulbOff
  1054. PlaySound "fx_GunShot2"
  1055. dof 109,2
  1056. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 400
  1057. LightSeqPF.Play SeqBlinking, , 2, 100
  1058. End If
  1059.  
  1060.  
  1061.  
  1062. If (fpGameInPlay = TRUE) Then
  1063.  
  1064. If (fpTilted = FALSE) Then
  1065.  
  1066. If (KeyCode = GetKeyCode(LeftFlipperKey)) Then
  1067.  
  1068. If (ShopActive = TRUE) Then
  1069. ExitShop = FALSE
  1070. Upgrade = Upgrade - 1: PlaySound "fx_18"
  1071. OverlayHUD2.Frame 1: OverlayMovie2.Frame 1
  1072. OverlayMovieHUD.Frame 599: OverlayMovie.Frame 599
  1073. If (Upgrade =<0) Then Upgrade = 1
  1074. Select Case Upgrade
  1075. Case 1:
  1076. If (Item1 = 1) Then
  1077. DMD.Text = "[yc][xc][f6]SOLD"
  1078. DMD2.Text = "[yc][xc][f6]SOLD"
  1079. OverlayMovie2.Frame 334: OverlayHUD2.Frame 334
  1080. Else
  1081. DMD.Text = "[y2][xc][f3]$5,000[y18][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1082. DMD2.Text = "[y3][xc][f3]$5,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1083. OverlayMovie.Frame 251: OverlayMovieHUD.Frame 251 ' vid phone (ball saver + 3)
  1084. End If
  1085. Case 2:
  1086. 'If (nvScore(CurrentPlayer) < 12000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
  1087. If (Item2 = 1) Then
  1088. DMD.Text = "[yc][xc][f6]SOLD"
  1089. DMD2.Text = "[yc][xc][f6]SOLD"
  1090. OverlayMovie2.Frame 336: OverlayHUD2.Frame 336
  1091. Else
  1092. DMD.Text = "[y2][xc][f3]$12,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1093. DMD2.Text = "[y3][xc][f3]$12,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1094. OverlayMovie.Frame 243: OverlayMovieHUD.Frame 243 ' gun (firing range)
  1095. End If
  1096. Case 3:
  1097. 'If (nvScore(CurrentPlayer) < 19000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
  1098. If (Item3 = 1) Then
  1099. DMD.Text = "[yc][xc][f6]SOLD"
  1100. DMD2.Text = "[yc][xc][f6]SOLD"
  1101. OverlayMovie2.Frame 337: OverlayHUD2.Frame 337
  1102. Else
  1103. DMD.Text = "[y2][xc][f3]$19,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1104. DMD2.Text = "[y3][xc][f3]$19,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1105. OverlayMovie.Frame 244: OverlayMovieHUD.Frame 244 ' spinner (ramps)
  1106. End If
  1107. Case 4:
  1108. 'If (nvScore(CurrentPlayer) < 26000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
  1109. If (Item4 = 1) Then
  1110. DMD.Text = "[yc][xc][f6]SOLD"
  1111. DMD2.Text = "[yc][xc][f6]SOLD"
  1112. OverlayMovie2.Frame 338: OverlayHUD2.Frame 338 ' vk
  1113. Else
  1114. DMD.Text = "[y2][xc][f3]$26,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1115. DMD2.Text = "[y3][xc][f3]$26,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1116. OverlayMovie.Frame 245: OverlayMovieHUD.Frame 245 ' vk
  1117. End If
  1118. Case 5:
  1119. 'If (nvScore(CurrentPlayer) < 33000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
  1120. If (Item5 = 1) Then
  1121. DMD.Text = "[yc][xc][f6]SOLD"
  1122. DMD2.Text = "[yc][xc][f6]SOLD"
  1123. OverlayMovie2.Frame 339: OverlayHUD2.Frame 339
  1124. Else
  1125. DMD.Text = "[y2][xc][f3]$33,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1126. DMD2.Text = "[y3][xc][f3]$33,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1127. OverlayMovie.Frame 249: OverlayMovieHUD.Frame 249' photo
  1128. End If
  1129. Case 6:
  1130. 'If (nvScore(CurrentPlayer) < 40000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
  1131. If (Item6 = 1) Then
  1132. DMD.Text = "[yc][xc][f6]SOLD"
  1133. DMD2.Text = "[yc][xc][f6]SOLD"
  1134. OverlayMovie2.Frame 340: OverlayHUD2.Frame 340
  1135. Else
  1136. DMD.Text = "[y2][xc][f3]$40,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1137. DMD2.Text = "[y3][xc][f3]$40,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1138. OverlayMovie.Frame 246: OverlayMovieHUD.Frame 246 ' mission (shots)
  1139. End If
  1140. Case 7:
  1141. 'If (nvScore(CurrentPlayer) < 47000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
  1142. If (Item7 = 1) Then
  1143. DMD.Text = "[yc][xc][f6]SOLD"
  1144. DMD2.Text = "[yc][xc][f6]SOLD"
  1145. OverlayMovie2.Frame 341: OverlayHUD2.Frame 341
  1146. Else
  1147. DMD.Text = "[y2][xc][f3]$47,000[y18][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1148. DMD2.Text = "[y3][xc][f3]$47,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1149. OverlayMovie.Frame 879: OverlayMovieHUD.Frame 879 ' general ted (pops)
  1150. End If
  1151. Case 8:
  1152. 'If (nvScore(CurrentPlayer) < 54000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
  1153.  
  1154. If (Item8 = 1) Then
  1155. DMD.Text = "[yc][xc][f6]SOLD"
  1156. DMD2.Text = "[yc][xc][f6]SOLD"
  1157. OverlayMovie2.Frame 342: OverlayHUD2.Frame 342
  1158. Else
  1159. DMD.Text = "[y2][xc][f3]$54,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1160. DMD2.Text = "[y3][xc][f3]$54,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1161. OverlayMovie.Frame 250: OverlayMovieHUD.Frame 250 ' unicorn (more time)
  1162. End If
  1163. Case 9:
  1164. 'If (nvScore(CurrentPlayer) < 61000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
  1165.  
  1166. If (Item9 = 1) Then
  1167. DMD.Text = "[yc][xc][f6]SOLD"
  1168. DMD2.Text = "[yc][xc][f6]SOLD"
  1169. OverlayMovie2.Frame 343: OverlayHUD2.Frame 343
  1170. Else
  1171. DMD.Text = "[y2][xc][f3]$61,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1172. DMD2.Text = "[y3][xc][f3]$61,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1173. OverlayMovie.Frame 248: OverlayMovieHUD.Frame 248 ' drink (reduced mystery hits)
  1174. End If
  1175. Case 10:
  1176. 'If (nvScore(CurrentPlayer) < 68000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
  1177.  
  1178. DMD.Text = "[y2][xc][f3]$68,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1179. DMD2.Text = "[y3][xc][f3]$68,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1180. OverlayMovie.Frame 886: OverlayMovieHUD.Frame 886 ' Joi
  1181. Case 11:
  1182. 'If (nvScore(CurrentPlayer) < 100000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
  1183.  
  1184. DMD.Text = "[y2][xc][f3]$100,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1185. DMD2.Text = "[y3][xc][f3]$100,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1186. OverlayMovie.Frame 822: OverlayMovieHUD.Frame 822 ' token (continue game)
  1187. End Select
  1188. Exit Sub
  1189. End If
  1190.  
  1191. If (BuyInActive = TRUE) Then
  1192. BuyInActive = FALSE: NoShop = TRUE
  1193. PlaySound "fx_Hit9"
  1194. StopMusic 4
  1195. Select Case RandomNumber(2)
  1196. Case 1: PlayMusic 2, "vo_TransferComplete", FALSE, 1, 200
  1197. Case 2: PlayMusic 2, "vo_YoudSayThat", FALSE, 1, 200
  1198. End Select
  1199. MusicResume.Set TRUE, 1000
  1200. nvScore(CurrentPlayer) = nvScore(CurrentPlayer) - 30000
  1201. DMD.QueueText "[yc][xc][f5]YES", deNone, 600, FALSE
  1202. DMD.QueueText "[y2][xc][f3][b]PAYMENT ACCEPTED[/b][y18][f3]NEW SCORE: $ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1), deNone, 1800, FALSE
  1203. DMD.UpdateInterval = 5
  1204. DMD.QueueText "[y2][xc][f3]UPGRADE SHOP[/b][y18][f7]IS NOW CLOSED", deScrollIn, 1300, TRUE, "fx_Hit2"
  1205. DMD2.QueueText "[yc][xc][f5]YES", deNone, 600, FALSE
  1206. DMD2.QueueText "[y3][xc][f3][b]PAYMENT ACCEPTED[/b][y18][f3]NEW SCORE: $ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1), deNone, 1800, FALSE
  1207. DMD2.UpdateInterval = 5
  1208. DMD2.QueueText "[y3][xc][f3]UPGRADE SHOP[/b][y18][f7]IS NOW CLOSED", deScrollIn, 1300, TRUE, "fx_Hit2"
  1209. BallsRemaining(CurrentPlayer) = 1
  1210. IgnoreHit = TRUE: DelayEOB.Set TRUE, 3800
  1211. Upgrade = 0
  1212. End If
  1213.  
  1214. If (BallsOnPlayfield = 0) Then Exit Sub
  1215.  
  1216. TempL1 = LightRO1.State
  1217. LightRO1.State = LightRO2.State
  1218. LightRO2.State = TempL1
  1219.  
  1220. TempS1 = LightSAVE1.State
  1221. LightSAVE1.State = LightSAVE2.State
  1222. LightSAVE2.State = LightSAVE3.State
  1223. LightSAVE3.State = LightSAVE4.State
  1224. LightSAVE4.State = TempS1
  1225.  
  1226. LeftFlipper.SolenoidOn
  1227. dof 101,1
  1228. End If
  1229.  
  1230. If (KeyCode = GetKeyCode(RightFlipperKey)) Then
  1231.  
  1232. If (ShopActive = TRUE) Then
  1233. If (ExitShop = FALSE) Then
  1234. Upgrade = Upgrade + 1: PlaySound "fx_18"
  1235. OverlayHUD2.Frame 1: OverlayMovie2.Frame 1
  1236. OverlayMovieHUD.Frame 599: OverlayMovie.Frame 599
  1237. End If
  1238. If (Upgrade >11) Then Upgrade = 11
  1239. Select Case Upgrade
  1240. Case 1:
  1241. If (Item1 = 1) Then
  1242. DMD.Text = "[yc][xc][f6]SOLD"
  1243. DMD2.Text = "[yc][xc][f6]SOLD"
  1244. OverlayMovie2.Frame 334: OverlayHUD2.Frame 334
  1245. Else
  1246. DMD.Text = "[y3][xc][f3]$5,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1247. DMD2.Text = "[y3][xc][f3]$5,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1248. OverlayMovie.Frame 251: OverlayMovieHUD.Frame 251 ' vid phone (ball saver + 3)
  1249. End If
  1250. Case 2:
  1251. If (nvScore(CurrentPlayer) < 12000) Then ShopExit(): Exit Sub
  1252. If (Item2 = 1) Then
  1253. DMD.Text = "[yc][xc][f6]SOLD"
  1254. DMD2.Text = "[yc][xc][f6]SOLD"
  1255. OverlayMovie2.Frame 336: OverlayHUD2.Frame 336
  1256. Else
  1257. DMD.Text = "[y3][xc][f3]$12,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1258. DMD2.Text = "[y3][xc][f3]$12,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1259. OverlayMovie.Frame 243: OverlayMovieHUD.Frame 243 ' gun (firing range)
  1260. End If
  1261. Case 3:
  1262. If (nvScore(CurrentPlayer) < 19000) Then ShopExit(): Exit Sub
  1263. If (Item3 = 1) Then
  1264. DMD.Text = "[yc][xc][f6]SOLD"
  1265. DMD2.Text = "[yc][xc][f6]SOLD"
  1266. OverlayMovie2.Frame 337: OverlayHUD2.Frame 337
  1267. Else
  1268. DMD.Text = "[y3][xc][f3]$19,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1269. DMD2.Text = "[y3][xc][f3]$19,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1270. OverlayMovie.Frame 244: OverlayMovieHUD.Frame 244 ' spinner (ramps)
  1271. End If
  1272. Case 4:
  1273. If (nvScore(CurrentPlayer) < 26000) Then ShopExit(): Exit Sub
  1274. If (Item4 = 1) Then
  1275. DMD.Text = "[yc][xc][f6]SOLD"
  1276. DMD2.Text = "[yc][xc][f6]SOLD"
  1277. OverlayMovie2.Frame 338: OverlayHUD2.Frame 338 ' vk
  1278. Else
  1279. DMD.Text = "[y3][xc][f3]$26,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1280. DMD2.Text = "[y3][xc][f3]$26,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1281. OverlayMovie.Frame 245: OverlayMovieHUD.Frame 245 ' vk
  1282. End If
  1283. Case 5:
  1284. If (nvScore(CurrentPlayer) < 33000) Then ShopExit(): Exit Sub
  1285. If (Item5 = 1) Then
  1286. DMD.Text = "[yc][xc][f6]SOLD"
  1287. DMD2.Text = "[yc][xc][f6]SOLD"
  1288. OverlayMovie2.Frame 339: OverlayHUD2.Frame 339
  1289. Else
  1290. DMD.Text = "[y3][xc][f3]$33,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1291. DMD2.Text = "[y3][xc][f3]$33,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1292. OverlayMovie.Frame 249: OverlayMovieHUD.Frame 249' photo
  1293. End If
  1294. Case 6:
  1295. If (nvScore(CurrentPlayer) < 40000) Then ShopExit(): Exit Sub
  1296. If (Item6 = 1) Then
  1297. DMD.Text = "[yc][xc][f6]SOLD"
  1298. DMD2.Text = "[yc][xc][f6]SOLD"
  1299. OverlayMovie2.Frame 340: OverlayHUD2.Frame 340
  1300. Else
  1301. DMD.Text = "[y3][xc][f3]$40,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1302. DMD2.Text = "[y3][xc][f3]$40,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1303. OverlayMovie.Frame 246: OverlayMovieHUD.Frame 246 ' mission (shots)
  1304. End If
  1305. Case 7:
  1306. If (nvScore(CurrentPlayer) < 47000) Then ShopExit(): Exit Sub
  1307.  
  1308. If (Item7 = 1) Then
  1309. DMD.Text = "[yc][xc][f6]SOLD"
  1310. DMD2.Text = "[yc][xc][f6]SOLD"
  1311. OverlayMovie2.Frame 341: OverlayHUD2.Frame 341
  1312. Else
  1313. DMD.Text = "[y3][xc][f3]$47,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1314. DMD2.Text = "[y3][xc][f3]$47,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1315. OverlayMovie.Frame 879: OverlayMovieHUD.Frame 879 ' general ted (pops)
  1316. End If
  1317. Case 8:
  1318. If (nvScore(CurrentPlayer) < 54000) Then ShopExit(): Exit Sub
  1319.  
  1320. If (Item8 = 1) Then
  1321. DMD.Text = "[yc][xc][f6]SOLD"
  1322. DMD2.Text = "[yc][xc][f6]SOLD"
  1323. OverlayMovie2.Frame 342: OverlayHUD2.Frame 342
  1324. Else
  1325. DMD.Text = "[y3][xc][f3]$54,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1326. DMD2.Text = "[y3][xc][f3]$54,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1327. OverlayMovie.Frame 250: OverlayMovieHUD.Frame 250 ' unicorn (more time)
  1328. End If
  1329. Case 9:
  1330. If (nvScore(CurrentPlayer) < 61000) Then ShopExit(): Exit Sub
  1331.  
  1332. If (Item9 = 1) Then
  1333. DMD.Text = "[yc][xc][f6]SOLD"
  1334. DMD2.Text = "[yc][xc][f6]SOLD"
  1335. OverlayMovie2.Frame 343: OverlayHUD2.Frame 343
  1336. Else
  1337. DMD.Text = "[y3][xc][f3]$61,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1338. DMD2.Text = "[y3][xc][f3]$61,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1339. OverlayMovie.Frame 248: OverlayMovieHUD.Frame 248 ' drink (reduced mystery hits)
  1340. End If
  1341. Case 10:
  1342.  
  1343. If (nvScore(CurrentPlayer) < 68000) Then ShopExit(): Exit Sub
  1344.  
  1345. DMD.Text = "[y3][xc][f3]$68,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1346. DMD2.Text = "[y3][xc][f3]$68,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1347. OverlayMovie.Frame 886: OverlayMovieHUD.Frame 886 ' Joi
  1348. Case 11:
  1349.  
  1350. If (nvScore(CurrentPlayer) < 100000) Then ShopExit(): Exit Sub
  1351.  
  1352. DMD.Text = "[y3][xc][f3]$100,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1353. DMD2.Text = "[y3][xc][f3]$100,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  1354. OverlayMovie.Frame 822: OverlayMovieHUD.Frame 822 ' token (new game cont.)
  1355. End Select
  1356. Exit Sub
  1357. End If
  1358.  
  1359. If (BuyInActive = TRUE) Then
  1360. BuyInActive = FALSE
  1361. PlaySound "fx_Hit10"
  1362. DMD.Text = "[y1][xc][f6][bf]NO"
  1363. DMD2.Text = "[yc][xc][f6][bf]NO"
  1364. StopMusic 4
  1365. PlayMusic 2, "vo_KnewIt", FALSE, 1, 200
  1366. DelayEOB.Set TRUE, 2000
  1367. End If
  1368.  
  1369. If (BallsOnPlayfield = 0) Then Exit Sub
  1370.  
  1371. TempL1 = LightRO2.State
  1372. LightRO2.State = LightRO1.State
  1373. LightRO1.State = TempL1
  1374.  
  1375. TempS1 = LightSAVE4.State
  1376. LightSAVE4.State = LightSAVE3.State
  1377. LightSAVE3.State = LightSAVE2.State
  1378. LightSAVE2.State = LightSAVE1.State
  1379. LightSAVE1.State = TempS1
  1380.  
  1381. RightFlipper.SolenoidOn
  1382. dof 102,1
  1383. End If
  1384.  
  1385. If (KeyCode = GetKeyCode(StartGameKey)) Then
  1386. If ((PlayersPlayingGame < constMaxPlayers) And (bOnTheFirstBall = TRUE)) Then
  1387. If (nvCredits > 0) then
  1388. PlayersPlayingGame = PlayersPlayingGame + 1
  1389. nvTotalGamesPlayed = nvTotalGamesPlayed + 1
  1390. nvCredits = nvCredits - 1
  1391. Else
  1392. PlaySound "fx_7"
  1393. End If
  1394. End If
  1395. End If
  1396. End If
  1397. Else
  1398.  
  1399. If (KeyCode = GetKeyCode(LeftFlipperKey)) Then
  1400.  
  1401. If (HSReset = TRUE) Then
  1402. HSReset = FALSE
  1403. PlaySound "fx_7"
  1404. DMD.QueueText "[yc][xc][f6][bf]HIGHSCORE RESET", deNone, 1200, FALSE
  1405. DMD2.QueueText "[yc][xc][f6][bf]HIGHSCORE RESET", deNone, 1200, FALSE
  1406. DMD.QueueText "[yc][xc][f6]GAME OVER", deNone, 1000, TRUE
  1407. DMD2.QueueText "[yc][xc][f6]GAME OVER", deNone, 1000, TRUE
  1408. dim i
  1409. for i = 1 to 10
  1410. nvHighScore(i) = 0
  1411. next
  1412. Exit Sub
  1413. End If
  1414.  
  1415. If (nvBallsPerGame < 4) Then nvBallsPerGame = 3: PlaySound "fx_25": Exit Sub
  1416. PlaySound "fx_18"
  1417. nvBallsPerGame = nvBallsPerGame - 1
  1418. DMD.Text = "[yc][xc][f6]BALLS = " & nvBallsPerGame
  1419. DMD2.Text = "[yc][xc][f6]BALLS = " & nvBallsPerGame
  1420. End If
  1421.  
  1422. If (KeyCode = GetKeyCode(RightFlipperKey)) Then
  1423.  
  1424. If (HSReset = TRUE) Then
  1425. HSReset = FALSE
  1426. PlaySound "fx_7"
  1427. DMD.QueueText "[yc][xc][f6][bf]RESET CANCELLED", deNone, 1200, FALSE
  1428. DMD2.QueueText "[yc][xc][f6][bf]RESET CANCELLED", deNone, 1200, FALSE
  1429. DMD.QueueText "[yc][xc][f6]GAME OVER", deNone, 1000, TRUE
  1430. DMD2.QueueText "[yc][xc][f6]GAME OVER", deNone, 1000, TRUE
  1431. Exit Sub
  1432. End If
  1433.  
  1434. If (nvBallsPerGame > 4) Then
  1435. nvBallsPerGame = 5: PlaySound "fx_25": HSReset = TRUE
  1436. DMD.Text = "[yc][xc][f3]HIGHSCORE RESET?[y18][f3]< YES NO >"
  1437. DMD2.Text = "[y3][xc][f3]HIGHSCORE RESET?[y18][f3]< YES NO >"
  1438. Exit Sub
  1439. End If
  1440. PlaySound "fx_18"
  1441. nvBallsPerGame = nvBallsPerGame + 1
  1442. DMD.Text = "[yc][xc][f6]BALLS = " & nvBallsPerGame
  1443. DMD2.Text = "[yc][xc][f6]BALLS = " & nvBallsPerGame
  1444. End If
  1445.  
  1446. If (KeyCode = GetKeyCode(StartGameKey)) Then
  1447. If (nvCredits > 0) Then
  1448. If (BallsOnPlayfield = 0) Then
  1449. If (nvBallsPerGame >6) Then PlaySound "fx_25": Exit Sub
  1450. nvCredits = nvCredits - 1
  1451. ResetForNewGame()
  1452. Else
  1453. DMD.Text = "[y1][xc][f3]NO CREDITS[y18][f7][b]INSERT COIN"
  1454. DMD2.Text = "[y3][xc][f3]NO CREDITS[y18][f7][b]INSERT COIN"
  1455. PlaySound "fx_7"
  1456. End If
  1457. End If
  1458. End If
  1459. End If
  1460. End Sub
  1461.  
  1462.  
  1463.  
  1464. Sub ShopExit()
  1465. DMD.Text = "[y3][xc][f3]EXIT SHOP?[y18][f3]PLUNGER TO CONFIRM"
  1466. DMD2.Text = "[y3][xc][f3]EXIT SHOP?[y18][f3]PLUNGER TO CONFIRM"
  1467. OverlayMovie2.Frame 344: OverlayHUD2.Frame 344
  1468. ExitShop = TRUE
  1469. End Sub
  1470.  
  1471.  
  1472.  
  1473. Dim JoiOn,JoiPlay,JoiReady
  1474.  
  1475.  
  1476. Sub FuturePinball_KeyReleased(ByVal KeyCode)
  1477.  
  1478. If (KeyCode = GetKeyCode(PlungerKey)) Then
  1479. End If
  1480.  
  1481. If (fpGameInPlay = TRUE) Then
  1482. If (fpTilted = FALSE) Then
  1483. If (KeyCode = GetKeyCode(LeftFlipperKey)) Then
  1484. LeftFlipper.SolenoidOff
  1485. dof 101,0
  1486. End If
  1487. If (KeyCode = GetKeyCode(RightFlipperKey)) Then
  1488. RightFlipper.SolenoidOff
  1489. dof 102,0
  1490. End If
  1491. End If
  1492. End If
  1493. End Sub
  1494.  
  1495.  
  1496.  
  1497.  
  1498. Sub FuturePinball_Paused()
  1499. PlayMusic 7, "Music_Joi", TRUE, 0.8
  1500. End Sub
  1501.  
  1502.  
  1503.  
  1504. Sub FuturePinball_UnPaused()
  1505. StopMusic 7
  1506. End Sub
  1507.  
  1508.  
  1509.  
  1510. Sub FuturePinball_TiltWarning(ByVal Warnings)
  1511. PlaySound "fx_Nudge": PlaySound "fx_Fizz"
  1512. LightSeqPF.StopPlay
  1513. LightSeqPF.Play SeqBlinking, , 2, 75
  1514. Select Case Warnings
  1515. Case 2:
  1516. If (QuoteBusy = FALSE) Then
  1517. QuoteBusy = TRUE
  1518. Select Case RandomNumber(4)
  1519. Case 1: PlayMusic 2, "vo_Prove"
  1520. Case 2: PlayMusic 2, "vo_ChewTalk"
  1521. Case 3: PlayMusic 2, "vo_ChewTalk2"
  1522. Case 4:
  1523. Select Case RandomNumber(3)
  1524. Case 1: PlayMusic 2, "vo_WhatYouDo"
  1525. Case 2: PlayMusic 2, "vo_AllowThat"
  1526. Case 3: PlayMusic 2, "vo_GoingOn"
  1527. End Select
  1528. End Select
  1529. End If
  1530. Case 4:
  1531. If (QuoteBusy = FALSE) Then
  1532. QuoteBusy = TRUE
  1533. If (BR2049 = FALSE) Then EffectMusic 1, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 1000
  1534. PlayMusic 2, "vo_AssHole"
  1535. End If
  1536. End Select
  1537. End Sub
  1538.  
  1539.  
  1540.  
  1541. Sub FuturePinball_Tilted()
  1542. PlaySound "Tilt"
  1543. DMD.Text = "[yc][xc][f6][b]T I L T"
  1544. DMD2.Text = "[yc][xc][f6][b]T I L T"
  1545. QuoteBusy = FALSE
  1546. TiltCheck = 0
  1547. LightSeqPF.StopPlay
  1548. AllPlasOff()
  1549. LightSeqPF.Play SeqAllOff
  1550. MusicResume.Enabled = FALSE
  1551. StopMusic 5: StopMusic 6
  1552. EffectMusic 1, FadeOutAndPause, 0, 0
  1553. PlayMusic 2, "vo_Stop"
  1554. OverlayMovie.Frame 230: OverlayMovieHUD.Frame 230
  1555. BallStopper.Collidable = FALSE
  1556. HoloNeon1.Frame 1
  1557. HoloNeon4.Frame 1
  1558. HoloNeon7.Frame 1
  1559. HoloNeon6.Frame 1
  1560. NeonHotel.Frame 1
  1561. CokeSign.Frame 1
  1562. AtariSign.Frame 1
  1563. LightElevator.State = BulbOff
  1564. If (LeonMode = TRUE) Then
  1565. LeonMode = FALSE: KillLeon = FALSE
  1566. LightLeonMain.State = BulbOff
  1567. End If
  1568. If (ZhoraMode = TRUE) Then
  1569. ZhoraMode = FALSE
  1570. LightZhoraMain.State = BulbOff
  1571. End If
  1572. If (PrisMode = TRUE) Then
  1573. PrisMode = FALSE
  1574. LightPrisMain.State = BulbOff
  1575. End If
  1576. If (TyrellMode = TRUE) Then
  1577. TyrellMode = FALSE
  1578. LightTyrellMain.State = BulbOff
  1579. End If
  1580. If (SebastianMode = TRUE) Then
  1581. SebastianMode = FALSE
  1582. LightSebastianMain.State = BulbOff
  1583. End If
  1584. If (ChewMode = TRUE) Then
  1585. ChewMode = FALSE
  1586. LightChewMain.State = BulbOff
  1587. End If
  1588. If (RachaelMode = TRUE) Then
  1589. RachaelMode = FALSE
  1590. LightRachaelMain.State = BulbOff
  1591. End If
  1592. If (GaffMode = TRUE) Then
  1593. GaffMode = FALSE
  1594. LightGaffMain.State = BulbOff
  1595. End If
  1596. If (ShootingMode = TRUE) Then
  1597. ShootingMode = FALSE
  1598. LightRange.State = BulbOff
  1599. End If
  1600. If (VKMode = TRUE) Then
  1601. VKMode = FALSE
  1602. LightVK.State = BulbOff
  1603. End If
  1604. If (PhotoMode = TRUE) Then
  1605. PhotoMode = FALSE
  1606. LightPhoto.State = BulbOff
  1607. End If
  1608. If (BattyMode = TRUE) Then
  1609. BattyMode = FALSE
  1610. ' game will now reset...
  1611. LightLeonMain.Set BulbOff, "10", 150
  1612. LightZhoraMain.Set BulbOff, "10", 150
  1613. LightPrisMain.Set BulbOff, "10", 150
  1614. LightTyrellMain.Set BulbOff, "10", 150
  1615. LightSebastianMain.Set BulbOff,"10", 150
  1616. LightChewMain.Set BulbOff, "10", 150
  1617. LightRachaelMain.Set BulbOff, "10", 150
  1618. LightGaffMain.Set BulbOff, "10", 150
  1619. RachaelHit = 0
  1620. SebastianHit = 0
  1621. GaffHit = 0
  1622. PrisHit = 0
  1623. ZhoraHit = 0
  1624. LeonHit = 0
  1625. TyrellHit = 0
  1626. ChewHit = 0
  1627. LightRing1.State = BulbOff
  1628. LightRing2.State = BulbOff
  1629. LightRing3.State = BulbOff
  1630. LightRing4.State = BulbOff
  1631. LightRing5.State = BulbOff
  1632. LightRing6.State = BulbOff
  1633. LightRing7.State = BulbOff
  1634. LightRing8.State = BulbOff
  1635. End If
  1636. ModeActive = FALSE
  1637. TakeOffTimer.Enabled = FALSE
  1638. LightPurge1.State = BulbOff
  1639. LightPurge2.State = BulbOff
  1640. RangeTimer.Enabled = FALSE
  1641. If (ModeActive = TRUE) Then
  1642. ModeActive = FALSE
  1643. MissionHit = AdjMissionHit
  1644. End If
  1645. RedOff()
  1646. BR2049 = FALSE
  1647. SuperRamps = FALSE
  1648. SuperRampsTimer.Enabled = FALSE
  1649. LeftFlipper.SolenoidOff
  1650. RightFlipper.SolenoidOff
  1651. dof 101,0
  1652. dof 102,0
  1653. TiltRecoveryTimer.Set TRUE, 4500
  1654. End Sub
  1655.  
  1656.  
  1657.  
  1658.  
  1659.  
  1660. Sub TiltRecoveryTimer_Expired()
  1661. TiltRecoveryTimer.Enabled = FALSE
  1662. If (BallsOnPlayfield = 0) Then
  1663. BallStopper.Collidable = TRUE
  1664. HoloNeon1.Frame 3
  1665. HoloNeon4.Frame 10
  1666. HoloNeon7.Frame 15
  1667. HoloNeon6.Frame 11
  1668. NeonHotel.Frame 14
  1669. CokeSign.Frame 28
  1670. AtariSign.Frame 32
  1671. EffectMusic 1, PlayAndFadeIn, 0.6, 100
  1672. AllPlasOn()
  1673. LightSeqPF.StopPlay
  1674. QuoteBusy = TRUE: PlayMusic 2, "vo_DataRes"
  1675. EndOfBall()
  1676. Else
  1677. TiltCheck = TiltCheck + 1
  1678. Select Case TiltCheck
  1679. Case 1:
  1680. PopUp1.SolenoidOff
  1681. PlaySound "fx_DropDownR", 0.4
  1682. Popup1.SolenoidPulse(2000)
  1683. DiverterPush.SolenoidPulse(2000): PlaySound "fx_Punch2"
  1684. TiltRecoveryTimer.Set TRUE, 4000
  1685. Case 2:
  1686. PlayMusic 2, "vo_NotHelping"
  1687. PlaySound "fx_ScoopExit"
  1688. KickerBump.SolenoidPulse
  1689. TiltRecoveryTimer.Set TRUE, 3000
  1690. DMD.Text = "[yc][xc][f6]SEARCHING..."
  1691. DMD2.Text = "[yc][xc][f6]SEARCHING..."
  1692. Case 3:
  1693. TiltRecoveryTimer.Set TRUE, 400
  1694. Bumper1.SolenoidPulse
  1695. Case 4:
  1696. TiltRecoveryTimer.Set TRUE, 400
  1697. Bumper2.SolenoidPulse
  1698. Case 5:
  1699. Bumper3.SolenoidPulse
  1700. TiltRecoveryTimer.Set TRUE, 3000
  1701. Case 6:
  1702. DMD.Text = "[y3][xc][f6][b]REPLACING..."
  1703. DMD2.Text = "[y3][xc][f6][b]REPLACING..."
  1704. If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_GoingOn"
  1705. BallsOnPlayfield = 0
  1706. TiltRecoveryTimer.Set TRUE, 1500
  1707. End Select
  1708. End If
  1709. End Sub
  1710.  
  1711.  
  1712.  
  1713.  
  1714.  
  1715. Sub FuturePinball_MusicFinished(ByVal Channel)
  1716. Select Case Channel
  1717. Case 1:
  1718. TrackPlayed = TrackPlayed + 1
  1719. Select Case TrackPlayed
  1720. Case 1:
  1721. Select Case RandomNumber(4)
  1722. Case 1,4: PlayMusic 1, "Music_BRTrack2", FALSE, 0.6
  1723. Case 2: PlayMusic 1, "Music_BRTrack7", FALSE, 0.6
  1724. Case 3: PlayMusic 1, "Music_BRTrack11", FALSE, 0.6
  1725. End Select
  1726. Case 2: PlayMusic 1, "Music_BRTrack4", FALSE, 0.6
  1727. Case 3: PlayMusic 1, "Music_BRTrack5", FALSE, 0.6
  1728. Case 4: PlayMusic 1, "Music_BRTrack6", FALSE, 0.6
  1729. Case 5: PlayMusic 1, "Music_BRTrack9", FALSE, 0.6: TrackPlayed = 0
  1730. End Select
  1731. Case 2: QuoteTimer.Enabled = FALSE: QuoteBusy = FALSE
  1732. End Select
  1733. End Sub
  1734.  
  1735.  
  1736.  
  1737. Sub FuturePinball_NameEntryComplete(ByVal Position, ByVal Special)
  1738. If (Position = 1) Then
  1739. AllPlasOff()
  1740. LightSeqPF.Play SeqBlinking, ,12, 200
  1741. WhiteFlash()
  1742. FlashersOff.Set TRUE, 7100
  1743. FlasherL.FlashForMs 7000, 200, BulbOff
  1744. Flasher1.FlashForMs 7000, 200, BulbOff
  1745. FlasherM.FlashForMs 7000, 200, BulbOff
  1746. PlayMusic 1, "Music_HS", FALSE, 0.7
  1747. PlayMusic 2, "vo_TopPerformance", FALSE, 1, 1000
  1748. DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1749. DMD.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1750. DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1751. DMD.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1752. DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1753. DMD.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1754. DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1755. DMD.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1756. DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1757. DMD.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1758. DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1759. DMD.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 800, FALSE
  1760. DMD.QueueText "[f7][y1]WELL PLAYED[f3][y7]HIGHEST SCORE", deFlip, 3000, FALSE
  1761. DMD.QueueText "[f7][y1]YOU ARE A[f3][y7]BLADE RUNNER", deScrollIn, 1000, TRUE
  1762.  
  1763. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1764. DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1765. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1766. DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1767. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1768. DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1769. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1770. DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1771. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1772. DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1773. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
  1774. DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 800, FALSE
  1775. DMD2.QueueText "[f7][y3]WELL PLAYED[f3][y18]HIGHEST SCORE", deFlip, 3000, FALSE
  1776. DMD2.QueueText "[f7][y3]YOU ARE A[f3][y18]BLADE RUNNER", deScrollIn, 1000, TRUE
  1777. TopBR = TRUE: GameEndDelay.Set TRUE, 7500
  1778. Exit Sub
  1779. End If
  1780. If (Position = 2) Then
  1781. If (JoiOn = TRUE) Then
  1782. PlayMusic 2, "vo_JoiGoodJoe2": CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
  1783. Else
  1784. PlayMusic 2, "vo_Impressed"
  1785. End If
  1786. DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1787. DMD.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1788. DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1789. DMD.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1790. DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1791. DMD.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1792. DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1793. DMD.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1794. DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1795. DMD.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1796. DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1797. DMD.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 800, FALSE
  1798. DMD.QueueText "[f7][y1]WELL PLAYED[f3][y7]2ND POSITION", deFlip, 2000, FALSE
  1799. DMD.QueueText "[yc][xc][f5][b]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deFlip, 2000, TRUE
  1800.  
  1801. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1802. DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1803. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1804. DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1805. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1806. DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1807. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1808. DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1809. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1810. DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1811. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
  1812. DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 800, FALSE
  1813. DMD2.QueueText "[f7][y3]WELL PLAYED[f3][y18]2ND POSITION", deFlip, 2000, FALSE
  1814. DMD2.QueueText "[yc][xc][f5][b]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deFlip, 2000, TRUE
  1815. GameEndDelay.Set TRUE, 4000
  1816. Exit Sub
  1817. End If
  1818. If (Position = 3) Then
  1819. If (JoiOn = TRUE) Then
  1820. PlayMusic 2, "vo_JoiGoodJoe2": CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
  1821. Else
  1822. PlayMusic 2, "vo_Impressed"
  1823. End If
  1824. 'PlayMusic 2, "vo_Revel"
  1825. DMD.QueueText "[f7][y3]WELL PLAYED[f3][y7]3RD POSITION", deFlip, 2000, FALSE
  1826. DMD.QueueText "[yc][xc][f5][b]"& left(nvHighScore3Name,3) & " - " & FormatNumber(nvHighScore3, 0, -1, 0, -1), deFlip, 2000, TRUE
  1827. DMD2.QueueText "[f7][y3]WELL PLAYED[f3][y18]3RD POSITION", deFlip, 2000, FALSE
  1828. DMD2.QueueText "[yc][xc][f5][b]"& left(nvHighScore3Name,3) & " - " & FormatNumber(nvHighScore3, 0, -1, 0, -1), deFlip, 2000, TRUE
  1829. GameEndDelay.Set TRUE, 4000
  1830. Exit Sub
  1831. End If
  1832. If (Position > 9) Then
  1833. Select Case RandomNumber(2)
  1834. Case 1: PlayMusic 2, "vo_BadOne"
  1835. Case 2: PlayMusic 2, "vo_Quit"
  1836. End Select
  1837. DMD.Text = "[yc][xc][f5][b]PLAY BETTER"
  1838. DMD2.Text = "[yc][xc][f5][b]PLAY BETTER"
  1839. GameEndDelay.Set TRUE, 4000
  1840. Exit Sub
  1841. End If
  1842. If (Special <> 0) Then
  1843. End If
  1844. bEnteringAHighScore = FALSE
  1845. EndOfBallComplete()
  1846. End Sub
  1847.  
  1848.  
  1849.  
  1850. Sub GameEndDelay_Expired()
  1851. GameEndDelay.Enabled = FALSE
  1852. bEnteringAHighScore = FALSE
  1853. EndOfBallComplete()
  1854. End Sub
  1855.  
  1856.  
  1857.  
  1858.  
  1859. ' **************************************************************
  1860. ' ** **
  1861. ' ** GAME IN PLAY FUNCTIONS **
  1862. ' ** **
  1863. ' **************************************************************
  1864.  
  1865.  
  1866. Sub ResetForNewGame()
  1867. Dim i
  1868. InitTrakedSoundBalls()
  1869. BGReflect.Render = TRUE
  1870. BumpAttract.Enabled = FALSE
  1871. AttractTimer.Enabled = FALSE
  1872. MusicResume.Enabled = FALSE
  1873. ScoopyDoo = 0
  1874. QuoteBusy = FALSE
  1875. PlayMusic 2: StopMusic 3
  1876. AllPlasOn()
  1877. BeginGame()
  1878. SignOffTimer.Enabled = FALSE
  1879.  
  1880. nvTotalGamesPlayed = nvTotalGamesPlayed + 1
  1881. CurrentPlayer = 1
  1882. PlayersPlayingGame = 1
  1883. bOnTheFirstBall = TRUE
  1884. SpinLaunch = 0
  1885. Spin2049 = FALSE
  1886. ' upgrade shop adjustments...
  1887. SnakeHit = AdjSnakeHit
  1888. SRTime = AdjSRTime
  1889. RangeValue = AdjRangeValue
  1890. VKValue = AdjVKValue
  1891. PhotoValue = AdjPhotoValue
  1892. BumpVal = AdjBumpVal
  1893. RampValue = AdjRampValue
  1894. RangeTime = AdjRangeTime
  1895.  
  1896. SnakePlay = FALSE
  1897. HoloNeon1.Frame 3
  1898. HoloNeon4.Frame 10
  1899. HoloNeon7.Frame 15
  1900. HoloNeon6.Frame 11
  1901. NeonHotel.Frame 14
  1902. CokeSign.Frame 28
  1903. AtariSign.Frame 31
  1904. Ass = 0
  1905. BattyReady = FALSE
  1906. SSValue = 1000
  1907. RangeComp = 0
  1908. RampHit = 0
  1909. Floor = 0
  1910. BuyIn = TRUE
  1911. BuyInActive = FALSE
  1912.  
  1913. LightLeonMain.Set BulbOff, "10", 150
  1914. LightZhoraMain.Set BulbOff, "10", 150
  1915. LightPrisMain.Set BulbOff, "10", 150
  1916. LightTyrellMain.Set BulbOff, "10", 150
  1917. LightSebastianMain.Set BulbOff,"10", 150
  1918. LightChewMain.Set BulbOff, "10", 150
  1919. LightRachaelMain.Set BulbOff, "10", 150
  1920. LightGaffMain.Set BulbOff, "10", 150
  1921.  
  1922. RachaelHit = 0
  1923. SebastianHit = 0
  1924. GaffHit = 0
  1925. PrisHit = 0
  1926. ZhoraHit = 0
  1927. LeonHit = 0
  1928. TyrellHit = 0
  1929. ChewHit = 0
  1930.  
  1931. KillLeon = FALSE
  1932.  
  1933. LightRing1.State = BulbOff
  1934. LightRing2.State = BulbOff
  1935. LightRing3.State = BulbOff
  1936. LightRing4.State = BulbOff
  1937. LightRing5.State = BulbOff
  1938. LightRing6.State = BulbOff
  1939. LightRing7.State = BulbOff
  1940. LightRing8.State = BulbOff
  1941.  
  1942. LightBlade.Set BulbOff, "10", 125
  1943. LightCentre.Set BulbOff, "10", 125
  1944. LightRunner.Set BulbOff, "10", 125
  1945.  
  1946. LightSAVE1.Set BulbOff, "10", 150
  1947. LightSAVE2.Set BulbOff, "10", 150
  1948. LightSAVE3.Set BulbOff, "10", 150
  1949. LightSAVE4.Set BulbOff, "10", 150
  1950.  
  1951. LightLeft1.Set BulbOff, "10", 125
  1952. LightLeft2.Set BulbOff, "10", 125
  1953. LightLeft3.Set BulbOff, "10", 125
  1954.  
  1955. ' the mission arrows...
  1956. LightDT.Set BulbOff, "10", 150
  1957. LightLO3.Set BulbOff, "10", 150
  1958. LightLaneL.Set BulbOff, "10", 150
  1959. LightRampL.Set BulbOff, "10", 150
  1960. LightCentrePurge.Set BulbOff, "10", 150
  1961. LightRampR.Set BulbOff, "10", 150
  1962. LightLaneR.Set BulbOff, "10", 150
  1963. LightRep.Set BulbOff, "10", 150
  1964. LightMode.Set BulbOff, "10", 150
  1965.  
  1966. LightSuperPops.State = BulbOff
  1967. LightTyrell.State = BulbOff
  1968. LightSuperRampL.State = BulbOff
  1969. LightSuperRampR.State = BulbOff
  1970. LightSnakePit.State = BulbOff
  1971.  
  1972. LightSnakePit2.State = BulbOn
  1973.  
  1974. LightNew.State = BulbOff
  1975. LightCase.State = BulbOff
  1976. LightElevator.State = BulbOff
  1977.  
  1978. LightRange.State = BulbOff
  1979. LightVK.State = BulbOff
  1980. LightPhoto.State = BulbOff
  1981.  
  1982. FlashPoliceL.State = BulbOff
  1983. FlashPoliceR.State = BulbOff
  1984.  
  1985. LightNexusL.State = BulbOff
  1986. LightNexusR.State = BulbOff
  1987.  
  1988. LightElevator.State = BulbOff
  1989.  
  1990. For i = 1 To constMaxPlayers
  1991. BonusPoints(i) = 0
  1992. BonusMultiplier(i) = 1
  1993. BallsRemaining(i) = nvBallsPerGame
  1994. ExtraBallsAwards(i) = 0
  1995. Next
  1996.  
  1997. OverlayMovie.Frame 208: OverlayMovieHUD.Frame 208
  1998.  
  1999. bMultiBallMode = FALSE
  2000. EffectMusic 1, FadeOutAndStop, 0, 500
  2001.  
  2002. If (QuoteBusy = FALSE) Then
  2003. Select Case RandomNumber(5)
  2004. Case 1: PlayMusic 2, "vo_Deckard": Time = 2000
  2005. Case 2: PlayMusic 2, "vo_Deckard2": Time = 1200
  2006. Case 3: PlayMusic 2, "vo_NeedBladeRunner": Time = 2400
  2007. OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885
  2008. MovieTimer.Set TRUE, 2400
  2009. Case 4,5: PlayMusic 2, "vo_GoodLuck": Time = 1100
  2010. End Select
  2011. Else
  2012. Time = 500
  2013. End If
  2014.  
  2015. DMD.FlushQueue: DMD2.FlushQueue
  2016.  
  2017. ' show the player that the last game upgrade is now active...
  2018. Select Case Upgrade
  2019. Case 1:
  2020. PlaySound "fx_19", 0.6
  2021. Time = 2400
  2022. DMD.QueueText "[y1][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2023. DMD.QueueText "[f7][y3]BALL SAVER[y18]TIMER + 3 SECS", deNone, 1000, TRUE
  2024. DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2025. DMD2.QueueText "[f7][y3]BALL SAVER[y18]TIMER + 3 SECS", deNone, 1000, TRUE
  2026. Case 2:
  2027. PlaySound "fx_19", 0.6
  2028. Time = 2400
  2029. DMD.QueueText "[y1][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2030. DMD.QueueText "[f7][y3]RANGE TARGETS[y18]VALUE INCREASED", deNone, 1000, TRUE
  2031. DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2032. DMD2.QueueText "[f7][y3]RANGE TARGETS[y18]VALUE INCREASED", deNone, 1000, TRUE
  2033. Case 3:
  2034. PlaySound "fx_19", 0.6
  2035. Time = 2400
  2036. DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2037. DMD.QueueText "[f7][y3]SUPER RAMPS[y18]VALUE INCREASED", deNone, 1000, TRUE
  2038. DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2039. DMD2.QueueText "[f7][y3]SUPER RAMPS[y18]VALUE INCREASED", deNone, 1000, TRUE
  2040. Case 4:
  2041. PlaySound "fx_19", 0.6
  2042. Time = 2400
  2043. DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2044. DMD.QueueText "[f7][y3]VOIGT-KAMPFF[y18]TARGETS INCREASED", deNone, 1000, TRUE
  2045. DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2046. DMD2.QueueText "[f7][y3]VOIGT-KAMPFF[y18]TARGETS INCREASED", deNone, 1000, TRUE
  2047. Case 5:
  2048. PlaySound "fx_19", 0.6
  2049. Time = 2400
  2050. DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2051. DMD.QueueText "[f7][y3]PHOTO SCANNER[y18]TARGETS INCREASED", deNone, 1000, TRUE
  2052. DMD2.QueueText "[yc][xc][f5][bf]UPGRADED", deNone, 1000, FALSE
  2053. DMD2.QueueText "[f7][y3]PHOTO SCANNER[y18]TARGETS INCREASED", deNone, 1000, TRUE
  2054. Case 6:
  2055. PlaySound "fx_19", 0.6
  2056. Time = 2400
  2057. DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2058. DMD.QueueText "[f7][y3]MISSION SHOT[y18]VALUE INCREASED", deNone, 1000, TRUE
  2059. DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2060. DMD2.QueueText "[f7][y3]MISSION SHOT[y18]VALUE INCREASED", deNone, 1000, TRUE
  2061. Case 7:
  2062. PlaySound "fx_19", 0.6
  2063. Time = 2400
  2064. DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2065. DMD.QueueText "[f7][y3]BUMPER VALUE[y18]INCREASED", deNone, 1000, TRUE
  2066. DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2067. DMD2.QueueText "[f7][y3]BUMPER VALUE[y18]INCREASED", deNone, 1000, TRUE
  2068. Case 8:
  2069. PlaySound "fx_19", 0.6
  2070. Time = 2400
  2071. DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2072. DMD.QueueText "[f7][y3]RANGE - RAMP[y18]TIMERS EXTENDED", deNone, 1000, TRUE
  2073. DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2074. DMD2.QueueText "[f7][y3]RANGE - RAMP[y18]TIMERS EXTENDED", deNone, 1000, TRUE
  2075. Case 9:
  2076. PlaySound "fx_19", 0.6
  2077. Time = 2400
  2078. DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2079. DMD.QueueText "[f7][y3]MYSTERY READY[y18]WITH 2 LESS HITS", deNone, 1000, TRUE
  2080. DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2081. DMD2.QueueText "[f7][y3]MYSTERY READY[y18]WITH 2 LESS HITS", deNone, 1000, TRUE
  2082. Case 10:
  2083. PlayMusic 2, "vo_Eminator", FALSE, 1, 800
  2084. Time = 2400
  2085. DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2086. DMD.QueueText "[f7][y3]JOI COMPANION[y18]IS ACTIVATED", deNone, 1000, TRUE
  2087. DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
  2088. DMD2.QueueText "[f7][y3]JOI COMPANION[y18]IS ACTIVATED", deNone, 1000, TRUE
  2089. Case else
  2090. DMD.Text = "[yC][xc][f6]GOOD LUCK"
  2091. DMD2.Text = "[yC][xc][f6]GOOD LUCK"
  2092. End Select
  2093.  
  2094. If (JoiReady = TRUE) Then
  2095. JoiReady = FALSE: JoiOn = TRUE
  2096. PlaySound "fx_JoiOn"
  2097. CokeSign.UpdateInterval = 66: CokeSign.Frame 200, 247: SignOffTimer.Set TRUE, 4000
  2098. End If
  2099.  
  2100. FirstBallDelayTimer.Interval = Time
  2101. FirstBallDelayTimer.Enabled = TRUE
  2102. End Sub
  2103.  
  2104.  
  2105.  
  2106.  
  2107. Sub FirstBallDelayTimer_Expired()
  2108. FirstBallDelayTimer.Enabled = FALSE
  2109. TrackPlayed = 0
  2110. PlayMusic 1, "Music_BRTrack1", FALSE, 0.6
  2111. ResetForNewPlayerBall()
  2112. CreateNewBall()
  2113. End Sub
  2114.  
  2115.  
  2116.  
  2117.  
  2118. Sub ResetForNewPlayerBall()
  2119.  
  2120. OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
  2121. OverlayMovie.Frame 209, 210, 209: OverlayMovieHUD.Frame 209, 210, 209
  2122.  
  2123. QuoteBusy = FALSE
  2124.  
  2125. NewBall = TRUE
  2126. DT_1.PopDown
  2127. DT_2.PopDown
  2128. DT_3.PopDown
  2129. DT_4.PopDown
  2130.  
  2131. LightLaneL.State = BulbOff
  2132. LightLaneR.State = BulbOff
  2133.  
  2134. LightSAVE1.State = BulbOff
  2135. LightSAVE2.State = BulbOff
  2136. LightSAVE3.State = BulbOff
  2137. LightSAVE4.State = BulbOff
  2138.  
  2139. LightPurge1.State = BulbOff
  2140. LightPurge2.State = BulbOff
  2141.  
  2142. LightCentrePurge.State = BulbOff
  2143.  
  2144. LightLeft1.State = BulbBlink
  2145. LightLeft2.State = BulbBlink
  2146. LightLeft3.State = BulbBlink
  2147.  
  2148. LightCentre.State = BulbOff
  2149. LightBlade.State = BulbBlink
  2150. LightRunner.State = BulbBlink
  2151. LightTyrell.State = BulbOff
  2152.  
  2153. LightRO1.State = BulbOff
  2154. LightRO2.State = BulbOff
  2155.  
  2156. LightLO3.State = BulbOff
  2157.  
  2158. LightRampL.State = BulbOff
  2159. LightRampR.State = BulbOff
  2160.  
  2161. LightNexusL.State = BulbOff
  2162. LightNexusR.State = BulbOff
  2163.  
  2164. LightNew.State = BulbBlink
  2165. LightCase.State = BulbBlink
  2166.  
  2167. LightDT.State = BulbOff
  2168.  
  2169. LightRep.State = BulbOff
  2170.  
  2171. MagnetActive = FALSE
  2172.  
  2173. 'RachaelHit = 0
  2174. 'SebastianHit = 0
  2175. 'GaffHit = 0
  2176. 'PrisHit = 0
  2177. 'ZhoraHit = 0
  2178. 'LeonHit = 0
  2179. 'TyrellHit = 0
  2180. 'ChewHit = 0
  2181.  
  2182. SuperSpin = 0
  2183. PFScore = 1
  2184. BumpHit = 0
  2185. SaveMe = 0
  2186.  
  2187. LightRing1.State = BulbOff
  2188. LightRing2.State = BulbOff
  2189. LightRing3.State = BulbOff
  2190. LightRing4.State = BulbOff
  2191. LightRing5.State = BulbOff
  2192. LightRing6.State = BulbOff
  2193. LightRing7.State = BulbOff
  2194. LightRing8.State = BulbOff
  2195.  
  2196. ShootAgainLight.State = BulbOff
  2197. SetBonusMultiplier(1)
  2198.  
  2199. 'f (BallsRemaining(CurrentPlayer) = 1) Then
  2200. 'Else
  2201. ' If (bOnTheFirstBall = FALSE) Then
  2202. ' End If
  2203. 'End If
  2204. End Sub
  2205.  
  2206.  
  2207.  
  2208.  
  2209. Sub CreateNewBall()
  2210. dof 108,2
  2211. PlungerKicker.CreateBall: AddTrackedBall(PlungerKicker)
  2212. BallsOnPlayfield = BallsOnPlayfield + 1
  2213. PlungerKicker.SolenoidPulse
  2214. If (NewBall = TRUE) Then
  2215. DMD.FlushQueue: DMD2.FlushQueue
  2216. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]F I R E", deNone, 50, FALSE
  2217. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]F I R E", deNone, 50, FALSE
  2218. DMD.QueueText "[yc][xc][f6]F I R E", deNone, 50, FALSE
  2219. DMD2.QueueText "[yc][xc][f6]F I R E", deNone, 50, FALSE
  2220. End If
  2221. End Sub
  2222.  
  2223.  
  2224.  
  2225. Sub AutoFire_Expired()
  2226. AutoFire.Enabled = FALSE
  2227. dof 109,2
  2228. PlaySound "fx_GunShot2"
  2229. Plunger.SolenoidPulse
  2230. StartButtonBulb.FlashForMs 200, 50, BulbOff
  2231. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 400
  2232. LightSeqPF.UpdateInterval = 5
  2233. LightSeqPF.Play SeqUpOn, 20
  2234. 'LightSeqGI.Play SeqBlinking, , 1, 125
  2235. End Sub
  2236.  
  2237.  
  2238. Sub LightSeqPF_Empty()
  2239. LightSeqPF.UpdateInterval = 10
  2240. End Sub
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247. Sub MusicResume_Expired()
  2248. MusicResume.Enabled = FALSE
  2249. If (BR2049 = TRUE) Then Exit Sub
  2250. If (fpGameInPlay = FALSE) Then EffectMusic 1, PlayAndFadeIn, 0.4, 100: Exit Sub
  2251. EffectMusic 4, FadeOutAndStop, 0, 500
  2252. If (ModeActive = TRUE) Then
  2253. EffectMusic 5, PlayAndFadeIn, 0.6, 100
  2254. Else
  2255. EffectMusic 1, PlayAndFadeIn, 0.6, 100
  2256. End If
  2257. End Sub
  2258.  
  2259.  
  2260.  
  2261.  
  2262. ' ******************************
  2263. ' ** **
  2264. ' ** DRAIN **
  2265. ' ** **
  2266. ' ******************************
  2267.  
  2268.  
  2269.  
  2270. Sub Drain_Hit()
  2271. Drain.DestroyBall: DeleteTrackedBall(Drain)
  2272.  
  2273. ' Joi will save the ball during the grace period...
  2274. If (IgnoreHit = TRUE) Then IgnoreHit = FALSE: PlaySound "fx_Drain": Exit Sub
  2275.  
  2276. BallsOnPlayfield = BallsOnPlayfield - 1
  2277. PlaySound "fx_Drain"
  2278. If (fpGameInPlay = TRUE) and (fpTilted = FALSE) Then
  2279. If (bBallSaverActive = TRUE) or (SaveMeTimer.Enabled = TRUE) Then
  2280. If (SaveMeTimer.Enabled = TRUE) Then
  2281. SaveMe = 1
  2282. DMD.Text = "[yc][xc][f6][bf]RAMP SAVER"
  2283. DMD2.Text = "[yc][xc][f6][bf]RAMP SAVER"
  2284. If (JoiOn = TRUE) and (QuoteBusy = FALSE) Then
  2285. QuoteBusy = TRUE: PlayMusic 2, "vo_JoiFixThat": CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
  2286. AutoFire.Set TRUE, 1200
  2287. Else
  2288. AllPlasOff()
  2289. LightSeqPF.Play SeqBlinking, , 4, 75
  2290. PlaySound "fx_26"
  2291. End If
  2292. AutoFire.Set TRUE, 600
  2293. CreateNewBall()
  2294. Else
  2295. DMD.Text = "[yc][xc][f6][bf]DON'T MOVE"
  2296. DMD2.Text = "[yc][xc][f6][bf]DON'T MOVE"
  2297. If (QuoteBusy = FALSE) Then
  2298. QuoteBusy = TRUE
  2299. If (BattyMode = TRUE) Then
  2300. PlayMusic 2, "vo_Deckard3"
  2301. Else
  2302. Select Case RandomNumber(3)
  2303. Case 1: PlayMusic 2, "vo_Laugh"
  2304. Case 2: PlayMusic 2, "vo_HumanAgain"
  2305. Case 3: PlayMusic 2, "vo_DontMove"
  2306. End Select
  2307. End If
  2308. End If
  2309. AutoFire.Set TRUE, 1200
  2310. NewBallDelay.Set TRUE, 600
  2311. End If
  2312. Else
  2313. If (BallsOnPlayfield = 1) Then
  2314. If (bMultiBallMode = True) then
  2315. bMultiBallMode = False
  2316. End If
  2317. End If
  2318.  
  2319. If (BallsOnPlayfield = 0) Then
  2320. If (ModeActive = TRUE) Then
  2321. ModeActive = FALSE
  2322. MissionHit = AdjMissionHit
  2323. StopMusic 5
  2324. EffectMusic 1, PlayAndFadeIn, 0.6, 100
  2325. DMD.FlushQueue
  2326. DMD.QueueText "[y3][xc][f3][b]ASSIGNMENT[y18][f3]INCOMPLETE", deNone, 2000, TRUE
  2327. DMD2.QueueText "[y3][xc][f3][b]ASSIGNMENT[y18][f3]INCOMPLETE", deNone, 2000, TRUE
  2328. OverlayMovie.UpdateInterval = 1000: OverlayMovieHUD.UpdateInterval = 1000
  2329. OverlayMovie.Frame 593,594: OverlayMovieHUD.Frame 593,594
  2330. MovieTimer.Set TRUE, 2500
  2331. Else
  2332. OverlayMovie.Frame 211: OverlayMovieHUD.Frame 211
  2333. If (DMDBusy = FALSE) Then
  2334. DMD.Text = "[yc][xc][f6][b]BALL LOST"
  2335. DMD2.Text = "[yc][xc][f6][b]BALL LOST"
  2336. End If
  2337. End If
  2338. If (LeonMode = TRUE) Then
  2339. LeonMode = FALSE: KillLeon = FALSE
  2340. LightLeonMain.State = BulbOff
  2341. LightRO1.State = BulbOff
  2342. LightRO2.State = BulbOff
  2343. If (QuoteBusy = FALSE) Then
  2344. QuoteBusy = TRUE
  2345. Select Case RandomNumber(2)
  2346. Case 1: PlayMusic 2, "vo_PartOfTest", FALSE, 1, 500
  2347. Case 1: PlayMusic 2, "vo_WarmingUp", FALSE, 1, 500
  2348. End Select
  2349. End If
  2350. End If
  2351. If (ZhoraMode = TRUE) Then
  2352. ZhoraMode = FALSE
  2353. LightZhoraMain.State = BulbOff
  2354. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ForReal", FALSE, 1, 500
  2355. End If
  2356. If (PrisMode = TRUE) Then
  2357. PrisMode = FALSE
  2358. LightPrisMain.State = BulbOff
  2359. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_LikeYou", FALSE, 1, 500
  2360. End If
  2361. If (TyrellMode = TRUE) Then
  2362. TyrellMode = FALSE
  2363. LightTyrellMain.State = BulbOff
  2364. LightElevator.State = BulbOff
  2365. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_NotToLast", FALSE, 1, 500
  2366. End If
  2367. If (SebastianMode = TRUE) Then
  2368. SebastianMode = FALSE
  2369. LightSebastianMain.State = BulbOff
  2370. LightElevator.State = BulbOff
  2371. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_GrowOldTooFast", FALSE, 1, 500
  2372. End If
  2373. If (ChewMode = TRUE) Then
  2374. ChewMode = FALSE
  2375. LightChewMain.State = BulbOff
  2376. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ChewTalk3"
  2377. End If
  2378. If (RachaelMode = TRUE) Then
  2379. RachaelMode = FALSE
  2380. LightRachaelMain.State = BulbOff
  2381. If (QuoteBusy = FALSE) Then
  2382. QuoteBusy = TRUE
  2383. Select Case RandomNumber(2)
  2384. Case 1: PlayMusic 2, "vo_DontThinkSo", FALSE, 0.7, 500
  2385. Case 2: PlayMusic 2, "vo_WontLive", FALSE, 1, 500
  2386. OverlayMovie.Frame 884: OverlayMovieHUD.Frame 884
  2387. MovieTimer.Set TRUE, 2000
  2388. End Select
  2389. End If
  2390. End If
  2391. If (GaffMode = TRUE) Then
  2392. GaffMode = FALSE
  2393. LightGaffMain.State = BulbOff
  2394. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Pathetic2", FALSE, 0.7, 500
  2395. End If
  2396.  
  2397. ' drain during Batty and the main missions reset...
  2398. If (BattyMode = TRUE) Then
  2399. BattyMode = FALSE
  2400. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_WhereGoing"
  2401. LightLeonMain.Set BulbOff, "10", 150
  2402. LightZhoraMain.Set BulbOff, "10", 150
  2403. LightPrisMain.Set BulbOff, "10", 150
  2404. LightTyrellMain.Set BulbOff, "10", 150
  2405. LightSebastianMain.Set BulbOff,"10", 150
  2406. LightChewMain.Set BulbOff, "10", 150
  2407. LightRachaelMain.Set BulbOff, "10", 150
  2408. LightGaffMain.Set BulbOff, "10", 150
  2409. RachaelHit = 0
  2410. SebastianHit = 0
  2411. GaffHit = 0
  2412. PrisHit = 0
  2413. ZhoraHit = 0
  2414. LeonHit = 0
  2415. TyrellHit = 0
  2416. ChewHit = 0
  2417. LightRing1.State = BulbOff
  2418. LightRing2.State = BulbOff
  2419. LightRing3.State = BulbOff
  2420. LightRing4.State = BulbOff
  2421. LightRing5.State = BulbOff
  2422. LightRing6.State = BulbOff
  2423. LightRing7.State = BulbOff
  2424. LightRing8.State = BulbOff
  2425. End If
  2426.  
  2427. TakeOffTimer.Enabled = FALSE
  2428. LightPurge1.State = BulbOff
  2429. LightPurge2.State = BulbOff
  2430. LightBlade.State = BulbBlink
  2431. LightRunner.State = BulbBlink
  2432. LightCentre.State = BulbOff
  2433.  
  2434. StopMusic 6
  2435.  
  2436. If (ShootingMode = TRUE) Then
  2437. 'ShootingMode = FALSE
  2438. 'LightRange.State = BulbOff
  2439. RangeTimer_Expired()
  2440. End If
  2441. If (VKMode = TRUE) Then
  2442. 'VKMode = FALSE
  2443. 'LightVK.State = BulbOff
  2444. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_TestYourself", FALSE, 0.7, 500
  2445. RangeTimer_Expired()
  2446. End If
  2447. If (PhotoMode = TRUE) Then
  2448. 'PhotoMode = FALSE
  2449. 'LightPhoto.State = BulbOff
  2450. RangeTimer_Expired()
  2451. End If
  2452. If (SuperRamps = TRUE) Then
  2453. EffectMusic 5, FadeOutAndStop, 0, 500
  2454. EffectMusic 1, PlayAndFadeIn, 0.6, 500
  2455. SuperRamps = FALSE
  2456. SuperRampsTimer.Enabled = FALSE
  2457. End If
  2458. RedOff()
  2459. EndOfBall()
  2460. End If
  2461. End If
  2462. End If
  2463. End Sub
  2464.  
  2465.  
  2466.  
  2467.  
  2468.  
  2469. Sub EndOfBall()
  2470. Dim BonusDelayTime
  2471. DMDTimer.Enabled = FALSE
  2472. PlaySound "fx_14"
  2473. bOnTheFirstBall = FALSE
  2474.  
  2475. If (fpTilted = FALSE) Then
  2476. Dim AwardPoints
  2477. If (BonusMultiplier(CurrentPlayer) =>2) Then
  2478. AwardPoints = BonusPoints(CurrentPlayer) * BonusMultiplier(CurrentPlayer)
  2479. AddScore(AwardPoints)
  2480. DMD.QueueText " ", deNone, 300, FALSE: DMD2.QueueText " ", deNone, 300, FALSE
  2481.  
  2482. DMD.QueueText "[yc][xc][f6]BONUS ", deNone, 300, FALSE
  2483. DMD.QueueText "[yc][xc][f6]BONUS X ", deNone, 300, FALSE
  2484. DMD.QueueText "[y1][xc][f6]BONUS X " & BonusMultiplier(CurrentPlayer), deNone, 500, FALSE
  2485. DMD.QueueText "[y3][xc][f7]TOTAL BONUS[y7][f3]$ " & FormatNumber(AwardPoints, 0, -1, 0, -1), deFlip, 300, FALSE
  2486. DMD.QueueText "[y1][xc][f7]TOTAL BONUS[b][y7][f3]$ " & FormatNumber(AwardPoints, 0, -1, 0, -1), deNone, 1000, TRUE
  2487.  
  2488. DMD2.QueueText "[yc][xc][f6]BONUS ", deNone, 300, FALSE, "fx_Hit6"
  2489. DMD2.QueueText "[yc[xc][f6]BONUS X ", deNone, 300, FALSE, "fx_Hit6"
  2490. DMD2.QueueText "[yc][xc][f6]BONUS X " & BonusMultiplier(CurrentPlayer), deNone, 500, FALSE, "fx_Hit3"
  2491. DMD2.QueueText "[y3][xc][f3]TOTAL BONUS[y18][f3]$ " & FormatNumber(AwardPoints, 0, -1, 0, -1), deFlip, 300, FALSE, "fx_Whoosh"
  2492. DMD2.QueueText "[y3][xc][f3]TOTAL BONUS[b][y18][f3]$ " & FormatNumber(AwardPoints, 0, -1, 0, -1), deNone, 1000, TRUE
  2493.  
  2494. BonusDelayTime = 3600
  2495.  
  2496. 'DMD2.QueueText "[y1][xc][f1]BONUS X " & BonusMultiplier(CurrentPlayer) & "[y7][f3]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deNone, 800, FALSE
  2497. 'DMD2.QueueText "[y1][xc][f1]BONUS X " & BonusMultiplier(CurrentPlayer) & "[b][y7][f3]$ " & FormatNumber(AwardPoints, 0, -1, 0, -1), deNone, 2000, TRUE, "fx_Hit10"
  2498. Else
  2499. AwardPoints = BonusPoints(CurrentPlayer)
  2500. AddScore(AwardPoints)
  2501. DMD.QueueText " ", deNone, 300, FALSE: DMD2.QueueText " ", deNone, 300, FALSE
  2502. DMD.QueueText "[y1][xc][f6]NO MULTIPLIER", deNone, 800, FALSE
  2503. DMD.QueueText "[y1][xc][f7]TOTAL BONUS[y7][f3]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deFlip, 300, FALSE
  2504. DMD.QueueText "[y1][xc][f7]TOTAL BONUS[y7][f3][b]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deNone, 1000, TRUE
  2505.  
  2506. DMD2.QueueText "[yc][xc][f6]NO MULTIPLIER", deNone, 800, FALSE, "fx_Hit6"
  2507. DMD2.QueueText "[y3][xc][f3]TOTAL BONUS[y18][f3]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deFlip, 300, FALSE, "fx_Whoosh"
  2508. DMD2.QueueText "[y3[xc][f3]TOTAL BONUS[y18][f3][b]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deNone, 1000, TRUE
  2509.  
  2510. 'DMD2.QueueText "[y1][xc][f1]BONUS X " & BonusMultiplier(CurrentPlayer) & "[y7][f3]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deNone, 800, FALSE
  2511. 'DMD2.QueueText "[y1][xc][f1]BONUS X " & BonusMultiplier(CurrentPlayer) & "[b][y7][f3]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deNone, 2000, TRUE, "fx_Hit10"
  2512. BonusDelayTime = 3000
  2513. End If
  2514. Else
  2515. BonusDelayTime = 300
  2516. End If
  2517.  
  2518. EndOfBallTimer.Interval = BonusDelayTime
  2519. EndOfBallTimer.Enabled = TRUE
  2520. End Sub
  2521.  
  2522.  
  2523.  
  2524.  
  2525. Sub EndOfBallTimer_Expired()
  2526.  
  2527. EndOfBallTimer.Enabled = FALSE
  2528.  
  2529. fpTilted = FALSE
  2530.  
  2531. If (ExtraBallsAwards(CurrentPlayer) > 0) Then
  2532.  
  2533. ExtraBallsAwards(CurrentPlayer) = ExtraBallsAwards(CurrentPlayer) - 1
  2534.  
  2535. If (ExtraBallsAwards(CurrentPlayer) = 0) Then
  2536. ShootAgainLight.State = BulbOff
  2537. End If
  2538. Clip = 11: PlayMovie()
  2539. DMD.Text = "[yc][xc][f6][bf]MORE LIFE"
  2540. DMD2.Text = "[yc][xc][f6][bf]MORE LIFE"
  2541. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_MoreLife"
  2542. EffectMusic 1, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 2300
  2543. PlayMusic 3, "Music_Cue2", FALSE, 0.7
  2544. ' the mission arrows...
  2545. LightDT.Set BulbOff, "10", 150
  2546. LightLO3.Set BulbOff, "10", 150
  2547. LightLaneL.Set BulbOff, "10", 150
  2548. LightRampL.Set BulbOff, "10", 150
  2549. LightCentrePurge.Set BulbOff, "10", 150
  2550. LightRampR.Set BulbOff, "10", 150
  2551. LightLaneR.Set BulbOff, "10", 150
  2552. LightRep.Set BulbOff, "10", 150
  2553.  
  2554. FlasherL.FlashForMs 1000, 75, BulbOff
  2555. FlasherM.FlashForMs 1000, 75, BulbOff
  2556. Flasher1.FlashForMs 1000, 75, BulbOff
  2557.  
  2558. CreateNewBall()
  2559. Else
  2560. BallsRemaining(CurrentPlayer) = BallsRemaining(CurrentPlayer) - 1
  2561. If (BallsRemaining(CurrentPlayer) <= 0) Then
  2562. If (BuyIn = TRUE) and (nvScore(CurrentPlayer) > 65000) Then
  2563. BuyIn = FALSE
  2564. DMD.FlushQueue: DMD2.FlushQueue
  2565. DMD.QueueText "[y3][xc][f3]CONTINUE GAME?[y18][f3]COST = $ 30,000", deNone, 1500, FALSE
  2566. DMD2.QueueText "[y3][xc][f3]CONTINUE GAME?[y18][f3]COST = $ 30,000", deNone, 1500, FALSE
  2567. DMD.QueueText "[y3][xc][f3]CONTINUE GAME?[y18][f3]< YES NO >", deNone, 1000, TRUE
  2568. DMD2.QueueText "[y3][xc][f3]CONTINUE GAME?[y18][f3]< YES NO >", deNone, 1000, TRUE
  2569. EffectMusic 1, FadeOutAndPause, 0, 100
  2570. PlayMusic 4, "Music_BackGround9"
  2571. If (QuoteBusy = FALSE) Then
  2572. QuoteBusy = TRUE
  2573. Select Case RandomNumber(2)
  2574. Case 1: PlayMusic 2, "vo_Continue"
  2575. Case 2: PlayMusic 2, "vo_Personal"
  2576. End Select
  2577. End If
  2578. BuyInActive = TRUE
  2579. Else
  2580. DMD.Text = "[yc][xc][f6]ENTER NAME"
  2581. DMD2.Text = "[yc][xc][f6]ENTER NAME"
  2582. PlayMusic 1, "Music_HSEntry"
  2583. bEnteringAHighScore = TRUE
  2584. EnterHighScore(CurrentPlayer)
  2585. End If
  2586. Else
  2587. AddScore(0)
  2588. EndOfBallComplete()
  2589. End If
  2590. End If
  2591. End Sub
  2592.  
  2593.  
  2594.  
  2595.  
  2596.  
  2597. Sub EndOfBallComplete()
  2598. Dim NextPlayer
  2599. If (PlayersPlayingGame > 1) Then
  2600. NextPlayer = CurrentPlayer + 1
  2601. If (NextPlayer > PlayersPlayingGame) Then
  2602. NextPlayer = 1
  2603. End If
  2604. Else
  2605. NextPlayer = CurrentPlayer
  2606. End If
  2607.  
  2608. If ((BallsRemaining(CurrentPlayer) <= 0) and (BallsRemaining(NextPlayer) <= 0)) Then
  2609.  
  2610. If (nvScore(CurrentPlayer) => 5000) and (NoShop = FALSE) Then
  2611. OverlayMovie.Frame 247: OverlayMovieHUD.Frame 247
  2612. PlayMusic 1, "Music_ComputerShort", TRUE, 0.8
  2613. If (QuoteBusy = FALSE) Then
  2614. Select Case RandomNumber(2)
  2615. Case 1: QuoteBusy = TRUE: PlayMusic 2, "vo_Modified"
  2616. Case 2: PlaySound "fx_ShopDoor" ' added to stop the vo playing all the time which adds tedium...
  2617. End Select
  2618. End If
  2619. DMD.Text = "[y2][xc][f3]UPGRADE SHOP[y18][f3]MODIFY NEXT GAME"
  2620. DMD2.Text = "[y3][xc][f3]UPGRADE SHOP[y18][f3]MODIFY NEXT GAME"
  2621. UpgradeTimer.Set TRUE, 2000
  2622. Else
  2623. EndOfGame()
  2624. End If
  2625. ' reset all base values here...
  2626. Upgrade = 0
  2627.  
  2628. If (Item1 = 0) Then BSTime = 12000 Else BSTime = 15000
  2629. If (Item2 = 0) Then AdjRangeValue = 500: RangeValue = 500 Else AdjRangeValue = 750: RangeValue = 750
  2630. If (Item3 = 0) Then AdjRampValue = 200: RampValue = 200 Else AdjRampValue = 300: RampValue = 300
  2631. If (Item4 = 0) Then AdjVKValue = 1000: VKValue = 1000 Else AdjVKValue = 1500: VKValue = 1500
  2632. If (Item5 = 0) Then AdjPhotoValue = 1500: PhotoValue = 1500 Else AdjPhotoValue = 2250: PhotoValue = 2250
  2633. If (Item6 = 0) Then AdjMissionHit = 500: MissionHit = 500 Else AdjMissionHit = 750: MissionHit = 750
  2634. If (Item7 = 0) Then AdjBumpVal = 70: BumpVal = 70 Else AdjBumpVal = 100: BumpVal = 100
  2635. If (Item8 = 0) Then AdjRangeTime = 20000: AdjSRTime = 13000: RangeTime = 20000: SRTime = 13000 Else AdjRangeTime = 25000: AdjSRTime = 15000: RangeTime = 25000: SRTime = 15000
  2636. If (Item9 = 0) Then AdjSnakeHit = 5: SnakeHit = 5 Else AdjSnakeHit = 3: SnakeHit = 3
  2637. Else
  2638. CurrentPlayer = NextPlayer
  2639.  
  2640. If (BallsRemaining(CurrentPlayer) = 1) Then
  2641. If (QuoteBusy = FALSE) and (LBPlay = TRUE) Then
  2642. LBPlay = FALSE
  2643. QuoteBusy = TRUE: PlayMusic 2, "vo_AngelsFell"
  2644. DelayNB.Set TRUE, 2300
  2645. Clip = 35: PlayMovie()
  2646. Else
  2647. MusicFade(1200)
  2648. PlaySound "fx_25"
  2649. DelayNB.Set TRUE, 1200
  2650. End If
  2651. DMD.Text = "[yc][xc][f6][b]LAST BALL"
  2652. DMD2.Text = "[yc][xc][f6][b]LAST BALL"
  2653. Else
  2654. ResetForNewPlayerBall()
  2655. CreateNewBall()
  2656. End If
  2657. End If
  2658. End Sub
  2659.  
  2660.  
  2661.  
  2662. Sub NewBallDelay_Expired()
  2663. NewBallDelay.Enabled = FALSE
  2664. CreateNewBall()
  2665. End Sub
  2666.  
  2667.  
  2668.  
  2669.  
  2670. Sub DelayNB_Expired()
  2671. DelayNB.Enabled = FALSE
  2672. ResetForNewPlayerBall()
  2673. CreateNewBall()
  2674. End Sub
  2675.  
  2676.  
  2677.  
  2678.  
  2679. Sub UpgradeTimer_Expired()
  2680. UpgradeTimer.Enabled = FALSE
  2681. Upgrade = 0: ShopActive = TRUE
  2682. DMD.Text = "[y2][xc][f3]CASH: $ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f2][b]NAVIGATE WITH FLIPPERS"
  2683. DMD2.Text = "[y3][xc][f3]CASH: $ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f2][b]NAVIGATE WITH FLIPPERS"
  2684. End Sub
  2685.  
  2686.  
  2687.  
  2688. Sub DelayEOB_Expired()
  2689. DelayEOB.Enabled = FALSE
  2690. If (IgnoreHit = FALSE) Then
  2691. DMD.Text = "[yc][xc][f6]ENTER NAME"
  2692. DMD2.Text = "[yc][xc][f6]ENTER NAME"
  2693. PlayMusic 1, "Music_HSEntry"
  2694. bEnteringAHighScore = TRUE
  2695. EnterHighScore(CurrentPlayer)
  2696. Else
  2697. IgnoreHit = FALSE
  2698. EndOfBallComplete()
  2699. End If
  2700. End Sub
  2701.  
  2702.  
  2703.  
  2704. Sub DelayEOG_Expired()
  2705. DelayEOG.Enabled = FALSE
  2706. EndOfGame()
  2707. End Sub
  2708.  
  2709.  
  2710. Dim NoShop
  2711.  
  2712.  
  2713. Sub EndOfGame()
  2714.  
  2715. OverlayHUD2.Frame 1: OverlayMovie2.Frame 1
  2716. OverlayMovieHUD.Frame 599: OverlayMovie.Frame 599
  2717.  
  2718. HoloNeon1.Frame 2, 3, 2
  2719.  
  2720. HoloNeon4.Frame 10
  2721. HoloNeon6.Frame 11
  2722. NeonHotel.Frame 14
  2723. HoloNeon7.Frame 15
  2724. CokeSign.UpdateInterval = 200
  2725. CokeSign.Frame 16, 28, 16
  2726. AtariSign.UpdateInterval = 250
  2727. AtariSign.Frame 30, 32, 30
  2728. BGReflect.Render = FALSE
  2729. AllPlasOff()
  2730. MovieTimer.Enabled = FALSE
  2731. NoShop = FALSE
  2732.  
  2733. DMD.FlushQueue
  2734.  
  2735. If (nvCredits =>1) Then
  2736. DMD.QueueText "[y3][xc][f3]GAME OVER[y18][f3][b]PRESS START", deNone, 4000, FALSE
  2737. DMD2.QueueText "[y3][xc][f3]GAME OVER[y18][f3][b]PRESS START", deNone, 4000, FALSE
  2738. Else
  2739. DMD.QueueText "[y3][xc][f3]GAME OVER[y18][f3][b]INSERT COIN", deNone, 4000, FALSE
  2740. DMD2.QueueText "[y3][xc][f3]GAME OVER[y18][f3][b]INSERT COIN", deNone, 4000, FALSE
  2741. End If
  2742.  
  2743. DMD.QueueText "[f3][y3]BLADE RUNNER[f3][y18][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deScrollRight, 4000, FALSE
  2744. DMD.QueueText "[f3][y3]2ND PLACE[f3][y18][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deScrollLeft, 4000, FALSE
  2745. DMD.QueueText "[f3][y3]3RD PLACE[f3][y18][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore3, 0, -1, 0, -1), deScrollRight, 4000, FALSE
  2746. DMD.QueueText "[f3][y3]CREATED BY[f3][y18]SLAMT1LT", deFlip, 3000, FALSE
  2747. DMD.QueueText "[f3][y3]OPTIMIZED FOR[f3][y18]B.A.M.", deNone, 3000, FALSE
  2748.  
  2749. DMD2.QueueText "[f3][y3]BLADE RUNNER[f3][y18][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deScrollRight, 4000, FALSE
  2750. DMD2.QueueText "[f3][y3]2ND PLACE[f3][y18][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deScrollLeft, 4000, FALSE
  2751. DMD2.QueueText "[f3][y3]3RD PLACE[f3][y18][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore3, 0, -1, 0, -1), deScrollRight, 4000, FALSE
  2752. DMD2.QueueText "[f3][y3]CREATED BY[f3][y18]SLAMT1LT", deFlip, 3000, FALSE
  2753. DMD2.QueueText "[f3][y3]OPTIMIZED FOR[f3][y18]B.A.M.", deNone, 3000, FALSE
  2754.  
  2755. If (JoiOn = TRUE) Then JoiOn = FALSE: PlaySound "fx_JoiOff": PlayMusic 5, "vo_JoiWhatADay", FALSE, 1, 800: CokeSign.UpdateInterval = 66: CokeSign.Frame 210, 247: SignOffTimer.Set TRUE, 2400
  2756.  
  2757. OverlayMovie.Frame 66: OverlayMovieHUD.Frame 66
  2758. PlayMusic 2, "fx_OffWorld", FALSE, 0.8
  2759.  
  2760. If (TopBR = TRUE) Then
  2761. TopBR = FALSE
  2762. PlayMusic 1, "Music_BRTrack6", FALSE, 0.5
  2763. Else
  2764. Select Case RandomNumber(3)
  2765. Case 1: PlayMusic 1, "Music_NeonCity", FALSE, 0.4
  2766. Case 2,3: PlayMusic 1, "Music_Attract", TRUE, 0.4
  2767. End Select
  2768. End If
  2769. EndGame()
  2770. LeftFlipper.SolenoidOff
  2771. RightFlipper.SolenoidOff
  2772. dof 101,0
  2773. dof 102,0
  2774. SetAllLightsForAttractMode()
  2775. End Sub
  2776.  
  2777.  
  2778.  
  2779. Sub SetAllLightsForAttractMode()
  2780. ShootAgainLight.State = BulbBlink
  2781. BF = 0
  2782. BumpAttract.Set TRUE, 200
  2783.  
  2784. ' the mission arrows...
  2785. LightDT.Set BulbBlink, "100000000", 150
  2786. LightLO3.Set BulbBlink, "010000000", 150
  2787. LightLaneL.Set BulbBlink, "001000000", 150
  2788. LightRampL.Set BulbBlink, "000100000", 150
  2789. LightCentrePurge.Set BulbBlink, "000010000", 150
  2790. LightRampR.Set BulbBlink, "000001000", 150
  2791. LightLaneR.Set BulbBlink, "000000100", 150
  2792. LightRep.Set BulbBlink, "000000010", 150
  2793. LightMode.Set BulbBlink, "000000001", 150
  2794.  
  2795. LightSuperPops.State = BulbBlink
  2796. LightTyrell.State = BulbBlink
  2797. LightSuperRampL.State = BulbBlink
  2798. LightSuperRampR.State = BulbBlink
  2799.  
  2800. LightSnakePit.State = BulbBlink
  2801.  
  2802. LightNew.State = BulbBlink
  2803. LightCase.State = BulbBlink
  2804.  
  2805. LightElevator.State = BulbBlink
  2806.  
  2807. LightRange.Set BulbBlink, "100", 125
  2808. LightVK.Set BulbBlink, "010", 125
  2809. LightPhoto.Set BulbBlink, "001", 125
  2810.  
  2811. LightRO1.Set BulbBlink, "10", 125
  2812. LightRO2.Set BulbBlink, "01", 125
  2813.  
  2814. LightPurge1.Set BulbBlink, "10", 125
  2815. LightPurge2.Set BulbBlink, "01", 125
  2816.  
  2817. LightLeft1.Set BulbBlink, "100", 150
  2818. LightLeft2.Set BulbBlink, "010", 150
  2819. LightLeft3.Set BulbBlink, "001", 150
  2820.  
  2821. LightBlade.Set BulbBlink, "100", 150
  2822. LightCentre.Set BulbBlink, "010", 150
  2823. LightRunner.Set BulbBlink, "001", 150
  2824.  
  2825. LightLeft1.Set BulbBlink, "100", 150
  2826. LightLeft2.Set BulbBlink, "010", 150
  2827. LightLeft3.Set BulbBlink, "001", 150
  2828.  
  2829. LightSAVE1.Set BulbBlink, "1000", 150
  2830. LightSAVE2.Set BulbBlink, "0100", 150
  2831. LightSAVE3.Set BulbBlink, "0010", 150
  2832. LightSAVE4.Set BulbBlink, "0001", 150
  2833.  
  2834. LightLeonMain.Set BulbBlink, "10000000011111111010100", 150
  2835. LightZhoraMain.Set BulbBlink, "01000000001111111001010", 150
  2836. LightPrisMain.Set BulbBlink, "00100000000111111010100", 150
  2837. LightTyrellMain.Set BulbBlink, "00010000000011111001010", 150
  2838. LightSebastianMain.Set BulbBlink,"00001000000001111010100", 150
  2839. LightChewMain.Set BulbBlink, "00000100000000111001010", 150
  2840. LightRachaelMain.Set BulbBlink, "00000010000000011010100", 150
  2841. LightGaffMain.Set BulbBlink, "00000001000000001001010", 150
  2842.  
  2843. LightRing8.Set BulbBlink,"10", 100
  2844. LightRing7.Set BulbBlink,"10", 100
  2845. LightRing6.Set BulbBlink,"10", 100
  2846. LightRing5.Set BulbBlink,"10", 100
  2847. LightRing4.Set BulbBlink,"10", 100
  2848. LightRing3.Set BulbBlink,"10", 100
  2849. LightRing2.Set BulbBlink,"10", 100
  2850. LightRing1.Set BulbBlink,"10", 100
  2851.  
  2852. LightNexusL.State = BulbBlink
  2853. LightNexusR.State = BulbBlink
  2854.  
  2855. PlayAtt = 0
  2856. AttractTimer.Set TRUE, 4600
  2857. End Sub
  2858.  
  2859.  
  2860.  
  2861.  
  2862.  
  2863. Sub BumpAttract_Expired()
  2864. BF = BF + 1
  2865. Select Case BF
  2866. Case 1: Bumper1_Hit()
  2867. Case 2: Bumper2_Hit()
  2868. Case 3: Bumper3_Hit()
  2869. Case 4,5: Bumper1_Hit(): Bumper2_Hit(): Bumper3_Hit()
  2870. Case 6: Bumper1_Hit(): Bumper2_Hit(): Bumper3_Hit(): BF = 0
  2871. End Select
  2872. End Sub
  2873.  
  2874.  
  2875. ' leave the game in attract mode while you nip off to the loo, and fun things will play to entertain anyone watching...
  2876.  
  2877. Sub AttractTimer_Expired()
  2878. PlayAtt = PlayAtt + 1
  2879. Select Case PlayAtt
  2880. Case 1:
  2881. Clip = 8: PlayMovie()
  2882. LightSeqPF.Play SeqMiddleInVertOn, 25
  2883. AttractTimer.Set TRUE, 15000
  2884. Case 2:
  2885. Select Case RandomNumber(2)
  2886. Case 1:
  2887. CokeSign.UpdateInterval = 66
  2888. PlayMusic 3, "vo_JoiLonely", FALSE, 1, 1000: CokeSign.Frame 179, 247: SignOffTimer.Set TRUE, 4700
  2889. AttractTimer.Set TRUE, 7500
  2890. Case 2:
  2891. Select Case RandomNumber(3)
  2892. Case 1: PlayMusic 2, "vo_Batty": AttractTimer.Set TRUE, 7500
  2893. Case 2: PlayMusic 2, "vo_Batty2": AttractTimer.Set TRUE, 5500: PlayAtt = 15
  2894. Case 3: PlayMusic 2, "vo_Leader": AttractTimer.Set TRUE, 5500
  2895. End Select
  2896. OverlayMovie.UpdateInterval = 1000: OverlayMovieHUD.UpdateInterval = 1000
  2897. OverlayMovie.Frame 68: OverlayMovieHUD.Frame 68
  2898. HoloNeon4.UpdateInterval = 800
  2899. HoloNeon4.Frame 49, 51, 49
  2900. LightSeqPF.Play SeqCircleOutOn, 25
  2901. End Select
  2902. Case 3:
  2903. Select Case RandomNumber(6)
  2904. Case 1: PlayMusic 3, "vo_Nexus5", FALSE, 0.6: Clip = 4: PlayMovie()
  2905. Case 2: PlayMusic 3, "vo_Announcement": Clip = 26: PlayMovie()
  2906. Case 3: PlayMusic 3, "Music_Attention", FALSE, 0.4: Clip = 4: PlayMovie()
  2907. Case 4:
  2908. Clip = 4: PlayMovie()
  2909. PlayMusic 2, "fx_JoiAd"
  2910. CokeSign.UpdateInterval = 66
  2911. CokeSign.Frame 83, 178, 83
  2912. SignOffTimer.Set TRUE, 6000
  2913. Case 5:
  2914. PlayMusic 3, "fx_Background16"
  2915. CokeSign.UpdateInterval = 100
  2916. CokeSign.Frame 65, 82, 65
  2917. SignOffTimer.Set TRUE, 5300
  2918. Case 6:
  2919. PlayMusic 2, "vo_JoiGoodJoe", FALSE, 1, 1000: CokeSign.UpdateInterval = 66: CokeSign.Frame 248, 295: SignOffTimer.Set TRUE, 3200
  2920. End Select
  2921. AttractTimer.Set TRUE, 10000
  2922. Case 4:
  2923. EffectMusic 3, FadeOutAndStop, 0, 2000
  2924. AttractTimer.Set TRUE, 12000
  2925. PlayMusic 2, "vo_Leon2"
  2926. OverlayMovie.UpdateInterval = 1000: OverlayMovieHUD.UpdateInterval = 1000
  2927. OverlayMovie.Frame 69: OverlayMovieHUD.Frame 69
  2928. LightSeqPF.Play SeqCircleInOn, 25
  2929. Case 5:
  2930. PlayMusic 2, "fx_Background17", FALSE, 0.6
  2931. Clip = 26: PlayMovie()
  2932. AttractTimer.Set TRUE, 7000
  2933. Case 6:
  2934. PlayMusic 2, "vo_Zora"
  2935. OverlayMovie.UpdateInterval = 1000
  2936. OverlayMovie.Frame 70: OverlayMovieHUD.Frame 70
  2937. HoloNeon4.Frame 10
  2938. LightSeqPF.Play SeqScrewLeftOn, 25
  2939. AttractTimer.Set TRUE, 9500
  2940. Case 7:
  2941. Clip = 3: PlayMovie()
  2942. PlaySound "fx_SpinnerFlyBy", 0.8
  2943. LightSeqPF.Play SeqRandom, 40, ,3000
  2944. AttractTimer.Set TRUE, 5000
  2945. Case 8:
  2946. PlayMusic 2, "vo_Pris"
  2947. OverlayMovie.UpdateInterval = 1000
  2948. OverlayMovie.Frame 71: OverlayMovieHUD.Frame 71
  2949. LightSeqPF.Play SeqRandomEffect, 100
  2950. AttractTimer.Set TRUE, 9000
  2951. Case 9:
  2952. PlayMusic 2, "vo_Nexus6"
  2953. Clip = 27: PlayMovie()
  2954. AttractTimer.Set TRUE, 6000
  2955. Case 10:
  2956. Clip = 4: PlayMovie()
  2957. LightSeqPF.Play SeqWiperRightOn, 45
  2958. AttractTimer.Set TRUE, 15000
  2959. Case 11:
  2960. Clip = 5: PlayMovie()
  2961. Case 12:
  2962. Clip = 8: PlayMovie()
  2963. PlaySound "fx_SpinnerFlyBy4", 0.6
  2964. Case 13:
  2965. AttractTimer.Set TRUE, 3000
  2966. OverlayMovie.Frame 870: OverlayMovieHUD.Frame 870
  2967. Case 14:
  2968. OverlayMovie.Frame 871: OverlayMovieHUD.Frame 871
  2969. Case 15:
  2970. PlayAtt = 1
  2971. Case 16:
  2972. Clip = 8: PlayMovie()
  2973. AttractTimer.Set TRUE, 8000
  2974. Case 17:
  2975. Clip = 5: PlayMovie()
  2976. PlayAtt = 1
  2977. End Select
  2978. End Sub
  2979.  
  2980.  
  2981.  
  2982.  
  2983. ' ***********************************************
  2984. ' ** **
  2985. ' ** PLUNGER LANE/BALL SAVER **
  2986. ' ** **
  2987. ' ***********************************************
  2988.  
  2989.  
  2990.  
  2991. Sub PlungerLaneTrigger_Hit()
  2992. bBallInPlungerLane = TRUE
  2993. StartButtonBulb.State = BulbOn
  2994. set LastSwitchHit = PlungerLaneTrigger
  2995. End Sub
  2996.  
  2997.  
  2998.  
  2999. Sub PlungerKicker_Hit()
  3000. PlungerKicker.SolenoidPulse
  3001. dof 108,2
  3002. End Sub
  3003.  
  3004.  
  3005.  
  3006. Sub PlungerLaneExit_Hit()
  3007. MovieTimer.Set TRUE, 100
  3008. NoPlay = FALSE
  3009. bBallInPlungerLane = FALSE
  3010. StartButtonBulb.State = BulbOff
  3011. If (NewBall = TRUE) Then
  3012. NewBall = FALSE
  3013. ShootAgainLight.State = BulbBlink
  3014. bBallSaverActive = TRUE
  3015. BallSaverTimer.Set TRUE, BSTime
  3016. ' create skill shot here...
  3017. SSTimer.Set TRUE, 5000
  3018. LightRampL.Set BulbBlink, "10", 100
  3019. LightRampR.Set BulbBlink, "10", 100
  3020. End If
  3021. PlaySound "fx_GateHitR"
  3022. DMDBusy = FALSE
  3023. AddScore(0)
  3024. End Sub
  3025.  
  3026.  
  3027.  
  3028.  
  3029. Sub BallSaverTimer_Expired()
  3030. If (ExtraBallsAwards(CurrentPlayer) = 0) Then
  3031. ShootAgainLight.State = BulbOff
  3032. Else
  3033. ShootAgainLight.State = BulbOn
  3034. End If
  3035. If (JoiOn = TRUE) Then
  3036. JoiGrace = JoiGrace + 1
  3037. Select Case JoiGrace
  3038. Case 1:
  3039. BallSaverTimer.Set TRUE, 3000
  3040. Case 2:
  3041. BallSaverTimer.Enabled = FALSE
  3042. bBallSaverActive = FALSE
  3043. JoiGrace = 0
  3044. End Select
  3045. Else
  3046. BallSaverTimer.Enabled = FALSE
  3047. bBallSaverActive = FALSE
  3048. End If
  3049. End Sub
  3050.  
  3051.  
  3052. Dim JoiGrace
  3053.  
  3054.  
  3055. Sub SSTimer_Expired()
  3056. SSTimer.Enabled = FALSE
  3057. LightRampL.Set BulbOff, "10", 125
  3058. LightRampR.Set BulbOff, "10", 125
  3059. End Sub
  3060.  
  3061.  
  3062. Dim NoPlay,MoveIt,NewBall,Missed
  3063.  
  3064.  
  3065.  
  3066. ' the start of the launch ramp...
  3067.  
  3068. Sub TrigLaunchRamp_Hit()
  3069.  
  3070. ' the ball didn't make it and rolls back down the ramp...
  3071. If (Missed = TRUE) Then
  3072. Missed = FALSE
  3073. PlaySound "fx_HitWireRamp", 0.7
  3074. If (RampDivertTimer.Enabled = TRUE) Then
  3075. PopUp1.SolenoidPulse(3000): PlaySound "fx_PopUpR", 0.5
  3076. If (NoPlay = FALSE) Then NoPlay = TRUE: Flasher1.FlashForMs 400, 100, BulbOff: PlaySound "fx_7"
  3077. MoveIt = 0: RampDivertTimer.Set TRUE, 3000
  3078. End If
  3079. Exit Sub
  3080. End If
  3081.  
  3082. ' first time it's hit from launch...
  3083. If (NoPlay = FALSE) Then
  3084. PlaySound "fx_HitWireRamp"
  3085. MoveIt = 0: RampDivertTimer.Set TRUE, 3200 ' start the timer if the ball gets stuck...
  3086. PlaySound "fx_ShellCasing"
  3087. Missed = TRUE
  3088. End If
  3089. set LastSwitchHit = TrigLaunchRamp
  3090. End Sub
  3091.  
  3092.  
  3093.  
  3094. Sub RampDivertTimer_Expired()
  3095. MoveIt = MoveIt + 1
  3096. Select Case MoveIt
  3097. Case 1:
  3098. If (QuoteBusy = FALSE) Then
  3099. QuoteBusy = TRUE
  3100. Select Case RandomNumber(5)
  3101. Case 1: PlayMusic 2, "vo_LikeItHere"
  3102. Case 2: PlayMusic 2, "vo_Problem"
  3103. Case 3: PlayMusic 2, "vo_ChewTalk"
  3104. Case 4: PlayMusic 2, "vo_AllowThat"
  3105. Case 5: PlayMusic 2, "vo_Itch"
  3106. End Select
  3107. End If
  3108. RampDivertTimer.Set TRUE, 1500
  3109. Case 2:
  3110. Flasher1.FlashForMs 300, 300, BulbOff
  3111. PlaySound "fx_Punch"
  3112. DiverterPush.SolenoidPulse(2000)
  3113. PopUp1.SolenoidPulse(2000): PlaySound "fx_PopUpR", 0.6
  3114. dof 110,2
  3115. MoveIt = 1
  3116. End Select
  3117. End Sub
  3118.  
  3119.  
  3120.  
  3121. Sub TrigLaunchEnd_Hit()
  3122. RampDivertTimer.Enabled = FALSE
  3123. Missed = FALSE
  3124. PlaySound "fx_RampBallDropR"
  3125. End Sub
  3126.  
  3127.  
  3128.  
  3129. ' *********************************************************************
  3130. ' ** **
  3131. ' ** Supporting Score Functions **
  3132. ' ** **
  3133. ' *********************************************************************
  3134.  
  3135.  
  3136.  
  3137. Sub AddScore(points)
  3138. If (fpTilted = FALSE) and (fpGameInPlay = TRUE) Then
  3139. If (EndOfBallTimer.Enabled = FALSE) Then Points = Points * PFScore
  3140. nvScore(CurrentPlayer) = nvScore(CurrentPlayer) + Points
  3141. BonusPoints(CurrentPlayer) = BonusPoints(CurrentPlayer) + 2
  3142. If (DMDBusy = FALSE) Then
  3143. Select Case PFScore
  3144. Case 1: DMD.Text = "[xc][yc][f6]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1): DMD2.Text = "[xc][yc][f6]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
  3145. Case 2:
  3146. DMD.Text = "[y2][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f7][b]DOUBLE SCORING"
  3147. DMD2.Text = "[y3][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f7][b]DOUBLE SCORING"
  3148. Case 3:
  3149. DMD.Text = "[y2][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f7][b]TRIPLE SCORING"
  3150. DMD2.Text = "[y2][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f7][b]TRIPLE SCORING"
  3151. Case 4:
  3152. DMD.Text = "[y2][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f7][b]QUADRUPLE SCORING"
  3153. DMD2.Text = "[y3][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f7][b]QUADRUPLE SCORING"
  3154. End Select
  3155. End If
  3156. End if
  3157. End Sub
  3158.  
  3159.  
  3160.  
  3161. Sub AddJackpot(points)
  3162. If (fpTilted = False) Then
  3163. If (bMultiBallMode = TRUE) Then
  3164. nvJackpot = nvJackpot + points
  3165. End if
  3166. End if
  3167. End Sub
  3168.  
  3169.  
  3170.  
  3171.  
  3172. Sub IncrementBonusMultiplier()
  3173. Dim NewBonusLevel
  3174. NewBonusLevel = BonusMultiplier(CurrentPlayer) + 1
  3175. SetBonusMultiplier(NewBonusLevel)
  3176. End Sub
  3177.  
  3178.  
  3179.  
  3180.  
  3181. Sub SetBonusMultiplier(Level)
  3182. BonusMultiplier(CurrentPlayer) = Level
  3183. If (BonusMultiplier(CurrentPlayer) => 2) Then
  3184. DMD.QueueText "[xc[y3][f6]BONUS X " & BonusMultiplier(CurrentPlayer), deScrollIn, 1200, TRUE
  3185. DMD2.QueueText "[xc[y3][f6]BONUS X " & BonusMultiplier(CurrentPlayer), deScrollIn, 1200, TRUE
  3186. End If
  3187. End Sub
  3188.  
  3189.  
  3190.  
  3191.  
  3192. ' *********************************************************************
  3193. ' ** **
  3194. ' ** Table Object Script Events **
  3195. ' ** **
  3196. ' *********************************************************************
  3197.  
  3198.  
  3199.  
  3200. Sub LeftSlingshotRubber_Hit()
  3201. AddScore(10)
  3202. dof 103,2
  3203. PlaySound "fx_Hit4", 0.8
  3204. LeftSlingshotBulb1.FlashForMs 210, 75, BulbOn
  3205. LeftSlingshotBulb2.FlashForMs 210, 75, BulbOn
  3206. End Sub
  3207.  
  3208.  
  3209.  
  3210. Sub RightSlingshotRubber_Hit()
  3211. AddScore(10)
  3212. dof 104,2
  3213. PlaySound "fx_Hit4", 0.8
  3214. RightSlingshotBulb1.FlashForMs 210, 75, BulbOn
  3215. RightSlingshotBulb2.FlashForMs 210, 75, BulbOn
  3216. End Sub
  3217.  
  3218.  
  3219.  
  3220.  
  3221. ' *************************************
  3222. ' ** **
  3223. ' ** IN/OUT LANES **
  3224. ' ** **
  3225. ' *************************************
  3226.  
  3227.  
  3228.  
  3229. Sub LeftInLaneTrigger_Hit()
  3230.  
  3231. If (fpTilted = TRUE) Then Exit Sub
  3232.  
  3233. If (LightNexusL.State = BulbOn) Then
  3234. NexusTimer.Enabled = FALSE
  3235. LightNexusL.State = BulbOff
  3236. LightNexusR.State = BulbOff
  3237. LightSAVE1.FlashForMs 500, 150, BulbOff
  3238. LightSAVE2.FlashForMs 500, 150, BulbOff
  3239. LightSAVE3.FlashForMs 500, 150, BulbOff
  3240. LightSAVE4.FlashForMs 500, 150, BulbOff
  3241. If (QuoteBusy = FALSE) and (BattyMode = FALSE) Then
  3242. QuoteBusy = TRUE
  3243. PlaySound "fx_Phone"
  3244. PlayMusic 2, "vo_Hello2"
  3245. Clip = 32: PlayMovie()
  3246. Else
  3247. PlaySound "fx_Hit9"
  3248. End If
  3249. ShootAgainLight.State = BulbBlink
  3250. bBallSaverActive = TRUE
  3251. BallSaverTimer.Set TRUE, BSTime
  3252. AddScore(350)
  3253. Exit Sub
  3254. End If
  3255.  
  3256. If (LightSAVE2.State = BulbOff) Then
  3257. LightSAVE2.State = BulbOn: CheckSAVE()
  3258. Else
  3259. AddScore(10)
  3260. End If
  3261. set LastSwitchHit = LeftInLaneTrigger
  3262. End Sub
  3263.  
  3264.  
  3265.  
  3266. Sub RightInLaneTrigger_Hit()
  3267.  
  3268. If (fpTilted = TRUE) Then Exit Sub
  3269.  
  3270. If (LightNexusR.State = BulbOn) Then
  3271. NexusTimer.Enabled = FALSE
  3272. LightNexusL.State = BulbOff
  3273. LightNexusR.State = BulbOff
  3274. LightSAVE1.FlashForMs 500, 150, BulbOff
  3275. LightSAVE2.FlashForMs 500, 150, BulbOff
  3276. LightSAVE3.FlashForMs 500, 150, BulbOff
  3277. LightSAVE4.FlashForMs 500, 150, BulbOff
  3278. If (QuoteBusy = FALSE) and (BattyMode = FALSE) Then
  3279. QuoteBusy = TRUE
  3280. PlayMusic 2, "vo_WhatGeneration"
  3281. Else
  3282. PlaySound "fx_Hit9"
  3283. End If
  3284. DMD.QueueText "[y2][xc][f3]NEXUS 6[y18][f7]IS LIT", deScrollIn, 1800, TRUE
  3285. DMD2.QueueText "[y3][xc][f3]NEXUS 6[y18][f7]IS LIT", deScrollIn, 1800, TRUE
  3286. ShootAgainLight.State = BulbBlink
  3287. bBallSaverActive = TRUE
  3288. BallSaverTimer.Set TRUE, BSTime
  3289. AddScore(350)
  3290. Exit Sub
  3291. End If
  3292.  
  3293. If (LightSAVE3.State = BulbOff) Then
  3294. LightSAVE3.State = BulbOn: CheckSAVE()
  3295. Else
  3296. AddScore(10)
  3297. End If
  3298. set LastSwitchHit = RightInLaneTrigger
  3299. End Sub
  3300.  
  3301.  
  3302.  
  3303. Sub LeftOutLaneTrigger_Hit()
  3304.  
  3305. If (fpTilted = TRUE) Then Exit Sub
  3306.  
  3307. If (LightSAVE1.State = BulbOff) Then
  3308. LightSAVE1.State = BulbOn: CheckSAVE()
  3309. Else
  3310. AddScore(10)
  3311. End If
  3312.  
  3313. If (bBallSaverActive = FALSE) Then
  3314. If (QuoteBusy = FALSE) Then
  3315. QuoteBusy = TRUE
  3316. If (BattyMode = TRUE) Then
  3317. Select Case RandomNumber(3)
  3318. Case 1: PlayMusic 2, "vo_Irrational"
  3319. Case 2: PlayMusic 2, "vo_LiveInFear2"
  3320. Case 3: PlayMusic 2, "vo_SupposedToBeGood"
  3321. End Select
  3322. Else
  3323. If (BallsRemaining(CurrentPlayer) = 1) and (ExtraBallsAwards(CurrentPlayer) = 0) Then
  3324. PlayMusic 2, "vo_ThroughHuh"
  3325. OverlayMovie.Frame 884: OverlayMovieHUD.Frame 884
  3326. 'MovieTimer.Set TRUE, 1500
  3327. Else
  3328. Select Case RandomNumber(12)
  3329. Case 1: PlayMusic 2, "vo_NotGood"
  3330. Case 2: PlayMusic 2, "vo_WhatHappended"
  3331. Case 3: PlayMusic 2, "vo_Charming"
  3332. Case 4: PlayMusic 2, "vo_TreatAFriend"
  3333. Case 5: PlayMusic 2, "vo_SupposedToBeGood"
  3334. Case 6: PlayMusic 2, "vo_KnownBetter"
  3335. Case 7: PlayMusic 2, "vo_WhereGoing"
  3336. Case 8: PlayMusic 2, "vo_Proud"
  3337. Case 9: PlayMusic 2, "vo_Laugh"
  3338. Case 10: PlayMusic 2, "vo_Embarrassing"
  3339. Case 11: PlayMusic 2, "vo_BadJoke"
  3340. Case 12: PlayMusic 2, "vo_NotHelping"
  3341. End Select
  3342. End If
  3343. End If
  3344. End If
  3345. DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
  3346. DMD.Text = "[yc][xc][f6][b]BALL LOST"
  3347. DMD2.Text = "[yc][xc][f6][b]BALL LOST"
  3348. Else
  3349. If (JoiOn = TRUE) Then
  3350. If (QuoteBusy = FALSE) Then
  3351. QuoteBusy = TRUE: PlayMusic 2, "vo_JoiFixThat"
  3352. Else
  3353. PlaySound "fx_JoiOn"
  3354. End If
  3355. DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
  3356. DMD.Text = "[yc][xc][f6][b]JOI SAVER"
  3357. DMD2.Text = "[yc][xc][f6][b]JOI SAVER"
  3358. CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
  3359. IgnoreHit = TRUE
  3360. PlungerKicker.CreateBall: AddTrackedBall(PlungerKicker)
  3361. PlungerKicker.SolenoidPulse
  3362. AutoFire.Set TRUE, 1200
  3363. End If
  3364. End If
  3365. set LastSwitchHit = LeftOutLaneTrigger
  3366. End Sub
  3367.  
  3368.  
  3369.  
  3370.  
  3371. Sub RightOutLaneTrigger_Hit()
  3372.  
  3373. If (fpTilted = TRUE) Then Exit Sub
  3374.  
  3375. If (LightSAVE4.State = BulbOff) Then
  3376. LightSAVE4.State = BulbOn: CheckSAVE()
  3377. Else
  3378. AddScore(10)
  3379. End If
  3380. set LastSwitchHit = RightOutLaneTrigger
  3381. End Sub
  3382.  
  3383.  
  3384.  
  3385. ' MORE HUMAN THAN HUMAN. Lights Nexus 6 inserts for Ball Saver activation (time limited)
  3386.  
  3387.  
  3388. Sub CheckSAVE()
  3389. If (LightSAVE1.State=BulbOn) and (LightSAVE2.State=BulbOn) and (LightSAVE3.State=BulbOn) and (LightSAVE4.State=BulbOn) Then
  3390. LightNexusL.State = BulbOn
  3391. LightNexusR.State = BulbOn
  3392. NexusTimer.Set TRUE, 15000
  3393. AddScore(300)
  3394. DMD.QueueText "[y3][xc][f3]NEXUS 6[y18][f7]IS LIT", deScrollIn, 1800, TRUE
  3395. DMD2.QueueText "[y3][xc][f3]NEXUS 6[y18][f7]IS LIT", deScrollIn, 1800, TRUE
  3396. PlaySound "fx_Phone"
  3397. Else
  3398. AddScore(30)
  3399. PlaySound "fx_Hit6"
  3400. End If
  3401. End Sub
  3402.  
  3403.  
  3404.  
  3405. Sub NexusTimer_Expired()
  3406. NexusTimer.Enabled = FALSE
  3407. LightNexusL.State = BulbOff
  3408. LightNexusR.State = BulbOff
  3409. LightSAVE1.FlashForMs 300, 150, BulbOff
  3410. LightSAVE2.FlashForMs 300, 150, BulbOff
  3411. LightSAVE3.FlashForMs 300, 150, BulbOff
  3412. LightSAVE4.FlashForMs 300, 150, BulbOff
  3413. End Sub
  3414.  
  3415.  
  3416.  
  3417. ' ************************************
  3418. ' ** **
  3419. ' ** KICKER BUMP **
  3420. ' ** **
  3421. ' ************************************
  3422.  
  3423.  
  3424. ' when both rollover lanes are completed, the Tyrell elevator is lit. When the kicker is hit
  3425. ' and the elevater light is on, you will move up a floor towards Tyrell's penthouse suite.
  3426.  
  3427. ' Get to the top to meet him.
  3428.  
  3429. Sub KickerBump_Hit()
  3430.  
  3431. If (IgnoreHit = TRUE) Then IgnoreHit = FALSE: Exit Sub
  3432. PlaySound "fx_ScoopHitR"
  3433.  
  3434. EffectMusic 4, FadeOutAndStop, 0, 1000 ' stop the background fx...
  3435. AddScore(0)
  3436.  
  3437. If (fpTilted = TRUE) Then KickerBump.DestroyBall: DeleteTrackedBall(KickerBump): BallsOnPlayfield = 0: Exit Sub
  3438.  
  3439. If (LightElevator.State = BulbOn) Then
  3440.  
  3441. If (BattyMode = TRUE) Then
  3442. PlaySound "fx_Door2", 0.8
  3443. If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_Laugh"
  3444. LightElevator.FlashForMs 1000, 200, BulbOff
  3445. KickerBump.DestroyBall: DeleteTrackedBall(KickerBump)
  3446. IgnoreHit = TRUE
  3447. AllPlasOff()
  3448. Flasher1.FlashForMs 1200, 75, BulbOff
  3449. CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
  3450. Kicker2Timer.Set TRUE, 1200
  3451. Exit Sub
  3452. End If
  3453.  
  3454. If (SebastianMode = TRUE) and (LightLO3.State = BulbBlink) Then
  3455. SebastianHit = SebastianHit + 1: MissionHit = MissionHit + 250
  3456. AddScore(MissionHit)
  3457. DMD.FlushQueue
  3458. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  3459. DMD.QueueText "[yc][xc][f6]SEBASTIAN HIT", deNone, 800, FALSE
  3460. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  3461. DMD2.QueueText "[yc][xc][f6]SEBASTIAN HIT", deNone, 800, FALSE
  3462. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  3463. If (QuoteBusy = FALSE) Then
  3464. Select Case SebastianHit
  3465. Case 4: PlayMusic 2, "vo_Check2": QuoteBusy = TRUE
  3466. Case 5: PlayMusic 2, "vo_CheckMate2": QuoteBusy = TRUE
  3467. End Select
  3468. Else
  3469. QuoteBusy = FALSE
  3470. PlaySound "fx_Hit8"
  3471. End If
  3472. If (SebastianHit = 6) Then
  3473. AssWin()
  3474. LightElevator.State = BulbOff
  3475. LightTyrell.State = BulbOff
  3476. LightLO3.State = BulbOff
  3477. ModeActive = FALSE
  3478. SebastianMode = FALSE
  3479. StopMusic 5: MusicResume.Set TRUE, 2000
  3480. If (QuoteBusy = FALSE) Then
  3481. QuoteBusy = TRUE: PlayMusic 2, "vo_BroughtFriend2": Clip = 31: PlayMovie()
  3482. Else
  3483. OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
  3484. OverlayMovie.Frame 591, 592, 591: OverlayMovieHUD.Frame 591, 592, 591
  3485. MovieTimer.Set TRUE, 2000
  3486. End If
  3487. Else
  3488. 'LightElevator.State = BulbOff
  3489. LightTyrell.State = BulbOn
  3490. MovieTimer.Set TRUE, 100
  3491. End If
  3492. KickerBump.DestroyBall: DeleteTrackedBall(KickerBump)
  3493. IgnoreHit = TRUE
  3494. CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
  3495. Kicker2Timer.Set TRUE, 3000
  3496. Exit Sub
  3497. End If
  3498.  
  3499. If (LeonMode = TRUE) and (LeonHit = 0) Then
  3500. LightRep.State = BulbBlink
  3501. LightTyrell.State = BulbOff
  3502. LightElevator.State = BulbOff
  3503. LeonHit = LeonHit + 1: MissionHit = MissionHit + 250
  3504. AddScore(MissionHit)
  3505. EffectMusic 3, FadeOutAndStop, 0, 1000
  3506. Select Case RandomNumber(2)
  3507. Case 1: PlayMusic 2, "vo_IQTest", FALSE, 1, 1800
  3508. Case 2: PlayMusic 2, "vo_TakeTests", FALSE, 1, 2000
  3509. End Select
  3510. PlaySound "fx_ElevatorRide"
  3511. CokeSign.UpdateInterval = 2000
  3512. CokeSign.Frame 45, 48
  3513. MoveToKick.Set TRUE, 6200
  3514. PreKick.Set TRUE, 6400
  3515. SignOffTimer.Set TRUE, 6400
  3516. DMD.FlushQueue
  3517. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  3518. DMD.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
  3519. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  3520. DMD2.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
  3521. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  3522. MovieTimer.Set TRUE, 100
  3523. Exit Sub
  3524. End If
  3525.  
  3526. If (TyrellMode = TRUE) and (LightLO3.State = BulbBlink) Then
  3527. TyrellHit = TyrellHit + 1: MissionHit = MissionHit + 250
  3528. AddScore(MissionHit)
  3529. DMD.FlushQueue
  3530. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  3531. DMD.QueueText "[yc][xc][f6]TYRELL HIT", deNone, 800, FALSE
  3532. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  3533. DMD2.QueueText "[yc][xc][f6]TYRELL HIT", deNone, 800, FALSE
  3534. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  3535. If (QuoteBusy = FALSE) Then
  3536. QuoteBusy = TRUE
  3537. Select Case TyrellHit
  3538. Case 1: PlayMusic 2, "vo_ComeSooner": Time = 2000
  3539. Case 2: PlayMusic 2, "vo_MeetMaker": Time = 2500
  3540. Case 3:
  3541. Select Case RandomNumber(2)
  3542. Case 1: PlayMusic 2, "vo_DeathProblem": Time = 5000
  3543. Case 2: PlayMusic 2, "vo_MakerRepair": Time = 2300
  3544. End Select
  3545. Case 4: PlayMusic 2, "vo_WantMoreLife": Time = 3500
  3546. Case 5:
  3547. Select Case RandomNumber(5)
  3548. Case 1: PlayMusic 2, "vo_AlterationFatal": Time = 4500
  3549. Case 2: PlayMusic 2, "vo_CodingSeq": Time = 4000
  3550. Case 3: PlayMusic 2, "vo_AlreadyTried": Time = 6000
  3551. Case 4: PlayMusic 2, "vo_Brightly": Time = 6000
  3552. Case 5: PlayMusic 2, "vo_Questionable": Time = 4200
  3553. End Select
  3554. End Select
  3555. Else
  3556. PlaySound "fx_Hit8"
  3557. End If
  3558.  
  3559. If (TyrellHit = 6) Then
  3560. LightElevator.State = BulbOff
  3561. LightTyrell.State = BulbOff
  3562. LightLO3.State = BulbOff
  3563. ModeActive = FALSE: TyrellMode = FALSE
  3564. StopMusic 5
  3565. Clip = 6: PlayMovie()
  3566. PlaySound "vfx_TyrellDeath"
  3567. Time = 3000: MusicResume.Set TRUE, 3000
  3568. AssWin()
  3569. Else
  3570. MovieTimer_Expired()
  3571. End If
  3572. KickerBump.DestroyBall: DeleteTrackedBall(KickerBump)
  3573. IgnoreHit = TRUE
  3574. CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
  3575. PreKick.Set TRUE, Time
  3576. Exit Sub
  3577. End If
  3578.  
  3579. ' move up the Tyrell tower. Get to the top floor to win an extra ball...
  3580. DMDBusy = TRUE
  3581. DMD.Text = "[yc][xc][f6]TYRELL TOWER"
  3582. DMD2.Text = "[yc][xc][f6]TYRELL TOWER"
  3583. Floor = Floor + 1
  3584. LightTyrell.State = BulbOff
  3585. ElevatorTimer.Set TRUE, 2000
  3586. Select Case Floor
  3587. Case 1:
  3588. Clip = 14: PlayMovie()
  3589. 'OverlayMovie.Frame 234: OverlayMovieHUD.Frame 234 ' ground to 1st floor...
  3590. If (QuoteBusy = FALSE) Then
  3591. QuoteBusy = TRUE
  3592. Select Case RandomNumber(4)
  3593. Case 1,3,4: PlayMusic 2, "vo_FloorNumber", FALSE, 1, 500
  3594. Case 2: PlayMusic 2, "vo_TyrellCorp", FALSE, 1, 400
  3595. End Select
  3596. End If
  3597. PlaySound "fx_ElevatorRide"
  3598. CokeSign.UpdateInterval = 2000
  3599. CokeSign.Frame 45, 48
  3600. AddScore(350)
  3601. Case 2:
  3602. OverlayMovie.Frame 235: OverlayMovieHUD.Frame 235 ' 1st to 2nd floor...
  3603. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_AtThisHour", FALSE, 1, 500
  3604. PlaySound "fx_ElevatorRide"
  3605. CokeSign.UpdateInterval = 2000
  3606. CokeSign.Frame 52, 55
  3607. AddScore(550)
  3608. Case 3:
  3609. OverlayMovie.Frame 236: OverlayMovieHUD.Frame 236' 2nd to 3rd floor...
  3610. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_OnYourMind", FALSE, 1, 500
  3611. PlaySound "fx_ElevatorRide"
  3612. CokeSign.UpdateInterval = 2000
  3613. CokeSign.Frame 55, 58
  3614. AddScore(750)
  3615. Case 4:
  3616. OverlayMovie.Frame 237: OverlayMovieHUD.Frame 237 ' 3rd to 4th floor..
  3617. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_BrainStorm", FALSE, 1, 500
  3618. PlaySound "fx_ElevatorRide"
  3619. CokeSign.UpdateInterval = 2000
  3620. CokeSign.Frame 58, 61
  3621. AddScore(950)
  3622. Case 5:
  3623. OverlayMovie.Frame 238: OverlayMovieHUD.Frame 238 ' 4th to penthouse
  3624. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ComeUp", FALSE, 1, 500
  3625. PlaySound "fx_ElevatorRide"
  3626. PlaySound "fx_Door2"
  3627. CokeSign.UpdateInterval = 2000
  3628. CokeSign.Frame 61, 64
  3629. AddScore(1150)
  3630. Case 6:
  3631. ElevatorTimer.Enabled = FALSE
  3632. 'OverlayMovie.Frame 238: OverlayMovieHUD.Frame 238 ' penthouse (Extra Ball)
  3633. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Owl", FALSE, 1, 500
  3634. Clip = 12: PlayMovie()
  3635. PlaySound "fx_Combo2"
  3636. CokeSign.Frame 64
  3637. StopMusic 4
  3638. AddScore(1500)
  3639. DMDBusy = TRUE: DMDTimer.Set TRUE, 2000
  3640. DMD.Text = "[yc][xc][f6][b]EXTRA BALL"
  3641. DMD2.Text = "[yc][xc][f6][b]EXTRA BALL"
  3642. AwardEB()
  3643. Floor = 0
  3644. End Select
  3645. AllPlasOff()
  3646. LightSeqPF.Play SeqBlinking, , 2, 200
  3647. LightSeqPF.Play SeqUpOn, 30, 3
  3648. LightElevator.FlashForMs 1000, 200, BulbOff
  3649. MoveToKick.Set TRUE, 6200
  3650. PreKick.Set TRUE, 6500
  3651. SignOffTimer.Set TRUE, 7000
  3652. Else
  3653. 'If (LightSuperPops.State = BulbOn) Then
  3654. ' PlaySound "fx_26", 0.6
  3655. ' KickerBump.SolenoidPulse: PlaySound "fx_ScoopExit"
  3656. ' AddScore(5)
  3657. 'Else
  3658. AllPlasOff()
  3659. Flasher1.FlashForMs 1200, 120, BulbOff
  3660. KickerBump.DestroyBall: DeleteTrackedBall(KickerBump)
  3661. PlaySound "fx_PreKick2"
  3662. IgnoreHit = TRUE
  3663. CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
  3664. Kicker2Timer.Set TRUE, 1000
  3665. AddScore(20)
  3666. 'End If
  3667. End If
  3668. End Sub
  3669.  
  3670.  
  3671.  
  3672. Sub ElevatorTimer_Expired()
  3673. ElevatorTimer.Enabled = FALSE
  3674. If (Floor = 1) Then
  3675. Clip = 24: PlayMovie()
  3676. Else
  3677. Clip = 28: PlayMovie()
  3678. End If
  3679. DMD.Text = "[yc][xc][f6]NEXT FLOOR[b][x10][y1]^[y8]^[x108][y1]^[y8]^"
  3680. DMD2.Text = "[yc][xc][f6]NEXT FLOOR[b][x10][yc]^[yc]^[x108][yc]^[yc]^"
  3681. DMDTimer.Set TRUE, 4000
  3682. End Sub
  3683.  
  3684.  
  3685.  
  3686.  
  3687. Sub MoveToKick_Expired()
  3688. MoveToKick.Enabled = FALSE
  3689. IgnoreHit = TRUE
  3690. KickerBump.DestroyBall: DeleteTrackedBall(KickerBump)
  3691. CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
  3692. AddScore(0)
  3693. End Sub
  3694.  
  3695.  
  3696.  
  3697.  
  3698.  
  3699. ' ************************************
  3700. ' ** **
  3701. ' ** RIGHT SCOOP **
  3702. ' ** **
  3703. ' ************************************
  3704.  
  3705. ' - starts mystery feature when lit
  3706. ' - starts next lit mission
  3707. ' - mission shot during certain cases
  3708. ' - eject point from bumper area and plunger lane
  3709.  
  3710.  
  3711. Sub ReHitKick_Expired()
  3712. ReHitKick.Enabled = FALSE
  3713. ReHit = TRUE
  3714. CaseScoop_Hit()
  3715. End Sub
  3716.  
  3717.  
  3718.  
  3719. Sub CaseScoop_Hit()
  3720. If (IgnoreHit = TRUE) Then IgnoreHit = FALSE: Exit Sub
  3721.  
  3722. If (ReHit = FALSE) Then PlaySound "fx_ScoopHitR"
  3723.  
  3724. ReHit = FALSE
  3725.  
  3726. ' if mystery is lit, we do this first...
  3727.  
  3728. If (LightSnakePit.State = BulbOn) Then
  3729. LightSnakePit.State = BulbOff
  3730. LightSnakePit2.State = BulbOn
  3731.  
  3732. ScoopyDoo = 0
  3733.  
  3734. ' Batty will just laugh at you, no mystery when a large Dutchman is chasing your ass...
  3735. If (BattyMode = TRUE) Then
  3736. PlayMusic 2, "vo_HaHaHa"
  3737. Kicker2Timer.Set TRUE, 500
  3738. Exit Sub
  3739. End If
  3740.  
  3741. If (ModeActive = TRUE) Then
  3742. EffectMusic 5, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 6000
  3743. Else
  3744. If (BR2049 = TRUE) Then
  3745. BR2049 = FALSE
  3746. StopMusic 5: MusicResume.Set TRUE, 6000
  3747. Else
  3748. EffectMusic 1, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 6000
  3749. End If
  3750. End If
  3751.  
  3752. PlayMusic 4, "vo_SnakePit"
  3753.  
  3754. If (QuoteBusy = FALSE) and (SnakePlay = FALSE) Then
  3755. SnakePlay = TRUE: QuoteBusy = TRUE
  3756. Select Case RandomNumber(2)
  3757. Case 1: PlayMusic 2, "vo_BuySnakes"
  3758. Case 2: PlayMusic 2, "vo_JerkTaffy"
  3759. End Select
  3760. End If
  3761.  
  3762. ' first, show Snake Pit start on LCD...
  3763. OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
  3764. OverlayMovie.Frame 217: OverlayMovieHUD.Frame 217
  3765.  
  3766. ' then start the mystery selection...
  3767.  
  3768. MovieTimer.Set TRUE, 8000
  3769. AddScore(50)
  3770.  
  3771. ' spin, spin, spin the wheel of justice....
  3772.  
  3773. DMDTimer.Enabled = FALSE
  3774. DMD.FlushQueue: DMD2.FlushQueue
  3775. DMD.QueueText "[y1][xc][f6][b]MYSTERY", deNone, 2800, FALSE
  3776. DMD.QueueText "[y1][xc][f6]SMALL MONEY", deNone, 200, FALSE, "fx_8"
  3777. DMD.QueueText "[y1][xc][f6]EXTRA BALL", deNone, 200, FALSE
  3778. DMD.QueueText "[y1][xc][f6]BALL SAVER", deNone, 200, FALSE
  3779. DMD.QueueText "[y1][xc][f6]SPECIAL", deNone, 200, FALSE
  3780. DMD.QueueText "[y1][xc][f6]BIG MONEY", deNone, 200, FALSE
  3781. DMD.QueueText "[y1][xc][f6]SUPER RAMPS", deNone, 200, FALSE
  3782. DMD.QueueText "[y1][xc][f6]MONEY SPINNER", deNone, 200, FALSE
  3783. DMD.QueueText "[y1][xc][f6]SUPER POPS", deNone, 200, FALSE
  3784. DMD.QueueText "[y1][xc][f6]ADV MODE", deNone, 200, FALSE
  3785. DMD.QueueText "[y1][xc][f6]EXTRA BALL", deNone, 200, FALSE
  3786. DMD.QueueText "[y1][xc][f6]BALL SAVER", deNone, 200, FALSE
  3787. DMD.QueueText "[y1][xc][f6]SPECIAL", deNone, 200, FALSE
  3788. DMD.QueueText "[y1][xc][f6]BIG MONEY", deNone, 200, FALSE
  3789. DMD.QueueText "[y1][xc][f6]SUPER RAMPS", deNone, 200, FALSE
  3790. DMD.QueueText "[y1][xc][f6]MONEY SPINNER", deNone, 200, FALSE
  3791. DMD.QueueText "[y1][xc][f6]SUPER POPS", deNone, 200, FALSE
  3792. DMD.QueueText "[y1][xc][f6]SMALL MONEY", deNone, 200, FALSE
  3793. DMD.QueueText "[y1][xc][f6]EXTRA BALL", deNone, 200, FALSE
  3794. DMD.QueueText "[y1][xc][f6]BALL SAVER", deNone, 200, FALSE
  3795. DMD.QueueText "[y1][xc][f6]SPECIAL", deNone, 200, FALSE
  3796. DMD.QueueText "[y1][xc][f6]BIG MONEY", deNone, 200, FALSE
  3797. DMD.QueueText "[y1][xc][f6]SUPER RAMPS", deNone, 200, FALSE
  3798. DMD.QueueText "[y1][xc][f6]MONEY SPINNER", deNone, 200, FALSE
  3799. DMD.QueueText "[y1][xc][f6]SUPER POPS", deNone, 200, FALSE
  3800. DMD.QueueText "[y1][xc][f6]ADV MODE", deNone, 200, FALSE
  3801. DMD.QueueText "[y1][xc][f6]EXTRA BALL", deNone, 200, FALSE
  3802. DMD.QueueText "[y1][xc][f6]BALL SAVER", deNone, 200, FALSE
  3803. DMD.QueueText "[y1][xc][f6]SPECIAL", deNone, 200, FALSE
  3804. DMD.QueueText "[y1][xc][f6]BIG MONEY", deNone, 200, FALSE
  3805. DMD.QueueText "[y1][xc][f6]SUPER RAMPS", deNone, 200, FALSE
  3806. DMD.QueueText "[y1][xc][f6]MONEY SPINNER", deNone, 200, FALSE
  3807. DMD.QueueText "[y1][xc][f6]SUPER POPS", deNone, 200, FALSE
  3808.  
  3809. If (LightMode.State = BulbBlink) Then
  3810. ReHitKick.Set TRUE, 8200
  3811. Else
  3812. PreKick.Set TRUE, 7500
  3813. End If
  3814. MysterySpin = 2: MysteryTimer.Set TRUE, 2800
  3815. Exit Sub
  3816. End If
  3817.  
  3818. If (LightMode.State = BulbBlink) Then
  3819.  
  3820. ScoopyDoo = 0
  3821.  
  3822. If (BattyReady = TRUE) Then
  3823. LightMode.State = BulbOff
  3824. BattyReady = FALSE
  3825. StartBatty()
  3826. Exit Sub
  3827. End If
  3828.  
  3829. If (BattyMode = TRUE) Then
  3830. BattyMode = FALSE
  3831. AllPlasOff(): LightSeqPF.Play SeqAllOff
  3832. FlasherL.FlashForMs 1000, 75, BulbOff
  3833. FlasherM.FlashForMs 1000, 75, BulbOff
  3834. Flasher1.FlashForMs 1000, 75, BulbOff
  3835. PlayMusic 3, "Music_Cue3", FALSE, 0.7
  3836. StopMusic 1: StopMusic 5: StopMusic 6
  3837. PlayMusic 1, "Music_BRTrack11", FALSE, 0.6, 37000
  3838. QuoteBusy = TRUE: PlayMusic 2, "vo_SeenThings2"
  3839. OverlayMovie.UpdateInterval = 14000: OverlayMovieHUD.UpdateInterval = 14000
  3840. OverlayMovie.Frame 881,883: OverlayMovieHUD.Frame 881,883
  3841. AddScore(25000)
  3842. DMD.FlushQueue: DMD2.FlushQueue
  3843. DMD.QueueText "[y3][xc][f3][b]GAME COMPLETED[/b][y18][f1]GOOD JOB BLADE RUNNER", deNone, 4000, FALSE
  3844. DMD.QueueText "[yc][xc][f6]$25,000", deScrollIn, 2000, FALSE
  3845. DMD.QueueText "[y3][xc][f3]NEW GAME[y18][f1]WILL BEGIN SHORTLY", deFlip, 3000, TRUE
  3846. DMD2.QueueText "[y3][xc][f3][b]GAME COMPLETED[/b][y18][f2]GOOD JOB BLADE RUNNER", deNone, 4000, FALSE
  3847. DMD2.QueueText "[yc][xc][f6]$25,000", deScrollIn, 2000, FALSE
  3848. DMD2.QueueText "[y3][xc][f3]NEW GAME[y18][f2]WILL BEGIN SHORTLY", deFlip, 3000, TRUE
  3849.  
  3850. PreKick.Set TRUE, 37000
  3851. MovieTimer.Set TRUE, 40000
  3852. ' game will now reset...
  3853. LightLeonMain.Set BulbOff, "10", 150
  3854. LightZhoraMain.Set BulbOff, "10", 150
  3855. LightPrisMain.Set BulbOff, "10", 150
  3856. LightTyrellMain.Set BulbOff, "10", 150
  3857. LightSebastianMain.Set BulbOff,"10", 150
  3858. LightChewMain.Set BulbOff, "10", 150
  3859. LightRachaelMain.Set BulbOff, "10", 150
  3860. LightGaffMain.Set BulbOff, "10", 150
  3861. LightMode.State = BulbOff
  3862. RachaelHit = 0
  3863. SebastianHit = 0
  3864. GaffHit = 0
  3865. PrisHit = 0
  3866. ZhoraHit = 0
  3867. LeonHit = 0
  3868. TyrellHit = 0
  3869. ChewHit = 0
  3870. LightRing1.State = BulbOff
  3871. LightRing2.State = BulbOff
  3872. LightRing3.State = BulbOff
  3873. LightRing4.State = BulbOff
  3874. LightRing5.State = BulbOff
  3875. LightRing6.State = BulbOff
  3876. LightRing7.State = BulbOff
  3877. LightRing8.State = BulbOff
  3878. AwardEB()
  3879. Exit Sub
  3880. End If
  3881.  
  3882. If (ComboTimer.Enabled = TRUE) Then
  3883. ComboTimer.Enabled = FALSE
  3884. LightRampL.Set BulbOff, "10", 125
  3885. LightRampR.Set BulbOff, "10", 125
  3886. LightLaneL.Set BulbOff, "10", 125
  3887. LightLaneR.Set BulbOff, "10", 125
  3888. End If
  3889.  
  3890. If (SSTimer.Enabled = TRUE) Then
  3891. SSTimer.Enabled = FALSE
  3892. If (ModeActive = FALSE) Then
  3893. LightRampL.State = BulbOff
  3894. LightRampR.State = BulbOff
  3895. End If
  3896. End If
  3897.  
  3898. If (WheelSpin.Enabled = TRUE) Then
  3899. ReHitKick.Set TRUE, 2000
  3900. 'WheelSpin.Enabled = FALSE
  3901. 'StopMusic 4
  3902. ' return light to their previous state...
  3903. 'LightLeonMain.State = TempM1
  3904. 'LightZhoraMain.State = TempM2
  3905. 'LightPrisMain.State = TempM3
  3906. 'LightTyrellMain.State = TempM4
  3907. 'LightSebastianMain.State = TempM5
  3908. 'LightChewMain.State = TempM6
  3909. 'LightRachaelMain.State = TempM7
  3910. 'LightGaffMain.State = TempM8
  3911. Exit Sub
  3912. End If
  3913.  
  3914. LightMode.State = BulbOff
  3915.  
  3916. 'If (PrisMode = TRUE) Then
  3917. ' PlayMusic 2, "vo_Hello"
  3918. ' Kicker2Timer.Set TRUE, 4000
  3919. 'Exit Sub
  3920. 'End If
  3921.  
  3922. MissionHit = AdjMissionHit
  3923. ModeActive = TRUE
  3924. MusicResume.Enabled = FALSE
  3925. EffectMusic 1, FadeOutAndPause, 0, 0
  3926. StopMusic 4: StopMusic 6
  3927. TakeOffTimer.Enabled = FALSE
  3928. LightPurge1.State = BulbOff
  3929. LightPurge2.State = BulbOff
  3930.  
  3931. AddScore(750)
  3932.  
  3933. DMD.Text = "[yc][xc][f6]NEW ASSIGNMENT"
  3934. DMD2.Text = "[yc][xc][f6]NEW ASSIGNMENT"
  3935.  
  3936. ' Leon mode. Give him the VK test. Shoot left lane and drop the ball in the flashing Tyrell lane.
  3937.  
  3938. If (LightLeonMain.State = BulbBlink) Then
  3939. LightLeonMain.State = BulbOn
  3940. LeonMode = TRUE
  3941. LightRep.State = BulbOff
  3942. LightElevator.State = BulbOff
  3943. 'LeonHit = 0
  3944. 'LightCentre.State = BulbOff
  3945. 'LightCentrePurge.State = BulbOff
  3946. 'LightBlade.State = BulbOff
  3947. 'LightRunner.State = BulbOff
  3948. 'LightPurge1.State = BulbOff
  3949. 'LightPurge2.State = BulbOff
  3950. 'LightSuperRampL.State = BulbOff
  3951. 'LightSuperRampR.State = BulbOff
  3952. 'SuperRampsTimer.Enabled = FALSE
  3953.  
  3954. LightRO1.State = BulbOff
  3955. LightRO2.State = BulbOff
  3956.  
  3957. If (QuoteBusy = FALSE) Then
  3958. QuoteBusy = TRUE
  3959. PlayMusic 2, "vo_UsedToBe"
  3960. PreKick.Set TRUE, 5000
  3961. Else
  3962. PlaySound "fx_25"
  3963. QuoteBusy = FALSE
  3964. PreKick.Set TRUE, 1500
  3965. End If
  3966. PlayMusic 5, "Music_Mode", FALSE, 0.4
  3967. MovieTimer.Set TRUE, 100
  3968.  
  3969. Select Case LeonHit
  3970. Case 0:
  3971. LightTyrell.State = BulbOn ' direct ball into rollover lanes...
  3972. LightLO3.State = BulbBlink
  3973. Select Case RandomNumber(2)
  3974. Case 1: LightRO1.State = BulbBlink
  3975. Case 2: LightRO2.State = BulbBlink
  3976. End Select
  3977. Case 1:
  3978. LightRep.State = BulbBlink
  3979. Case 2,3:
  3980. LightCentrePurge.State = BulbBlink
  3981. Case 4:
  3982. LightRampL.State = BulbBlink
  3983. Case 5,6:
  3984. KillLeon = TRUE
  3985. PlayMusic 5, "Music_BRTrack8", TRUE, 0.6
  3986. MovieTimer_Expired()
  3987. RedOn()
  3988. LightCentrePurge.State = BulbBlink
  3989. End Select
  3990. Exit Sub
  3991. End If
  3992.  
  3993. If (LightZhoraMain.State = BulbBlink) Then
  3994. LightZhoraMain.State = BulbOn
  3995. ZhoraMode = TRUE
  3996.  
  3997. If (QuoteBusy = FALSE) Then
  3998. QuoteBusy = TRUE: PlayMusic 2, "vo_Exploited"
  3999. PreKick.Set TRUE, 3000
  4000. Else
  4001. PlaySound "fx_25"
  4002. QuoteBusy = FALSE
  4003. PreKick.Set TRUE, 1500
  4004. End If
  4005. If (TrackPlayed = 2) Then
  4006. PlayMusic 5, "Music_BRTrack5", TRUE, 0.6
  4007. Else
  4008. PlayMusic 5, "Music_BRTrack4", TRUE, 0.6
  4009. End If
  4010. OverlayMovie.UpdateInterval = 1000
  4011. OverlayMovie.Frame 225: OverlayMovieHUD.Frame 225
  4012.  
  4013. ' the objective here is to use the photo machine to analyse a photo found
  4014. ' in Leon's appartment. Then find and kill Zhora.
  4015.  
  4016. Select Case ZhoraHit
  4017. Case 0,1,2,3,4,5: ' we need the range lane, drop targets and stop range feature if running...
  4018. LightDT.State = BulbBlink
  4019. If (ShootingMode=TRUE) or (VKMode=TRUE) or (PhotoMode=TRUE) Then
  4020. RangeTimer.Enabled = FALSE
  4021. DT_1.PopDown
  4022. DT_2.PopDown
  4023. DT_3.PopDown
  4024. DT_4.PopDown
  4025. End If
  4026. If (ShootingMode = TRUE) Then ShootingMode = FALSE: LightRange.State = BulbOff
  4027. If (VKMode = TRUE) Then VKMode = FALSE: LightVK.State = BulbOff
  4028. If (PhotoMode = TRUE) Then PhotoMode = FALSE: LightPhoto.State = BulbOff
  4029. Case 6:
  4030. KillZhora = TRUE
  4031. PlayMusic 5, "Music_BRTrack8", TRUE, 0.6
  4032. MovieTimer_Expired()
  4033. RedOn()
  4034. LightCentrePurge.State = BulbBlink
  4035. End Select
  4036. Exit Sub
  4037. End If
  4038.  
  4039. If (LightPrisMain.State = BulbBlink) Then
  4040. LightPrisMain.State = BulbOn
  4041. PrisMode = TRUE
  4042. If (QuoteBusy = FALSE) Then
  4043. QuoteBusy = TRUE: PlayMusic 2, "vo_YourName"
  4044. PreKick.Set TRUE, 3000
  4045. Else
  4046. PlaySound "fx_25"
  4047. QuoteBusy = FALSE
  4048. PreKick.Set TRUE, 1500
  4049. End If
  4050.  
  4051. PlayMusic 5, "Music_Mode", FALSE, 0.4
  4052. OverlayMovie.UpdateInterval = 1000
  4053. OverlayMovie.Frame 224: OverlayMovieHUD.Frame 224
  4054.  
  4055. Select Case PrisHit
  4056. Case 0,1,2,3,4: LightRep.State = BulbBlink
  4057. Case 5: LightRampR.State = BulbBlink
  4058. Case 6,7:
  4059. PlayMusic 5, "Music_BRTrack8", TRUE, 0.6
  4060. MovieTimer_Expired()
  4061. RedOn()
  4062. LightCentrePurge.State = BulbBlink
  4063. End Select
  4064. Exit Sub
  4065. End If
  4066.  
  4067. ' all shots go to the elevator...
  4068.  
  4069. If (LightTyrellMain.State = BulbBlink) Then
  4070. LightTyrellMain.State = BulbOn
  4071. TyrellMode = TRUE
  4072. If (QuoteBusy = FALSE) Then
  4073. QuoteBusy = TRUE: PlayMusic 2, "vo_Moto"
  4074. PreKick.Set TRUE, 3500
  4075. Else
  4076. PlaySound "fx_25"
  4077. QuoteBusy = FALSE
  4078. PreKick.Set TRUE, 1500
  4079. End If
  4080.  
  4081. If (TrackPlayed = 6) Then
  4082. PlayMusic 5, "Music_BRTrack11", TRUE, 0.6
  4083. Else
  4084. PlayMusic 5, "Music_BRTrack8", TRUE, 0.6
  4085. End If
  4086.  
  4087. OverlayMovie.Frame 222: OverlayMovieHUD.Frame 222
  4088.  
  4089. ' get the ball into the elevator and ride up to Tyrell's penthouse...
  4090.  
  4091. LightTyrell.State = BulbOn
  4092. LightLO3.State = BulbBlink
  4093. LightElevator.State = BulbOn
  4094. Exit Sub
  4095. End If
  4096.  
  4097. If (LightSebastianMain.State = BulbBlink) Then
  4098. LightSebastianMain.State = BulbOn
  4099. SebastianMode = TRUE
  4100.  
  4101. If (QuoteBusy = FALSE) Then
  4102. QuoteBusy = TRUE
  4103. Select Case RandomNumber(2)
  4104. Case 1: PlayMusic 2, "vo_Savior"
  4105. Case 2: PlayMusic 2, "vo_StaysPut"
  4106. End Select
  4107. PreKick.Set TRUE, 2500
  4108. Else
  4109. PlaySound "fx_25"
  4110. QuoteBusy = FALSE
  4111. PreKick.Set TRUE, 1500
  4112. End If
  4113.  
  4114. PlayMusic 5, "Music_BRTrack10", TRUE, 0.6
  4115.  
  4116. Select Case SebastianHit
  4117. Case 0,1,2:
  4118. OverlayMovie.Frame 221: OverlayMovieHUD.Frame 221
  4119. LightLaneL.State = BulbBlink
  4120. LightLaneR.State = BulbBlink
  4121. MagnetActive = FALSE
  4122. LightCentre.State = BulbOff
  4123. LightBlade.State = BulbOff
  4124. LightRunner.State = BulbOff
  4125. LightPurge1.State = BulbOff
  4126. LightPurge2.State = BulbOff
  4127. LightCentrePurge.State = BulbOff
  4128. Case 3,4,5:
  4129. MovieTimer_Expired()
  4130. LightLaneL.State = BulbOff
  4131. LightLaneR.State = BulbOff
  4132. LightTyrell.State = BulbOn
  4133. LightElevator.State = BulbOn
  4134. LightLO3.State = BulbBlink
  4135. End Select
  4136. Exit Sub
  4137. End If
  4138.  
  4139. If (LightChewMain.State = BulbBlink) Then
  4140. LightChewMain.State = BulbOn
  4141. ChewMode = TRUE
  4142. If (QuoteBusy = FALSE) Then
  4143. QuoteBusy = TRUE: PlayMusic 2, "vo_GoAway"
  4144. PreKick.Set TRUE, 3000
  4145. Else
  4146. PlaySound "fx_25"
  4147. QuoteBusy = FALSE
  4148. PreKick.Set TRUE, 1500
  4149. End If
  4150. PlayMusic 5, "Music_MixTrack", TRUE, 0.6
  4151. OverlayMovie.Frame 223: OverlayMovieHUD.Frame 223
  4152. LightRampL.State = BulbBlink
  4153. Exit Sub
  4154. End If
  4155.  
  4156. If (LightRachaelMain.State = BulbBlink) Then
  4157. LightRachaelMain.State = BulbOn
  4158. RachaelMode = TRUE
  4159. If (QuoteBusy = FALSE) Then
  4160. QuoteBusy = TRUE: PlayMusic 2, "vo_MachineOnIt"
  4161. PreKick.Set TRUE, 4200
  4162. Else
  4163. PlaySound "fx_10"
  4164. QuoteBusy = FALSE
  4165. PreKick.Set TRUE, 1500
  4166. End If
  4167. OverlayMovie.Frame 212: OverlayMovieHUD.Frame 212
  4168. PlayMusic 5, "Music_BRTrack3", TRUE, 0.6
  4169. LightDT.State = BulbBlink
  4170. RangeTimer.Enabled = FALSE
  4171. If (ShootingMode = TRUE) Then ShootingMode = FALSE: LightRange.State = BulbOff
  4172. If (VKMode = TRUE) Then VKMode = FALSE: LightVK.State = BulbOff
  4173. If (PhotoMode = TRUE) Then PhotoMode = FALSE: LightPhoto.State = BulbOff
  4174. DT_1.PopDown
  4175. DT_2.PopDown
  4176. DT_3.PopDown
  4177. DT_4.PopDown
  4178. Exit Sub
  4179. End If
  4180.  
  4181. ' all shots are the same...
  4182.  
  4183. If (LightGaffMain.State = BulbBlink) Then
  4184. LightGaffMain.State = BulbOn
  4185. GaffMode = TRUE
  4186. If (QuoteBusy = FALSE) Then
  4187. QuoteBusy = TRUE: PlayMusic 2, "vo_Gaff"
  4188. PreKick.Set TRUE, 2000
  4189. Else
  4190. PlaySound "fx_25"
  4191. QuoteBusy = FALSE
  4192. PreKick.Set TRUE, 1500
  4193. End If
  4194.  
  4195. PlayMusic 5, "Music_BRTrack9", TRUE, 0.6
  4196. OverlayMovie.Frame 215: OverlayMovieHUD.Frame 215
  4197.  
  4198. LightLaneL.State = BulbBlink
  4199. LightLaneR.State = BulbBlink
  4200.  
  4201. MagnetActive = FALSE
  4202. 'LightCentre.State = BulbOff
  4203. 'LightBlade.State = BulbOff
  4204. 'LightRunner.State = BulbOff
  4205. LightPurge1.State = BulbOff
  4206. LightPurge2.State = BulbOff
  4207. LightCentrePurge.State = BulbOff
  4208. Exit Sub
  4209. End If
  4210.  
  4211. PreKick.Set TRUE, 500
  4212. Exit Sub
  4213. End If
  4214.  
  4215. ScoopyDoo = ScoopyDoo + 1
  4216.  
  4217. If (ScoopyDoo = 3) Then
  4218. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_NotComeHere"
  4219. IgnoreHit = TRUE
  4220. CaseScoop.DestroyBall: DeleteTrackedBall(CaseScoop)
  4221. KickerBump.CreateBall: AddTrackedBall(KickerBump)
  4222. AllPlasOff(): FlashMe = 0: PFFlashTimer.Set TRUE, 100
  4223. BumpFire.Set TRUE, 1800
  4224. Else
  4225. FlasherM.State = BulbOff
  4226. AllPlasOff()
  4227. LightSeqPF.Play SeqBlinking, , 1, 300
  4228. Flasher1.FlashForMs 300, 300, BulbOff
  4229. PlaySound "fx_Buzzer", 0.8
  4230. Kicker2Timer.Set TRUE, 500
  4231. AddScore(30)
  4232. End If
  4233. set LastSwitchHit = CaseScoop
  4234. End Sub
  4235.  
  4236.  
  4237. Sub BumpFire_Expired()
  4238. BumpFire.Enabled = FALSE
  4239. KickerBump.SolenoidPulse
  4240. PlaySound "fx_Hit1"
  4241. End Sub
  4242.  
  4243.  
  4244.  
  4245. Dim ScoopyDoo
  4246.  
  4247.  
  4248. Sub PreKick_Expired()
  4249. PreKick.Enabled = FALSE
  4250. If (Purge = TRUE) Then
  4251. LightRing1.State = BulbOff
  4252. LightRing2.State = BulbOff
  4253. LightRing3.State = BulbOff
  4254. LightRing4.State = BulbOff
  4255. LightRing5.State = BulbOff
  4256. LightRing6.State = BulbOff
  4257. LightRing7.State = BulbOff
  4258. LightRing8.State = BulbOff
  4259. FlasherPolice1.State = BulbOff
  4260. FlasherPolice2.State = BulbOff
  4261. SuperRamps = TRUE
  4262. 'CokeSign.Frame 28
  4263. KickerLane.DestroyBall: DeleteTrackedBall(KickerLane)
  4264. CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
  4265. 'PlaySound "fx_SpinnerTakeOff"
  4266. 'MovieTimer.Set TRUE, 100
  4267. 'AllPlasOff()
  4268. Flasher1.FlashForMs 550, 75, BulbOff
  4269. PlaySound "fx_PreKick"
  4270. Kicker2Timer.Set TRUE, 550
  4271. DMD.QueueText "[y3][xc][f3]SUPER RAMPS[y18][f7]ACTIVATED", deScrollIn, 1800, TRUE
  4272. DMD2.QueueText "[y3][xc][f3]SUPER RAMPS[y18][f7]ACTIVATED", deScrollIn, 1800, TRUE
  4273. Else
  4274. PlaySound "fx_PreKick"
  4275. AllPlasOff() 'PFFlashTimer.Set TRUE, 550
  4276. Flasher1.FlashForMs 550, 50, BulbOff
  4277. Kicker2Timer.Set TRUE, 550
  4278. End If
  4279. End Sub
  4280.  
  4281.  
  4282.  
  4283. Sub Kicker2Timer_Expired()
  4284. Kicker2Timer.Enabled = FALSE
  4285. CaseScoop.SolenoidPulse
  4286. PlaySound "fx_ScoopExit"
  4287. dof 112,2
  4288. If (Purge = TRUE) Then
  4289. Purge = FALSE
  4290. PlaySound "fx_Whoosh"
  4291. Else
  4292. If (PlayLeon = TRUE) Then
  4293. PlayLeon = FALSE
  4294. Clip = 10: PlayMovie()
  4295. PlaySound "vfx_LeonShoot"
  4296. Else
  4297. PlaySound "fx_GunShot3"
  4298. End If
  4299. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 200
  4300. LightSeqPF.Play SeqBlinking, , 1, 200
  4301. End If
  4302. End Sub
  4303.  
  4304.  
  4305.  
  4306. Dim PlayLeon
  4307.  
  4308.  
  4309.  
  4310. Sub MysteryTimer_Expired()
  4311. MysteryTimer.Set TRUE, 2300
  4312. DMDBusy = TRUE: DMDTimer.Set TRUE, 2300
  4313. MysterySpin = MysterySpin - 1
  4314. If (MysterySpin = 0) Then
  4315. MysteryTimer.Enabled = FALSE
  4316. OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
  4317.  
  4318. If (JoiOn = TRUE) Then
  4319.  
  4320. If (BallsRemaining(CurrentPlayer) = 1) Then
  4321. Select Case RandomNumber(3)
  4322. Case 1:
  4323. PlaySound "fx_JoiOn": CokeSign.UpdateInterval = 66: CokeSign.Frame 210, 247: SignOffTimer.Set TRUE, 2400
  4324. OverlayMovie.Frame 241, 242, 241: OverlayMovieHUD.Frame 241, 242, 241 ' extra ball...
  4325. DMD.Text = "[yc][xc][f6][bf]EXTRA BALL"
  4326. DMD2.Text = "[yc][xc][f6][bf]EXTRA BALL"
  4327. ExtraBallsAwards(CurrentPlayer) = ExtraBallsAwards(CurrentPlayer) + 1
  4328. ShootAgainLight.State = BulbOn
  4329. Case 2:
  4330. DMD.Text = "[yc][xc][f6][bf]ADV MODE"
  4331. DMD2.Text = "[yc][xc][f6][bf]ADV MODE"
  4332. Ass = Ass + 1
  4333. OverlayMovie.Frame 226, 227, 226: OverlayMovieHUD.Frame 226, 227, 226 ' adv mode...
  4334. PlaySound "fx_JoiOn": CokeSign.UpdateInterval = 66: CokeSign.Frame 210, 247: SignOffTimer.Set TRUE, 2400
  4335. If (LightTyrellMain.State = BulbOff) Then LightTyrellMain.State = BulbOn: Exit Sub
  4336. If (LightSebastianMain.State = BulbOff) Then LightSebastianMain.State = BulbOn: Exit Sub
  4337. If (LightChewMain.State = BulbOff) Then LightChewMain.State = BulbOn: Exit Sub
  4338. If (LightRachaelMain.State = BulbOff) Then LightRachaelMain.State = BulbOn: Exit Sub
  4339. If (LightGaffMain.State = BulbOff) Then LightGaffMain.State = BulbOn: Exit Sub
  4340. Case 3:
  4341. OverlayMovie.Frame 231, 232, 231: OverlayMovieHUD.Frame 231, 232, 231 ' cash..
  4342. DMD.FlushQueue: DMD2.FlushQueue
  4343. DMD.QueueText "[yc][xc][f6][bf]SMALL CASH", deNone, 1000, FALSE
  4344. DMD2.QueueText "[yc][xc][f6][bf]SMALL CASH", deNone, 1000, FALSE
  4345. If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_NoSuchLuck", FALSE, 1, 500
  4346. Select Case RandomNumber(5)
  4347. Case 1: DMD.QueueText "[yc][xc][f6]$ 250", deFlip, 1000, TRUE: AddScore(250)
  4348. Case 2: DMD.QueueText "[yc][xc][f6]$ 300", deFlip, 1000, TRUE: AddScore(300)
  4349. Case 3: DMD.QueueText "[yc][xc][f6]$ 350", deFlip, 1000, TRUE: AddScore(350)
  4350. Case 4: DMD.QueueText "[yc][xc][f6]$ 400", deFlip, 1000, TRUE: AddScore(400)
  4351. Case 5: DMD.QueueText "[yc][xc][f6]$ 450", deFlip, 1000, TRUE: AddScore(450)
  4352. End Select
  4353. End Select
  4354. Else
  4355. If (Ass < 2) Then
  4356. PlaySound "fx_JoiOn": CokeSign.UpdateInterval = 66: CokeSign.Frame 210, 247: SignOffTimer.Set TRUE, 2400
  4357. DMD.Text = "[yc][xc][f6][bf]ADV MODE"
  4358. DMD2.Text = "[yc][xc][f6][bf]ADV MODE"
  4359. Ass = Ass + 1
  4360. OverlayMovie.Frame 226, 227, 226: OverlayMovieHUD.Frame 226, 227, 226 ' adv mode...
  4361. 'If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_WhatsThis"
  4362. If (LightTyrellMain.State = BulbOff) Then LightTyrellMain.State = BulbOn: Exit Sub
  4363. If (LightSebastianMain.State = BulbOff) Then LightSebastianMain.State = BulbOn: Exit Sub
  4364. If (LightChewMain.State = BulbOff) Then LightChewMain.State = BulbOn: Exit Sub
  4365. If (LightRachaelMain.State = BulbOff) Then LightRachaelMain.State = BulbOn: Exit Sub
  4366. If (LightGaffMain.State = BulbOff) Then LightGaffMain.State = BulbOn: Exit Sub
  4367. Else
  4368. If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_Prize2", FALSE, 1, 500
  4369. PlaySound "fx_JoiOn": CokeSign.UpdateInterval = 66: CokeSign.Frame 210, 247: SignOffTimer.Set TRUE, 2400
  4370. DMD.FlushQueue: DMD2.FlushQueue
  4371. DMD.QueueText "[yc][xc][f6][bf]BIG CASH", deNone, 1000, FALSE
  4372. DMD2.QueueText "[yc][xc][f6][bf]BIG CASH", deNone, 1000, FALSE
  4373. Select Case RandomNumber(5)
  4374. Case 1: DMD.QueueText "[yc][xc][f6]$ 1000", deFlip, 1000, TRUE: AddScore(1000)
  4375. Case 2: DMD.QueueText "[yc][xc][f6]$ 1500", deFlip, 1000, TRUE: AddScore(1500)
  4376. Case 3: DMD.QueueText "[yc][xc][f6]$ 2000", deFlip, 1000, TRUE: AddScore(2000)
  4377. Case 4: DMD.QueueText "[yc][xc][f6]$ 2500", deFlip, 1000, TRUE: AddScore(2500)
  4378. Case 5: DMD.QueueText "[yc][xc][f6]$ 3000", deFlip, 1000, TRUE: AddScore(3000)
  4379. End Select
  4380. End If
  4381. End If
  4382. Exit Sub
  4383. End If
  4384.  
  4385. Select Case RandomNumber(14)
  4386. Case 1,10:
  4387. OverlayMovie.Frame 219, 220, 219: OverlayMovieHUD.Frame 219, 220, 219 ' ball saver...
  4388. DMD.Text = "[yc][xc][f6][bf]BALL SAVER"
  4389. DMD2.Text = "[yc][xc][f6][bf]BALL SAVER"
  4390. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Radical"
  4391. ShootAgainLight.State = BulbBlink
  4392. bBallSaverActive = TRUE
  4393. BallSaverTimer.Set TRUE, BSTime
  4394. Case 2:
  4395. DMD.Text = "[yc][xc][f6][bf]ADV MODE"
  4396. DMD2.Text = "[yc][xc][f6][bf]ADV MODE"
  4397. Ass = Ass + 1
  4398. OverlayMovie.Frame 226, 227, 226: OverlayMovieHUD.Frame 226, 227, 226 ' adv mode...
  4399. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_WhatsThis"
  4400. If (LightTyrellMain.State = BulbOff) Then LightTyrellMain.State = BulbOn: Exit Sub
  4401. If (LightSebastianMain.State = BulbOff) Then LightSebastianMain.State = BulbOn: Exit Sub
  4402. If (LightChewMain.State = BulbOff) Then LightChewMain.State = BulbOn: Exit Sub
  4403. If (LightRachaelMain.State = BulbOff) Then LightRachaelMain.State = BulbOn: Exit Sub
  4404. If (LightGaffMain.State = BulbOff) Then LightGaffMain.State = BulbOn: Exit Sub
  4405. Case 3,11:
  4406. OverlayMovie.Frame 231, 232, 231: OverlayMovieHUD.Frame 231, 232, 231 ' cash...
  4407. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Academic"
  4408. DMD.FlushQueue: DMD2.FlushQueue
  4409. DMD.QueueText "[yc][xc][f6][bf]SMALL CASH", deNone, 1000, FALSE
  4410. DMD2.QueueText "[yc][xc][f6][bf]SMALL CASH", deNone, 1000, FALSE
  4411. Select Case RandomNumber(5)
  4412. Case 1: DMD.QueueText "[yc][xc][f6]$ 100", deFlip, 1000, TRUE: AddScore(100)
  4413. Case 2: DMD.QueueText "[yc][xc][f6]$ 200", deFlip, 1000, TRUE: AddScore(200)
  4414. Case 3: DMD.QueueText "[yc][xc][f6]$ 300", deFlip, 1000, TRUE: AddScore(300)
  4415. Case 4: DMD.QueueText "[yc][xc][f6]$ 400", deFlip, 1000, TRUE: AddScore(400)
  4416. Case 5: DMD.QueueText "[yc][xc][f6]$ 500", deFlip, 1000, TRUE: AddScore(500)
  4417. End Select
  4418. Case 4:
  4419. OverlayMovie.Frame 239, 240, 239: OverlayMovieHUD.Frame 239, 240, 239 ' super pops...
  4420. DMD.Text = "[yc][xc][f6][bf]SUPER POPS"
  4421. DMD2.Text = "[yc][xc][f6][bf]SUPER POPS"
  4422. SuperPops()
  4423. Case 5:
  4424. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_MoreLife"
  4425. OverlayMovie.Frame 241, 242, 241: OverlayMovieHUD.Frame 241, 242, 241 ' extra ball...
  4426. DMD.Text = "[yc][xc][f6][bf]EXTRA BALL"
  4427. DMD2.Text = "[yc][xc][f6][bf]EXTRA BALL"
  4428. ExtraBallsAwards(CurrentPlayer) = ExtraBallsAwards(CurrentPlayer) + 1
  4429. ShootAgainLight.State = BulbOn
  4430. Case 6:
  4431. If (MoveSpinner.Enabled = FALSE) Then
  4432. DMD.FlushQueue
  4433. SpinLaunch = SpinLaunch - 1
  4434. MoveSpinner_Expired()
  4435. LightPurge1.State = BulbOff
  4436. LightPurge2.State = BulbOff
  4437. LightSuperRampL.FlashForMs 2000, 125, BulbOn
  4438. LightSuperRampR.FlashForMs 2000, 125, BulbOn
  4439. SuperRamps = TRUE
  4440. Magnet.Collidable = FALSE
  4441. LaneWall.Collidable = TRUE
  4442. Else
  4443. OverlayMovie.Frame 231, 232, 231: OverlayMovieHUD.Frame 231, 232, 231 ' cash...
  4444. DMD.FlushQueue
  4445. DMD.QueueText "[yc][xc][f6][bf]SMALL CASH", deNone, 800, FALSE
  4446. DMD2.QueueText "[yc][xc][f6][bf]SMALL CASH", deNone, 800, FALSE
  4447. If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_KnewIt"
  4448. Select Case RandomNumber(5)
  4449. Case 1: DMD.QueueText "[yc][xc][f6]$ 150", deFlip, 1000, TRUE: AddScore(150)
  4450. Case 2: DMD.QueueText "[yc][xc][f6]$ 160", deFlip, 1000, TRUE: AddScore(160)
  4451. Case 3: DMD.QueueText "[yc][xc][f6]$ 170", deFlip, 1000, TRUE: AddScore(170)
  4452. Case 4: DMD.QueueText "[yc][xc][f6]$ 180", deFlip, 1000, TRUE: AddScore(180)
  4453. Case 5: DMD.QueueText "[yc][xc][f6]$ 190", deFlip, 1000, TRUE: AddScore(190)
  4454. End Select
  4455. End If
  4456. Case 7,12:
  4457. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_NiceToys"
  4458. DMD.Text = "[yc][xc][f6][b]MONEY SPIN"
  4459. DMD2.Text = "[yc][xc][f6][b]MONEY SPIN"
  4460. OverlayMovie.Frame 595, 596, 595: OverlayMovieHUD.Frame 595, 596, 595 ' money spin....
  4461. Select Case RandomNumber(7)
  4462. Case 1: Spin = 12
  4463. Case 2: Spin = 13
  4464. Case 3: Spin = 15
  4465. Case 4: Spin = 16
  4466. Case 5: Spin = 17
  4467. Case 6: Spin = 18
  4468. Case 7: Spin = 19
  4469. End Select
  4470. RingSpin.Set TRUE, 100
  4471. PlayMusic 4, "fx_MoneySpin", FALSE, 0.6
  4472. LightRing8.Set BulbBlink,"10000000", 100
  4473. LightRing7.Set BulbBlink,"01000000", 100
  4474. LightRing6.Set BulbBlink,"00100000", 100
  4475. LightRing5.Set BulbBlink,"00010000", 100
  4476. LightRing4.Set BulbBlink,"00001000", 100
  4477. LightRing3.Set BulbBlink,"00000100", 100
  4478. LightRing2.Set BulbBlink,"00000010", 100
  4479. LightRing1.Set BulbBlink,"00000001", 100
  4480. Case 8:
  4481. OverlayMovie.Frame 875: OverlayMovieHUD.Frame 875 ' more time...
  4482. DMD.Text = "[yc][xc][f6][bf]+ S/RAMP TIME"
  4483. DMD2.Text = "[yc][xc][f6][bf]+ S/RAMP TIME"
  4484. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Radical"
  4485. SRTime = SRTime + 3000
  4486. Case 9,13:
  4487. If (LightMode.State = BulbBlink) Then
  4488. If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_Prize2", FALSE, 1, 500
  4489. DMD.FlushQueue: DMD2.FlushQueue
  4490. DMD.QueueText "[yc][xc][f6][bf]BIG CASH", deNone, 1000, FALSE
  4491. DMD2.QueueText "[yc][xc][f6][bf]BIG CASH", deNone, 1000, FALSE
  4492. Select Case RandomNumber(5)
  4493. Case 1: DMD.QueueText "[yc][xc][f6]$ 1000", deFlip, 1000, TRUE: AddScore(1000)
  4494. Case 2: DMD.QueueText "[yc][xc][f6]$ 1500", deFlip, 1000, TRUE: AddScore(1500)
  4495. Case 3: DMD.QueueText "[yc][xc][f6]$ 2000", deFlip, 1000, TRUE: AddScore(2000)
  4496. Case 4: DMD.QueueText "[yc][xc][f6]$ 2500", deFlip, 1000, TRUE: AddScore(2500)
  4497. Case 5: DMD.QueueText "[yc][xc][f6]$ 3000", deFlip, 1000, TRUE: AddScore(3000)
  4498. End Select
  4499. Else
  4500. OverlayMovie.Frame 239, 240, 239: OverlayMovieHUD.Frame 239, 240, 239 ' super pops...
  4501. DMD.Text = "[yc][xc][f6][bf]SUPER POPS"
  4502. DMD2.Text = "[yc][xc][f6][bf]SUPER POPS"
  4503. SuperPops()
  4504. IgnoreHit = TRUE
  4505. CaseScoop.DestroyBall: DeleteTrackedBall(CaseScoop)
  4506. KickerBump.CreateBall: AddTrackedBall(KickerBump)
  4507. AllPlasOff(): FlashMe = 0: PFFlashTimer.Set TRUE, 100
  4508. BumpFire.Set TRUE, 1800
  4509. PreKick.Enabled = FALSE
  4510. End If
  4511. Case 14:
  4512. 'OverlayMovie.Frame 875: OverlayMovieHUD.Frame 875 ' more time...
  4513. DMD.Text = "[yc][xc][f6][bf]BUZZ OFF"
  4514. DMD2.Text = "[yc][xc][f6][bf]BUZZ OFF"
  4515. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_BuzzOff2", FALSE, 1, 500
  4516. End Select
  4517. End If
  4518. End Sub
  4519.  
  4520.  
  4521.  
  4522.  
  4523. Sub AssWin()
  4524. Ass = Ass + 1
  4525. PlayMusic 3, "Music_Cue3", FALSE, 0.7
  4526. AddScore(2500)
  4527. MissionHit = AdjMissionHit
  4528. DMDBusy = TRUE: DMDTimer.Set TRUE, 2500
  4529. DMD.QueueText "[y3][xc][f3][b]ASSIGNMENT[y18][f7]COMPLETED", deFlip, 1300, FALSE
  4530. DMD2.QueueText "[y3][xc][f3][b]ASSIGNMENT[y18][f7]COMPLETED", deFlip, 1300, FALSE
  4531. DMD.QueueText "[xc][y1][f7]BONUS REWARD[f3][y7][bf]$ 2,500", deNone, 1000, TRUE
  4532. DMD2.QueueText "[xc][y3][f7]BONUS REWARD[f3][y18][bf]$ 2,500", deNone, 1000, TRUE
  4533. LightSeqGI.StopPlay: LightSeqPF.StopPlay
  4534. PFFlashTimer.Enabled = FALSE
  4535. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 1000
  4536. FlasherL.FlashForMs 1000, 75, BulbOff
  4537. Flasher1.FlashForMs 1000, 75, BulbOff
  4538. CheckAss()
  4539. End Sub
  4540.  
  4541.  
  4542.  
  4543. Sub CheckAss()
  4544. If (Ass = 3) Then
  4545. ' award free spin for 3 assignments completed...
  4546. Select Case RandomNumber(7)
  4547. Case 1: Spin = 12
  4548. Case 2: Spin = 13
  4549. Case 3: Spin = 15
  4550. Case 4: Spin = 16
  4551. Case 5: Spin = 17
  4552. Case 6: Spin = 18
  4553. Case 7: Spin = 19
  4554. End Select
  4555. RingSpin.Set TRUE, 100
  4556. PlayMusic 4, "fx_MoneySpin", TRUE, 0.6
  4557. LightRing8.Set BulbBlink,"10000000", 100
  4558. LightRing7.Set BulbBlink,"01000000", 100
  4559. LightRing6.Set BulbBlink,"00100000", 100
  4560. LightRing5.Set BulbBlink,"00010000", 100
  4561. LightRing4.Set BulbBlink,"00001000", 100
  4562. LightRing3.Set BulbBlink,"00000100", 100
  4563. LightRing2.Set BulbBlink,"00000010", 100
  4564. LightRing1.Set BulbBlink,"00000001", 100
  4565. Exit Sub
  4566. End If
  4567. If (Ass = 6) Then
  4568. ' batty ready after any 6 assignments are completed...
  4569. BattyReady = TRUE
  4570. LightMode.State = BulbBlink
  4571. BattyReadyLights()
  4572. End If
  4573. End Sub
  4574.  
  4575.  
  4576.  
  4577.  
  4578.  
  4579. ' ***********************************
  4580. ' ** **
  4581. ' ** KICKER RAMP **
  4582. ' ** **
  4583. ' ***********************************
  4584.  
  4585.  
  4586.  
  4587. Sub Kicker3_Hit()
  4588. RampDivertTimer.Enabled = FALSE
  4589. PlaySound "fx_ScoopHitR"
  4590. ReHit = TRUE
  4591. Kicker3.DestroyBall: DeleteTrackedBall(Kicker3)
  4592.  
  4593. If (LeonMode = TRUE) and (KillLeon = TRUE) Then
  4594. ReHit = FALSE: IgnoreHit = TRUE
  4595. CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
  4596. PlayLeon = TRUE
  4597. Kicker2Timer.Set TRUE, 5800
  4598. OverlayMovie.Frame 583: OverlayMovieHUD.Frame 583
  4599. Exit Sub
  4600. End If
  4601.  
  4602. If (fpTilted = TRUE) Then BallsOnPlayfield = 0: ReHit = FALSE: Exit Sub
  4603.  
  4604. If (LightSnakePit.State=BulbOff) and (LightMode.State=BulbOff) Then
  4605. AllPlasOff()
  4606. Flasher1.FlashForMs 1000, 125, BulbOff
  4607. PlaySound "fx_PreKick2"
  4608. ReHit = FALSE: IgnoreHit = TRUE
  4609. CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
  4610. Kicker2Timer.Set TRUE, 1000
  4611. Bulb24.State = BulbOn
  4612. Else
  4613. CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
  4614. End If
  4615. End Sub
  4616.  
  4617.  
  4618.  
  4619. Sub TopGate_Hit()
  4620. PlaySound "fx_GateHitL"
  4621. End Sub
  4622.  
  4623.  
  4624.  
  4625.  
  4626. ' *******************************
  4627. ' ** **
  4628. ' ** BUMPERS **
  4629. ' ** **
  4630. ' *******************************
  4631.  
  4632. ' Bumpers can be powered up to Super Pops when hit 30 times, increasing their value by x 10.
  4633.  
  4634. ' Hitting the Super Pops 25 times activates the Playfield Scoring Multiplier (PSX) for 40 seconds.
  4635. ' The PSX value matches the current Bonus X value.
  4636.  
  4637.  
  4638. Sub Bumper1_Hit()
  4639.  
  4640. If (fpTilted = TRUE) Then Exit Sub
  4641.  
  4642. If (SuperPopsActive = FALSE) Then
  4643. BulbBump1.State = BulbOn: FlashB1.State = BulbOn
  4644. BumpText1On.Render = TRUE
  4645. BumpText1Off.Render = FALSE
  4646. BumpFlash.Set TRUE, 150
  4647. End If
  4648.  
  4649. If (fpGameInPlay = FALSE) Then Exit Sub
  4650.  
  4651. If (SuperPopsActive = TRUE) Then
  4652. dof 105,2
  4653. PlaySound "fx_BumpHit", 0.5
  4654. AddScore(BumpVal*2)
  4655. BumpHit = BumpHit + 1
  4656. If (DMDBusy = FALSE) Then DMD.Text = "[y3][xc][f3]SUPER BUMPS = " & BumpHit & "[y18][f2]PLAYFIELD X AT 25": DMD2.Text = "[y3][xc][f3]SUPER BUMPS = " & BumpHit & "[y18][f2]PLAYFIELD X AT 25"
  4657. If (BumpHit = 25) Then
  4658. AddScore(BumpVal*4)
  4659. BumpHit = 0
  4660. PFScore = PFScore + 1
  4661. PFXTimer.Set TRUE, 40000
  4662. DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
  4663. DMD.Text = "[yc][xc][f5][bf]SCORING X " & PFScore
  4664. DMD2.Text = "[yc][xc][f5][bf]SCORING X " & PFScore
  4665. PlaySound "fx_20"
  4666. Exit Sub
  4667. End If
  4668. Else
  4669. BumpHit = BumpHit + 1
  4670. If (BumpHit = 30) Then
  4671. SuperPops()
  4672. Exit Sub
  4673. End If
  4674. AddScore(BumpVal)
  4675. DMD.Text = "[y3][xc][f3]BUMP HIT = " & BumpHit & "[y18][f3]SUPER POPS AT 30"
  4676. DMD2.Text = "[y3][xc][f3]BUMP HIT = " & BumpHit & "[y18][f3]SUPER POPS AT 30"
  4677. PlaySound "fx_Hit3", 0.4
  4678. BulbBump1.State = BulbOn: FlashB1.State = BulbOn
  4679. BumpText1On.Render = TRUE
  4680. BumpText1Off.Render = FALSE
  4681. BumpFlash.Set TRUE, 150
  4682. End If
  4683. End Sub
  4684.  
  4685.  
  4686. Sub BumpFlash_Expired()
  4687. BumpFlash.Enabled = FALSE
  4688. BulbBump1.State = BulbOff: FlashB1.State = BulbOff
  4689. BumpText1On.Render = FALSE
  4690. BumpText1Off.Render = TRUE
  4691. End Sub
  4692.  
  4693.  
  4694.  
  4695. Sub BumpT_Expired()
  4696. BumpT.Enabled = FALSE
  4697. BRT.SolenoidPulse 10
  4698. End Sub
  4699.  
  4700.  
  4701.  
  4702. Sub Bumper2_Hit()
  4703.  
  4704. If (fpTilted = TRUE) Then Exit Sub
  4705.  
  4706. If (SuperPopsActive = FALSE) Then
  4707. BulbBump2.State = BulbOn: FlashB2.State = BulbOn
  4708. BumpText2On.Render = TRUE
  4709. BumpText2Off.Render = FALSE
  4710. BumpFlash2.Set TRUE, 150
  4711. End If
  4712.  
  4713. If (fpGameInPlay = FALSE) Then Exit Sub
  4714. dof 106,2
  4715. PlaySound "fx_Bumper"
  4716. PBT1.SolenoidPulse
  4717. PBT2.SolenoidPulse
  4718. PBT3.SolenoidPulse
  4719. PBT4.SolenoidPulse
  4720. BRT.PopDown: BumpT.Set TRUE, 75
  4721.  
  4722. If (SuperPopsActive = TRUE) Then
  4723. PlaySound "fx_BumpHit", 0.5
  4724. AddScore(BumpVal*2)
  4725. BumpHit = BumpHit + 1
  4726. If (DMDBusy = FALSE) Then DMD.Text = "[y3][xc][f3]SUPER BUMPS = " & BumpHit & "[y18][f2]PLAYFIELD X AT 25": DMD2.Text = "[y3][xc][f3]SUPER BUMPS = " & BumpHit & "[y18][f2]PLAYFIELD X AT 25"
  4727. If (BumpHit = 25) Then
  4728. AddScore(BumpVal*4)
  4729. BumpHit = 0
  4730. PFScore = PFScore + 1
  4731. PFXTimer.Set TRUE, 40000
  4732. DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
  4733. DMD.Text = "[yc][xc][f5][bf]SCORING X " & PFScore
  4734. DMD2.Text = "[yc][xc][f5][bf]SCORING X " & PFScore
  4735. PlaySound "fx_20"
  4736. Exit Sub
  4737. End If
  4738. Else
  4739. BumpHit = BumpHit + 1
  4740. If (BumpHit = 30) Then
  4741. SuperPops()
  4742. Exit Sub
  4743. End If
  4744. AddScore(BumpVal)
  4745. DMD.Text = "[y3][xc][f3]BUMP HIT = " & BumpHit & "[y18][f2]SUPER POPS AT 30"
  4746. DMD2.Text = "[y3][xc][f3]BUMP HIT = " & BumpHit & "[y18][f3]SUPER POPS AT 30"
  4747. PlaySound "fx_Hit3", 0.4
  4748. BulbBump2.State = BulbOn: FlashB2.State = BulbOn
  4749. BumpText2On.Render = TRUE
  4750. BumpText2Off.Render = FALSE
  4751. BumpFlash2.Set TRUE, 150
  4752. End If
  4753. End Sub
  4754.  
  4755.  
  4756. Sub BumpFlash2_Expired()
  4757. BumpFlash2.Enabled = FALSE
  4758. BulbBump2.State = BulbOff: FlashB2.State = BulbOff
  4759. BumpText2On.Render = FALSE
  4760. BumpText2Off.Render = TRUE
  4761. End Sub
  4762.  
  4763.  
  4764.  
  4765. Sub BumpR_Expired()
  4766. BumpR.Enabled = FALSE
  4767. BRR.SolenoidPulse 10
  4768. End Sub
  4769.  
  4770.  
  4771.  
  4772. Sub Bumper3_Hit()
  4773.  
  4774. If (fpTilted = TRUE) Then Exit Sub
  4775.  
  4776. If (SuperPopsActive = FALSE) Then
  4777. BulbBump3.State = BulbOn: FlashB3.State = BulbOn
  4778. BumpText3On.Render = TRUE
  4779. BumpText3Off.Render = FALSE
  4780. BumpFlash3.Set TRUE, 150
  4781. End If
  4782.  
  4783. If (fpGameInPlay = FALSE) Then Exit Sub
  4784. dof 107,2
  4785. PlaySound "fx_Bumper"
  4786. PBR1.SolenoidPulse
  4787. PBR2.SolenoidPulse
  4788. PBR3.SolenoidPulse
  4789. PBR4.SolenoidPulse
  4790. BRR.PopDown: BumpR.Set TRUE, 75
  4791.  
  4792. If (SuperPopsActive = TRUE) Then
  4793. PlaySound "fx_BumpHit", 0.5
  4794. AddScore(BumpVal*2)
  4795. BumpHit = BumpHit + 1
  4796. If (DMDBusy = FALSE) Then DMD.Text = "[y3][xc][f3]SUPER BUMPS = " & BumpHit & "[y18][f2]PLAYFIELD X AT 25": DMD2.Text = "[y3][xc][f3]SUPER BUMPS = " & BumpHit & "[y18][f3]PLAYFIELD X AT 25"
  4797. If (BumpHit = 25) Then
  4798. AddScore(BumpVal*4)
  4799. BumpHit = 0
  4800. PFScore = PFScore + 1
  4801. PFXTimer.Set TRUE, 40000
  4802. DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
  4803. DMD.Text = "[yc][xc][f5][bf]SCORING X " & PFScore
  4804. DMD2.Text = "[yc][xc][f5][bf]SCORING X " & PFScore
  4805. PlaySound "fx_20"
  4806. Exit Sub
  4807. End If
  4808. Else
  4809. BumpHit = BumpHit + 1
  4810. If (BumpHit = 30) Then
  4811. SuperPops()
  4812. Exit Sub
  4813. End If
  4814. AddScore(BumpVal)
  4815. DMD.Text = "[y3][xc][f3]BUMP HIT = " & BumpHit & "[y18][f3]SUPER POPS AT 30"
  4816. DMD2.Text = "[y3][xc][f3]BUMP HIT = " & BumpHit & "[y18][f3]SUPER POPS AT 30"
  4817. PlaySound "fx_Hit3", 0.4
  4818. BulbBump3.State = BulbOn: FlashB3.State = BulbOn
  4819. BumpText3On.Render = TRUE
  4820. BumpText3Off.Render = FALSE
  4821. BumpFlash3.Set TRUE, 150
  4822. End If
  4823. End Sub
  4824.  
  4825.  
  4826.  
  4827.  
  4828. Sub BumpFlash3_Expired()
  4829. BumpFlash3.Enabled = FALSE
  4830. BulbBump3.State = BulbOff: FlashB3.State = BulbOff
  4831. BumpText3On.Render = FALSE
  4832. BumpText3Off.Render = TRUE
  4833. End Sub
  4834.  
  4835.  
  4836.  
  4837. Sub PFXTimer_Expired()
  4838. PFXTimer.Enabled = FALSE
  4839. PFScore = 1
  4840. End Sub
  4841.  
  4842.  
  4843. Dim SuperPopsActive
  4844.  
  4845.  
  4846. Sub SuperPops()
  4847. SuperPopsActive = TRUE
  4848. AddScore(850)
  4849. PlaySound "fx_AirRaid2"
  4850. LightSuperPops.State = BulbOn
  4851. BumpHit = 0
  4852. ' turn on all bumpers...
  4853. BumpFlash.Enabled = FALSE
  4854. BumpFlash2.Enabled = FALSE
  4855. BumpFlash3.Enabled = FALSE
  4856. BulbBump1.State = BulbOn
  4857. BumpText1On.Render = TRUE
  4858. BumpText1Off.Render = FALSE
  4859. BulbBump2.State = BulbOn
  4860. BumpText2On.Render = TRUE
  4861. BumpText2Off.Render = FALSE
  4862. BulbBump3.State = BulbOn
  4863. BumpText3On.Render = TRUE
  4864. BumpText3Off.Render = FALSE
  4865. SuperPopTimer.Set TRUE, 40000
  4866. End Sub
  4867.  
  4868.  
  4869.  
  4870. Sub SuperPopTimer_Expired()
  4871. SuperPopTimer.Enabled = FALSE
  4872. SuperPopsActive = FALSE
  4873. BumpHit = 0
  4874. FlashB1.State = BulbOff
  4875. FlashB2.State = BulbOff
  4876. FlashB3.State = BulbOff
  4877. LightSuperPops.State = BulbOff
  4878. BulbBump1.State = BulbOff
  4879. BumpText1On.Render = FALSE
  4880. BumpText1Off.Render = TRUE
  4881. BulbBump2.State = BulbOff
  4882. BumpText2On.Render = FALSE
  4883. BumpText2Off.Render = TRUE
  4884. BulbBump3.State = BulbOff
  4885. BumpText3On.Render = FALSE
  4886. BumpText3Off.Render = TRUE
  4887. End Sub
  4888.  
  4889.  
  4890.  
  4891.  
  4892. ' ******************************
  4893. ' ** **
  4894. ' ** GUN TARGETS **
  4895. ' ** **
  4896. ' ******************************
  4897.  
  4898. ' complete G-U-N to raise the drop targets in the firing range.
  4899.  
  4900. ' shoot down all the targets within the time limit to clear.
  4901.  
  4902. ' clear 3 sets for an extra ball.
  4903.  
  4904.  
  4905. Sub TgtGun1_Hit()
  4906. If (LightLeft1.State = BulbBlink) Then
  4907. LightLeft1.State = BulbOn: CheckGUN()
  4908. Else
  4909. AddScore(10)
  4910. End If
  4911. set LastSwitchHit = TgtGun1
  4912. End Sub
  4913.  
  4914.  
  4915.  
  4916. Sub TgtGun2_Hit()
  4917. If (LightLeft2.State = BulbBlink) Then
  4918. LightLeft2.State = BulbOn: CheckGUN()
  4919. Else
  4920. AddScore(10)
  4921. End If
  4922. set LastSwitchHit = TgtGun2
  4923. End Sub
  4924.  
  4925.  
  4926.  
  4927. Sub TgtGun3_Hit()
  4928. If (LightLeft3.State = BulbBlink) Then
  4929. LightLeft3.State = BulbOn: CheckGUN()
  4930. Else
  4931. AddScore(10)
  4932. End If
  4933. set LastSwitchHit = TgtGun3
  4934. End Sub
  4935.  
  4936.  
  4937.  
  4938. Sub CheckGUN()
  4939. If (LightLeft1.State=BulbOn) and (LightLeft2.State=BulbOn) and (LightLeft3.State=BulbOn) Then
  4940.  
  4941. ' these modes are using the lane, so just add points...
  4942. If (RachaelMode = TRUE) or (ZhoraMode = TRUE) or (BattyMode = TRUE) Then
  4943.  
  4944. If (RachaelMode = TRUE) and (QuoteBusy = FALSE) Then
  4945. QuoteBusy = TRUE
  4946. PlayMusic 2, "vo_Answer"
  4947. End If
  4948.  
  4949. AddScore(280)
  4950. LightLeft1.State = BulbBlink
  4951. LightLeft2.State = BulbBlink
  4952. LightLeft3.State = BulbBlink
  4953. RangeValue = RangeValue + 20
  4954. DMD.QueueText "[y3][xc][f3]RANGE VALUE[y18][f3]INCREASED TO " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
  4955. DMD2.QueueText "[y3][xc][f3]RANGE VALUE[y18][f3]INCREASED TO " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
  4956. Exit Sub
  4957. End If
  4958.  
  4959. If (ShootingMode=TRUE) or (VKMode=TRUE) or (PhotoMode=TRUE) Then ' firing range already running...increase value of shots
  4960. LightLeft1.FlashForMs 500, 100, BulbBlink
  4961. LightLeft2.FlashForMs 500, 100, BulbBlink
  4962. LightLeft3.FlashForMs 500, 100, BulbBlink
  4963. RangeValue = RangeValue + 150
  4964. AddScore(280)
  4965. DMD.QueueText "[y3][xc][f3]RANGE VALUE[y18][f3]INCREASED TO " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
  4966. DMD2.QueueText "[y3][xc][f3]RANGE VALUE[y18][f3]INCREASED TO " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
  4967. Else
  4968. If (LightRange.State = BulbOff) Then
  4969. AddScore(280)
  4970. If (QuoteBusy = FALSE) Then
  4971. QuoteBusy = TRUE
  4972. If (ModeActive = FALSE) Then
  4973. Select Case RandomNumber(3)
  4974. Case 1: PlayMusic 2, "vo_TargetAndShoot2", FALSE, 1, 400
  4975. Case 2: PlayMusic 2, "vo_TargetAndShoot3", FALSE, 1, 400
  4976. Case 3: PlayMusic 2, "vo_TargetAndShoot4", FALSE, 1, 400
  4977. End Select
  4978. Else
  4979. PlayMusic 2, "vo_TargetAndShoot3", FALSE, 1, 300
  4980. End If
  4981. End If
  4982. LightRange.State = BulbBlink
  4983. OverlayMovie.Frame 216: OverlayMovieHUD.Frame 216
  4984. If (ModeActive = TRUE) Then MovieTimer.Set TRUE, 2000
  4985. ShootingMode = TRUE
  4986. LightLeft1.State = BulbBlink
  4987. LightLeft2.State = BulbBlink
  4988. LightLeft3.State = BulbBlink
  4989. PlaySound "fx_Hit2"
  4990. Up = 0: TargetBankTimer.Set TRUE, 250
  4991. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  4992. DMD.QueueText "[y3][xc][f3][b]SHOOT TARGETS[/b][y18][f3]TARGET VALUE: " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1800, TRUE
  4993. DMD2.QueueText "[y3][xc][f3][b]SHOOT TARGETS[/b][y18][f3]TARGET VALUE: " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1800, TRUE
  4994. Exit Sub
  4995. End If
  4996.  
  4997. If (LightVK.State = BulbOff) Then
  4998. LightVK.State = BulbBlink
  4999. VKMode = TRUE
  5000. AddScore(580)
  5001. If (QuoteBusy = FALSE) and (ModeActive = FALSE) Then
  5002. QuoteBusy = TRUE
  5003. Select Case RandomNumber(2)
  5004. Case 1: PlayMusic 2, "vo_EmpathyTest", FALSE, 1, 200
  5005. Case 2: PlayMusic 2, "vo_SeeItWork", FALSE, 1, 200
  5006. End Select
  5007. End If
  5008. LightLeft1.State = BulbBlink
  5009. LightLeft2.State = BulbBlink
  5010. LightLeft3.State = BulbBlink
  5011. PlaySound "fx_Hit2"
  5012. Up = 0: TargetBankTimer.Set TRUE, 250
  5013. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5014. DMD.QueueText "[y3][xc][f3][b]SHOOT TARGETS[/b][y18][f3]TARGET VALUE: " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1800, TRUE
  5015. DMD2.QueueText "[y3][xc][f3][b]SHOOT TARGETS[/b][y18][f3]TARGET VALUE: " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1800, TRUE
  5016. Exit Sub
  5017. End If
  5018.  
  5019. If (LightPhoto.State = BulbOff) Then
  5020. LightPhoto.State = BulbBlink
  5021. PhotoMode = TRUE
  5022. AddScore(880)
  5023. If (QuoteBusy = FALSE) and (ModeActive = FALSE) Then
  5024. QuoteBusy = TRUE
  5025. PlayMusic 2, "vo_GetPhotos", FALSE, 1, 500
  5026. End If
  5027. LightLeft1.State = BulbBlink
  5028. LightLeft2.State = BulbBlink
  5029. LightLeft3.State = BulbBlink
  5030. PlaySound "fx_Hit2"
  5031. Up = 0: TargetBankTimer.Set TRUE, 250
  5032. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5033. DMD.QueueText "[y3][xc][f3][b]SHOOT TARGETS[/b][y18][f3]TARGET VALUE: " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1800, TRUE
  5034. DMD2.QueueText "[y3][xc][f3][b]SHOOT TARGETS[/b][y18][f3]TARGET VALUE: " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1800, TRUE
  5035. Exit Sub
  5036. End If
  5037. End If
  5038. Else
  5039. AddScore(100)
  5040. PlaySound "fx_Hit7"
  5041. End If
  5042. End Sub
  5043.  
  5044.  
  5045. Dim Up
  5046.  
  5047.  
  5048. Sub TargetBankTimer_Expired()
  5049. Up = Up + 1: PlaySound "fx_PopUpL", 0.7
  5050. Select Case UP
  5051. Case 1: DT_1.SolenoidPulse
  5052. Case 2: DT_2.SolenoidPulse
  5053. Case 3: DT_3.SolenoidPulse
  5054. Case 4: DT_4.SolenoidPulse: TargetBankTimer.Enabled = FALSE
  5055. End Select
  5056. dof 111,2
  5057. End Sub
  5058.  
  5059.  
  5060. Sub RangeTimer_Expired()
  5061. RangeTimer.Enabled = FALSE
  5062. If (MovieTimer.Enabled = FALSE) Then MovieTimer.Set TRUE, 100
  5063. If (ShootingMode = TRUE) Then LightRange.State = BulbOff: ShootingMode = FALSE
  5064. If (VKMode = TRUE) Then LightVK.State = BulbOff: VKMode = FALSE
  5065. If (PhotoMode = TRUE) Then LightPhoto.State = BulbOff: PhotoMode = FALSE
  5066. PlaySound "fx_Hit2"
  5067. DT_1.PopDown
  5068. DT_2.PopDown
  5069. DT_3.PopDown
  5070. DT_4.PopDown
  5071. RangeValue = AdjRangeValue
  5072. VKValue = AdjVKValue
  5073. PhotoValue = AdjPhotoValue
  5074. End Sub
  5075.  
  5076.  
  5077.  
  5078.  
  5079.  
  5080.  
  5081. ' ************************************
  5082. ' ** **
  5083. ' ** TARGETS RIGHT BANK **
  5084. ' ** **
  5085. ' ************************************
  5086.  
  5087.  
  5088.  
  5089. Sub TgtNew_Hit()
  5090. PlaySound "fx_4"
  5091. If (LightNew.State = BulbBlink) Then
  5092. LightNew.State = BulbOn: Check3Bank()
  5093. AddScore(100)
  5094. Else
  5095. AddScore(10)
  5096. End If
  5097. set LastSwitchHit = TgtNew
  5098. End Sub
  5099.  
  5100.  
  5101.  
  5102. Sub TgtCase_Hit()
  5103. PlaySound "fx_4"
  5104. If (LightCase.State = BulbBlink) Then
  5105. LightCase.State = BulbOn: Check3Bank()
  5106. AddScore(100)
  5107. Else
  5108. AddScore(10)
  5109. End If
  5110. set LastSwitchHit = TgtCase
  5111. End Sub
  5112.  
  5113.  
  5114. Sub BattyReadyLights()
  5115. LightLeonMain.Set BulbBlink, "1010100", 150
  5116. LightZhoraMain.Set BulbBlink, "1001010", 150
  5117. LightPrisMain.Set BulbBlink, "1010100", 150
  5118. LightTyrellMain.Set BulbBlink, "1001010", 150
  5119. LightSebastianMain.Set BulbBlink,"1010100", 150
  5120. LightChewMain.Set BulbBlink, "1001010", 150
  5121. LightRachaelMain.Set BulbBlink, "1010100", 150
  5122. LightGaffMain.Set BulbBlink, "1001010", 150
  5123. LightRing8.Set BulbBlink,"1010100", 100
  5124. LightRing7.Set BulbBlink,"1010100", 100
  5125. LightRing6.Set BulbBlink,"1010100", 100
  5126. LightRing5.Set BulbBlink,"1010100", 100
  5127. LightRing4.Set BulbBlink,"1010100", 100
  5128. LightRing3.Set BulbBlink,"1010100", 100
  5129. LightRing2.Set BulbBlink,"1010100", 100
  5130. LightRing1.Set BulbBlink,"1010100", 100
  5131. End Sub
  5132.  
  5133.  
  5134.  
  5135. Sub Check3Bank()
  5136. If (LightNew.State=BulbOn) and (LightCase.State=BulbOn) Then
  5137.  
  5138. If (ModeActive = FALSE) Then
  5139.  
  5140. If (BattyReady = TRUE) Then
  5141. PlaySound "fx_CaseHit"
  5142. LightMode.State = BulbBlink
  5143. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5144. DMD.Text = "[y3][xc][f3]BATTY READY[y18][f7][b]SHOOT SCOOP TO START"
  5145. DMD2.Text = "[y3][xc][f3]BATTY READY[y18][f7][b]SHOOT SCOOP TO START"
  5146. Exit Sub
  5147. End If
  5148.  
  5149. ' the other 3 replicants are dead....time to face Roy....
  5150. If (LightLeonMain.State=BulbOn) and (LightZhoraMain.State=BulbOn) and (LightPrisMain.State=BulbOn) Then
  5151. OverlayMovie.Frame 68: OverlayMovieHUD.Frame 68
  5152. QuoteBusy = TRUE: PlayMusic 2, "vo_RoyBatty"
  5153. BattyReady = TRUE
  5154. BattyReadyLights()
  5155. Exit Sub
  5156. End If
  5157.  
  5158. ' set a random number for spins...
  5159. Select Case RandomNumber(5)
  5160. Case 1: Spin = 10
  5161. Case 2: Spin = 12
  5162. Case 3: Spin = 13
  5163. Case 4: Spin = 14
  5164. Case 5: Spin = 15
  5165. End Select
  5166.  
  5167. ' first, save the main light state...
  5168. TempM1 = LightLeonMain.State
  5169. TempM2 = LightZhoraMain.State
  5170. TempM3 = LightPrisMain.State
  5171. TempM4 = LightTyrellMain.State
  5172. TempM5 = LightSebastianMain.State
  5173. TempM6 = LightChewMain.State
  5174. TempM7 = LightRachaelMain.State
  5175. TempM8 = LightGaffMain.State
  5176.  
  5177. PlayMusic 4, "fx_MoneySpin", TRUE, 0.6
  5178.  
  5179. If (QuoteBusy = FALSE) Then
  5180. Select Case RandomNumber(3)
  5181. Case 1: QuoteBusy = TRUE: PlayMusic 2, "vo_UrgentMessage", FALSE, 0.8
  5182. End Select
  5183. End If
  5184.  
  5185. DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
  5186. DMD.Text = "[y3][xc][f3]NEW CASE[y18][f7][b]READY TO START"
  5187. DMD2.Text = "[y3][xc][f3]NEW CASE[y18][f7][b]READY TO START"
  5188.  
  5189. ' now spin the wheel...
  5190. LightLeonMain.Set BulbBlink, "10000000", 100
  5191. LightZhoraMain.Set BulbBlink, "01000000", 100
  5192. LightPrisMain.Set BulbBlink, "00100000", 100
  5193. LightTyrellMain.Set BulbBlink, "00010000", 100
  5194. LightSebastianMain.Set BulbBlink,"00001000", 100
  5195. LightChewMain.Set BulbBlink, "00000100", 100
  5196. LightRachaelMain.Set BulbBlink, "00000010", 100
  5197. LightGaffMain.Set BulbBlink, "00000001", 100
  5198. WheelSpin.Set TRUE, 100
  5199. AddScore(300)
  5200. Else
  5201. PlaySound "fx_CaseHit"
  5202. AddScore(300)
  5203. MissionHit = MissionHit + 50
  5204. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5205. DMD.QueueText "[y3][xc][f3]MISSION VALUE[y18][f3]INCREASED $" & FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1800, TRUE
  5206. DMD2.QueueText "[y3][xc][f3]MISSION VALUE[y18][f3]INCREASED $" & FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1800, TRUE
  5207. LightNew.State = BulbBlink
  5208. LightCase.State = BulbBlink
  5209. End If
  5210. End If
  5211. End Sub
  5212.  
  5213.  
  5214.  
  5215.  
  5216. Sub MusicFade(FadeTime)
  5217. EffectMusic 5, SetVolume, 0.3, 100
  5218. EffectMusic 1, SetVolume, 0.3, 100
  5219. ResumeVol.Set TRUE, FadeTime
  5220. End Sub
  5221.  
  5222.  
  5223. Sub ResumeVol_Expired()
  5224. ResumeVol.Enabled = FALSE
  5225. EffectMusic 5, SetVolume, 0.6, 100
  5226. EffectMusic 1, SetVolume, 0.6, 100
  5227. End Sub
  5228.  
  5229.  
  5230.  
  5231. Sub WheelSpin_Expired()
  5232. Spin = Spin - 1
  5233.  
  5234. 'LightLeonMain.State = BulbOff
  5235. 'LightZhoraMain.State = BulbOff
  5236. 'LightPrisMain.State = BulbOff
  5237. 'LightTyrellMain.State = BulbOff
  5238. 'LightSebastianMain.State = BulbOff
  5239. 'LightChewMain.State = BulbOff
  5240. 'LightRachaelMain.State = BulbOff
  5241. 'LightGaffMain.State = BulbOff
  5242.  
  5243. If (Spin =<1) Then
  5244. WheelSpin.Enabled = FALSE
  5245. StopMusic 4: PlaySound "fx_3"
  5246.  
  5247. LightMode.State = BulbBlink
  5248. LightRampL.FlashForMs 1000, 125, BulbOff
  5249.  
  5250. LightNew.State = BulbBlink
  5251. LightCase.State = BulbBlink
  5252.  
  5253. ' return light to their previous state...
  5254. LightLeonMain.State = TempM1
  5255. LightZhoraMain.State = TempM2
  5256. LightPrisMain.State = TempM3
  5257. LightTyrellMain.State = TempM4
  5258. LightSebastianMain.State = TempM5
  5259. LightChewMain.State = TempM6
  5260. LightRachaelMain.State = TempM7
  5261. LightGaffMain.State = TempM8
  5262.  
  5263. If (LightLeonMain.State = BulbBlink) Then LightLeonMain.Set BulbOff, "10", 150
  5264. If (LightZhoraMain.State = BulbBlink) Then LightZhoraMain.Set BulbOff, "10", 150
  5265. If (LightPrisMain.State = BulbBlink) Then LightPrisMain.Set BulbOff, "10", 150
  5266. If (LightTyrellMain.State = BulbBlink) Then LightTyrellMain.Set BulbOff, "10", 150
  5267. If (LightSebastianMain.State = BulbBlink) Then LightSebastianMain.Set BulbOff,"10", 150
  5268. If (LightChewMain.State = BulbBlink) Then LightChewMain.Set BulbOff, "10", 150
  5269. If (LightRachaelMain.State = BulbBlink) Then LightRachaelMain.Set BulbOff, "10", 150
  5270. If (LightGaffMain.State = BulbBlink) Then LightGaffMain.Set BulbOff, "10", 150
  5271.  
  5272.  
  5273. If (JoiOn = TRUE) Then
  5274. ' if Joi is active, she will first pick one of the replicants...then re-spin to a random character....
  5275. Select Case RandomNumber(3)
  5276. Case 1:
  5277. If (LightLeonMain.State = BulbOff) Then
  5278. LightLeonMain.Set BulbBlink, "10", 150
  5279. PlaySound "fx_JoiOn": CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
  5280. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5281. DMD.QueueText "[y3][xc][f3]LEON READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
  5282. DMD2.QueueText "[y3][xc][f3]LEON READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
  5283. Else
  5284. ReSpin()
  5285. End If
  5286. Case 2:
  5287. If (LightZhoraMain.State = BulbOff) Then
  5288. LightZhoraMain.Set BulbBlink, "10", 150
  5289. PlaySound "fx_JoiOn": CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
  5290. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5291. DMD.QueueText "[y3][xc][f3]ZHORA READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
  5292. DMD2.QueueText "[y3][xc][f3]ZHORA READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
  5293. Else
  5294. ReSpin()
  5295. End If
  5296. Case 3:
  5297. If (LightPrisMain.State = BulbOff) Then
  5298. LightPrisMain.Set BulbBlink, "10", 150
  5299. PlaySound "fx_JoiOn": CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
  5300. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5301. DMD.QueueText "[y3][xc][f3]PRIS READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
  5302. DMD2.QueueText "[y3][xc][f3]PRIS READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
  5303. Else
  5304. ReSpin()
  5305. End If
  5306. End Select
  5307. Exit Sub
  5308. End If
  5309.  
  5310. Select Case RandomNumber(8)
  5311. Case 1:
  5312. If (LightLeonMain.State = BulbOff) Then
  5313. LightLeonMain.Set BulbBlink, "10", 150
  5314. If (QuoteBusy = FALSE) Then
  5315. QuoteBusy = TRUE
  5316. Select Case RandomNumber(3)
  5317. Case 1: PlayMusic 2, "vo_LeonKillHim"
  5318. Case 2: PlayMusic 2, "vo_Armed", FALSE, 0.8
  5319. Case 3: PlayMusic 2, "vo_MyBirthday"
  5320. End Select
  5321. End If
  5322. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5323. DMD.QueueText "[y3][xc][f3]LEON READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
  5324. DMD2.QueueText "[y3][xc][f3]LEON READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
  5325. Else
  5326. ReSpin()
  5327. End If
  5328. Case 2:
  5329. If (LightZhoraMain.State = BulbOff) Then
  5330. LightZhoraMain.Set BulbBlink, "10", 150
  5331. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Zhora"
  5332. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5333. DMD.QueueText "[y3][xc][f3]ZHORA READY[y18][f3][b]SHOOT SCOOP", deNone, 1800, TRUE
  5334. Else
  5335. ReSpin()
  5336. End If
  5337. Case 3:
  5338. If (LightPrisMain.State = BulbOff) Then
  5339. LightPrisMain.Set BulbBlink, "10", 150
  5340. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Pris2"
  5341. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5342. DMD.QueueText "[y3][xc][f3]PRIS READY[y18][f3][b]SHOOT SCOOP", deNone, 1800, TRUE
  5343. Else
  5344. ReSpin()
  5345. End If
  5346. Case 4:
  5347. If (LightTyrellMain.State = BulbOff) Then
  5348. LightTyrellMain.Set BulbBlink, "10", 150
  5349. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_IndulgeMe"
  5350. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5351. DMD.QueueText "[y3][xc][f3]TYRELL READY[y18][f3][b]SHOOT SCOOP", deNone, 1800, TRUE
  5352. Else
  5353. ReSpin()
  5354. End If
  5355. Case 5:
  5356. If (LightSebastianMain.State = BulbOff) Then
  5357. LightSebastianMain.Set BulbBlink, "10", 150
  5358. If (QuoteBusy = FALSE) Then
  5359. QuoteBusy = TRUE
  5360. Select Case RandomNumber(3)
  5361. Case 1: PlayMusic 2, "vo_HomeAgain"
  5362. Case 2: PlayMusic 2, "vo_DesignWork"
  5363. Case 3: PlayMusic 2, "vo_JFSebastian"
  5364. End Select
  5365. End If
  5366. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5367. DMD.QueueText "[y3][xc][f3]SEBASTIAN READY[y18][f3][b]SHOOT SCOOP", deNone, 1800, TRUE
  5368. Else
  5369. ReSpin()
  5370. End If
  5371. Case 6:
  5372. If (LightChewMain.State = BulbOff) Then
  5373. LightChewMain.Set BulbBlink, "10", 150
  5374. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ChewWorkHard"
  5375. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5376. DMD.QueueText "[y3][xc][f3]CHEW READY[y18][f3][b]SHOOT SCOOP", deNone, 1800, TRUE
  5377. Else
  5378. ReSpin()
  5379. End If
  5380. Case 7:
  5381. If (LightRachaelMain.State = BulbOff) Then
  5382. LightRachaelMain.Set BulbBlink, "10", 150
  5383. If (QuoteBusy = FALSE) Then
  5384. QuoteBusy = TRUE
  5385. Select Case RandomNumber(2)
  5386. Case 1: PlayMusic 2, "vo_Rachael"
  5387. Case 2: PlayMusic 2, "vo_ThinkReplicant"
  5388. End Select
  5389. End If
  5390. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5391. DMD.QueueText "[y3][xc][f3]RACHAEL READY[y18][f3][b]SHOOT SCOOP", deNone, 1800, TRUE
  5392. Else
  5393. ReSpin()
  5394. End If
  5395. Case 8:
  5396. If (LightGaffMain.State = BulbOff) Then
  5397. LightGaffMain.Set BulbBlink, "10", 150
  5398. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_DeepOne"
  5399. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5400. DMD.QueueText "[y3][xc][f3]GAFF READY[y18][f3][b]SHOOT SCOOP", deNone, 1800, TRUE
  5401. Else
  5402. ReSpin()
  5403. End If
  5404. End Select
  5405. End If
  5406. End Sub
  5407.  
  5408.  
  5409.  
  5410. Sub ReSpin()
  5411. Select Case RandomNumber(8)
  5412. Case 1:
  5413. If (LightLeonMain.State = BulbOff) Then
  5414. LightLeonMain.Set BulbBlink, "10", 150
  5415. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_LeonKillHim"
  5416. DMD.QueueText "[y3][xc][f3]LEON[y18][f3][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
  5417. Else
  5418. ReSpin()
  5419. End If
  5420. Case 2:
  5421. If (LightZhoraMain.State = BulbOff) Then
  5422. LightZhoraMain.Set BulbBlink, "10", 150
  5423. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Zhora"
  5424. DMD.QueueText "[y3][xc][f3]ZHORA[y18][f3][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
  5425. Else
  5426. ReSpin()
  5427. End If
  5428. Case 3:
  5429. If (LightPrisMain.State = BulbOff) Then
  5430. LightPrisMain.Set BulbBlink, "10", 150
  5431. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Pris2"
  5432. DMD.QueueText "[y3][xc][f3]PRIS[y18][f3][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
  5433. Else
  5434. ReSpin()
  5435. End If
  5436. Case 4:
  5437. If (LightTyrellMain.State = BulbOff) Then
  5438. LightTyrellMain.Set BulbBlink, "10", 150
  5439. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_IndulgeMe"
  5440. DMD.QueueText "[y3][xc][f3]TYRELL[y18][f3][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
  5441. Else
  5442. ReSpin()
  5443. End If
  5444. Case 5:
  5445. If (LightSebastianMain.State = BulbOff) Then
  5446. LightSebastianMain.Set BulbBlink, "10", 150
  5447. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_HomeAgain"
  5448. DMD.QueueText "[y3][xc][f3]SEBASTIAN[y18][f3][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
  5449. Else
  5450. ReSpin()
  5451. End If
  5452. Case 6:
  5453. If (LightChewMain.State = BulbOff) Then
  5454. LightChewMain.Set BulbBlink, "10", 150
  5455. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ChewWorkHard"
  5456. DMD.Text = "[y3][xc][f3]CHEW[y18][f3][b]NEW ASSIGNMENT READY"
  5457. Else
  5458. ReSpin()
  5459. End If
  5460. Case 7:
  5461. If (LightRachaelMain.State = BulbOff) Then
  5462. LightRachaelMain.Set BulbBlink, "10", 150
  5463. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Rachael"
  5464. DMD.QueueText "[y3][xc][f3]RACHAEL[y18][f3][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
  5465. Else
  5466. ReSpin()
  5467. End If
  5468. Case 8:
  5469. If (LightGaffMain.State = BulbOff) Then
  5470. LightGaffMain.Set BulbBlink, "10", 150
  5471. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_DeepOne"
  5472. DMD.QueueText "[y3][xc][f3]GAFF[y18][f3][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
  5473. Else
  5474. ReSpin()
  5475. End If
  5476. End Select
  5477. End Sub
  5478.  
  5479.  
  5480.  
  5481.  
  5482.  
  5483. ' ********************************
  5484. ' ** **
  5485. ' ** ROLLOVER LANE **
  5486. ' ** **
  5487. ' ********************************
  5488.  
  5489.  
  5490.  
  5491. Sub TrigRO1_Hit()
  5492. If (fpTilted = TRUE) Then Exit Sub
  5493. If (LightRO1.State = BulbBlink) Then
  5494. If (LeonMode = TRUE) Then
  5495. PlaySound "fx_Hit9"
  5496. PlayMusic 3, "vo_NewEmployee"
  5497. LightRO1.State = BulbOff
  5498. LightRO2.State = BulbOff
  5499. LightTyrell.State = BulbOff
  5500. LightLO3.State = BulbOff
  5501. LightElevator.State = BulbOn
  5502. AddScore(200)
  5503. End If
  5504. Exit Sub
  5505. End If
  5506. PlaySound "fx_Hit6"
  5507. LightRO1.State = BulbOn: CheckRO()
  5508. End Sub
  5509.  
  5510.  
  5511.  
  5512. Sub TrigRO2_Hit()
  5513. If (fpTilted = TRUE) Then Exit Sub
  5514. If (LightRO2.State = BulbBlink) Then
  5515. If (LeonMode = TRUE) Then
  5516. PlaySound "fx_Hit9"
  5517. PlayMusic 3, "vo_NewEmployee"
  5518. LightRO1.State = BulbOff
  5519. LightRO2.State = BulbOff
  5520. LightTyrell.State = BulbOff
  5521. LightLO3.State = BulbOff
  5522. LightElevator.State = BulbOn
  5523. AddScore(200)
  5524. End If
  5525. Exit Sub
  5526. End If
  5527. PlaySound "fx_Hit6"
  5528. LightRO2.State = BulbOn: CheckRO()
  5529. End Sub
  5530.  
  5531.  
  5532.  
  5533. Sub CheckRO()
  5534. If (LightRO1.State=BulbOn) and (LightRO2.State=BulbOn) Then
  5535. LightRO1.State = BulbOff
  5536. LightRO2.State = BulbOff
  5537. LightElevator.State = BulbOn ' activate elevator...
  5538. Bulb30.FlashForMs 500, 100, BulbOn
  5539. Bulb31.FlashForMs 500, 100, BulbOn
  5540. Bulb32.FlashForMs 500, 100, BulbOn
  5541. PlaySound "fx_Hit8"
  5542. AddScore(200)
  5543. IncrementBonusMultiplier()
  5544. Else
  5545. AddScore(20)
  5546. End If
  5547. End Sub
  5548.  
  5549.  
  5550.  
  5551. Sub TrigBumpLane_Hit()
  5552. PopUp2.SolenoidPulse(2000)
  5553. set LastSwitchHit = TrigBumpLane
  5554. End Sub
  5555.  
  5556.  
  5557.  
  5558. Sub TrigPopUpFx_Hit()
  5559. If (LightTyrell.State = BulbOn) Then
  5560. If (LightLO3.State = BulbOff) Then
  5561. LightTyrell.State = BulbOff
  5562. End If
  5563. PlaySound "fx_MetalHitHardC"
  5564. End If
  5565. End Sub
  5566.  
  5567.  
  5568.  
  5569.  
  5570. ' **********************************
  5571. ' ** **
  5572. ' ** TARGETS INCLINE **
  5573. ' ** **
  5574. ' **********************************
  5575.  
  5576.  
  5577. Sub DT_1_Hit()
  5578.  
  5579. RangeTimer.Set TRUE, RangeTime
  5580. FlasherL.FlashForMs 200, 200, BulbOff
  5581. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 200
  5582. LightSeqPF.Play SeqBlinking, , 1, 200
  5583.  
  5584. If (ShootingMode = TRUE) Then
  5585. PlaySound "fx_GunShot4"
  5586. AddScore(RangeValue)
  5587. DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
  5588. DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5589. DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5590. End If
  5591. If (VKMode = TRUE) Then
  5592. PlaySound "fx_VKMachine"
  5593. If (QuoteBusy = FALSE) Then
  5594. QuoteBusy = TRUE
  5595. PlayMusic 2, "vo_Iris"
  5596. End If
  5597. Clip = 7: PlayMovie()
  5598. AddScore(VKValue)
  5599. DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
  5600. DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5601. DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5602. End If
  5603. If (PhotoMode = TRUE) Then
  5604. PlaySound "fx_8", 0.8
  5605. AddScore(PhotoValue)
  5606. DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
  5607. DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5608. DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5609. End If
  5610. PlaySound "fx_DropDownL"
  5611. End Sub
  5612.  
  5613.  
  5614.  
  5615. Sub DT_2_Hit()
  5616.  
  5617. FlasherL.FlashForMs 200, 200, BulbOff
  5618. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 200
  5619. LightSeqPF.Play SeqBlinking, , 1, 200
  5620.  
  5621. If (ShootingMode = TRUE) Then
  5622. PlaySound "fx_GunShot4"
  5623. AddScore(RangeValue)
  5624. DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
  5625. DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5626. DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5627. End If
  5628. If (VKMode = TRUE) Then
  5629. PlaySound "fx_VKHit"
  5630. If (QuoteBusy = FALSE) Then
  5631. QuoteBusy = TRUE
  5632. PlayMusic 2, "vo_BlushResponse"
  5633. End If
  5634. AddScore(VKValue)
  5635. DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
  5636. DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5637. DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5638. End If
  5639. If (PhotoMode = TRUE) Then
  5640. PlaySound "fx_8", 0.8
  5641. AddScore(PhotoValue)
  5642. DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
  5643. DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5644. DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5645. End If
  5646. PlaySound "fx_DropDownL"
  5647. End Sub
  5648.  
  5649.  
  5650.  
  5651. Sub DT_3_Hit()
  5652.  
  5653. FlasherL.FlashForMs 200, 200, BulbOff
  5654. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 200
  5655. LightSeqPF.Play SeqBlinking, , 1, 200
  5656.  
  5657. If (ShootingMode = TRUE) Then
  5658. PlaySound "fx_GunShot4"
  5659. AddScore(RangeValue)
  5660. DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
  5661. DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5662. DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5663. End If
  5664. If (VKMode = TRUE) Then
  5665. PlaySound "fx_VKHit"
  5666. If (QuoteBusy = FALSE) Then
  5667. QuoteBusy = TRUE
  5668. PlayMusic 2, "vo_Pupil"
  5669. End If
  5670. AddScore(VKValue)
  5671. DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
  5672. DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5673. DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5674. End If
  5675. If (PhotoMode = TRUE) Then
  5676. 'PlaySound "fx_8", 0.8
  5677. PlaySound "vfx_PhotoScan"
  5678. Clip = 29: PlayMovie()
  5679. AddScore(PhotoValue)
  5680. DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
  5681. DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5682. DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1200, TRUE
  5683. End If
  5684. PlaySound "fx_DropDownL"
  5685. End Sub
  5686.  
  5687.  
  5688.  
  5689. Sub DT_4_Hit()
  5690. PlaySound "fx_DropDownL"
  5691. RangeTimer.Enabled = FALSE
  5692.  
  5693. FlasherL.FlashForMs 300, 300, BulbOff
  5694. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 300
  5695. LightSeqPF.Play SeqBlinking, , 1, 300
  5696.  
  5697. If (BattyMode = TRUE) Then
  5698. BattyHit = BattyHit + 1
  5699. PlaySound "fx_DropDownL"
  5700. QuoteBusy = TRUE
  5701. Select Case BattyHit
  5702. Case 1: PlayMusic 2, "vo_Unarmed"
  5703. Case 2: PlayMusic 2, "vo_GoodEnough"
  5704. Case 3: PlayMusic 2, "vo_Spirit"
  5705. Case 4: PlayMusic 2, "vo_SeeYou" ' last shot...
  5706. Case 5: PlayMusic 2, "vo_Irrational"
  5707. Case 6: PlayMusic 2, "vo_Deckard3"
  5708. Case 7: PlayMusic 2, "vo_HaHaHa"
  5709. End Select
  5710.  
  5711. Select Case BattyShot
  5712. Case 1:
  5713. LightLO3.State = BulbBlink
  5714. 'LightLaneL.State = BulbBlink
  5715. LightRampL.State = BulbBlink
  5716. 'LightCentrePurge.State = BulbBlink
  5717. LightRampR.State = BulbBlink
  5718. 'LightLaneR.State = BulbBlink
  5719. LightRep.State = BulbBlink
  5720. Case 2:
  5721. 'LightLO3.State = BulbBlink
  5722. 'LightLaneL.State = BulbBlink
  5723. LightRampL.State = BulbBlink
  5724. 'LightCentrePurge.State = BulbBlink
  5725. LightRampR.State = BulbBlink
  5726. 'LightLaneR.State = BulbBlink
  5727. LightRep.State = BulbBlink
  5728. Case 3:
  5729. 'LightLO3.State = BulbBlink
  5730. 'LightLaneL.State = BulbBlink
  5731. LightRampL.State = BulbBlink
  5732. 'LightCentrePurge.State = BulbBlink
  5733. 'LightRampR.State = BulbBlink
  5734. 'LightLaneR.State = BulbBlink
  5735. LightRep.State = BulbBlink
  5736. Case 4:
  5737. 'LightLO3.State = BulbBlink
  5738. 'LightLaneL.State = BulbBlink
  5739. 'LightRampL.State = BulbBlink
  5740. LightCentrePurge.State = BulbBlink
  5741. 'LightRampR.State = BulbBlink
  5742. 'LightLaneR.State = BulbBlink
  5743. 'LightRep.State = BulbBlink
  5744. End Select
  5745.  
  5746. DMD.QueueText "[yc][xc][f6][bf]BATTY HIT", deNone, 1500, TRUE
  5747. DMD2.QueueText "[yc][xc][f6][bf]BATTY HIT", deNone, 1500, TRUE
  5748. PlaySound "fx_GunShot3"
  5749. LightDT.State = BulbOff
  5750.  
  5751. Select Case RandomNumber(7)
  5752. Case 1: Spin = 12
  5753. Case 2: Spin = 13
  5754. Case 3: Spin = 15
  5755. Case 4: Spin = 16
  5756. Case 5: Spin = 17
  5757. Case 6: Spin = 18
  5758. Case 7: Spin = 19
  5759. End Select
  5760. RingSpin.Set TRUE, 100
  5761. PlayMusic 4, "fx_MoneySpin", TRUE, 0.6
  5762. LightRing8.Set BulbBlink,"10000000", 100
  5763. LightRing7.Set BulbBlink,"01000000", 100
  5764. LightRing6.Set BulbBlink,"00100000", 100
  5765. LightRing5.Set BulbBlink,"00010000", 100
  5766. LightRing4.Set BulbBlink,"00001000", 100
  5767. LightRing3.Set BulbBlink,"00000100", 100
  5768. LightRing2.Set BulbBlink,"00000010", 100
  5769. LightRing1.Set BulbBlink,"00000001", 100
  5770. Exit Sub
  5771. End If
  5772.  
  5773. MovieTimer.Set TRUE, 100
  5774.  
  5775. ' firing range complete...
  5776. If (ShootingMode = TRUE) Then
  5777. PlaySound "fx_GunShot5"
  5778. AllPlasOff(): FlashMe = 0: PFFlashTimer.Set TRUE, 100
  5779. LightSeqPF.Play SeqBlinking, , 1, 400
  5780. ShootingMode = FALSE
  5781. LightRange.State = BulbOn
  5782. If (QuoteBusy = FALSE) Then
  5783. QuoteBusy = TRUE
  5784. PlayMusic 2, "vo_CompletedSeq", FALSE, 1, 500
  5785. End If
  5786. DMD.QueueText "[xc[y3][f6][bf]END SEQUENCE"
  5787. DMD2.QueueText "[xc[y3][f6][bf]END SEQUENCE"
  5788. RangeComp = RangeComp + 1
  5789. End If
  5790.  
  5791. ' voigt-kampff complete...
  5792. If (VKMode = TRUE) Then
  5793. PlaySound "fx_22"
  5794. VKMode = FALSE
  5795. LightVK.State = BulbOn
  5796. If (QuoteBusy = FALSE) Then
  5797. QuoteBusy = TRUE
  5798. PlayMusic 2, "vo_VKForShort", FALSE, 1, 500
  5799. End If
  5800. 'AddScore(VKValue*4)
  5801. 'DMD.QueueText "[xc[y3][f6][bf]END = $ " & FormatNumber(VKValue*4, 0, -1, 0, -1), deNone, 1800, TRUE
  5802. 'DMD2.QueueText "[xc[y3][f6][bf]END = $ " & FormatNumber(VKValue*4, 0, -1, 0, -1), deNone, 1800, TRUE
  5803. DMD.QueueText "[xc[y3][f6][bf]END SEQUENCE"
  5804. DMD2.QueueText "[xc[y3][f6][bf]END SEQUENCE"
  5805. RangeComp = RangeComp + 1
  5806. End If
  5807.  
  5808. ' photo complete...
  5809. If (PhotoMode = TRUE) Then
  5810. PlaySound "fx_22"
  5811. PhotoMode = FALSE
  5812. LightPhoto.State = BulbOn
  5813. If (QuoteBusy = FALSE) Then
  5814. QuoteBusy = TRUE
  5815. PlayMusic 2, "vo_SnapShots", FALSE, 1, 500
  5816. End If
  5817. 'AddScore(PhotoValue*4)
  5818. 'DMD.QueueText "[xc[y3][f6][bf]END = $ " & FormatNumber(PhotoValue*4, 0, -1, 0, -1), deNone, 1800, TRUE
  5819. 'DMD2.QueueText "[xc[y3][f6][bf]END = $ " & FormatNumber(PhotoValue*4, 0, -1, 0, -1), deNone, 1800, TRUE
  5820. DMD.QueueText "[xc[y3][f6][bf]END SEQUENCE"
  5821. DMD2.QueueText "[xc[y3][f6][bf]END SEQUENCE"
  5822. RangeComp = RangeComp + 1
  5823. End If
  5824.  
  5825. If (RangeComp = 3) Then
  5826. AwardEB()
  5827. ' reset and start again...
  5828. RangeComp = 0
  5829. LightRange.State = BulbOff
  5830. LightVK.State = BulbOff
  5831. LightPhoto.State = BulbOff
  5832. End If
  5833.  
  5834. VK = 0
  5835.  
  5836. ' reset base values...
  5837. RangeValue = AdjRangeValue
  5838. VKValue = AdjVKValue
  5839. PhotoValue = AdjPhotoValue
  5840.  
  5841. Select Case RandomNumber(7)
  5842. Case 1: Spin = 12
  5843. Case 2: Spin = 13
  5844. Case 3: Spin = 15
  5845. Case 4: Spin = 16
  5846. Case 5: Spin = 17
  5847. Case 6: Spin = 18
  5848. Case 7: Spin = 19
  5849. End Select
  5850. RingSpin.Set TRUE, 100
  5851. PlayMusic 4, "fx_MoneySpin", TRUE, 0.6
  5852. LightRing8.Set BulbBlink,"10000000", 100
  5853. LightRing7.Set BulbBlink,"01000000", 100
  5854. LightRing6.Set BulbBlink,"00100000", 100
  5855. LightRing5.Set BulbBlink,"00010000", 100
  5856. LightRing4.Set BulbBlink,"00001000", 100
  5857. LightRing3.Set BulbBlink,"00000100", 100
  5858. LightRing2.Set BulbBlink,"00000010", 100
  5859. LightRing1.Set BulbBlink,"00000001", 100
  5860. End Sub
  5861.  
  5862.  
  5863.  
  5864. Sub AwardEB()
  5865. ExtraBallsAwards(CurrentPlayer) = ExtraBallsAwards(CurrentPlayer) + 1
  5866. ShootAgainLight.State = BulbOn
  5867. End Sub
  5868.  
  5869.  
  5870. ' the money spinner will stop on a random value, award that value and add to the jackpot value...
  5871.  
  5872. Sub RingSpin_Expired()
  5873. Spin = Spin - 1
  5874. If (Spin = 1) Then
  5875. RingSpin.Set TRUE, 400
  5876. StopMusic 4
  5877. LightRing1.State = BulbOff
  5878. LightRing2.State = BulbOff
  5879. LightRing3.State = BulbOff
  5880. LightRing4.State = BulbOff
  5881. LightRing5.State = BulbOff
  5882. LightRing6.State = BulbOff
  5883. LightRing7.State = BulbOff
  5884. LightRing8.State = BulbOff
  5885. End If
  5886. If (Spin = 0) Then
  5887. RingSpin.Enabled = FALSE
  5888. PlaySound "fx_4"
  5889. DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
  5890. DMD.Text = "[yc][xc][f6]MONEY AWARD"
  5891. DMD2.Text = "[yc][xc][f6]MONEY AWARD"
  5892. Select Case RandomNumber(8)
  5893. Case 1: LightRing1.FlashForMs 500, 100, BulbOn: AddScore(700): JPValue = JPValue + 200
  5894. Case 2: LightRing2.FlashForMs 500, 100, BulbOn: AddScore(900): JPValue = JPValue + 300
  5895. Case 3: LightRing3.FlashForMs 500, 100, BulbOn: AddScore(1000): JPValue = JPValue + 400
  5896. Case 4: LightRing4.FlashForMs 500, 100, BulbOn: AddScore(1500): JPValue = JPValue + 500
  5897. Case 5: LightRing5.FlashForMs 500, 100, BulbOn: AddScore(2000): JPValue = JPValue + 600
  5898. Case 6: LightRing6.FlashForMs 500, 100, BulbOn: AddScore(2500): JPValue = JPValue + 700
  5899. Case 7: LightRing7.FlashForMs 500, 100, BulbOn: AddScore(3000): JPValue = JPValue + 800
  5900. Case 8: LightRing8.FlashForMs 500, 100, BulbOn: AddScore(500): JPValue = JPValue + 100
  5901. End Select
  5902. End If
  5903. End Sub
  5904.  
  5905.  
  5906.  
  5907.  
  5908.  
  5909. Sub TgtLane_Hit()
  5910.  
  5911. If (RachaelMode = TRUE) and (LightDT.State = BulbBlink) Then
  5912. RachaelHit = RachaelHit + 1: MissionHit = MissionHit + 250
  5913. AddScore(MissionHit)
  5914. DMD.FlushQueue: DMD2.FlushQueue
  5915. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5916. DMD.QueueText "[yc][xc][f6]RACHAEL HIT", deNone, 800, FALSE
  5917. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  5918. DMD2.QueueText "[yc][xc][f6]RACHAEL HIT", deNone, 800, FALSE
  5919. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  5920. PlaySound "fx_VKHit"
  5921. LightSeqPF.Play SeqBlinking, , 1, 200
  5922. If (QuoteBusy = FALSE) Then
  5923. QuoteTimer.Enabled = FALSE: QuoteBusy = TRUE
  5924. Select Case RachaelHit
  5925. Case 1: PlayMusic 2, "vo_AskQuestions"
  5926. Case 2: PlayMusic 2, "vo_Smoke"
  5927. Case 3:
  5928. Select Case RandomNumber(2)
  5929. Case 1: PlayMusic 2, "vo_Catskin"
  5930. Case 2: PlayMusic 2, "vo_KillingJar"
  5931. End Select
  5932. Case 4: PlayMusic 2, "vo_Wasp"
  5933. Case 5:
  5934. Select Case RandomNumber(2)
  5935. Case 1: PlayMusic 2, "vo_StagePlay"
  5936. Case 2: PlayMusic 2, "vo_Lesbian2"
  5937. End Select
  5938. Case 6:
  5939. Select Case RandomNumber(4)
  5940. Case 1: PlayMusic 2, "vo_ShesReplicant", FALSE, 1, 600: DTTimer.Set TRUE, 6000: MusicResume.Set TRUE, 6000
  5941. Case 2: PlayMusic 2, "vo_NotKnow", FALSE, 1, 600: DTTimer.Set TRUE, 4000: MusicResume.Set TRUE, 4000
  5942. Case 3: PlayMusic 2, "vo_Experiment", FALSE, 1, 600: DTTimer.Set TRUE, 3000: MusicResume.Set TRUE, 3000
  5943. Case 4: PlayMusic 2, "vo_Suspect", FALSE, 1, 600: DTTimer.Set TRUE, 4000: MusicResume.Set TRUE, 4000
  5944. End Select
  5945. End Select
  5946. Else
  5947. If (RachaelHit = 6) Then
  5948. DTTimer.Set TRUE, 1000: MusicResume.Set TRUE, 1000
  5949. Else
  5950. PlaySound "fx_VKMachine", 0.6
  5951. End If
  5952. End If
  5953. Select Case RachaelHit
  5954. Case 1:
  5955. Clip = 7: PlayMovie()
  5956. Case 2: OverlayMovie.Frame 331: OverlayMovieHUD.Frame 331
  5957. Case 3: OverlayMovie.Frame 332: OverlayMovieHUD.Frame 332
  5958. Case 4: OverlayMovie.Frame 577: OverlayMovieHUD.Frame 577
  5959. Case 5:
  5960. Clip = 13: PlayMovie()
  5961. Case 6:
  5962. DT_1.SolenoidPulse: DTBlock.Collidable = TRUE
  5963. LightDT.State = BulbOff
  5964. LightVK.State = BulbOff
  5965. ModeActive = FALSE: RachaelMode = FALSE
  5966. StopMusic 5
  5967. OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
  5968. OverlayMovie.Frame 591, 592, 591: OverlayMovieHUD.Frame 591, 592, 591
  5969. MovieTimer.Set TRUE, 2000
  5970. AssWin()
  5971. End Select
  5972. Exit Sub
  5973. End If
  5974.  
  5975. If (ZhoraMode = TRUE) and (LightDT.State = BulbBlink) Then
  5976. 'Photo = Photo + 1
  5977. ZhoraHit = ZhoraHit + 1: MissionHit = MissionHit + 250
  5978. If (QuoteBusy = FALSE) Then
  5979. QuoteBusy = TRUE
  5980. PlaySound "fx_VKHit"
  5981. Select Case ZhoraHit
  5982. Case 1: PlayMusic 2, "vo_Enhance176"
  5983. Case 2: PlayMusic 2, "vo_Track45Right"
  5984. Case 3: PlayMusic 2, "vo_Enhance1523"
  5985. Case 4: PlayMusic 2, "vo_EnhanceStop"
  5986. Case 5: PlayMusic 2, "vo_EnhanceStop2"
  5987. Case 6: PlayMusic 2, "vo_HardCopy"
  5988. End Select
  5989. MovieTimer_Expired()
  5990. Else
  5991. PlaySound "vfx_PhotoScan"
  5992. Clip = 29: PlayMovie()
  5993. End If
  5994. LightSeqPF.Play SeqBlinking, , 1, 200
  5995. AddScore(MissionHit)
  5996. DMD.FlushQueue: DMD2.FlushQueue
  5997. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  5998. DMD.QueueText "[yc][xc][f6]ZHORA HIT", deNone, 800, FALSE
  5999. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  6000. DMD2.QueueText "[yc][xc][f6]ZHORA HIT", deNone, 800, FALSE
  6001. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  6002. If (ZhoraHit = 6) Then
  6003. PlaySound "fx_Print"
  6004. RedOn()
  6005. LightCentrePurge.State = BulbBlink
  6006. OverlayMovie.Frame 456: OverlayMovieHUD.Frame 456
  6007. DT_1.SolenoidPulse: DTBlock.Collidable = TRUE: DTTimer.Set TRUE, 2000
  6008. PlayMusic 5, "Music_BRTrack8", TRUE, 0.6
  6009. LightDT.State = BulbOff
  6010. 'Photo = 0
  6011. End If
  6012. Exit Sub
  6013. End If
  6014.  
  6015. ' NOT USED
  6016. If (RachaelMode = TRUE) Then
  6017. VK = VK + 1
  6018. If (QuoteBusy = FALSE) Then
  6019. QuoteBusy = TRUE
  6020. PlaySound "fx_VKHit"
  6021. FlasherL.FlashForMs 200, 200, BulbOff
  6022. LightSeqPF.Play SeqBlinking, , 1, 200
  6023. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 200
  6024. Select Case VK
  6025. Case 1: PlayMusic 2, "vo_AskQuestions"
  6026. DT_1.SolenoidPulse: DTBlock.Collidable = TRUE: DTTimer.Set TRUE, 3000
  6027. Case 2: PlayMusic 2, "vo_EmpathyTest"
  6028. Case 3: PlayMusic 2, "vo_Iris"
  6029. Case 4: PlayMusic 2, "vo_BlushResponse"
  6030. Case 5: PlayMusic 2, "vo_Pupil"
  6031. Case 6: PlayMusic 2, "vo_VKForShort"
  6032. End Select
  6033. Else
  6034. PlaySound "fx_VKMachine"
  6035. End If
  6036. Exit Sub
  6037. End If
  6038.  
  6039. PlaySound "fx_Hit4"
  6040. FlasherL.FlashForMs 200, 200, BulbOff
  6041. LightSeqPF.Play SeqBlinking, , 1, 200
  6042. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 200
  6043. AddScore(20)
  6044. DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
  6045. If (LightRange.State = BulbOff) Then
  6046. RangeValue = RangeValue + 10
  6047. DMD.QueueText "[y3][xc][f3]+ RANGE VALUE[y18][f3]RANGE TARGET VALUE: $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
  6048. DMD2.QueueText "[y3][xc][f3]+ RANGE VALUE[y18][f3]RANGE TARGET VALUE: $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
  6049. Else
  6050. If (LightVK.State = BulbOff) Then
  6051. VKValue = VKValue + 20
  6052. DMD.QueueText "[y3][xc][f3]+ VK VALUE[y18][f3]VK TARGET VALUE: $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1500, TRUE
  6053. DMD2.QueueText "[y3][xc][f3]+ VK VALUE[y18][f3]VK TARGET VALUE: $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1500, TRUE
  6054. Else
  6055. If (LightPhoto.State = BulbOff) Then
  6056. PhotoValue = PhotoValue + 30
  6057. DMD.QueueText "[y3][xc][f3]+ PHOTO VALUE[y18][f3]VK TARGET VALUE: $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1500, TRUE
  6058. DMD2.QueueText "[y3][xc][f3]+ PHOTO VALUE[y18][f3]VK TARGET VALUE: $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1500, TRUE
  6059. End If
  6060. End If
  6061. End If
  6062.  
  6063. If (LightLeft1.State=BulbBlink)and(LightLeft2.State=BulbBlink)and(LightLeft3.State=BulbBlink) Then Exit Sub
  6064.  
  6065. ' rotate the GUN lights, only if at least 1 has been hit...
  6066. TempGun = LightLeft1.State
  6067. LightLeft1.State = LightLeft2.State
  6068. LightLeft2.State = LightLeft3.State
  6069. LightLeft3.State = TempGun
  6070. set LastSwitchHit = TgtLane
  6071. End Sub
  6072.  
  6073.  
  6074.  
  6075.  
  6076. Sub DTTimer_Expired()
  6077. DTTimer.Enabled = FALSE
  6078. DT_1.PopDown: DTBlock.Collidable = FALSE
  6079. End Sub
  6080.  
  6081.  
  6082.  
  6083. Sub MovieTimer_Expired()
  6084. MovieTimer.Enabled = FALSE
  6085. OverlayHUD2.Frame 1: OverlayMovie2.Frame 1
  6086. OverlayMovieHUD.Frame 599: OverlayMovie.Frame 599
  6087.  
  6088. If (fpGameInPlay = FALSE) Then OverlayMovie.Frame 66: OverlayMovieHUD.Frame 66: Exit Sub
  6089.  
  6090. OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
  6091.  
  6092. If (BattyMode = TRUE) Then
  6093. OverlayMovie.Frame 584: OverlayMovieHUD.Frame 584
  6094. Exit Sub
  6095. End If
  6096.  
  6097. If (RachaelMode = TRUE) Then
  6098. Select Case RachaelHit
  6099. Case 0: OverlayMovie.Frame 212: OverlayMovieHUD.Frame 212
  6100. Case 1: OverlayMovie.Frame 331: OverlayMovieHUD.Frame 331
  6101. Case 2: OverlayMovie.Frame 332: OverlayMovieHUD.Frame 332
  6102. Case 3: OverlayMovie.Frame 576: OverlayMovieHUD.Frame 576
  6103. Case 4: OverlayMovie.Frame 577: OverlayMovieHUD.Frame 577
  6104. Case 5: OverlayMovie.Frame 578: OverlayMovieHUD.Frame 578
  6105. End Select
  6106. Exit Sub
  6107. End If
  6108.  
  6109. If (LeonMode = TRUE) Then
  6110. If (KillLeon = TRUE) Then OverlayMovie.Frame 583: OverlayMovieHUD.Frame 583: Exit Sub ' retirement...
  6111. Select Case LeonHit
  6112. Case 0,5: OverlayMovie.Frame 214: OverlayMovieHUD.Frame 214
  6113. Case 1: OverlayMovie.Frame 572: OverlayMovieHUD.Frame 572
  6114. Case 2: OverlayMovie.Frame 573: OverlayMovieHUD.Frame 573
  6115. Case 3: OverlayMovie.Frame 574: OverlayMovieHUD.Frame 574
  6116. Case 4: OverlayMovie.Frame 575: OverlayMovieHUD.Frame 575
  6117. End Select
  6118. Exit Sub
  6119. End If
  6120.  
  6121. If (GaffMode = TRUE) Then
  6122. Select Case GaffHit
  6123. Case 0: OverlayMovie.Frame 215: OverlayMovieHUD.Frame 215
  6124. Case 1: OverlayMovie.Frame 579: OverlayMovieHUD.Frame 579
  6125. Case 2: OverlayMovie.Frame 580: OverlayMovieHUD.Frame 580
  6126. Case 3: OverlayMovie.Frame 581: OverlayMovieHUD.Frame 581
  6127. Case 4: OverlayMovie.Frame 582: OverlayMovieHUD.Frame 582
  6128. Case 5: OverlayMovie.Frame 821: OverlayMovieHUD.Frame 821
  6129. End Select
  6130. Exit Sub
  6131. End If
  6132.  
  6133. If (SebastianMode = TRUE) Then
  6134. Select Case SebastianHit
  6135. Case 0: OverlayMovie.Frame 221: OverlayMovieHUD.Frame 221
  6136. Case 1: OverlayMovie.Frame 552: OverlayMovieHUD.Frame 552
  6137. Case 2: OverlayMovie.Frame 553: OverlayMovieHUD.Frame 553
  6138. Case 3: OverlayMovie.Frame 554: OverlayMovieHUD.Frame 554
  6139. Case 4: OverlayMovie.Frame 555: OverlayMovieHUD.Frame 555
  6140. Case 5: OverlayMovie.Frame 556: OverlayMovieHUD.Frame 556
  6141. End Select
  6142. Exit Sub
  6143. End If
  6144.  
  6145. If (TyrellMode = TRUE) Then
  6146. Select Case TyrellHit
  6147. Case 0: OverlayMovie.Frame 222: OverlayMovieHUD.Frame 222
  6148. Case 1: OverlayMovie.Frame 557: OverlayMovieHUD.Frame 557
  6149. Case 2: OverlayMovie.Frame 558: OverlayMovieHUD.Frame 558
  6150. Case 3: OverlayMovie.Frame 559: OverlayMovieHUD.Frame 559
  6151. Case 4: OverlayMovie.Frame 560: OverlayMovieHUD.Frame 560
  6152. Case 5: OverlayMovie.Frame 561: OverlayMovieHUD.Frame 561
  6153. End Select
  6154. Exit Sub
  6155. End If
  6156.  
  6157. If (ChewMode = TRUE) Then
  6158. Select Case ChewHit
  6159. Case 0: OverlayMovie.Frame 223: OverlayMovieHUD.Frame 223
  6160. Case 1: OverlayMovie.Frame 562: OverlayMovieHUD.Frame 562
  6161. Case 2: OverlayMovie.Frame 563: OverlayMovieHUD.Frame 563
  6162. Case 3: OverlayMovie.Frame 564: OverlayMovieHUD.Frame 564
  6163. Case 4: OverlayMovie.Frame 565: OverlayMovieHUD.Frame 565
  6164. Case 5: OverlayMovie.Frame 566: OverlayMovieHUD.Frame 566
  6165. End Select
  6166. Exit Sub
  6167. End If
  6168.  
  6169. If (PrisMode = TRUE) Then
  6170. Select Case PrisHit
  6171. Case 0: OverlayMovie.Frame 224: OverlayMovieHUD.Frame 224
  6172. Case 1: OverlayMovie.Frame 567: OverlayMovieHUD.Frame 567
  6173. Case 2: OverlayMovie.Frame 568: OverlayMovieHUD.Frame 568
  6174. Case 3: OverlayMovie.Frame 569: OverlayMovieHUD.Frame 569
  6175. Case 4: OverlayMovie.Frame 570: OverlayMovieHUD.Frame 570
  6176. Case 5: OverlayMovie.Frame 571: OverlayMovieHUD.Frame 571
  6177. Case 6,7: OverlayMovie.Frame 823: OverlayMovieHUD.Frame 823 ' retirement...
  6178. End Select
  6179. Exit Sub
  6180. End If
  6181.  
  6182. If (ZhoraMode = TRUE) Then
  6183. Select Case ZhoraHit
  6184. Case 0: OverlayMovie.Frame 225: OverlayMovieHUD.Frame 225
  6185. Case 1: OverlayMovie.Frame 586: OverlayMovieHUD.Frame 586
  6186. Case 2: OverlayMovie.Frame 587: OverlayMovieHUD.Frame 587
  6187. Case 3: OverlayMovie.Frame 588: OverlayMovieHUD.Frame 588
  6188. Case 4: OverlayMovie.Frame 589: OverlayMovieHUD.Frame 589
  6189. Case 5: OverlayMovie.Frame 590: OverlayMovieHUD.Frame 590
  6190. Case 6,7: OverlayMovie.Frame 456: OverlayMovieHUD.Frame 456 ' retirement...
  6191. End Select
  6192. Exit Sub
  6193. End If
  6194.  
  6195. If (ShootingMode = TRUE) Then OverlayMovie.Frame 216: OverlayMovieHUD.Frame 216: Exit Sub
  6196. If (VKMode = TRUE) Then OverlayMovie.Frame 873: OverlayMovieHUD.Frame 873: Exit Sub
  6197. If (PhotoMode = TRUE) Then OverlayMovie.Frame 874: OverlayMovieHUD.Frame 874: Exit Sub
  6198. If (LightMode.State = BulbBlink) Then OverlayMovie.Frame 872: OverlayMovieHUD.Frame 872: Exit Sub
  6199. If (LightSnakePit.State = BulbBlink) Then OverlayMovie.Frame 876: OverlayMovieHUD.Frame 876: Exit Sub
  6200.  
  6201. OverlayMovie.Frame 208: OverlayMovieHUD.Frame 208
  6202. End Sub
  6203.  
  6204.  
  6205.  
  6206.  
  6207. ' ****************************
  6208. ' ** **
  6209. ' ** LEFT RAMP **
  6210. ' ** **
  6211. ' ****************************
  6212.  
  6213.  
  6214. Dim BattyShot
  6215.  
  6216.  
  6217. Sub TrigLeftRamp_Hit()
  6218.  
  6219. If (fpTilted = TRUE) Then Exit Sub
  6220.  
  6221. If (ComboTimer.Enabled = TRUE) Then
  6222. ComboTimer.Set TRUE, 2500
  6223. Congrats()
  6224. End If
  6225.  
  6226. PlayMusic 7, "fx_WireRamp3"
  6227.  
  6228. If (LightRampL.State = BulbBlink) Then ' Mission Shot...
  6229.  
  6230. If (BattyMode = TRUE) Then
  6231. PlaySound "fx_Hit8"
  6232. DT_4.SolenoidPulse
  6233. LightDT.State = BulbBlink
  6234. BattyShot = BattyShot + 1
  6235. If (QuoteBusy = FALSE) Then
  6236. QuoteBusy = TRUE
  6237. Select Case BattyShot
  6238. Case 1: PlayMusic 2, "vo_MadeOf"
  6239. Case 2: PlayMusic 2, "vo_ShootStraight"
  6240. Case 3: PlayMusic 2, "vo_GetItUp"
  6241. Case 4: PlayMusic 2, "vo_StayAlive"
  6242. End Select
  6243. Else
  6244. Select Case RandomNumber(2)
  6245. Case 1: PlaySound "fx_Howl"
  6246. Case 2: PlaySound "fx_Howl2"
  6247. End Select
  6248. End If
  6249.  
  6250. AddScore(MissionHit)
  6251. MissionHit = MissionHit + 500
  6252. DMD.FlushQueue: DMD2.FlushQueue
  6253. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  6254. DMD.QueueText "[yc][xc][f6]SHOOT BATTY", deNone, 800, FALSE
  6255. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  6256. DMD2.QueueText "[yc][xc][f6]SHOOT BATTY", deNone, 800, FALSE
  6257. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  6258.  
  6259. LightLO3.State = BulbOff
  6260. LightLaneL.State = BulbOff
  6261. LightRampL.State = BulbOff
  6262. LightCentrePurge.State = BulbOff
  6263. LightRampR.State = BulbOff
  6264. LightLaneR.State = BulbOff
  6265. LightRep.State = BulbOff
  6266. If (SuperRamps = TRUE) Then
  6267. LightSeqPF.Play SeqRandom, 30, , 2000
  6268. PlaySound "fx_SuperRamp", 0.6
  6269. FlashPoliceL.Set BulbBlink, "101000", 100
  6270. FlashPoliceR.Set BulbBlink, "000101", 100
  6271. FlasherPolice1.Set BulbBlink, "101000", 100
  6272. FlasherPolice2.Set BulbBlink, "000101", 100
  6273. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
  6274. AddScore(RampValue)
  6275. End If
  6276. Exit Sub
  6277. End If
  6278.  
  6279. If (SSTimer.Enabled = TRUE) Then
  6280. SSTimer.Enabled = FALSE
  6281. LightRampL.State = BulbOff
  6282. LightRampR.State = BulbOff
  6283. AddScore(SSValue)
  6284. If (SuperRamps = TRUE) Then
  6285. LightSeqPF.Play SeqRandom, 30, , 2000
  6286. PlaySound "fx_SuperRamp"
  6287. FlashPoliceL.Set BulbBlink, "101000", 100
  6288. FlashPoliceR.Set BulbBlink, "000101", 100
  6289. FlasherPolice1.Set BulbBlink, "101000", 100
  6290. FlasherPolice2.Set BulbBlink, "000101", 100
  6291. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
  6292. DMDBusy = TRUE: DMDTimer.Set TRUE, 2000
  6293. DMD.QueueText "[xc][yc][f7][bf]SKILL SHOT[f3][y7]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1000, FALSE
  6294. DMD2.QueueText "[x3][yc][f7][bf]SKILL SHOT[f3][y7]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1000, FALSE
  6295. If (TestSpin = 10) Then
  6296. RampValue = RampValue + 2000
  6297. DMD.QueueText "[y3][xc][f3][bf]LANDING BONUS[y18][f3]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
  6298. DMD2.QueueText "[y3][xc][f3][bf]LANDING BONUS[y18][f3]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
  6299. Else
  6300. DMD.QueueText "[xc][y1][f7]SUPER RAMP[f3][y7]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
  6301. DMD2.QueueText "[xc][y3][f3]SUPER RAMP[f3][y18]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
  6302. End If
  6303. AddScore(RampValue)
  6304. Else
  6305. PlaySound "fx_SpinnerFlyBy6"
  6306. PlaySound "fx_PoliceSiren"
  6307. FlashPoliceL.FlashForMs 500, 100, BulbOff
  6308. FlashPoliceR.FlashForMs 500, 100, BulbOff
  6309. FlasherPolice1.FlashForMs 500, 100, BulbOff
  6310. FlasherPolice2.FlashForMs 500, 100, BulbOff
  6311. 'AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 500
  6312. AllPlasOff(): FlashMe = 0: PFFlashTimer.Set TRUE, 100
  6313. DMDTimer.Set TRUE, 2500
  6314. DMD.QueueText "[xc][y1][f7][bf]SKILL SHOT[f3][y7]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1300, FALSE
  6315. DMD2.QueueText "[xc][y3][f7][bf]SKILL SHOT[f3][y18]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1300, FALSE
  6316. DMD.QueueText "[xc][y1][f7]BALL SAVER[f3][y7]TIME + 1 SEC", deNone, 1000, TRUE
  6317. DMD2.QueueText "[xc][y3][f7]BALL SAVER[f3][y18]TIME + 1 SEC", deNone, 1000, TRUE
  6318. End If
  6319. SSValue = SSValue + 750: BSTime = BSTime + 1
  6320. Exit Sub
  6321. End If
  6322.  
  6323. ' the final hunt shot, starts the kill. Need to hold the ball in the scoop for 7.5 seconds...
  6324. If (LeonMode = TRUE) Then
  6325. LightRampL.State = BulbOff
  6326. LeonHit = LeonHit + 1: MissionHit = MissionHit + 250
  6327. AddScore(MissionHit)
  6328.  
  6329. 'MovieTimer_Expired()
  6330.  
  6331. QuoteBusy = FALSE: PlayMusic 2, "vo_Mother2"
  6332.  
  6333. ' diverts the ball into the right scoop
  6334. RampSwitch.Collidable = TRUE
  6335. RampSwitch2.Collidable = FALSE
  6336.  
  6337. ' reset normal OOM stuff...
  6338. LightBlade.State = BulbBlink
  6339. LightRunner.State = BulbBlink
  6340. LightCentrePurge.State = BulbBlink ' light the kill shot...
  6341.  
  6342. KillLeon = TRUE
  6343. RedOn()
  6344.  
  6345. PlayMusic 5, "Music_BRTrack8", TRUE, 0.6, 8000
  6346. DMD.FlushQueue: DMD2.FlushQueue
  6347. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  6348. DMD.QueueText "[y1][xc][f6]LEON HIT", deNone, 800, FALSE
  6349. DMD.QueueText "[y1][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  6350. DMD2.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
  6351. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  6352. If (SuperRamps = TRUE) Then
  6353. LightSeqPF.Play SeqRandom, 30, , 2000
  6354. PlaySound "fx_SuperRamp", 0.5
  6355. FlashPoliceL.Set BulbBlink, "101000", 100
  6356. FlashPoliceR.Set BulbBlink, "000101", 100
  6357. FlasherPolice1.Set BulbBlink, "101000", 100
  6358. FlasherPolice2.Set BulbBlink, "000101", 100
  6359. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
  6360. AddScore(RampValue)
  6361. End If
  6362. Exit Sub
  6363. End If
  6364.  
  6365. If (ChewMode = TRUE) Then
  6366. ChewHit = ChewHit + 1: MissionHit = MissionHit + 250
  6367. PlaySound "fx_Hit8"
  6368. If (QuoteBusy = FALSE) Then
  6369. QuoteBusy = TRUE
  6370. Select Case ChewHit
  6371. Case 1: PlayMusic 2, "vo_Questions"
  6372. Case 2: PlayMusic 2, "vo_JustEyes2"
  6373. Case 3: PlayMusic 2, "vo_YourEyes"
  6374. Case 4: PlayMusic 2, "vo_Smart"
  6375. Case 5: PlayMusic 2, "vo_SebastianWho"
  6376. Case 6: PlayMusic 2, "vo_Where"
  6377. End Select
  6378. End If
  6379. LightRampL.State = BulbOff
  6380. LightRampR.State = BulbBlink
  6381. AddScore(MissionHit)
  6382. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  6383. DMD.FlushQueue: DMD2.FlushQueue
  6384. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  6385. DMD.QueueText "[y1][xc][f6]CHEW HIT", deNone, 800, FALSE
  6386. DMD.QueueText "[y1][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  6387. DMD2.QueueText "[yc][xc][f6]CHEW HIT", deNone, 800, FALSE
  6388. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  6389. MovieTimer.Set TRUE, 100
  6390. If (SuperRamps = TRUE) Then
  6391. LightSeqPF.Play SeqRandom, 30, , 2000
  6392. PlaySound "fx_SuperRamp", 0.5
  6393. FlashPoliceL.Set BulbBlink, "101000", 100
  6394. FlashPoliceR.Set BulbBlink, "000101", 100
  6395. FlasherPolice1.Set BulbBlink, "101000", 100
  6396. FlasherPolice2.Set BulbBlink, "000101", 100
  6397. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
  6398. AddScore(RampValue)
  6399. End If
  6400. If (ChewHit = 6) Then
  6401. ModeActive = FALSE: ChewMode = FALSE
  6402. LightChewMain.State = BulbOn
  6403. LightRampL.State = BulbOff
  6404. StopMusic 5
  6405. MusicResume.Set TRUE, 2500
  6406. OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
  6407. OverlayMovie.Frame 591, 592, 591: OverlayMovieHUD.Frame 591, 592, 591
  6408. MovieTimer.Set TRUE, 2000
  6409. AssWin()
  6410. Exit Sub
  6411. End If
  6412. Exit Sub
  6413. End If
  6414. Exit Sub
  6415. End If
  6416.  
  6417. If (LightMode.State = BulbBlink) or (LightSnakePit.State = BulbOn) Then
  6418. ' diverts the ball into the right scoop
  6419. RampSwitch.Collidable = TRUE
  6420. RampSwitch2.Collidable = FALSE
  6421. End If
  6422.  
  6423. If (LightSuperRampL.State = BulbOn) Then ' Super Ramps...
  6424. LightSeqPF.Play SeqRandom, 30, , 2000
  6425. FlashPoliceL.Set BulbBlink, "101000", 100
  6426. FlashPoliceR.Set BulbBlink, "000101", 100
  6427. FlasherPolice1.Set BulbBlink, "101000", 100
  6428. FlasherPolice2.Set BulbBlink, "000101", 100
  6429. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
  6430. Clip = 9: PlayMovie()
  6431. DMDBusy = TRUE: DMDTimer.Set TRUE, 2000
  6432. If (TestSpin = 10) Then
  6433. If (ModeActive = TRUE) Then
  6434. EffectMusic 5, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 2200
  6435. Else
  6436. EffectMusic 1, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 2200
  6437. End If
  6438. PlaySound "fx_LandingBonus3", 0.9
  6439. RampValue = RampValue + 2000
  6440. AddScore(RampValue)
  6441. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6442. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6443. DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6444. DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6445. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6446. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6447. DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6448. DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6449. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6450. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6451. DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6452. DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6453. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6454. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6455. DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 100, FALSE
  6456. DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 100, FALSE
  6457. DMD.QueueText "[yc][xc][f6]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deFlip, 300, FALSE
  6458. DMD2.QueueText "[yc][xc][f6]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deFlip, 300, FALSE
  6459. DMD.QueueText "[yc][xc][f6][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
  6460. DMD2.QueueText "[yc][xc][f6][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
  6461. Else
  6462. CokeSign.UpdateInterval = 200
  6463. CokeSign.Frame 16, 28
  6464. PlaySound "fx_SuperRamp"
  6465. AddScore(RampValue)
  6466. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6467. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6468. DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6469. DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6470. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6471. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6472. DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6473. DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6474. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6475. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6476. DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6477. DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6478. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6479. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6480. DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6481. DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6482. DMD.QueueText "[xc][y1][f7]SUPER RAMP[f3][y7][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
  6483. DMD2.QueueText "[xc][y3][f3]SUPER RAMP[f3][y18][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
  6484. End If
  6485. Else
  6486. ' normal OOM shots...
  6487.  
  6488. Select Case RandomNumber(3)
  6489. Case 1: NeonSignOn()
  6490. End Select
  6491.  
  6492. BulbSpinner3.State = BulbOn: FlasherSpin.State = BulbOn
  6493. AllPlasOff()
  6494. LightSeqPF.Play SeqDownOn, 30, 1
  6495. PlaySound "fx_RampHit"
  6496. AddScore(120)
  6497. End If
  6498. End Sub
  6499.  
  6500.  
  6501.  
  6502.  
  6503.  
  6504. ' used for COMBO shots...
  6505.  
  6506. Sub Congrats()
  6507. Combo = Combo + 1
  6508. ComboVal = 500*Combo
  6509. AddScore(ComboVal)
  6510.  
  6511. DMD.FlushQueue: DMD2.FlushQueue
  6512. DMDBusy = TRUE: DMDTimer.Set TRUE, 3000
  6513. DMD.QueueText "[xc[y3][f6][bf]COMBO X " & Combo, deNone, 1000, FALSE
  6514. DMD.QueueText "[xc[y3][f6][bf]$ " & FormatNumber(ComboVal, 0, -1, 0, -1), deFlip, 1800, TRUE
  6515. DMD2.QueueText "[xc[y3][f6][bf]COMBO X " & Combo, deNone, 1000, FALSE
  6516. DMD2.QueueText "[xc[y3][f6][bf]$ " & FormatNumber(ComboVal, 0, -1, 0, -1), deFlip, 1800, TRUE
  6517.  
  6518. If (MovieTimer.Enabled = FALSE) Then
  6519. OverlayMovie.UpdateInterval = 200: OverlayMovieHUD.UpdateInterval = 200
  6520. Select Case Combo
  6521. Case 1: OverlayMovie.Frame 819, 820, 819: OverlayMovieHUD.Frame 819, 820, 819
  6522. Case 2: OverlayMovie.Frame 824, 825, 824: OverlayMovieHUD.Frame 824, 825, 824
  6523. Case 3: OverlayMovie.Frame 826, 827, 826: OverlayMovieHUD.Frame 826, 827, 826
  6524. End Select
  6525. MovieTimer.Set TRUE, 2000
  6526. End If
  6527.  
  6528. Select Case Combo
  6529. Case 1: PlaySound "fx_Combo"
  6530. Case 2: PlaySound "fx_Combo2"
  6531. Case 3: PlaySound "fx_Combo3"
  6532. End Select
  6533.  
  6534. LightSeqGI.StopPlay
  6535. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 800
  6536.  
  6537. PinkFlash()
  6538. FlashersOff.Set TRUE, 900
  6539. FlasherL.FlashForMs 800, 100, BulbOff
  6540. FlasherM.FlashForMs 800, 100, BulbOff
  6541. Flasher1.FlashForMs 800, 100, BulbOff
  6542.  
  6543. If (ModeActive = TRUE) Then
  6544. EffectMusic 5, FadeOutAndPause, 0, 10
  6545. Else
  6546. If (BR2049 = FALSE) Then
  6547. EffectMusic 1, FadeOutAndPause, 0, 10
  6548. End If
  6549. End If
  6550. MusicResume.Set TRUE, 1800
  6551. If (QuoteBusy = FALSE) and (ModeActive = FALSE) Then
  6552. QuoteBusy = TRUE
  6553. QP = QP + 1
  6554. Select Case QP
  6555. Case 1: PlayMusic 2, "vo_HesGood", FALSE, 1, 500
  6556. Case 2: PlayMusic 2, "vo_Ambitious", FALSE, 1, 500
  6557. Case 3: PlayMusic 2, "vo_Genius", FALSE, 1, 500
  6558. Case 4: PlayMusic 2, "vo_Perfect", FALSE, 1, 500
  6559. Case 5:
  6560. QP = 0
  6561. If (JoiOn = TRUE) Then
  6562. PlayMusic 2, "vo_JoiGoodJoe2": CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
  6563. Else
  6564. PlayMusic 2, "vo_Prize", FALSE, 1, 500
  6565. End If
  6566. End Select
  6567. End If
  6568. End Sub
  6569.  
  6570.  
  6571.  
  6572. Dim QP
  6573.  
  6574.  
  6575. Sub TrigLeftRamp2_Hit()
  6576. End Sub
  6577.  
  6578.  
  6579.  
  6580. ' exit to left ramp...START COMBO....
  6581.  
  6582. Sub TrigRampExit1_Hit()
  6583. RampL = FALSE
  6584. StopMusic 7
  6585. 'RampSwitch.Collidable = TRUE
  6586. 'RampSwitch2.Collidable = FALSE
  6587. FlashPoliceL.State = BulbOff
  6588. FlashPoliceR.State = BulbOff
  6589. FlasherPolice1.State = BulbOff
  6590. FlasherPolice2.State = BulbOff
  6591.  
  6592. If (ModeActive = FALSE) Then
  6593. LightRampL.Set BulbBlink, "10", 100
  6594. LightRampR.Set BulbBlink, "10", 100
  6595. LightLaneL.Set BulbBlink, "10", 100
  6596. LightLaneR.Set BulbBlink, "10", 100
  6597. End If
  6598. If (SuperRamps = FALSE) Then
  6599. BulbSpinner3.State = BulbOff: FlasherSpin.State = BulbOff
  6600. AllPlasOn()
  6601. End If
  6602. ComboTimer.Set TRUE, 2500
  6603. End Sub
  6604.  
  6605.  
  6606.  
  6607. Sub ComboTimer_Expired()
  6608. ComboTimer.Enabled = FALSE
  6609. Combo = 1
  6610. QP = 0
  6611. If (ModeActive = FALSE) Then
  6612. LightRampL.Set BulbOff, "10", 125
  6613. LightRampR.Set BulbOff, "10", 125
  6614. LightLaneL.Set BulbOff, "10", 125
  6615. LightLaneR.Set BulbOff, "10", 125
  6616. End If
  6617. End Sub
  6618.  
  6619.  
  6620.  
  6621. Sub TrigRampExit2_Hit()
  6622. RampL = FALSE
  6623. StopMusic 7
  6624. RampSwitch.Collidable = FALSE
  6625. RampSwitch2.Collidable = TRUE
  6626. FlashPoliceL.State = BulbOff
  6627. FlashPoliceR.State = BulbOff
  6628. FlasherPolice1.State = BulbOff
  6629. FlasherPolice2.State = BulbOff
  6630. 'If (QuoteBusy =FALSE) Then
  6631. ' QuoteBusy = TRUE: QuoteTimer.Set TRUE, 2000
  6632. ' Select Case RandomNumber(2)
  6633. ' Case 1: PlayMusic 2, "vo_Want"
  6634. ' Case 2: PlayMusic 2, "vo_Risk"
  6635. ' End Select
  6636. 'End If
  6637. If (SuperRamps = FALSE) Then
  6638. BulbSpinner3.State = BulbOff: FlasherSpin.State = BulbOff
  6639. AllPlasOn()
  6640. End If
  6641. End Sub
  6642.  
  6643.  
  6644. ' right ramp exit...
  6645.  
  6646. Sub Trigger3_Hit()
  6647. RampR = FALSE
  6648. StopMusic 7
  6649. FlashPoliceL.State = BulbOff
  6650. FlashPoliceR.State = BulbOff
  6651. FlasherPolice1.State = BulbOff
  6652. FlasherPolice2.State = BulbOff
  6653. If (SuperRamps = FALSE) Then
  6654. BulbSpinner3.State = BulbOff: FlasherSpin.State = BulbOff
  6655. AllPlasOn()
  6656. End If
  6657. ComboTimer.Set TRUE, 2500
  6658. End Sub
  6659.  
  6660.  
  6661.  
  6662.  
  6663. ' *****************************
  6664. ' ** **
  6665. ' ** RIGHT RAMP **
  6666. ' ** **
  6667. ' *****************************
  6668.  
  6669.  
  6670.  
  6671. Sub TrigRightRamp_Hit()
  6672.  
  6673. PlayMusic 7, "fx_WireRamp3"
  6674.  
  6675. If (fpTilted = TRUE) Then Exit Sub
  6676.  
  6677. If (ComboTimer.Enabled = TRUE) Then
  6678. ComboTimer.Set TRUE, 2500
  6679. Congrats()
  6680. End If
  6681.  
  6682. If (LightRampR.State = BulbBlink) Then ' Mission Shot...
  6683.  
  6684. If (BattyMode = TRUE) Then
  6685. PlaySound "fx_Hit8"
  6686. DT_4.SolenoidPulse
  6687. LightDT.State = BulbBlink
  6688. BattyShot = BattyShot + 1
  6689. If (QuoteBusy = FALSE) Then
  6690. QuoteBusy = TRUE
  6691. Select Case BattyShot
  6692. Case 1: PlayMusic 2, "vo_MadeOf"
  6693. Case 2: PlayMusic 2, "vo_ShootStraight"
  6694. Case 3: PlayMusic 2, "vo_GetItUp"
  6695. Case 4: PlayMusic 2, "vo_StayAlive"
  6696. End Select
  6697. Else
  6698. Select Case RandomNumber(2)
  6699. Case 1: PlaySound "fx_Howl"
  6700. Case 2: PlaySound "fx_Howl2"
  6701. End Select
  6702. End If
  6703.  
  6704. AddScore(MissionHit)
  6705. MissionHit = MissionHit + 500
  6706. DMD.FlushQueue: DMD2.FlushQueue
  6707. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  6708. DMD.QueueText "[yc][xc][f6]SHOOT BATTY", deNone, 800, FALSE
  6709. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  6710. DMD2.QueueText "[yc][xc][f6]SHOOT BATTY", deNone, 800, FALSE
  6711. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  6712.  
  6713. LightLO3.State = BulbOff
  6714. LightLaneL.State = BulbOff
  6715. LightRampL.State = BulbOff
  6716. LightCentrePurge.State = BulbOff
  6717. LightRampR.State = BulbOff
  6718. LightLaneR.State = BulbOff
  6719. LightRep.State = BulbOff
  6720. If (SuperRamps = TRUE) Then
  6721. LightSeqPF.Play SeqRandom, 30, , 2000
  6722. PlaySound "fx_SuperRamp", 0.5
  6723. FlashPoliceL.Set BulbBlink, "101000", 100
  6724. FlashPoliceR.Set BulbBlink, "000101", 100
  6725. FlasherPolice1.Set BulbBlink, "101000", 100
  6726. FlasherPolice2.Set BulbBlink, "000101", 100
  6727. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
  6728. AddScore(RampValue)
  6729. End If
  6730. Exit Sub
  6731. End If
  6732.  
  6733. If (SSTimer.Enabled = TRUE) Then
  6734. SSTimer.Enabled = FALSE
  6735. LightRampL.State = BulbOff
  6736. LightRampR.State = BulbOff
  6737. AddScore(SSValue)
  6738. If (SuperRamps = TRUE) Then
  6739. LightSeqPF.Play SeqRandom, 30, , 2000
  6740. PlaySound "fx_SuperRamp"
  6741. FlashPoliceL.Set BulbBlink, "101000", 100
  6742. FlashPoliceR.Set BulbBlink, "000101", 100
  6743. FlasherPolice1.Set BulbBlink, "101000", 100
  6744. FlasherPolice2.Set BulbBlink, "000101", 100
  6745. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
  6746. DMDBusy = TRUE: DMDTimer.Set TRUE, 2000
  6747. DMD.QueueText "[xc][y1][f7][bf]SKILL SHOT[f3][y7]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1000, FALSE
  6748. DMD2.QueueText "[xc][y3][f7][bf]SKILL SHOT[f3][y18]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1000, FALSE
  6749. If (TestSpin = 10) Then
  6750. RampValue = RampValue + 2000
  6751. DMD.QueueText "[y3][xc][f3][bf]LANDING BONUS[y18][f3]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
  6752. DMD2.QueueText "[y3][xc][f3][bf]LANDING BONUS[y18][f3]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
  6753. Else
  6754. DMD.QueueText "[xc][y1][f7]SUPER RAMP[f3][y7]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
  6755. DMD2.QueueText "[xc][y3][f3]SUPER RAMP[f3][y18]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
  6756. End If
  6757. AddScore(RampValue)
  6758. Else
  6759. PlaySound "fx_SpinnerFlyBy6"
  6760. PlaySound "fx_PoliceSiren"
  6761. FlashPoliceL.FlashForMs 500, 100, BulbOff
  6762. FlashPoliceR.FlashForMs 500, 100, BulbOff
  6763. FlasherPolice1.FlashForMs 500, 100, BulbOff
  6764. FlasherPolice2.FlashForMs 500, 100, BulbOff
  6765. 'AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 500
  6766. AllPlasOff(): FlashMe = 0: PFFlashTimer.Set TRUE, 100
  6767. DMD.QueueText "[xc][y1][f7][bf]SKILL SHOT[f3][y7]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1800, TRUE
  6768. DMD2.QueueText "[xc][y3][f7][bf]SKILL SHOT[f3][y18]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1800, TRUE
  6769. End If
  6770. SSValue = SSValue + 750: BSTime = BSTime + 1
  6771. Exit Sub
  6772. End If
  6773.  
  6774. If (PrisMode = TRUE) Then
  6775. LightRampR.State = BulbOff
  6776. PrisHit = PrisHit + 1: MissionHit = MissionHit + 500
  6777. AddScore(MissionHit)
  6778. DMD.FlushQueue
  6779. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  6780. DMD.QueueText "[yc][xc][f6]PRIS HIT", deNone, 800, FALSE
  6781. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  6782. DMD2.QueueText "[yc][xc][f6]PRIS HIT", deNone, 800, FALSE
  6783. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  6784. PlaySound "fx_Hit8"
  6785. PlayMusic 5, "Music_BRTrack8", TRUE, 0.6
  6786. If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_LookBeautiful"
  6787. MovieTimer.Set TRUE, 100
  6788. RedOn()
  6789. LightCentrePurge.State = BulbBlink
  6790. If (SuperRamps = TRUE) Then
  6791. LightSeqPF.Play SeqRandom, 30, , 2000
  6792. PlaySound "fx_SuperRamp", 0.5
  6793. FlashPoliceL.Set BulbBlink, "101000", 100
  6794. FlashPoliceR.Set BulbBlink, "000101", 100
  6795. FlasherPolice1.Set BulbBlink, "101000", 100
  6796. FlasherPolice2.Set BulbBlink, "000101", 100
  6797. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
  6798. AddScore(RampValue)
  6799. End If
  6800. Exit Sub
  6801. End If
  6802.  
  6803. If (ChewMode = TRUE) Then
  6804. ChewHit = ChewHit + 1: MissionHit = MissionHit + 250
  6805. PlaySound "fx_Hit8"
  6806.  
  6807. If (QuoteBusy = FALSE) Then
  6808. QuoteBusy = TRUE
  6809. Select Case ChewHit
  6810. Case 1: PlayMusic 2, "vo_Questions"
  6811. Case 2: PlayMusic 2, "vo_JustEyes2"
  6812. Case 3: PlayMusic 2, "vo_YourEyes"
  6813. Case 4: PlayMusic 2, "vo_Smart"
  6814. Case 5: PlayMusic 2, "vo_SebastianWho"
  6815. Case 6: PlayMusic 2, "vo_Where"
  6816. End Select
  6817. End If
  6818.  
  6819. If (SuperRamps = TRUE) Then
  6820. LightSeqPF.Play SeqRandom, 30, , 2000
  6821. PlaySound "fx_SuperRamp", 0.5
  6822. FlashPoliceL.Set BulbBlink, "101000", 100
  6823. FlashPoliceR.Set BulbBlink, "000101", 100
  6824. FlasherPolice1.Set BulbBlink, "101000", 100
  6825. FlasherPolice2.Set BulbBlink, "000101", 100
  6826. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
  6827. AddScore(RampValue)
  6828. End If
  6829.  
  6830. LightRampR.State = BulbOff
  6831. LightRampL.State = BulbBlink
  6832. AddScore(MissionHit)
  6833. DMD.FlushQueue
  6834. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  6835. DMD.QueueText "[yc][xc][f6]CHEW HIT", deNone, 800, FALSE
  6836. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  6837. DMD2.QueueText "[yc][xc][f6]CHEW HIT", deNone, 800, FALSE
  6838. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  6839. MovieTimer.Set TRUE, 100
  6840. If (ChewHit = 6) Then
  6841. ModeActive = FALSE: ChewMode = FALSE
  6842. LightChewMain.State = BulbOn
  6843. LightRampL.State = BulbOff
  6844. StopMusic 5
  6845. MusicResume.Set TRUE, 2500
  6846. OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
  6847. OverlayMovie.Frame 591, 592, 591: OverlayMovieHUD.Frame 591, 592, 591
  6848. MovieTimer.Set TRUE, 2000
  6849. AssWin()
  6850. Exit Sub
  6851. End If
  6852. Exit Sub
  6853. End If
  6854.  
  6855. Exit Sub
  6856. End If
  6857.  
  6858. If (LightSuperRampR.State = BulbOn) Then
  6859. LightSeqPF.Play SeqRandom, 30, , 2000
  6860. FlashPoliceL.Set BulbBlink, "101000", 100
  6861. FlashPoliceR.Set BulbBlink, "000101", 100
  6862. FlasherPolice1.Set BulbBlink, "101000", 100
  6863. FlasherPolice2.Set BulbBlink, "000101", 100
  6864. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
  6865. Clip = 9: PlayMovie()
  6866. DMDBusy = TRUE: DMDTimer.Set TRUE, 2000
  6867. If (TestSpin = 10) Then
  6868. If (ModeActive = TRUE) Then
  6869. EffectMusic 5, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 2200
  6870. Else
  6871. EffectMusic 1, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 2200
  6872. End If
  6873. PlaySound "fx_LandingBonus3", 0.9
  6874. RampValue = RampValue + 2000
  6875. AddScore(RampValue)
  6876. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6877. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6878. DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6879. DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6880. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6881. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6882. DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6883. DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6884. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6885. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6886. DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6887. DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6888. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6889. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
  6890. DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 100, FALSE
  6891. DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 100, FALSE
  6892. DMD.QueueText "[yc][xc][f6]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deFlip, 300, FALSE
  6893. DMD2.QueueText "[yc][xc][f6]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deFlip, 300, FALSE
  6894. DMD.QueueText "[yc][xc][f6][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
  6895. DMD2.QueueText "[yc][xc][f6][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
  6896. Else
  6897. CokeSign.UpdateInterval = 200
  6898. CokeSign.Frame 16, 28
  6899. PlaySound "fx_SuperRamp"
  6900. AddScore(RampValue)
  6901. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6902. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6903. DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6904. DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6905. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6906. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6907. DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6908. DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6909. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6910. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6911. DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6912. DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6913. DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6914. DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6915. DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6916. DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
  6917. DMD.QueueText "[xc][yc][f7]SUPER RAMP[f3][y7][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
  6918. DMD2.QueueText "[xc][yc][f7]SUPER RAMP[f3][y7][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
  6919. End If
  6920. Else
  6921.  
  6922. If (ModeActive = TRUE) Then
  6923. BulbSpinner3.State = BulbOn: FlasherSpin.State = BulbOn
  6924. AllPlasOff()
  6925. LightSeqPF.Play SeqDownOn, 30, 1
  6926. PlaySound "fx_RampHit2"
  6927. Exit Sub
  6928. End If
  6929.  
  6930. ' here, I'm going to add a string of dialogue from different encouters Deckard has in the movie
  6931. ' starting with the brief from Bryant, then meeting Rebecca....and so on.
  6932. ' these will play OOM and each ramp shot increases in value.
  6933.  
  6934. AddScore(120)
  6935.  
  6936. If (QuoteBusy = FALSE) and (BattyMode = FALSE) Then
  6937. QuoteBusy = TRUE
  6938. RampHit = RampHit + 1
  6939. Select Case RampHit
  6940. Case 1: PlayMusic 2, "vo_SkinJobs": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
  6941. Case 2: PlayMusic 2, "vo_Escape2": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
  6942. Case 3: PlayMusic 2, "vo_SixReps": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
  6943. Case 4: PlayMusic 2, "vo_Jumped": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
  6944. Case 5: PlayMusic 2, "vo_NoCrew": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
  6945. Case 6: PlayMusic 2, "vo_BreakIn": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
  6946. 'Case 3: PlayMusic 2, "vo_JumpedShuttle": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
  6947. Case 7: PlayMusic 2, "vo_CopyHumans": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
  6948. Case 8: PlayMusic 2, "vo_OwnEmotions": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
  6949. Case 9: PlayMusic 2, "vo_FailSafe": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
  6950. Case 10: PlayMusic 2, "vo_SpotThem": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
  6951. Case 11: PlayMusic 2, "vo_Risk"
  6952. Case 12: PlayMusic 2, "vo_Want"
  6953. Case 13: PlayMusic 2, "vo_Benefit"
  6954. Case 14: PlayMusic 2, "vo_NotMyProblem"
  6955. Case 15: PlayMusic 2, "vo_Mistake"
  6956. Case 16: PlayMusic 2, "vo_ThinkReplicant"
  6957. Case 17: PlayMusic 2, "vo_Implants"
  6958. Case 18: PlayMusic 2, "vo_Files"
  6959. Case 19: PlayMusic 2, "vo_God"
  6960. 'RampHit = 0
  6961. End Select
  6962. Else
  6963. 'If (RampHit = 8) Then RampHit = 0 ' repeat for now...
  6964. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 1000
  6965. Flasher1.FlashForMs 1000, 1000, BulbOff
  6966. PlaySound "fx_RampHit3"
  6967. End If
  6968. End If
  6969. End Sub
  6970.  
  6971.  
  6972.  
  6973. Dim RampScore
  6974.  
  6975.  
  6976.  
  6977. ' ***********************
  6978. ' ** **
  6979. ' ** PURGE **
  6980. ' ** **
  6981. ' ***********************
  6982.  
  6983. ' complete the left and right targets to light the centre target. Hit this to activate the centre lane
  6984. ' purge kicker. Hit the lane to drop the ball into the kicker and start PURGE.
  6985.  
  6986. ' The spinner will rise into the air and ramp will be activated for a limited time for SUPER RAMPS.
  6987.  
  6988. ' When the spinner decends, SUPER RAMPS ends.
  6989.  
  6990. ' 1st time Super Ramps - both ramps are lit for a limited time
  6991. ' 2nd time Super Ramps - left and right alterative shots
  6992. ' 3rd time Super Ramps - one ramp at a time, timed rotation
  6993.  
  6994.  
  6995. Sub TgtBlade_Hit()
  6996.  
  6997. If (SSTimer.Enabled = TRUE) Then
  6998. SSTimer.Set TRUE, 100
  6999. End If
  7000.  
  7001. If (LightBlade.State = BulbBlink) Then
  7002. LightBlade.State = BulbOn: CheckBLADERUNNER()
  7003. PlaySound "fx_12"
  7004. LightSeqPF.Play SeqBlinking, , 1, 100
  7005. Else
  7006. 'PlaySound "fx_Fizz"
  7007. LightBlade.FlashForMs 400, 200, BulbOn
  7008. AddScore(10)
  7009. End If
  7010. End Sub
  7011.  
  7012.  
  7013.  
  7014. Sub TgtRunner_Hit()
  7015.  
  7016. If (SSTimer.Enabled = TRUE) Then
  7017. SSTimer.Set TRUE, 100
  7018. End If
  7019.  
  7020. If (LightRunner.State = BulbBlink) Then
  7021. LightRunner.State = BulbOn: CheckBLADERUNNER()
  7022. PlaySound "fx_13"
  7023. LightSeqPF.Play SeqBlinking, , 1, 100
  7024. Else
  7025. 'PlaySound "fx_Fizz"
  7026. LightRunner.FlashForMs 400, 200, BulbOn
  7027. AddScore(10)
  7028. End If
  7029. set LastSwitchHit = TgtRunner
  7030. End Sub
  7031.  
  7032.  
  7033.  
  7034. Sub CheckBLADERUNNER()
  7035. If (LightRunner.State=BulbOn) and (LightBlade.State=BulbOn) Then
  7036. LightCentre.State = BulbBlink
  7037. AddScore(150)
  7038. Else
  7039. AddScore(50)
  7040. End If
  7041. End Sub
  7042.  
  7043.  
  7044.  
  7045.  
  7046.  
  7047. Sub TgtCentre_Hit()
  7048.  
  7049. If (SSTimer.Enabled = TRUE) Then SSTimer_Expired()
  7050.  
  7051. If (LightCentrePurge.State = BulbBlink) Then ' any MISSION shot...the KILL SHOT for Leon and Zhora...
  7052.  
  7053. If (BattyMode = TRUE) Then
  7054. PlaySound "fx_GunShotKill": AddScore(MissionHit)
  7055. FlasherM.FlashForMs 400, 400, BulbOff
  7056. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 400
  7057. BattyShot = BattyShot + 1
  7058. If (QuoteBusy = FALSE) Then
  7059. QuoteBusy = TRUE
  7060. Select Case BattyShot
  7061. Case 5: PlayMusic 2, "vo_CantPlay"
  7062. Case 6: PlayMusic 2, "vo_GoToHell"
  7063. Case 7: PlayMusic 2, "vo_MyTurn", FALSE, 1, 1000
  7064. LightCentrePurge.State = BulbOff
  7065. LightMode.State = BulbBlink ' light the final shot...
  7066. End Select
  7067. Else
  7068. Select Case RandomNumber(2)
  7069. Case 1: PlaySound "fx_Howl"
  7070. Case 2: PlaySound "fx_Howl2"
  7071. End Select
  7072. End If
  7073. MissionHit = MissionHit + 500
  7074. DMD.FlushQueue: DMD2.FlushQueue
  7075. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  7076. DMD.QueueText "[yc][xc][f6]BATTY HIT", deNone, 800, FALSE
  7077. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7078. DMD2.QueueText "[yc][xc][f6]BATTY HIT", deNone, 800, FALSE
  7079. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7080. LightLO3.State = BulbOff
  7081. LightLaneL.State = BulbOff
  7082. LightRampL.State = BulbOff
  7083. LightRampR.State = BulbOff
  7084. LightLaneR.State = BulbOff
  7085. LightRep.State = BulbOff
  7086. Exit Sub
  7087. End If
  7088.  
  7089. If (LeonMode = TRUE) Then
  7090. If (KillLeon = TRUE) Then
  7091. LeonHit = LeonHit + 1: MissionHit = MissionHit + 500
  7092. AddScore(MissionHit)
  7093. Select Case LeonHit
  7094. Case 6:
  7095. 'If (QuoteBusy = FALSE) Then
  7096. ' QuoteBusy = TRUE: PlaySound "fx_Hit8"
  7097. ' Select Case RandomNumber(3)
  7098. ' Case 1: PlayMusic 2, "vo_MyBirthday"
  7099. ' Case 2: PlayMusic 2, "vo_WakeUp"
  7100. ' Case 3: PlayMusic 2, "vo_Itch"
  7101. ' End Select
  7102. 'Else
  7103. ' RedFlash()
  7104. ' FlashersOff.Set TRUE, 700
  7105. ' FlasherM.FlashForMs 600, 600, BulbOff
  7106. ' PlaySound "fx_GunShot2"
  7107. 'End If
  7108. PlaySound "fx_Hit8"
  7109. PlaySound "vfx_LeonPunch"
  7110. Clip = 30: PlayMovie()
  7111. DMD.FlushQueue: DMD2.FlushQueue
  7112. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  7113. DMD.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
  7114. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7115. DMD2.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
  7116. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7117. Case 7:
  7118. RedOff()
  7119. RedFlash()
  7120. FlashersOff.Set TRUE, 900
  7121. FlasherM.FlashForMs 800, 800, BulbOff
  7122. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 800
  7123. LightSeqPF.UpdateInterval = 5: LightSeqPF.Play SeqCircleOutOn, 25, 1
  7124. PlaySound "fx_GunShotKill"
  7125. Clip = 15: PlayMovie()
  7126. ModeActive = FALSE: LeonMode = FALSE
  7127. LightLeonMain.State = BulbOn
  7128. LightCentrePurge.State = BulbOff
  7129. StopMusic 5: MusicResume.Set TRUE, 2500
  7130. AssWin()
  7131. 'If (QuoteBusy = FALSE) Then
  7132. 'QuoteBusy = TRUE: QuoteTimer.Set TRUE, 4000
  7133. 'Select Case RandomNumber(3)
  7134. ' Case 1: PlayMusic 2, "vo_Speciality", FALSE, 1, 2000
  7135. ' Case 2: PlayMusic 2, "vo_DedicatedMan", FALSE, 1, 2000
  7136. ' Case 3: PlayMusic 2, "vo_Prize", FALSE, 1, 2000
  7137. 'End Select
  7138. 'End If
  7139. End Select
  7140. Else
  7141. PlaySound "fx_Hit8"
  7142. LeonHit = LeonHit + 1: MissionHit = MissionHit + 250
  7143. AddScore(MissionHit)
  7144. DMD.FlushQueue: DMD2.FlushQueue
  7145. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  7146. DMD.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
  7147. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7148. DMD2.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
  7149. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7150. MovieTimer.Set TRUE, 100
  7151. Select Case LeonHit
  7152. Case 3:
  7153. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ItsATest"
  7154. Case 4:
  7155. If (QuoteBusy = FALSE) Then
  7156. QuoteBusy = TRUE
  7157. Select Case RandomNumber(2)
  7158. Case 1: PlayMusic 2, "vo_Query"
  7159. Case 2: PlayMusic 2, "vo_Turtle"
  7160. End Select
  7161. End If
  7162. LightCentrePurge.State = BulbOff
  7163. LightRampL.State = BulbBlink
  7164. End Select
  7165. End If
  7166. Exit Sub
  7167. End If
  7168.  
  7169. ' shoot Zhora 3 times to finish the mode...
  7170. If (ZhoraMode = TRUE) Then
  7171. ZhoraHit = ZhoraHit + 1: MissionHit = MissionHit + 500
  7172. AddScore(MissionHit)
  7173. DMD.FlushQueue: DMD2.FlushQueue
  7174. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  7175. DMD.QueueText "[yc][xc][f6]ZHORA HIT", deNone, 800, FALSE
  7176. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7177. DMD2.QueueText "[yc][xc][f6]ZHORA HIT", deNone, 800, FALSE
  7178. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7179. Select Case ZhoraHit
  7180. Case 7:
  7181. LightSeqPF.Play SeqBlinking, , 1, 100
  7182. PlaySound "fx_Hit8"
  7183. PlaySound "vfx_Chop"
  7184. Clip = 25: PlayMovie()
  7185. 'Clip = 16: PlayMovie()
  7186. 'PlaySound "vfx_DeckShoot"
  7187. 'RedFlash()
  7188. 'FlashersOff.Set TRUE, 500
  7189. 'FlasherM.FlashForMs 400, 400, BulbOff
  7190. 'AllPlasOff(): PFFlashTimer.Set TRUE, 400
  7191. Case 8:
  7192. RedOff()
  7193. RedFlash()
  7194. FlashersOff.Set TRUE, 900
  7195. FlasherM.FlashForMs 800, 800, BulbOff
  7196. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 800
  7197. LightSeqPF.UpdateInterval = 5: LightSeqPF.Play SeqDownOn, 25, 1
  7198. PlaySound "fx_GunShotKill3"
  7199. Clip = 17: PlayMovie()
  7200. ModeActive = FALSE: ZhoraMode = FALSE
  7201. LightZhoraMain.State = BulbOn
  7202. LightCentrePurge.State = BulbOff
  7203. StopMusic 5: MusicResume.Set TRUE, 2500
  7204. AssWin()
  7205. If (QuoteBusy = FALSE) Then
  7206. QuoteBusy = TRUE
  7207. PlayMusic 2, "vo_DedicatedMan", FALSE, 1, 2000
  7208. 'Select Case RandomNumber(2)
  7209. 'Case 1: PlayMusic 2, "vo_Speciality", FALSE, 1, 2000
  7210. 'Case 1: PlayMusic 2, "vo_DedicatedMan", FALSE, 1, 2000
  7211. 'Case 3: PlayMusic 2, "vo_Prize", FALSE, 1, 2000
  7212. 'Case 2: PlayMusic 2, "vo_Phoney", FALSE, 1, 1000
  7213. 'End Select
  7214. End If
  7215. End Select
  7216. Exit Sub
  7217. End If
  7218.  
  7219. ' kill Pris...
  7220.  
  7221. If (PrisMode = TRUE) Then
  7222. PrisHit = PrisHit + 1: MissionHit = MissionHit + 500
  7223. AddScore(MissionHit)
  7224. DMD.FlushQueue: DMD2.FlushQueue
  7225. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  7226. DMD.QueueText "[yc][xc][f6]PRIS HIT", deNone, 800, FALSE
  7227. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7228. DMD2.QueueText "[yc][xc][f6]PRIS HIT", deNone, 800, FALSE
  7229. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7230. Select Case PrisHit
  7231. Case 7:
  7232. LightSeqPF.Play SeqBlinking, , 1, 100
  7233. PlaySound "fx_Hit8"
  7234. Clip = 18: PlayMovie()
  7235. PlaySound "vfx_PrisAttack"
  7236. 'RedFlash()
  7237. 'FlashersOff.Set TRUE, 500
  7238. 'FlasherM.FlashForMs 400, 400, BulbOff
  7239. 'AllPlasOff(): PFFlashTimer.Set TRUE, 400
  7240. Case 8:
  7241. RedOff()
  7242. RedFlash()
  7243. FlashersOff.Set TRUE, 900
  7244. FlasherM.FlashForMs 800, 800, BulbOff
  7245. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 800
  7246. LightSeqPF.UpdateInterval = 5: LightSeqPF.Play SeqDownOn, 25, 1
  7247. PlaySound "fx_GunShotKill2"
  7248. Clip = 19: PlayMovie()
  7249. LightCentrePurge.State = BulbOff
  7250. ModeActive = FALSE: PrisMode = FALSE
  7251. StopMusic 5: MusicResume.Set TRUE, 2500
  7252. AssWin()
  7253. If (QuoteBusy = FALSE) Then
  7254. QuoteBusy = TRUE: QuoteTimer.Set TRUE, 4000
  7255. Select Case RandomNumber(3)
  7256. Case 1: PlayMusic 2, "vo_Speciality", FALSE, 1, 2000
  7257. Case 2: PlayMusic 2, "vo_DedicatedMan", FALSE, 1, 2000
  7258. Case 3: PlayMusic 2, "vo_Prize", FALSE, 1, 2000
  7259. End Select
  7260. End If
  7261. End Select
  7262. Exit Sub
  7263. End If
  7264. Exit Sub
  7265. End If
  7266.  
  7267. If (LightCentre.State = BulbBlink) Then
  7268. LightCentre.State = BulbOn
  7269. AddScore(250)
  7270.  
  7271. If (SuperRamps = TRUE) Then
  7272. DMD.QueueText "[y3][xc][f3]TIME EXTENDED[y18][f3][bf]SUPER RAMP TIME = " & SRTime, deNone, 1500, TRUE
  7273. DMD2.QueueText "[y3][xc][f3]TIME EXTENDED[y18][f3][bf]SUPER RAMP TIME = " & SRTime, deNone, 1500, TRUE
  7274. FlasherM.FlashForMs 200, 100, BulbOff
  7275. PlaySound "fx_BumpHit"
  7276. LightSeqPF.Play SeqBlinking, , 1, 200
  7277. Exit Sub
  7278. End If
  7279. If (QuoteBusy = FALSE) Then
  7280. PlaySound "fx_DoorOpen"
  7281. Else
  7282. PlaySound "fx_Hit1"
  7283. End If
  7284. If (GaffMode = TRUE) Then
  7285. AddScore(500)
  7286. LightBlade.State = BulbOn
  7287. LightRunner.State = BulbOn
  7288. Else
  7289. TakeOffTimer.Set TRUE, 5600
  7290. If (BattyMode = FALSE) Then PlayMusic 6, "fx_Alarm3"
  7291. MagnetActive = TRUE
  7292. LightPurge1.State = BulbBlink
  7293. LightPurge2.State = BulbBlink
  7294. End If
  7295. FlasherM.FlashForMs 200, 200, BulbOff
  7296. LightSeqPF.Play SeqBlinking, , 1, 200
  7297. Else
  7298. LightCentre.FlashForMs 150, 150, BulbOff
  7299. AddScore(10)
  7300. End If
  7301. set LastSwitchHit = TgtCentre
  7302. End Sub
  7303.  
  7304.  
  7305.  
  7306. Sub TakeOffTimer_Expired()
  7307. TakeOffTimer.Enabled = FALSE
  7308. PlaySound "fx_Buzzer"
  7309. RedFlash()
  7310. FlashersOff.Set TRUE, 250
  7311. FlasherM.FlashForMs 210, 75, BulbOff
  7312. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 210
  7313. If (BattyMode = FALSE) Then StopMusic 6 ' channel is used for the rain fx...
  7314. MagnetActive = FALSE
  7315. LightPurge1.State = BulbOff
  7316. LightPurge2.State = BulbOff
  7317. LightBlade.State = BulbBlink
  7318. LightRunner.State = BulbBlink
  7319. LightCentre.State = BulbOff
  7320. End Sub
  7321.  
  7322.  
  7323.  
  7324.  
  7325. ' *****************************
  7326. ' ** **
  7327. ' ** CENTRE LANE **
  7328. ' ** **
  7329. ' *****************************
  7330.  
  7331.  
  7332. Sub LeftPre_Hit()
  7333. set LastSwitchHit = LeftPre
  7334. End Sub
  7335.  
  7336.  
  7337. Sub RightPre_Hit()
  7338. set LastSwitchHit = RightPre
  7339. End Sub
  7340.  
  7341.  
  7342. Sub TrigCentreLane_Hit()
  7343.  
  7344. If (BattyMode = TRUE) and (LightLaneL.State = BulbBlink) Then
  7345. PlaySound "fx_Hit8"
  7346. DT_4.SolenoidPulse
  7347. LightDT.State = BulbBlink
  7348.  
  7349. BattyShot = BattyShot + 1
  7350. If (QuoteBusy = FALSE) Then
  7351. QuoteBusy = TRUE
  7352. Select Case BattyShot
  7353. Case 1: PlayMusic 2, "vo_MadeOf"
  7354. Case 2: PlayMusic 2, "vo_ShootStraight"
  7355. Case 3: PlayMusic 2, "vo_GetItUp"
  7356. Case 4: PlayMusic 2, "vo_StayAlive"
  7357. End Select
  7358. Else
  7359. Select Case RandomNumber(2)
  7360. Case 1: PlaySound "fx_Howl"
  7361. Case 2: PlaySound "fx_Howl2"
  7362. End Select
  7363. End If
  7364. DMD.Text = "[yc][xc][f6][bf]SHOOT BATTY"
  7365. LightLO3.State = BulbOff
  7366. LightLaneL.State = BulbOff
  7367. LightRampL.State = BulbOff
  7368. LightCentrePurge.State = BulbOff
  7369. LightRampR.State = BulbOff
  7370. LightLaneR.State = BulbOff
  7371. LightRep.State = BulbOff
  7372. Exit Sub
  7373. End If
  7374.  
  7375. If (ComboTimer.Enabled = TRUE) Then
  7376. ComboTimer.Set TRUE, 2500
  7377. Congrats()
  7378. End If
  7379.  
  7380. ' Sebastian Mode: Make 3 centre loop shots to start...
  7381.  
  7382. If (SebastianMode = TRUE) and (LightLaneL.State = BulbBlink) Then
  7383. SebastianHit = SebastianHit + 1: MissionHit = MissionHit + 250
  7384. AddScore(MissionHit)
  7385. DMD.FlushQueue
  7386. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  7387. DMD.QueueText "[yc][xc][f6]SEBASTIAN HIT", deNone, 800, FALSE
  7388. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7389. DMD2.QueueText "[yc][xc][f6]SEBASTIAN HIT", deNone, 800, FALSE
  7390. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7391. If (QuoteBusy = FALSE) Then
  7392. QuoteBusy = TRUE
  7393. Select Case SebastianHit
  7394. Case 1: PlayMusic 2, "vo_HelpUs"
  7395. Case 2: PlayMusic 2, "vo_HelpSoon"
  7396. Case 3:
  7397. Select Case RandomNumber(2)
  7398. Case 1: PlayMusic 2, "vo_HelpedUs"
  7399. Case 2: PlayMusic 2, "vo_NeedYou"
  7400. End Select
  7401. End Select
  7402. End If
  7403. LightSeqPF.Play SeqBlinking, , 1, 200
  7404. PlaySound "fx_Hit8"
  7405. MovieTimer.Set TRUE, 100
  7406. If (SebastianHit = 3) Then
  7407. LightLaneL.State = BulbOff
  7408. LightLaneR.State = BulbOff
  7409. LightTyrell.State = BulbOn
  7410. LightElevator.State = BulbOn
  7411. LightLO3.State = BulbBlink
  7412. End If
  7413. Exit Sub
  7414. End If
  7415.  
  7416. If (GaffMode = TRUE) and (LightLaneL.State = BulbBlink) Then
  7417. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 400
  7418. FlasherM.FlashForMs 400, 100, BulbOff
  7419. If (LastSwitchHit.Name = "LeftPre") Then
  7420. LightSeqPF.UpdateInterval = 5
  7421. LightSeqPF.Play SeqRightOn, 30, 1
  7422. Else
  7423. LightSeqPF.UpdateInterval = 5
  7424. LightSeqPF.Play SeqLeftOn, 30, 1
  7425. End If
  7426. GaffHit = GaffHit + 1: MissionHit = MissionHit + 250
  7427. PlaySound "fx_Hit8"
  7428. AddScore(MissionHit)
  7429. DMD.FlushQueue: DMD2.FlushQueue
  7430. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  7431. DMD.QueueText "[yc][xc][f6]GAFF HIT", deNone, 800, FALSE
  7432. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7433. DMD2.QueueText "[yc][xc][f6]GAFF HIT", deNone, 800, FALSE
  7434. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7435. Select Case GaffHit
  7436. Case 1:
  7437. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_GaffTalk": MovieTimer.Set TRUE, 100
  7438. Case 2:
  7439. If (QuoteBusy = FALSE) Then
  7440. QuoteBusy = TRUE
  7441. Select Case RandomNumber(2)
  7442. Case 1: PlayMusic 2, "vo_YouBladeRunner": MovieTimer_Expired()
  7443. Case 2: PlayMusic 2, "vo_UnderArrest": MovieTimer_Expired()
  7444. End Select
  7445. End If
  7446. Case 3:
  7447. PlayMusic 4, "vo_PoliceRadio"
  7448. 'Clip = 3: PlayMovie()
  7449. Clip = 34: PlayMovie()
  7450. PlaySound "fx_SpinnerFlyBy"
  7451. Case 4:
  7452. PlayMusic 4, "vo_PoliceRadio"
  7453. Clip = 1: PlayMovie()
  7454. Case 5:
  7455. PlaySound "fx_SpinnerFlyBy4", 0.6
  7456. Clip = 21: PlayMovie()
  7457. Case 6:
  7458. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_MansJob2", FALSE, 1, 500
  7459. GaffMode = FALSE
  7460. LightLaneL.State = BulbOff
  7461. LightLaneR.State = BulbOff
  7462. ModeActive = FALSE
  7463. StopMusic 5: MusicResume.Set TRUE, 2000
  7464. OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
  7465. OverlayMovie.Frame 591, 592, 591: OverlayMovieHUD.Frame 591, 592, 591
  7466. MovieTimer.Set TRUE, 2000
  7467. AssWin()
  7468. End Select
  7469. Exit Sub
  7470. End If
  7471.  
  7472. If (MagnetActive = TRUE) Then
  7473. MagnetActive = FALSE: LaneWall.Collidable = FALSE
  7474. Magnet.Collidable = TRUE
  7475. Exit Sub
  7476. End If
  7477.  
  7478. If (LastSwitchHit.Name = "LeftPre") Then
  7479. LightSeqPF.UpdateInterval = 5
  7480. LightSeqPF.Play SeqRightOn, 30, 1
  7481. Else
  7482. LightSeqPF.UpdateInterval = 5
  7483. LightSeqPF.Play SeqLeftOn, 30, 1
  7484. End If
  7485.  
  7486. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 400
  7487. FlasherM.FlashForMs 400, 100, BulbOff
  7488. PlaySound "fx_SpinnerFlyBy3"
  7489. LightTyrell.State = BulbOn
  7490. If (MovieTimer.Enabled = FALSE) Then
  7491. OverlayMovie.UpdateInterval = 100: OverlayMovieHUD.UpdateInterval = 100
  7492. OverlayMovie.Frame 877,878,877: OverlayMovieHUD.Frame 877,878,877: MovieTimer.Set TRUE, 1000
  7493. End If
  7494. AddScore(70)
  7495. RampValue = RampValue + 25
  7496. DMD.QueueText "[y3][xc][f3]+ SUPER VALUE[y18][f3]SUPER RAMP VALUE:$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
  7497. DMD2.QueueText "[y3][xc][f3]+ SUPER VALUE[y18][f2]SUPER RAMP VALUE: $" & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
  7498. End Sub
  7499.  
  7500.  
  7501.  
  7502.  
  7503.  
  7504. Sub KickerLane_Hit()
  7505. AddScore(500)
  7506. PlaySound "fx_SolenoidHit"
  7507. LightPurge1.State = BulbOff
  7508. LightPurge2.State = BulbOff
  7509. LightSuperRampL.FlashForMs 4000, 125, BulbOn
  7510. LightSuperRampR.FlashForMs 4000, 125, BulbOn
  7511. Purge = TRUE
  7512. StopMusic 6: TakeOffTimer.Enabled = FALSE
  7513. MoveSpinner_Expired()
  7514. IgnoreHit = TRUE
  7515. Magnet.Collidable = FALSE
  7516. LaneWall.Collidable = TRUE
  7517. PreKick.Set TRUE, 7000
  7518. End Sub
  7519.  
  7520.  
  7521.  
  7522.  
  7523. Sub SuperRampsTimer_Expired()
  7524. SRTime = SRTime - 1
  7525. If (SRTime = 0) Then
  7526. SuperRampsTimer.Enabled = FALSE
  7527. SuperRamps = FALSE
  7528. LightSuperRampL.State = BulbOff
  7529. LightSuperRampR.State = BulbOff
  7530. LightCentre.State = BulbOff
  7531. LightBlade.State = BulbBlink
  7532. LightRunner.State = BulbBlink
  7533. RampValue = AdjRampValue ' reset the ramp base value...
  7534. End If
  7535. End Sub
  7536.  
  7537.  
  7538.  
  7539.  
  7540. ' ***************************
  7541. ' ** **
  7542. ' ** LEFT LANE **
  7543. ' ** **
  7544. ' ***************************
  7545.  
  7546. ' Leads to the bumpers...
  7547.  
  7548.  
  7549. Sub TrigLO_Hit()
  7550.  
  7551. If (fpTilted = TRUE) Then Exit Sub
  7552.  
  7553. If (LastSwitchHit.Name = "TrigLO") Then Exit Sub
  7554. PlaySound "fx_17"
  7555. AddScore(200)
  7556.  
  7557. If (BattyMode = TRUE) and (LightLO3.State = BulbBlink) Then
  7558. PlaySound "fx_Hit8"
  7559. DT_4.SolenoidPulse
  7560. LightDT.State = BulbBlink
  7561.  
  7562. BattyShot = BattyShot + 1
  7563. If (QuoteBusy = FALSE) Then
  7564. QuoteBusy = TRUE
  7565. Select Case BattyShot
  7566. Case 1: PlayMusic 2, "vo_MadeOf"
  7567. Case 2: PlayMusic 2, "vo_ShootStraight"
  7568. Case 3: PlayMusic 2, "vo_GetItUp"
  7569. Case 4: PlayMusic 2, "vo_StayAlive"
  7570. End Select
  7571. Else
  7572. Select Case RandomNumber(2)
  7573. Case 1: PlaySound "fx_Howl"
  7574. Case 2: PlaySound "fx_Howl2"
  7575. End Select
  7576. End If
  7577. DMD.Text = "[yc][xc][f6][bf]SHOOT BATTY"
  7578. DMD2.Text = "[yc][xc][f6][bf]SHOOT BATTY"
  7579. LightLO3.State = BulbOff
  7580. LightLaneL.State = BulbOff
  7581. LightRampL.State = BulbOff
  7582. LightCentrePurge.State = BulbOff
  7583. LightRampR.State = BulbOff
  7584. LightLaneR.State = BulbOff
  7585. LightRep.State = BulbOff
  7586. Exit Sub
  7587. End If
  7588.  
  7589. If (LightSuperPops.State = BulbOn) and (LightLO3.State = BulbOff) Then ' priority, allow the ball to reach the bumpers....
  7590. If (QuoteBusy = FALSE) Then
  7591. PlayMusic 4, "fx_JoiAd"
  7592. Else
  7593. PlayMusic 4, "fx_Background2", FALSE, 0.6
  7594. End If
  7595. CokeSign.UpdateInterval = 66
  7596. CokeSign.Frame 83, 178, 83
  7597. SignOffTimer.Set TRUE, 6000
  7598. Exit Sub
  7599. End If
  7600.  
  7601. If (LightTyrell.State = BulbOn) Then' divert ball into top lanes to access Tyrell Tower...
  7602. PopUp2.SolenoidPulse(4000)
  7603. If (LeonMode = TRUE) Then
  7604. Exit Sub
  7605. End If
  7606. If (SebastianMode = TRUE) and (SebastianHit = 3) Then
  7607. PlayMusic 4, "vo_SebastianClearance", FALSE, 0.6
  7608. Exit Sub
  7609. End If
  7610. 'MusicResume.Set TRUE, 5000
  7611. If (LightLO3.State = BulbOff) Then ' not a mission shot, so ok to play...
  7612. Select Case RandomNumber(17)
  7613. Case 1: PlayMusic 4, "fx_Background", FALSE, 0.6: AtariSignOn()
  7614. Case 2: PlayMusic 4, "fx_Background3", FALSE, 0.4: AtariSignOn()
  7615. Case 3: PlayMusic 4, "fx_Background4", FALSE, 0.4: NeonSignOn()
  7616. Case 4: PlayMusic 4, "fx_Background5", FALSE, 0.4: AtariSignOn()
  7617. Case 5: PlayMusic 4, "fx_Background15", FALSE, 0.6: NeonSignOn()
  7618. Case 6: PlayMusic 4, "fx_Background8", FALSE, 0.5
  7619. If (MovieTimer.Enabled = FALSE) Then Clip = 22: PlayMovie()
  7620. Case 7:
  7621. If (QuoteBusy = FALSE) Then
  7622. PlayMusic 4, "vo_SectorClosed", FALSE, 0.6
  7623. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
  7624. FlasherPolice1.Set BulbBlink, "101000", 50
  7625. FlasherPolice2.Set BulbBlink, "000101", 50
  7626. PoliceFlashOff.Set TRUE, 2000
  7627. End If
  7628. ' static forward facing spinner...
  7629. If (MovieTimer.Enabled = FALSE) Then Clip = 23: PlayMovie()
  7630. Case 8:
  7631. If (QuoteBusy = FALSE) Then
  7632. PlayMusic 4, "vo_SectorClosed2", FALSE, 0.6
  7633. AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
  7634. FlasherPolice1.Set BulbBlink, "101000", 50
  7635. FlasherPolice2.Set BulbBlink, "000101", 50
  7636. PoliceFlashOff.Set TRUE, 2000
  7637. End If
  7638. If (MovieTimer.Enabled = FALSE) Then Clip = 23: PlayMovie()
  7639. Case 9:
  7640. PlayMusic 4, "fx_OffWorld2", FALSE, 0.5: OffWorldSign()
  7641. If (MovieTimer.Enabled = FALSE) Then Clip = 5: PlayMovie()
  7642. Case 10: PlayMusic 4, "fx_Background10", FALSE, 0.6: NeonSignOn()
  7643. Case 11: PlayMusic 4, "fx_Background2", FALSE, 0.6
  7644. Case 12: PlayMusic 4, "fx_Background12", FALSE, 0.6
  7645. Case 13: PlayMusic 4, "fx_Background13", FALSE, 0.6
  7646. Case 14: PlayMusic 4, "fx_Background14", FALSE, 0.6
  7647. Case 15:
  7648. PlayMusic 4, "fx_Background16", FALSE, 0.6
  7649. If (MovieTimer.Enabled = FALSE) Then Clip = 5: PlayMovie()
  7650. Case 16:
  7651. PlayMusic 4, "fx_Background17", FALSE, 0.6
  7652. If (MovieTimer.Enabled = FALSE) Then Clip = 26: PlayMovie()
  7653. Case 17: PlaySound "fx_23"
  7654. End Select
  7655. End If
  7656. End If
  7657. set LastSwitchHit = TrigLO
  7658. End Sub
  7659.  
  7660.  
  7661.  
  7662.  
  7663. Sub NeonSignOn()
  7664. HoloNeon1.UpdateInterval = 300
  7665. HoloNeon1.Frame 2, 3, 2: PlaySound "fx_Neon"
  7666. SignOffTimer.Set TRUE, 1300
  7667. End Sub
  7668.  
  7669.  
  7670. Sub AtariSignOn()
  7671. AtariSign.UpdateInterval = 250
  7672. AtariSign.Frame 30, 32, 30
  7673. SignOffTimer.Set TRUE, 3500
  7674. End Sub
  7675.  
  7676.  
  7677. Sub OffWorldSign()
  7678. CokeSign.UpdateInterval = 100
  7679. CokeSign.Frame 65, 82, 65
  7680. SignOffTimer.Set TRUE, 3300
  7681. End Sub
  7682.  
  7683.  
  7684. Sub SignOffTimer_Expired()
  7685. SignOffTimer.Enabled = FALSE
  7686.  
  7687. If (fpGameInPlay = FALSE) Then
  7688. HoloNeon1.Frame 2, 3, 2
  7689. CokeSign.UpdateInterval = 200
  7690. CokeSign.Frame 16, 28, 16
  7691. AtariSign.UpdateInterval = 250
  7692. AtariSign.Frame 30, 32, 30
  7693. Exit Sub
  7694. End If
  7695.  
  7696. HoloNeon1.Frame 3
  7697. HoloNeon4.Frame 10
  7698. HoloNeon7.Frame 15
  7699. HoloNeon6.Frame 11
  7700. NeonHotel.Frame 14
  7701. If (MoveToKick.Enabled = FALSE) Then CokeSign.Frame 28
  7702. AtariSign.Frame 31
  7703. End Sub
  7704.  
  7705.  
  7706.  
  7707. Sub PoliceFlashOff_Expired()
  7708. PoliceFlashOff.Enabled = FALSE
  7709. FlasherPolice1.Set BulbOff, "10", 150
  7710. FlasherPolice2.Set BulbOff, "10", 150
  7711. End Sub
  7712.  
  7713.  
  7714.  
  7715.  
  7716. ' advaces towards the Snake Pit mystery...
  7717.  
  7718. Sub TgtRep_Hit()
  7719.  
  7720. If (LightRep.State = BulbBlink) Then ' mode shot...
  7721.  
  7722. If (BattyMode = TRUE) Then
  7723. PlaySound "fx_Hit8"
  7724. DT_4.SolenoidPulse
  7725. LightDT.State = BulbBlink
  7726. BattyShot = BattyShot + 1
  7727. If (QuoteBusy = FALSE) Then
  7728. QuoteBusy = TRUE
  7729. Select Case BattyShot
  7730. Case 1: PlayMusic 2, "vo_MadeOf"
  7731. Case 2: PlayMusic 2, "vo_ShootStraight"
  7732. Case 3: PlayMusic 2, "vo_GetItUp"
  7733. Case 4: PlayMusic 2, "vo_StayAlive"
  7734. End Select
  7735. Else
  7736. Select Case RandomNumber(2)
  7737. Case 1: PlaySound "fx_Howl"
  7738. Case 2: PlaySound "fx_Howl2"
  7739. End Select
  7740. End If
  7741.  
  7742. AddScore(MissionHit)
  7743. MissionHit = MissionHit + 500
  7744. DMD.FlushQueue: DMD2.FlushQueue
  7745. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  7746. DMD.QueueText "[yc][xc][f6]SHOOT BATTY", deNone, 1000, FALSE
  7747. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7748. DMD2.QueueText "[yc][xc][f6]SHOOT BATTY", deNone, 1000, FALSE
  7749. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7750.  
  7751. LightLO3.State = BulbOff
  7752. LightLaneL.State = BulbOff
  7753. LightRampL.State = BulbOff
  7754. LightCentrePurge.State = BulbOff
  7755. LightRampR.State = BulbOff
  7756. LightLaneR.State = BulbOff
  7757. LightRep.State = BulbOff
  7758. Exit Sub
  7759. End If
  7760.  
  7761. If (PrisMode = TRUE) Then
  7762. PrisHit = PrisHit + 1: MissionHit = MissionHit + 250
  7763. AddScore(MissionHit)
  7764. DMD.FlushQueue
  7765. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  7766. DMD.QueueText "[yc][xc][f6]PRIS HIT", deNone, 800, FALSE
  7767. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7768. DMD2.QueueText "[yc][xc][f6]PRIS HIT", deNone, 800, FALSE
  7769. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7770. PlaySound "fx_Hit8"
  7771. LightSeqPF.Play SeqBlinking, , 1, 100
  7772. MovieTimer.Set TRUE, 100
  7773. Select Case PrisHit
  7774. Case 1:
  7775. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Scared"
  7776. Case 2:
  7777. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ShowSomething"
  7778. Case 3:
  7779. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Physical"
  7780. Case 4:
  7781. Clip = 27: PlayMovie()
  7782. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ThereFor"
  7783. Case 5:
  7784. If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_VeryGoodPris"
  7785. LightRep.State = BulbOff
  7786. LightRampR.State = BulbBlink
  7787. End Select
  7788. Exit Sub
  7789. End If
  7790.  
  7791. If (LeonMode = TRUE) Then
  7792. LightRep.State = BulbOff
  7793. LightCentrePurge.State = BulbBlink
  7794. PlaySound "fx_Hit8"
  7795. LightSeqPF.Play SeqBlinking, , 1, 100
  7796. LeonHit = LeonHit + 1: MissionHit = MissionHit + 250
  7797. MovieTimer.Set TRUE, 100
  7798. AddScore(MissionHit)
  7799. DMD.FlushQueue
  7800. DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
  7801. DMD.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
  7802. DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7803. DMD2.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
  7804. DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
  7805. If (QuoteBusy = FALSE) Then
  7806. QuoteBusy = TRUE: PlayMusic 2, "vo_WriteDown"
  7807. End If
  7808. Exit Sub
  7809. End If
  7810.  
  7811. PlaySound "fx_22"
  7812.  
  7813. If (QuoteBusy = FALSE) Then
  7814. If (BR2049 = FALSE) Then EffectMusic 1, FadeOutAndPause, 0, 100: MusicResume.Set TRUE, 1800
  7815. QuoteBusy = TRUE: PlayMusic 2, "vo_RepDetect"
  7816. End If
  7817.  
  7818. LightRep.State = BulbOff
  7819. Exit Sub
  7820. End If
  7821.  
  7822. If (LightSnakePit2.State = BulbBlink) Then
  7823. AddScore(35)
  7824. DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
  7825. DMD.QueueText "[yc][xc][f5]MYSTERY IS LIT", deNone, 1500, TRUE
  7826. DMD2.QueueText "[yc][xc][f5]MYSTERY IS LIT", deNone, 1500, TRUE
  7827. LightSnakePit2.State = BulbOff
  7828. LightSnakePit.FlashForMs 500, 100, BulbOn
  7829. SnakeHit = AdjSnakeHit
  7830. PlaySound "fx_Phone3"
  7831. If (QuoteBusy = FALSE) Then
  7832. QuoteBusy = TRUE
  7833. Select Case RandomNumber(3)
  7834. Case 1:
  7835. PlayMusic 2, "vo_TheSnake"
  7836. If (ModeActive = FALSE) and (BR2049 = FALSE) Then EffectMusic 1, FadeOutAndPause, 0, 100: MusicResume.Set TRUE, 3000
  7837. Case 2: PlayMusic 2, "vo_Licenses"
  7838. Case 3: PlayMusic 2, "vo_GoSeeTaffy"
  7839. End Select
  7840. End If
  7841. Exit Sub
  7842. End If
  7843.  
  7844. If (LightSnakePit2.State = BulbOn) Then
  7845. SnakeHit = SnakeHit - 1: AddScore(70)
  7846. DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
  7847. If (SnakeHit = 0) Then
  7848. LightSnakePit2.State = BulbBlink
  7849. DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
  7850. DMD.QueueText "[y3][xc][f3][b]SNAKE PIT MYSTERY[y18][f7]IS READY", deNone, 1500, TRUE
  7851. DMD2.QueueText "[y3][xc][f3][b]SNAKE PIT MYSTERY[y18][f7]IS READY", deNone, 1500, TRUE
  7852. Else
  7853. DMD.QueueText "[y3][xc][f3]SNAKE PIT MYSTERY[y18][f3]SHOTS REMAIN: " & SnakeHit, deNone, 1500, TRUE
  7854. DMD2.QueueText "[y3][xc][f3]SNAKE PIT MYSTERY[y18][f3]SHOTS REMAIN: " & SnakeHit, deNone, 1500, TRUE
  7855. End If
  7856. Flasher1.FlashForMs 200, 200, BulbOff
  7857. 'DMD.Text = "[yc][xc][f5]SNAKE PIT = " & SnakeHit
  7858. 'PlaySound "fx_Hit10"
  7859. PlaySound "fx_Hit5"
  7860. Else
  7861. AddScore(10)
  7862. 'PlaySound "fx_Hit10"
  7863. End If
  7864. End Sub
  7865.  
  7866.  
  7867.  
  7868. Sub StartBatty()
  7869. MysteryTimer.Enabled = FALSE
  7870. AllPlasOff()
  7871. Batty = 0
  7872. BattyShot = 0
  7873. BattyHit = 0
  7874. ShootingMode = FALSE
  7875. VKMode = FALSE
  7876. PhotoMode = FALSE
  7877. LightMode.State = BulbOff
  7878.  
  7879. Clip = 20: PlayMovie()
  7880.  
  7881. BattyMode = TRUE: ModeActive = TRUE
  7882. EffectMusic 1, FadeOutAndPause, 0, 0
  7883. PlayMusic 2, "vo_FewSeconds"
  7884. PlayMusic 5, "Music_Batty4", TRUE, 0.6
  7885. PlayMusic 6, "fx_StormLong", TRUE, 0.5
  7886.  
  7887. BattyTimer.Set TRUE, 3100
  7888.  
  7889. LightLeonMain.Set BulbBlink, "1000", 350
  7890. LightZhoraMain.Set BulbBlink, "0100", 350
  7891. LightPrisMain.Set BulbBlink, "0010", 350
  7892. LightTyrellMain.Set BulbBlink, "0001", 350
  7893. LightSebastianMain.Set BulbBlink,"1000", 350
  7894. LightChewMain.Set BulbBlink, "0100", 350
  7895. LightRachaelMain.Set BulbBlink, "0010", 350
  7896. LightGaffMain.Set BulbBlink, "0001", 350
  7897. LightRing8.Set BulbBlink,"10", 100
  7898. LightRing7.Set BulbBlink,"10", 100
  7899. LightRing6.Set BulbBlink,"10", 100
  7900. LightRing5.Set BulbBlink,"10", 100
  7901. LightRing4.Set BulbBlink,"10", 100
  7902. LightRing3.Set BulbBlink,"10", 100
  7903. LightRing2.Set BulbBlink,"10", 100
  7904. LightRing1.Set BulbBlink,"10", 100
  7905.  
  7906. LightBlade.State = BulbOff
  7907. LightRunner.State = BulbOff
  7908. LightCentre.State = BulbOff
  7909. End Sub
  7910.  
  7911.  
  7912.  
  7913.  
  7914.  
  7915.  
  7916. Sub BattyTimer_Expired()
  7917. Batty = Batty + 1
  7918. Select Case Batty
  7919. Case 1:
  7920. BattyTimer.Set TRUE, 1400
  7921. FlasherL.FlashForMs 300, 300, BulbOff
  7922. Flasher1.FlashForMs 300, 300, BulbOff
  7923. Case 2:
  7924. BattyTimer.Set TRUE, 700
  7925. FlasherM.FlashForMs 300, 300
  7926. Case 3:
  7927. BattyTimer.Set TRUE, 2600
  7928. PlayMusic 2, "vo_ImComing"
  7929.  
  7930. LightLeonMain.Set BulbOn, "10", 150
  7931. LightZhoraMain.Set BulbOn, "10", 150
  7932. LightPrisMain.Set BulbOn, "10", 150
  7933. LightTyrellMain.Set BulbOn, "10", 150
  7934. LightSebastianMain.Set BulbOn,"10", 150
  7935. LightChewMain.Set BulbOn, "10", 150
  7936. LightRachaelMain.Set BulbOn, "10", 150
  7937. LightGaffMain.Set BulbOn, "10", 150
  7938. LightRing1.State = BulbOff
  7939. LightRing2.State = BulbOff
  7940. LightRing3.State = BulbOff
  7941. LightRing4.State = BulbOff
  7942. LightRing5.State = BulbOff
  7943. LightRing6.State = BulbOff
  7944. LightRing7.State = BulbOff
  7945. LightRing8.State = BulbOff
  7946.  
  7947. LightLeft1.State = BulbOff
  7948. LightLeft2.State = BulbOff
  7949. LightLeft3.State = BulbOff
  7950.  
  7951. LightNew.State = BulbOff
  7952. LightCase.State = BulbOff
  7953.  
  7954. LightSeqPF.Play SeqBlinking, , 5, 100
  7955. LightSeqPF.Play SeqBlinking, , 11, 50
  7956. Case 4:
  7957. PlaySound "fx_Howl2"
  7958. BattyTimer.Enabled = FALSE
  7959. CaseScoop.SolenoidPulse: PlaySound "fx_ScoopExit"
  7960.  
  7961. FlashMe = 9: PFFlashTimer.Set TRUE, 400
  7962.  
  7963. ' light all shots...
  7964. LightLO3.State = BulbBlink
  7965. LightLaneL.State = BulbBlink
  7966. LightRampL.State = BulbBlink
  7967. LightCentrePurge.State = BulbOff
  7968. LightRampR.State = BulbBlink
  7969. LightLaneR.State = BulbBlink
  7970. LightRep.State = BulbBlink
  7971.  
  7972. 'PlaySound "fx_Hit2"
  7973. DT_1.PopDown
  7974. DT_2.PopDown
  7975. DT_3.PopDown
  7976. DT_4.PopDown
  7977. 'LightDT.State = BulbBlink
  7978.  
  7979. ShootAgainLight.State = BulbBlink
  7980. bBallSaverActive = TRUE
  7981. BallSaverTimer.Set TRUE, 25000
  7982. End Select
  7983. End Sub
  7984.  
  7985.  
  7986.  
  7987.  
  7988.  
  7989. Sub AllPlasOff()
  7990. If (KillOn = TRUE) Then Exit Sub
  7991. LightSeqGI.StopPlay
  7992. LightSeqGI.Play SeqAllOff
  7993. APFDark.Render = TRUE
  7994. LeftSlingShotSurface.Render = FALSE
  7995. RightSlingShotSurface.Render = FALSE
  7996. Surface14.Render = FALSE
  7997. Surface15.Render = FALSE
  7998. Surface2.Render = FALSE
  7999. Surface16.Render = FALSE
  8000. Surface19.Render = FALSE
  8001. Surface12.Render = FALSE
  8002. Surface13.Render = FALSE
  8003. Surface20.Render = FALSE
  8004. Surface22.Render = FALSE
  8005. Surface17.Render = FALSE
  8006.  
  8007. Surface41.Render = TRUE
  8008. Surface40.Render = TRUE
  8009. Surface39.Render = TRUE
  8010. Surface38.Render = TRUE
  8011. Surface37.Render = TRUE
  8012. Surface36.Render = TRUE
  8013. Surface23.Render = TRUE
  8014. Surface24.Render = TRUE
  8015. Surface25.Render = TRUE
  8016. Surface26.Render = TRUE
  8017. LSDark.Render = TRUE
  8018. RSDark.Render = TRUE
  8019.  
  8020. 'xBAM.SetPlayfieldTexture "JP_PlayfieldOff"
  8021. xBAM.Lights.Brightness = 1.60
  8022. End Sub
  8023.  
  8024.  
  8025. Dim KillOn,FlashMe
  8026.  
  8027.  
  8028. Sub AllPlasOn()
  8029. If (MoveSpinner.Enabled = TRUE) Then
  8030. If (TestSpin = 3) or (TestSpin = 6) Then Exit Sub
  8031. End If
  8032. PlaySound "fx_Relay", 0.7
  8033. LightSeqGI.StopPlay
  8034. APFDark.Render = FALSE
  8035. LeftSlingShotSurface.Render = TRUE
  8036. RightSlingShotSurface.Render = TRUE
  8037. Surface14.Render = TRUE
  8038. Surface15.Render = TRUE
  8039. Surface2.Render = TRUE
  8040. Surface16.Render = TRUE
  8041. Surface19.Render = TRUE
  8042. Surface12.Render = TRUE
  8043. Surface13.Render = TRUE
  8044. Surface20.Render = TRUE
  8045. Surface22.Render = TRUE
  8046. Surface17.Render = TRUE
  8047. Surface41.Render = FALSE
  8048. Surface40.Render = FALSE
  8049. Surface39.Render = FALSE
  8050. Surface38.Render = FALSE
  8051. Surface37.Render = FALSE
  8052. Surface36.Render = FALSE
  8053. Surface23.Render = FALSE
  8054. Surface24.Render = FALSE
  8055. Surface25.Render = FALSE
  8056. Surface26.Render = FALSE
  8057. LSDark.Render = FALSE
  8058. RSDark.Render = FALSE
  8059. 'xBAM.SetPlayfieldTexture "JP_PlayfieldOn"
  8060. xBAM.Lights.Brightness = 1.10
  8061. End Sub
  8062.  
  8063.  
  8064.  
  8065. Sub PFFlashTimer_Expired()
  8066. FlashMe = FlashMe + 1
  8067. Select Case FlashMe
  8068. Case 1,3,5,7,9: AllPlasOff()
  8069. Case 2,4,6,8: AllPlasOn()
  8070. Case 10: AllPlasOn(): PFFlashTimer.Enabled = FALSE
  8071. End Select
  8072. End Sub
  8073.  
  8074.  
  8075.  
  8076. Sub WhiteFlash()
  8077. FlasherLExt.SetLitColor 255, 255, 255
  8078. FlasherMExt.SetLitColor 255, 255, 255
  8079. Flasher1Ext.SetLitColor 255, 255, 255
  8080. End Sub
  8081.  
  8082.  
  8083. Sub PinkFlash()
  8084. FlasherLExt.SetLitColor 255, 36, 173
  8085. FlasherMExt.SetLitColor 255, 36, 173
  8086. Flasher1Ext.SetLitColor 255, 36, 173
  8087. End Sub
  8088.  
  8089.  
  8090. Sub RedFlash()
  8091. FlasherLExt.SetLitColor 255, 0, 0
  8092. FlasherMExt.SetLitColor 255, 0, 0
  8093. Flasher1Ext.SetLitColor 255, 0, 0
  8094. End Sub
  8095.  
  8096.  
  8097.  
  8098. Sub FlashersOff_Expired()
  8099. FlashersOff.Enabled = FALSE
  8100. FlasherLExt.SetLitColor 254, 39, 1
  8101. FlasherMExt.SetLitColor 252, 120, 252
  8102. Flasher1Ext.SetLitColor 33, 174, 288
  8103. End Sub
  8104.  
  8105.  
  8106.  
  8107.  
  8108. Sub RedOn()
  8109. AllPlasOn()
  8110. KillOn = TRUE
  8111. APFRed.Render = TRUE
  8112. 'LightSuperRampLExt.SetLitColor 255, 0, 0
  8113. 'LightSuperRampRExt.SetLitColor 255, 0, 0
  8114. LightRampLExt.SetLitColor 255, 0, 0
  8115. LightRampRExt.SetLitColor 255, 0, 0
  8116. LightLaneLExt.SetLitColor 255, 0, 0
  8117. LightLaneRExt.SetLitColor 255, 0, 0
  8118. LightLO3Ext.SetLitColor 255, 0, 0
  8119. LightRepExt.SetLitColor 255, 0, 0
  8120. LightModeExt.SetLitColor 255, 0, 0
  8121. LightCentrePurgeExt.SetLitColor 255, 0, 0
  8122. Bulb18Ext.SetLitColor 255, 0, 0
  8123. Bulb19Ext.SetLitColor 255, 0, 0
  8124. Bulb20Ext.SetLitColor 255, 0, 0
  8125. Bulb21Ext.SetLitColor 255, 0, 0
  8126. Bulb24Ext.SetLitColor 255, 0, 0
  8127. Bulb26Ext.SetLitColor 255, 0, 0
  8128. Bulb34Ext.SetLitColor 255, 0, 0
  8129. Bulb35Ext.SetLitColor 255, 0, 0
  8130. Bulb23Ext.SetLitColor 255, 0, 0
  8131. Bulb29Ext.SetLitColor 255, 0, 0
  8132. Bulb48Ext.SetLitColor 255, 0, 0
  8133. RightSlingShotBulb1Ext.SetLitColor 255, 0, 0
  8134. RightSlingShotBulb2Ext.SetLitColor 255, 0, 0
  8135. FlashRL1Ext.SetLitColor 255, 0, 0
  8136. FlashRL2Ext.SetLitColor 255, 0, 0
  8137. Bulb22Ext.SetLitColor 255, 0, 0
  8138. LeftSlingShotBulb1Ext.SetLitColor 255, 0, 0
  8139. LeftSlingShotBulb2Ext.SetLitColor 255, 0, 0
  8140. xBAM.Lights.Brightness = 1.30
  8141. End Sub
  8142.  
  8143.  
  8144.  
  8145.  
  8146. Sub RedOff()
  8147. PlaySound "fx_Relay", 0.7
  8148. KillOn = FALSE
  8149. APFRed.Render = FALSE
  8150. 'LightSuperRampLExt.SetLitColor 253, 230, 196
  8151. 'LightSuperRampRExt.SetLitColor 253, 230, 196
  8152. LightRampLExt.SetLitColor 249, 186, 252
  8153. LightRampRExt.SetLitColor 249, 186, 252
  8154. LightLaneLExt.SetLitColor 249, 186, 252
  8155. LightLaneRExt.SetLitColor 249, 186, 252
  8156. LightLO3Ext.SetLitColor 249, 186, 252
  8157. LightRepExt.SetLitColor 249, 186, 252
  8158. LightModeExt.SetLitColor 249, 186, 252
  8159. LightCentrePurgeExt.SetLitColor 249, 186, 252
  8160. Bulb18Ext.SetLitColor 253, 244, 213
  8161. Bulb19Ext.SetLitColor 253, 244, 213
  8162. Bulb20Ext.SetLitColor 253, 244, 213
  8163. Bulb21Ext.SetLitColor 253, 244, 213
  8164. Bulb24Ext.SetLitColor 253, 244, 213
  8165. Bulb26Ext.SetLitColor 253, 244, 213
  8166. Bulb34Ext.SetLitColor 253, 244, 213
  8167. Bulb35Ext.SetLitColor 253, 244, 213
  8168. Bulb23Ext.SetLitColor 138, 197, 244
  8169. Bulb29Ext.SetLitColor 138, 197, 244
  8170. Bulb48Ext.SetLitColor 138, 197, 244
  8171. RightSlingShotBulb1Ext.SetLitColor 138, 197, 244
  8172. RightSlingShotBulb2Ext.SetLitColor 138, 197, 244
  8173. FlashRL1Ext.SetLitColor 128, 159, 162
  8174. FlashRL2Ext.SetLitColor 128, 159, 162
  8175. Bulb22Ext.SetLitColor 138, 197, 244
  8176. LeftSlingShotBulb1Ext.SetLitColor 138, 197, 244
  8177. LeftSlingShotBulb2Ext.SetLitColor 138, 197, 244
  8178. xBAM.Lights.Brightness = 1.10
  8179. End Sub
  8180.  
  8181.  
  8182.  
  8183. Sub LandingLights()
  8184. LL1.Set BulbBlink, "10", 200
  8185. LL2.Set BulbBlink, "01", 200
  8186. LL3.Set BulbBlink, "10", 200
  8187. LL4.Set BulbBlink, "01", 200
  8188. LL5.Set BulbBlink, "10", 200
  8189. LL6.Set BulbBlink, "01", 200
  8190. LL7.Set BulbBlink, "10", 200
  8191. LL8.Set BulbBlink, "01", 200
  8192. LL9.Set BulbBlink, "10", 200
  8193. LL10.Set BulbBlink, "01", 200
  8194. LL11.Set BulbBlink, "10", 200
  8195. LL12.Set BulbBlink, "01", 200
  8196. End Sub
  8197.  
  8198.  
  8199. Sub LandingLightsOff()
  8200. LL1.Set BulbOff, "10", 200
  8201. LL2.Set BulbOff, "01", 200
  8202. LL3.Set BulbOff, "10", 200
  8203. LL4.Set BulbOff, "01", 200
  8204. LL5.Set BulbOff, "10", 200
  8205. LL6.Set BulbOff, "01", 200
  8206. LL7.Set BulbOff, "10", 200
  8207. LL8.Set BulbOff, "01", 200
  8208. LL9.Set BulbOff, "10", 200
  8209. LL10.Set BulbOff, "01", 200
  8210. LL11.Set BulbOff, "10", 200
  8211. LL12.Set BulbOff, "01", 200
  8212. End Sub
  8213.  
  8214.  
  8215.  
  8216.  
  8217.  
  8218. Sub QuoteTimer_Expired()
  8219. QuoteTimer.Enabled = FALSE
  8220. QuoteBusy = FALSE
  8221. End Sub
  8222.  
  8223.  
  8224. Sub Guide6_Hit()
  8225. If (LastSwitchHit.Name = "Guide6") Then Exit Sub
  8226. PlaySound "fx_MetalHitSoftC"
  8227. set LastSwitchHit = Guide6
  8228. End Sub
  8229.  
  8230.  
  8231. Sub Guide8_Hit()
  8232. If (LastSwitchHit.Name = "Guide8") Then Exit Sub
  8233. PlaySound "fx_MetalHitSoftR"
  8234. set LastSwitchHit = Guide8
  8235. End Sub
  8236.  
  8237.  
  8238. Sub Guide12_Hit()
  8239. If (LastSwitchHit.Name = "Guide12") Then Exit Sub
  8240. PlaySound "fx_MetalHitSoftL"
  8241. set LastSwitchHit = Guide12
  8242. End Sub
  8243.  
  8244.  
  8245. Sub Guide13_Hit()
  8246. If (LastSwitchHit.Name = "Guide13") Then Exit Sub
  8247. PlaySound "fx_MetalHitSoftR"
  8248. set LastSwitchHit = Guide13
  8249. End Sub
  8250.  
  8251.  
  8252. Sub Guide14_Hit()
  8253. If (LastSwitchHit.Name = "Guide14") Then Exit Sub
  8254. PlaySound "fx_MetalHitSoftR"
  8255. set LastSwitchHit = Guide14
  8256. End Sub
  8257.  
  8258.  
  8259. Sub Guide15_Hit()
  8260. If (LastSwitchHit.Name = "Guide15") Then Exit Sub
  8261. PlaySound "fx_MetalHitSoftL"
  8262. set LastSwitchHit = Guide15
  8263. End Sub
  8264.  
  8265.  
  8266. Sub Guide23_Hit()
  8267. If (LastSwitchHit.Name = "Guide23") Then Exit Sub
  8268. PlaySound "fx_MetalHitSoftC"
  8269. set LastSwitchHit = Guide23
  8270. End Sub
  8271.  
  8272.  
  8273. Sub Guide24_Hit()
  8274. If (LastSwitchHit.Name = "Guide24") Then Exit Sub
  8275. PlaySound "fx_MetalHitSoftC"
  8276. set LastSwitchHit = Guide24
  8277. End Sub
  8278.  
  8279.  
  8280. Sub Guide26_Hit()
  8281. If (LastSwitchHit.Name = "Guide26") Then Exit Sub
  8282. PlaySound "fx_MetalHitSoftC"
  8283. set LastSwitchHit = Guide26
  8284. End Sub
  8285.  
  8286.  
  8287.  
  8288.  
  8289. Sub Rubber4_Hit()
  8290. PlaySound "fx_RubberHitCentre"
  8291. End Sub
  8292.  
  8293.  
  8294. Sub Rubber7_Hit()
  8295. PlaySound "fx_RubberHitLeft"
  8296. End Sub
  8297.  
  8298.  
  8299. Sub RubberPost_Hit()
  8300. PlaySound "fx_RubBDL"
  8301. End Sub
  8302.  
  8303.  
  8304.  
  8305. Sub DMD_Empty()
  8306. 'DMD.UpdateInterval = 8
  8307. 'DMD2.UpdateInterval = 8
  8308. 'AddScore(0)
  8309. End Sub
  8310.  
  8311.  
  8312. Dim DMDBusy,RampR,RampL,SaveMe
  8313.  
  8314.  
  8315. Sub DMDTimer_Expired()
  8316. DMDTimer.Enabled = FALSE
  8317. DMDBusy = FALSE
  8318. If (BallsOnPlayfield > 0) Then AddScore(0)
  8319. End Sub
  8320.  
  8321.  
  8322.  
  8323. Sub TrigRampStartL_Hit()
  8324. If (RampL = FALSE) Then
  8325. RampL = TRUE
  8326. PlaySound "fx_RampStartR", 0.8
  8327. Else
  8328. ' ball is coming back down...
  8329. PlaySound "fx_RampStartR", 0.6
  8330. If (JoiOn = TRUE) or (SaveMe = 0) and (bBallSaverActive = FALSE) Then SaveMeTimer.Set TRUE, 2000
  8331. End If
  8332. End Sub
  8333.  
  8334.  
  8335.  
  8336. Sub SaveMeTimer_Expired()
  8337. SaveMeTimer.Enabled = FALSE
  8338. End Sub
  8339.  
  8340.  
  8341.  
  8342. Sub TrigRampStartR_Hit()
  8343. If (RampR = FALSE) Then
  8344. RampR = TRUE
  8345. PlaySound "fx_RampStartR", 0.8
  8346. Else
  8347. ' ball is coming back down...
  8348. PlaySound "fx_RampStartR", 0.6
  8349. If (JoiOn = TRUE) or (SaveMe = 0) and (bBallSaverActive = FALSE) Then SaveMeTimer.Set TRUE, 2000
  8350. End If
  8351. End Sub
  8352.  
  8353.  
  8354.  
  8355. Dim SpinLaunch,Spin2049
  8356.  
  8357.  
  8358.  
  8359. Dim MiniPlayField_0 ' Xmin Xmax Ymin Ymax Zmin Zmax CenX CenY CenZ
  8360. Set MiniPlayField_0 = xBAM.CreateMiniPlayfield( -80, -20, 110, 250, 40, 80, -52.8, 180.9, 50)
  8361.  
  8362.  
  8363. ' DstX DstY DstZ RotX RotY RotZ Scale Time
  8364. Call MiniPlayField_0.MoveTo( 116, 174, 60, 0, 0, 20, 1.3, 0)
  8365.  
  8366.  
  8367. ' the Police Spinner...not to be confused with a spinner.
  8368.  
  8369. ' if you're wondering why I didn't populate the entrance to the inner loops with spinners each side...Future Pinball doesn't do
  8370. ' spinners very well, and fake spinners look fake, so just a simple fast shot. But in a real game, there would be spinners at each side.
  8371.  
  8372.  
  8373.  
  8374. Sub MoveSpinner_Expired()
  8375. SpinLaunch = SpinLaunch + 1
  8376. If (SpinLaunch = 4) Then Spin2049 = TRUE: SpinLaunch = 0
  8377. TestSpin = TestSpin + 1
  8378. Select Case TestSpin
  8379. Case 1:
  8380. LandingLights()
  8381. FlasherPolice1.Set BulbBlink, "101000", 50
  8382. FlasherPolice2.Set BulbBlink, "000101", 50
  8383. AllPlasOff()
  8384. LightRing1.State = BulbBlink
  8385. LightRing2.State = BulbBlink
  8386. LightRing3.State = BulbBlink
  8387. LightRing4.State = BulbBlink
  8388. LightRing5.State = BulbBlink
  8389. LightRing6.State = BulbBlink
  8390. LightRing7.State = BulbBlink
  8391. LightRing8.State = BulbBlink
  8392. Clip = 2: PlayMovie()
  8393.  
  8394. If (Spin2049 = FALSE) Then
  8395. CokeSign.UpdateInterval = 520
  8396. CokeSign.Frame 33, 44
  8397. Select Case RandomNumber(2)
  8398. Case 1:
  8399. PlayMusic 2, "vo_SpinnerChatter"
  8400. PlaySound "fx_AlarmShort": MoveSpinner.Set TRUE, 2500
  8401. Case 2:
  8402. PlaySound "fx_SpinnerTakeOff"
  8403. PlayMusic 2, "vo_Purge2"
  8404. MoveSpinner.Set TRUE, 2500
  8405. End Select
  8406. Else
  8407. PlaySound "fx_SpinnerTakeOff"
  8408. MoveSpinner.Set TRUE, 2500
  8409. End If
  8410. Call MiniPlayField_0.MoveTo(111, 180, 90, 0, 0, 20, 1.3, 2.5)
  8411. DMD.QueueText "[yc][xc][f5]SPINNER LAUNCH", deNone, 2500, FALSE
  8412. DMD.QueueText "[yc][xc][f5][b]P U R G E", deNone, 2000, TRUE
  8413. DMD2.QueueText "[yc][xc][f5]SPINNER LAUNCH", deNone, 2500, FALSE
  8414. DMD2.QueueText "[yc][xc][f5][b]P U R G E", deNone, 2000, TRUE
  8415. Case 2:
  8416. If (ModeActive = FALSE) Then
  8417. BR2049 = TRUE
  8418. If (Spin2049 = TRUE) Then
  8419. EffectMusic 1, FadeOutAndPause, 0, 1000
  8420. PlayMusic 5, "Music_SR3", FALSE, 0.6, 500
  8421. Else
  8422. EffectMusic 1, FadeOutAndPause, 0, 1500
  8423. PlayMusic 5, "Music_SR", FALSE, 0.4, 2000
  8424. End If
  8425. End If
  8426. Call MiniPlayField_0.MoveTo(116, 174, 90, 0, 0, -30, 1.3, 1.8): MoveSpinner.Set TRUE, 1800
  8427. Case 3:
  8428. AllPlasOff()
  8429. LandingLightsOff()
  8430. FlasherPolice1.State = BulbOff
  8431. FlasherPolice2.State = BulbOff
  8432. Bulb46.State = BulbBlink: PLR.State = BulbBlink
  8433. Bulb47.State = BulbBlink: PLB.State = BulbBlink
  8434. CokeSign.UpdateInterval = 300
  8435. CokeSign.Frame 16, 28
  8436. Clip = 1: PlayMovie()
  8437. PlaySound "fx_SpinnerFlyBy4"
  8438. BulbSpinner3.State = BulbOn: FlasherSpin.State = BulbOn
  8439. Call MiniPlayField_0.MoveTo(440, 800, 90, 0, 0, -30, 1.3, 3.5): MoveSpinner.Set TRUE, 3500
  8440. Case 4:
  8441. PlaySound "fx_SpinnerLanding"
  8442. AllPlasOn()
  8443. Bulb46.State = BulbOff: PLR.State = BulbOff
  8444. Bulb47.State = BulbOff: PLB.State = BulbOff
  8445. BulbSpinner3.State = BulbOff: FlasherSpin.State = BulbOff
  8446. Call MiniPlayField_0.MoveTo(440, 975, 55, 0, 0, 75, 1.3, 3): MoveSpinner.Set TRUE, 3000
  8447. Case 5:
  8448. MoveSpinner.Set TRUE, SRTime ' the time the Spinner will stay landed on the apron...
  8449. Case 6:
  8450. If (QuoteBusy = FALSE) and (Spin2049 = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_AutoNav", FALSE, 0.7
  8451. Call MiniPlayField_0.MoveTo(440, 975, 65, 0, 0, 75, 1.3, 1)
  8452. MoveSpinner.Set TRUE, 1000
  8453. Case 7:
  8454. If (MovieTimer.Enabled = FALSE) Then Clip = 33: PlayMovie()
  8455. PlaySound "fx_SpinnerTakeOff"
  8456. Call MiniPlayField_0.MoveTo(116, 965, 65, 0, 0, 180, 1.3, 3): MoveSpinner.Set TRUE, 3000
  8457. Case 8:
  8458. AllPlasOff()
  8459. If (BallsOnPlayfield > 0) Then
  8460. If (QuoteBusy = FALSE) and (Spin2049 = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_FinalApproach", FALSE, 0.7
  8461. If (MovieTimer.Enabled = FALSE) Then Clip = 3: PlayMovie()
  8462. End If
  8463. FlasherSpin.State = BulbOn
  8464. PlaySound "fx_SpinnerFlyBy3"
  8465. Call MiniPlayField_0.MoveTo(116, 174, 90, 0, 0, 180, 1.3, 3.5): MoveSpinner.Set TRUE, 3500
  8466. Case 9:
  8467. PlaySound "fx_PoliceSiren2"
  8468. FlasherPolice1.Set BulbBlink, "101000", 50
  8469. FlasherPolice2.Set BulbBlink, "000101", 50
  8470. FlasherSpin.State = BulbOff
  8471. Call MiniPlayField_0.MoveTo(116, 174, 85, 0, 0, 320, 1.3, 3): MoveSpinner.Set TRUE, 3000
  8472. Case 10:
  8473. LandingLights()
  8474. PlaySound "fx_SpinnerLanding"
  8475. FlasherPolice1.State = BulbOff
  8476. FlasherPolice2.State = BulbOff
  8477. BulbSpinner3.State = BulbOn
  8478. Call MiniPlayField_0.MoveTo(116, 174, 60, 0, 0, 20, 1.3, 3.5): MoveSpinner.Set TRUE, 3500
  8479. Case 11:
  8480. ' if a mode is active as the Spinner lands, the music has already changed...
  8481. If (ModeActive = FALSE) and (BR2049 = TRUE) Then
  8482. EffectMusic 5, FadeOutAndStop, 0, 1000
  8483. EffectMusic 1, PlayAndFadeIn, 0.6, 1000
  8484. End If
  8485. Spin2049 = FALSE
  8486. BR2049 = FALSE
  8487. AllPlasOn()
  8488. LandingLightsOff()
  8489. MoveSpinner.Enabled = FALSE
  8490. BulbSpinner3.State = BulbOff
  8491. TestSpin = 0
  8492. SuperRamps = FALSE
  8493. SuperRampsTimer.Enabled = FALSE
  8494. LightSuperRampL.State = BulbOff
  8495. LightSuperRampR.State = BulbOff
  8496. LightCentre.State = BulbOff
  8497. LightBlade.State = BulbBlink
  8498. LightRunner.State = BulbBlink
  8499. End Select
  8500. End Sub
  8501.  
  8502.  
  8503. Dim Clip
  8504.  
  8505.  
  8506. ' movie clips! not as many as other games, Blade Runner isn't an action movie so less is certainly more for this game.
  8507.  
  8508.  
  8509. Sub PlayMovie()
  8510. OverlayHUD2.Frame 1: OverlayMovie2.Frame 1
  8511. OverlayMovieHUD.Frame 599: OverlayMovie.Frame 599
  8512. OverlayMovie.UpdateInterval = 66: OverlayMovieHUD.UpdateInterval = 66
  8513. OverlayMovie2.UpdateInterval = 66: OverlayHUD2.UpdateInterval = 66
  8514. Select Case Clip
  8515. Case 1:
  8516. OverlayMovie.Frame 457, 487: OverlayMovieHUD.Frame 457, 487
  8517. MovieTimer.Set TRUE, 1800
  8518. Case 2:
  8519. OverlayMovie.UpdateInterval = 70: OverlayMovieHUD.UpdateInterval = 70
  8520. OverlayMovie.Frame 333, 386: OverlayMovieHUD.Frame 333, 386
  8521. MovieTimer.Set TRUE, 4500
  8522. Case 3:
  8523. OverlayMovie.UpdateInterval = 64: OverlayMovieHUD.UpdateInterval = 64
  8524. OverlayMovie.Frame 252, 330: OverlayMovieHUD.Frame 252, 330
  8525. MovieTimer.Set TRUE, 5000
  8526. Case 4:
  8527. OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
  8528. OverlayMovie.Frame 72, 206: OverlayMovieHUD.Frame 72, 206
  8529. Case 5:
  8530. OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68 ' blimp
  8531. OverlayMovie.Frame 696, 734: OverlayMovieHUD.Frame 696, 734
  8532. MovieTimer.Set TRUE, 3000
  8533. Case 6:
  8534. OverlayMovie.Frame 974, 1020: OverlayMovieHUD.Frame 974, 1020 ' tyrell death
  8535. MovieTimer.Set TRUE, 3000
  8536. Case 7:
  8537. OverlayMovie.Frame 387, 424: OverlayMovieHUD.Frame 387, 424 ' VK eye
  8538. MovieTimer.Set TRUE, 2600
  8539. Case 8:
  8540. OverlayMovie.UpdateInterval = 64: OverlayMovieHUD.UpdateInterval = 64
  8541. OverlayMovie.Frame 1, 66: OverlayMovieHUD.Frame 1, 66
  8542. Case 9:
  8543. OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68 ' fly by coke sign
  8544. OverlayMovie.Frame 107, 146: OverlayMovieHUD.Frame 107, 146
  8545. MovieTimer.Set TRUE, 3500
  8546. Case 10:
  8547. OverlayMovie.Frame 887, 914: OverlayMovieHUD.Frame 887, 914 ' leon shot
  8548. MovieTimer.Set TRUE, 1800
  8549. Case 11:
  8550. OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
  8551. OverlayMovie.Frame 72, 106: OverlayMovieHUD.Frame 72, 106
  8552. MovieTimer.Set TRUE, 2000
  8553. Case 12:
  8554. OverlayMovie.Frame 828, 869: OverlayMovieHUD.Frame 828, 869
  8555. MovieTimer.Set TRUE, 2800
  8556. Case 13:
  8557. OverlayMovie.Frame 425, 455: OverlayMovieHUD.Frame 425, 455
  8558. MovieTimer.Set TRUE, 2000
  8559. Case 14:
  8560. OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
  8561. OverlayMovie2.Frame 245, 273: OverlayHUD2.Frame 245, 273 ' tyrell tower
  8562. MovieTimer.Set TRUE, 2500
  8563. Case 15:
  8564. OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
  8565. OverlayMovie.Frame 634, 667: OverlayMovieHUD.Frame 634, 667
  8566. MovieTimer.Set TRUE, 3500
  8567. Case 16:
  8568. OverlayMovie.Frame 915, 946: OverlayMovieHUD.Frame 915, 946
  8569. MovieTimer.Set TRUE, 2100
  8570. Case 17:
  8571. OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
  8572. OverlayMovie.Frame 600, 633: OverlayMovieHUD.Frame 600, 633
  8573. MovieTimer.Set TRUE, 3500
  8574. Case 18:
  8575. OverlayMovie.Frame 947, 973: OverlayMovieHUD.Frame 947, 973
  8576. MovieTimer.Set TRUE, 1800
  8577. Case 19:
  8578. OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
  8579. OverlayMovie.Frame 668, 695: OverlayMovieHUD.Frame 668, 695
  8580. MovieTimer.Set TRUE, 3500
  8581. Case 20:
  8582. OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
  8583. OverlayMovie.Frame 735, 787: OverlayMovieHUD.Frame 735, 787
  8584. MovieTimer.Set TRUE, 4300
  8585. Case 21
  8586. OverlayMovie.Frame 488, 551: OverlayMovieHUD.Frame 488, 551
  8587. MovieTimer.Set TRUE, 4000
  8588. Case 22:
  8589. OverlayMovie.Frame 790, 818: OverlayMovieHUD.Frame 790, 818
  8590. MovieTimer.Set TRUE, 1800
  8591. Case 23:
  8592. OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
  8593. OverlayMovie.Frame 147, 205: OverlayMovieHUD.Frame 147, 205
  8594. MovieTimer.Set TRUE, 4000
  8595. Case 24:
  8596. OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
  8597. OverlayMovie2.Frame 2, 80: OverlayHUD2.Frame 2, 80 ' elevator
  8598. MovieTimer.Set TRUE, 4100
  8599. Case 25:
  8600. OverlayMovie2.UpdateInterval = 67: OverlayHUD2.UpdateInterval = 67
  8601. OverlayMovie2.Frame 81, 110: OverlayHUD2.Frame 81, 110 ' chop
  8602. MovieTimer.Set TRUE, 2200
  8603. Case 26:
  8604. OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
  8605. OverlayMovie2.Frame 111, 161: OverlayHUD2.Frame 111, 161 ' blimp
  8606. MovieTimer.Set TRUE, 3700
  8607. Case 27:
  8608. OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
  8609. OverlayMovie2.Frame 162, 195: OverlayHUD2.Frame 162, 195 ' pris eyes
  8610. MovieTimer.Set TRUE, 2500
  8611. Case 28:
  8612. OverlayMovie2.Frame 20, 80: OverlayHUD2.Frame 2, 80 ' elevator
  8613. MovieTimer.Set TRUE, 4100
  8614. Case 29:
  8615. OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
  8616. OverlayMovie2.Frame 196, 244: OverlayHUD2.Frame 196, 244 ' photo scan
  8617. MovieTimer.Set TRUE, 3700
  8618. Case 30:
  8619. OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
  8620. OverlayMovie2.Frame 274, 296: OverlayHUD2.Frame 274, 296 ' leon punch
  8621. MovieTimer.Set TRUE, 1800
  8622. Case 31:
  8623. OverlayMovie2.UpdateInterval = 72: OverlayHUD2.UpdateInterval = 72
  8624. OverlayMovie2.Frame 297, 333: OverlayHUD2.Frame 297, 333 ' seb end
  8625. MovieTimer.Set TRUE, 3100
  8626. Case 32:
  8627. OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
  8628. OverlayMovie2.Frame 347, 378: OverlayHUD2.Frame 347, 378 ' vid phon
  8629. MovieTimer.Set TRUE, 2000
  8630. Case 33:
  8631. OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
  8632. OverlayMovie2.Frame 379, 410: OverlayHUD2.Frame 379, 410 ' patrol
  8633. MovieTimer.Set TRUE, 2200
  8634. Case 34:
  8635. OverlayMovie2.UpdateInterval = 69: OverlayHUD2.UpdateInterval = 69
  8636. OverlayMovie2.Frame 411, 432: OverlayHUD2.Frame 411, 432 ' gaff
  8637. MovieTimer.Set TRUE, 1600
  8638. Case 35:
  8639. OverlayMovie2.UpdateInterval = 70: OverlayHUD2.UpdateInterval = 70
  8640. OverlayMovie2.Frame 433, 461: OverlayHUD2.Frame 433, 461 ' roy
  8641. MovieTimer.Set TRUE, 2400
  8642. End Select
  8643. End Sub
  8644.  
  8645.  
  8646. Sub FuturePinball_EndPlay()
  8647. End Sub
  8648.  
  8649.  
  8650. Sub LightSeqPF_Empty()
  8651. LightSeqPF.UpdateInterval = 10
  8652. End Sub
  8653.  
  8654.  
  8655. Sub Trigger5_Hit()
  8656. PlaySound "fx_HitWireRamp", 0.8
  8657. End Sub
  8658.  
  8659.  
  8660.  
  8661. Dim TestSpin,BR2049
  8662.  
  8663.  
  8664. Sub FuturePinball_EndPlay()
  8665. DOFClose()
  8666. End Sub
  8667.  
Add Comment
Please, Sign In to add comment