Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ' *********************************************************************
- ' ** **
- ' ** BLADE RUNNER **
- ' ** **
- ' ** by SLAMT1LT **
- ' ** **
- ' *********************************************************************
- ' ** NO OTHER VERSIONS PLEASE, THIS IS A FUTURE PINBALL EXCLUSIVE GAME **
- ' ** FUTURE PINBALL MODS ARE PERMITTED **
- ' Very Basic DOF added by Outhere ON 4/21/2021 --- DOFLinx Not Needed
- ' DOF SETUP
- ' ---------
- '101 - Flipper Left
- '102 - Flipper Right
- '103 - Slingshot Left
- '104 - Slingshot Right
- '105 - Bumper Back Left
- '106 - Bumper Back Right
- '107 - Bumper Back Center
- '108 - Put Ball in Plunger Line (Ball Release)
- '109 - Auto Fire
- '110 - Right Ramp Diver
- '111 - Drop Target Reset
- '112 - Right Kicker
- ' ** ULTIMATE Pro 1.04 **
- ' fixed 'continue game' qualifying value set too high
- ' fixed Snake Pit Mystery not always showing awards on DMD
- ' fixed Sebastian win not playing movie clip
- ' added more quotes
- ' edited and improved some quotes
- ' New Rule: Activating the Spinner 4 times plays out a sequence from Blade Runner 2049
- ' added more Joi Companion functionality
- ' Shop upgrades can now be stacked, purchased items are marked as 'sold'
- ' added more movie clips
- ' added more music
- ' Rule Change: Ramp Saver now only activates once per ball. Unlimted use if Joi active.
- ' added 'Buzz Off' to Snake Pit Mystery as a null award
- ' fixed range drop targets not resetting if active when ball drains
- ' adjusted some score values
- ' improved some lighting sequences
- ' added new dynamic flipper settings to fix 'ball-through-flipper' bug
- ' added HUD toggle to special 1 key
- ' ** ULTIMATE Pro 1.03 **
- ' fixed some movie clips freezing on last frame
- ' adjusted price of items in upgrade shop
- ' fixed 2nd DMD on backglass not showing all information
- ' added more movie clips
- ' improved Joi companion funtionality
- ' New Rule: hitting the right scoop 3 times when not lit will send the ball into the bumpers
- ' New Rule: making a late Super Ramp shot as the Spinner is landing awards a Landing Bonus
- ' fixed some upgrade shop adjustments not carrying over to next game
- ' improved 'money spinner' feature and inceased values
- ' ** ULTIMATE Pro 1.02 **
- ' fixed ball sticking on launch ramp
- ' fixed Leon Kill flag not resetting for each new game
- ' fixed 2 music tracks playing at the same time when Spinner moving
- ' fixed some quotes not playing
- ' improved Racheal mission
- ' added more sound fx, quotes and music tracks
- ' added more movie clips
- ' added more blimp ad animations to back wall LCD
- ' adjusted score value needed for 'Continue Game'
- ' improved some lighting effects
- ' added colour-changing LEDs
- ' added Joi Companion from Blade Runner 2049
- ' added option to change balls per game during attract sequence
- ' fixed Skill Shot activating for ball save
- ' minor improvements to physics
- ' MISSIONS
- ' --------
- ' Hit the right NEW CASE targets to spin the mission wheel. When it stops and highlights a character, the
- ' main sccop will light to start that mission.
- ' Shoot the scoop or the left ramp to start the next mission (the left ramp shot will divert the ball into the scoop).
- ' RETIREMENT MISSIONS
- ' -------------------
- ' Only the retirement missions have 2 stages - the hunt and the kill.
- ' Leon
- ' ----
- ' Stage 1 (Hunt) - Give Leon the test.
- ' Leon: Stage 1 (Hunt) - Shoot the left loop and hit the flashing rollover lane to activate the elevator. This will
- ' announce Leon as the next subject and take him up to the 1st floor for testing.
- ' Leon: Stage 2 (Kill) - Fight Leon then kill him
- ' Zhora: Stage 1 (Hunt) - Use the photo analysis machine to find her
- ' Zhora: Stage 2 (Kill) - Fight and kill her
- ' Pris: Stage 1 (Hunt) - Pris wins over Sebastian
- ' Pris: Stage 2 (Kill) - Fight and kill her
- ' Batty: Fight and then watch him die
- ' CHARACTER MISSIONS
- ' ------------------
- ' Tyrell
- ' ------
- ' Roy meets Tyrell.
- ' Shot 1: Shoot the left loop and light both rollever lanes to light the elevator and meet with Tyrell.
- ' Shot 2,3,4,5: Shoot either ramp to discuss 'longevity' with Dr Tyrell.
- ' Shot 6: Shoot the left loop into the bumpers and get a certain amount of hits to kill Tyrell.
- ' J.F. Sebastian
- ' --------------
- ' Roy and Pris convince Sebastian to help them.
- ' Shot 1,2,3,4: Shoot the centre loop (in either direction).
- ' Shot 5,6: Shoot the left loop to access the elevator and speak with Tryell to access his penthouse.
- ' Chew
- ' ----
- ' Roy and Leon visit Chew at his eye shop.
- ' Shot 1: Shoot the left ramp.
- ' Shot 2: Shoot the right ramp.
- ' Shot 3: Shoot the center loop.
- ' Shot 4: Shoot the left lane target.
- ' Shot 5: Shoot any lit shot (all of them are lit).
- ' Rachael
- ' -------
- ' Test Racheal to deterine she's a replicant.
- ' All Shots: Shoot the left lane target until the mode is complete.
- ' Gaff
- ' ----
- ' Take Deckard to Police HQ.
- ' Shot 1: Shoot the centre loop.
- ' Shot 2: Shoot the centre target to start the spinner.
- ' Shot 3: Shoot the left ramp.
- ' SPINNER
- ' -------
- ' activate the spinner by shooting the left and right stand up targets, then the centre target, then the
- ' centre lane.
- ' this will activate the Super Ramps for a limited time.
- ' FIRING RANGE
- ' ------------
- ' complete G-U-N to raise the drop targets. When the first drop target is hit, a timer will start. Knock
- ' down all the targets before the timer runs out to advance to the next objective, the Voigt-Kampff test.
- ' VOIGT-KAMPFF TEST
- ' -----------------
- ' complete G-U-N again to raise the drop targets. Same rules as above. When sucessfully completed, advance
- ' to the next objevtive - the Photo.
- ' PHOTO ANALYSYS
- ' --------------
- ' same as firing range and voigt-kampff, but ends with an extra ball win.
- ' when firing, vk and photo are completed, the inner wheel will spin and award a random value.
- ' TYRELL CORPORATION
- ' ------------------
- ' make a centre lane loop to light the Tyrell light at the left lane. The ball will be diverted into the top
- ' rollover lanes. Light both lanes to activate the elevator at the scoop.
- ' When the ball lands in the scoop, the elevator will take you 1 floor up. Make it to Tyrell's penthouse to
- ' win the extra ball.
- ' SUPER BUMPERS
- ' -------------
- ' hit the bumpers 30 times to activate Super Bumpers. The bumpers will score 10x their normal value for a limited
- ' time.
- ' hit the Super Bumpers 25 times to activate the playfield score multiplier.
- ' THE SNAKE PIT MYSTERY
- ' ---------------------
- ' Shoot the single right stand up target 8 times to light mystery at the right scoop. Shoot the scoop to collect
- ' the mystery award.
- ' NEXUS 6
- ' -------
- ' complete the in and out lanes - MORE HUMAN THAN HUMAN - to light the Nexus 6 inserts on both in lanes for a limited
- ' time. Get the ball into these lanes to activate the ball saver (MORE LIFE) for a limited time.
- ' LANE TARGET
- ' -----------
- ' shooting the left lane target when the drop targets are down, increases the value of the drop targets when hit.
- ' LEFT RAMP
- ' ---------
- ' Collect Super Ramp value.
- ' RIGHT RAMP
- ' ----------
- ' Collect Super Ramp value.
- ' CENTRE LOOP
- ' -----------
- ' Shooting the centre loop will increase the Super Ramp value.
- ' SKILL SHOT
- ' ----------
- ' make any of the flashing shot from lauch to collect the Skill Shot value.
- ' COMBO
- ' -----
- ' make a ramp or centre lane shot immediatly after any ramp shot to collect the combo value.
- ' UPGRADE SHOP
- ' ------------
- ' At the end of each game, upgrades can by purchased using the money collected during the game. These upgrades
- ' will be active for the next game.
- Option Explicit
- '/////////////////////// iCOM BAM PLUG-IN - USE COM OBJECTS ////////////////////////////
- ' The iCOM plug-in for BAM must be installed and enabled in the BAM Plug-ins menu!
- ' This will allow programs such as DOF, Pinup Player, and more to work directly with Future Pinball.
- Dim icom : Set icom = xBAM.Get("icom") ' "icom" is name of "icom.dll" in BAM\Plugins dir
- Function CreateObject(className)
- Set CreateObject = icom.CreateObject(className)
- End Function
- '///////////////////////////////////////////////////////////////////////////////////////
- '//////////////////////// DOF: STARTUP & CONTROL SECTION /////////////////////////////
- ' This is used for the startup and control of DOF (Direct Output Framework)
- Dim useDOF: useDOF = false
- Dim DOFStatus:DofStatus=false
- Dim DOFObject
- Dim cGamename
- Sub DOFStart(DOFProfile) 'Start DOF Session
- if DofStatus=true then Exit Sub
- if useDOF=true Then
- Set DOFObject = CreateObject("DirectOutput.ComObject")
- If DOFObject is Nothing Then
- AddDebugText "DOF is not installed or detected"
- useDOF=false
- DofStatus=false
- else
- DOFObject.Init "B2SServer","",DOFProfile
- DOFStatus=true
- AddDebugText "Start DOF"
- end if
- End if
- end sub
- Sub DOFClose() 'PinEvent - Close out DOF session. Add this to FuturePinball_EndPlay()
- if DOFStatus=false then Exit Sub
- DOFStatus=false
- DOFObject.Finish()
- Set DOFObject=nothing
- end sub
- Sub dof(dID,dValue)
- if DOFStatus=false then Exit Sub
- if dValue=0 Then DOFObject.UpdateNamedTableElement "E"&dID,0
- if dValue=1 Then DOFObject.UpdateNamedTableElement "E"&dID,1
- if dValue=2 Then
- DOFObject.UpdateNamedTableElement "E"&dID,1
- DOFObject.UpdateNamedTableElement "E"&dID,0
- End If
- end Sub
- ' Usage: dof(dID,dValue)
- ' dID = DOF Exxx trigger
- ' dValue = trigger action. 0 = off, 1 = on, 2 = pulse
- ' Example:
- ' dof 103,1
- ' The above example will trigger DOF event E103 as ON
- '///////////////////////////////////////////////////////////////////////////////////////
- '////////////// START DOF ////////////////
- useDOF = true ' enable DOF
- cGamename = "fp_blade_runner_ult_pro" ' name of this table's DOF Config as listed on the "DOF Config Tool" web site
- DOFStart(cGamename) ' check for DOF - If found, then start DOF Session
- '/////////////////////////////////////////
- xBAM.CreateAllExt
- '=============================== PHYSICS XML ===========================
- '<?xml version="1.0" encoding="utf-8"?>
- '<document>
- ' <!—Custom Physics for BLADERUNNER -->
- ' <physics fps="296" threaded="1"></physics>
- ' <ball newtonDamping="0" mass="75" gravity="6800" damping="0.65"></ball>
- ' <flipper releaseOmega="18" rotationSpeedChart="{0.0,100.0}[0.0,100.0]" newtonDamping="1" mass="20150" omega="43" moeMethod="0"
- ' leftXoff="0" leftYoff="0" leftZoff="0"
- ' rightXoff="0" rightYoff="0" rightZoff="0"></flipper>
- ' <bumper impulse="90.0" impulseRandomness="0" vectorRandomness="6"></bumper>
- ' <autoplunger mass="20000.0" force="60000.0"></autoplunger>
- ' <diverter mass="10000.0" omega="33.0"></diverter>
- ' <gate mass="0.010" gravity="100" damping="0.25"></gate>
- ' <kicker impulse="1000.0" vukImpulse="1400.0" impulseRandomness="2" vectorRandomness="1"></kicker>
- ' <plunger mass="20000.0" force="30000.0"></plunger>
- ' <slingshot impulse="650.0" impulseRandomness="15" vectorRandomness="3"></slingshot>
- ' <spindisk mass="10000.0" angularDamp="0.33" linearDamp="0.25"></spindisk>
- ' <spinner mass="50000.0" gravity="9800.0" angularDamp="0.5" angularAccel="5.25"
- ' spinDampLoose="0.30" spinBackLoose="0.90"
- ' spinDampNorm="0.40" spinBackNorm="0.65"
- ' spinDampTight="0.70" spinBackTight="0.65"></spinner>
- ' <emkicker mass="10000.0" omega="80.0"></emkicker>
- ' <varitarget mass="500.0" damping="0.9" tension="3.0" return="15.0"></varitarget>
- ' <magnet impulse="10.0" impulseRandomness="2"></magnet>
- ' <nudge impulse="240.0" impulseRandomness="25.0" warningLevel="300" leftAngle="60" upAngle="0" rightAngle="320"
- ' vectorRandomness="5" visualDistance="3" waitPeriod="300" maxBallVelocity="500.0"></nudge>
- ' <defaultMat softnessCoef="0.03" elasticCoef="0.1" staticFriction="0.01" kineticFriction="0.02"></defaultMat>
- ' <playfieldMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.01" kineticFriction="0.02"></playfieldMat>
- ' <metalMat softnessCoef="0.01" elasticCoef="0.15" staticFriction="0.02" kineticFriction="0.02"></metalMat>
- ' <woodMat softnessCoef="0.03" elasticCoef="0.15" staticFriction="0.03" kineticFriction="0.02"></woodMat>
- ' <plasticMat softnessCoef="0.02" elasticCoef="0.2" staticFriction="0.02" kineticFriction="0.01"></plasticMat>
- ' <rubberHardMat softnessCoef="0.08" elasticCoef="0.50" staticFriction="0.04" kineticFriction="0.055"></rubberHardMat>
- ' <rubberIntMat softnessCoef="0.1" elasticCoef="0.72" staticFriction="0.05" kineticFriction="0.065"></rubberIntMat>
- ' <rubberSoftMat softnessCoef="0.12" elasticCoef="0.90" staticFriction="0.06" kineticFriction="0.075"></rubberSoftMat>
- ' <gateMat softnessCoef="0.05" elasticCoef="0.65" staticFriction="0" kineticFriction="0"></gateMat>
- ' <kickerMat softnessCoef="0.01" elasticCoef="0.05" staticFriction="0.8" kineticFriction="0.8"></kickerMat>
- ' <rampMat softnessCoef="0.01" elasticCoef="0.01" staticFriction="0.01" kineticFriction="0.01"></rampMat>
- ' <plungerMat softnessCoef="0.04" elasticCoef="0.55" staticFriction="0.02" kineticFriction="0.02"></plungerMat>
- ' <spindiskMat softnessCoef="0.05" elasticCoef="0.5" staticFriction="1.5" kineticFriction="2"></spindiskMat>
- '</document>
- '=============================== PHYSICS XML ===========================
- ' === Ball Rolling FX ===
- ExecuteGlobal LoadExternalScript ("ZBRrollingballsoundslib.vbs")
- ZRBrampHeight = 40
- ZRBtablewide = 516
- ZRBsoundballchan = 8
- ZRBvolNormLevel = 0.30
- ZRBrampSoundballchan = -1
- ZRBrampVolNormLevel = 0.40
- ' ADD A TIMER...RollingBallUpdateTimer
- ' ADD CODE FOR FX....InitTrakedSoundBalls(), AddTrackedBall(PlungerKicker), DeleteTrackedBall(Drain)
- ' ADD CODE (TEXTURE SWAP).....xBAM.SetPlayfieldTexture "potc pf2"
- ' === Dynamic Flipper Settings ===
- Const BAM_VERSION = 0
- AddDebugText BAM_VERSION
- Sub BAM_Init()
- If BAM_VERSION < 233 then Exit Sub
- xBAM.ShadowMap "leftslingshotbulb1", 1000 , 1 , 2.5, 2, 5, 0.5, 0
- xBAM.ShadowMap "leftslingshotbulb2", 1000 , 1 , 2.5, 1, 3, 0.5, 0
- xBAM.ShadowMap "rightslingshotbulb1", 1000 , 1 , 2.5, 1, 5, 0.5, 0
- xBAM.ShadowMap "rightslingshotbulb2", 1000 , 1 , 2.5, 1, 3, 0.5, 0
- End Sub
- If BAM_VERSION => 233 then
- Dim RightFlipperExt,LeftFlipperExt
- Dim omegaCorrectionR
- Dim omegaCorrectionL
- xBAM.BallSpeedLimit = 3000
- End If
- Sub SetLightsParamsInBAM()
- xBAM.Lights.EnableNewRenderer = TRUE
- xBAM.Lights.MainLightLock = TRUE
- ' --- SetMainLightPosition not used because MainLightLock = FALSE
- ' xBAM.Lights.SetMainLightPosition 0, 650, 500
- xBAM.Lights.SetMainLightProperties 1, 0.3, 1, 0.075
- xBAM.Lights.SetMainLightAttenuation 1, 0, 0
- xBAM.Lights.SetOtherLightsAttenuation 0.066, 0, 0.333
- xBAM.Lights.EnablePostprocessing = FALSE
- xBAM.Lights.SetPostprocessing 1, 0, 1, 1
- xBAM.Lights.SetPostprocessingForNewRenderer 1, 0, 1, 1, 2.2, 1, 1, 1, 0.2
- ' xBAM.Lights.BallReflection = 1
- ' xBAM.Lights.BallShininess = 80
- xBAM.Lights.BallSpecular = 0.4
- End Sub
- SetLightsParamsInBAM()
- Sub OnPreHitFlipperSettings(FlipperExt)
- If BAM_VERSION < 233 then Exit Sub
- OnPreHitFlipperSettings_bounceControl(FlipperExt)
- End Sub
- If BAM_VERSION => 233 then
- const MaxOmega = 45 ' Omega at base of flipper. Must be > MinOmega. Default = 45
- const MinOmega = 32 ' Omega at tip of flipper. Must be < MaxOmega. Default = 32
- End If
- Sub RightFlipper_prehit()
- If BAM_VERSION < 233 then Exit Sub
- OnPreHitFlipperSettings(RightFlipperExt)
- omegaCorrectionR = MaxOmega - (RightFlipperExt.ContactPoint * ((MaxOmega - MinOmega)/1.2))
- If RightFlipperExt.ContactPoint < 0.0 then RightFlipperExt.Omega = MaxOmega
- If RightFlipperExt.ContactPoint > 1.2 then RightFlipperExt.Omega = MinOmega
- If (RightFlipperExt.ContactPoint => 0.0) And (RightFlipperExt.ContactPoint =< 1.2) then
- RightFlipperExt.Omega = omegaCorrectionR
- End if
- End Sub
- Sub LeftFlipper_prehit()
- If BAM_VERSION < 233 then Exit Sub
- OnPreHitFlipperSettings(LeftFlipperExt)
- omegaCorrectionL = MaxOmega - (LeftFlipperExt.ContactPoint * ((MaxOmega - MinOmega)/1.2))
- If LeftFlipperExt.ContactPoint < 0.0 then LeftFlipperExt.Omega = MaxOmega
- If LeftFlipperExt.ContactPoint > 1.2 then LeftFlipperExt.Omega = MinOmega
- If (LeftFlipperExt.ContactPoint => 0.0) And (LeftFlipperExt.ContactPoint =< 1.2) then
- LeftFlipperExt.Omega = omegaCorrectionL
- End if
- End Sub
- ' Thanks George! ; ) I went with NEW VALUE 12
- ' $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- ' Note: This table corrects an issue where the ball sinks through the flippers when one or more balls are cradled during game
- ' 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
- ' 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
- ' all 6 of the parameters for leftXoff, leftYoff, leftZoff, rightXoff, rightYoff and rightZoff so they are set to 0. The XML is
- ' usually located in the script of most newer tables although on older tables it is a separate file saved with the same name as
- ' the table. 3) Find the bounce control values that are currently used in the "PARAMETERS TO TWEAK" section below in the
- ' "OLD VALUES" list and convert to the comparable values posted in the "NEW VALUES" list. If the values were used from "Group 4"
- ' 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
- ' 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
- ' the changes. The changes you made to the XML will not take effect until you save.
- ' OLD VALUES
- ' (where values in the "PHYSICS XML" where leftYoff equals 1500 and rightYoff equals 1500)
- ' Suggested values from low bounce on the left to high bounce on the right
- ' Group: 1 2 3 4 5 6 7 8 9 10 11 12
- ' 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
- ' 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
- ' 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
- ' 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
- ' NEW VALUES
- ' (where values in the "PHYSICS XML" where leftYoff equals 0 and rightYoff equals 0)
- ' Suggested values from low bounce on the left to high bounce on the right
- ' Group: 1 2 3 4 5 6 7 8 9 10 11 12
- ' 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
- ' 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
- ' 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
- ' 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
- ' $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
- Sub OnPreHitFlipperSettings_bounceControl(FlipperExt)
- If BAM_VERSION < 233 then Exit Sub
- ' PARAMETERS TO TWEAK
- const base_elasticCoef = 0.73 ' very bouncy flipper rubber
- const expected_ball_speed_after_hit = 389.00 ' calc elasticCoef to get desired ball speed after ball hit flipper
- 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
- const reduction_for_flipper_in_motion = 0.15 ' if flipper is not in starting point, reduce elasticCoef by 20%
- If FlipperExt.Hit Then
- Dim elasticCoef
- Dim maxElasticCoef
- Dim ballSpeed
- ballSpeed = (FlipperExt.BallVSpeed + xBAM.Ball.Speed) * 0.5 ' averge speed of
- maxElasticCoef = base_elasticCoef
- If FlipperExt.AngleDiff > 1 Then maxElasticCoef = maxElasticCoef - reduction_for_flipper_in_motion
- elasticCoef = base_elasticCoef
- If ballSpeed > 1 Then elasticCoef = expected_ball_speed_after_hit / ballSpeed
- elasticCoef = elasticCoef + minimum_elasticCoef_to_scale_fast_balls
- If elasticCoef > maxElasticCoef Then elasticCoef = maxElasticCoef
- FlipperExt.SetMaterial elasticCoef
- End If
- End Sub
- ' === End of Dynamic Flipper Settings ===
- ' what this do?
- ' - it makes the Spinnner Toy a bit more shiney, like metal (or wet fibreglass as the movie prop was...probably)
- '[BAM] !texture = !SpinText-ColorMap
- '[BAM] !normalMap = !SpinText-NormalMap
- '[BAM] !shininess = 55.00
- '[BAM] !specularLevel = 10.4
- '[BAM] !specularBalance = 0.01
- '[BAM] !normalMapScale = 1.0
- '[BAM] !texture = !BumperOff
- '[BAM] !shininess = 55.00
- '[BAM] !specularLevel = 10.4
- '[BAM] !specularBalance = 0.01
- '[BAM] !normalMapScale = 1.0
- Const constMaxPlayers = 1 ' Deckard doesn't have a partner....one player only
- Const constBallSaverTime = 5000
- Const constMaxMultiplier = 6
- Dim PlayersPlayingGame
- Dim CurrentPlayer
- Dim BonusPoints(4)
- Dim BonusMultiplier(4)
- Dim BallsRemaining(4)
- Dim ExtraBallsAwards(4)
- Dim LastSwitchHit
- Dim BallsOnPlayfield
- Dim BallsInLock
- Dim bOnTheFirstBall
- Dim bBallInPlungerLane
- Dim bBallSaverActive
- Dim bMultiBallMode
- Dim bEnteringAHighScore
- Dim TempL1
- Dim IgnoreHit
- Dim BF
- Dim PlayAtt
- Dim SSActive
- Dim MagnetActive
- Dim QuoteBusy
- Dim TrackPlayed
- Dim TiltCheck
- Dim ShootingMode
- Dim LeonMode
- Dim ZhoraMode
- Dim PrisMode
- Dim TyrellMode
- Dim SebastianMode
- Dim ChewMode
- Dim RachaelMode
- Dim GaffMode
- Dim ReHit
- Dim MysterySpin
- Dim Spin
- Dim TempM1
- Dim TempM2
- Dim TempM3
- Dim TempM4
- Dim TempM5
- Dim TempM6
- Dim TempM7
- Dim TempM8
- Dim ModeActive
- Dim Photo
- Dim VK
- Dim TempGun
- Dim BattyMode
- Dim Purge
- Dim SnakeHit
- Dim Upgrade
- Dim BuyIn
- Dim BuyInActive
- Dim ShopActive
- Dim Floor
- Dim BumpHit
- Dim Time
- Dim SebastianHit
- Dim GaffHit
- Dim PrisHit
- Dim RachaelHit
- Dim TempS1
- Dim ZhoraHit
- Dim BSTime
- Dim RampValue
- Dim JPValue
- Dim RampHit
- Dim RangeValue
- Dim RangeComp
- Dim SSValue
- Dim TyrellHit
- Dim ChewHit
- Dim KillLeon
- Dim LeonHit
- Dim PFScore
- Dim PhotoMode
- Dim VKMode
- Dim BattyHit
- Dim VKValue
- Dim RangeTime
- Dim PhotoValue
- Dim AdjPhotoValue
- Dim AdjRangeValue
- Dim AdjVKValue
- Dim AdjRampValue
- Dim AdjSRTime
- Dim AdjSnakeHit
- Dim MissionHit
- Dim AdjMissionHit
- Dim Ass
- Dim BattyReady
- Dim SuperSpin
- Dim Combo
- Dim ComboVal
- Dim SuperRamps
- Dim SRTime,TopBR
- Dim Batty,SnakePlay
- Dim BumpVal,AdjBumpVal,AdjRangeTime
- Dim FadeTime,LBPlay,HSReset
- Dim Item1,Item2,Item3,Item4,Item5
- Dim Item6,Item7,Item8, Item9,Item10
- Dim ExitShop,SeeHUD
- DMD.AddFont 1, "dmd05x05p"
- DMD.AddFont 2, "dmd06x07p"
- DMD.AddFont 3, "dmd08x09p"
- DMD.AddFont 4, "dmd08x13p"
- DMD.AddFont 5, "dmd09x11po"
- DMD.AddFont 6, "dmd09x15po"
- DMD.AddFont 7, "dmd06x05p"
- DMD2.AddFont 1, "dmd05x05p"
- DMD2.AddFont 2, "dmd06x07p"
- DMD2.AddFont 3, "dmd08x09p"
- DMD2.AddFont 4, "dmd08x13p"
- DMD2.AddFont 5, "dmd09x11po"
- DMD2.AddFont 6, "dmd09x15po"
- DMD2.AddFont 7, "dmd06x05p"
- Function RandomNumber(ByVal max)
- RandomNumber = Int(max * Rnd + 1)
- End function
- Function FormatScore(num)
- Dim n, f, s
- n = CStr(num)
- f = ""
- do while len(n)>3
- if len(f)>0 then
- f = Right(n, 3) & "," & f
- else
- f = Right(n, 3)
- end if
- n = Left(n, Len(n)-3)
- loop
- if len(n)>0 then
- if len(f) > 0 then
- f = n & "," & f
- else
- f = n
- end if
- end if
- FormatScore = f
- End Function
- nvBallsPerGame = 3 ' 3 to 5 balls only (change with flippers during attract sequence)
- ' *********************************************************************
- ' ** **
- ' ** Future Pinball Defined Script Events **
- ' ** **
- ' *********************************************************************
- Sub FuturePinball_BeginPlay()
- Randomize
- set LastSwitchHit = LeftInLaneTrigger
- bOnTheFirstBall = FALSE
- bEnteringAHighScore = FALSE
- RangeTime = 20000
- RangeValue = 300
- RampValue = 200
- VKValue = 500
- PhotoValue = 800
- BumpVal = 70
- MissionHit = 500
- SnakeHit = 5
- SRTime = 13000
- BSTime = 12000
- AdjRangeTime = 20000
- AdjRangeValue = 500
- AdjRampValue = 200
- AdjVKValue = 1000
- AdjPhotoValue = 1500
- AdjMissionHit = 500
- AdjSnakeHit = 5
- AdjSRTime = 13000
- AdjBumpVal = 70
- BallsOnPlayfield = 0
- BallsInLock = 0
- Upgrade = 0
- LBPlay = TRUE
- EndOfGame()
- End Sub
- Sub FuturePinball_KeyPressed(ByVal KeyCode)
- If (KeyCode = 19) Then
- End If
- If (KeyCode = 20) Then
- End If
- If (KeyCode = 21) Then
- End If
- If (KeyCode = GetKeyCode(InsertCoinKey)) Then
- PlaySound "fx_CoinIn"
- nvCredits = nvCredits + 1
- If (nvCredits = 1) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_BladeRunner2", FALSE, 1, 500
- AttractTimer.Enabled = FALSE
- DMD.FlushQueue: DMD2.FlushQueue
- DMD.QueueText "[y1][xc][f6] ", deNone, 500, FALSE
- DMD2.QueueText "[yc][xc][f6] ", deNone, 500, FALSE
- DMD.QueueText "[y1][xc][f6]BLADE RUNNER", deNone, 1000, FALSE
- DMD2.QueueText "[yc][xc][f6]BLADE RUNNER", deNone, 1000, FALSE
- DMD.QueueText "[y2][xc][f3]BLADE RUNNER[y18][f7][b]PRESS START", deNone, 1000, TRUE
- DMD2.QueueText "[y3][xc][f3]BLADE RUNNER[y18][f3][b]PRESS START", deNone, 1000, TRUE
- End If
- If (fpGameInPlay = FALSE) Then
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 400
- End If
- End If
- If (KeyCode = GetKeyCode(Special1Key)) Then
- PlaySound "fx_Whoosh"
- Select Case SeeHUD
- Case 0:
- Overlay1.FadeOut
- DMD.FadeOut
- OverlayMovieHUD.FadeOut
- OverlayHUD2.FadeOut
- SeeHUD = 1
- Case 1:
- Overlay1.FadeIn
- DMD.FadeIn
- OverlayMovieHUD.FadeIn
- OverlayHUD2.FadeIn
- SeeHUD = 0
- End Select
- End If
- If (KeyCode = GetKeyCode(PlungerKey)) Then
- If (ShopActive = TRUE) Then
- If (ExitShop = TRUE) Then
- ExitShop = FALSE
- Upgrade = 0
- ShopActive = FALSE
- DelayEOG_Expired()
- Exit Sub
- End If
- OverlayHUD2.Frame 1: OverlayMovie2.Frame 1
- OverlayMovieHUD.Frame 599: OverlayMovie.Frame 599
- Select Case Upgrade
- Case 1:
- 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...
- PlayMusic 2, "vo_Smart2", FALSE, 1, 600
- DMD.QueueText "[yc][xc][f5][bf]+ BALL SAVER", deNone, 1000, FALSE
- DMD.QueueText "[f7][y2]BALL SAVER[y18]TIMER + 3 SECS", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f5][bf]+ BALL SAVER", deNone, 1000, FALSE
- DMD2.QueueText "[f3][y3]BALL SAVER[y18]TIMER + 3 SECS", deNone, 1000, TRUE
- BSTime = 15000: DelayEOG.Set TRUE, 3000
- OverlayMovie2.Frame 334: OverlayHUD2.Frame 334
- Item1 = 1
- Case 2:
- 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...
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ThankYou", FALSE, 1, 600
- DMD.QueueText "[yc][xc][f5][bf]+ RANGE VALUE", deNone, 1000, FALSE
- DMD.QueueText "[f7][y2]FIRING RANGE[y18]TARGETS INCREASED", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f5][bf]+ RANGE VALUE", deNone, 1000, FALSE
- DMD2.QueueText "[f3][y3]FIRING RANGE[y18]TARGETS INCREASED", deNone, 1000, TRUE
- AdjRangeValue = 750: DelayEOG.Set TRUE, 3000
- OverlayMovie2.Frame 336: OverlayHUD2.Frame 336
- Item2 = 1
- Case 3:
- 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...
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ThankYou", FALSE, 1, 600
- DMD.QueueText "[yc][xc][f5][bf]+ RAMP VALUE", deNone, 1000, FALSE
- DMD.QueueText "[f7][y2]SUPER RAMP[y18]VALUE INCREASED", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f5][bf]+ RAMP VALUE", deNone, 1000, FALSE
- DMD2.QueueText "[f3][y3]SUPER RAMP[y18]VALUE INCREASED", deNone, 1000, TRUE
- AdjRampValue = 350: DelayEOG.Set TRUE, 3000
- OverlayMovie2.Frame 337: OverlayHUD2.Frame 337
- Item3 = 1
- Case 4:
- 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...
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ThankYou", FALSE, 1, 600
- DMD.QueueText "[yc][xc][f5][bf]+ VK VALUE", deNone, 1000, FALSE
- DMD.QueueText "[f7][y2]VOIGT-KAMPFF[y18]TARGETS INCREASED", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f5][bf]+ VK VALUE", deNone, 1000, FALSE
- DMD2.QueueText "[f3][y3]VOIGT-KAMPFF[y18]TARGETS INCREASED", deNone, 1000, TRUE
- AdjVKValue = 1500: DelayEOG.Set TRUE, 3000
- OverlayMovie2.Frame 338: OverlayHUD2.Frame 338
- Item4 = 1
- Case 5:
- 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...
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ThankYou", FALSE, 1, 600
- DMD.QueueText "[yc][xc][f5][bf]+ PHOTO VALUE", deNone, 1000, FALSE
- DMD.QueueText "[f7][y2]PHOTO SCANNER[y18]TARGETS INCREASED", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f5][bf]+ PHOTO VALUE", deNone, 1000, FALSE
- DMD2.QueueText "[f3][y3]PHOTO SCANNER[y18]TARGETS INCREASED", deNone, 1000, TRUE
- AdjPhotoValue = 2250: DelayEOG.Set TRUE, 3000
- OverlayMovie2.Frame 339: OverlayHUD2.Frame 339
- Item5 = 1
- Case 6:
- 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...
- PlayMusic 2, "vo_Smart2", FALSE, 1, 600
- DMD.QueueText "[yc][xc][f5][bf]+ MISSON VALUE", deNone, 1000, FALSE
- DMD.QueueText "[f7][y2]MISSION SHOT[y18]VALUE INCREASED", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f5][bf]+ MISSON VALUE", deNone, 1000, FALSE
- DMD2.QueueText "[f3][y3]MISSION SHOT[y18]VALUE INCREASED", deNone, 1000, TRUE
- AdjMissionHit = 750: DelayEOG.Set TRUE, 3000
- OverlayMovie2.Frame 340: OverlayHUD2.Frame 340
- Item6 = 1
- Case 7:
- 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...
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ThankYou", FALSE, 1, 600
- DMD.Text = "[yc][xc][f5][bf]+ BUMPER VALUE"
- DMD2.Text = "[yc][xc][f3][bf]+ BUMPER VALUE"
- AdjBumpVal = 100
- DelayEOG.Set TRUE, 1500
- OverlayMovie2.Frame 341: OverlayHUD2.Frame 341
- Item7 = 1
- Case 8:
- 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...
- PlayMusic 2, "vo_Smart2", FALSE, 1, 600
- DMD.QueueText "[yc][xc][f5][bf]+ MORE TIME", deNone, 1000, FALSE
- DMD2.QueueText "[f7][y2]RANGE & S/RAMP[y18]TIMERS EXTENDED", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f5][bf]+ MORE TIME", deNone, 1000, FALSE
- DMD2.QueueText "[f3][y3]RANGE & S/RAMP[y18]TIMERS EXTENDED", deNone, 1000, TRUE
- AdjRangeTime = 25000: AdjSRTime = 15000: DelayEOG.Set TRUE, 3000
- OverlayMovie2.Frame 342: OverlayHUD2.Frame 342
- Item8 = 1
- Case 9:
- 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...
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Special", FALSE, 1, 500
- DMD.QueueText "[yc][xc][f5][bf]MYSTERY HITS", deNone, 1000, FALSE
- DMD.QueueText "[f7][y2]MYSTERY READY[y18]WITH 2 LESS HITS", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f5][bf]MYSTERY HITS", deNone, 1000, FALSE
- DMD2.QueueText "[f3][y3]MYSTERY READY[y18]WITH 2 LESS HITS", deNone, 1000, TRUE
- DelayEOG.Set TRUE, 3000
- AdjSnakeHit = 3
- OverlayMovie2.Frame 343: OverlayHUD2.Frame 343
- Item9 = 1
- Case 10:
- '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...
- JoiReady = TRUE
- PlayMusic 2, "vo_JoiThankyou", FALSE, 1, 500
- DMD.QueueText "[yc][xc][f5][bf]JOI COMPANION", deNone, 1000, FALSE
- DMD.QueueText "[f7][y2]PRESS PLUNGER[y18]KEY TO ACTIVATE", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f5][bf]JOI COMPANION", deNone, 1000, FALSE
- DMD2.QueueText "[f3][y3]PRESS PLUNGER[y18]KEY TO ACTIVATE", deNone, 1000, TRUE
- DelayEOG.Set TRUE, 3000
- OverlayMovie2.Frame 345: OverlayHUD2.Frame 345
- 'Item10 = 1
- Case 11: ' a new game will start, exactly where the last game finished...
- DMD.Text ="[y2][xc][f3]NEW GAME[y18][f7]CONTINUE"
- DMD2.Text ="[y3][xc][f3]NEW GAME[y18][f7]CONTINUE"
- TrackPlayed = 0
- PlayMusic 1, "Music_BRTrack11", FALSE, 0.6, 1200
- PlayMusic 2, "vo_GoodLuck"
- nvScore(CurrentPlayer) = 0
- BallsRemaining(CurrentPlayer) = nvBallsPerGame
- IgnoreHit = TRUE: DelayEOB.Set TRUE, 1500
- TopBR = FALSE
- OverlayMovie2.Frame 346: OverlayHUD2.Frame 346
- Case else:
- QuoteBusy = TRUE: PlayMusic 2, "vo_NoChoice"
- DMD.Text = "[yc][xc][f5][bf]BUY SOMETHING"
- DMD2.Text = "[yc][xc][f3][bf]BUY SOMETHING"
- UpgradeTimer.Set TRUE, 1800
- End Select
- ShopActive = FALSE: UpgradeTimer.Enabled = FALSE
- PlaySound "fx_7"
- End If
- If (fpGameInPlay = FALSE) Then
- If (JoiOn = FALSE) and (JoiReady = TRUE) Then
- JoiReady = FALSE
- StopMusic 3
- BumpAttract.Enabled = FALSE
- AttractTimer.Enabled = FALSE
- If (MusicResume.Enabled = FALSE) Then EffectMusic 1, FadeOutAndPause, 0, 100: MusicResume.Set TRUE, 3000
- EffectMusic 5, FadeOutAndStop, 0, 500
- PlayMusic 4, "fx_JoiOn": JoiOn = TRUE
- CokeSign.UpdateInterval = 66
- JoiPlay = JoiPlay + 1
- Select Case JoiPlay
- Case 1: PlayMusic 2, "vo_JoiHello", FALSE, 1, 2200: CokeSign.Frame 179, 247: SignOffTimer.Set TRUE, 4700
- Case 2: PlayMusic 2, "vo_JoiLonely", FALSE, 1, 1000: CokeSign.Frame 248, 295: SignOffTimer.Set TRUE, 3200
- Case 3: PlayMusic 2, "vo_JoiGoodJoe", FALSE, 1, 1000: CokeSign.Frame 248, 295: SignOffTimer.Set TRUE, 3200
- Case else: PlayMusic 2, "vo_JoiSigh", FALSE, 1, 1500: SignOffTimer_Expired()
- End Select
- DMD.Text = "[yc][xc][f6]JOI ON"
- DMD2.Text = "[yc][xc][f6]JOI ON"
- Else
- If (MusicResume.Enabled = FALSE) Then EffectMusic 1, FadeOutAndPause, 0, 100: MusicResume.Set TRUE, 2000
- EffectMusic 4, FadeOutAndStop, 0, 500
- StopMusic 2
- PlayMusic 5, "fx_JoiOff": JoiOn = FALSE
- DMD.Text = "[yc][xc][f6]JOI OFF"
- DMD2.Text = "[yc][xc][f6]JOI OFF"
- End If
- Exit Sub
- End If
- If (BallsOnPlayfield = 0) Then Exit Sub
- Plunger.SolenoidPulse
- StartButtonBulb.FlashForMs 200, 50, BulbOff
- PlaySound "fx_GunShot2"
- dof 109,2
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 400
- LightSeqPF.Play SeqBlinking, , 2, 100
- End If
- If (fpGameInPlay = TRUE) Then
- If (fpTilted = FALSE) Then
- If (KeyCode = GetKeyCode(LeftFlipperKey)) Then
- If (ShopActive = TRUE) Then
- ExitShop = FALSE
- Upgrade = Upgrade - 1: PlaySound "fx_18"
- OverlayHUD2.Frame 1: OverlayMovie2.Frame 1
- OverlayMovieHUD.Frame 599: OverlayMovie.Frame 599
- If (Upgrade =<0) Then Upgrade = 1
- Select Case Upgrade
- Case 1:
- If (Item1 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 334: OverlayHUD2.Frame 334
- Else
- DMD.Text = "[y2][xc][f3]$5,000[y18][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$5,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 251: OverlayMovieHUD.Frame 251 ' vid phone (ball saver + 3)
- End If
- Case 2:
- 'If (nvScore(CurrentPlayer) < 12000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
- If (Item2 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 336: OverlayHUD2.Frame 336
- Else
- DMD.Text = "[y2][xc][f3]$12,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$12,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 243: OverlayMovieHUD.Frame 243 ' gun (firing range)
- End If
- Case 3:
- 'If (nvScore(CurrentPlayer) < 19000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
- If (Item3 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 337: OverlayHUD2.Frame 337
- Else
- DMD.Text = "[y2][xc][f3]$19,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$19,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 244: OverlayMovieHUD.Frame 244 ' spinner (ramps)
- End If
- Case 4:
- 'If (nvScore(CurrentPlayer) < 26000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
- If (Item4 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 338: OverlayHUD2.Frame 338 ' vk
- Else
- DMD.Text = "[y2][xc][f3]$26,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$26,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 245: OverlayMovieHUD.Frame 245 ' vk
- End If
- Case 5:
- 'If (nvScore(CurrentPlayer) < 33000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
- If (Item5 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 339: OverlayHUD2.Frame 339
- Else
- DMD.Text = "[y2][xc][f3]$33,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$33,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 249: OverlayMovieHUD.Frame 249' photo
- End If
- Case 6:
- 'If (nvScore(CurrentPlayer) < 40000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
- If (Item6 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 340: OverlayHUD2.Frame 340
- Else
- DMD.Text = "[y2][xc][f3]$40,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$40,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 246: OverlayMovieHUD.Frame 246 ' mission (shots)
- End If
- Case 7:
- 'If (nvScore(CurrentPlayer) < 47000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
- If (Item7 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 341: OverlayHUD2.Frame 341
- Else
- DMD.Text = "[y2][xc][f3]$47,000[y18][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$47,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 879: OverlayMovieHUD.Frame 879 ' general ted (pops)
- End If
- Case 8:
- 'If (nvScore(CurrentPlayer) < 54000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
- If (Item8 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 342: OverlayHUD2.Frame 342
- Else
- DMD.Text = "[y2][xc][f3]$54,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$54,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 250: OverlayMovieHUD.Frame 250 ' unicorn (more time)
- End If
- Case 9:
- 'If (nvScore(CurrentPlayer) < 61000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
- If (Item9 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 343: OverlayHUD2.Frame 343
- Else
- DMD.Text = "[y2][xc][f3]$61,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$61,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 248: OverlayMovieHUD.Frame 248 ' drink (reduced mystery hits)
- End If
- Case 10:
- 'If (nvScore(CurrentPlayer) < 68000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
- DMD.Text = "[y2][xc][f3]$68,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$68,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 886: OverlayMovieHUD.Frame 886 ' Joi
- Case 11:
- 'If (nvScore(CurrentPlayer) < 100000) Then OverlayMovie2.Frame 344: OverlayHUD2.Frame 344: ExitShop = TRUE: Exit Sub
- DMD.Text = "[y2][xc][f3]$100,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$100,000[y18][f2]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 822: OverlayMovieHUD.Frame 822 ' token (continue game)
- End Select
- Exit Sub
- End If
- If (BuyInActive = TRUE) Then
- BuyInActive = FALSE: NoShop = TRUE
- PlaySound "fx_Hit9"
- StopMusic 4
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_TransferComplete", FALSE, 1, 200
- Case 2: PlayMusic 2, "vo_YoudSayThat", FALSE, 1, 200
- End Select
- MusicResume.Set TRUE, 1000
- nvScore(CurrentPlayer) = nvScore(CurrentPlayer) - 30000
- DMD.QueueText "[yc][xc][f5]YES", deNone, 600, FALSE
- DMD.QueueText "[y2][xc][f3][b]PAYMENT ACCEPTED[/b][y18][f3]NEW SCORE: $ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1), deNone, 1800, FALSE
- DMD.UpdateInterval = 5
- DMD.QueueText "[y2][xc][f3]UPGRADE SHOP[/b][y18][f7]IS NOW CLOSED", deScrollIn, 1300, TRUE, "fx_Hit2"
- DMD2.QueueText "[yc][xc][f5]YES", deNone, 600, FALSE
- DMD2.QueueText "[y3][xc][f3][b]PAYMENT ACCEPTED[/b][y18][f3]NEW SCORE: $ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1), deNone, 1800, FALSE
- DMD2.UpdateInterval = 5
- DMD2.QueueText "[y3][xc][f3]UPGRADE SHOP[/b][y18][f7]IS NOW CLOSED", deScrollIn, 1300, TRUE, "fx_Hit2"
- BallsRemaining(CurrentPlayer) = 1
- IgnoreHit = TRUE: DelayEOB.Set TRUE, 3800
- Upgrade = 0
- End If
- If (BallsOnPlayfield = 0) Then Exit Sub
- TempL1 = LightRO1.State
- LightRO1.State = LightRO2.State
- LightRO2.State = TempL1
- TempS1 = LightSAVE1.State
- LightSAVE1.State = LightSAVE2.State
- LightSAVE2.State = LightSAVE3.State
- LightSAVE3.State = LightSAVE4.State
- LightSAVE4.State = TempS1
- LeftFlipper.SolenoidOn
- dof 101,1
- End If
- If (KeyCode = GetKeyCode(RightFlipperKey)) Then
- If (ShopActive = TRUE) Then
- If (ExitShop = FALSE) Then
- Upgrade = Upgrade + 1: PlaySound "fx_18"
- OverlayHUD2.Frame 1: OverlayMovie2.Frame 1
- OverlayMovieHUD.Frame 599: OverlayMovie.Frame 599
- End If
- If (Upgrade >11) Then Upgrade = 11
- Select Case Upgrade
- Case 1:
- If (Item1 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 334: OverlayHUD2.Frame 334
- Else
- DMD.Text = "[y3][xc][f3]$5,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$5,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 251: OverlayMovieHUD.Frame 251 ' vid phone (ball saver + 3)
- End If
- Case 2:
- If (nvScore(CurrentPlayer) < 12000) Then ShopExit(): Exit Sub
- If (Item2 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 336: OverlayHUD2.Frame 336
- Else
- DMD.Text = "[y3][xc][f3]$12,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$12,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 243: OverlayMovieHUD.Frame 243 ' gun (firing range)
- End If
- Case 3:
- If (nvScore(CurrentPlayer) < 19000) Then ShopExit(): Exit Sub
- If (Item3 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 337: OverlayHUD2.Frame 337
- Else
- DMD.Text = "[y3][xc][f3]$19,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$19,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 244: OverlayMovieHUD.Frame 244 ' spinner (ramps)
- End If
- Case 4:
- If (nvScore(CurrentPlayer) < 26000) Then ShopExit(): Exit Sub
- If (Item4 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 338: OverlayHUD2.Frame 338 ' vk
- Else
- DMD.Text = "[y3][xc][f3]$26,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$26,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 245: OverlayMovieHUD.Frame 245 ' vk
- End If
- Case 5:
- If (nvScore(CurrentPlayer) < 33000) Then ShopExit(): Exit Sub
- If (Item5 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 339: OverlayHUD2.Frame 339
- Else
- DMD.Text = "[y3][xc][f3]$33,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$33,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 249: OverlayMovieHUD.Frame 249' photo
- End If
- Case 6:
- If (nvScore(CurrentPlayer) < 40000) Then ShopExit(): Exit Sub
- If (Item6 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 340: OverlayHUD2.Frame 340
- Else
- DMD.Text = "[y3][xc][f3]$40,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$40,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 246: OverlayMovieHUD.Frame 246 ' mission (shots)
- End If
- Case 7:
- If (nvScore(CurrentPlayer) < 47000) Then ShopExit(): Exit Sub
- If (Item7 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 341: OverlayHUD2.Frame 341
- Else
- DMD.Text = "[y3][xc][f3]$47,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$47,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 879: OverlayMovieHUD.Frame 879 ' general ted (pops)
- End If
- Case 8:
- If (nvScore(CurrentPlayer) < 54000) Then ShopExit(): Exit Sub
- If (Item8 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 342: OverlayHUD2.Frame 342
- Else
- DMD.Text = "[y3][xc][f3]$54,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$54,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 250: OverlayMovieHUD.Frame 250 ' unicorn (more time)
- End If
- Case 9:
- If (nvScore(CurrentPlayer) < 61000) Then ShopExit(): Exit Sub
- If (Item9 = 1) Then
- DMD.Text = "[yc][xc][f6]SOLD"
- DMD2.Text = "[yc][xc][f6]SOLD"
- OverlayMovie2.Frame 343: OverlayHUD2.Frame 343
- Else
- DMD.Text = "[y3][xc][f3]$61,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$61,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 248: OverlayMovieHUD.Frame 248 ' drink (reduced mystery hits)
- End If
- Case 10:
- If (nvScore(CurrentPlayer) < 68000) Then ShopExit(): Exit Sub
- DMD.Text = "[y3][xc][f3]$68,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$68,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 886: OverlayMovieHUD.Frame 886 ' Joi
- Case 11:
- If (nvScore(CurrentPlayer) < 100000) Then ShopExit(): Exit Sub
- DMD.Text = "[y3][xc][f3]$100,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD2.Text = "[y3][xc][f3]$100,000[y18][f3]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 822: OverlayMovieHUD.Frame 822 ' token (new game cont.)
- End Select
- Exit Sub
- End If
- If (BuyInActive = TRUE) Then
- BuyInActive = FALSE
- PlaySound "fx_Hit10"
- DMD.Text = "[y1][xc][f6][bf]NO"
- DMD2.Text = "[yc][xc][f6][bf]NO"
- StopMusic 4
- PlayMusic 2, "vo_KnewIt", FALSE, 1, 200
- DelayEOB.Set TRUE, 2000
- End If
- If (BallsOnPlayfield = 0) Then Exit Sub
- TempL1 = LightRO2.State
- LightRO2.State = LightRO1.State
- LightRO1.State = TempL1
- TempS1 = LightSAVE4.State
- LightSAVE4.State = LightSAVE3.State
- LightSAVE3.State = LightSAVE2.State
- LightSAVE2.State = LightSAVE1.State
- LightSAVE1.State = TempS1
- RightFlipper.SolenoidOn
- dof 102,1
- End If
- If (KeyCode = GetKeyCode(StartGameKey)) Then
- If ((PlayersPlayingGame < constMaxPlayers) And (bOnTheFirstBall = TRUE)) Then
- If (nvCredits > 0) then
- PlayersPlayingGame = PlayersPlayingGame + 1
- nvTotalGamesPlayed = nvTotalGamesPlayed + 1
- nvCredits = nvCredits - 1
- Else
- PlaySound "fx_7"
- End If
- End If
- End If
- End If
- Else
- If (KeyCode = GetKeyCode(LeftFlipperKey)) Then
- If (HSReset = TRUE) Then
- HSReset = FALSE
- PlaySound "fx_7"
- DMD.QueueText "[yc][xc][f6][bf]HIGHSCORE RESET", deNone, 1200, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]HIGHSCORE RESET", deNone, 1200, FALSE
- DMD.QueueText "[yc][xc][f6]GAME OVER", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]GAME OVER", deNone, 1000, TRUE
- dim i
- for i = 1 to 10
- nvHighScore(i) = 0
- next
- Exit Sub
- End If
- If (nvBallsPerGame < 4) Then nvBallsPerGame = 3: PlaySound "fx_25": Exit Sub
- PlaySound "fx_18"
- nvBallsPerGame = nvBallsPerGame - 1
- DMD.Text = "[yc][xc][f6]BALLS = " & nvBallsPerGame
- DMD2.Text = "[yc][xc][f6]BALLS = " & nvBallsPerGame
- End If
- If (KeyCode = GetKeyCode(RightFlipperKey)) Then
- If (HSReset = TRUE) Then
- HSReset = FALSE
- PlaySound "fx_7"
- DMD.QueueText "[yc][xc][f6][bf]RESET CANCELLED", deNone, 1200, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]RESET CANCELLED", deNone, 1200, FALSE
- DMD.QueueText "[yc][xc][f6]GAME OVER", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]GAME OVER", deNone, 1000, TRUE
- Exit Sub
- End If
- If (nvBallsPerGame > 4) Then
- nvBallsPerGame = 5: PlaySound "fx_25": HSReset = TRUE
- DMD.Text = "[yc][xc][f3]HIGHSCORE RESET?[y18][f3]< YES NO >"
- DMD2.Text = "[y3][xc][f3]HIGHSCORE RESET?[y18][f3]< YES NO >"
- Exit Sub
- End If
- PlaySound "fx_18"
- nvBallsPerGame = nvBallsPerGame + 1
- DMD.Text = "[yc][xc][f6]BALLS = " & nvBallsPerGame
- DMD2.Text = "[yc][xc][f6]BALLS = " & nvBallsPerGame
- End If
- If (KeyCode = GetKeyCode(StartGameKey)) Then
- If (nvCredits > 0) Then
- If (BallsOnPlayfield = 0) Then
- If (nvBallsPerGame >6) Then PlaySound "fx_25": Exit Sub
- nvCredits = nvCredits - 1
- ResetForNewGame()
- Else
- DMD.Text = "[y1][xc][f3]NO CREDITS[y18][f7][b]INSERT COIN"
- DMD2.Text = "[y3][xc][f3]NO CREDITS[y18][f7][b]INSERT COIN"
- PlaySound "fx_7"
- End If
- End If
- End If
- End If
- End Sub
- Sub ShopExit()
- DMD.Text = "[y3][xc][f3]EXIT SHOP?[y18][f3]PLUNGER TO CONFIRM"
- DMD2.Text = "[y3][xc][f3]EXIT SHOP?[y18][f3]PLUNGER TO CONFIRM"
- OverlayMovie2.Frame 344: OverlayHUD2.Frame 344
- ExitShop = TRUE
- End Sub
- Dim JoiOn,JoiPlay,JoiReady
- Sub FuturePinball_KeyReleased(ByVal KeyCode)
- If (KeyCode = GetKeyCode(PlungerKey)) Then
- End If
- If (fpGameInPlay = TRUE) Then
- If (fpTilted = FALSE) Then
- If (KeyCode = GetKeyCode(LeftFlipperKey)) Then
- LeftFlipper.SolenoidOff
- dof 101,0
- End If
- If (KeyCode = GetKeyCode(RightFlipperKey)) Then
- RightFlipper.SolenoidOff
- dof 102,0
- End If
- End If
- End If
- End Sub
- Sub FuturePinball_Paused()
- PlayMusic 7, "Music_Joi", TRUE, 0.8
- End Sub
- Sub FuturePinball_UnPaused()
- StopMusic 7
- End Sub
- Sub FuturePinball_TiltWarning(ByVal Warnings)
- PlaySound "fx_Nudge": PlaySound "fx_Fizz"
- LightSeqPF.StopPlay
- LightSeqPF.Play SeqBlinking, , 2, 75
- Select Case Warnings
- Case 2:
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(4)
- Case 1: PlayMusic 2, "vo_Prove"
- Case 2: PlayMusic 2, "vo_ChewTalk"
- Case 3: PlayMusic 2, "vo_ChewTalk2"
- Case 4:
- Select Case RandomNumber(3)
- Case 1: PlayMusic 2, "vo_WhatYouDo"
- Case 2: PlayMusic 2, "vo_AllowThat"
- Case 3: PlayMusic 2, "vo_GoingOn"
- End Select
- End Select
- End If
- Case 4:
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- If (BR2049 = FALSE) Then EffectMusic 1, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 1000
- PlayMusic 2, "vo_AssHole"
- End If
- End Select
- End Sub
- Sub FuturePinball_Tilted()
- PlaySound "Tilt"
- DMD.Text = "[yc][xc][f6][b]T I L T"
- DMD2.Text = "[yc][xc][f6][b]T I L T"
- QuoteBusy = FALSE
- TiltCheck = 0
- LightSeqPF.StopPlay
- AllPlasOff()
- LightSeqPF.Play SeqAllOff
- MusicResume.Enabled = FALSE
- StopMusic 5: StopMusic 6
- EffectMusic 1, FadeOutAndPause, 0, 0
- PlayMusic 2, "vo_Stop"
- OverlayMovie.Frame 230: OverlayMovieHUD.Frame 230
- BallStopper.Collidable = FALSE
- HoloNeon1.Frame 1
- HoloNeon4.Frame 1
- HoloNeon7.Frame 1
- HoloNeon6.Frame 1
- NeonHotel.Frame 1
- CokeSign.Frame 1
- AtariSign.Frame 1
- LightElevator.State = BulbOff
- If (LeonMode = TRUE) Then
- LeonMode = FALSE: KillLeon = FALSE
- LightLeonMain.State = BulbOff
- End If
- If (ZhoraMode = TRUE) Then
- ZhoraMode = FALSE
- LightZhoraMain.State = BulbOff
- End If
- If (PrisMode = TRUE) Then
- PrisMode = FALSE
- LightPrisMain.State = BulbOff
- End If
- If (TyrellMode = TRUE) Then
- TyrellMode = FALSE
- LightTyrellMain.State = BulbOff
- End If
- If (SebastianMode = TRUE) Then
- SebastianMode = FALSE
- LightSebastianMain.State = BulbOff
- End If
- If (ChewMode = TRUE) Then
- ChewMode = FALSE
- LightChewMain.State = BulbOff
- End If
- If (RachaelMode = TRUE) Then
- RachaelMode = FALSE
- LightRachaelMain.State = BulbOff
- End If
- If (GaffMode = TRUE) Then
- GaffMode = FALSE
- LightGaffMain.State = BulbOff
- End If
- If (ShootingMode = TRUE) Then
- ShootingMode = FALSE
- LightRange.State = BulbOff
- End If
- If (VKMode = TRUE) Then
- VKMode = FALSE
- LightVK.State = BulbOff
- End If
- If (PhotoMode = TRUE) Then
- PhotoMode = FALSE
- LightPhoto.State = BulbOff
- End If
- If (BattyMode = TRUE) Then
- BattyMode = FALSE
- ' game will now reset...
- LightLeonMain.Set BulbOff, "10", 150
- LightZhoraMain.Set BulbOff, "10", 150
- LightPrisMain.Set BulbOff, "10", 150
- LightTyrellMain.Set BulbOff, "10", 150
- LightSebastianMain.Set BulbOff,"10", 150
- LightChewMain.Set BulbOff, "10", 150
- LightRachaelMain.Set BulbOff, "10", 150
- LightGaffMain.Set BulbOff, "10", 150
- RachaelHit = 0
- SebastianHit = 0
- GaffHit = 0
- PrisHit = 0
- ZhoraHit = 0
- LeonHit = 0
- TyrellHit = 0
- ChewHit = 0
- LightRing1.State = BulbOff
- LightRing2.State = BulbOff
- LightRing3.State = BulbOff
- LightRing4.State = BulbOff
- LightRing5.State = BulbOff
- LightRing6.State = BulbOff
- LightRing7.State = BulbOff
- LightRing8.State = BulbOff
- End If
- ModeActive = FALSE
- TakeOffTimer.Enabled = FALSE
- LightPurge1.State = BulbOff
- LightPurge2.State = BulbOff
- RangeTimer.Enabled = FALSE
- If (ModeActive = TRUE) Then
- ModeActive = FALSE
- MissionHit = AdjMissionHit
- End If
- RedOff()
- BR2049 = FALSE
- SuperRamps = FALSE
- SuperRampsTimer.Enabled = FALSE
- LeftFlipper.SolenoidOff
- RightFlipper.SolenoidOff
- dof 101,0
- dof 102,0
- TiltRecoveryTimer.Set TRUE, 4500
- End Sub
- Sub TiltRecoveryTimer_Expired()
- TiltRecoveryTimer.Enabled = FALSE
- If (BallsOnPlayfield = 0) Then
- BallStopper.Collidable = TRUE
- HoloNeon1.Frame 3
- HoloNeon4.Frame 10
- HoloNeon7.Frame 15
- HoloNeon6.Frame 11
- NeonHotel.Frame 14
- CokeSign.Frame 28
- AtariSign.Frame 32
- EffectMusic 1, PlayAndFadeIn, 0.6, 100
- AllPlasOn()
- LightSeqPF.StopPlay
- QuoteBusy = TRUE: PlayMusic 2, "vo_DataRes"
- EndOfBall()
- Else
- TiltCheck = TiltCheck + 1
- Select Case TiltCheck
- Case 1:
- PopUp1.SolenoidOff
- PlaySound "fx_DropDownR", 0.4
- Popup1.SolenoidPulse(2000)
- DiverterPush.SolenoidPulse(2000): PlaySound "fx_Punch2"
- TiltRecoveryTimer.Set TRUE, 4000
- Case 2:
- PlayMusic 2, "vo_NotHelping"
- PlaySound "fx_ScoopExit"
- KickerBump.SolenoidPulse
- TiltRecoveryTimer.Set TRUE, 3000
- DMD.Text = "[yc][xc][f6]SEARCHING..."
- DMD2.Text = "[yc][xc][f6]SEARCHING..."
- Case 3:
- TiltRecoveryTimer.Set TRUE, 400
- Bumper1.SolenoidPulse
- Case 4:
- TiltRecoveryTimer.Set TRUE, 400
- Bumper2.SolenoidPulse
- Case 5:
- Bumper3.SolenoidPulse
- TiltRecoveryTimer.Set TRUE, 3000
- Case 6:
- DMD.Text = "[y3][xc][f6][b]REPLACING..."
- DMD2.Text = "[y3][xc][f6][b]REPLACING..."
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_GoingOn"
- BallsOnPlayfield = 0
- TiltRecoveryTimer.Set TRUE, 1500
- End Select
- End If
- End Sub
- Sub FuturePinball_MusicFinished(ByVal Channel)
- Select Case Channel
- Case 1:
- TrackPlayed = TrackPlayed + 1
- Select Case TrackPlayed
- Case 1:
- Select Case RandomNumber(4)
- Case 1,4: PlayMusic 1, "Music_BRTrack2", FALSE, 0.6
- Case 2: PlayMusic 1, "Music_BRTrack7", FALSE, 0.6
- Case 3: PlayMusic 1, "Music_BRTrack11", FALSE, 0.6
- End Select
- Case 2: PlayMusic 1, "Music_BRTrack4", FALSE, 0.6
- Case 3: PlayMusic 1, "Music_BRTrack5", FALSE, 0.6
- Case 4: PlayMusic 1, "Music_BRTrack6", FALSE, 0.6
- Case 5: PlayMusic 1, "Music_BRTrack9", FALSE, 0.6: TrackPlayed = 0
- End Select
- Case 2: QuoteTimer.Enabled = FALSE: QuoteBusy = FALSE
- End Select
- End Sub
- Sub FuturePinball_NameEntryComplete(ByVal Position, ByVal Special)
- If (Position = 1) Then
- AllPlasOff()
- LightSeqPF.Play SeqBlinking, ,12, 200
- WhiteFlash()
- FlashersOff.Set TRUE, 7100
- FlasherL.FlashForMs 7000, 200, BulbOff
- Flasher1.FlashForMs 7000, 200, BulbOff
- FlasherM.FlashForMs 7000, 200, BulbOff
- PlayMusic 1, "Music_HS", FALSE, 0.7
- PlayMusic 2, "vo_TopPerformance", FALSE, 1, 1000
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 800, FALSE
- DMD.QueueText "[f7][y1]WELL PLAYED[f3][y7]HIGHEST SCORE", deFlip, 3000, FALSE
- DMD.QueueText "[f7][y1]YOU ARE A[f3][y7]BLADE RUNNER", deScrollIn, 1000, TRUE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deNone, 800, FALSE
- DMD2.QueueText "[f7][y3]WELL PLAYED[f3][y18]HIGHEST SCORE", deFlip, 3000, FALSE
- DMD2.QueueText "[f7][y3]YOU ARE A[f3][y18]BLADE RUNNER", deScrollIn, 1000, TRUE
- TopBR = TRUE: GameEndDelay.Set TRUE, 7500
- Exit Sub
- End If
- If (Position = 2) Then
- If (JoiOn = TRUE) Then
- PlayMusic 2, "vo_JoiGoodJoe2": CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
- Else
- PlayMusic 2, "vo_Impressed"
- End If
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 800, FALSE
- DMD.QueueText "[f7][y1]WELL PLAYED[f3][y7]2ND POSITION", deFlip, 2000, FALSE
- DMD.QueueText "[yc][xc][f5][b]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deFlip, 2000, TRUE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 55, FALSE
- DMD2.QueueText "[yc][xc][f5]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deNone, 800, FALSE
- DMD2.QueueText "[f7][y3]WELL PLAYED[f3][y18]2ND POSITION", deFlip, 2000, FALSE
- DMD2.QueueText "[yc][xc][f5][b]"& left(nvHighScore2Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deFlip, 2000, TRUE
- GameEndDelay.Set TRUE, 4000
- Exit Sub
- End If
- If (Position = 3) Then
- If (JoiOn = TRUE) Then
- PlayMusic 2, "vo_JoiGoodJoe2": CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
- Else
- PlayMusic 2, "vo_Impressed"
- End If
- 'PlayMusic 2, "vo_Revel"
- DMD.QueueText "[f7][y3]WELL PLAYED[f3][y7]3RD POSITION", deFlip, 2000, FALSE
- DMD.QueueText "[yc][xc][f5][b]"& left(nvHighScore3Name,3) & " - " & FormatNumber(nvHighScore3, 0, -1, 0, -1), deFlip, 2000, TRUE
- DMD2.QueueText "[f7][y3]WELL PLAYED[f3][y18]3RD POSITION", deFlip, 2000, FALSE
- DMD2.QueueText "[yc][xc][f5][b]"& left(nvHighScore3Name,3) & " - " & FormatNumber(nvHighScore3, 0, -1, 0, -1), deFlip, 2000, TRUE
- GameEndDelay.Set TRUE, 4000
- Exit Sub
- End If
- If (Position > 9) Then
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_BadOne"
- Case 2: PlayMusic 2, "vo_Quit"
- End Select
- DMD.Text = "[yc][xc][f5][b]PLAY BETTER"
- DMD2.Text = "[yc][xc][f5][b]PLAY BETTER"
- GameEndDelay.Set TRUE, 4000
- Exit Sub
- End If
- If (Special <> 0) Then
- End If
- bEnteringAHighScore = FALSE
- EndOfBallComplete()
- End Sub
- Sub GameEndDelay_Expired()
- GameEndDelay.Enabled = FALSE
- bEnteringAHighScore = FALSE
- EndOfBallComplete()
- End Sub
- ' **************************************************************
- ' ** **
- ' ** GAME IN PLAY FUNCTIONS **
- ' ** **
- ' **************************************************************
- Sub ResetForNewGame()
- Dim i
- InitTrakedSoundBalls()
- BGReflect.Render = TRUE
- BumpAttract.Enabled = FALSE
- AttractTimer.Enabled = FALSE
- MusicResume.Enabled = FALSE
- ScoopyDoo = 0
- QuoteBusy = FALSE
- PlayMusic 2: StopMusic 3
- AllPlasOn()
- BeginGame()
- SignOffTimer.Enabled = FALSE
- nvTotalGamesPlayed = nvTotalGamesPlayed + 1
- CurrentPlayer = 1
- PlayersPlayingGame = 1
- bOnTheFirstBall = TRUE
- SpinLaunch = 0
- Spin2049 = FALSE
- ' upgrade shop adjustments...
- SnakeHit = AdjSnakeHit
- SRTime = AdjSRTime
- RangeValue = AdjRangeValue
- VKValue = AdjVKValue
- PhotoValue = AdjPhotoValue
- BumpVal = AdjBumpVal
- RampValue = AdjRampValue
- RangeTime = AdjRangeTime
- SnakePlay = FALSE
- HoloNeon1.Frame 3
- HoloNeon4.Frame 10
- HoloNeon7.Frame 15
- HoloNeon6.Frame 11
- NeonHotel.Frame 14
- CokeSign.Frame 28
- AtariSign.Frame 31
- Ass = 0
- BattyReady = FALSE
- SSValue = 1000
- RangeComp = 0
- RampHit = 0
- Floor = 0
- BuyIn = TRUE
- BuyInActive = FALSE
- LightLeonMain.Set BulbOff, "10", 150
- LightZhoraMain.Set BulbOff, "10", 150
- LightPrisMain.Set BulbOff, "10", 150
- LightTyrellMain.Set BulbOff, "10", 150
- LightSebastianMain.Set BulbOff,"10", 150
- LightChewMain.Set BulbOff, "10", 150
- LightRachaelMain.Set BulbOff, "10", 150
- LightGaffMain.Set BulbOff, "10", 150
- RachaelHit = 0
- SebastianHit = 0
- GaffHit = 0
- PrisHit = 0
- ZhoraHit = 0
- LeonHit = 0
- TyrellHit = 0
- ChewHit = 0
- KillLeon = FALSE
- LightRing1.State = BulbOff
- LightRing2.State = BulbOff
- LightRing3.State = BulbOff
- LightRing4.State = BulbOff
- LightRing5.State = BulbOff
- LightRing6.State = BulbOff
- LightRing7.State = BulbOff
- LightRing8.State = BulbOff
- LightBlade.Set BulbOff, "10", 125
- LightCentre.Set BulbOff, "10", 125
- LightRunner.Set BulbOff, "10", 125
- LightSAVE1.Set BulbOff, "10", 150
- LightSAVE2.Set BulbOff, "10", 150
- LightSAVE3.Set BulbOff, "10", 150
- LightSAVE4.Set BulbOff, "10", 150
- LightLeft1.Set BulbOff, "10", 125
- LightLeft2.Set BulbOff, "10", 125
- LightLeft3.Set BulbOff, "10", 125
- ' the mission arrows...
- LightDT.Set BulbOff, "10", 150
- LightLO3.Set BulbOff, "10", 150
- LightLaneL.Set BulbOff, "10", 150
- LightRampL.Set BulbOff, "10", 150
- LightCentrePurge.Set BulbOff, "10", 150
- LightRampR.Set BulbOff, "10", 150
- LightLaneR.Set BulbOff, "10", 150
- LightRep.Set BulbOff, "10", 150
- LightMode.Set BulbOff, "10", 150
- LightSuperPops.State = BulbOff
- LightTyrell.State = BulbOff
- LightSuperRampL.State = BulbOff
- LightSuperRampR.State = BulbOff
- LightSnakePit.State = BulbOff
- LightSnakePit2.State = BulbOn
- LightNew.State = BulbOff
- LightCase.State = BulbOff
- LightElevator.State = BulbOff
- LightRange.State = BulbOff
- LightVK.State = BulbOff
- LightPhoto.State = BulbOff
- FlashPoliceL.State = BulbOff
- FlashPoliceR.State = BulbOff
- LightNexusL.State = BulbOff
- LightNexusR.State = BulbOff
- LightElevator.State = BulbOff
- For i = 1 To constMaxPlayers
- BonusPoints(i) = 0
- BonusMultiplier(i) = 1
- BallsRemaining(i) = nvBallsPerGame
- ExtraBallsAwards(i) = 0
- Next
- OverlayMovie.Frame 208: OverlayMovieHUD.Frame 208
- bMultiBallMode = FALSE
- EffectMusic 1, FadeOutAndStop, 0, 500
- If (QuoteBusy = FALSE) Then
- Select Case RandomNumber(5)
- Case 1: PlayMusic 2, "vo_Deckard": Time = 2000
- Case 2: PlayMusic 2, "vo_Deckard2": Time = 1200
- Case 3: PlayMusic 2, "vo_NeedBladeRunner": Time = 2400
- OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885
- MovieTimer.Set TRUE, 2400
- Case 4,5: PlayMusic 2, "vo_GoodLuck": Time = 1100
- End Select
- Else
- Time = 500
- End If
- DMD.FlushQueue: DMD2.FlushQueue
- ' show the player that the last game upgrade is now active...
- Select Case Upgrade
- Case 1:
- PlaySound "fx_19", 0.6
- Time = 2400
- DMD.QueueText "[y1][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD.QueueText "[f7][y3]BALL SAVER[y18]TIMER + 3 SECS", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD2.QueueText "[f7][y3]BALL SAVER[y18]TIMER + 3 SECS", deNone, 1000, TRUE
- Case 2:
- PlaySound "fx_19", 0.6
- Time = 2400
- DMD.QueueText "[y1][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD.QueueText "[f7][y3]RANGE TARGETS[y18]VALUE INCREASED", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD2.QueueText "[f7][y3]RANGE TARGETS[y18]VALUE INCREASED", deNone, 1000, TRUE
- Case 3:
- PlaySound "fx_19", 0.6
- Time = 2400
- DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD.QueueText "[f7][y3]SUPER RAMPS[y18]VALUE INCREASED", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD2.QueueText "[f7][y3]SUPER RAMPS[y18]VALUE INCREASED", deNone, 1000, TRUE
- Case 4:
- PlaySound "fx_19", 0.6
- Time = 2400
- DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD.QueueText "[f7][y3]VOIGT-KAMPFF[y18]TARGETS INCREASED", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD2.QueueText "[f7][y3]VOIGT-KAMPFF[y18]TARGETS INCREASED", deNone, 1000, TRUE
- Case 5:
- PlaySound "fx_19", 0.6
- Time = 2400
- DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD.QueueText "[f7][y3]PHOTO SCANNER[y18]TARGETS INCREASED", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f5][bf]UPGRADED", deNone, 1000, FALSE
- DMD2.QueueText "[f7][y3]PHOTO SCANNER[y18]TARGETS INCREASED", deNone, 1000, TRUE
- Case 6:
- PlaySound "fx_19", 0.6
- Time = 2400
- DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD.QueueText "[f7][y3]MISSION SHOT[y18]VALUE INCREASED", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD2.QueueText "[f7][y3]MISSION SHOT[y18]VALUE INCREASED", deNone, 1000, TRUE
- Case 7:
- PlaySound "fx_19", 0.6
- Time = 2400
- DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD.QueueText "[f7][y3]BUMPER VALUE[y18]INCREASED", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD2.QueueText "[f7][y3]BUMPER VALUE[y18]INCREASED", deNone, 1000, TRUE
- Case 8:
- PlaySound "fx_19", 0.6
- Time = 2400
- DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD.QueueText "[f7][y3]RANGE - RAMP[y18]TIMERS EXTENDED", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD2.QueueText "[f7][y3]RANGE - RAMP[y18]TIMERS EXTENDED", deNone, 1000, TRUE
- Case 9:
- PlaySound "fx_19", 0.6
- Time = 2400
- DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD.QueueText "[f7][y3]MYSTERY READY[y18]WITH 2 LESS HITS", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD2.QueueText "[f7][y3]MYSTERY READY[y18]WITH 2 LESS HITS", deNone, 1000, TRUE
- Case 10:
- PlayMusic 2, "vo_Eminator", FALSE, 1, 800
- Time = 2400
- DMD.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD.QueueText "[f7][y3]JOI COMPANION[y18]IS ACTIVATED", deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6][bf]UPGRADED", deNone, 800, FALSE
- DMD2.QueueText "[f7][y3]JOI COMPANION[y18]IS ACTIVATED", deNone, 1000, TRUE
- Case else
- DMD.Text = "[yC][xc][f6]GOOD LUCK"
- DMD2.Text = "[yC][xc][f6]GOOD LUCK"
- End Select
- If (JoiReady = TRUE) Then
- JoiReady = FALSE: JoiOn = TRUE
- PlaySound "fx_JoiOn"
- CokeSign.UpdateInterval = 66: CokeSign.Frame 200, 247: SignOffTimer.Set TRUE, 4000
- End If
- FirstBallDelayTimer.Interval = Time
- FirstBallDelayTimer.Enabled = TRUE
- End Sub
- Sub FirstBallDelayTimer_Expired()
- FirstBallDelayTimer.Enabled = FALSE
- TrackPlayed = 0
- PlayMusic 1, "Music_BRTrack1", FALSE, 0.6
- ResetForNewPlayerBall()
- CreateNewBall()
- End Sub
- Sub ResetForNewPlayerBall()
- OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
- OverlayMovie.Frame 209, 210, 209: OverlayMovieHUD.Frame 209, 210, 209
- QuoteBusy = FALSE
- NewBall = TRUE
- DT_1.PopDown
- DT_2.PopDown
- DT_3.PopDown
- DT_4.PopDown
- LightLaneL.State = BulbOff
- LightLaneR.State = BulbOff
- LightSAVE1.State = BulbOff
- LightSAVE2.State = BulbOff
- LightSAVE3.State = BulbOff
- LightSAVE4.State = BulbOff
- LightPurge1.State = BulbOff
- LightPurge2.State = BulbOff
- LightCentrePurge.State = BulbOff
- LightLeft1.State = BulbBlink
- LightLeft2.State = BulbBlink
- LightLeft3.State = BulbBlink
- LightCentre.State = BulbOff
- LightBlade.State = BulbBlink
- LightRunner.State = BulbBlink
- LightTyrell.State = BulbOff
- LightRO1.State = BulbOff
- LightRO2.State = BulbOff
- LightLO3.State = BulbOff
- LightRampL.State = BulbOff
- LightRampR.State = BulbOff
- LightNexusL.State = BulbOff
- LightNexusR.State = BulbOff
- LightNew.State = BulbBlink
- LightCase.State = BulbBlink
- LightDT.State = BulbOff
- LightRep.State = BulbOff
- MagnetActive = FALSE
- 'RachaelHit = 0
- 'SebastianHit = 0
- 'GaffHit = 0
- 'PrisHit = 0
- 'ZhoraHit = 0
- 'LeonHit = 0
- 'TyrellHit = 0
- 'ChewHit = 0
- SuperSpin = 0
- PFScore = 1
- BumpHit = 0
- SaveMe = 0
- LightRing1.State = BulbOff
- LightRing2.State = BulbOff
- LightRing3.State = BulbOff
- LightRing4.State = BulbOff
- LightRing5.State = BulbOff
- LightRing6.State = BulbOff
- LightRing7.State = BulbOff
- LightRing8.State = BulbOff
- ShootAgainLight.State = BulbOff
- SetBonusMultiplier(1)
- 'f (BallsRemaining(CurrentPlayer) = 1) Then
- 'Else
- ' If (bOnTheFirstBall = FALSE) Then
- ' End If
- 'End If
- End Sub
- Sub CreateNewBall()
- dof 108,2
- PlungerKicker.CreateBall: AddTrackedBall(PlungerKicker)
- BallsOnPlayfield = BallsOnPlayfield + 1
- PlungerKicker.SolenoidPulse
- If (NewBall = TRUE) Then
- DMD.FlushQueue: DMD2.FlushQueue
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]F I R E", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]F I R E", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]F I R E", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]F I R E", deNone, 50, FALSE
- End If
- End Sub
- Sub AutoFire_Expired()
- AutoFire.Enabled = FALSE
- dof 109,2
- PlaySound "fx_GunShot2"
- Plunger.SolenoidPulse
- StartButtonBulb.FlashForMs 200, 50, BulbOff
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 400
- LightSeqPF.UpdateInterval = 5
- LightSeqPF.Play SeqUpOn, 20
- 'LightSeqGI.Play SeqBlinking, , 1, 125
- End Sub
- Sub LightSeqPF_Empty()
- LightSeqPF.UpdateInterval = 10
- End Sub
- Sub MusicResume_Expired()
- MusicResume.Enabled = FALSE
- If (BR2049 = TRUE) Then Exit Sub
- If (fpGameInPlay = FALSE) Then EffectMusic 1, PlayAndFadeIn, 0.4, 100: Exit Sub
- EffectMusic 4, FadeOutAndStop, 0, 500
- If (ModeActive = TRUE) Then
- EffectMusic 5, PlayAndFadeIn, 0.6, 100
- Else
- EffectMusic 1, PlayAndFadeIn, 0.6, 100
- End If
- End Sub
- ' ******************************
- ' ** **
- ' ** DRAIN **
- ' ** **
- ' ******************************
- Sub Drain_Hit()
- Drain.DestroyBall: DeleteTrackedBall(Drain)
- ' Joi will save the ball during the grace period...
- If (IgnoreHit = TRUE) Then IgnoreHit = FALSE: PlaySound "fx_Drain": Exit Sub
- BallsOnPlayfield = BallsOnPlayfield - 1
- PlaySound "fx_Drain"
- If (fpGameInPlay = TRUE) and (fpTilted = FALSE) Then
- If (bBallSaverActive = TRUE) or (SaveMeTimer.Enabled = TRUE) Then
- If (SaveMeTimer.Enabled = TRUE) Then
- SaveMe = 1
- DMD.Text = "[yc][xc][f6][bf]RAMP SAVER"
- DMD2.Text = "[yc][xc][f6][bf]RAMP SAVER"
- If (JoiOn = TRUE) and (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE: PlayMusic 2, "vo_JoiFixThat": CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
- AutoFire.Set TRUE, 1200
- Else
- AllPlasOff()
- LightSeqPF.Play SeqBlinking, , 4, 75
- PlaySound "fx_26"
- End If
- AutoFire.Set TRUE, 600
- CreateNewBall()
- Else
- DMD.Text = "[yc][xc][f6][bf]DON'T MOVE"
- DMD2.Text = "[yc][xc][f6][bf]DON'T MOVE"
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- If (BattyMode = TRUE) Then
- PlayMusic 2, "vo_Deckard3"
- Else
- Select Case RandomNumber(3)
- Case 1: PlayMusic 2, "vo_Laugh"
- Case 2: PlayMusic 2, "vo_HumanAgain"
- Case 3: PlayMusic 2, "vo_DontMove"
- End Select
- End If
- End If
- AutoFire.Set TRUE, 1200
- NewBallDelay.Set TRUE, 600
- End If
- Else
- If (BallsOnPlayfield = 1) Then
- If (bMultiBallMode = True) then
- bMultiBallMode = False
- End If
- End If
- If (BallsOnPlayfield = 0) Then
- If (ModeActive = TRUE) Then
- ModeActive = FALSE
- MissionHit = AdjMissionHit
- StopMusic 5
- EffectMusic 1, PlayAndFadeIn, 0.6, 100
- DMD.FlushQueue
- DMD.QueueText "[y3][xc][f3][b]ASSIGNMENT[y18][f3]INCOMPLETE", deNone, 2000, TRUE
- DMD2.QueueText "[y3][xc][f3][b]ASSIGNMENT[y18][f3]INCOMPLETE", deNone, 2000, TRUE
- OverlayMovie.UpdateInterval = 1000: OverlayMovieHUD.UpdateInterval = 1000
- OverlayMovie.Frame 593,594: OverlayMovieHUD.Frame 593,594
- MovieTimer.Set TRUE, 2500
- Else
- OverlayMovie.Frame 211: OverlayMovieHUD.Frame 211
- If (DMDBusy = FALSE) Then
- DMD.Text = "[yc][xc][f6][b]BALL LOST"
- DMD2.Text = "[yc][xc][f6][b]BALL LOST"
- End If
- End If
- If (LeonMode = TRUE) Then
- LeonMode = FALSE: KillLeon = FALSE
- LightLeonMain.State = BulbOff
- LightRO1.State = BulbOff
- LightRO2.State = BulbOff
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_PartOfTest", FALSE, 1, 500
- Case 1: PlayMusic 2, "vo_WarmingUp", FALSE, 1, 500
- End Select
- End If
- End If
- If (ZhoraMode = TRUE) Then
- ZhoraMode = FALSE
- LightZhoraMain.State = BulbOff
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ForReal", FALSE, 1, 500
- End If
- If (PrisMode = TRUE) Then
- PrisMode = FALSE
- LightPrisMain.State = BulbOff
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_LikeYou", FALSE, 1, 500
- End If
- If (TyrellMode = TRUE) Then
- TyrellMode = FALSE
- LightTyrellMain.State = BulbOff
- LightElevator.State = BulbOff
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_NotToLast", FALSE, 1, 500
- End If
- If (SebastianMode = TRUE) Then
- SebastianMode = FALSE
- LightSebastianMain.State = BulbOff
- LightElevator.State = BulbOff
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_GrowOldTooFast", FALSE, 1, 500
- End If
- If (ChewMode = TRUE) Then
- ChewMode = FALSE
- LightChewMain.State = BulbOff
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ChewTalk3"
- End If
- If (RachaelMode = TRUE) Then
- RachaelMode = FALSE
- LightRachaelMain.State = BulbOff
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_DontThinkSo", FALSE, 0.7, 500
- Case 2: PlayMusic 2, "vo_WontLive", FALSE, 1, 500
- OverlayMovie.Frame 884: OverlayMovieHUD.Frame 884
- MovieTimer.Set TRUE, 2000
- End Select
- End If
- End If
- If (GaffMode = TRUE) Then
- GaffMode = FALSE
- LightGaffMain.State = BulbOff
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Pathetic2", FALSE, 0.7, 500
- End If
- ' drain during Batty and the main missions reset...
- If (BattyMode = TRUE) Then
- BattyMode = FALSE
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_WhereGoing"
- LightLeonMain.Set BulbOff, "10", 150
- LightZhoraMain.Set BulbOff, "10", 150
- LightPrisMain.Set BulbOff, "10", 150
- LightTyrellMain.Set BulbOff, "10", 150
- LightSebastianMain.Set BulbOff,"10", 150
- LightChewMain.Set BulbOff, "10", 150
- LightRachaelMain.Set BulbOff, "10", 150
- LightGaffMain.Set BulbOff, "10", 150
- RachaelHit = 0
- SebastianHit = 0
- GaffHit = 0
- PrisHit = 0
- ZhoraHit = 0
- LeonHit = 0
- TyrellHit = 0
- ChewHit = 0
- LightRing1.State = BulbOff
- LightRing2.State = BulbOff
- LightRing3.State = BulbOff
- LightRing4.State = BulbOff
- LightRing5.State = BulbOff
- LightRing6.State = BulbOff
- LightRing7.State = BulbOff
- LightRing8.State = BulbOff
- End If
- TakeOffTimer.Enabled = FALSE
- LightPurge1.State = BulbOff
- LightPurge2.State = BulbOff
- LightBlade.State = BulbBlink
- LightRunner.State = BulbBlink
- LightCentre.State = BulbOff
- StopMusic 6
- If (ShootingMode = TRUE) Then
- 'ShootingMode = FALSE
- 'LightRange.State = BulbOff
- RangeTimer_Expired()
- End If
- If (VKMode = TRUE) Then
- 'VKMode = FALSE
- 'LightVK.State = BulbOff
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_TestYourself", FALSE, 0.7, 500
- RangeTimer_Expired()
- End If
- If (PhotoMode = TRUE) Then
- 'PhotoMode = FALSE
- 'LightPhoto.State = BulbOff
- RangeTimer_Expired()
- End If
- If (SuperRamps = TRUE) Then
- EffectMusic 5, FadeOutAndStop, 0, 500
- EffectMusic 1, PlayAndFadeIn, 0.6, 500
- SuperRamps = FALSE
- SuperRampsTimer.Enabled = FALSE
- End If
- RedOff()
- EndOfBall()
- End If
- End If
- End If
- End Sub
- Sub EndOfBall()
- Dim BonusDelayTime
- DMDTimer.Enabled = FALSE
- PlaySound "fx_14"
- bOnTheFirstBall = FALSE
- If (fpTilted = FALSE) Then
- Dim AwardPoints
- If (BonusMultiplier(CurrentPlayer) =>2) Then
- AwardPoints = BonusPoints(CurrentPlayer) * BonusMultiplier(CurrentPlayer)
- AddScore(AwardPoints)
- DMD.QueueText " ", deNone, 300, FALSE: DMD2.QueueText " ", deNone, 300, FALSE
- DMD.QueueText "[yc][xc][f6]BONUS ", deNone, 300, FALSE
- DMD.QueueText "[yc][xc][f6]BONUS X ", deNone, 300, FALSE
- DMD.QueueText "[y1][xc][f6]BONUS X " & BonusMultiplier(CurrentPlayer), deNone, 500, FALSE
- DMD.QueueText "[y3][xc][f7]TOTAL BONUS[y7][f3]$ " & FormatNumber(AwardPoints, 0, -1, 0, -1), deFlip, 300, FALSE
- DMD.QueueText "[y1][xc][f7]TOTAL BONUS[b][y7][f3]$ " & FormatNumber(AwardPoints, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]BONUS ", deNone, 300, FALSE, "fx_Hit6"
- DMD2.QueueText "[yc[xc][f6]BONUS X ", deNone, 300, FALSE, "fx_Hit6"
- DMD2.QueueText "[yc][xc][f6]BONUS X " & BonusMultiplier(CurrentPlayer), deNone, 500, FALSE, "fx_Hit3"
- DMD2.QueueText "[y3][xc][f3]TOTAL BONUS[y18][f3]$ " & FormatNumber(AwardPoints, 0, -1, 0, -1), deFlip, 300, FALSE, "fx_Whoosh"
- DMD2.QueueText "[y3][xc][f3]TOTAL BONUS[b][y18][f3]$ " & FormatNumber(AwardPoints, 0, -1, 0, -1), deNone, 1000, TRUE
- BonusDelayTime = 3600
- 'DMD2.QueueText "[y1][xc][f1]BONUS X " & BonusMultiplier(CurrentPlayer) & "[y7][f3]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deNone, 800, FALSE
- 'DMD2.QueueText "[y1][xc][f1]BONUS X " & BonusMultiplier(CurrentPlayer) & "[b][y7][f3]$ " & FormatNumber(AwardPoints, 0, -1, 0, -1), deNone, 2000, TRUE, "fx_Hit10"
- Else
- AwardPoints = BonusPoints(CurrentPlayer)
- AddScore(AwardPoints)
- DMD.QueueText " ", deNone, 300, FALSE: DMD2.QueueText " ", deNone, 300, FALSE
- DMD.QueueText "[y1][xc][f6]NO MULTIPLIER", deNone, 800, FALSE
- DMD.QueueText "[y1][xc][f7]TOTAL BONUS[y7][f3]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deFlip, 300, FALSE
- DMD.QueueText "[y1][xc][f7]TOTAL BONUS[y7][f3][b]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]NO MULTIPLIER", deNone, 800, FALSE, "fx_Hit6"
- DMD2.QueueText "[y3][xc][f3]TOTAL BONUS[y18][f3]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deFlip, 300, FALSE, "fx_Whoosh"
- DMD2.QueueText "[y3[xc][f3]TOTAL BONUS[y18][f3][b]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deNone, 1000, TRUE
- 'DMD2.QueueText "[y1][xc][f1]BONUS X " & BonusMultiplier(CurrentPlayer) & "[y7][f3]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deNone, 800, FALSE
- 'DMD2.QueueText "[y1][xc][f1]BONUS X " & BonusMultiplier(CurrentPlayer) & "[b][y7][f3]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deNone, 2000, TRUE, "fx_Hit10"
- BonusDelayTime = 3000
- End If
- Else
- BonusDelayTime = 300
- End If
- EndOfBallTimer.Interval = BonusDelayTime
- EndOfBallTimer.Enabled = TRUE
- End Sub
- Sub EndOfBallTimer_Expired()
- EndOfBallTimer.Enabled = FALSE
- fpTilted = FALSE
- If (ExtraBallsAwards(CurrentPlayer) > 0) Then
- ExtraBallsAwards(CurrentPlayer) = ExtraBallsAwards(CurrentPlayer) - 1
- If (ExtraBallsAwards(CurrentPlayer) = 0) Then
- ShootAgainLight.State = BulbOff
- End If
- Clip = 11: PlayMovie()
- DMD.Text = "[yc][xc][f6][bf]MORE LIFE"
- DMD2.Text = "[yc][xc][f6][bf]MORE LIFE"
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_MoreLife"
- EffectMusic 1, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 2300
- PlayMusic 3, "Music_Cue2", FALSE, 0.7
- ' the mission arrows...
- LightDT.Set BulbOff, "10", 150
- LightLO3.Set BulbOff, "10", 150
- LightLaneL.Set BulbOff, "10", 150
- LightRampL.Set BulbOff, "10", 150
- LightCentrePurge.Set BulbOff, "10", 150
- LightRampR.Set BulbOff, "10", 150
- LightLaneR.Set BulbOff, "10", 150
- LightRep.Set BulbOff, "10", 150
- FlasherL.FlashForMs 1000, 75, BulbOff
- FlasherM.FlashForMs 1000, 75, BulbOff
- Flasher1.FlashForMs 1000, 75, BulbOff
- CreateNewBall()
- Else
- BallsRemaining(CurrentPlayer) = BallsRemaining(CurrentPlayer) - 1
- If (BallsRemaining(CurrentPlayer) <= 0) Then
- If (BuyIn = TRUE) and (nvScore(CurrentPlayer) > 65000) Then
- BuyIn = FALSE
- DMD.FlushQueue: DMD2.FlushQueue
- DMD.QueueText "[y3][xc][f3]CONTINUE GAME?[y18][f3]COST = $ 30,000", deNone, 1500, FALSE
- DMD2.QueueText "[y3][xc][f3]CONTINUE GAME?[y18][f3]COST = $ 30,000", deNone, 1500, FALSE
- DMD.QueueText "[y3][xc][f3]CONTINUE GAME?[y18][f3]< YES NO >", deNone, 1000, TRUE
- DMD2.QueueText "[y3][xc][f3]CONTINUE GAME?[y18][f3]< YES NO >", deNone, 1000, TRUE
- EffectMusic 1, FadeOutAndPause, 0, 100
- PlayMusic 4, "Music_BackGround9"
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_Continue"
- Case 2: PlayMusic 2, "vo_Personal"
- End Select
- End If
- BuyInActive = TRUE
- Else
- DMD.Text = "[yc][xc][f6]ENTER NAME"
- DMD2.Text = "[yc][xc][f6]ENTER NAME"
- PlayMusic 1, "Music_HSEntry"
- bEnteringAHighScore = TRUE
- EnterHighScore(CurrentPlayer)
- End If
- Else
- AddScore(0)
- EndOfBallComplete()
- End If
- End If
- End Sub
- Sub EndOfBallComplete()
- Dim NextPlayer
- If (PlayersPlayingGame > 1) Then
- NextPlayer = CurrentPlayer + 1
- If (NextPlayer > PlayersPlayingGame) Then
- NextPlayer = 1
- End If
- Else
- NextPlayer = CurrentPlayer
- End If
- If ((BallsRemaining(CurrentPlayer) <= 0) and (BallsRemaining(NextPlayer) <= 0)) Then
- If (nvScore(CurrentPlayer) => 5000) and (NoShop = FALSE) Then
- OverlayMovie.Frame 247: OverlayMovieHUD.Frame 247
- PlayMusic 1, "Music_ComputerShort", TRUE, 0.8
- If (QuoteBusy = FALSE) Then
- Select Case RandomNumber(2)
- Case 1: QuoteBusy = TRUE: PlayMusic 2, "vo_Modified"
- Case 2: PlaySound "fx_ShopDoor" ' added to stop the vo playing all the time which adds tedium...
- End Select
- End If
- DMD.Text = "[y2][xc][f3]UPGRADE SHOP[y18][f3]MODIFY NEXT GAME"
- DMD2.Text = "[y3][xc][f3]UPGRADE SHOP[y18][f3]MODIFY NEXT GAME"
- UpgradeTimer.Set TRUE, 2000
- Else
- EndOfGame()
- End If
- ' reset all base values here...
- Upgrade = 0
- If (Item1 = 0) Then BSTime = 12000 Else BSTime = 15000
- If (Item2 = 0) Then AdjRangeValue = 500: RangeValue = 500 Else AdjRangeValue = 750: RangeValue = 750
- If (Item3 = 0) Then AdjRampValue = 200: RampValue = 200 Else AdjRampValue = 300: RampValue = 300
- If (Item4 = 0) Then AdjVKValue = 1000: VKValue = 1000 Else AdjVKValue = 1500: VKValue = 1500
- If (Item5 = 0) Then AdjPhotoValue = 1500: PhotoValue = 1500 Else AdjPhotoValue = 2250: PhotoValue = 2250
- If (Item6 = 0) Then AdjMissionHit = 500: MissionHit = 500 Else AdjMissionHit = 750: MissionHit = 750
- If (Item7 = 0) Then AdjBumpVal = 70: BumpVal = 70 Else AdjBumpVal = 100: BumpVal = 100
- If (Item8 = 0) Then AdjRangeTime = 20000: AdjSRTime = 13000: RangeTime = 20000: SRTime = 13000 Else AdjRangeTime = 25000: AdjSRTime = 15000: RangeTime = 25000: SRTime = 15000
- If (Item9 = 0) Then AdjSnakeHit = 5: SnakeHit = 5 Else AdjSnakeHit = 3: SnakeHit = 3
- Else
- CurrentPlayer = NextPlayer
- If (BallsRemaining(CurrentPlayer) = 1) Then
- If (QuoteBusy = FALSE) and (LBPlay = TRUE) Then
- LBPlay = FALSE
- QuoteBusy = TRUE: PlayMusic 2, "vo_AngelsFell"
- DelayNB.Set TRUE, 2300
- Clip = 35: PlayMovie()
- Else
- MusicFade(1200)
- PlaySound "fx_25"
- DelayNB.Set TRUE, 1200
- End If
- DMD.Text = "[yc][xc][f6][b]LAST BALL"
- DMD2.Text = "[yc][xc][f6][b]LAST BALL"
- Else
- ResetForNewPlayerBall()
- CreateNewBall()
- End If
- End If
- End Sub
- Sub NewBallDelay_Expired()
- NewBallDelay.Enabled = FALSE
- CreateNewBall()
- End Sub
- Sub DelayNB_Expired()
- DelayNB.Enabled = FALSE
- ResetForNewPlayerBall()
- CreateNewBall()
- End Sub
- Sub UpgradeTimer_Expired()
- UpgradeTimer.Enabled = FALSE
- Upgrade = 0: ShopActive = TRUE
- DMD.Text = "[y2][xc][f3]CASH: $ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f2][b]NAVIGATE WITH FLIPPERS"
- DMD2.Text = "[y3][xc][f3]CASH: $ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f2][b]NAVIGATE WITH FLIPPERS"
- End Sub
- Sub DelayEOB_Expired()
- DelayEOB.Enabled = FALSE
- If (IgnoreHit = FALSE) Then
- DMD.Text = "[yc][xc][f6]ENTER NAME"
- DMD2.Text = "[yc][xc][f6]ENTER NAME"
- PlayMusic 1, "Music_HSEntry"
- bEnteringAHighScore = TRUE
- EnterHighScore(CurrentPlayer)
- Else
- IgnoreHit = FALSE
- EndOfBallComplete()
- End If
- End Sub
- Sub DelayEOG_Expired()
- DelayEOG.Enabled = FALSE
- EndOfGame()
- End Sub
- Dim NoShop
- Sub EndOfGame()
- OverlayHUD2.Frame 1: OverlayMovie2.Frame 1
- OverlayMovieHUD.Frame 599: OverlayMovie.Frame 599
- HoloNeon1.Frame 2, 3, 2
- HoloNeon4.Frame 10
- HoloNeon6.Frame 11
- NeonHotel.Frame 14
- HoloNeon7.Frame 15
- CokeSign.UpdateInterval = 200
- CokeSign.Frame 16, 28, 16
- AtariSign.UpdateInterval = 250
- AtariSign.Frame 30, 32, 30
- BGReflect.Render = FALSE
- AllPlasOff()
- MovieTimer.Enabled = FALSE
- NoShop = FALSE
- DMD.FlushQueue
- If (nvCredits =>1) Then
- DMD.QueueText "[y3][xc][f3]GAME OVER[y18][f3][b]PRESS START", deNone, 4000, FALSE
- DMD2.QueueText "[y3][xc][f3]GAME OVER[y18][f3][b]PRESS START", deNone, 4000, FALSE
- Else
- DMD.QueueText "[y3][xc][f3]GAME OVER[y18][f3][b]INSERT COIN", deNone, 4000, FALSE
- DMD2.QueueText "[y3][xc][f3]GAME OVER[y18][f3][b]INSERT COIN", deNone, 4000, FALSE
- End If
- DMD.QueueText "[f3][y3]BLADE RUNNER[f3][y18][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deScrollRight, 4000, FALSE
- DMD.QueueText "[f3][y3]2ND PLACE[f3][y18][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deScrollLeft, 4000, FALSE
- DMD.QueueText "[f3][y3]3RD PLACE[f3][y18][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore3, 0, -1, 0, -1), deScrollRight, 4000, FALSE
- DMD.QueueText "[f3][y3]CREATED BY[f3][y18]SLAMT1LT", deFlip, 3000, FALSE
- DMD.QueueText "[f3][y3]OPTIMIZED FOR[f3][y18]B.A.M.", deNone, 3000, FALSE
- DMD2.QueueText "[f3][y3]BLADE RUNNER[f3][y18][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deScrollRight, 4000, FALSE
- DMD2.QueueText "[f3][y3]2ND PLACE[f3][y18][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deScrollLeft, 4000, FALSE
- DMD2.QueueText "[f3][y3]3RD PLACE[f3][y18][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore3, 0, -1, 0, -1), deScrollRight, 4000, FALSE
- DMD2.QueueText "[f3][y3]CREATED BY[f3][y18]SLAMT1LT", deFlip, 3000, FALSE
- DMD2.QueueText "[f3][y3]OPTIMIZED FOR[f3][y18]B.A.M.", deNone, 3000, FALSE
- 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
- OverlayMovie.Frame 66: OverlayMovieHUD.Frame 66
- PlayMusic 2, "fx_OffWorld", FALSE, 0.8
- If (TopBR = TRUE) Then
- TopBR = FALSE
- PlayMusic 1, "Music_BRTrack6", FALSE, 0.5
- Else
- Select Case RandomNumber(3)
- Case 1: PlayMusic 1, "Music_NeonCity", FALSE, 0.4
- Case 2,3: PlayMusic 1, "Music_Attract", TRUE, 0.4
- End Select
- End If
- EndGame()
- LeftFlipper.SolenoidOff
- RightFlipper.SolenoidOff
- dof 101,0
- dof 102,0
- SetAllLightsForAttractMode()
- End Sub
- Sub SetAllLightsForAttractMode()
- ShootAgainLight.State = BulbBlink
- BF = 0
- BumpAttract.Set TRUE, 200
- ' the mission arrows...
- LightDT.Set BulbBlink, "100000000", 150
- LightLO3.Set BulbBlink, "010000000", 150
- LightLaneL.Set BulbBlink, "001000000", 150
- LightRampL.Set BulbBlink, "000100000", 150
- LightCentrePurge.Set BulbBlink, "000010000", 150
- LightRampR.Set BulbBlink, "000001000", 150
- LightLaneR.Set BulbBlink, "000000100", 150
- LightRep.Set BulbBlink, "000000010", 150
- LightMode.Set BulbBlink, "000000001", 150
- LightSuperPops.State = BulbBlink
- LightTyrell.State = BulbBlink
- LightSuperRampL.State = BulbBlink
- LightSuperRampR.State = BulbBlink
- LightSnakePit.State = BulbBlink
- LightNew.State = BulbBlink
- LightCase.State = BulbBlink
- LightElevator.State = BulbBlink
- LightRange.Set BulbBlink, "100", 125
- LightVK.Set BulbBlink, "010", 125
- LightPhoto.Set BulbBlink, "001", 125
- LightRO1.Set BulbBlink, "10", 125
- LightRO2.Set BulbBlink, "01", 125
- LightPurge1.Set BulbBlink, "10", 125
- LightPurge2.Set BulbBlink, "01", 125
- LightLeft1.Set BulbBlink, "100", 150
- LightLeft2.Set BulbBlink, "010", 150
- LightLeft3.Set BulbBlink, "001", 150
- LightBlade.Set BulbBlink, "100", 150
- LightCentre.Set BulbBlink, "010", 150
- LightRunner.Set BulbBlink, "001", 150
- LightLeft1.Set BulbBlink, "100", 150
- LightLeft2.Set BulbBlink, "010", 150
- LightLeft3.Set BulbBlink, "001", 150
- LightSAVE1.Set BulbBlink, "1000", 150
- LightSAVE2.Set BulbBlink, "0100", 150
- LightSAVE3.Set BulbBlink, "0010", 150
- LightSAVE4.Set BulbBlink, "0001", 150
- LightLeonMain.Set BulbBlink, "10000000011111111010100", 150
- LightZhoraMain.Set BulbBlink, "01000000001111111001010", 150
- LightPrisMain.Set BulbBlink, "00100000000111111010100", 150
- LightTyrellMain.Set BulbBlink, "00010000000011111001010", 150
- LightSebastianMain.Set BulbBlink,"00001000000001111010100", 150
- LightChewMain.Set BulbBlink, "00000100000000111001010", 150
- LightRachaelMain.Set BulbBlink, "00000010000000011010100", 150
- LightGaffMain.Set BulbBlink, "00000001000000001001010", 150
- LightRing8.Set BulbBlink,"10", 100
- LightRing7.Set BulbBlink,"10", 100
- LightRing6.Set BulbBlink,"10", 100
- LightRing5.Set BulbBlink,"10", 100
- LightRing4.Set BulbBlink,"10", 100
- LightRing3.Set BulbBlink,"10", 100
- LightRing2.Set BulbBlink,"10", 100
- LightRing1.Set BulbBlink,"10", 100
- LightNexusL.State = BulbBlink
- LightNexusR.State = BulbBlink
- PlayAtt = 0
- AttractTimer.Set TRUE, 4600
- End Sub
- Sub BumpAttract_Expired()
- BF = BF + 1
- Select Case BF
- Case 1: Bumper1_Hit()
- Case 2: Bumper2_Hit()
- Case 3: Bumper3_Hit()
- Case 4,5: Bumper1_Hit(): Bumper2_Hit(): Bumper3_Hit()
- Case 6: Bumper1_Hit(): Bumper2_Hit(): Bumper3_Hit(): BF = 0
- End Select
- End Sub
- ' leave the game in attract mode while you nip off to the loo, and fun things will play to entertain anyone watching...
- Sub AttractTimer_Expired()
- PlayAtt = PlayAtt + 1
- Select Case PlayAtt
- Case 1:
- Clip = 8: PlayMovie()
- LightSeqPF.Play SeqMiddleInVertOn, 25
- AttractTimer.Set TRUE, 15000
- Case 2:
- Select Case RandomNumber(2)
- Case 1:
- CokeSign.UpdateInterval = 66
- PlayMusic 3, "vo_JoiLonely", FALSE, 1, 1000: CokeSign.Frame 179, 247: SignOffTimer.Set TRUE, 4700
- AttractTimer.Set TRUE, 7500
- Case 2:
- Select Case RandomNumber(3)
- Case 1: PlayMusic 2, "vo_Batty": AttractTimer.Set TRUE, 7500
- Case 2: PlayMusic 2, "vo_Batty2": AttractTimer.Set TRUE, 5500: PlayAtt = 15
- Case 3: PlayMusic 2, "vo_Leader": AttractTimer.Set TRUE, 5500
- End Select
- OverlayMovie.UpdateInterval = 1000: OverlayMovieHUD.UpdateInterval = 1000
- OverlayMovie.Frame 68: OverlayMovieHUD.Frame 68
- HoloNeon4.UpdateInterval = 800
- HoloNeon4.Frame 49, 51, 49
- LightSeqPF.Play SeqCircleOutOn, 25
- End Select
- Case 3:
- Select Case RandomNumber(6)
- Case 1: PlayMusic 3, "vo_Nexus5", FALSE, 0.6: Clip = 4: PlayMovie()
- Case 2: PlayMusic 3, "vo_Announcement": Clip = 26: PlayMovie()
- Case 3: PlayMusic 3, "Music_Attention", FALSE, 0.4: Clip = 4: PlayMovie()
- Case 4:
- Clip = 4: PlayMovie()
- PlayMusic 2, "fx_JoiAd"
- CokeSign.UpdateInterval = 66
- CokeSign.Frame 83, 178, 83
- SignOffTimer.Set TRUE, 6000
- Case 5:
- PlayMusic 3, "fx_Background16"
- CokeSign.UpdateInterval = 100
- CokeSign.Frame 65, 82, 65
- SignOffTimer.Set TRUE, 5300
- Case 6:
- PlayMusic 2, "vo_JoiGoodJoe", FALSE, 1, 1000: CokeSign.UpdateInterval = 66: CokeSign.Frame 248, 295: SignOffTimer.Set TRUE, 3200
- End Select
- AttractTimer.Set TRUE, 10000
- Case 4:
- EffectMusic 3, FadeOutAndStop, 0, 2000
- AttractTimer.Set TRUE, 12000
- PlayMusic 2, "vo_Leon2"
- OverlayMovie.UpdateInterval = 1000: OverlayMovieHUD.UpdateInterval = 1000
- OverlayMovie.Frame 69: OverlayMovieHUD.Frame 69
- LightSeqPF.Play SeqCircleInOn, 25
- Case 5:
- PlayMusic 2, "fx_Background17", FALSE, 0.6
- Clip = 26: PlayMovie()
- AttractTimer.Set TRUE, 7000
- Case 6:
- PlayMusic 2, "vo_Zora"
- OverlayMovie.UpdateInterval = 1000
- OverlayMovie.Frame 70: OverlayMovieHUD.Frame 70
- HoloNeon4.Frame 10
- LightSeqPF.Play SeqScrewLeftOn, 25
- AttractTimer.Set TRUE, 9500
- Case 7:
- Clip = 3: PlayMovie()
- PlaySound "fx_SpinnerFlyBy", 0.8
- LightSeqPF.Play SeqRandom, 40, ,3000
- AttractTimer.Set TRUE, 5000
- Case 8:
- PlayMusic 2, "vo_Pris"
- OverlayMovie.UpdateInterval = 1000
- OverlayMovie.Frame 71: OverlayMovieHUD.Frame 71
- LightSeqPF.Play SeqRandomEffect, 100
- AttractTimer.Set TRUE, 9000
- Case 9:
- PlayMusic 2, "vo_Nexus6"
- Clip = 27: PlayMovie()
- AttractTimer.Set TRUE, 6000
- Case 10:
- Clip = 4: PlayMovie()
- LightSeqPF.Play SeqWiperRightOn, 45
- AttractTimer.Set TRUE, 15000
- Case 11:
- Clip = 5: PlayMovie()
- Case 12:
- Clip = 8: PlayMovie()
- PlaySound "fx_SpinnerFlyBy4", 0.6
- Case 13:
- AttractTimer.Set TRUE, 3000
- OverlayMovie.Frame 870: OverlayMovieHUD.Frame 870
- Case 14:
- OverlayMovie.Frame 871: OverlayMovieHUD.Frame 871
- Case 15:
- PlayAtt = 1
- Case 16:
- Clip = 8: PlayMovie()
- AttractTimer.Set TRUE, 8000
- Case 17:
- Clip = 5: PlayMovie()
- PlayAtt = 1
- End Select
- End Sub
- ' ***********************************************
- ' ** **
- ' ** PLUNGER LANE/BALL SAVER **
- ' ** **
- ' ***********************************************
- Sub PlungerLaneTrigger_Hit()
- bBallInPlungerLane = TRUE
- StartButtonBulb.State = BulbOn
- set LastSwitchHit = PlungerLaneTrigger
- End Sub
- Sub PlungerKicker_Hit()
- PlungerKicker.SolenoidPulse
- dof 108,2
- End Sub
- Sub PlungerLaneExit_Hit()
- MovieTimer.Set TRUE, 100
- NoPlay = FALSE
- bBallInPlungerLane = FALSE
- StartButtonBulb.State = BulbOff
- If (NewBall = TRUE) Then
- NewBall = FALSE
- ShootAgainLight.State = BulbBlink
- bBallSaverActive = TRUE
- BallSaverTimer.Set TRUE, BSTime
- ' create skill shot here...
- SSTimer.Set TRUE, 5000
- LightRampL.Set BulbBlink, "10", 100
- LightRampR.Set BulbBlink, "10", 100
- End If
- PlaySound "fx_GateHitR"
- DMDBusy = FALSE
- AddScore(0)
- End Sub
- Sub BallSaverTimer_Expired()
- If (ExtraBallsAwards(CurrentPlayer) = 0) Then
- ShootAgainLight.State = BulbOff
- Else
- ShootAgainLight.State = BulbOn
- End If
- If (JoiOn = TRUE) Then
- JoiGrace = JoiGrace + 1
- Select Case JoiGrace
- Case 1:
- BallSaverTimer.Set TRUE, 3000
- Case 2:
- BallSaverTimer.Enabled = FALSE
- bBallSaverActive = FALSE
- JoiGrace = 0
- End Select
- Else
- BallSaverTimer.Enabled = FALSE
- bBallSaverActive = FALSE
- End If
- End Sub
- Dim JoiGrace
- Sub SSTimer_Expired()
- SSTimer.Enabled = FALSE
- LightRampL.Set BulbOff, "10", 125
- LightRampR.Set BulbOff, "10", 125
- End Sub
- Dim NoPlay,MoveIt,NewBall,Missed
- ' the start of the launch ramp...
- Sub TrigLaunchRamp_Hit()
- ' the ball didn't make it and rolls back down the ramp...
- If (Missed = TRUE) Then
- Missed = FALSE
- PlaySound "fx_HitWireRamp", 0.7
- If (RampDivertTimer.Enabled = TRUE) Then
- PopUp1.SolenoidPulse(3000): PlaySound "fx_PopUpR", 0.5
- If (NoPlay = FALSE) Then NoPlay = TRUE: Flasher1.FlashForMs 400, 100, BulbOff: PlaySound "fx_7"
- MoveIt = 0: RampDivertTimer.Set TRUE, 3000
- End If
- Exit Sub
- End If
- ' first time it's hit from launch...
- If (NoPlay = FALSE) Then
- PlaySound "fx_HitWireRamp"
- MoveIt = 0: RampDivertTimer.Set TRUE, 3200 ' start the timer if the ball gets stuck...
- PlaySound "fx_ShellCasing"
- Missed = TRUE
- End If
- set LastSwitchHit = TrigLaunchRamp
- End Sub
- Sub RampDivertTimer_Expired()
- MoveIt = MoveIt + 1
- Select Case MoveIt
- Case 1:
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(5)
- Case 1: PlayMusic 2, "vo_LikeItHere"
- Case 2: PlayMusic 2, "vo_Problem"
- Case 3: PlayMusic 2, "vo_ChewTalk"
- Case 4: PlayMusic 2, "vo_AllowThat"
- Case 5: PlayMusic 2, "vo_Itch"
- End Select
- End If
- RampDivertTimer.Set TRUE, 1500
- Case 2:
- Flasher1.FlashForMs 300, 300, BulbOff
- PlaySound "fx_Punch"
- DiverterPush.SolenoidPulse(2000)
- PopUp1.SolenoidPulse(2000): PlaySound "fx_PopUpR", 0.6
- dof 110,2
- MoveIt = 1
- End Select
- End Sub
- Sub TrigLaunchEnd_Hit()
- RampDivertTimer.Enabled = FALSE
- Missed = FALSE
- PlaySound "fx_RampBallDropR"
- End Sub
- ' *********************************************************************
- ' ** **
- ' ** Supporting Score Functions **
- ' ** **
- ' *********************************************************************
- Sub AddScore(points)
- If (fpTilted = FALSE) and (fpGameInPlay = TRUE) Then
- If (EndOfBallTimer.Enabled = FALSE) Then Points = Points * PFScore
- nvScore(CurrentPlayer) = nvScore(CurrentPlayer) + Points
- BonusPoints(CurrentPlayer) = BonusPoints(CurrentPlayer) + 2
- If (DMDBusy = FALSE) Then
- Select Case PFScore
- 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)
- Case 2:
- DMD.Text = "[y2][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f7][b]DOUBLE SCORING"
- DMD2.Text = "[y3][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f7][b]DOUBLE SCORING"
- Case 3:
- DMD.Text = "[y2][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f7][b]TRIPLE SCORING"
- DMD2.Text = "[y2][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f7][b]TRIPLE SCORING"
- Case 4:
- DMD.Text = "[y2][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f7][b]QUADRUPLE SCORING"
- DMD2.Text = "[y3][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y18][f7][b]QUADRUPLE SCORING"
- End Select
- End If
- End if
- End Sub
- Sub AddJackpot(points)
- If (fpTilted = False) Then
- If (bMultiBallMode = TRUE) Then
- nvJackpot = nvJackpot + points
- End if
- End if
- End Sub
- Sub IncrementBonusMultiplier()
- Dim NewBonusLevel
- NewBonusLevel = BonusMultiplier(CurrentPlayer) + 1
- SetBonusMultiplier(NewBonusLevel)
- End Sub
- Sub SetBonusMultiplier(Level)
- BonusMultiplier(CurrentPlayer) = Level
- If (BonusMultiplier(CurrentPlayer) => 2) Then
- DMD.QueueText "[xc[y3][f6]BONUS X " & BonusMultiplier(CurrentPlayer), deScrollIn, 1200, TRUE
- DMD2.QueueText "[xc[y3][f6]BONUS X " & BonusMultiplier(CurrentPlayer), deScrollIn, 1200, TRUE
- End If
- End Sub
- ' *********************************************************************
- ' ** **
- ' ** Table Object Script Events **
- ' ** **
- ' *********************************************************************
- Sub LeftSlingshotRubber_Hit()
- AddScore(10)
- dof 103,2
- PlaySound "fx_Hit4", 0.8
- LeftSlingshotBulb1.FlashForMs 210, 75, BulbOn
- LeftSlingshotBulb2.FlashForMs 210, 75, BulbOn
- End Sub
- Sub RightSlingshotRubber_Hit()
- AddScore(10)
- dof 104,2
- PlaySound "fx_Hit4", 0.8
- RightSlingshotBulb1.FlashForMs 210, 75, BulbOn
- RightSlingshotBulb2.FlashForMs 210, 75, BulbOn
- End Sub
- ' *************************************
- ' ** **
- ' ** IN/OUT LANES **
- ' ** **
- ' *************************************
- Sub LeftInLaneTrigger_Hit()
- If (fpTilted = TRUE) Then Exit Sub
- If (LightNexusL.State = BulbOn) Then
- NexusTimer.Enabled = FALSE
- LightNexusL.State = BulbOff
- LightNexusR.State = BulbOff
- LightSAVE1.FlashForMs 500, 150, BulbOff
- LightSAVE2.FlashForMs 500, 150, BulbOff
- LightSAVE3.FlashForMs 500, 150, BulbOff
- LightSAVE4.FlashForMs 500, 150, BulbOff
- If (QuoteBusy = FALSE) and (BattyMode = FALSE) Then
- QuoteBusy = TRUE
- PlaySound "fx_Phone"
- PlayMusic 2, "vo_Hello2"
- Clip = 32: PlayMovie()
- Else
- PlaySound "fx_Hit9"
- End If
- ShootAgainLight.State = BulbBlink
- bBallSaverActive = TRUE
- BallSaverTimer.Set TRUE, BSTime
- AddScore(350)
- Exit Sub
- End If
- If (LightSAVE2.State = BulbOff) Then
- LightSAVE2.State = BulbOn: CheckSAVE()
- Else
- AddScore(10)
- End If
- set LastSwitchHit = LeftInLaneTrigger
- End Sub
- Sub RightInLaneTrigger_Hit()
- If (fpTilted = TRUE) Then Exit Sub
- If (LightNexusR.State = BulbOn) Then
- NexusTimer.Enabled = FALSE
- LightNexusL.State = BulbOff
- LightNexusR.State = BulbOff
- LightSAVE1.FlashForMs 500, 150, BulbOff
- LightSAVE2.FlashForMs 500, 150, BulbOff
- LightSAVE3.FlashForMs 500, 150, BulbOff
- LightSAVE4.FlashForMs 500, 150, BulbOff
- If (QuoteBusy = FALSE) and (BattyMode = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_WhatGeneration"
- Else
- PlaySound "fx_Hit9"
- End If
- DMD.QueueText "[y2][xc][f3]NEXUS 6[y18][f7]IS LIT", deScrollIn, 1800, TRUE
- DMD2.QueueText "[y3][xc][f3]NEXUS 6[y18][f7]IS LIT", deScrollIn, 1800, TRUE
- ShootAgainLight.State = BulbBlink
- bBallSaverActive = TRUE
- BallSaverTimer.Set TRUE, BSTime
- AddScore(350)
- Exit Sub
- End If
- If (LightSAVE3.State = BulbOff) Then
- LightSAVE3.State = BulbOn: CheckSAVE()
- Else
- AddScore(10)
- End If
- set LastSwitchHit = RightInLaneTrigger
- End Sub
- Sub LeftOutLaneTrigger_Hit()
- If (fpTilted = TRUE) Then Exit Sub
- If (LightSAVE1.State = BulbOff) Then
- LightSAVE1.State = BulbOn: CheckSAVE()
- Else
- AddScore(10)
- End If
- If (bBallSaverActive = FALSE) Then
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- If (BattyMode = TRUE) Then
- Select Case RandomNumber(3)
- Case 1: PlayMusic 2, "vo_Irrational"
- Case 2: PlayMusic 2, "vo_LiveInFear2"
- Case 3: PlayMusic 2, "vo_SupposedToBeGood"
- End Select
- Else
- If (BallsRemaining(CurrentPlayer) = 1) and (ExtraBallsAwards(CurrentPlayer) = 0) Then
- PlayMusic 2, "vo_ThroughHuh"
- OverlayMovie.Frame 884: OverlayMovieHUD.Frame 884
- 'MovieTimer.Set TRUE, 1500
- Else
- Select Case RandomNumber(12)
- Case 1: PlayMusic 2, "vo_NotGood"
- Case 2: PlayMusic 2, "vo_WhatHappended"
- Case 3: PlayMusic 2, "vo_Charming"
- Case 4: PlayMusic 2, "vo_TreatAFriend"
- Case 5: PlayMusic 2, "vo_SupposedToBeGood"
- Case 6: PlayMusic 2, "vo_KnownBetter"
- Case 7: PlayMusic 2, "vo_WhereGoing"
- Case 8: PlayMusic 2, "vo_Proud"
- Case 9: PlayMusic 2, "vo_Laugh"
- Case 10: PlayMusic 2, "vo_Embarrassing"
- Case 11: PlayMusic 2, "vo_BadJoke"
- Case 12: PlayMusic 2, "vo_NotHelping"
- End Select
- End If
- End If
- End If
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
- DMD.Text = "[yc][xc][f6][b]BALL LOST"
- DMD2.Text = "[yc][xc][f6][b]BALL LOST"
- Else
- If (JoiOn = TRUE) Then
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE: PlayMusic 2, "vo_JoiFixThat"
- Else
- PlaySound "fx_JoiOn"
- End If
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
- DMD.Text = "[yc][xc][f6][b]JOI SAVER"
- DMD2.Text = "[yc][xc][f6][b]JOI SAVER"
- CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
- IgnoreHit = TRUE
- PlungerKicker.CreateBall: AddTrackedBall(PlungerKicker)
- PlungerKicker.SolenoidPulse
- AutoFire.Set TRUE, 1200
- End If
- End If
- set LastSwitchHit = LeftOutLaneTrigger
- End Sub
- Sub RightOutLaneTrigger_Hit()
- If (fpTilted = TRUE) Then Exit Sub
- If (LightSAVE4.State = BulbOff) Then
- LightSAVE4.State = BulbOn: CheckSAVE()
- Else
- AddScore(10)
- End If
- set LastSwitchHit = RightOutLaneTrigger
- End Sub
- ' MORE HUMAN THAN HUMAN. Lights Nexus 6 inserts for Ball Saver activation (time limited)
- Sub CheckSAVE()
- If (LightSAVE1.State=BulbOn) and (LightSAVE2.State=BulbOn) and (LightSAVE3.State=BulbOn) and (LightSAVE4.State=BulbOn) Then
- LightNexusL.State = BulbOn
- LightNexusR.State = BulbOn
- NexusTimer.Set TRUE, 15000
- AddScore(300)
- DMD.QueueText "[y3][xc][f3]NEXUS 6[y18][f7]IS LIT", deScrollIn, 1800, TRUE
- DMD2.QueueText "[y3][xc][f3]NEXUS 6[y18][f7]IS LIT", deScrollIn, 1800, TRUE
- PlaySound "fx_Phone"
- Else
- AddScore(30)
- PlaySound "fx_Hit6"
- End If
- End Sub
- Sub NexusTimer_Expired()
- NexusTimer.Enabled = FALSE
- LightNexusL.State = BulbOff
- LightNexusR.State = BulbOff
- LightSAVE1.FlashForMs 300, 150, BulbOff
- LightSAVE2.FlashForMs 300, 150, BulbOff
- LightSAVE3.FlashForMs 300, 150, BulbOff
- LightSAVE4.FlashForMs 300, 150, BulbOff
- End Sub
- ' ************************************
- ' ** **
- ' ** KICKER BUMP **
- ' ** **
- ' ************************************
- ' when both rollover lanes are completed, the Tyrell elevator is lit. When the kicker is hit
- ' and the elevater light is on, you will move up a floor towards Tyrell's penthouse suite.
- ' Get to the top to meet him.
- Sub KickerBump_Hit()
- If (IgnoreHit = TRUE) Then IgnoreHit = FALSE: Exit Sub
- PlaySound "fx_ScoopHitR"
- EffectMusic 4, FadeOutAndStop, 0, 1000 ' stop the background fx...
- AddScore(0)
- If (fpTilted = TRUE) Then KickerBump.DestroyBall: DeleteTrackedBall(KickerBump): BallsOnPlayfield = 0: Exit Sub
- If (LightElevator.State = BulbOn) Then
- If (BattyMode = TRUE) Then
- PlaySound "fx_Door2", 0.8
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_Laugh"
- LightElevator.FlashForMs 1000, 200, BulbOff
- KickerBump.DestroyBall: DeleteTrackedBall(KickerBump)
- IgnoreHit = TRUE
- AllPlasOff()
- Flasher1.FlashForMs 1200, 75, BulbOff
- CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
- Kicker2Timer.Set TRUE, 1200
- Exit Sub
- End If
- If (SebastianMode = TRUE) and (LightLO3.State = BulbBlink) Then
- SebastianHit = SebastianHit + 1: MissionHit = MissionHit + 250
- AddScore(MissionHit)
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]SEBASTIAN HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]SEBASTIAN HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- If (QuoteBusy = FALSE) Then
- Select Case SebastianHit
- Case 4: PlayMusic 2, "vo_Check2": QuoteBusy = TRUE
- Case 5: PlayMusic 2, "vo_CheckMate2": QuoteBusy = TRUE
- End Select
- Else
- QuoteBusy = FALSE
- PlaySound "fx_Hit8"
- End If
- If (SebastianHit = 6) Then
- AssWin()
- LightElevator.State = BulbOff
- LightTyrell.State = BulbOff
- LightLO3.State = BulbOff
- ModeActive = FALSE
- SebastianMode = FALSE
- StopMusic 5: MusicResume.Set TRUE, 2000
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE: PlayMusic 2, "vo_BroughtFriend2": Clip = 31: PlayMovie()
- Else
- OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
- OverlayMovie.Frame 591, 592, 591: OverlayMovieHUD.Frame 591, 592, 591
- MovieTimer.Set TRUE, 2000
- End If
- Else
- 'LightElevator.State = BulbOff
- LightTyrell.State = BulbOn
- MovieTimer.Set TRUE, 100
- End If
- KickerBump.DestroyBall: DeleteTrackedBall(KickerBump)
- IgnoreHit = TRUE
- CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
- Kicker2Timer.Set TRUE, 3000
- Exit Sub
- End If
- If (LeonMode = TRUE) and (LeonHit = 0) Then
- LightRep.State = BulbBlink
- LightTyrell.State = BulbOff
- LightElevator.State = BulbOff
- LeonHit = LeonHit + 1: MissionHit = MissionHit + 250
- AddScore(MissionHit)
- EffectMusic 3, FadeOutAndStop, 0, 1000
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_IQTest", FALSE, 1, 1800
- Case 2: PlayMusic 2, "vo_TakeTests", FALSE, 1, 2000
- End Select
- PlaySound "fx_ElevatorRide"
- CokeSign.UpdateInterval = 2000
- CokeSign.Frame 45, 48
- MoveToKick.Set TRUE, 6200
- PreKick.Set TRUE, 6400
- SignOffTimer.Set TRUE, 6400
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- MovieTimer.Set TRUE, 100
- Exit Sub
- End If
- If (TyrellMode = TRUE) and (LightLO3.State = BulbBlink) Then
- TyrellHit = TyrellHit + 1: MissionHit = MissionHit + 250
- AddScore(MissionHit)
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]TYRELL HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]TYRELL HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case TyrellHit
- Case 1: PlayMusic 2, "vo_ComeSooner": Time = 2000
- Case 2: PlayMusic 2, "vo_MeetMaker": Time = 2500
- Case 3:
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_DeathProblem": Time = 5000
- Case 2: PlayMusic 2, "vo_MakerRepair": Time = 2300
- End Select
- Case 4: PlayMusic 2, "vo_WantMoreLife": Time = 3500
- Case 5:
- Select Case RandomNumber(5)
- Case 1: PlayMusic 2, "vo_AlterationFatal": Time = 4500
- Case 2: PlayMusic 2, "vo_CodingSeq": Time = 4000
- Case 3: PlayMusic 2, "vo_AlreadyTried": Time = 6000
- Case 4: PlayMusic 2, "vo_Brightly": Time = 6000
- Case 5: PlayMusic 2, "vo_Questionable": Time = 4200
- End Select
- End Select
- Else
- PlaySound "fx_Hit8"
- End If
- If (TyrellHit = 6) Then
- LightElevator.State = BulbOff
- LightTyrell.State = BulbOff
- LightLO3.State = BulbOff
- ModeActive = FALSE: TyrellMode = FALSE
- StopMusic 5
- Clip = 6: PlayMovie()
- PlaySound "vfx_TyrellDeath"
- Time = 3000: MusicResume.Set TRUE, 3000
- AssWin()
- Else
- MovieTimer_Expired()
- End If
- KickerBump.DestroyBall: DeleteTrackedBall(KickerBump)
- IgnoreHit = TRUE
- CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
- PreKick.Set TRUE, Time
- Exit Sub
- End If
- ' move up the Tyrell tower. Get to the top floor to win an extra ball...
- DMDBusy = TRUE
- DMD.Text = "[yc][xc][f6]TYRELL TOWER"
- DMD2.Text = "[yc][xc][f6]TYRELL TOWER"
- Floor = Floor + 1
- LightTyrell.State = BulbOff
- ElevatorTimer.Set TRUE, 2000
- Select Case Floor
- Case 1:
- Clip = 14: PlayMovie()
- 'OverlayMovie.Frame 234: OverlayMovieHUD.Frame 234 ' ground to 1st floor...
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(4)
- Case 1,3,4: PlayMusic 2, "vo_FloorNumber", FALSE, 1, 500
- Case 2: PlayMusic 2, "vo_TyrellCorp", FALSE, 1, 400
- End Select
- End If
- PlaySound "fx_ElevatorRide"
- CokeSign.UpdateInterval = 2000
- CokeSign.Frame 45, 48
- AddScore(350)
- Case 2:
- OverlayMovie.Frame 235: OverlayMovieHUD.Frame 235 ' 1st to 2nd floor...
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_AtThisHour", FALSE, 1, 500
- PlaySound "fx_ElevatorRide"
- CokeSign.UpdateInterval = 2000
- CokeSign.Frame 52, 55
- AddScore(550)
- Case 3:
- OverlayMovie.Frame 236: OverlayMovieHUD.Frame 236' 2nd to 3rd floor...
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_OnYourMind", FALSE, 1, 500
- PlaySound "fx_ElevatorRide"
- CokeSign.UpdateInterval = 2000
- CokeSign.Frame 55, 58
- AddScore(750)
- Case 4:
- OverlayMovie.Frame 237: OverlayMovieHUD.Frame 237 ' 3rd to 4th floor..
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_BrainStorm", FALSE, 1, 500
- PlaySound "fx_ElevatorRide"
- CokeSign.UpdateInterval = 2000
- CokeSign.Frame 58, 61
- AddScore(950)
- Case 5:
- OverlayMovie.Frame 238: OverlayMovieHUD.Frame 238 ' 4th to penthouse
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ComeUp", FALSE, 1, 500
- PlaySound "fx_ElevatorRide"
- PlaySound "fx_Door2"
- CokeSign.UpdateInterval = 2000
- CokeSign.Frame 61, 64
- AddScore(1150)
- Case 6:
- ElevatorTimer.Enabled = FALSE
- 'OverlayMovie.Frame 238: OverlayMovieHUD.Frame 238 ' penthouse (Extra Ball)
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Owl", FALSE, 1, 500
- Clip = 12: PlayMovie()
- PlaySound "fx_Combo2"
- CokeSign.Frame 64
- StopMusic 4
- AddScore(1500)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 2000
- DMD.Text = "[yc][xc][f6][b]EXTRA BALL"
- DMD2.Text = "[yc][xc][f6][b]EXTRA BALL"
- AwardEB()
- Floor = 0
- End Select
- AllPlasOff()
- LightSeqPF.Play SeqBlinking, , 2, 200
- LightSeqPF.Play SeqUpOn, 30, 3
- LightElevator.FlashForMs 1000, 200, BulbOff
- MoveToKick.Set TRUE, 6200
- PreKick.Set TRUE, 6500
- SignOffTimer.Set TRUE, 7000
- Else
- 'If (LightSuperPops.State = BulbOn) Then
- ' PlaySound "fx_26", 0.6
- ' KickerBump.SolenoidPulse: PlaySound "fx_ScoopExit"
- ' AddScore(5)
- 'Else
- AllPlasOff()
- Flasher1.FlashForMs 1200, 120, BulbOff
- KickerBump.DestroyBall: DeleteTrackedBall(KickerBump)
- PlaySound "fx_PreKick2"
- IgnoreHit = TRUE
- CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
- Kicker2Timer.Set TRUE, 1000
- AddScore(20)
- 'End If
- End If
- End Sub
- Sub ElevatorTimer_Expired()
- ElevatorTimer.Enabled = FALSE
- If (Floor = 1) Then
- Clip = 24: PlayMovie()
- Else
- Clip = 28: PlayMovie()
- End If
- DMD.Text = "[yc][xc][f6]NEXT FLOOR[b][x10][y1]^[y8]^[x108][y1]^[y8]^"
- DMD2.Text = "[yc][xc][f6]NEXT FLOOR[b][x10][yc]^[yc]^[x108][yc]^[yc]^"
- DMDTimer.Set TRUE, 4000
- End Sub
- Sub MoveToKick_Expired()
- MoveToKick.Enabled = FALSE
- IgnoreHit = TRUE
- KickerBump.DestroyBall: DeleteTrackedBall(KickerBump)
- CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
- AddScore(0)
- End Sub
- ' ************************************
- ' ** **
- ' ** RIGHT SCOOP **
- ' ** **
- ' ************************************
- ' - starts mystery feature when lit
- ' - starts next lit mission
- ' - mission shot during certain cases
- ' - eject point from bumper area and plunger lane
- Sub ReHitKick_Expired()
- ReHitKick.Enabled = FALSE
- ReHit = TRUE
- CaseScoop_Hit()
- End Sub
- Sub CaseScoop_Hit()
- If (IgnoreHit = TRUE) Then IgnoreHit = FALSE: Exit Sub
- If (ReHit = FALSE) Then PlaySound "fx_ScoopHitR"
- ReHit = FALSE
- ' if mystery is lit, we do this first...
- If (LightSnakePit.State = BulbOn) Then
- LightSnakePit.State = BulbOff
- LightSnakePit2.State = BulbOn
- ScoopyDoo = 0
- ' Batty will just laugh at you, no mystery when a large Dutchman is chasing your ass...
- If (BattyMode = TRUE) Then
- PlayMusic 2, "vo_HaHaHa"
- Kicker2Timer.Set TRUE, 500
- Exit Sub
- End If
- If (ModeActive = TRUE) Then
- EffectMusic 5, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 6000
- Else
- If (BR2049 = TRUE) Then
- BR2049 = FALSE
- StopMusic 5: MusicResume.Set TRUE, 6000
- Else
- EffectMusic 1, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 6000
- End If
- End If
- PlayMusic 4, "vo_SnakePit"
- If (QuoteBusy = FALSE) and (SnakePlay = FALSE) Then
- SnakePlay = TRUE: QuoteBusy = TRUE
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_BuySnakes"
- Case 2: PlayMusic 2, "vo_JerkTaffy"
- End Select
- End If
- ' first, show Snake Pit start on LCD...
- OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
- OverlayMovie.Frame 217: OverlayMovieHUD.Frame 217
- ' then start the mystery selection...
- MovieTimer.Set TRUE, 8000
- AddScore(50)
- ' spin, spin, spin the wheel of justice....
- DMDTimer.Enabled = FALSE
- DMD.FlushQueue: DMD2.FlushQueue
- DMD.QueueText "[y1][xc][f6][b]MYSTERY", deNone, 2800, FALSE
- DMD.QueueText "[y1][xc][f6]SMALL MONEY", deNone, 200, FALSE, "fx_8"
- DMD.QueueText "[y1][xc][f6]EXTRA BALL", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]BALL SAVER", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]SPECIAL", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]BIG MONEY", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]SUPER RAMPS", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]MONEY SPINNER", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]SUPER POPS", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]ADV MODE", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]EXTRA BALL", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]BALL SAVER", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]SPECIAL", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]BIG MONEY", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]SUPER RAMPS", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]MONEY SPINNER", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]SUPER POPS", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]SMALL MONEY", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]EXTRA BALL", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]BALL SAVER", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]SPECIAL", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]BIG MONEY", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]SUPER RAMPS", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]MONEY SPINNER", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]SUPER POPS", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]ADV MODE", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]EXTRA BALL", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]BALL SAVER", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]SPECIAL", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]BIG MONEY", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]SUPER RAMPS", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]MONEY SPINNER", deNone, 200, FALSE
- DMD.QueueText "[y1][xc][f6]SUPER POPS", deNone, 200, FALSE
- If (LightMode.State = BulbBlink) Then
- ReHitKick.Set TRUE, 8200
- Else
- PreKick.Set TRUE, 7500
- End If
- MysterySpin = 2: MysteryTimer.Set TRUE, 2800
- Exit Sub
- End If
- If (LightMode.State = BulbBlink) Then
- ScoopyDoo = 0
- If (BattyReady = TRUE) Then
- LightMode.State = BulbOff
- BattyReady = FALSE
- StartBatty()
- Exit Sub
- End If
- If (BattyMode = TRUE) Then
- BattyMode = FALSE
- AllPlasOff(): LightSeqPF.Play SeqAllOff
- FlasherL.FlashForMs 1000, 75, BulbOff
- FlasherM.FlashForMs 1000, 75, BulbOff
- Flasher1.FlashForMs 1000, 75, BulbOff
- PlayMusic 3, "Music_Cue3", FALSE, 0.7
- StopMusic 1: StopMusic 5: StopMusic 6
- PlayMusic 1, "Music_BRTrack11", FALSE, 0.6, 37000
- QuoteBusy = TRUE: PlayMusic 2, "vo_SeenThings2"
- OverlayMovie.UpdateInterval = 14000: OverlayMovieHUD.UpdateInterval = 14000
- OverlayMovie.Frame 881,883: OverlayMovieHUD.Frame 881,883
- AddScore(25000)
- DMD.FlushQueue: DMD2.FlushQueue
- DMD.QueueText "[y3][xc][f3][b]GAME COMPLETED[/b][y18][f1]GOOD JOB BLADE RUNNER", deNone, 4000, FALSE
- DMD.QueueText "[yc][xc][f6]$25,000", deScrollIn, 2000, FALSE
- DMD.QueueText "[y3][xc][f3]NEW GAME[y18][f1]WILL BEGIN SHORTLY", deFlip, 3000, TRUE
- DMD2.QueueText "[y3][xc][f3][b]GAME COMPLETED[/b][y18][f2]GOOD JOB BLADE RUNNER", deNone, 4000, FALSE
- DMD2.QueueText "[yc][xc][f6]$25,000", deScrollIn, 2000, FALSE
- DMD2.QueueText "[y3][xc][f3]NEW GAME[y18][f2]WILL BEGIN SHORTLY", deFlip, 3000, TRUE
- PreKick.Set TRUE, 37000
- MovieTimer.Set TRUE, 40000
- ' game will now reset...
- LightLeonMain.Set BulbOff, "10", 150
- LightZhoraMain.Set BulbOff, "10", 150
- LightPrisMain.Set BulbOff, "10", 150
- LightTyrellMain.Set BulbOff, "10", 150
- LightSebastianMain.Set BulbOff,"10", 150
- LightChewMain.Set BulbOff, "10", 150
- LightRachaelMain.Set BulbOff, "10", 150
- LightGaffMain.Set BulbOff, "10", 150
- LightMode.State = BulbOff
- RachaelHit = 0
- SebastianHit = 0
- GaffHit = 0
- PrisHit = 0
- ZhoraHit = 0
- LeonHit = 0
- TyrellHit = 0
- ChewHit = 0
- LightRing1.State = BulbOff
- LightRing2.State = BulbOff
- LightRing3.State = BulbOff
- LightRing4.State = BulbOff
- LightRing5.State = BulbOff
- LightRing6.State = BulbOff
- LightRing7.State = BulbOff
- LightRing8.State = BulbOff
- AwardEB()
- Exit Sub
- End If
- If (ComboTimer.Enabled = TRUE) Then
- ComboTimer.Enabled = FALSE
- LightRampL.Set BulbOff, "10", 125
- LightRampR.Set BulbOff, "10", 125
- LightLaneL.Set BulbOff, "10", 125
- LightLaneR.Set BulbOff, "10", 125
- End If
- If (SSTimer.Enabled = TRUE) Then
- SSTimer.Enabled = FALSE
- If (ModeActive = FALSE) Then
- LightRampL.State = BulbOff
- LightRampR.State = BulbOff
- End If
- End If
- If (WheelSpin.Enabled = TRUE) Then
- ReHitKick.Set TRUE, 2000
- 'WheelSpin.Enabled = FALSE
- 'StopMusic 4
- ' return light to their previous state...
- 'LightLeonMain.State = TempM1
- 'LightZhoraMain.State = TempM2
- 'LightPrisMain.State = TempM3
- 'LightTyrellMain.State = TempM4
- 'LightSebastianMain.State = TempM5
- 'LightChewMain.State = TempM6
- 'LightRachaelMain.State = TempM7
- 'LightGaffMain.State = TempM8
- Exit Sub
- End If
- LightMode.State = BulbOff
- 'If (PrisMode = TRUE) Then
- ' PlayMusic 2, "vo_Hello"
- ' Kicker2Timer.Set TRUE, 4000
- 'Exit Sub
- 'End If
- MissionHit = AdjMissionHit
- ModeActive = TRUE
- MusicResume.Enabled = FALSE
- EffectMusic 1, FadeOutAndPause, 0, 0
- StopMusic 4: StopMusic 6
- TakeOffTimer.Enabled = FALSE
- LightPurge1.State = BulbOff
- LightPurge2.State = BulbOff
- AddScore(750)
- DMD.Text = "[yc][xc][f6]NEW ASSIGNMENT"
- DMD2.Text = "[yc][xc][f6]NEW ASSIGNMENT"
- ' Leon mode. Give him the VK test. Shoot left lane and drop the ball in the flashing Tyrell lane.
- If (LightLeonMain.State = BulbBlink) Then
- LightLeonMain.State = BulbOn
- LeonMode = TRUE
- LightRep.State = BulbOff
- LightElevator.State = BulbOff
- 'LeonHit = 0
- 'LightCentre.State = BulbOff
- 'LightCentrePurge.State = BulbOff
- 'LightBlade.State = BulbOff
- 'LightRunner.State = BulbOff
- 'LightPurge1.State = BulbOff
- 'LightPurge2.State = BulbOff
- 'LightSuperRampL.State = BulbOff
- 'LightSuperRampR.State = BulbOff
- 'SuperRampsTimer.Enabled = FALSE
- LightRO1.State = BulbOff
- LightRO2.State = BulbOff
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_UsedToBe"
- PreKick.Set TRUE, 5000
- Else
- PlaySound "fx_25"
- QuoteBusy = FALSE
- PreKick.Set TRUE, 1500
- End If
- PlayMusic 5, "Music_Mode", FALSE, 0.4
- MovieTimer.Set TRUE, 100
- Select Case LeonHit
- Case 0:
- LightTyrell.State = BulbOn ' direct ball into rollover lanes...
- LightLO3.State = BulbBlink
- Select Case RandomNumber(2)
- Case 1: LightRO1.State = BulbBlink
- Case 2: LightRO2.State = BulbBlink
- End Select
- Case 1:
- LightRep.State = BulbBlink
- Case 2,3:
- LightCentrePurge.State = BulbBlink
- Case 4:
- LightRampL.State = BulbBlink
- Case 5,6:
- KillLeon = TRUE
- PlayMusic 5, "Music_BRTrack8", TRUE, 0.6
- MovieTimer_Expired()
- RedOn()
- LightCentrePurge.State = BulbBlink
- End Select
- Exit Sub
- End If
- If (LightZhoraMain.State = BulbBlink) Then
- LightZhoraMain.State = BulbOn
- ZhoraMode = TRUE
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE: PlayMusic 2, "vo_Exploited"
- PreKick.Set TRUE, 3000
- Else
- PlaySound "fx_25"
- QuoteBusy = FALSE
- PreKick.Set TRUE, 1500
- End If
- If (TrackPlayed = 2) Then
- PlayMusic 5, "Music_BRTrack5", TRUE, 0.6
- Else
- PlayMusic 5, "Music_BRTrack4", TRUE, 0.6
- End If
- OverlayMovie.UpdateInterval = 1000
- OverlayMovie.Frame 225: OverlayMovieHUD.Frame 225
- ' the objective here is to use the photo machine to analyse a photo found
- ' in Leon's appartment. Then find and kill Zhora.
- Select Case ZhoraHit
- Case 0,1,2,3,4,5: ' we need the range lane, drop targets and stop range feature if running...
- LightDT.State = BulbBlink
- If (ShootingMode=TRUE) or (VKMode=TRUE) or (PhotoMode=TRUE) Then
- RangeTimer.Enabled = FALSE
- DT_1.PopDown
- DT_2.PopDown
- DT_3.PopDown
- DT_4.PopDown
- End If
- If (ShootingMode = TRUE) Then ShootingMode = FALSE: LightRange.State = BulbOff
- If (VKMode = TRUE) Then VKMode = FALSE: LightVK.State = BulbOff
- If (PhotoMode = TRUE) Then PhotoMode = FALSE: LightPhoto.State = BulbOff
- Case 6:
- KillZhora = TRUE
- PlayMusic 5, "Music_BRTrack8", TRUE, 0.6
- MovieTimer_Expired()
- RedOn()
- LightCentrePurge.State = BulbBlink
- End Select
- Exit Sub
- End If
- If (LightPrisMain.State = BulbBlink) Then
- LightPrisMain.State = BulbOn
- PrisMode = TRUE
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE: PlayMusic 2, "vo_YourName"
- PreKick.Set TRUE, 3000
- Else
- PlaySound "fx_25"
- QuoteBusy = FALSE
- PreKick.Set TRUE, 1500
- End If
- PlayMusic 5, "Music_Mode", FALSE, 0.4
- OverlayMovie.UpdateInterval = 1000
- OverlayMovie.Frame 224: OverlayMovieHUD.Frame 224
- Select Case PrisHit
- Case 0,1,2,3,4: LightRep.State = BulbBlink
- Case 5: LightRampR.State = BulbBlink
- Case 6,7:
- PlayMusic 5, "Music_BRTrack8", TRUE, 0.6
- MovieTimer_Expired()
- RedOn()
- LightCentrePurge.State = BulbBlink
- End Select
- Exit Sub
- End If
- ' all shots go to the elevator...
- If (LightTyrellMain.State = BulbBlink) Then
- LightTyrellMain.State = BulbOn
- TyrellMode = TRUE
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE: PlayMusic 2, "vo_Moto"
- PreKick.Set TRUE, 3500
- Else
- PlaySound "fx_25"
- QuoteBusy = FALSE
- PreKick.Set TRUE, 1500
- End If
- If (TrackPlayed = 6) Then
- PlayMusic 5, "Music_BRTrack11", TRUE, 0.6
- Else
- PlayMusic 5, "Music_BRTrack8", TRUE, 0.6
- End If
- OverlayMovie.Frame 222: OverlayMovieHUD.Frame 222
- ' get the ball into the elevator and ride up to Tyrell's penthouse...
- LightTyrell.State = BulbOn
- LightLO3.State = BulbBlink
- LightElevator.State = BulbOn
- Exit Sub
- End If
- If (LightSebastianMain.State = BulbBlink) Then
- LightSebastianMain.State = BulbOn
- SebastianMode = TRUE
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_Savior"
- Case 2: PlayMusic 2, "vo_StaysPut"
- End Select
- PreKick.Set TRUE, 2500
- Else
- PlaySound "fx_25"
- QuoteBusy = FALSE
- PreKick.Set TRUE, 1500
- End If
- PlayMusic 5, "Music_BRTrack10", TRUE, 0.6
- Select Case SebastianHit
- Case 0,1,2:
- OverlayMovie.Frame 221: OverlayMovieHUD.Frame 221
- LightLaneL.State = BulbBlink
- LightLaneR.State = BulbBlink
- MagnetActive = FALSE
- LightCentre.State = BulbOff
- LightBlade.State = BulbOff
- LightRunner.State = BulbOff
- LightPurge1.State = BulbOff
- LightPurge2.State = BulbOff
- LightCentrePurge.State = BulbOff
- Case 3,4,5:
- MovieTimer_Expired()
- LightLaneL.State = BulbOff
- LightLaneR.State = BulbOff
- LightTyrell.State = BulbOn
- LightElevator.State = BulbOn
- LightLO3.State = BulbBlink
- End Select
- Exit Sub
- End If
- If (LightChewMain.State = BulbBlink) Then
- LightChewMain.State = BulbOn
- ChewMode = TRUE
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE: PlayMusic 2, "vo_GoAway"
- PreKick.Set TRUE, 3000
- Else
- PlaySound "fx_25"
- QuoteBusy = FALSE
- PreKick.Set TRUE, 1500
- End If
- PlayMusic 5, "Music_MixTrack", TRUE, 0.6
- OverlayMovie.Frame 223: OverlayMovieHUD.Frame 223
- LightRampL.State = BulbBlink
- Exit Sub
- End If
- If (LightRachaelMain.State = BulbBlink) Then
- LightRachaelMain.State = BulbOn
- RachaelMode = TRUE
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE: PlayMusic 2, "vo_MachineOnIt"
- PreKick.Set TRUE, 4200
- Else
- PlaySound "fx_10"
- QuoteBusy = FALSE
- PreKick.Set TRUE, 1500
- End If
- OverlayMovie.Frame 212: OverlayMovieHUD.Frame 212
- PlayMusic 5, "Music_BRTrack3", TRUE, 0.6
- LightDT.State = BulbBlink
- RangeTimer.Enabled = FALSE
- If (ShootingMode = TRUE) Then ShootingMode = FALSE: LightRange.State = BulbOff
- If (VKMode = TRUE) Then VKMode = FALSE: LightVK.State = BulbOff
- If (PhotoMode = TRUE) Then PhotoMode = FALSE: LightPhoto.State = BulbOff
- DT_1.PopDown
- DT_2.PopDown
- DT_3.PopDown
- DT_4.PopDown
- Exit Sub
- End If
- ' all shots are the same...
- If (LightGaffMain.State = BulbBlink) Then
- LightGaffMain.State = BulbOn
- GaffMode = TRUE
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE: PlayMusic 2, "vo_Gaff"
- PreKick.Set TRUE, 2000
- Else
- PlaySound "fx_25"
- QuoteBusy = FALSE
- PreKick.Set TRUE, 1500
- End If
- PlayMusic 5, "Music_BRTrack9", TRUE, 0.6
- OverlayMovie.Frame 215: OverlayMovieHUD.Frame 215
- LightLaneL.State = BulbBlink
- LightLaneR.State = BulbBlink
- MagnetActive = FALSE
- 'LightCentre.State = BulbOff
- 'LightBlade.State = BulbOff
- 'LightRunner.State = BulbOff
- LightPurge1.State = BulbOff
- LightPurge2.State = BulbOff
- LightCentrePurge.State = BulbOff
- Exit Sub
- End If
- PreKick.Set TRUE, 500
- Exit Sub
- End If
- ScoopyDoo = ScoopyDoo + 1
- If (ScoopyDoo = 3) Then
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_NotComeHere"
- IgnoreHit = TRUE
- CaseScoop.DestroyBall: DeleteTrackedBall(CaseScoop)
- KickerBump.CreateBall: AddTrackedBall(KickerBump)
- AllPlasOff(): FlashMe = 0: PFFlashTimer.Set TRUE, 100
- BumpFire.Set TRUE, 1800
- Else
- FlasherM.State = BulbOff
- AllPlasOff()
- LightSeqPF.Play SeqBlinking, , 1, 300
- Flasher1.FlashForMs 300, 300, BulbOff
- PlaySound "fx_Buzzer", 0.8
- Kicker2Timer.Set TRUE, 500
- AddScore(30)
- End If
- set LastSwitchHit = CaseScoop
- End Sub
- Sub BumpFire_Expired()
- BumpFire.Enabled = FALSE
- KickerBump.SolenoidPulse
- PlaySound "fx_Hit1"
- End Sub
- Dim ScoopyDoo
- Sub PreKick_Expired()
- PreKick.Enabled = FALSE
- If (Purge = TRUE) Then
- LightRing1.State = BulbOff
- LightRing2.State = BulbOff
- LightRing3.State = BulbOff
- LightRing4.State = BulbOff
- LightRing5.State = BulbOff
- LightRing6.State = BulbOff
- LightRing7.State = BulbOff
- LightRing8.State = BulbOff
- FlasherPolice1.State = BulbOff
- FlasherPolice2.State = BulbOff
- SuperRamps = TRUE
- 'CokeSign.Frame 28
- KickerLane.DestroyBall: DeleteTrackedBall(KickerLane)
- CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
- 'PlaySound "fx_SpinnerTakeOff"
- 'MovieTimer.Set TRUE, 100
- 'AllPlasOff()
- Flasher1.FlashForMs 550, 75, BulbOff
- PlaySound "fx_PreKick"
- Kicker2Timer.Set TRUE, 550
- DMD.QueueText "[y3][xc][f3]SUPER RAMPS[y18][f7]ACTIVATED", deScrollIn, 1800, TRUE
- DMD2.QueueText "[y3][xc][f3]SUPER RAMPS[y18][f7]ACTIVATED", deScrollIn, 1800, TRUE
- Else
- PlaySound "fx_PreKick"
- AllPlasOff() 'PFFlashTimer.Set TRUE, 550
- Flasher1.FlashForMs 550, 50, BulbOff
- Kicker2Timer.Set TRUE, 550
- End If
- End Sub
- Sub Kicker2Timer_Expired()
- Kicker2Timer.Enabled = FALSE
- CaseScoop.SolenoidPulse
- PlaySound "fx_ScoopExit"
- dof 112,2
- If (Purge = TRUE) Then
- Purge = FALSE
- PlaySound "fx_Whoosh"
- Else
- If (PlayLeon = TRUE) Then
- PlayLeon = FALSE
- Clip = 10: PlayMovie()
- PlaySound "vfx_LeonShoot"
- Else
- PlaySound "fx_GunShot3"
- End If
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 200
- LightSeqPF.Play SeqBlinking, , 1, 200
- End If
- End Sub
- Dim PlayLeon
- Sub MysteryTimer_Expired()
- MysteryTimer.Set TRUE, 2300
- DMDBusy = TRUE: DMDTimer.Set TRUE, 2300
- MysterySpin = MysterySpin - 1
- If (MysterySpin = 0) Then
- MysteryTimer.Enabled = FALSE
- OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
- If (JoiOn = TRUE) Then
- If (BallsRemaining(CurrentPlayer) = 1) Then
- Select Case RandomNumber(3)
- Case 1:
- PlaySound "fx_JoiOn": CokeSign.UpdateInterval = 66: CokeSign.Frame 210, 247: SignOffTimer.Set TRUE, 2400
- OverlayMovie.Frame 241, 242, 241: OverlayMovieHUD.Frame 241, 242, 241 ' extra ball...
- DMD.Text = "[yc][xc][f6][bf]EXTRA BALL"
- DMD2.Text = "[yc][xc][f6][bf]EXTRA BALL"
- ExtraBallsAwards(CurrentPlayer) = ExtraBallsAwards(CurrentPlayer) + 1
- ShootAgainLight.State = BulbOn
- Case 2:
- DMD.Text = "[yc][xc][f6][bf]ADV MODE"
- DMD2.Text = "[yc][xc][f6][bf]ADV MODE"
- Ass = Ass + 1
- OverlayMovie.Frame 226, 227, 226: OverlayMovieHUD.Frame 226, 227, 226 ' adv mode...
- PlaySound "fx_JoiOn": CokeSign.UpdateInterval = 66: CokeSign.Frame 210, 247: SignOffTimer.Set TRUE, 2400
- If (LightTyrellMain.State = BulbOff) Then LightTyrellMain.State = BulbOn: Exit Sub
- If (LightSebastianMain.State = BulbOff) Then LightSebastianMain.State = BulbOn: Exit Sub
- If (LightChewMain.State = BulbOff) Then LightChewMain.State = BulbOn: Exit Sub
- If (LightRachaelMain.State = BulbOff) Then LightRachaelMain.State = BulbOn: Exit Sub
- If (LightGaffMain.State = BulbOff) Then LightGaffMain.State = BulbOn: Exit Sub
- Case 3:
- OverlayMovie.Frame 231, 232, 231: OverlayMovieHUD.Frame 231, 232, 231 ' cash..
- DMD.FlushQueue: DMD2.FlushQueue
- DMD.QueueText "[yc][xc][f6][bf]SMALL CASH", deNone, 1000, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]SMALL CASH", deNone, 1000, FALSE
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_NoSuchLuck", FALSE, 1, 500
- Select Case RandomNumber(5)
- Case 1: DMD.QueueText "[yc][xc][f6]$ 250", deFlip, 1000, TRUE: AddScore(250)
- Case 2: DMD.QueueText "[yc][xc][f6]$ 300", deFlip, 1000, TRUE: AddScore(300)
- Case 3: DMD.QueueText "[yc][xc][f6]$ 350", deFlip, 1000, TRUE: AddScore(350)
- Case 4: DMD.QueueText "[yc][xc][f6]$ 400", deFlip, 1000, TRUE: AddScore(400)
- Case 5: DMD.QueueText "[yc][xc][f6]$ 450", deFlip, 1000, TRUE: AddScore(450)
- End Select
- End Select
- Else
- If (Ass < 2) Then
- PlaySound "fx_JoiOn": CokeSign.UpdateInterval = 66: CokeSign.Frame 210, 247: SignOffTimer.Set TRUE, 2400
- DMD.Text = "[yc][xc][f6][bf]ADV MODE"
- DMD2.Text = "[yc][xc][f6][bf]ADV MODE"
- Ass = Ass + 1
- OverlayMovie.Frame 226, 227, 226: OverlayMovieHUD.Frame 226, 227, 226 ' adv mode...
- 'If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_WhatsThis"
- If (LightTyrellMain.State = BulbOff) Then LightTyrellMain.State = BulbOn: Exit Sub
- If (LightSebastianMain.State = BulbOff) Then LightSebastianMain.State = BulbOn: Exit Sub
- If (LightChewMain.State = BulbOff) Then LightChewMain.State = BulbOn: Exit Sub
- If (LightRachaelMain.State = BulbOff) Then LightRachaelMain.State = BulbOn: Exit Sub
- If (LightGaffMain.State = BulbOff) Then LightGaffMain.State = BulbOn: Exit Sub
- Else
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_Prize2", FALSE, 1, 500
- PlaySound "fx_JoiOn": CokeSign.UpdateInterval = 66: CokeSign.Frame 210, 247: SignOffTimer.Set TRUE, 2400
- DMD.FlushQueue: DMD2.FlushQueue
- DMD.QueueText "[yc][xc][f6][bf]BIG CASH", deNone, 1000, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]BIG CASH", deNone, 1000, FALSE
- Select Case RandomNumber(5)
- Case 1: DMD.QueueText "[yc][xc][f6]$ 1000", deFlip, 1000, TRUE: AddScore(1000)
- Case 2: DMD.QueueText "[yc][xc][f6]$ 1500", deFlip, 1000, TRUE: AddScore(1500)
- Case 3: DMD.QueueText "[yc][xc][f6]$ 2000", deFlip, 1000, TRUE: AddScore(2000)
- Case 4: DMD.QueueText "[yc][xc][f6]$ 2500", deFlip, 1000, TRUE: AddScore(2500)
- Case 5: DMD.QueueText "[yc][xc][f6]$ 3000", deFlip, 1000, TRUE: AddScore(3000)
- End Select
- End If
- End If
- Exit Sub
- End If
- Select Case RandomNumber(14)
- Case 1,10:
- OverlayMovie.Frame 219, 220, 219: OverlayMovieHUD.Frame 219, 220, 219 ' ball saver...
- DMD.Text = "[yc][xc][f6][bf]BALL SAVER"
- DMD2.Text = "[yc][xc][f6][bf]BALL SAVER"
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Radical"
- ShootAgainLight.State = BulbBlink
- bBallSaverActive = TRUE
- BallSaverTimer.Set TRUE, BSTime
- Case 2:
- DMD.Text = "[yc][xc][f6][bf]ADV MODE"
- DMD2.Text = "[yc][xc][f6][bf]ADV MODE"
- Ass = Ass + 1
- OverlayMovie.Frame 226, 227, 226: OverlayMovieHUD.Frame 226, 227, 226 ' adv mode...
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_WhatsThis"
- If (LightTyrellMain.State = BulbOff) Then LightTyrellMain.State = BulbOn: Exit Sub
- If (LightSebastianMain.State = BulbOff) Then LightSebastianMain.State = BulbOn: Exit Sub
- If (LightChewMain.State = BulbOff) Then LightChewMain.State = BulbOn: Exit Sub
- If (LightRachaelMain.State = BulbOff) Then LightRachaelMain.State = BulbOn: Exit Sub
- If (LightGaffMain.State = BulbOff) Then LightGaffMain.State = BulbOn: Exit Sub
- Case 3,11:
- OverlayMovie.Frame 231, 232, 231: OverlayMovieHUD.Frame 231, 232, 231 ' cash...
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Academic"
- DMD.FlushQueue: DMD2.FlushQueue
- DMD.QueueText "[yc][xc][f6][bf]SMALL CASH", deNone, 1000, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]SMALL CASH", deNone, 1000, FALSE
- Select Case RandomNumber(5)
- Case 1: DMD.QueueText "[yc][xc][f6]$ 100", deFlip, 1000, TRUE: AddScore(100)
- Case 2: DMD.QueueText "[yc][xc][f6]$ 200", deFlip, 1000, TRUE: AddScore(200)
- Case 3: DMD.QueueText "[yc][xc][f6]$ 300", deFlip, 1000, TRUE: AddScore(300)
- Case 4: DMD.QueueText "[yc][xc][f6]$ 400", deFlip, 1000, TRUE: AddScore(400)
- Case 5: DMD.QueueText "[yc][xc][f6]$ 500", deFlip, 1000, TRUE: AddScore(500)
- End Select
- Case 4:
- OverlayMovie.Frame 239, 240, 239: OverlayMovieHUD.Frame 239, 240, 239 ' super pops...
- DMD.Text = "[yc][xc][f6][bf]SUPER POPS"
- DMD2.Text = "[yc][xc][f6][bf]SUPER POPS"
- SuperPops()
- Case 5:
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_MoreLife"
- OverlayMovie.Frame 241, 242, 241: OverlayMovieHUD.Frame 241, 242, 241 ' extra ball...
- DMD.Text = "[yc][xc][f6][bf]EXTRA BALL"
- DMD2.Text = "[yc][xc][f6][bf]EXTRA BALL"
- ExtraBallsAwards(CurrentPlayer) = ExtraBallsAwards(CurrentPlayer) + 1
- ShootAgainLight.State = BulbOn
- Case 6:
- If (MoveSpinner.Enabled = FALSE) Then
- DMD.FlushQueue
- SpinLaunch = SpinLaunch - 1
- MoveSpinner_Expired()
- LightPurge1.State = BulbOff
- LightPurge2.State = BulbOff
- LightSuperRampL.FlashForMs 2000, 125, BulbOn
- LightSuperRampR.FlashForMs 2000, 125, BulbOn
- SuperRamps = TRUE
- Magnet.Collidable = FALSE
- LaneWall.Collidable = TRUE
- Else
- OverlayMovie.Frame 231, 232, 231: OverlayMovieHUD.Frame 231, 232, 231 ' cash...
- DMD.FlushQueue
- DMD.QueueText "[yc][xc][f6][bf]SMALL CASH", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]SMALL CASH", deNone, 800, FALSE
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_KnewIt"
- Select Case RandomNumber(5)
- Case 1: DMD.QueueText "[yc][xc][f6]$ 150", deFlip, 1000, TRUE: AddScore(150)
- Case 2: DMD.QueueText "[yc][xc][f6]$ 160", deFlip, 1000, TRUE: AddScore(160)
- Case 3: DMD.QueueText "[yc][xc][f6]$ 170", deFlip, 1000, TRUE: AddScore(170)
- Case 4: DMD.QueueText "[yc][xc][f6]$ 180", deFlip, 1000, TRUE: AddScore(180)
- Case 5: DMD.QueueText "[yc][xc][f6]$ 190", deFlip, 1000, TRUE: AddScore(190)
- End Select
- End If
- Case 7,12:
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_NiceToys"
- DMD.Text = "[yc][xc][f6][b]MONEY SPIN"
- DMD2.Text = "[yc][xc][f6][b]MONEY SPIN"
- OverlayMovie.Frame 595, 596, 595: OverlayMovieHUD.Frame 595, 596, 595 ' money spin....
- Select Case RandomNumber(7)
- Case 1: Spin = 12
- Case 2: Spin = 13
- Case 3: Spin = 15
- Case 4: Spin = 16
- Case 5: Spin = 17
- Case 6: Spin = 18
- Case 7: Spin = 19
- End Select
- RingSpin.Set TRUE, 100
- PlayMusic 4, "fx_MoneySpin", FALSE, 0.6
- LightRing8.Set BulbBlink,"10000000", 100
- LightRing7.Set BulbBlink,"01000000", 100
- LightRing6.Set BulbBlink,"00100000", 100
- LightRing5.Set BulbBlink,"00010000", 100
- LightRing4.Set BulbBlink,"00001000", 100
- LightRing3.Set BulbBlink,"00000100", 100
- LightRing2.Set BulbBlink,"00000010", 100
- LightRing1.Set BulbBlink,"00000001", 100
- Case 8:
- OverlayMovie.Frame 875: OverlayMovieHUD.Frame 875 ' more time...
- DMD.Text = "[yc][xc][f6][bf]+ S/RAMP TIME"
- DMD2.Text = "[yc][xc][f6][bf]+ S/RAMP TIME"
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Radical"
- SRTime = SRTime + 3000
- Case 9,13:
- If (LightMode.State = BulbBlink) Then
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_Prize2", FALSE, 1, 500
- DMD.FlushQueue: DMD2.FlushQueue
- DMD.QueueText "[yc][xc][f6][bf]BIG CASH", deNone, 1000, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]BIG CASH", deNone, 1000, FALSE
- Select Case RandomNumber(5)
- Case 1: DMD.QueueText "[yc][xc][f6]$ 1000", deFlip, 1000, TRUE: AddScore(1000)
- Case 2: DMD.QueueText "[yc][xc][f6]$ 1500", deFlip, 1000, TRUE: AddScore(1500)
- Case 3: DMD.QueueText "[yc][xc][f6]$ 2000", deFlip, 1000, TRUE: AddScore(2000)
- Case 4: DMD.QueueText "[yc][xc][f6]$ 2500", deFlip, 1000, TRUE: AddScore(2500)
- Case 5: DMD.QueueText "[yc][xc][f6]$ 3000", deFlip, 1000, TRUE: AddScore(3000)
- End Select
- Else
- OverlayMovie.Frame 239, 240, 239: OverlayMovieHUD.Frame 239, 240, 239 ' super pops...
- DMD.Text = "[yc][xc][f6][bf]SUPER POPS"
- DMD2.Text = "[yc][xc][f6][bf]SUPER POPS"
- SuperPops()
- IgnoreHit = TRUE
- CaseScoop.DestroyBall: DeleteTrackedBall(CaseScoop)
- KickerBump.CreateBall: AddTrackedBall(KickerBump)
- AllPlasOff(): FlashMe = 0: PFFlashTimer.Set TRUE, 100
- BumpFire.Set TRUE, 1800
- PreKick.Enabled = FALSE
- End If
- Case 14:
- 'OverlayMovie.Frame 875: OverlayMovieHUD.Frame 875 ' more time...
- DMD.Text = "[yc][xc][f6][bf]BUZZ OFF"
- DMD2.Text = "[yc][xc][f6][bf]BUZZ OFF"
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_BuzzOff2", FALSE, 1, 500
- End Select
- End If
- End Sub
- Sub AssWin()
- Ass = Ass + 1
- PlayMusic 3, "Music_Cue3", FALSE, 0.7
- AddScore(2500)
- MissionHit = AdjMissionHit
- DMDBusy = TRUE: DMDTimer.Set TRUE, 2500
- DMD.QueueText "[y3][xc][f3][b]ASSIGNMENT[y18][f7]COMPLETED", deFlip, 1300, FALSE
- DMD2.QueueText "[y3][xc][f3][b]ASSIGNMENT[y18][f7]COMPLETED", deFlip, 1300, FALSE
- DMD.QueueText "[xc][y1][f7]BONUS REWARD[f3][y7][bf]$ 2,500", deNone, 1000, TRUE
- DMD2.QueueText "[xc][y3][f7]BONUS REWARD[f3][y18][bf]$ 2,500", deNone, 1000, TRUE
- LightSeqGI.StopPlay: LightSeqPF.StopPlay
- PFFlashTimer.Enabled = FALSE
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 1000
- FlasherL.FlashForMs 1000, 75, BulbOff
- Flasher1.FlashForMs 1000, 75, BulbOff
- CheckAss()
- End Sub
- Sub CheckAss()
- If (Ass = 3) Then
- ' award free spin for 3 assignments completed...
- Select Case RandomNumber(7)
- Case 1: Spin = 12
- Case 2: Spin = 13
- Case 3: Spin = 15
- Case 4: Spin = 16
- Case 5: Spin = 17
- Case 6: Spin = 18
- Case 7: Spin = 19
- End Select
- RingSpin.Set TRUE, 100
- PlayMusic 4, "fx_MoneySpin", TRUE, 0.6
- LightRing8.Set BulbBlink,"10000000", 100
- LightRing7.Set BulbBlink,"01000000", 100
- LightRing6.Set BulbBlink,"00100000", 100
- LightRing5.Set BulbBlink,"00010000", 100
- LightRing4.Set BulbBlink,"00001000", 100
- LightRing3.Set BulbBlink,"00000100", 100
- LightRing2.Set BulbBlink,"00000010", 100
- LightRing1.Set BulbBlink,"00000001", 100
- Exit Sub
- End If
- If (Ass = 6) Then
- ' batty ready after any 6 assignments are completed...
- BattyReady = TRUE
- LightMode.State = BulbBlink
- BattyReadyLights()
- End If
- End Sub
- ' ***********************************
- ' ** **
- ' ** KICKER RAMP **
- ' ** **
- ' ***********************************
- Sub Kicker3_Hit()
- RampDivertTimer.Enabled = FALSE
- PlaySound "fx_ScoopHitR"
- ReHit = TRUE
- Kicker3.DestroyBall: DeleteTrackedBall(Kicker3)
- If (LeonMode = TRUE) and (KillLeon = TRUE) Then
- ReHit = FALSE: IgnoreHit = TRUE
- CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
- PlayLeon = TRUE
- Kicker2Timer.Set TRUE, 5800
- OverlayMovie.Frame 583: OverlayMovieHUD.Frame 583
- Exit Sub
- End If
- If (fpTilted = TRUE) Then BallsOnPlayfield = 0: ReHit = FALSE: Exit Sub
- If (LightSnakePit.State=BulbOff) and (LightMode.State=BulbOff) Then
- AllPlasOff()
- Flasher1.FlashForMs 1000, 125, BulbOff
- PlaySound "fx_PreKick2"
- ReHit = FALSE: IgnoreHit = TRUE
- CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
- Kicker2Timer.Set TRUE, 1000
- Bulb24.State = BulbOn
- Else
- CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
- End If
- End Sub
- Sub TopGate_Hit()
- PlaySound "fx_GateHitL"
- End Sub
- ' *******************************
- ' ** **
- ' ** BUMPERS **
- ' ** **
- ' *******************************
- ' Bumpers can be powered up to Super Pops when hit 30 times, increasing their value by x 10.
- ' Hitting the Super Pops 25 times activates the Playfield Scoring Multiplier (PSX) for 40 seconds.
- ' The PSX value matches the current Bonus X value.
- Sub Bumper1_Hit()
- If (fpTilted = TRUE) Then Exit Sub
- If (SuperPopsActive = FALSE) Then
- BulbBump1.State = BulbOn: FlashB1.State = BulbOn
- BumpText1On.Render = TRUE
- BumpText1Off.Render = FALSE
- BumpFlash.Set TRUE, 150
- End If
- If (fpGameInPlay = FALSE) Then Exit Sub
- If (SuperPopsActive = TRUE) Then
- dof 105,2
- PlaySound "fx_BumpHit", 0.5
- AddScore(BumpVal*2)
- BumpHit = BumpHit + 1
- 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"
- If (BumpHit = 25) Then
- AddScore(BumpVal*4)
- BumpHit = 0
- PFScore = PFScore + 1
- PFXTimer.Set TRUE, 40000
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
- DMD.Text = "[yc][xc][f5][bf]SCORING X " & PFScore
- DMD2.Text = "[yc][xc][f5][bf]SCORING X " & PFScore
- PlaySound "fx_20"
- Exit Sub
- End If
- Else
- BumpHit = BumpHit + 1
- If (BumpHit = 30) Then
- SuperPops()
- Exit Sub
- End If
- AddScore(BumpVal)
- DMD.Text = "[y3][xc][f3]BUMP HIT = " & BumpHit & "[y18][f3]SUPER POPS AT 30"
- DMD2.Text = "[y3][xc][f3]BUMP HIT = " & BumpHit & "[y18][f3]SUPER POPS AT 30"
- PlaySound "fx_Hit3", 0.4
- BulbBump1.State = BulbOn: FlashB1.State = BulbOn
- BumpText1On.Render = TRUE
- BumpText1Off.Render = FALSE
- BumpFlash.Set TRUE, 150
- End If
- End Sub
- Sub BumpFlash_Expired()
- BumpFlash.Enabled = FALSE
- BulbBump1.State = BulbOff: FlashB1.State = BulbOff
- BumpText1On.Render = FALSE
- BumpText1Off.Render = TRUE
- End Sub
- Sub BumpT_Expired()
- BumpT.Enabled = FALSE
- BRT.SolenoidPulse 10
- End Sub
- Sub Bumper2_Hit()
- If (fpTilted = TRUE) Then Exit Sub
- If (SuperPopsActive = FALSE) Then
- BulbBump2.State = BulbOn: FlashB2.State = BulbOn
- BumpText2On.Render = TRUE
- BumpText2Off.Render = FALSE
- BumpFlash2.Set TRUE, 150
- End If
- If (fpGameInPlay = FALSE) Then Exit Sub
- dof 106,2
- PlaySound "fx_Bumper"
- PBT1.SolenoidPulse
- PBT2.SolenoidPulse
- PBT3.SolenoidPulse
- PBT4.SolenoidPulse
- BRT.PopDown: BumpT.Set TRUE, 75
- If (SuperPopsActive = TRUE) Then
- PlaySound "fx_BumpHit", 0.5
- AddScore(BumpVal*2)
- BumpHit = BumpHit + 1
- 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"
- If (BumpHit = 25) Then
- AddScore(BumpVal*4)
- BumpHit = 0
- PFScore = PFScore + 1
- PFXTimer.Set TRUE, 40000
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
- DMD.Text = "[yc][xc][f5][bf]SCORING X " & PFScore
- DMD2.Text = "[yc][xc][f5][bf]SCORING X " & PFScore
- PlaySound "fx_20"
- Exit Sub
- End If
- Else
- BumpHit = BumpHit + 1
- If (BumpHit = 30) Then
- SuperPops()
- Exit Sub
- End If
- AddScore(BumpVal)
- DMD.Text = "[y3][xc][f3]BUMP HIT = " & BumpHit & "[y18][f2]SUPER POPS AT 30"
- DMD2.Text = "[y3][xc][f3]BUMP HIT = " & BumpHit & "[y18][f3]SUPER POPS AT 30"
- PlaySound "fx_Hit3", 0.4
- BulbBump2.State = BulbOn: FlashB2.State = BulbOn
- BumpText2On.Render = TRUE
- BumpText2Off.Render = FALSE
- BumpFlash2.Set TRUE, 150
- End If
- End Sub
- Sub BumpFlash2_Expired()
- BumpFlash2.Enabled = FALSE
- BulbBump2.State = BulbOff: FlashB2.State = BulbOff
- BumpText2On.Render = FALSE
- BumpText2Off.Render = TRUE
- End Sub
- Sub BumpR_Expired()
- BumpR.Enabled = FALSE
- BRR.SolenoidPulse 10
- End Sub
- Sub Bumper3_Hit()
- If (fpTilted = TRUE) Then Exit Sub
- If (SuperPopsActive = FALSE) Then
- BulbBump3.State = BulbOn: FlashB3.State = BulbOn
- BumpText3On.Render = TRUE
- BumpText3Off.Render = FALSE
- BumpFlash3.Set TRUE, 150
- End If
- If (fpGameInPlay = FALSE) Then Exit Sub
- dof 107,2
- PlaySound "fx_Bumper"
- PBR1.SolenoidPulse
- PBR2.SolenoidPulse
- PBR3.SolenoidPulse
- PBR4.SolenoidPulse
- BRR.PopDown: BumpR.Set TRUE, 75
- If (SuperPopsActive = TRUE) Then
- PlaySound "fx_BumpHit", 0.5
- AddScore(BumpVal*2)
- BumpHit = BumpHit + 1
- 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"
- If (BumpHit = 25) Then
- AddScore(BumpVal*4)
- BumpHit = 0
- PFScore = PFScore + 1
- PFXTimer.Set TRUE, 40000
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
- DMD.Text = "[yc][xc][f5][bf]SCORING X " & PFScore
- DMD2.Text = "[yc][xc][f5][bf]SCORING X " & PFScore
- PlaySound "fx_20"
- Exit Sub
- End If
- Else
- BumpHit = BumpHit + 1
- If (BumpHit = 30) Then
- SuperPops()
- Exit Sub
- End If
- AddScore(BumpVal)
- DMD.Text = "[y3][xc][f3]BUMP HIT = " & BumpHit & "[y18][f3]SUPER POPS AT 30"
- DMD2.Text = "[y3][xc][f3]BUMP HIT = " & BumpHit & "[y18][f3]SUPER POPS AT 30"
- PlaySound "fx_Hit3", 0.4
- BulbBump3.State = BulbOn: FlashB3.State = BulbOn
- BumpText3On.Render = TRUE
- BumpText3Off.Render = FALSE
- BumpFlash3.Set TRUE, 150
- End If
- End Sub
- Sub BumpFlash3_Expired()
- BumpFlash3.Enabled = FALSE
- BulbBump3.State = BulbOff: FlashB3.State = BulbOff
- BumpText3On.Render = FALSE
- BumpText3Off.Render = TRUE
- End Sub
- Sub PFXTimer_Expired()
- PFXTimer.Enabled = FALSE
- PFScore = 1
- End Sub
- Dim SuperPopsActive
- Sub SuperPops()
- SuperPopsActive = TRUE
- AddScore(850)
- PlaySound "fx_AirRaid2"
- LightSuperPops.State = BulbOn
- BumpHit = 0
- ' turn on all bumpers...
- BumpFlash.Enabled = FALSE
- BumpFlash2.Enabled = FALSE
- BumpFlash3.Enabled = FALSE
- BulbBump1.State = BulbOn
- BumpText1On.Render = TRUE
- BumpText1Off.Render = FALSE
- BulbBump2.State = BulbOn
- BumpText2On.Render = TRUE
- BumpText2Off.Render = FALSE
- BulbBump3.State = BulbOn
- BumpText3On.Render = TRUE
- BumpText3Off.Render = FALSE
- SuperPopTimer.Set TRUE, 40000
- End Sub
- Sub SuperPopTimer_Expired()
- SuperPopTimer.Enabled = FALSE
- SuperPopsActive = FALSE
- BumpHit = 0
- FlashB1.State = BulbOff
- FlashB2.State = BulbOff
- FlashB3.State = BulbOff
- LightSuperPops.State = BulbOff
- BulbBump1.State = BulbOff
- BumpText1On.Render = FALSE
- BumpText1Off.Render = TRUE
- BulbBump2.State = BulbOff
- BumpText2On.Render = FALSE
- BumpText2Off.Render = TRUE
- BulbBump3.State = BulbOff
- BumpText3On.Render = FALSE
- BumpText3Off.Render = TRUE
- End Sub
- ' ******************************
- ' ** **
- ' ** GUN TARGETS **
- ' ** **
- ' ******************************
- ' complete G-U-N to raise the drop targets in the firing range.
- ' shoot down all the targets within the time limit to clear.
- ' clear 3 sets for an extra ball.
- Sub TgtGun1_Hit()
- If (LightLeft1.State = BulbBlink) Then
- LightLeft1.State = BulbOn: CheckGUN()
- Else
- AddScore(10)
- End If
- set LastSwitchHit = TgtGun1
- End Sub
- Sub TgtGun2_Hit()
- If (LightLeft2.State = BulbBlink) Then
- LightLeft2.State = BulbOn: CheckGUN()
- Else
- AddScore(10)
- End If
- set LastSwitchHit = TgtGun2
- End Sub
- Sub TgtGun3_Hit()
- If (LightLeft3.State = BulbBlink) Then
- LightLeft3.State = BulbOn: CheckGUN()
- Else
- AddScore(10)
- End If
- set LastSwitchHit = TgtGun3
- End Sub
- Sub CheckGUN()
- If (LightLeft1.State=BulbOn) and (LightLeft2.State=BulbOn) and (LightLeft3.State=BulbOn) Then
- ' these modes are using the lane, so just add points...
- If (RachaelMode = TRUE) or (ZhoraMode = TRUE) or (BattyMode = TRUE) Then
- If (RachaelMode = TRUE) and (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_Answer"
- End If
- AddScore(280)
- LightLeft1.State = BulbBlink
- LightLeft2.State = BulbBlink
- LightLeft3.State = BulbBlink
- RangeValue = RangeValue + 20
- DMD.QueueText "[y3][xc][f3]RANGE VALUE[y18][f3]INCREASED TO " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
- DMD2.QueueText "[y3][xc][f3]RANGE VALUE[y18][f3]INCREASED TO " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
- Exit Sub
- End If
- If (ShootingMode=TRUE) or (VKMode=TRUE) or (PhotoMode=TRUE) Then ' firing range already running...increase value of shots
- LightLeft1.FlashForMs 500, 100, BulbBlink
- LightLeft2.FlashForMs 500, 100, BulbBlink
- LightLeft3.FlashForMs 500, 100, BulbBlink
- RangeValue = RangeValue + 150
- AddScore(280)
- DMD.QueueText "[y3][xc][f3]RANGE VALUE[y18][f3]INCREASED TO " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
- DMD2.QueueText "[y3][xc][f3]RANGE VALUE[y18][f3]INCREASED TO " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
- Else
- If (LightRange.State = BulbOff) Then
- AddScore(280)
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- If (ModeActive = FALSE) Then
- Select Case RandomNumber(3)
- Case 1: PlayMusic 2, "vo_TargetAndShoot2", FALSE, 1, 400
- Case 2: PlayMusic 2, "vo_TargetAndShoot3", FALSE, 1, 400
- Case 3: PlayMusic 2, "vo_TargetAndShoot4", FALSE, 1, 400
- End Select
- Else
- PlayMusic 2, "vo_TargetAndShoot3", FALSE, 1, 300
- End If
- End If
- LightRange.State = BulbBlink
- OverlayMovie.Frame 216: OverlayMovieHUD.Frame 216
- If (ModeActive = TRUE) Then MovieTimer.Set TRUE, 2000
- ShootingMode = TRUE
- LightLeft1.State = BulbBlink
- LightLeft2.State = BulbBlink
- LightLeft3.State = BulbBlink
- PlaySound "fx_Hit2"
- Up = 0: TargetBankTimer.Set TRUE, 250
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3][b]SHOOT TARGETS[/b][y18][f3]TARGET VALUE: " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1800, TRUE
- DMD2.QueueText "[y3][xc][f3][b]SHOOT TARGETS[/b][y18][f3]TARGET VALUE: " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1800, TRUE
- Exit Sub
- End If
- If (LightVK.State = BulbOff) Then
- LightVK.State = BulbBlink
- VKMode = TRUE
- AddScore(580)
- If (QuoteBusy = FALSE) and (ModeActive = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_EmpathyTest", FALSE, 1, 200
- Case 2: PlayMusic 2, "vo_SeeItWork", FALSE, 1, 200
- End Select
- End If
- LightLeft1.State = BulbBlink
- LightLeft2.State = BulbBlink
- LightLeft3.State = BulbBlink
- PlaySound "fx_Hit2"
- Up = 0: TargetBankTimer.Set TRUE, 250
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3][b]SHOOT TARGETS[/b][y18][f3]TARGET VALUE: " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1800, TRUE
- DMD2.QueueText "[y3][xc][f3][b]SHOOT TARGETS[/b][y18][f3]TARGET VALUE: " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1800, TRUE
- Exit Sub
- End If
- If (LightPhoto.State = BulbOff) Then
- LightPhoto.State = BulbBlink
- PhotoMode = TRUE
- AddScore(880)
- If (QuoteBusy = FALSE) and (ModeActive = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_GetPhotos", FALSE, 1, 500
- End If
- LightLeft1.State = BulbBlink
- LightLeft2.State = BulbBlink
- LightLeft3.State = BulbBlink
- PlaySound "fx_Hit2"
- Up = 0: TargetBankTimer.Set TRUE, 250
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3][b]SHOOT TARGETS[/b][y18][f3]TARGET VALUE: " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1800, TRUE
- DMD2.QueueText "[y3][xc][f3][b]SHOOT TARGETS[/b][y18][f3]TARGET VALUE: " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1800, TRUE
- Exit Sub
- End If
- End If
- Else
- AddScore(100)
- PlaySound "fx_Hit7"
- End If
- End Sub
- Dim Up
- Sub TargetBankTimer_Expired()
- Up = Up + 1: PlaySound "fx_PopUpL", 0.7
- Select Case UP
- Case 1: DT_1.SolenoidPulse
- Case 2: DT_2.SolenoidPulse
- Case 3: DT_3.SolenoidPulse
- Case 4: DT_4.SolenoidPulse: TargetBankTimer.Enabled = FALSE
- End Select
- dof 111,2
- End Sub
- Sub RangeTimer_Expired()
- RangeTimer.Enabled = FALSE
- If (MovieTimer.Enabled = FALSE) Then MovieTimer.Set TRUE, 100
- If (ShootingMode = TRUE) Then LightRange.State = BulbOff: ShootingMode = FALSE
- If (VKMode = TRUE) Then LightVK.State = BulbOff: VKMode = FALSE
- If (PhotoMode = TRUE) Then LightPhoto.State = BulbOff: PhotoMode = FALSE
- PlaySound "fx_Hit2"
- DT_1.PopDown
- DT_2.PopDown
- DT_3.PopDown
- DT_4.PopDown
- RangeValue = AdjRangeValue
- VKValue = AdjVKValue
- PhotoValue = AdjPhotoValue
- End Sub
- ' ************************************
- ' ** **
- ' ** TARGETS RIGHT BANK **
- ' ** **
- ' ************************************
- Sub TgtNew_Hit()
- PlaySound "fx_4"
- If (LightNew.State = BulbBlink) Then
- LightNew.State = BulbOn: Check3Bank()
- AddScore(100)
- Else
- AddScore(10)
- End If
- set LastSwitchHit = TgtNew
- End Sub
- Sub TgtCase_Hit()
- PlaySound "fx_4"
- If (LightCase.State = BulbBlink) Then
- LightCase.State = BulbOn: Check3Bank()
- AddScore(100)
- Else
- AddScore(10)
- End If
- set LastSwitchHit = TgtCase
- End Sub
- Sub BattyReadyLights()
- LightLeonMain.Set BulbBlink, "1010100", 150
- LightZhoraMain.Set BulbBlink, "1001010", 150
- LightPrisMain.Set BulbBlink, "1010100", 150
- LightTyrellMain.Set BulbBlink, "1001010", 150
- LightSebastianMain.Set BulbBlink,"1010100", 150
- LightChewMain.Set BulbBlink, "1001010", 150
- LightRachaelMain.Set BulbBlink, "1010100", 150
- LightGaffMain.Set BulbBlink, "1001010", 150
- LightRing8.Set BulbBlink,"1010100", 100
- LightRing7.Set BulbBlink,"1010100", 100
- LightRing6.Set BulbBlink,"1010100", 100
- LightRing5.Set BulbBlink,"1010100", 100
- LightRing4.Set BulbBlink,"1010100", 100
- LightRing3.Set BulbBlink,"1010100", 100
- LightRing2.Set BulbBlink,"1010100", 100
- LightRing1.Set BulbBlink,"1010100", 100
- End Sub
- Sub Check3Bank()
- If (LightNew.State=BulbOn) and (LightCase.State=BulbOn) Then
- If (ModeActive = FALSE) Then
- If (BattyReady = TRUE) Then
- PlaySound "fx_CaseHit"
- LightMode.State = BulbBlink
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.Text = "[y3][xc][f3]BATTY READY[y18][f7][b]SHOOT SCOOP TO START"
- DMD2.Text = "[y3][xc][f3]BATTY READY[y18][f7][b]SHOOT SCOOP TO START"
- Exit Sub
- End If
- ' the other 3 replicants are dead....time to face Roy....
- If (LightLeonMain.State=BulbOn) and (LightZhoraMain.State=BulbOn) and (LightPrisMain.State=BulbOn) Then
- OverlayMovie.Frame 68: OverlayMovieHUD.Frame 68
- QuoteBusy = TRUE: PlayMusic 2, "vo_RoyBatty"
- BattyReady = TRUE
- BattyReadyLights()
- Exit Sub
- End If
- ' set a random number for spins...
- Select Case RandomNumber(5)
- Case 1: Spin = 10
- Case 2: Spin = 12
- Case 3: Spin = 13
- Case 4: Spin = 14
- Case 5: Spin = 15
- End Select
- ' first, save the main light state...
- TempM1 = LightLeonMain.State
- TempM2 = LightZhoraMain.State
- TempM3 = LightPrisMain.State
- TempM4 = LightTyrellMain.State
- TempM5 = LightSebastianMain.State
- TempM6 = LightChewMain.State
- TempM7 = LightRachaelMain.State
- TempM8 = LightGaffMain.State
- PlayMusic 4, "fx_MoneySpin", TRUE, 0.6
- If (QuoteBusy = FALSE) Then
- Select Case RandomNumber(3)
- Case 1: QuoteBusy = TRUE: PlayMusic 2, "vo_UrgentMessage", FALSE, 0.8
- End Select
- End If
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
- DMD.Text = "[y3][xc][f3]NEW CASE[y18][f7][b]READY TO START"
- DMD2.Text = "[y3][xc][f3]NEW CASE[y18][f7][b]READY TO START"
- ' now spin the wheel...
- LightLeonMain.Set BulbBlink, "10000000", 100
- LightZhoraMain.Set BulbBlink, "01000000", 100
- LightPrisMain.Set BulbBlink, "00100000", 100
- LightTyrellMain.Set BulbBlink, "00010000", 100
- LightSebastianMain.Set BulbBlink,"00001000", 100
- LightChewMain.Set BulbBlink, "00000100", 100
- LightRachaelMain.Set BulbBlink, "00000010", 100
- LightGaffMain.Set BulbBlink, "00000001", 100
- WheelSpin.Set TRUE, 100
- AddScore(300)
- Else
- PlaySound "fx_CaseHit"
- AddScore(300)
- MissionHit = MissionHit + 50
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3]MISSION VALUE[y18][f3]INCREASED $" & FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1800, TRUE
- DMD2.QueueText "[y3][xc][f3]MISSION VALUE[y18][f3]INCREASED $" & FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1800, TRUE
- LightNew.State = BulbBlink
- LightCase.State = BulbBlink
- End If
- End If
- End Sub
- Sub MusicFade(FadeTime)
- EffectMusic 5, SetVolume, 0.3, 100
- EffectMusic 1, SetVolume, 0.3, 100
- ResumeVol.Set TRUE, FadeTime
- End Sub
- Sub ResumeVol_Expired()
- ResumeVol.Enabled = FALSE
- EffectMusic 5, SetVolume, 0.6, 100
- EffectMusic 1, SetVolume, 0.6, 100
- End Sub
- Sub WheelSpin_Expired()
- Spin = Spin - 1
- 'LightLeonMain.State = BulbOff
- 'LightZhoraMain.State = BulbOff
- 'LightPrisMain.State = BulbOff
- 'LightTyrellMain.State = BulbOff
- 'LightSebastianMain.State = BulbOff
- 'LightChewMain.State = BulbOff
- 'LightRachaelMain.State = BulbOff
- 'LightGaffMain.State = BulbOff
- If (Spin =<1) Then
- WheelSpin.Enabled = FALSE
- StopMusic 4: PlaySound "fx_3"
- LightMode.State = BulbBlink
- LightRampL.FlashForMs 1000, 125, BulbOff
- LightNew.State = BulbBlink
- LightCase.State = BulbBlink
- ' return light to their previous state...
- LightLeonMain.State = TempM1
- LightZhoraMain.State = TempM2
- LightPrisMain.State = TempM3
- LightTyrellMain.State = TempM4
- LightSebastianMain.State = TempM5
- LightChewMain.State = TempM6
- LightRachaelMain.State = TempM7
- LightGaffMain.State = TempM8
- If (LightLeonMain.State = BulbBlink) Then LightLeonMain.Set BulbOff, "10", 150
- If (LightZhoraMain.State = BulbBlink) Then LightZhoraMain.Set BulbOff, "10", 150
- If (LightPrisMain.State = BulbBlink) Then LightPrisMain.Set BulbOff, "10", 150
- If (LightTyrellMain.State = BulbBlink) Then LightTyrellMain.Set BulbOff, "10", 150
- If (LightSebastianMain.State = BulbBlink) Then LightSebastianMain.Set BulbOff,"10", 150
- If (LightChewMain.State = BulbBlink) Then LightChewMain.Set BulbOff, "10", 150
- If (LightRachaelMain.State = BulbBlink) Then LightRachaelMain.Set BulbOff, "10", 150
- If (LightGaffMain.State = BulbBlink) Then LightGaffMain.Set BulbOff, "10", 150
- If (JoiOn = TRUE) Then
- ' if Joi is active, she will first pick one of the replicants...then re-spin to a random character....
- Select Case RandomNumber(3)
- Case 1:
- If (LightLeonMain.State = BulbOff) Then
- LightLeonMain.Set BulbBlink, "10", 150
- PlaySound "fx_JoiOn": CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3]LEON READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
- DMD2.QueueText "[y3][xc][f3]LEON READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 2:
- If (LightZhoraMain.State = BulbOff) Then
- LightZhoraMain.Set BulbBlink, "10", 150
- PlaySound "fx_JoiOn": CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3]ZHORA READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
- DMD2.QueueText "[y3][xc][f3]ZHORA READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 3:
- If (LightPrisMain.State = BulbOff) Then
- LightPrisMain.Set BulbBlink, "10", 150
- PlaySound "fx_JoiOn": CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3]PRIS READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
- DMD2.QueueText "[y3][xc][f3]PRIS READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- End Select
- Exit Sub
- End If
- Select Case RandomNumber(8)
- Case 1:
- If (LightLeonMain.State = BulbOff) Then
- LightLeonMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(3)
- Case 1: PlayMusic 2, "vo_LeonKillHim"
- Case 2: PlayMusic 2, "vo_Armed", FALSE, 0.8
- Case 3: PlayMusic 2, "vo_MyBirthday"
- End Select
- End If
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3]LEON READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
- DMD2.QueueText "[y3][xc][f3]LEON READY[y18][f7][b]SHOOT SCOOP", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 2:
- If (LightZhoraMain.State = BulbOff) Then
- LightZhoraMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Zhora"
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3]ZHORA READY[y18][f3][b]SHOOT SCOOP", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 3:
- If (LightPrisMain.State = BulbOff) Then
- LightPrisMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Pris2"
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3]PRIS READY[y18][f3][b]SHOOT SCOOP", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 4:
- If (LightTyrellMain.State = BulbOff) Then
- LightTyrellMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_IndulgeMe"
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3]TYRELL READY[y18][f3][b]SHOOT SCOOP", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 5:
- If (LightSebastianMain.State = BulbOff) Then
- LightSebastianMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(3)
- Case 1: PlayMusic 2, "vo_HomeAgain"
- Case 2: PlayMusic 2, "vo_DesignWork"
- Case 3: PlayMusic 2, "vo_JFSebastian"
- End Select
- End If
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3]SEBASTIAN READY[y18][f3][b]SHOOT SCOOP", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 6:
- If (LightChewMain.State = BulbOff) Then
- LightChewMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ChewWorkHard"
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3]CHEW READY[y18][f3][b]SHOOT SCOOP", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 7:
- If (LightRachaelMain.State = BulbOff) Then
- LightRachaelMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_Rachael"
- Case 2: PlayMusic 2, "vo_ThinkReplicant"
- End Select
- End If
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3]RACHAEL READY[y18][f3][b]SHOOT SCOOP", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 8:
- If (LightGaffMain.State = BulbOff) Then
- LightGaffMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_DeepOne"
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y3][xc][f3]GAFF READY[y18][f3][b]SHOOT SCOOP", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- End Select
- End If
- End Sub
- Sub ReSpin()
- Select Case RandomNumber(8)
- Case 1:
- If (LightLeonMain.State = BulbOff) Then
- LightLeonMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_LeonKillHim"
- DMD.QueueText "[y3][xc][f3]LEON[y18][f3][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 2:
- If (LightZhoraMain.State = BulbOff) Then
- LightZhoraMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Zhora"
- DMD.QueueText "[y3][xc][f3]ZHORA[y18][f3][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 3:
- If (LightPrisMain.State = BulbOff) Then
- LightPrisMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Pris2"
- DMD.QueueText "[y3][xc][f3]PRIS[y18][f3][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 4:
- If (LightTyrellMain.State = BulbOff) Then
- LightTyrellMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_IndulgeMe"
- DMD.QueueText "[y3][xc][f3]TYRELL[y18][f3][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 5:
- If (LightSebastianMain.State = BulbOff) Then
- LightSebastianMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_HomeAgain"
- DMD.QueueText "[y3][xc][f3]SEBASTIAN[y18][f3][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 6:
- If (LightChewMain.State = BulbOff) Then
- LightChewMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ChewWorkHard"
- DMD.Text = "[y3][xc][f3]CHEW[y18][f3][b]NEW ASSIGNMENT READY"
- Else
- ReSpin()
- End If
- Case 7:
- If (LightRachaelMain.State = BulbOff) Then
- LightRachaelMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Rachael"
- DMD.QueueText "[y3][xc][f3]RACHAEL[y18][f3][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- Case 8:
- If (LightGaffMain.State = BulbOff) Then
- LightGaffMain.Set BulbBlink, "10", 150
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_DeepOne"
- DMD.QueueText "[y3][xc][f3]GAFF[y18][f3][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- End Select
- End Sub
- ' ********************************
- ' ** **
- ' ** ROLLOVER LANE **
- ' ** **
- ' ********************************
- Sub TrigRO1_Hit()
- If (fpTilted = TRUE) Then Exit Sub
- If (LightRO1.State = BulbBlink) Then
- If (LeonMode = TRUE) Then
- PlaySound "fx_Hit9"
- PlayMusic 3, "vo_NewEmployee"
- LightRO1.State = BulbOff
- LightRO2.State = BulbOff
- LightTyrell.State = BulbOff
- LightLO3.State = BulbOff
- LightElevator.State = BulbOn
- AddScore(200)
- End If
- Exit Sub
- End If
- PlaySound "fx_Hit6"
- LightRO1.State = BulbOn: CheckRO()
- End Sub
- Sub TrigRO2_Hit()
- If (fpTilted = TRUE) Then Exit Sub
- If (LightRO2.State = BulbBlink) Then
- If (LeonMode = TRUE) Then
- PlaySound "fx_Hit9"
- PlayMusic 3, "vo_NewEmployee"
- LightRO1.State = BulbOff
- LightRO2.State = BulbOff
- LightTyrell.State = BulbOff
- LightLO3.State = BulbOff
- LightElevator.State = BulbOn
- AddScore(200)
- End If
- Exit Sub
- End If
- PlaySound "fx_Hit6"
- LightRO2.State = BulbOn: CheckRO()
- End Sub
- Sub CheckRO()
- If (LightRO1.State=BulbOn) and (LightRO2.State=BulbOn) Then
- LightRO1.State = BulbOff
- LightRO2.State = BulbOff
- LightElevator.State = BulbOn ' activate elevator...
- Bulb30.FlashForMs 500, 100, BulbOn
- Bulb31.FlashForMs 500, 100, BulbOn
- Bulb32.FlashForMs 500, 100, BulbOn
- PlaySound "fx_Hit8"
- AddScore(200)
- IncrementBonusMultiplier()
- Else
- AddScore(20)
- End If
- End Sub
- Sub TrigBumpLane_Hit()
- PopUp2.SolenoidPulse(2000)
- set LastSwitchHit = TrigBumpLane
- End Sub
- Sub TrigPopUpFx_Hit()
- If (LightTyrell.State = BulbOn) Then
- If (LightLO3.State = BulbOff) Then
- LightTyrell.State = BulbOff
- End If
- PlaySound "fx_MetalHitHardC"
- End If
- End Sub
- ' **********************************
- ' ** **
- ' ** TARGETS INCLINE **
- ' ** **
- ' **********************************
- Sub DT_1_Hit()
- RangeTimer.Set TRUE, RangeTime
- FlasherL.FlashForMs 200, 200, BulbOff
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 200
- LightSeqPF.Play SeqBlinking, , 1, 200
- If (ShootingMode = TRUE) Then
- PlaySound "fx_GunShot4"
- AddScore(RangeValue)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
- DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1200, TRUE
- DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1200, TRUE
- End If
- If (VKMode = TRUE) Then
- PlaySound "fx_VKMachine"
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_Iris"
- End If
- Clip = 7: PlayMovie()
- AddScore(VKValue)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
- DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1200, TRUE
- DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1200, TRUE
- End If
- If (PhotoMode = TRUE) Then
- PlaySound "fx_8", 0.8
- AddScore(PhotoValue)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
- DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1200, TRUE
- DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1200, TRUE
- End If
- PlaySound "fx_DropDownL"
- End Sub
- Sub DT_2_Hit()
- FlasherL.FlashForMs 200, 200, BulbOff
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 200
- LightSeqPF.Play SeqBlinking, , 1, 200
- If (ShootingMode = TRUE) Then
- PlaySound "fx_GunShot4"
- AddScore(RangeValue)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
- DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1200, TRUE
- DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1200, TRUE
- End If
- If (VKMode = TRUE) Then
- PlaySound "fx_VKHit"
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_BlushResponse"
- End If
- AddScore(VKValue)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
- DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1200, TRUE
- DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1200, TRUE
- End If
- If (PhotoMode = TRUE) Then
- PlaySound "fx_8", 0.8
- AddScore(PhotoValue)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
- DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1200, TRUE
- DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1200, TRUE
- End If
- PlaySound "fx_DropDownL"
- End Sub
- Sub DT_3_Hit()
- FlasherL.FlashForMs 200, 200, BulbOff
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 200
- LightSeqPF.Play SeqBlinking, , 1, 200
- If (ShootingMode = TRUE) Then
- PlaySound "fx_GunShot4"
- AddScore(RangeValue)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
- DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1200, TRUE
- DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1200, TRUE
- End If
- If (VKMode = TRUE) Then
- PlaySound "fx_VKHit"
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_Pupil"
- End If
- AddScore(VKValue)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
- DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1200, TRUE
- DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1200, TRUE
- End If
- If (PhotoMode = TRUE) Then
- 'PlaySound "fx_8", 0.8
- PlaySound "vfx_PhotoScan"
- Clip = 29: PlayMovie()
- AddScore(PhotoValue)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
- DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1200, TRUE
- DMD2.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1200, TRUE
- End If
- PlaySound "fx_DropDownL"
- End Sub
- Sub DT_4_Hit()
- PlaySound "fx_DropDownL"
- RangeTimer.Enabled = FALSE
- FlasherL.FlashForMs 300, 300, BulbOff
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 300
- LightSeqPF.Play SeqBlinking, , 1, 300
- If (BattyMode = TRUE) Then
- BattyHit = BattyHit + 1
- PlaySound "fx_DropDownL"
- QuoteBusy = TRUE
- Select Case BattyHit
- Case 1: PlayMusic 2, "vo_Unarmed"
- Case 2: PlayMusic 2, "vo_GoodEnough"
- Case 3: PlayMusic 2, "vo_Spirit"
- Case 4: PlayMusic 2, "vo_SeeYou" ' last shot...
- Case 5: PlayMusic 2, "vo_Irrational"
- Case 6: PlayMusic 2, "vo_Deckard3"
- Case 7: PlayMusic 2, "vo_HaHaHa"
- End Select
- Select Case BattyShot
- Case 1:
- LightLO3.State = BulbBlink
- 'LightLaneL.State = BulbBlink
- LightRampL.State = BulbBlink
- 'LightCentrePurge.State = BulbBlink
- LightRampR.State = BulbBlink
- 'LightLaneR.State = BulbBlink
- LightRep.State = BulbBlink
- Case 2:
- 'LightLO3.State = BulbBlink
- 'LightLaneL.State = BulbBlink
- LightRampL.State = BulbBlink
- 'LightCentrePurge.State = BulbBlink
- LightRampR.State = BulbBlink
- 'LightLaneR.State = BulbBlink
- LightRep.State = BulbBlink
- Case 3:
- 'LightLO3.State = BulbBlink
- 'LightLaneL.State = BulbBlink
- LightRampL.State = BulbBlink
- 'LightCentrePurge.State = BulbBlink
- 'LightRampR.State = BulbBlink
- 'LightLaneR.State = BulbBlink
- LightRep.State = BulbBlink
- Case 4:
- 'LightLO3.State = BulbBlink
- 'LightLaneL.State = BulbBlink
- 'LightRampL.State = BulbBlink
- LightCentrePurge.State = BulbBlink
- 'LightRampR.State = BulbBlink
- 'LightLaneR.State = BulbBlink
- 'LightRep.State = BulbBlink
- End Select
- DMD.QueueText "[yc][xc][f6][bf]BATTY HIT", deNone, 1500, TRUE
- DMD2.QueueText "[yc][xc][f6][bf]BATTY HIT", deNone, 1500, TRUE
- PlaySound "fx_GunShot3"
- LightDT.State = BulbOff
- Select Case RandomNumber(7)
- Case 1: Spin = 12
- Case 2: Spin = 13
- Case 3: Spin = 15
- Case 4: Spin = 16
- Case 5: Spin = 17
- Case 6: Spin = 18
- Case 7: Spin = 19
- End Select
- RingSpin.Set TRUE, 100
- PlayMusic 4, "fx_MoneySpin", TRUE, 0.6
- LightRing8.Set BulbBlink,"10000000", 100
- LightRing7.Set BulbBlink,"01000000", 100
- LightRing6.Set BulbBlink,"00100000", 100
- LightRing5.Set BulbBlink,"00010000", 100
- LightRing4.Set BulbBlink,"00001000", 100
- LightRing3.Set BulbBlink,"00000100", 100
- LightRing2.Set BulbBlink,"00000010", 100
- LightRing1.Set BulbBlink,"00000001", 100
- Exit Sub
- End If
- MovieTimer.Set TRUE, 100
- ' firing range complete...
- If (ShootingMode = TRUE) Then
- PlaySound "fx_GunShot5"
- AllPlasOff(): FlashMe = 0: PFFlashTimer.Set TRUE, 100
- LightSeqPF.Play SeqBlinking, , 1, 400
- ShootingMode = FALSE
- LightRange.State = BulbOn
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_CompletedSeq", FALSE, 1, 500
- End If
- DMD.QueueText "[xc[y3][f6][bf]END SEQUENCE"
- DMD2.QueueText "[xc[y3][f6][bf]END SEQUENCE"
- RangeComp = RangeComp + 1
- End If
- ' voigt-kampff complete...
- If (VKMode = TRUE) Then
- PlaySound "fx_22"
- VKMode = FALSE
- LightVK.State = BulbOn
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_VKForShort", FALSE, 1, 500
- End If
- 'AddScore(VKValue*4)
- 'DMD.QueueText "[xc[y3][f6][bf]END = $ " & FormatNumber(VKValue*4, 0, -1, 0, -1), deNone, 1800, TRUE
- 'DMD2.QueueText "[xc[y3][f6][bf]END = $ " & FormatNumber(VKValue*4, 0, -1, 0, -1), deNone, 1800, TRUE
- DMD.QueueText "[xc[y3][f6][bf]END SEQUENCE"
- DMD2.QueueText "[xc[y3][f6][bf]END SEQUENCE"
- RangeComp = RangeComp + 1
- End If
- ' photo complete...
- If (PhotoMode = TRUE) Then
- PlaySound "fx_22"
- PhotoMode = FALSE
- LightPhoto.State = BulbOn
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_SnapShots", FALSE, 1, 500
- End If
- 'AddScore(PhotoValue*4)
- 'DMD.QueueText "[xc[y3][f6][bf]END = $ " & FormatNumber(PhotoValue*4, 0, -1, 0, -1), deNone, 1800, TRUE
- 'DMD2.QueueText "[xc[y3][f6][bf]END = $ " & FormatNumber(PhotoValue*4, 0, -1, 0, -1), deNone, 1800, TRUE
- DMD.QueueText "[xc[y3][f6][bf]END SEQUENCE"
- DMD2.QueueText "[xc[y3][f6][bf]END SEQUENCE"
- RangeComp = RangeComp + 1
- End If
- If (RangeComp = 3) Then
- AwardEB()
- ' reset and start again...
- RangeComp = 0
- LightRange.State = BulbOff
- LightVK.State = BulbOff
- LightPhoto.State = BulbOff
- End If
- VK = 0
- ' reset base values...
- RangeValue = AdjRangeValue
- VKValue = AdjVKValue
- PhotoValue = AdjPhotoValue
- Select Case RandomNumber(7)
- Case 1: Spin = 12
- Case 2: Spin = 13
- Case 3: Spin = 15
- Case 4: Spin = 16
- Case 5: Spin = 17
- Case 6: Spin = 18
- Case 7: Spin = 19
- End Select
- RingSpin.Set TRUE, 100
- PlayMusic 4, "fx_MoneySpin", TRUE, 0.6
- LightRing8.Set BulbBlink,"10000000", 100
- LightRing7.Set BulbBlink,"01000000", 100
- LightRing6.Set BulbBlink,"00100000", 100
- LightRing5.Set BulbBlink,"00010000", 100
- LightRing4.Set BulbBlink,"00001000", 100
- LightRing3.Set BulbBlink,"00000100", 100
- LightRing2.Set BulbBlink,"00000010", 100
- LightRing1.Set BulbBlink,"00000001", 100
- End Sub
- Sub AwardEB()
- ExtraBallsAwards(CurrentPlayer) = ExtraBallsAwards(CurrentPlayer) + 1
- ShootAgainLight.State = BulbOn
- End Sub
- ' the money spinner will stop on a random value, award that value and add to the jackpot value...
- Sub RingSpin_Expired()
- Spin = Spin - 1
- If (Spin = 1) Then
- RingSpin.Set TRUE, 400
- StopMusic 4
- LightRing1.State = BulbOff
- LightRing2.State = BulbOff
- LightRing3.State = BulbOff
- LightRing4.State = BulbOff
- LightRing5.State = BulbOff
- LightRing6.State = BulbOff
- LightRing7.State = BulbOff
- LightRing8.State = BulbOff
- End If
- If (Spin = 0) Then
- RingSpin.Enabled = FALSE
- PlaySound "fx_4"
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1200
- DMD.Text = "[yc][xc][f6]MONEY AWARD"
- DMD2.Text = "[yc][xc][f6]MONEY AWARD"
- Select Case RandomNumber(8)
- Case 1: LightRing1.FlashForMs 500, 100, BulbOn: AddScore(700): JPValue = JPValue + 200
- Case 2: LightRing2.FlashForMs 500, 100, BulbOn: AddScore(900): JPValue = JPValue + 300
- Case 3: LightRing3.FlashForMs 500, 100, BulbOn: AddScore(1000): JPValue = JPValue + 400
- Case 4: LightRing4.FlashForMs 500, 100, BulbOn: AddScore(1500): JPValue = JPValue + 500
- Case 5: LightRing5.FlashForMs 500, 100, BulbOn: AddScore(2000): JPValue = JPValue + 600
- Case 6: LightRing6.FlashForMs 500, 100, BulbOn: AddScore(2500): JPValue = JPValue + 700
- Case 7: LightRing7.FlashForMs 500, 100, BulbOn: AddScore(3000): JPValue = JPValue + 800
- Case 8: LightRing8.FlashForMs 500, 100, BulbOn: AddScore(500): JPValue = JPValue + 100
- End Select
- End If
- End Sub
- Sub TgtLane_Hit()
- If (RachaelMode = TRUE) and (LightDT.State = BulbBlink) Then
- RachaelHit = RachaelHit + 1: MissionHit = MissionHit + 250
- AddScore(MissionHit)
- DMD.FlushQueue: DMD2.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]RACHAEL HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]RACHAEL HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- PlaySound "fx_VKHit"
- LightSeqPF.Play SeqBlinking, , 1, 200
- If (QuoteBusy = FALSE) Then
- QuoteTimer.Enabled = FALSE: QuoteBusy = TRUE
- Select Case RachaelHit
- Case 1: PlayMusic 2, "vo_AskQuestions"
- Case 2: PlayMusic 2, "vo_Smoke"
- Case 3:
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_Catskin"
- Case 2: PlayMusic 2, "vo_KillingJar"
- End Select
- Case 4: PlayMusic 2, "vo_Wasp"
- Case 5:
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_StagePlay"
- Case 2: PlayMusic 2, "vo_Lesbian2"
- End Select
- Case 6:
- Select Case RandomNumber(4)
- Case 1: PlayMusic 2, "vo_ShesReplicant", FALSE, 1, 600: DTTimer.Set TRUE, 6000: MusicResume.Set TRUE, 6000
- Case 2: PlayMusic 2, "vo_NotKnow", FALSE, 1, 600: DTTimer.Set TRUE, 4000: MusicResume.Set TRUE, 4000
- Case 3: PlayMusic 2, "vo_Experiment", FALSE, 1, 600: DTTimer.Set TRUE, 3000: MusicResume.Set TRUE, 3000
- Case 4: PlayMusic 2, "vo_Suspect", FALSE, 1, 600: DTTimer.Set TRUE, 4000: MusicResume.Set TRUE, 4000
- End Select
- End Select
- Else
- If (RachaelHit = 6) Then
- DTTimer.Set TRUE, 1000: MusicResume.Set TRUE, 1000
- Else
- PlaySound "fx_VKMachine", 0.6
- End If
- End If
- Select Case RachaelHit
- Case 1:
- Clip = 7: PlayMovie()
- Case 2: OverlayMovie.Frame 331: OverlayMovieHUD.Frame 331
- Case 3: OverlayMovie.Frame 332: OverlayMovieHUD.Frame 332
- Case 4: OverlayMovie.Frame 577: OverlayMovieHUD.Frame 577
- Case 5:
- Clip = 13: PlayMovie()
- Case 6:
- DT_1.SolenoidPulse: DTBlock.Collidable = TRUE
- LightDT.State = BulbOff
- LightVK.State = BulbOff
- ModeActive = FALSE: RachaelMode = FALSE
- StopMusic 5
- OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
- OverlayMovie.Frame 591, 592, 591: OverlayMovieHUD.Frame 591, 592, 591
- MovieTimer.Set TRUE, 2000
- AssWin()
- End Select
- Exit Sub
- End If
- If (ZhoraMode = TRUE) and (LightDT.State = BulbBlink) Then
- 'Photo = Photo + 1
- ZhoraHit = ZhoraHit + 1: MissionHit = MissionHit + 250
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlaySound "fx_VKHit"
- Select Case ZhoraHit
- Case 1: PlayMusic 2, "vo_Enhance176"
- Case 2: PlayMusic 2, "vo_Track45Right"
- Case 3: PlayMusic 2, "vo_Enhance1523"
- Case 4: PlayMusic 2, "vo_EnhanceStop"
- Case 5: PlayMusic 2, "vo_EnhanceStop2"
- Case 6: PlayMusic 2, "vo_HardCopy"
- End Select
- MovieTimer_Expired()
- Else
- PlaySound "vfx_PhotoScan"
- Clip = 29: PlayMovie()
- End If
- LightSeqPF.Play SeqBlinking, , 1, 200
- AddScore(MissionHit)
- DMD.FlushQueue: DMD2.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]ZHORA HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]ZHORA HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- If (ZhoraHit = 6) Then
- PlaySound "fx_Print"
- RedOn()
- LightCentrePurge.State = BulbBlink
- OverlayMovie.Frame 456: OverlayMovieHUD.Frame 456
- DT_1.SolenoidPulse: DTBlock.Collidable = TRUE: DTTimer.Set TRUE, 2000
- PlayMusic 5, "Music_BRTrack8", TRUE, 0.6
- LightDT.State = BulbOff
- 'Photo = 0
- End If
- Exit Sub
- End If
- ' NOT USED
- If (RachaelMode = TRUE) Then
- VK = VK + 1
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlaySound "fx_VKHit"
- FlasherL.FlashForMs 200, 200, BulbOff
- LightSeqPF.Play SeqBlinking, , 1, 200
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 200
- Select Case VK
- Case 1: PlayMusic 2, "vo_AskQuestions"
- DT_1.SolenoidPulse: DTBlock.Collidable = TRUE: DTTimer.Set TRUE, 3000
- Case 2: PlayMusic 2, "vo_EmpathyTest"
- Case 3: PlayMusic 2, "vo_Iris"
- Case 4: PlayMusic 2, "vo_BlushResponse"
- Case 5: PlayMusic 2, "vo_Pupil"
- Case 6: PlayMusic 2, "vo_VKForShort"
- End Select
- Else
- PlaySound "fx_VKMachine"
- End If
- Exit Sub
- End If
- PlaySound "fx_Hit4"
- FlasherL.FlashForMs 200, 200, BulbOff
- LightSeqPF.Play SeqBlinking, , 1, 200
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 200
- AddScore(20)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
- If (LightRange.State = BulbOff) Then
- RangeValue = RangeValue + 10
- DMD.QueueText "[y3][xc][f3]+ RANGE VALUE[y18][f3]RANGE TARGET VALUE: $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
- DMD2.QueueText "[y3][xc][f3]+ RANGE VALUE[y18][f3]RANGE TARGET VALUE: $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
- Else
- If (LightVK.State = BulbOff) Then
- VKValue = VKValue + 20
- DMD.QueueText "[y3][xc][f3]+ VK VALUE[y18][f3]VK TARGET VALUE: $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1500, TRUE
- DMD2.QueueText "[y3][xc][f3]+ VK VALUE[y18][f3]VK TARGET VALUE: $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1500, TRUE
- Else
- If (LightPhoto.State = BulbOff) Then
- PhotoValue = PhotoValue + 30
- DMD.QueueText "[y3][xc][f3]+ PHOTO VALUE[y18][f3]VK TARGET VALUE: $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1500, TRUE
- DMD2.QueueText "[y3][xc][f3]+ PHOTO VALUE[y18][f3]VK TARGET VALUE: $ " & FormatNumber(PhotoValue, 0, -1, 0, -1), deNone, 1500, TRUE
- End If
- End If
- End If
- If (LightLeft1.State=BulbBlink)and(LightLeft2.State=BulbBlink)and(LightLeft3.State=BulbBlink) Then Exit Sub
- ' rotate the GUN lights, only if at least 1 has been hit...
- TempGun = LightLeft1.State
- LightLeft1.State = LightLeft2.State
- LightLeft2.State = LightLeft3.State
- LightLeft3.State = TempGun
- set LastSwitchHit = TgtLane
- End Sub
- Sub DTTimer_Expired()
- DTTimer.Enabled = FALSE
- DT_1.PopDown: DTBlock.Collidable = FALSE
- End Sub
- Sub MovieTimer_Expired()
- MovieTimer.Enabled = FALSE
- OverlayHUD2.Frame 1: OverlayMovie2.Frame 1
- OverlayMovieHUD.Frame 599: OverlayMovie.Frame 599
- If (fpGameInPlay = FALSE) Then OverlayMovie.Frame 66: OverlayMovieHUD.Frame 66: Exit Sub
- OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
- If (BattyMode = TRUE) Then
- OverlayMovie.Frame 584: OverlayMovieHUD.Frame 584
- Exit Sub
- End If
- If (RachaelMode = TRUE) Then
- Select Case RachaelHit
- Case 0: OverlayMovie.Frame 212: OverlayMovieHUD.Frame 212
- Case 1: OverlayMovie.Frame 331: OverlayMovieHUD.Frame 331
- Case 2: OverlayMovie.Frame 332: OverlayMovieHUD.Frame 332
- Case 3: OverlayMovie.Frame 576: OverlayMovieHUD.Frame 576
- Case 4: OverlayMovie.Frame 577: OverlayMovieHUD.Frame 577
- Case 5: OverlayMovie.Frame 578: OverlayMovieHUD.Frame 578
- End Select
- Exit Sub
- End If
- If (LeonMode = TRUE) Then
- If (KillLeon = TRUE) Then OverlayMovie.Frame 583: OverlayMovieHUD.Frame 583: Exit Sub ' retirement...
- Select Case LeonHit
- Case 0,5: OverlayMovie.Frame 214: OverlayMovieHUD.Frame 214
- Case 1: OverlayMovie.Frame 572: OverlayMovieHUD.Frame 572
- Case 2: OverlayMovie.Frame 573: OverlayMovieHUD.Frame 573
- Case 3: OverlayMovie.Frame 574: OverlayMovieHUD.Frame 574
- Case 4: OverlayMovie.Frame 575: OverlayMovieHUD.Frame 575
- End Select
- Exit Sub
- End If
- If (GaffMode = TRUE) Then
- Select Case GaffHit
- Case 0: OverlayMovie.Frame 215: OverlayMovieHUD.Frame 215
- Case 1: OverlayMovie.Frame 579: OverlayMovieHUD.Frame 579
- Case 2: OverlayMovie.Frame 580: OverlayMovieHUD.Frame 580
- Case 3: OverlayMovie.Frame 581: OverlayMovieHUD.Frame 581
- Case 4: OverlayMovie.Frame 582: OverlayMovieHUD.Frame 582
- Case 5: OverlayMovie.Frame 821: OverlayMovieHUD.Frame 821
- End Select
- Exit Sub
- End If
- If (SebastianMode = TRUE) Then
- Select Case SebastianHit
- Case 0: OverlayMovie.Frame 221: OverlayMovieHUD.Frame 221
- Case 1: OverlayMovie.Frame 552: OverlayMovieHUD.Frame 552
- Case 2: OverlayMovie.Frame 553: OverlayMovieHUD.Frame 553
- Case 3: OverlayMovie.Frame 554: OverlayMovieHUD.Frame 554
- Case 4: OverlayMovie.Frame 555: OverlayMovieHUD.Frame 555
- Case 5: OverlayMovie.Frame 556: OverlayMovieHUD.Frame 556
- End Select
- Exit Sub
- End If
- If (TyrellMode = TRUE) Then
- Select Case TyrellHit
- Case 0: OverlayMovie.Frame 222: OverlayMovieHUD.Frame 222
- Case 1: OverlayMovie.Frame 557: OverlayMovieHUD.Frame 557
- Case 2: OverlayMovie.Frame 558: OverlayMovieHUD.Frame 558
- Case 3: OverlayMovie.Frame 559: OverlayMovieHUD.Frame 559
- Case 4: OverlayMovie.Frame 560: OverlayMovieHUD.Frame 560
- Case 5: OverlayMovie.Frame 561: OverlayMovieHUD.Frame 561
- End Select
- Exit Sub
- End If
- If (ChewMode = TRUE) Then
- Select Case ChewHit
- Case 0: OverlayMovie.Frame 223: OverlayMovieHUD.Frame 223
- Case 1: OverlayMovie.Frame 562: OverlayMovieHUD.Frame 562
- Case 2: OverlayMovie.Frame 563: OverlayMovieHUD.Frame 563
- Case 3: OverlayMovie.Frame 564: OverlayMovieHUD.Frame 564
- Case 4: OverlayMovie.Frame 565: OverlayMovieHUD.Frame 565
- Case 5: OverlayMovie.Frame 566: OverlayMovieHUD.Frame 566
- End Select
- Exit Sub
- End If
- If (PrisMode = TRUE) Then
- Select Case PrisHit
- Case 0: OverlayMovie.Frame 224: OverlayMovieHUD.Frame 224
- Case 1: OverlayMovie.Frame 567: OverlayMovieHUD.Frame 567
- Case 2: OverlayMovie.Frame 568: OverlayMovieHUD.Frame 568
- Case 3: OverlayMovie.Frame 569: OverlayMovieHUD.Frame 569
- Case 4: OverlayMovie.Frame 570: OverlayMovieHUD.Frame 570
- Case 5: OverlayMovie.Frame 571: OverlayMovieHUD.Frame 571
- Case 6,7: OverlayMovie.Frame 823: OverlayMovieHUD.Frame 823 ' retirement...
- End Select
- Exit Sub
- End If
- If (ZhoraMode = TRUE) Then
- Select Case ZhoraHit
- Case 0: OverlayMovie.Frame 225: OverlayMovieHUD.Frame 225
- Case 1: OverlayMovie.Frame 586: OverlayMovieHUD.Frame 586
- Case 2: OverlayMovie.Frame 587: OverlayMovieHUD.Frame 587
- Case 3: OverlayMovie.Frame 588: OverlayMovieHUD.Frame 588
- Case 4: OverlayMovie.Frame 589: OverlayMovieHUD.Frame 589
- Case 5: OverlayMovie.Frame 590: OverlayMovieHUD.Frame 590
- Case 6,7: OverlayMovie.Frame 456: OverlayMovieHUD.Frame 456 ' retirement...
- End Select
- Exit Sub
- End If
- If (ShootingMode = TRUE) Then OverlayMovie.Frame 216: OverlayMovieHUD.Frame 216: Exit Sub
- If (VKMode = TRUE) Then OverlayMovie.Frame 873: OverlayMovieHUD.Frame 873: Exit Sub
- If (PhotoMode = TRUE) Then OverlayMovie.Frame 874: OverlayMovieHUD.Frame 874: Exit Sub
- If (LightMode.State = BulbBlink) Then OverlayMovie.Frame 872: OverlayMovieHUD.Frame 872: Exit Sub
- If (LightSnakePit.State = BulbBlink) Then OverlayMovie.Frame 876: OverlayMovieHUD.Frame 876: Exit Sub
- OverlayMovie.Frame 208: OverlayMovieHUD.Frame 208
- End Sub
- ' ****************************
- ' ** **
- ' ** LEFT RAMP **
- ' ** **
- ' ****************************
- Dim BattyShot
- Sub TrigLeftRamp_Hit()
- If (fpTilted = TRUE) Then Exit Sub
- If (ComboTimer.Enabled = TRUE) Then
- ComboTimer.Set TRUE, 2500
- Congrats()
- End If
- PlayMusic 7, "fx_WireRamp3"
- If (LightRampL.State = BulbBlink) Then ' Mission Shot...
- If (BattyMode = TRUE) Then
- PlaySound "fx_Hit8"
- DT_4.SolenoidPulse
- LightDT.State = BulbBlink
- BattyShot = BattyShot + 1
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case BattyShot
- Case 1: PlayMusic 2, "vo_MadeOf"
- Case 2: PlayMusic 2, "vo_ShootStraight"
- Case 3: PlayMusic 2, "vo_GetItUp"
- Case 4: PlayMusic 2, "vo_StayAlive"
- End Select
- Else
- Select Case RandomNumber(2)
- Case 1: PlaySound "fx_Howl"
- Case 2: PlaySound "fx_Howl2"
- End Select
- End If
- AddScore(MissionHit)
- MissionHit = MissionHit + 500
- DMD.FlushQueue: DMD2.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]SHOOT BATTY", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]SHOOT BATTY", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- LightLO3.State = BulbOff
- LightLaneL.State = BulbOff
- LightRampL.State = BulbOff
- LightCentrePurge.State = BulbOff
- LightRampR.State = BulbOff
- LightLaneR.State = BulbOff
- LightRep.State = BulbOff
- If (SuperRamps = TRUE) Then
- LightSeqPF.Play SeqRandom, 30, , 2000
- PlaySound "fx_SuperRamp", 0.6
- FlashPoliceL.Set BulbBlink, "101000", 100
- FlashPoliceR.Set BulbBlink, "000101", 100
- FlasherPolice1.Set BulbBlink, "101000", 100
- FlasherPolice2.Set BulbBlink, "000101", 100
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
- AddScore(RampValue)
- End If
- Exit Sub
- End If
- If (SSTimer.Enabled = TRUE) Then
- SSTimer.Enabled = FALSE
- LightRampL.State = BulbOff
- LightRampR.State = BulbOff
- AddScore(SSValue)
- If (SuperRamps = TRUE) Then
- LightSeqPF.Play SeqRandom, 30, , 2000
- PlaySound "fx_SuperRamp"
- FlashPoliceL.Set BulbBlink, "101000", 100
- FlashPoliceR.Set BulbBlink, "000101", 100
- FlasherPolice1.Set BulbBlink, "101000", 100
- FlasherPolice2.Set BulbBlink, "000101", 100
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
- DMDBusy = TRUE: DMDTimer.Set TRUE, 2000
- DMD.QueueText "[xc][yc][f7][bf]SKILL SHOT[f3][y7]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1000, FALSE
- DMD2.QueueText "[x3][yc][f7][bf]SKILL SHOT[f3][y7]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1000, FALSE
- If (TestSpin = 10) Then
- RampValue = RampValue + 2000
- DMD.QueueText "[y3][xc][f3][bf]LANDING BONUS[y18][f3]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
- DMD2.QueueText "[y3][xc][f3][bf]LANDING BONUS[y18][f3]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
- Else
- DMD.QueueText "[xc][y1][f7]SUPER RAMP[f3][y7]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[xc][y3][f3]SUPER RAMP[f3][y18]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
- End If
- AddScore(RampValue)
- Else
- PlaySound "fx_SpinnerFlyBy6"
- PlaySound "fx_PoliceSiren"
- FlashPoliceL.FlashForMs 500, 100, BulbOff
- FlashPoliceR.FlashForMs 500, 100, BulbOff
- FlasherPolice1.FlashForMs 500, 100, BulbOff
- FlasherPolice2.FlashForMs 500, 100, BulbOff
- 'AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 500
- AllPlasOff(): FlashMe = 0: PFFlashTimer.Set TRUE, 100
- DMDTimer.Set TRUE, 2500
- DMD.QueueText "[xc][y1][f7][bf]SKILL SHOT[f3][y7]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1300, FALSE
- DMD2.QueueText "[xc][y3][f7][bf]SKILL SHOT[f3][y18]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1300, FALSE
- DMD.QueueText "[xc][y1][f7]BALL SAVER[f3][y7]TIME + 1 SEC", deNone, 1000, TRUE
- DMD2.QueueText "[xc][y3][f7]BALL SAVER[f3][y18]TIME + 1 SEC", deNone, 1000, TRUE
- End If
- SSValue = SSValue + 750: BSTime = BSTime + 1
- Exit Sub
- End If
- ' the final hunt shot, starts the kill. Need to hold the ball in the scoop for 7.5 seconds...
- If (LeonMode = TRUE) Then
- LightRampL.State = BulbOff
- LeonHit = LeonHit + 1: MissionHit = MissionHit + 250
- AddScore(MissionHit)
- 'MovieTimer_Expired()
- QuoteBusy = FALSE: PlayMusic 2, "vo_Mother2"
- ' diverts the ball into the right scoop
- RampSwitch.Collidable = TRUE
- RampSwitch2.Collidable = FALSE
- ' reset normal OOM stuff...
- LightBlade.State = BulbBlink
- LightRunner.State = BulbBlink
- LightCentrePurge.State = BulbBlink ' light the kill shot...
- KillLeon = TRUE
- RedOn()
- PlayMusic 5, "Music_BRTrack8", TRUE, 0.6, 8000
- DMD.FlushQueue: DMD2.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y1][xc][f6]LEON HIT", deNone, 800, FALSE
- DMD.QueueText "[y1][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- If (SuperRamps = TRUE) Then
- LightSeqPF.Play SeqRandom, 30, , 2000
- PlaySound "fx_SuperRamp", 0.5
- FlashPoliceL.Set BulbBlink, "101000", 100
- FlashPoliceR.Set BulbBlink, "000101", 100
- FlasherPolice1.Set BulbBlink, "101000", 100
- FlasherPolice2.Set BulbBlink, "000101", 100
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
- AddScore(RampValue)
- End If
- Exit Sub
- End If
- If (ChewMode = TRUE) Then
- ChewHit = ChewHit + 1: MissionHit = MissionHit + 250
- PlaySound "fx_Hit8"
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case ChewHit
- Case 1: PlayMusic 2, "vo_Questions"
- Case 2: PlayMusic 2, "vo_JustEyes2"
- Case 3: PlayMusic 2, "vo_YourEyes"
- Case 4: PlayMusic 2, "vo_Smart"
- Case 5: PlayMusic 2, "vo_SebastianWho"
- Case 6: PlayMusic 2, "vo_Where"
- End Select
- End If
- LightRampL.State = BulbOff
- LightRampR.State = BulbBlink
- AddScore(MissionHit)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.FlushQueue: DMD2.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y1][xc][f6]CHEW HIT", deNone, 800, FALSE
- DMD.QueueText "[y1][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]CHEW HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- MovieTimer.Set TRUE, 100
- If (SuperRamps = TRUE) Then
- LightSeqPF.Play SeqRandom, 30, , 2000
- PlaySound "fx_SuperRamp", 0.5
- FlashPoliceL.Set BulbBlink, "101000", 100
- FlashPoliceR.Set BulbBlink, "000101", 100
- FlasherPolice1.Set BulbBlink, "101000", 100
- FlasherPolice2.Set BulbBlink, "000101", 100
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
- AddScore(RampValue)
- End If
- If (ChewHit = 6) Then
- ModeActive = FALSE: ChewMode = FALSE
- LightChewMain.State = BulbOn
- LightRampL.State = BulbOff
- StopMusic 5
- MusicResume.Set TRUE, 2500
- OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
- OverlayMovie.Frame 591, 592, 591: OverlayMovieHUD.Frame 591, 592, 591
- MovieTimer.Set TRUE, 2000
- AssWin()
- Exit Sub
- End If
- Exit Sub
- End If
- Exit Sub
- End If
- If (LightMode.State = BulbBlink) or (LightSnakePit.State = BulbOn) Then
- ' diverts the ball into the right scoop
- RampSwitch.Collidable = TRUE
- RampSwitch2.Collidable = FALSE
- End If
- If (LightSuperRampL.State = BulbOn) Then ' Super Ramps...
- LightSeqPF.Play SeqRandom, 30, , 2000
- FlashPoliceL.Set BulbBlink, "101000", 100
- FlashPoliceR.Set BulbBlink, "000101", 100
- FlasherPolice1.Set BulbBlink, "101000", 100
- FlasherPolice2.Set BulbBlink, "000101", 100
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
- Clip = 9: PlayMovie()
- DMDBusy = TRUE: DMDTimer.Set TRUE, 2000
- If (TestSpin = 10) Then
- If (ModeActive = TRUE) Then
- EffectMusic 5, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 2200
- Else
- EffectMusic 1, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 2200
- End If
- PlaySound "fx_LandingBonus3", 0.9
- RampValue = RampValue + 2000
- AddScore(RampValue)
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 100, FALSE
- DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 100, FALSE
- DMD.QueueText "[yc][xc][f6]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deFlip, 300, FALSE
- DMD2.QueueText "[yc][xc][f6]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deFlip, 300, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
- Else
- CokeSign.UpdateInterval = 200
- CokeSign.Frame 16, 28
- PlaySound "fx_SuperRamp"
- AddScore(RampValue)
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[xc][y1][f7]SUPER RAMP[f3][y7][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[xc][y3][f3]SUPER RAMP[f3][y18][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
- End If
- Else
- ' normal OOM shots...
- Select Case RandomNumber(3)
- Case 1: NeonSignOn()
- End Select
- BulbSpinner3.State = BulbOn: FlasherSpin.State = BulbOn
- AllPlasOff()
- LightSeqPF.Play SeqDownOn, 30, 1
- PlaySound "fx_RampHit"
- AddScore(120)
- End If
- End Sub
- ' used for COMBO shots...
- Sub Congrats()
- Combo = Combo + 1
- ComboVal = 500*Combo
- AddScore(ComboVal)
- DMD.FlushQueue: DMD2.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 3000
- DMD.QueueText "[xc[y3][f6][bf]COMBO X " & Combo, deNone, 1000, FALSE
- DMD.QueueText "[xc[y3][f6][bf]$ " & FormatNumber(ComboVal, 0, -1, 0, -1), deFlip, 1800, TRUE
- DMD2.QueueText "[xc[y3][f6][bf]COMBO X " & Combo, deNone, 1000, FALSE
- DMD2.QueueText "[xc[y3][f6][bf]$ " & FormatNumber(ComboVal, 0, -1, 0, -1), deFlip, 1800, TRUE
- If (MovieTimer.Enabled = FALSE) Then
- OverlayMovie.UpdateInterval = 200: OverlayMovieHUD.UpdateInterval = 200
- Select Case Combo
- Case 1: OverlayMovie.Frame 819, 820, 819: OverlayMovieHUD.Frame 819, 820, 819
- Case 2: OverlayMovie.Frame 824, 825, 824: OverlayMovieHUD.Frame 824, 825, 824
- Case 3: OverlayMovie.Frame 826, 827, 826: OverlayMovieHUD.Frame 826, 827, 826
- End Select
- MovieTimer.Set TRUE, 2000
- End If
- Select Case Combo
- Case 1: PlaySound "fx_Combo"
- Case 2: PlaySound "fx_Combo2"
- Case 3: PlaySound "fx_Combo3"
- End Select
- LightSeqGI.StopPlay
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 800
- PinkFlash()
- FlashersOff.Set TRUE, 900
- FlasherL.FlashForMs 800, 100, BulbOff
- FlasherM.FlashForMs 800, 100, BulbOff
- Flasher1.FlashForMs 800, 100, BulbOff
- If (ModeActive = TRUE) Then
- EffectMusic 5, FadeOutAndPause, 0, 10
- Else
- If (BR2049 = FALSE) Then
- EffectMusic 1, FadeOutAndPause, 0, 10
- End If
- End If
- MusicResume.Set TRUE, 1800
- If (QuoteBusy = FALSE) and (ModeActive = FALSE) Then
- QuoteBusy = TRUE
- QP = QP + 1
- Select Case QP
- Case 1: PlayMusic 2, "vo_HesGood", FALSE, 1, 500
- Case 2: PlayMusic 2, "vo_Ambitious", FALSE, 1, 500
- Case 3: PlayMusic 2, "vo_Genius", FALSE, 1, 500
- Case 4: PlayMusic 2, "vo_Perfect", FALSE, 1, 500
- Case 5:
- QP = 0
- If (JoiOn = TRUE) Then
- PlayMusic 2, "vo_JoiGoodJoe2": CokeSign.UpdateInterval = 75: CokeSign.Frame 248, 266: SignOffTimer.Set TRUE, 1200
- Else
- PlayMusic 2, "vo_Prize", FALSE, 1, 500
- End If
- End Select
- End If
- End Sub
- Dim QP
- Sub TrigLeftRamp2_Hit()
- End Sub
- ' exit to left ramp...START COMBO....
- Sub TrigRampExit1_Hit()
- RampL = FALSE
- StopMusic 7
- 'RampSwitch.Collidable = TRUE
- 'RampSwitch2.Collidable = FALSE
- FlashPoliceL.State = BulbOff
- FlashPoliceR.State = BulbOff
- FlasherPolice1.State = BulbOff
- FlasherPolice2.State = BulbOff
- If (ModeActive = FALSE) Then
- LightRampL.Set BulbBlink, "10", 100
- LightRampR.Set BulbBlink, "10", 100
- LightLaneL.Set BulbBlink, "10", 100
- LightLaneR.Set BulbBlink, "10", 100
- End If
- If (SuperRamps = FALSE) Then
- BulbSpinner3.State = BulbOff: FlasherSpin.State = BulbOff
- AllPlasOn()
- End If
- ComboTimer.Set TRUE, 2500
- End Sub
- Sub ComboTimer_Expired()
- ComboTimer.Enabled = FALSE
- Combo = 1
- QP = 0
- If (ModeActive = FALSE) Then
- LightRampL.Set BulbOff, "10", 125
- LightRampR.Set BulbOff, "10", 125
- LightLaneL.Set BulbOff, "10", 125
- LightLaneR.Set BulbOff, "10", 125
- End If
- End Sub
- Sub TrigRampExit2_Hit()
- RampL = FALSE
- StopMusic 7
- RampSwitch.Collidable = FALSE
- RampSwitch2.Collidable = TRUE
- FlashPoliceL.State = BulbOff
- FlashPoliceR.State = BulbOff
- FlasherPolice1.State = BulbOff
- FlasherPolice2.State = BulbOff
- 'If (QuoteBusy =FALSE) Then
- ' QuoteBusy = TRUE: QuoteTimer.Set TRUE, 2000
- ' Select Case RandomNumber(2)
- ' Case 1: PlayMusic 2, "vo_Want"
- ' Case 2: PlayMusic 2, "vo_Risk"
- ' End Select
- 'End If
- If (SuperRamps = FALSE) Then
- BulbSpinner3.State = BulbOff: FlasherSpin.State = BulbOff
- AllPlasOn()
- End If
- End Sub
- ' right ramp exit...
- Sub Trigger3_Hit()
- RampR = FALSE
- StopMusic 7
- FlashPoliceL.State = BulbOff
- FlashPoliceR.State = BulbOff
- FlasherPolice1.State = BulbOff
- FlasherPolice2.State = BulbOff
- If (SuperRamps = FALSE) Then
- BulbSpinner3.State = BulbOff: FlasherSpin.State = BulbOff
- AllPlasOn()
- End If
- ComboTimer.Set TRUE, 2500
- End Sub
- ' *****************************
- ' ** **
- ' ** RIGHT RAMP **
- ' ** **
- ' *****************************
- Sub TrigRightRamp_Hit()
- PlayMusic 7, "fx_WireRamp3"
- If (fpTilted = TRUE) Then Exit Sub
- If (ComboTimer.Enabled = TRUE) Then
- ComboTimer.Set TRUE, 2500
- Congrats()
- End If
- If (LightRampR.State = BulbBlink) Then ' Mission Shot...
- If (BattyMode = TRUE) Then
- PlaySound "fx_Hit8"
- DT_4.SolenoidPulse
- LightDT.State = BulbBlink
- BattyShot = BattyShot + 1
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case BattyShot
- Case 1: PlayMusic 2, "vo_MadeOf"
- Case 2: PlayMusic 2, "vo_ShootStraight"
- Case 3: PlayMusic 2, "vo_GetItUp"
- Case 4: PlayMusic 2, "vo_StayAlive"
- End Select
- Else
- Select Case RandomNumber(2)
- Case 1: PlaySound "fx_Howl"
- Case 2: PlaySound "fx_Howl2"
- End Select
- End If
- AddScore(MissionHit)
- MissionHit = MissionHit + 500
- DMD.FlushQueue: DMD2.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]SHOOT BATTY", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]SHOOT BATTY", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- LightLO3.State = BulbOff
- LightLaneL.State = BulbOff
- LightRampL.State = BulbOff
- LightCentrePurge.State = BulbOff
- LightRampR.State = BulbOff
- LightLaneR.State = BulbOff
- LightRep.State = BulbOff
- If (SuperRamps = TRUE) Then
- LightSeqPF.Play SeqRandom, 30, , 2000
- PlaySound "fx_SuperRamp", 0.5
- FlashPoliceL.Set BulbBlink, "101000", 100
- FlashPoliceR.Set BulbBlink, "000101", 100
- FlasherPolice1.Set BulbBlink, "101000", 100
- FlasherPolice2.Set BulbBlink, "000101", 100
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
- AddScore(RampValue)
- End If
- Exit Sub
- End If
- If (SSTimer.Enabled = TRUE) Then
- SSTimer.Enabled = FALSE
- LightRampL.State = BulbOff
- LightRampR.State = BulbOff
- AddScore(SSValue)
- If (SuperRamps = TRUE) Then
- LightSeqPF.Play SeqRandom, 30, , 2000
- PlaySound "fx_SuperRamp"
- FlashPoliceL.Set BulbBlink, "101000", 100
- FlashPoliceR.Set BulbBlink, "000101", 100
- FlasherPolice1.Set BulbBlink, "101000", 100
- FlasherPolice2.Set BulbBlink, "000101", 100
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
- DMDBusy = TRUE: DMDTimer.Set TRUE, 2000
- DMD.QueueText "[xc][y1][f7][bf]SKILL SHOT[f3][y7]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1000, FALSE
- DMD2.QueueText "[xc][y3][f7][bf]SKILL SHOT[f3][y18]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1000, FALSE
- If (TestSpin = 10) Then
- RampValue = RampValue + 2000
- DMD.QueueText "[y3][xc][f3][bf]LANDING BONUS[y18][f3]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
- DMD2.QueueText "[y3][xc][f3][bf]LANDING BONUS[y18][f3]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
- Else
- DMD.QueueText "[xc][y1][f7]SUPER RAMP[f3][y7]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[xc][y3][f3]SUPER RAMP[f3][y18]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
- End If
- AddScore(RampValue)
- Else
- PlaySound "fx_SpinnerFlyBy6"
- PlaySound "fx_PoliceSiren"
- FlashPoliceL.FlashForMs 500, 100, BulbOff
- FlashPoliceR.FlashForMs 500, 100, BulbOff
- FlasherPolice1.FlashForMs 500, 100, BulbOff
- FlasherPolice2.FlashForMs 500, 100, BulbOff
- 'AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 500
- AllPlasOff(): FlashMe = 0: PFFlashTimer.Set TRUE, 100
- DMD.QueueText "[xc][y1][f7][bf]SKILL SHOT[f3][y7]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1800, TRUE
- DMD2.QueueText "[xc][y3][f7][bf]SKILL SHOT[f3][y18]$ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1800, TRUE
- End If
- SSValue = SSValue + 750: BSTime = BSTime + 1
- Exit Sub
- End If
- If (PrisMode = TRUE) Then
- LightRampR.State = BulbOff
- PrisHit = PrisHit + 1: MissionHit = MissionHit + 500
- AddScore(MissionHit)
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]PRIS HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]PRIS HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- PlaySound "fx_Hit8"
- PlayMusic 5, "Music_BRTrack8", TRUE, 0.6
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_LookBeautiful"
- MovieTimer.Set TRUE, 100
- RedOn()
- LightCentrePurge.State = BulbBlink
- If (SuperRamps = TRUE) Then
- LightSeqPF.Play SeqRandom, 30, , 2000
- PlaySound "fx_SuperRamp", 0.5
- FlashPoliceL.Set BulbBlink, "101000", 100
- FlashPoliceR.Set BulbBlink, "000101", 100
- FlasherPolice1.Set BulbBlink, "101000", 100
- FlasherPolice2.Set BulbBlink, "000101", 100
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
- AddScore(RampValue)
- End If
- Exit Sub
- End If
- If (ChewMode = TRUE) Then
- ChewHit = ChewHit + 1: MissionHit = MissionHit + 250
- PlaySound "fx_Hit8"
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case ChewHit
- Case 1: PlayMusic 2, "vo_Questions"
- Case 2: PlayMusic 2, "vo_JustEyes2"
- Case 3: PlayMusic 2, "vo_YourEyes"
- Case 4: PlayMusic 2, "vo_Smart"
- Case 5: PlayMusic 2, "vo_SebastianWho"
- Case 6: PlayMusic 2, "vo_Where"
- End Select
- End If
- If (SuperRamps = TRUE) Then
- LightSeqPF.Play SeqRandom, 30, , 2000
- PlaySound "fx_SuperRamp", 0.5
- FlashPoliceL.Set BulbBlink, "101000", 100
- FlashPoliceR.Set BulbBlink, "000101", 100
- FlasherPolice1.Set BulbBlink, "101000", 100
- FlasherPolice2.Set BulbBlink, "000101", 100
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
- AddScore(RampValue)
- End If
- LightRampR.State = BulbOff
- LightRampL.State = BulbBlink
- AddScore(MissionHit)
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]CHEW HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]CHEW HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- MovieTimer.Set TRUE, 100
- If (ChewHit = 6) Then
- ModeActive = FALSE: ChewMode = FALSE
- LightChewMain.State = BulbOn
- LightRampL.State = BulbOff
- StopMusic 5
- MusicResume.Set TRUE, 2500
- OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
- OverlayMovie.Frame 591, 592, 591: OverlayMovieHUD.Frame 591, 592, 591
- MovieTimer.Set TRUE, 2000
- AssWin()
- Exit Sub
- End If
- Exit Sub
- End If
- Exit Sub
- End If
- If (LightSuperRampR.State = BulbOn) Then
- LightSeqPF.Play SeqRandom, 30, , 2000
- FlashPoliceL.Set BulbBlink, "101000", 100
- FlashPoliceR.Set BulbBlink, "000101", 100
- FlasherPolice1.Set BulbBlink, "101000", 100
- FlasherPolice2.Set BulbBlink, "000101", 100
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
- Clip = 9: PlayMovie()
- DMDBusy = TRUE: DMDTimer.Set TRUE, 2000
- If (TestSpin = 10) Then
- If (ModeActive = TRUE) Then
- EffectMusic 5, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 2200
- Else
- EffectMusic 1, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 2200
- End If
- PlaySound "fx_LandingBonus3", 0.9
- RampValue = RampValue + 2000
- AddScore(RampValue)
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]LANDING BONUS", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 100, FALSE
- DMD2.QueueText "[yc][xc][f6]LANDING BONUS", deNone, 100, FALSE
- DMD.QueueText "[yc][xc][f6]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deFlip, 300, FALSE
- DMD2.QueueText "[yc][xc][f6]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deFlip, 300, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
- Else
- CokeSign.UpdateInterval = 200
- CokeSign.Frame 16, 28
- PlaySound "fx_SuperRamp"
- AddScore(RampValue)
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[box2,0,7,128,22][yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD2.QueueText "[yc][xc][f6]SUPER RAMP", deNone, 50, FALSE
- DMD.QueueText "[xc][yc][f7]SUPER RAMP[f3][y7][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[xc][yc][f7]SUPER RAMP[f3][y7][bf]$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
- End If
- Else
- If (ModeActive = TRUE) Then
- BulbSpinner3.State = BulbOn: FlasherSpin.State = BulbOn
- AllPlasOff()
- LightSeqPF.Play SeqDownOn, 30, 1
- PlaySound "fx_RampHit2"
- Exit Sub
- End If
- ' here, I'm going to add a string of dialogue from different encouters Deckard has in the movie
- ' starting with the brief from Bryant, then meeting Rebecca....and so on.
- ' these will play OOM and each ramp shot increases in value.
- AddScore(120)
- If (QuoteBusy = FALSE) and (BattyMode = FALSE) Then
- QuoteBusy = TRUE
- RampHit = RampHit + 1
- Select Case RampHit
- Case 1: PlayMusic 2, "vo_SkinJobs": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
- Case 2: PlayMusic 2, "vo_Escape2": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
- Case 3: PlayMusic 2, "vo_SixReps": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
- Case 4: PlayMusic 2, "vo_Jumped": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
- Case 5: PlayMusic 2, "vo_NoCrew": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
- Case 6: PlayMusic 2, "vo_BreakIn": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
- 'Case 3: PlayMusic 2, "vo_JumpedShuttle": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
- Case 7: PlayMusic 2, "vo_CopyHumans": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
- Case 8: PlayMusic 2, "vo_OwnEmotions": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
- Case 9: PlayMusic 2, "vo_FailSafe": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
- Case 10: PlayMusic 2, "vo_SpotThem": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
- Case 11: PlayMusic 2, "vo_Risk"
- Case 12: PlayMusic 2, "vo_Want"
- Case 13: PlayMusic 2, "vo_Benefit"
- Case 14: PlayMusic 2, "vo_NotMyProblem"
- Case 15: PlayMusic 2, "vo_Mistake"
- Case 16: PlayMusic 2, "vo_ThinkReplicant"
- Case 17: PlayMusic 2, "vo_Implants"
- Case 18: PlayMusic 2, "vo_Files"
- Case 19: PlayMusic 2, "vo_God"
- 'RampHit = 0
- End Select
- Else
- 'If (RampHit = 8) Then RampHit = 0 ' repeat for now...
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 1000
- Flasher1.FlashForMs 1000, 1000, BulbOff
- PlaySound "fx_RampHit3"
- End If
- End If
- End Sub
- Dim RampScore
- ' ***********************
- ' ** **
- ' ** PURGE **
- ' ** **
- ' ***********************
- ' complete the left and right targets to light the centre target. Hit this to activate the centre lane
- ' purge kicker. Hit the lane to drop the ball into the kicker and start PURGE.
- ' The spinner will rise into the air and ramp will be activated for a limited time for SUPER RAMPS.
- ' When the spinner decends, SUPER RAMPS ends.
- ' 1st time Super Ramps - both ramps are lit for a limited time
- ' 2nd time Super Ramps - left and right alterative shots
- ' 3rd time Super Ramps - one ramp at a time, timed rotation
- Sub TgtBlade_Hit()
- If (SSTimer.Enabled = TRUE) Then
- SSTimer.Set TRUE, 100
- End If
- If (LightBlade.State = BulbBlink) Then
- LightBlade.State = BulbOn: CheckBLADERUNNER()
- PlaySound "fx_12"
- LightSeqPF.Play SeqBlinking, , 1, 100
- Else
- 'PlaySound "fx_Fizz"
- LightBlade.FlashForMs 400, 200, BulbOn
- AddScore(10)
- End If
- End Sub
- Sub TgtRunner_Hit()
- If (SSTimer.Enabled = TRUE) Then
- SSTimer.Set TRUE, 100
- End If
- If (LightRunner.State = BulbBlink) Then
- LightRunner.State = BulbOn: CheckBLADERUNNER()
- PlaySound "fx_13"
- LightSeqPF.Play SeqBlinking, , 1, 100
- Else
- 'PlaySound "fx_Fizz"
- LightRunner.FlashForMs 400, 200, BulbOn
- AddScore(10)
- End If
- set LastSwitchHit = TgtRunner
- End Sub
- Sub CheckBLADERUNNER()
- If (LightRunner.State=BulbOn) and (LightBlade.State=BulbOn) Then
- LightCentre.State = BulbBlink
- AddScore(150)
- Else
- AddScore(50)
- End If
- End Sub
- Sub TgtCentre_Hit()
- If (SSTimer.Enabled = TRUE) Then SSTimer_Expired()
- If (LightCentrePurge.State = BulbBlink) Then ' any MISSION shot...the KILL SHOT for Leon and Zhora...
- If (BattyMode = TRUE) Then
- PlaySound "fx_GunShotKill": AddScore(MissionHit)
- FlasherM.FlashForMs 400, 400, BulbOff
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 400
- BattyShot = BattyShot + 1
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case BattyShot
- Case 5: PlayMusic 2, "vo_CantPlay"
- Case 6: PlayMusic 2, "vo_GoToHell"
- Case 7: PlayMusic 2, "vo_MyTurn", FALSE, 1, 1000
- LightCentrePurge.State = BulbOff
- LightMode.State = BulbBlink ' light the final shot...
- End Select
- Else
- Select Case RandomNumber(2)
- Case 1: PlaySound "fx_Howl"
- Case 2: PlaySound "fx_Howl2"
- End Select
- End If
- MissionHit = MissionHit + 500
- DMD.FlushQueue: DMD2.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]BATTY HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]BATTY HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- LightLO3.State = BulbOff
- LightLaneL.State = BulbOff
- LightRampL.State = BulbOff
- LightRampR.State = BulbOff
- LightLaneR.State = BulbOff
- LightRep.State = BulbOff
- Exit Sub
- End If
- If (LeonMode = TRUE) Then
- If (KillLeon = TRUE) Then
- LeonHit = LeonHit + 1: MissionHit = MissionHit + 500
- AddScore(MissionHit)
- Select Case LeonHit
- Case 6:
- 'If (QuoteBusy = FALSE) Then
- ' QuoteBusy = TRUE: PlaySound "fx_Hit8"
- ' Select Case RandomNumber(3)
- ' Case 1: PlayMusic 2, "vo_MyBirthday"
- ' Case 2: PlayMusic 2, "vo_WakeUp"
- ' Case 3: PlayMusic 2, "vo_Itch"
- ' End Select
- 'Else
- ' RedFlash()
- ' FlashersOff.Set TRUE, 700
- ' FlasherM.FlashForMs 600, 600, BulbOff
- ' PlaySound "fx_GunShot2"
- 'End If
- PlaySound "fx_Hit8"
- PlaySound "vfx_LeonPunch"
- Clip = 30: PlayMovie()
- DMD.FlushQueue: DMD2.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- Case 7:
- RedOff()
- RedFlash()
- FlashersOff.Set TRUE, 900
- FlasherM.FlashForMs 800, 800, BulbOff
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 800
- LightSeqPF.UpdateInterval = 5: LightSeqPF.Play SeqCircleOutOn, 25, 1
- PlaySound "fx_GunShotKill"
- Clip = 15: PlayMovie()
- ModeActive = FALSE: LeonMode = FALSE
- LightLeonMain.State = BulbOn
- LightCentrePurge.State = BulbOff
- StopMusic 5: MusicResume.Set TRUE, 2500
- AssWin()
- 'If (QuoteBusy = FALSE) Then
- 'QuoteBusy = TRUE: QuoteTimer.Set TRUE, 4000
- 'Select Case RandomNumber(3)
- ' Case 1: PlayMusic 2, "vo_Speciality", FALSE, 1, 2000
- ' Case 2: PlayMusic 2, "vo_DedicatedMan", FALSE, 1, 2000
- ' Case 3: PlayMusic 2, "vo_Prize", FALSE, 1, 2000
- 'End Select
- 'End If
- End Select
- Else
- PlaySound "fx_Hit8"
- LeonHit = LeonHit + 1: MissionHit = MissionHit + 250
- AddScore(MissionHit)
- DMD.FlushQueue: DMD2.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- MovieTimer.Set TRUE, 100
- Select Case LeonHit
- Case 3:
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ItsATest"
- Case 4:
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_Query"
- Case 2: PlayMusic 2, "vo_Turtle"
- End Select
- End If
- LightCentrePurge.State = BulbOff
- LightRampL.State = BulbBlink
- End Select
- End If
- Exit Sub
- End If
- ' shoot Zhora 3 times to finish the mode...
- If (ZhoraMode = TRUE) Then
- ZhoraHit = ZhoraHit + 1: MissionHit = MissionHit + 500
- AddScore(MissionHit)
- DMD.FlushQueue: DMD2.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]ZHORA HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]ZHORA HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- Select Case ZhoraHit
- Case 7:
- LightSeqPF.Play SeqBlinking, , 1, 100
- PlaySound "fx_Hit8"
- PlaySound "vfx_Chop"
- Clip = 25: PlayMovie()
- 'Clip = 16: PlayMovie()
- 'PlaySound "vfx_DeckShoot"
- 'RedFlash()
- 'FlashersOff.Set TRUE, 500
- 'FlasherM.FlashForMs 400, 400, BulbOff
- 'AllPlasOff(): PFFlashTimer.Set TRUE, 400
- Case 8:
- RedOff()
- RedFlash()
- FlashersOff.Set TRUE, 900
- FlasherM.FlashForMs 800, 800, BulbOff
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 800
- LightSeqPF.UpdateInterval = 5: LightSeqPF.Play SeqDownOn, 25, 1
- PlaySound "fx_GunShotKill3"
- Clip = 17: PlayMovie()
- ModeActive = FALSE: ZhoraMode = FALSE
- LightZhoraMain.State = BulbOn
- LightCentrePurge.State = BulbOff
- StopMusic 5: MusicResume.Set TRUE, 2500
- AssWin()
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_DedicatedMan", FALSE, 1, 2000
- 'Select Case RandomNumber(2)
- 'Case 1: PlayMusic 2, "vo_Speciality", FALSE, 1, 2000
- 'Case 1: PlayMusic 2, "vo_DedicatedMan", FALSE, 1, 2000
- 'Case 3: PlayMusic 2, "vo_Prize", FALSE, 1, 2000
- 'Case 2: PlayMusic 2, "vo_Phoney", FALSE, 1, 1000
- 'End Select
- End If
- End Select
- Exit Sub
- End If
- ' kill Pris...
- If (PrisMode = TRUE) Then
- PrisHit = PrisHit + 1: MissionHit = MissionHit + 500
- AddScore(MissionHit)
- DMD.FlushQueue: DMD2.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]PRIS HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]PRIS HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- Select Case PrisHit
- Case 7:
- LightSeqPF.Play SeqBlinking, , 1, 100
- PlaySound "fx_Hit8"
- Clip = 18: PlayMovie()
- PlaySound "vfx_PrisAttack"
- 'RedFlash()
- 'FlashersOff.Set TRUE, 500
- 'FlasherM.FlashForMs 400, 400, BulbOff
- 'AllPlasOff(): PFFlashTimer.Set TRUE, 400
- Case 8:
- RedOff()
- RedFlash()
- FlashersOff.Set TRUE, 900
- FlasherM.FlashForMs 800, 800, BulbOff
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 800
- LightSeqPF.UpdateInterval = 5: LightSeqPF.Play SeqDownOn, 25, 1
- PlaySound "fx_GunShotKill2"
- Clip = 19: PlayMovie()
- LightCentrePurge.State = BulbOff
- ModeActive = FALSE: PrisMode = FALSE
- StopMusic 5: MusicResume.Set TRUE, 2500
- AssWin()
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE: QuoteTimer.Set TRUE, 4000
- Select Case RandomNumber(3)
- Case 1: PlayMusic 2, "vo_Speciality", FALSE, 1, 2000
- Case 2: PlayMusic 2, "vo_DedicatedMan", FALSE, 1, 2000
- Case 3: PlayMusic 2, "vo_Prize", FALSE, 1, 2000
- End Select
- End If
- End Select
- Exit Sub
- End If
- Exit Sub
- End If
- If (LightCentre.State = BulbBlink) Then
- LightCentre.State = BulbOn
- AddScore(250)
- If (SuperRamps = TRUE) Then
- DMD.QueueText "[y3][xc][f3]TIME EXTENDED[y18][f3][bf]SUPER RAMP TIME = " & SRTime, deNone, 1500, TRUE
- DMD2.QueueText "[y3][xc][f3]TIME EXTENDED[y18][f3][bf]SUPER RAMP TIME = " & SRTime, deNone, 1500, TRUE
- FlasherM.FlashForMs 200, 100, BulbOff
- PlaySound "fx_BumpHit"
- LightSeqPF.Play SeqBlinking, , 1, 200
- Exit Sub
- End If
- If (QuoteBusy = FALSE) Then
- PlaySound "fx_DoorOpen"
- Else
- PlaySound "fx_Hit1"
- End If
- If (GaffMode = TRUE) Then
- AddScore(500)
- LightBlade.State = BulbOn
- LightRunner.State = BulbOn
- Else
- TakeOffTimer.Set TRUE, 5600
- If (BattyMode = FALSE) Then PlayMusic 6, "fx_Alarm3"
- MagnetActive = TRUE
- LightPurge1.State = BulbBlink
- LightPurge2.State = BulbBlink
- End If
- FlasherM.FlashForMs 200, 200, BulbOff
- LightSeqPF.Play SeqBlinking, , 1, 200
- Else
- LightCentre.FlashForMs 150, 150, BulbOff
- AddScore(10)
- End If
- set LastSwitchHit = TgtCentre
- End Sub
- Sub TakeOffTimer_Expired()
- TakeOffTimer.Enabled = FALSE
- PlaySound "fx_Buzzer"
- RedFlash()
- FlashersOff.Set TRUE, 250
- FlasherM.FlashForMs 210, 75, BulbOff
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 210
- If (BattyMode = FALSE) Then StopMusic 6 ' channel is used for the rain fx...
- MagnetActive = FALSE
- LightPurge1.State = BulbOff
- LightPurge2.State = BulbOff
- LightBlade.State = BulbBlink
- LightRunner.State = BulbBlink
- LightCentre.State = BulbOff
- End Sub
- ' *****************************
- ' ** **
- ' ** CENTRE LANE **
- ' ** **
- ' *****************************
- Sub LeftPre_Hit()
- set LastSwitchHit = LeftPre
- End Sub
- Sub RightPre_Hit()
- set LastSwitchHit = RightPre
- End Sub
- Sub TrigCentreLane_Hit()
- If (BattyMode = TRUE) and (LightLaneL.State = BulbBlink) Then
- PlaySound "fx_Hit8"
- DT_4.SolenoidPulse
- LightDT.State = BulbBlink
- BattyShot = BattyShot + 1
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case BattyShot
- Case 1: PlayMusic 2, "vo_MadeOf"
- Case 2: PlayMusic 2, "vo_ShootStraight"
- Case 3: PlayMusic 2, "vo_GetItUp"
- Case 4: PlayMusic 2, "vo_StayAlive"
- End Select
- Else
- Select Case RandomNumber(2)
- Case 1: PlaySound "fx_Howl"
- Case 2: PlaySound "fx_Howl2"
- End Select
- End If
- DMD.Text = "[yc][xc][f6][bf]SHOOT BATTY"
- LightLO3.State = BulbOff
- LightLaneL.State = BulbOff
- LightRampL.State = BulbOff
- LightCentrePurge.State = BulbOff
- LightRampR.State = BulbOff
- LightLaneR.State = BulbOff
- LightRep.State = BulbOff
- Exit Sub
- End If
- If (ComboTimer.Enabled = TRUE) Then
- ComboTimer.Set TRUE, 2500
- Congrats()
- End If
- ' Sebastian Mode: Make 3 centre loop shots to start...
- If (SebastianMode = TRUE) and (LightLaneL.State = BulbBlink) Then
- SebastianHit = SebastianHit + 1: MissionHit = MissionHit + 250
- AddScore(MissionHit)
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]SEBASTIAN HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]SEBASTIAN HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case SebastianHit
- Case 1: PlayMusic 2, "vo_HelpUs"
- Case 2: PlayMusic 2, "vo_HelpSoon"
- Case 3:
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_HelpedUs"
- Case 2: PlayMusic 2, "vo_NeedYou"
- End Select
- End Select
- End If
- LightSeqPF.Play SeqBlinking, , 1, 200
- PlaySound "fx_Hit8"
- MovieTimer.Set TRUE, 100
- If (SebastianHit = 3) Then
- LightLaneL.State = BulbOff
- LightLaneR.State = BulbOff
- LightTyrell.State = BulbOn
- LightElevator.State = BulbOn
- LightLO3.State = BulbBlink
- End If
- Exit Sub
- End If
- If (GaffMode = TRUE) and (LightLaneL.State = BulbBlink) Then
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 400
- FlasherM.FlashForMs 400, 100, BulbOff
- If (LastSwitchHit.Name = "LeftPre") Then
- LightSeqPF.UpdateInterval = 5
- LightSeqPF.Play SeqRightOn, 30, 1
- Else
- LightSeqPF.UpdateInterval = 5
- LightSeqPF.Play SeqLeftOn, 30, 1
- End If
- GaffHit = GaffHit + 1: MissionHit = MissionHit + 250
- PlaySound "fx_Hit8"
- AddScore(MissionHit)
- DMD.FlushQueue: DMD2.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]GAFF HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]GAFF HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- Select Case GaffHit
- Case 1:
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_GaffTalk": MovieTimer.Set TRUE, 100
- Case 2:
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_YouBladeRunner": MovieTimer_Expired()
- Case 2: PlayMusic 2, "vo_UnderArrest": MovieTimer_Expired()
- End Select
- End If
- Case 3:
- PlayMusic 4, "vo_PoliceRadio"
- 'Clip = 3: PlayMovie()
- Clip = 34: PlayMovie()
- PlaySound "fx_SpinnerFlyBy"
- Case 4:
- PlayMusic 4, "vo_PoliceRadio"
- Clip = 1: PlayMovie()
- Case 5:
- PlaySound "fx_SpinnerFlyBy4", 0.6
- Clip = 21: PlayMovie()
- Case 6:
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_MansJob2", FALSE, 1, 500
- GaffMode = FALSE
- LightLaneL.State = BulbOff
- LightLaneR.State = BulbOff
- ModeActive = FALSE
- StopMusic 5: MusicResume.Set TRUE, 2000
- OverlayMovie.UpdateInterval = 400: OverlayMovieHUD.UpdateInterval = 400
- OverlayMovie.Frame 591, 592, 591: OverlayMovieHUD.Frame 591, 592, 591
- MovieTimer.Set TRUE, 2000
- AssWin()
- End Select
- Exit Sub
- End If
- If (MagnetActive = TRUE) Then
- MagnetActive = FALSE: LaneWall.Collidable = FALSE
- Magnet.Collidable = TRUE
- Exit Sub
- End If
- If (LastSwitchHit.Name = "LeftPre") Then
- LightSeqPF.UpdateInterval = 5
- LightSeqPF.Play SeqRightOn, 30, 1
- Else
- LightSeqPF.UpdateInterval = 5
- LightSeqPF.Play SeqLeftOn, 30, 1
- End If
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 400
- FlasherM.FlashForMs 400, 100, BulbOff
- PlaySound "fx_SpinnerFlyBy3"
- LightTyrell.State = BulbOn
- If (MovieTimer.Enabled = FALSE) Then
- OverlayMovie.UpdateInterval = 100: OverlayMovieHUD.UpdateInterval = 100
- OverlayMovie.Frame 877,878,877: OverlayMovieHUD.Frame 877,878,877: MovieTimer.Set TRUE, 1000
- End If
- AddScore(70)
- RampValue = RampValue + 25
- DMD.QueueText "[y3][xc][f3]+ SUPER VALUE[y18][f3]SUPER RAMP VALUE:$ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
- DMD2.QueueText "[y3][xc][f3]+ SUPER VALUE[y18][f2]SUPER RAMP VALUE: $" & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
- End Sub
- Sub KickerLane_Hit()
- AddScore(500)
- PlaySound "fx_SolenoidHit"
- LightPurge1.State = BulbOff
- LightPurge2.State = BulbOff
- LightSuperRampL.FlashForMs 4000, 125, BulbOn
- LightSuperRampR.FlashForMs 4000, 125, BulbOn
- Purge = TRUE
- StopMusic 6: TakeOffTimer.Enabled = FALSE
- MoveSpinner_Expired()
- IgnoreHit = TRUE
- Magnet.Collidable = FALSE
- LaneWall.Collidable = TRUE
- PreKick.Set TRUE, 7000
- End Sub
- Sub SuperRampsTimer_Expired()
- SRTime = SRTime - 1
- If (SRTime = 0) Then
- SuperRampsTimer.Enabled = FALSE
- SuperRamps = FALSE
- LightSuperRampL.State = BulbOff
- LightSuperRampR.State = BulbOff
- LightCentre.State = BulbOff
- LightBlade.State = BulbBlink
- LightRunner.State = BulbBlink
- RampValue = AdjRampValue ' reset the ramp base value...
- End If
- End Sub
- ' ***************************
- ' ** **
- ' ** LEFT LANE **
- ' ** **
- ' ***************************
- ' Leads to the bumpers...
- Sub TrigLO_Hit()
- If (fpTilted = TRUE) Then Exit Sub
- If (LastSwitchHit.Name = "TrigLO") Then Exit Sub
- PlaySound "fx_17"
- AddScore(200)
- If (BattyMode = TRUE) and (LightLO3.State = BulbBlink) Then
- PlaySound "fx_Hit8"
- DT_4.SolenoidPulse
- LightDT.State = BulbBlink
- BattyShot = BattyShot + 1
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case BattyShot
- Case 1: PlayMusic 2, "vo_MadeOf"
- Case 2: PlayMusic 2, "vo_ShootStraight"
- Case 3: PlayMusic 2, "vo_GetItUp"
- Case 4: PlayMusic 2, "vo_StayAlive"
- End Select
- Else
- Select Case RandomNumber(2)
- Case 1: PlaySound "fx_Howl"
- Case 2: PlaySound "fx_Howl2"
- End Select
- End If
- DMD.Text = "[yc][xc][f6][bf]SHOOT BATTY"
- DMD2.Text = "[yc][xc][f6][bf]SHOOT BATTY"
- LightLO3.State = BulbOff
- LightLaneL.State = BulbOff
- LightRampL.State = BulbOff
- LightCentrePurge.State = BulbOff
- LightRampR.State = BulbOff
- LightLaneR.State = BulbOff
- LightRep.State = BulbOff
- Exit Sub
- End If
- If (LightSuperPops.State = BulbOn) and (LightLO3.State = BulbOff) Then ' priority, allow the ball to reach the bumpers....
- If (QuoteBusy = FALSE) Then
- PlayMusic 4, "fx_JoiAd"
- Else
- PlayMusic 4, "fx_Background2", FALSE, 0.6
- End If
- CokeSign.UpdateInterval = 66
- CokeSign.Frame 83, 178, 83
- SignOffTimer.Set TRUE, 6000
- Exit Sub
- End If
- If (LightTyrell.State = BulbOn) Then' divert ball into top lanes to access Tyrell Tower...
- PopUp2.SolenoidPulse(4000)
- If (LeonMode = TRUE) Then
- Exit Sub
- End If
- If (SebastianMode = TRUE) and (SebastianHit = 3) Then
- PlayMusic 4, "vo_SebastianClearance", FALSE, 0.6
- Exit Sub
- End If
- 'MusicResume.Set TRUE, 5000
- If (LightLO3.State = BulbOff) Then ' not a mission shot, so ok to play...
- Select Case RandomNumber(17)
- Case 1: PlayMusic 4, "fx_Background", FALSE, 0.6: AtariSignOn()
- Case 2: PlayMusic 4, "fx_Background3", FALSE, 0.4: AtariSignOn()
- Case 3: PlayMusic 4, "fx_Background4", FALSE, 0.4: NeonSignOn()
- Case 4: PlayMusic 4, "fx_Background5", FALSE, 0.4: AtariSignOn()
- Case 5: PlayMusic 4, "fx_Background15", FALSE, 0.6: NeonSignOn()
- Case 6: PlayMusic 4, "fx_Background8", FALSE, 0.5
- If (MovieTimer.Enabled = FALSE) Then Clip = 22: PlayMovie()
- Case 7:
- If (QuoteBusy = FALSE) Then
- PlayMusic 4, "vo_SectorClosed", FALSE, 0.6
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
- FlasherPolice1.Set BulbBlink, "101000", 50
- FlasherPolice2.Set BulbBlink, "000101", 50
- PoliceFlashOff.Set TRUE, 2000
- End If
- ' static forward facing spinner...
- If (MovieTimer.Enabled = FALSE) Then Clip = 23: PlayMovie()
- Case 8:
- If (QuoteBusy = FALSE) Then
- PlayMusic 4, "vo_SectorClosed2", FALSE, 0.6
- AllPlasOff(): FlashMe = 9: PFFlashTimer.Set TRUE, 2000
- FlasherPolice1.Set BulbBlink, "101000", 50
- FlasherPolice2.Set BulbBlink, "000101", 50
- PoliceFlashOff.Set TRUE, 2000
- End If
- If (MovieTimer.Enabled = FALSE) Then Clip = 23: PlayMovie()
- Case 9:
- PlayMusic 4, "fx_OffWorld2", FALSE, 0.5: OffWorldSign()
- If (MovieTimer.Enabled = FALSE) Then Clip = 5: PlayMovie()
- Case 10: PlayMusic 4, "fx_Background10", FALSE, 0.6: NeonSignOn()
- Case 11: PlayMusic 4, "fx_Background2", FALSE, 0.6
- Case 12: PlayMusic 4, "fx_Background12", FALSE, 0.6
- Case 13: PlayMusic 4, "fx_Background13", FALSE, 0.6
- Case 14: PlayMusic 4, "fx_Background14", FALSE, 0.6
- Case 15:
- PlayMusic 4, "fx_Background16", FALSE, 0.6
- If (MovieTimer.Enabled = FALSE) Then Clip = 5: PlayMovie()
- Case 16:
- PlayMusic 4, "fx_Background17", FALSE, 0.6
- If (MovieTimer.Enabled = FALSE) Then Clip = 26: PlayMovie()
- Case 17: PlaySound "fx_23"
- End Select
- End If
- End If
- set LastSwitchHit = TrigLO
- End Sub
- Sub NeonSignOn()
- HoloNeon1.UpdateInterval = 300
- HoloNeon1.Frame 2, 3, 2: PlaySound "fx_Neon"
- SignOffTimer.Set TRUE, 1300
- End Sub
- Sub AtariSignOn()
- AtariSign.UpdateInterval = 250
- AtariSign.Frame 30, 32, 30
- SignOffTimer.Set TRUE, 3500
- End Sub
- Sub OffWorldSign()
- CokeSign.UpdateInterval = 100
- CokeSign.Frame 65, 82, 65
- SignOffTimer.Set TRUE, 3300
- End Sub
- Sub SignOffTimer_Expired()
- SignOffTimer.Enabled = FALSE
- If (fpGameInPlay = FALSE) Then
- HoloNeon1.Frame 2, 3, 2
- CokeSign.UpdateInterval = 200
- CokeSign.Frame 16, 28, 16
- AtariSign.UpdateInterval = 250
- AtariSign.Frame 30, 32, 30
- Exit Sub
- End If
- HoloNeon1.Frame 3
- HoloNeon4.Frame 10
- HoloNeon7.Frame 15
- HoloNeon6.Frame 11
- NeonHotel.Frame 14
- If (MoveToKick.Enabled = FALSE) Then CokeSign.Frame 28
- AtariSign.Frame 31
- End Sub
- Sub PoliceFlashOff_Expired()
- PoliceFlashOff.Enabled = FALSE
- FlasherPolice1.Set BulbOff, "10", 150
- FlasherPolice2.Set BulbOff, "10", 150
- End Sub
- ' advaces towards the Snake Pit mystery...
- Sub TgtRep_Hit()
- If (LightRep.State = BulbBlink) Then ' mode shot...
- If (BattyMode = TRUE) Then
- PlaySound "fx_Hit8"
- DT_4.SolenoidPulse
- LightDT.State = BulbBlink
- BattyShot = BattyShot + 1
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case BattyShot
- Case 1: PlayMusic 2, "vo_MadeOf"
- Case 2: PlayMusic 2, "vo_ShootStraight"
- Case 3: PlayMusic 2, "vo_GetItUp"
- Case 4: PlayMusic 2, "vo_StayAlive"
- End Select
- Else
- Select Case RandomNumber(2)
- Case 1: PlaySound "fx_Howl"
- Case 2: PlaySound "fx_Howl2"
- End Select
- End If
- AddScore(MissionHit)
- MissionHit = MissionHit + 500
- DMD.FlushQueue: DMD2.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]SHOOT BATTY", deNone, 1000, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]SHOOT BATTY", deNone, 1000, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- LightLO3.State = BulbOff
- LightLaneL.State = BulbOff
- LightRampL.State = BulbOff
- LightCentrePurge.State = BulbOff
- LightRampR.State = BulbOff
- LightLaneR.State = BulbOff
- LightRep.State = BulbOff
- Exit Sub
- End If
- If (PrisMode = TRUE) Then
- PrisHit = PrisHit + 1: MissionHit = MissionHit + 250
- AddScore(MissionHit)
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]PRIS HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]PRIS HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- PlaySound "fx_Hit8"
- LightSeqPF.Play SeqBlinking, , 1, 100
- MovieTimer.Set TRUE, 100
- Select Case PrisHit
- Case 1:
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Scared"
- Case 2:
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ShowSomething"
- Case 3:
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Physical"
- Case 4:
- Clip = 27: PlayMovie()
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ThereFor"
- Case 5:
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_VeryGoodPris"
- LightRep.State = BulbOff
- LightRampR.State = BulbBlink
- End Select
- Exit Sub
- End If
- If (LeonMode = TRUE) Then
- LightRep.State = BulbOff
- LightCentrePurge.State = BulbBlink
- PlaySound "fx_Hit8"
- LightSeqPF.Play SeqBlinking, , 1, 100
- LeonHit = LeonHit + 1: MissionHit = MissionHit + 250
- MovieTimer.Set TRUE, 100
- AddScore(MissionHit)
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
- DMD.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- DMD2.QueueText "[yc][xc][f6]LEON HIT", deNone, 800, FALSE
- DMD2.QueueText "[yc][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE: PlayMusic 2, "vo_WriteDown"
- End If
- Exit Sub
- End If
- PlaySound "fx_22"
- If (QuoteBusy = FALSE) Then
- If (BR2049 = FALSE) Then EffectMusic 1, FadeOutAndPause, 0, 100: MusicResume.Set TRUE, 1800
- QuoteBusy = TRUE: PlayMusic 2, "vo_RepDetect"
- End If
- LightRep.State = BulbOff
- Exit Sub
- End If
- If (LightSnakePit2.State = BulbBlink) Then
- AddScore(35)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
- DMD.QueueText "[yc][xc][f5]MYSTERY IS LIT", deNone, 1500, TRUE
- DMD2.QueueText "[yc][xc][f5]MYSTERY IS LIT", deNone, 1500, TRUE
- LightSnakePit2.State = BulbOff
- LightSnakePit.FlashForMs 500, 100, BulbOn
- SnakeHit = AdjSnakeHit
- PlaySound "fx_Phone3"
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(3)
- Case 1:
- PlayMusic 2, "vo_TheSnake"
- If (ModeActive = FALSE) and (BR2049 = FALSE) Then EffectMusic 1, FadeOutAndPause, 0, 100: MusicResume.Set TRUE, 3000
- Case 2: PlayMusic 2, "vo_Licenses"
- Case 3: PlayMusic 2, "vo_GoSeeTaffy"
- End Select
- End If
- Exit Sub
- End If
- If (LightSnakePit2.State = BulbOn) Then
- SnakeHit = SnakeHit - 1: AddScore(70)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
- If (SnakeHit = 0) Then
- LightSnakePit2.State = BulbBlink
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
- DMD.QueueText "[y3][xc][f3][b]SNAKE PIT MYSTERY[y18][f7]IS READY", deNone, 1500, TRUE
- DMD2.QueueText "[y3][xc][f3][b]SNAKE PIT MYSTERY[y18][f7]IS READY", deNone, 1500, TRUE
- Else
- DMD.QueueText "[y3][xc][f3]SNAKE PIT MYSTERY[y18][f3]SHOTS REMAIN: " & SnakeHit, deNone, 1500, TRUE
- DMD2.QueueText "[y3][xc][f3]SNAKE PIT MYSTERY[y18][f3]SHOTS REMAIN: " & SnakeHit, deNone, 1500, TRUE
- End If
- Flasher1.FlashForMs 200, 200, BulbOff
- 'DMD.Text = "[yc][xc][f5]SNAKE PIT = " & SnakeHit
- 'PlaySound "fx_Hit10"
- PlaySound "fx_Hit5"
- Else
- AddScore(10)
- 'PlaySound "fx_Hit10"
- End If
- End Sub
- Sub StartBatty()
- MysteryTimer.Enabled = FALSE
- AllPlasOff()
- Batty = 0
- BattyShot = 0
- BattyHit = 0
- ShootingMode = FALSE
- VKMode = FALSE
- PhotoMode = FALSE
- LightMode.State = BulbOff
- Clip = 20: PlayMovie()
- BattyMode = TRUE: ModeActive = TRUE
- EffectMusic 1, FadeOutAndPause, 0, 0
- PlayMusic 2, "vo_FewSeconds"
- PlayMusic 5, "Music_Batty4", TRUE, 0.6
- PlayMusic 6, "fx_StormLong", TRUE, 0.5
- BattyTimer.Set TRUE, 3100
- LightLeonMain.Set BulbBlink, "1000", 350
- LightZhoraMain.Set BulbBlink, "0100", 350
- LightPrisMain.Set BulbBlink, "0010", 350
- LightTyrellMain.Set BulbBlink, "0001", 350
- LightSebastianMain.Set BulbBlink,"1000", 350
- LightChewMain.Set BulbBlink, "0100", 350
- LightRachaelMain.Set BulbBlink, "0010", 350
- LightGaffMain.Set BulbBlink, "0001", 350
- LightRing8.Set BulbBlink,"10", 100
- LightRing7.Set BulbBlink,"10", 100
- LightRing6.Set BulbBlink,"10", 100
- LightRing5.Set BulbBlink,"10", 100
- LightRing4.Set BulbBlink,"10", 100
- LightRing3.Set BulbBlink,"10", 100
- LightRing2.Set BulbBlink,"10", 100
- LightRing1.Set BulbBlink,"10", 100
- LightBlade.State = BulbOff
- LightRunner.State = BulbOff
- LightCentre.State = BulbOff
- End Sub
- Sub BattyTimer_Expired()
- Batty = Batty + 1
- Select Case Batty
- Case 1:
- BattyTimer.Set TRUE, 1400
- FlasherL.FlashForMs 300, 300, BulbOff
- Flasher1.FlashForMs 300, 300, BulbOff
- Case 2:
- BattyTimer.Set TRUE, 700
- FlasherM.FlashForMs 300, 300
- Case 3:
- BattyTimer.Set TRUE, 2600
- PlayMusic 2, "vo_ImComing"
- LightLeonMain.Set BulbOn, "10", 150
- LightZhoraMain.Set BulbOn, "10", 150
- LightPrisMain.Set BulbOn, "10", 150
- LightTyrellMain.Set BulbOn, "10", 150
- LightSebastianMain.Set BulbOn,"10", 150
- LightChewMain.Set BulbOn, "10", 150
- LightRachaelMain.Set BulbOn, "10", 150
- LightGaffMain.Set BulbOn, "10", 150
- LightRing1.State = BulbOff
- LightRing2.State = BulbOff
- LightRing3.State = BulbOff
- LightRing4.State = BulbOff
- LightRing5.State = BulbOff
- LightRing6.State = BulbOff
- LightRing7.State = BulbOff
- LightRing8.State = BulbOff
- LightLeft1.State = BulbOff
- LightLeft2.State = BulbOff
- LightLeft3.State = BulbOff
- LightNew.State = BulbOff
- LightCase.State = BulbOff
- LightSeqPF.Play SeqBlinking, , 5, 100
- LightSeqPF.Play SeqBlinking, , 11, 50
- Case 4:
- PlaySound "fx_Howl2"
- BattyTimer.Enabled = FALSE
- CaseScoop.SolenoidPulse: PlaySound "fx_ScoopExit"
- FlashMe = 9: PFFlashTimer.Set TRUE, 400
- ' light all shots...
- LightLO3.State = BulbBlink
- LightLaneL.State = BulbBlink
- LightRampL.State = BulbBlink
- LightCentrePurge.State = BulbOff
- LightRampR.State = BulbBlink
- LightLaneR.State = BulbBlink
- LightRep.State = BulbBlink
- 'PlaySound "fx_Hit2"
- DT_1.PopDown
- DT_2.PopDown
- DT_3.PopDown
- DT_4.PopDown
- 'LightDT.State = BulbBlink
- ShootAgainLight.State = BulbBlink
- bBallSaverActive = TRUE
- BallSaverTimer.Set TRUE, 25000
- End Select
- End Sub
- Sub AllPlasOff()
- If (KillOn = TRUE) Then Exit Sub
- LightSeqGI.StopPlay
- LightSeqGI.Play SeqAllOff
- APFDark.Render = TRUE
- LeftSlingShotSurface.Render = FALSE
- RightSlingShotSurface.Render = FALSE
- Surface14.Render = FALSE
- Surface15.Render = FALSE
- Surface2.Render = FALSE
- Surface16.Render = FALSE
- Surface19.Render = FALSE
- Surface12.Render = FALSE
- Surface13.Render = FALSE
- Surface20.Render = FALSE
- Surface22.Render = FALSE
- Surface17.Render = FALSE
- Surface41.Render = TRUE
- Surface40.Render = TRUE
- Surface39.Render = TRUE
- Surface38.Render = TRUE
- Surface37.Render = TRUE
- Surface36.Render = TRUE
- Surface23.Render = TRUE
- Surface24.Render = TRUE
- Surface25.Render = TRUE
- Surface26.Render = TRUE
- LSDark.Render = TRUE
- RSDark.Render = TRUE
- 'xBAM.SetPlayfieldTexture "JP_PlayfieldOff"
- xBAM.Lights.Brightness = 1.60
- End Sub
- Dim KillOn,FlashMe
- Sub AllPlasOn()
- If (MoveSpinner.Enabled = TRUE) Then
- If (TestSpin = 3) or (TestSpin = 6) Then Exit Sub
- End If
- PlaySound "fx_Relay", 0.7
- LightSeqGI.StopPlay
- APFDark.Render = FALSE
- LeftSlingShotSurface.Render = TRUE
- RightSlingShotSurface.Render = TRUE
- Surface14.Render = TRUE
- Surface15.Render = TRUE
- Surface2.Render = TRUE
- Surface16.Render = TRUE
- Surface19.Render = TRUE
- Surface12.Render = TRUE
- Surface13.Render = TRUE
- Surface20.Render = TRUE
- Surface22.Render = TRUE
- Surface17.Render = TRUE
- Surface41.Render = FALSE
- Surface40.Render = FALSE
- Surface39.Render = FALSE
- Surface38.Render = FALSE
- Surface37.Render = FALSE
- Surface36.Render = FALSE
- Surface23.Render = FALSE
- Surface24.Render = FALSE
- Surface25.Render = FALSE
- Surface26.Render = FALSE
- LSDark.Render = FALSE
- RSDark.Render = FALSE
- 'xBAM.SetPlayfieldTexture "JP_PlayfieldOn"
- xBAM.Lights.Brightness = 1.10
- End Sub
- Sub PFFlashTimer_Expired()
- FlashMe = FlashMe + 1
- Select Case FlashMe
- Case 1,3,5,7,9: AllPlasOff()
- Case 2,4,6,8: AllPlasOn()
- Case 10: AllPlasOn(): PFFlashTimer.Enabled = FALSE
- End Select
- End Sub
- Sub WhiteFlash()
- FlasherLExt.SetLitColor 255, 255, 255
- FlasherMExt.SetLitColor 255, 255, 255
- Flasher1Ext.SetLitColor 255, 255, 255
- End Sub
- Sub PinkFlash()
- FlasherLExt.SetLitColor 255, 36, 173
- FlasherMExt.SetLitColor 255, 36, 173
- Flasher1Ext.SetLitColor 255, 36, 173
- End Sub
- Sub RedFlash()
- FlasherLExt.SetLitColor 255, 0, 0
- FlasherMExt.SetLitColor 255, 0, 0
- Flasher1Ext.SetLitColor 255, 0, 0
- End Sub
- Sub FlashersOff_Expired()
- FlashersOff.Enabled = FALSE
- FlasherLExt.SetLitColor 254, 39, 1
- FlasherMExt.SetLitColor 252, 120, 252
- Flasher1Ext.SetLitColor 33, 174, 288
- End Sub
- Sub RedOn()
- AllPlasOn()
- KillOn = TRUE
- APFRed.Render = TRUE
- 'LightSuperRampLExt.SetLitColor 255, 0, 0
- 'LightSuperRampRExt.SetLitColor 255, 0, 0
- LightRampLExt.SetLitColor 255, 0, 0
- LightRampRExt.SetLitColor 255, 0, 0
- LightLaneLExt.SetLitColor 255, 0, 0
- LightLaneRExt.SetLitColor 255, 0, 0
- LightLO3Ext.SetLitColor 255, 0, 0
- LightRepExt.SetLitColor 255, 0, 0
- LightModeExt.SetLitColor 255, 0, 0
- LightCentrePurgeExt.SetLitColor 255, 0, 0
- Bulb18Ext.SetLitColor 255, 0, 0
- Bulb19Ext.SetLitColor 255, 0, 0
- Bulb20Ext.SetLitColor 255, 0, 0
- Bulb21Ext.SetLitColor 255, 0, 0
- Bulb24Ext.SetLitColor 255, 0, 0
- Bulb26Ext.SetLitColor 255, 0, 0
- Bulb34Ext.SetLitColor 255, 0, 0
- Bulb35Ext.SetLitColor 255, 0, 0
- Bulb23Ext.SetLitColor 255, 0, 0
- Bulb29Ext.SetLitColor 255, 0, 0
- Bulb48Ext.SetLitColor 255, 0, 0
- RightSlingShotBulb1Ext.SetLitColor 255, 0, 0
- RightSlingShotBulb2Ext.SetLitColor 255, 0, 0
- FlashRL1Ext.SetLitColor 255, 0, 0
- FlashRL2Ext.SetLitColor 255, 0, 0
- Bulb22Ext.SetLitColor 255, 0, 0
- LeftSlingShotBulb1Ext.SetLitColor 255, 0, 0
- LeftSlingShotBulb2Ext.SetLitColor 255, 0, 0
- xBAM.Lights.Brightness = 1.30
- End Sub
- Sub RedOff()
- PlaySound "fx_Relay", 0.7
- KillOn = FALSE
- APFRed.Render = FALSE
- 'LightSuperRampLExt.SetLitColor 253, 230, 196
- 'LightSuperRampRExt.SetLitColor 253, 230, 196
- LightRampLExt.SetLitColor 249, 186, 252
- LightRampRExt.SetLitColor 249, 186, 252
- LightLaneLExt.SetLitColor 249, 186, 252
- LightLaneRExt.SetLitColor 249, 186, 252
- LightLO3Ext.SetLitColor 249, 186, 252
- LightRepExt.SetLitColor 249, 186, 252
- LightModeExt.SetLitColor 249, 186, 252
- LightCentrePurgeExt.SetLitColor 249, 186, 252
- Bulb18Ext.SetLitColor 253, 244, 213
- Bulb19Ext.SetLitColor 253, 244, 213
- Bulb20Ext.SetLitColor 253, 244, 213
- Bulb21Ext.SetLitColor 253, 244, 213
- Bulb24Ext.SetLitColor 253, 244, 213
- Bulb26Ext.SetLitColor 253, 244, 213
- Bulb34Ext.SetLitColor 253, 244, 213
- Bulb35Ext.SetLitColor 253, 244, 213
- Bulb23Ext.SetLitColor 138, 197, 244
- Bulb29Ext.SetLitColor 138, 197, 244
- Bulb48Ext.SetLitColor 138, 197, 244
- RightSlingShotBulb1Ext.SetLitColor 138, 197, 244
- RightSlingShotBulb2Ext.SetLitColor 138, 197, 244
- FlashRL1Ext.SetLitColor 128, 159, 162
- FlashRL2Ext.SetLitColor 128, 159, 162
- Bulb22Ext.SetLitColor 138, 197, 244
- LeftSlingShotBulb1Ext.SetLitColor 138, 197, 244
- LeftSlingShotBulb2Ext.SetLitColor 138, 197, 244
- xBAM.Lights.Brightness = 1.10
- End Sub
- Sub LandingLights()
- LL1.Set BulbBlink, "10", 200
- LL2.Set BulbBlink, "01", 200
- LL3.Set BulbBlink, "10", 200
- LL4.Set BulbBlink, "01", 200
- LL5.Set BulbBlink, "10", 200
- LL6.Set BulbBlink, "01", 200
- LL7.Set BulbBlink, "10", 200
- LL8.Set BulbBlink, "01", 200
- LL9.Set BulbBlink, "10", 200
- LL10.Set BulbBlink, "01", 200
- LL11.Set BulbBlink, "10", 200
- LL12.Set BulbBlink, "01", 200
- End Sub
- Sub LandingLightsOff()
- LL1.Set BulbOff, "10", 200
- LL2.Set BulbOff, "01", 200
- LL3.Set BulbOff, "10", 200
- LL4.Set BulbOff, "01", 200
- LL5.Set BulbOff, "10", 200
- LL6.Set BulbOff, "01", 200
- LL7.Set BulbOff, "10", 200
- LL8.Set BulbOff, "01", 200
- LL9.Set BulbOff, "10", 200
- LL10.Set BulbOff, "01", 200
- LL11.Set BulbOff, "10", 200
- LL12.Set BulbOff, "01", 200
- End Sub
- Sub QuoteTimer_Expired()
- QuoteTimer.Enabled = FALSE
- QuoteBusy = FALSE
- End Sub
- Sub Guide6_Hit()
- If (LastSwitchHit.Name = "Guide6") Then Exit Sub
- PlaySound "fx_MetalHitSoftC"
- set LastSwitchHit = Guide6
- End Sub
- Sub Guide8_Hit()
- If (LastSwitchHit.Name = "Guide8") Then Exit Sub
- PlaySound "fx_MetalHitSoftR"
- set LastSwitchHit = Guide8
- End Sub
- Sub Guide12_Hit()
- If (LastSwitchHit.Name = "Guide12") Then Exit Sub
- PlaySound "fx_MetalHitSoftL"
- set LastSwitchHit = Guide12
- End Sub
- Sub Guide13_Hit()
- If (LastSwitchHit.Name = "Guide13") Then Exit Sub
- PlaySound "fx_MetalHitSoftR"
- set LastSwitchHit = Guide13
- End Sub
- Sub Guide14_Hit()
- If (LastSwitchHit.Name = "Guide14") Then Exit Sub
- PlaySound "fx_MetalHitSoftR"
- set LastSwitchHit = Guide14
- End Sub
- Sub Guide15_Hit()
- If (LastSwitchHit.Name = "Guide15") Then Exit Sub
- PlaySound "fx_MetalHitSoftL"
- set LastSwitchHit = Guide15
- End Sub
- Sub Guide23_Hit()
- If (LastSwitchHit.Name = "Guide23") Then Exit Sub
- PlaySound "fx_MetalHitSoftC"
- set LastSwitchHit = Guide23
- End Sub
- Sub Guide24_Hit()
- If (LastSwitchHit.Name = "Guide24") Then Exit Sub
- PlaySound "fx_MetalHitSoftC"
- set LastSwitchHit = Guide24
- End Sub
- Sub Guide26_Hit()
- If (LastSwitchHit.Name = "Guide26") Then Exit Sub
- PlaySound "fx_MetalHitSoftC"
- set LastSwitchHit = Guide26
- End Sub
- Sub Rubber4_Hit()
- PlaySound "fx_RubberHitCentre"
- End Sub
- Sub Rubber7_Hit()
- PlaySound "fx_RubberHitLeft"
- End Sub
- Sub RubberPost_Hit()
- PlaySound "fx_RubBDL"
- End Sub
- Sub DMD_Empty()
- 'DMD.UpdateInterval = 8
- 'DMD2.UpdateInterval = 8
- 'AddScore(0)
- End Sub
- Dim DMDBusy,RampR,RampL,SaveMe
- Sub DMDTimer_Expired()
- DMDTimer.Enabled = FALSE
- DMDBusy = FALSE
- If (BallsOnPlayfield > 0) Then AddScore(0)
- End Sub
- Sub TrigRampStartL_Hit()
- If (RampL = FALSE) Then
- RampL = TRUE
- PlaySound "fx_RampStartR", 0.8
- Else
- ' ball is coming back down...
- PlaySound "fx_RampStartR", 0.6
- If (JoiOn = TRUE) or (SaveMe = 0) and (bBallSaverActive = FALSE) Then SaveMeTimer.Set TRUE, 2000
- End If
- End Sub
- Sub SaveMeTimer_Expired()
- SaveMeTimer.Enabled = FALSE
- End Sub
- Sub TrigRampStartR_Hit()
- If (RampR = FALSE) Then
- RampR = TRUE
- PlaySound "fx_RampStartR", 0.8
- Else
- ' ball is coming back down...
- PlaySound "fx_RampStartR", 0.6
- If (JoiOn = TRUE) or (SaveMe = 0) and (bBallSaverActive = FALSE) Then SaveMeTimer.Set TRUE, 2000
- End If
- End Sub
- Dim SpinLaunch,Spin2049
- Dim MiniPlayField_0 ' Xmin Xmax Ymin Ymax Zmin Zmax CenX CenY CenZ
- Set MiniPlayField_0 = xBAM.CreateMiniPlayfield( -80, -20, 110, 250, 40, 80, -52.8, 180.9, 50)
- ' DstX DstY DstZ RotX RotY RotZ Scale Time
- Call MiniPlayField_0.MoveTo( 116, 174, 60, 0, 0, 20, 1.3, 0)
- ' the Police Spinner...not to be confused with a spinner.
- ' if you're wondering why I didn't populate the entrance to the inner loops with spinners each side...Future Pinball doesn't do
- ' 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.
- Sub MoveSpinner_Expired()
- SpinLaunch = SpinLaunch + 1
- If (SpinLaunch = 4) Then Spin2049 = TRUE: SpinLaunch = 0
- TestSpin = TestSpin + 1
- Select Case TestSpin
- Case 1:
- LandingLights()
- FlasherPolice1.Set BulbBlink, "101000", 50
- FlasherPolice2.Set BulbBlink, "000101", 50
- AllPlasOff()
- LightRing1.State = BulbBlink
- LightRing2.State = BulbBlink
- LightRing3.State = BulbBlink
- LightRing4.State = BulbBlink
- LightRing5.State = BulbBlink
- LightRing6.State = BulbBlink
- LightRing7.State = BulbBlink
- LightRing8.State = BulbBlink
- Clip = 2: PlayMovie()
- If (Spin2049 = FALSE) Then
- CokeSign.UpdateInterval = 520
- CokeSign.Frame 33, 44
- Select Case RandomNumber(2)
- Case 1:
- PlayMusic 2, "vo_SpinnerChatter"
- PlaySound "fx_AlarmShort": MoveSpinner.Set TRUE, 2500
- Case 2:
- PlaySound "fx_SpinnerTakeOff"
- PlayMusic 2, "vo_Purge2"
- MoveSpinner.Set TRUE, 2500
- End Select
- Else
- PlaySound "fx_SpinnerTakeOff"
- MoveSpinner.Set TRUE, 2500
- End If
- Call MiniPlayField_0.MoveTo(111, 180, 90, 0, 0, 20, 1.3, 2.5)
- DMD.QueueText "[yc][xc][f5]SPINNER LAUNCH", deNone, 2500, FALSE
- DMD.QueueText "[yc][xc][f5][b]P U R G E", deNone, 2000, TRUE
- DMD2.QueueText "[yc][xc][f5]SPINNER LAUNCH", deNone, 2500, FALSE
- DMD2.QueueText "[yc][xc][f5][b]P U R G E", deNone, 2000, TRUE
- Case 2:
- If (ModeActive = FALSE) Then
- BR2049 = TRUE
- If (Spin2049 = TRUE) Then
- EffectMusic 1, FadeOutAndPause, 0, 1000
- PlayMusic 5, "Music_SR3", FALSE, 0.6, 500
- Else
- EffectMusic 1, FadeOutAndPause, 0, 1500
- PlayMusic 5, "Music_SR", FALSE, 0.4, 2000
- End If
- End If
- Call MiniPlayField_0.MoveTo(116, 174, 90, 0, 0, -30, 1.3, 1.8): MoveSpinner.Set TRUE, 1800
- Case 3:
- AllPlasOff()
- LandingLightsOff()
- FlasherPolice1.State = BulbOff
- FlasherPolice2.State = BulbOff
- Bulb46.State = BulbBlink: PLR.State = BulbBlink
- Bulb47.State = BulbBlink: PLB.State = BulbBlink
- CokeSign.UpdateInterval = 300
- CokeSign.Frame 16, 28
- Clip = 1: PlayMovie()
- PlaySound "fx_SpinnerFlyBy4"
- BulbSpinner3.State = BulbOn: FlasherSpin.State = BulbOn
- Call MiniPlayField_0.MoveTo(440, 800, 90, 0, 0, -30, 1.3, 3.5): MoveSpinner.Set TRUE, 3500
- Case 4:
- PlaySound "fx_SpinnerLanding"
- AllPlasOn()
- Bulb46.State = BulbOff: PLR.State = BulbOff
- Bulb47.State = BulbOff: PLB.State = BulbOff
- BulbSpinner3.State = BulbOff: FlasherSpin.State = BulbOff
- Call MiniPlayField_0.MoveTo(440, 975, 55, 0, 0, 75, 1.3, 3): MoveSpinner.Set TRUE, 3000
- Case 5:
- MoveSpinner.Set TRUE, SRTime ' the time the Spinner will stay landed on the apron...
- Case 6:
- If (QuoteBusy = FALSE) and (Spin2049 = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_AutoNav", FALSE, 0.7
- Call MiniPlayField_0.MoveTo(440, 975, 65, 0, 0, 75, 1.3, 1)
- MoveSpinner.Set TRUE, 1000
- Case 7:
- If (MovieTimer.Enabled = FALSE) Then Clip = 33: PlayMovie()
- PlaySound "fx_SpinnerTakeOff"
- Call MiniPlayField_0.MoveTo(116, 965, 65, 0, 0, 180, 1.3, 3): MoveSpinner.Set TRUE, 3000
- Case 8:
- AllPlasOff()
- If (BallsOnPlayfield > 0) Then
- If (QuoteBusy = FALSE) and (Spin2049 = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_FinalApproach", FALSE, 0.7
- If (MovieTimer.Enabled = FALSE) Then Clip = 3: PlayMovie()
- End If
- FlasherSpin.State = BulbOn
- PlaySound "fx_SpinnerFlyBy3"
- Call MiniPlayField_0.MoveTo(116, 174, 90, 0, 0, 180, 1.3, 3.5): MoveSpinner.Set TRUE, 3500
- Case 9:
- PlaySound "fx_PoliceSiren2"
- FlasherPolice1.Set BulbBlink, "101000", 50
- FlasherPolice2.Set BulbBlink, "000101", 50
- FlasherSpin.State = BulbOff
- Call MiniPlayField_0.MoveTo(116, 174, 85, 0, 0, 320, 1.3, 3): MoveSpinner.Set TRUE, 3000
- Case 10:
- LandingLights()
- PlaySound "fx_SpinnerLanding"
- FlasherPolice1.State = BulbOff
- FlasherPolice2.State = BulbOff
- BulbSpinner3.State = BulbOn
- Call MiniPlayField_0.MoveTo(116, 174, 60, 0, 0, 20, 1.3, 3.5): MoveSpinner.Set TRUE, 3500
- Case 11:
- ' if a mode is active as the Spinner lands, the music has already changed...
- If (ModeActive = FALSE) and (BR2049 = TRUE) Then
- EffectMusic 5, FadeOutAndStop, 0, 1000
- EffectMusic 1, PlayAndFadeIn, 0.6, 1000
- End If
- Spin2049 = FALSE
- BR2049 = FALSE
- AllPlasOn()
- LandingLightsOff()
- MoveSpinner.Enabled = FALSE
- BulbSpinner3.State = BulbOff
- TestSpin = 0
- SuperRamps = FALSE
- SuperRampsTimer.Enabled = FALSE
- LightSuperRampL.State = BulbOff
- LightSuperRampR.State = BulbOff
- LightCentre.State = BulbOff
- LightBlade.State = BulbBlink
- LightRunner.State = BulbBlink
- End Select
- End Sub
- Dim Clip
- ' movie clips! not as many as other games, Blade Runner isn't an action movie so less is certainly more for this game.
- Sub PlayMovie()
- OverlayHUD2.Frame 1: OverlayMovie2.Frame 1
- OverlayMovieHUD.Frame 599: OverlayMovie.Frame 599
- OverlayMovie.UpdateInterval = 66: OverlayMovieHUD.UpdateInterval = 66
- OverlayMovie2.UpdateInterval = 66: OverlayHUD2.UpdateInterval = 66
- Select Case Clip
- Case 1:
- OverlayMovie.Frame 457, 487: OverlayMovieHUD.Frame 457, 487
- MovieTimer.Set TRUE, 1800
- Case 2:
- OverlayMovie.UpdateInterval = 70: OverlayMovieHUD.UpdateInterval = 70
- OverlayMovie.Frame 333, 386: OverlayMovieHUD.Frame 333, 386
- MovieTimer.Set TRUE, 4500
- Case 3:
- OverlayMovie.UpdateInterval = 64: OverlayMovieHUD.UpdateInterval = 64
- OverlayMovie.Frame 252, 330: OverlayMovieHUD.Frame 252, 330
- MovieTimer.Set TRUE, 5000
- Case 4:
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 72, 206: OverlayMovieHUD.Frame 72, 206
- Case 5:
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68 ' blimp
- OverlayMovie.Frame 696, 734: OverlayMovieHUD.Frame 696, 734
- MovieTimer.Set TRUE, 3000
- Case 6:
- OverlayMovie.Frame 974, 1020: OverlayMovieHUD.Frame 974, 1020 ' tyrell death
- MovieTimer.Set TRUE, 3000
- Case 7:
- OverlayMovie.Frame 387, 424: OverlayMovieHUD.Frame 387, 424 ' VK eye
- MovieTimer.Set TRUE, 2600
- Case 8:
- OverlayMovie.UpdateInterval = 64: OverlayMovieHUD.UpdateInterval = 64
- OverlayMovie.Frame 1, 66: OverlayMovieHUD.Frame 1, 66
- Case 9:
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68 ' fly by coke sign
- OverlayMovie.Frame 107, 146: OverlayMovieHUD.Frame 107, 146
- MovieTimer.Set TRUE, 3500
- Case 10:
- OverlayMovie.Frame 887, 914: OverlayMovieHUD.Frame 887, 914 ' leon shot
- MovieTimer.Set TRUE, 1800
- Case 11:
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 72, 106: OverlayMovieHUD.Frame 72, 106
- MovieTimer.Set TRUE, 2000
- Case 12:
- OverlayMovie.Frame 828, 869: OverlayMovieHUD.Frame 828, 869
- MovieTimer.Set TRUE, 2800
- Case 13:
- OverlayMovie.Frame 425, 455: OverlayMovieHUD.Frame 425, 455
- MovieTimer.Set TRUE, 2000
- Case 14:
- OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
- OverlayMovie2.Frame 245, 273: OverlayHUD2.Frame 245, 273 ' tyrell tower
- MovieTimer.Set TRUE, 2500
- Case 15:
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 634, 667: OverlayMovieHUD.Frame 634, 667
- MovieTimer.Set TRUE, 3500
- Case 16:
- OverlayMovie.Frame 915, 946: OverlayMovieHUD.Frame 915, 946
- MovieTimer.Set TRUE, 2100
- Case 17:
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 600, 633: OverlayMovieHUD.Frame 600, 633
- MovieTimer.Set TRUE, 3500
- Case 18:
- OverlayMovie.Frame 947, 973: OverlayMovieHUD.Frame 947, 973
- MovieTimer.Set TRUE, 1800
- Case 19:
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 668, 695: OverlayMovieHUD.Frame 668, 695
- MovieTimer.Set TRUE, 3500
- Case 20:
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 735, 787: OverlayMovieHUD.Frame 735, 787
- MovieTimer.Set TRUE, 4300
- Case 21
- OverlayMovie.Frame 488, 551: OverlayMovieHUD.Frame 488, 551
- MovieTimer.Set TRUE, 4000
- Case 22:
- OverlayMovie.Frame 790, 818: OverlayMovieHUD.Frame 790, 818
- MovieTimer.Set TRUE, 1800
- Case 23:
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 147, 205: OverlayMovieHUD.Frame 147, 205
- MovieTimer.Set TRUE, 4000
- Case 24:
- OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
- OverlayMovie2.Frame 2, 80: OverlayHUD2.Frame 2, 80 ' elevator
- MovieTimer.Set TRUE, 4100
- Case 25:
- OverlayMovie2.UpdateInterval = 67: OverlayHUD2.UpdateInterval = 67
- OverlayMovie2.Frame 81, 110: OverlayHUD2.Frame 81, 110 ' chop
- MovieTimer.Set TRUE, 2200
- Case 26:
- OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
- OverlayMovie2.Frame 111, 161: OverlayHUD2.Frame 111, 161 ' blimp
- MovieTimer.Set TRUE, 3700
- Case 27:
- OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
- OverlayMovie2.Frame 162, 195: OverlayHUD2.Frame 162, 195 ' pris eyes
- MovieTimer.Set TRUE, 2500
- Case 28:
- OverlayMovie2.Frame 20, 80: OverlayHUD2.Frame 2, 80 ' elevator
- MovieTimer.Set TRUE, 4100
- Case 29:
- OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
- OverlayMovie2.Frame 196, 244: OverlayHUD2.Frame 196, 244 ' photo scan
- MovieTimer.Set TRUE, 3700
- Case 30:
- OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
- OverlayMovie2.Frame 274, 296: OverlayHUD2.Frame 274, 296 ' leon punch
- MovieTimer.Set TRUE, 1800
- Case 31:
- OverlayMovie2.UpdateInterval = 72: OverlayHUD2.UpdateInterval = 72
- OverlayMovie2.Frame 297, 333: OverlayHUD2.Frame 297, 333 ' seb end
- MovieTimer.Set TRUE, 3100
- Case 32:
- OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
- OverlayMovie2.Frame 347, 378: OverlayHUD2.Frame 347, 378 ' vid phon
- MovieTimer.Set TRUE, 2000
- Case 33:
- OverlayMovie2.UpdateInterval = 68: OverlayHUD2.UpdateInterval = 68
- OverlayMovie2.Frame 379, 410: OverlayHUD2.Frame 379, 410 ' patrol
- MovieTimer.Set TRUE, 2200
- Case 34:
- OverlayMovie2.UpdateInterval = 69: OverlayHUD2.UpdateInterval = 69
- OverlayMovie2.Frame 411, 432: OverlayHUD2.Frame 411, 432 ' gaff
- MovieTimer.Set TRUE, 1600
- Case 35:
- OverlayMovie2.UpdateInterval = 70: OverlayHUD2.UpdateInterval = 70
- OverlayMovie2.Frame 433, 461: OverlayHUD2.Frame 433, 461 ' roy
- MovieTimer.Set TRUE, 2400
- End Select
- End Sub
- Sub FuturePinball_EndPlay()
- End Sub
- Sub LightSeqPF_Empty()
- LightSeqPF.UpdateInterval = 10
- End Sub
- Sub Trigger5_Hit()
- PlaySound "fx_HitWireRamp", 0.8
- End Sub
- Dim TestSpin,BR2049
- Sub FuturePinball_EndPlay()
- DOFClose()
- End Sub
Add Comment
Please, Sign In to add comment