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 **
- 'Basic DOF (Solenoids) Added By: Outhere on 7/14/2020
- ' 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.
- ' Shot 1: 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 photo 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
- '=============================== 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="1500" leftZoff="0"
- ' rightXoff="0" rightYoff="1500" 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.5" gravity="3000.0" damping="1.0"></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
- Set RightFlipperExt = xBAM.Flipper("RightFlipper")
- Set LeftFlipperExt = xBAM.Flipper("LeftFlipper")
- 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
- Sub OnPreHitFlipperSettings_bounceControl(FlipperExt)
- If BAM_VERSION < 233 then Exit Sub
- const base_elasticCoef = 0.90 ' very bouncy flipper rubber
- const expected_ball_speed_after_hit = 350 ' calc elasticCoef to get desired ball speed after ball hit flipper
- const minimum_elasticCoef_to_scale_fast_balls = 0.15 ' 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.17 ' 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 ===
- Const constMaxPlayers = 1
- 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 bFreePlay
- 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
- Dim Batty
- ExecuteGlobal LoadExternalScript("DOFLinx.vbs")
- DMD.AddFont 1, "dmd05x05p"
- DMD.AddFont 2, "dmd06x07p"
- DMD.AddFont 3, "dmd08x09p"
- DMD.AddFont 4, "dmd08x13p"
- DMD.AddFont 5, "dmd09x11po"
- DMD.AddFont 6, "dmd09x15po"
- DMD2.AddFont 1, "dmd05x05p"
- DMD2.AddFont 2, "dmd06x07p"
- DMD2.AddFont 3, "dmd08x09p"
- DMD2.AddFont 4, "dmd08x13p"
- DMD2.AddFont 5, "dmd09x11po"
- DMD2.AddFont 6, "dmd09x15po"
- 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
- ' *********************************************************************
- ' ** **
- ' ** Future Pinball Defined Script Events **
- ' ** **
- ' *********************************************************************
- Sub FuturePinball_BeginPlay()
- FF_Init
- FF_DOFLinx=1 ' Set this to 0 to manually disable the link to DOFLinx.
- ' DOFLinx must be active and set to link for this to make a difference
- ' seed the randomiser (rnd(1) function
- Randomize
- bFreePlay = FALSE
- set LastSwitchHit = LeftInLaneTrigger
- bOnTheFirstBall = FALSE
- bEnteringAHighScore = FALSE
- RangeTime = 20000
- RangeValue = 50
- RampValue = 100
- VKValue = 150
- PhotoValue = 250
- MissionHit = 250
- SnakeHit = 5
- SRTime = 10000
- BSTime = 12000
- AdjRangeValue = 50
- AdjRampValue = 100
- AdjVKValue = 150
- AdjPhotoValue = 200
- AdjMissionHit = 300
- AdjSnakeHit = 5
- AdjSRTime = 10000
- BallsOnPlayfield = 0
- BallsInLock = 0
- EndOfGame()
- End Sub
- Sub FuturePinball_EndPlay()
- End Sub
- Sub LightSeqPF_Empty()
- LightSeqPF.UpdateInterval = 10
- End Sub
- Sub FuturePinball_KeyPressed(ByVal KeyCode)
- FF_Button BUT_CN,BA_OFF,0,0 'DOFLinx - Coin Light - OFF
- FF_DEV DV_SR,30 'DOFLinx - STROBE - Coin inserted
- FF_Button BUT_ST,BA_FL,1000,50 'DOFLinx - Start Button - Flashing - Coin inserted
- If (KeyCode = 18) Then
- End If
- If (KeyCode = 19) Then
- End If
- If (KeyCode = 20) Then
- End If
- If (KeyCode = GetKeyCode(InsertCoinKey)) Then
- FF_Button BUT_ST,BA_FL,0,0
- PlaySound "fx_CoinIn"
- nvCredits = nvCredits + 1
- If (fpGameInPlay = FALSE) Then
- DMD.Text = "[y3][xc][f3]GAME OVER[y21][f1]PRESS START"
- AllPlasOff()
- PFFlashTimer.Set TRUE, 400
- End If
- End If
- If (KeyCode = GetKeyCode(PlungerKey)) Then
- If (ShopActive = TRUE) Then
- ShopActive = FALSE: UpgradeTimer.Enabled = FALSE
- PlaySound "fx_7"
- Select Case Upgrade
- Case 1:
- DMD.Text = "[yc][xc][f5][bf]+ BALL SAVER"
- BSTime = 15000: DelayEOG.Set TRUE, 1500
- Case 2:
- DMD.Text = "[yc][xc][f5][bf]+ RANGE VALUE"
- AdjRangeValue = 100: DelayEOG.Set TRUE, 1500
- Case 3:
- DMD.Text = "[yc][xc][f5][bf]+ RAMP VALUE"
- AdjRampValue = 200: DelayEOG.Set TRUE, 1500
- Case 4:
- DMD.Text = "[yc][xc][f5][bf]+ VK VALUE"
- AdjVKValue = 250: DelayEOG.Set TRUE, 1500
- Case 5:
- DMD.Text = "[yc][xc][f5][bf]+ PHOTO VALUE"
- AdjPhotoValue = 300: DelayEOG.Set TRUE, 1500
- Case 6:
- DMD.Text = "[yc][xc][f5][bf]+ MODE VALUE"
- AdjMissionHit = 300: DelayEOG.Set TRUE, 1500
- Case 7:
- DMD.Text = "[yc][xc][f5][bf]+ BUMPER VALUE"
- DelayEOG.Set TRUE, 1500
- Case 8:
- DMD.Text = "[yc][xc][f5][bf]+ MORE TIME"
- RangeTime = 25000: DelayEOG.Set TRUE, 1500
- Case 9:
- DMD.Text = "[yc][xc][f5][bf]+ BALL SAVER"
- BSTime = 18000: DelayEOG.Set TRUE, 1500
- Case 10:
- DMD.Text = "[yc][xc][f5][bf]- MYSTERY HITS"
- BSTime = 18000: DelayEOG.Set TRUE, 1500
- AdjSnakeHit = 4
- Case 11: ' a new game will start, exactly where the last game finished...
- DMD.Text ="[y0][xc][f3]NEW GAME[y11][f1]CONTINUE"
- TrackPlayed = 0
- PlayMusic 1, "Music_BRTrack1", FALSE, 0.6, 1200
- PlayMusic 2, "vo_GoodLuck"
- nvScore(CurrentPlayer) = 0 'nvScore(CurrentPlayer) - 60000
- BallsRemaining(CurrentPlayer) = 5
- DelayEOB.Set TRUE, 1500
- Case else:
- QuoteBusy = TRUE: PlayMusic 2, "vo_NoChoice"
- DMD.Text = "[yc][xc][f5][bf]BUY SOMETHING"
- UpgradeTimer.Set TRUE, 1800
- End Select
- End If
- If (BallsOnPlayfield = 0) Then Exit Sub
- Plunger.SolenoidPulse
- StartButtonBulb.FlashForMs 200, 50, BulbOff
- 'PlaySound "fx_GunShot2"
- FF_Sound DV_RS,-1,"fx_GunShot2"
- AllPlasOff(): 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
- Upgrade = Upgrade - 1: PlaySound "fx_18"
- If (Upgrade =<0) Then Upgrade = 1
- Select Case Upgrade
- Case 1:
- DMD.Text = "[y0][xc][f3]$3,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 251: OverlayMovieHUD.Frame 251 ' vid phone (ball saver + 3)
- Case 2:
- If (nvScore(CurrentPlayer) < 8000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$8,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 243: OverlayMovieHUD.Frame 243 ' gun (firing range)
- Case 3:
- If (nvScore(CurrentPlayer) < 12000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$12,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 244: OverlayMovieHUD.Frame 244 ' spinner (ramps)
- Case 4:
- If (nvScore(CurrentPlayer) < 16000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$16,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 245: OverlayMovieHUD.Frame 245 ' vk
- Case 5:
- If (nvScore(CurrentPlayer) < 20000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$20,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 249: OverlayMovieHUD.Frame 249' photo
- Case 6:
- If (nvScore(CurrentPlayer) < 24000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$24,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 246: OverlayMovieHUD.Frame 246 ' mission (shots)
- Case 7:
- If (nvScore(CurrentPlayer) < 28000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$28,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 879: OverlayMovieHUD.Frame 879 ' general ted (pops)
- Case 8:
- If (nvScore(CurrentPlayer) < 32000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$32,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 250: OverlayMovieHUD.Frame 250 ' unicorn (more time)
- Case 9:
- If (nvScore(CurrentPlayer) < 36000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$36,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- 'OverlayMovie.Frame 599: OverlayMovieHUD.Frame 599 ' drink 2
- OverlayMovie.Frame 880: OverlayMovieHUD.Frame 880 ' vid phone (ball saver + 5)
- Case 10:
- If (nvScore(CurrentPlayer) < 40000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$40,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 248: OverlayMovieHUD.Frame 248 ' drink (mystery hits reduced)
- Case 11:
- If (nvScore(CurrentPlayer) < 44000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$44,000[y11][f1]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
- PlayMusic 2, "vo_TransferComplete", FALSE, 1, 200
- MusicResume.Set TRUE, 1000
- nvScore(CurrentPlayer) = nvScore(CurrentPlayer) - 2000
- DMD.QueueText "[yc][xc][f5]YES", deNone, 600, FALSE
- DMD.QueueText "[y0][xc][f3][b]PAYMENT ACCEPTED[/b][y11][f1]NEW SCORE: $ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1), deNone, 1800, FALSE
- DMD.QueueText "[y0][xc][f3]UPGRADE SHOP[/b][y11][f1]IS NOW CLOSED", deScrollIn, 1300, TRUE, "fx_DoorOpen"
- BallsRemaining(CurrentPlayer) = 1
- IgnoreHit = TRUE: DelayEOB.Set TRUE, 3800
- 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
- FF_Sound DV_LF,1000,"Flipper" ' Turn on the left flipper for upto 10 seconds (realistically until thge key is lifted
- FF_Flasher DV_FLIL,FL_FL,2,20,100,"Random" 'DOFLinx - Flipper Flasher - Random
- End If
- If (KeyCode = GetKeyCode(RightFlipperKey)) Then
- If (ShopActive = TRUE) Then
- Upgrade = Upgrade + 1: PlaySound "fx_18"
- If (Upgrade >10) Then Upgrade = 10
- Select Case Upgrade
- Case 1:
- DMD.Text = "[y0][xc][f3]$3,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 251: OverlayMovieHUD.Frame 251 ' vid phone (ball saver + 3)
- Case 2:
- If (nvScore(CurrentPlayer) < 8000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$8,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 243: OverlayMovieHUD.Frame 243 ' gun (firing range)
- Case 3:
- If (nvScore(CurrentPlayer) < 12000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$12,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 244: OverlayMovieHUD.Frame 244 ' spinner (ramps)
- Case 4:
- If (nvScore(CurrentPlayer) < 16000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$16,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 245: OverlayMovieHUD.Frame 245 ' vk
- Case 5:
- If (nvScore(CurrentPlayer) < 20000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$20,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 249: OverlayMovieHUD.Frame 249' photo
- Case 6:
- If (nvScore(CurrentPlayer) < 24000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$24,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 246: OverlayMovieHUD.Frame 246 ' mission (shots)
- Case 7:
- If (nvScore(CurrentPlayer) < 28000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$28,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 879: OverlayMovieHUD.Frame 879 ' general ted (pops)
- Case 8:
- If (nvScore(CurrentPlayer) < 32000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$32,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 250: OverlayMovieHUD.Frame 250 ' unicorn (more time)
- Case 9:
- If (nvScore(CurrentPlayer) < 36000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$36,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- 'OverlayMovie.Frame 599: OverlayMovieHUD.Frame 599 ' drink 2
- OverlayMovie.Frame 880: OverlayMovieHUD.Frame 880 ' vid phone (ball saver + 5)
- Case 10:
- If (nvScore(CurrentPlayer) < 40000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$40,000[y11][f1]CASH TO SPEND: $" & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- OverlayMovie.Frame 248: OverlayMovieHUD.Frame 248 ' drink (mystery hits reduced)
- Case 11:
- If (nvScore(CurrentPlayer) < 44000) Then Upgrade = Upgrade - 1: Exit Sub
- DMD.Text = "[y0][xc][f3]$44,000[y11][f1]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
- PlaySound "fx_Hit10"
- DMD.Text = "[yc][xc][f5][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
- FF_Sound DV_RF,1000,"Flipper" ' Turn on the left flipper for upto 10 seconds (realistically until thge key is lifted
- FF_Flasher DV_FLOR,FL_FL,2,20,100,"Random" 'DOFLinx - Flipper Flasher - Random
- End If
- If (KeyCode = GetKeyCode(StartGameKey)) Then
- If ((PlayersPlayingGame < constMaxPlayers) And (bOnTheFirstBall = TRUE)) Then
- If (bFreePlay = TRUE) Then
- PlayersPlayingGame = PlayersPlayingGame + 1
- nvTotalGamesPlayed = nvTotalGamesPlayed + 1
- Else
- 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
- End If
- Else
- If (KeyCode = GetKeyCode(StartGameKey)) Then
- If (bFreePlay = TRUE) Then
- If (BallsOnPlayfield = 0) Then
- ResetForNewGame()
- End If
- Else
- If (nvCredits > 0) Then
- If (BallsOnPlayfield = 0) Then
- nvCredits = nvCredits - 1
- ResetForNewGame()
- End If
- Else
- DMD.Text = "[y0][xc][f3]NO CREDITS[y11][f1][b]INSERT COIN"
- PlaySound "fx_7"
- End If
- End If
- End If
- End If
- End Sub
- 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
- FF_Dev DV_LF,0 ' Turn the flipper solenoids off
- End If
- If (KeyCode = GetKeyCode(RightFlipperKey)) Then
- RightFlipper.SolenoidOff
- FF_Dev DV_RF,0 ' Turn the flipper solenoids off
- End If
- End If
- End If
- End Sub
- Sub FuturePinball_Paused()
- PlayMusic 7, "Music_NeonCity", TRUE, 0.8
- End Sub
- Sub FuturePinball_UnPaused()
- StopMusic 7
- End Sub
- Sub FuturePinball_TiltWarning(ByVal Warnings)
- FF_Colour "Red",RGB_FL,150 ' DOFLinx - RGB Lighting - Flash - Red
- 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, 2000
- 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
- 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
- StopMusic 5: StopMusic 6
- RangeTimer.Enabled = FALSE
- If (ModeActive = TRUE) Then
- ModeActive = FALSE
- End If
- BR2049 = FALSE
- SuperRamps = FALSE
- SuperRampsTimer.Enabled = FALSE
- RampValue = AdjRampValue
- LeftFlipper.SolenoidOff
- RightFlipper.SolenoidOff
- FF_Dev DV_LF,0 'DOFLinx - Left Flipper OFF
- FF_Dev DV_RF,0 'DOFLinx - Right Flipper OFF
- 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
- MusicResume.Set TRUE, 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
- 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 = "[y3][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..."
- 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: PlayMusic 1, "Music_BRTrack2", FALSE, 0.6
- 'Case 2: PlayMusic 1, "Music_BRTrack3", FALSE, 0.6
- 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_BRTrack7", FALSE, 0.6
- Case 6: PlayMusic 1, "Music_BRTrack8", FALSE, 0.6
- Case 7: 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, ,10, 200
- FlasherL.FlashForMs 5000, 200, BulbOff
- Flasher1.FlashForMs 5000, 200, BulbOff
- FlasherM.FlashForMs 5000, 200, BulbOff
- PlayMusic 1, "Music_HS", FALSE, 0.7
- PlayMusic 2, "vo_TopPerformance", FALSE, 1, 1000
- DMD.QueueText "[f1][y1]WELL PLAYED[f3][y7]HIGHEST SCORE", deFlip, 2000, FALSE
- DMD.QueueText "[yc][xc][f5][b]"& left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deFlip, 2000, FALSE
- DMD.QueueText "[f1][y1]YOU ARE A[f3][y7]BLADE RUNNER", deNone, 1000, TRUE
- GameEndDelay.Set TRUE, 6000
- Exit Sub
- End If
- If (Position = 2) Then
- PlayMusic 2, "vo_Impressed"
- DMD.Text = "[yc][xc][f5][b]2ND PLACE"
- GameEndDelay.Set TRUE, 2000
- Exit Sub
- End If
- If (Position = 3) Then
- PlayMusic 2, "vo_Revel"
- DMD.Text = "[yc][xc][f5][b]3RD PLACE"
- GameEndDelay.Set TRUE, 2000
- 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"
- GameEndDelay.Set TRUE, 2000
- 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
- StopMusic 3
- AllPlasOn()
- BeginGame()
- nvTotalGamesPlayed = nvTotalGamesPlayed + 1
- CurrentPlayer = 1
- PlayersPlayingGame = 1
- bOnTheFirstBall = TRUE
- SnakeHit = AdjSnakeHit
- SRTime = AdjSRTime
- 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 = 0
- 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
- 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
- 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 = 2000
- OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885
- MovieTimer.Set TRUE, 2000
- Case 4,5: PlayMusic 2, "vo_GoodLuck": Time = 1100
- End Select
- FirstBallDelayTimer.Interval = Time
- FirstBallDelayTimer.Enabled = TRUE
- DMD.Text = "[yc][xc][f6]GOOD LUCK"
- DMD2.Text = "[yc][xc][f6]GOOD LUCK"
- 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
- DT_1.PopDown
- DT_2.PopDown
- DT_3.PopDown
- DT_4.PopDown
- LightLaneL.State = BulbOff
- LightLaneR.State = BulbOff
- 'LightSuperRampL.State = BulbOff
- 'LightSuperRampR.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
- LightSuperPops.State = BulbOff
- 'LightPhoto.State = BulbOff
- 'LightVK.State = BulbOff
- 'LightRange.State = BulbOff
- 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
- 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)
- If (BallsRemaining(CurrentPlayer) = 1) Then
- 'PlayMusic 2, "vo_AngelsFell"
- DMD.Text = "[y1][xc][f6][b]LAST BALL"
- Else
- If (bOnTheFirstBall = FALSE) Then
- End If
- End If
- End Sub
- Sub CreateNewBall()
- FF_Sound DV_RF,-1, "fx_GunShot2"
- PlungerKicker.CreateBall: AddTrackedBall(PlungerKicker)
- BallsOnPlayfield = BallsOnPlayfield + 1
- PlungerKicker.SolenoidPulse
- End Sub
- 'FF_Sound DV_RS,-1,
- Sub AutoFire_Expired()
- AutoFire.Enabled = FALSE
- FF_Sound DV_RS,-1, "fx_GunShot2"
- Plunger.SolenoidPulse
- StartButtonBulb.FlashForMs 200, 50, BulbOff
- AllPlasOff()
- 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 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
- Sub AttractTimer_Expired()
- PlayAtt = PlayAtt + 1
- Select Case PlayAtt
- Case 1:
- OverlayMovie.UpdateInterval = 64: OverlayMovieHUD.UpdateInterval = 64
- OverlayMovie.Frame 1, 66: OverlayMovieHUD.Frame 1, 66
- LightSeqPF.Play SeqMiddleInVertOn, 25
- AttractTimer.Set TRUE, 15000
- Case 2:
- AttractTimer.Set TRUE, 9000
- PlayMusic 2, "vo_Batty"
- OverlayMovie.UpdateInterval = 1000: OverlayMovieHUD.UpdateInterval = 1000
- OverlayMovie.Frame 68: OverlayMovieHUD.Frame 68
- HoloNeon4.UpdateInterval = 800
- HoloNeon4.Frame 49, 51, 49
- LightSeqPF.Play SeqCircleOutOn, 25
- Case 3:
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 72, 206: OverlayMovieHUD.Frame 72, 206
- Select Case RandomNumber(3)
- Case 1: PlayMusic 3, "vo_Nexus5", FALSE, 0.6
- Case 2: PlayMusic 3, "vo_Announcement"
- Case 3: PlayMusic 3, "Music_Attention", FALSE, 0.5
- 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, "vo_Zora"
- OverlayMovie.UpdateInterval = 1000
- OverlayMovie.Frame 70: OverlayMovieHUD.Frame 70
- HoloNeon4.Frame 10
- LightSeqPF.Play SeqScrewLeftOn, 25
- AttractTimer.Set TRUE, 9500
- Case 6:
- OverlayMovie.UpdateInterval = 64: OverlayMovieHUD.UpdateInterval = 64
- OverlayMovie.Frame 252, 330: OverlayMovieHUD.Frame 252, 330
- 'MovieTimer.Set TRUE, 5000
- PlaySound "fx_SpinnerFlyBy"
- LightSeqPF.Play SeqRandom, 40, ,3000
- AttractTimer.Set TRUE, 5000
- Case 7:
- PlayMusic 2, "vo_Pris"
- OverlayMovie.UpdateInterval = 1000
- OverlayMovie.Frame 71: OverlayMovieHUD.Frame 71
- LightSeqPF.Play SeqRandomEffect, 100
- AttractTimer.Set TRUE, 9500
- Case 8:
- PlayMusic 2, "vo_Nexus6"
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 72, 206: OverlayMovieHUD.Frame 72, 206
- LightSeqPF.Play SeqWiperRightOn, 45
- AttractTimer.Set TRUE, 15000
- Case 9:
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 696, 734: OverlayMovieHUD.Frame 696, 734
- MovieTimer.Set TRUE, 3000
- Case 10:
- OverlayMovie.UpdateInterval = 64: OverlayMovieHUD.UpdateInterval = 64
- OverlayMovie.Frame 1, 66: OverlayMovieHUD.Frame 1, 66
- PlaySound "fx_SpinnerFlyBy4"
- PlayAtt = 9
- End Select
- End Sub
- Sub MusicResume_Expired()
- MusicResume.Enabled = FALSE
- 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)
- BallsOnPlayfield = BallsOnPlayfield - 1
- PlaySound "fx_Drain"
- If (fpGameInPlay = TRUE) and (fpTilted = FALSE) Then
- If (bBallSaverActive = TRUE) or (SaveMeTimer.Enabled = TRUE) Then
- AutoFire.Set TRUE, 600
- If (SaveMeTimer.Enabled = TRUE) Then
- DMD.Text = "[y1][xc][f6][bf]RAMP SAVER"
- PlaySound "fx_26"
- Else
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- If (BattyMode = TRUE) Then
- PlayMusic 2, "vo_Deckard3"
- Else
- Select Case RandomNumber(2)
- Case 1: PlayMusic 2, "vo_Laugh"
- Case 2: PlayMusic 2, "vo_HumanAgain"
- End Select
- End If
- End If
- End If
- CreateNewBall()
- 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
- MusicResume.Set TRUE, 100
- StopMusic 5
- DMD.FlushQueue
- DMD.QueueText "[y0][xc][f3][b]ASSIGNMENT[y11][f1]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
- DMD.FlushQueue
- DMD.QueueText "[yc][xc][f6][b]BALL LOST", deNone, 2000, TRUE
- End If
- If (LeonMode = TRUE) Then
- LeonMode = FALSE: KillLeon = FALSE
- LightLeonMain.State = BulbOff
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_PartOfTest"
- End If
- If (ZhoraMode = TRUE) Then
- ZhoraMode = FALSE
- LightZhoraMain.State = BulbOff
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_ForReal"
- End If
- If (PrisMode = TRUE) Then
- PrisMode = FALSE
- LightPrisMain.State = BulbOff
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_LikeYou"
- End If
- If (TyrellMode = TRUE) Then
- TyrellMode = FALSE
- LightTyrellMain.State = BulbOff
- LightElevator.State = BulbOff
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Problem"
- End If
- If (SebastianMode = TRUE) Then
- SebastianMode = FALSE
- LightSebastianMain.State = BulbOff
- LightElevator.State = BulbOff
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_GrowOldTooFast"
- 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
- Case 2: PlayMusic 2, "vo_WontLive"
- 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
- End If
- If (BattyMode = TRUE) Then
- BattyMode = FALSE
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_WhereGoing"
- ' 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
- TakeOffTimer.Enabled = FALSE
- StopMusic 6
- RangeTimer.Enabled = FALSE
- 'RangeValue = 50
- 'RampValue = 150
- ' for now, reset all mission shots...
- 'RachaelHit = 0
- 'SebastianHit = 0
- 'GaffHit = 0
- 'PrisHit = 0
- 'ZhoraHit = 0
- 'LeonHit = 0
- 'TyrellHit = 0
- 'ChewHit = 0
- If (ShootingMode = TRUE) Then
- ShootingMode = FALSE
- LightRange.State = BulbOff
- End If
- If (VKMode = TRUE) Then
- VKMode = FALSE
- LightVK.State = BulbOff
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_TestYourself", FALSE, 0.7
- End If
- If (PhotoMode = TRUE) Then
- PhotoMode = FALSE
- LightPhoto.State = BulbOff
- End If
- If (SuperRamps = TRUE) Then
- EffectMusic 5, FadeOutAndStop, 0, 500
- EffectMusic 1, PlayAndFadeIn, 0.6, 500
- SuperRamps = FALSE
- SuperRampsTimer.Enabled = FALSE
- End If
- EndOfBall()
- End If
- End If
- End If
- End Sub
- Sub EndOfBall()
- Dim BonusDelayTime
- 'MusicResume.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
- DMD.QueueText "[y0][xc][f3]BONUS X " & BonusMultiplier(CurrentPlayer) & "[y11][f1]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deNone, 800, FALSE
- DMD.QueueText "[y0][xc][f3]BONUS X " & BonusMultiplier(CurrentPlayer) & "[b][y11][f1]$ " & FormatNumber(AwardPoints, 0, -1, 0, -1), deNone, 2000, TRUE, "fx_Hit10"
- Else
- AwardPoints = BonusPoints(CurrentPlayer)
- AddScore(AwardPoints)
- DMD.QueueText " ", deNone, 300, FALSE
- DMD.QueueText "[y0][xc][f3]BONUS X " & BonusMultiplier(CurrentPlayer) & "[y11][f1]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deNone, 800, FALSE
- DMD.QueueText "[y0][xc][f3]BONUS X " & BonusMultiplier(CurrentPlayer) & "[b][y11][f1]$ " & FormatNumber(BonusPoints(CurrentPlayer), 0, -1, 0, -1), deNone, 2000, TRUE, "fx_Hit10"
- End If
- BonusDelayTime = 3000
- Else
- BonusDelayTime = 200
- 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
- ' shows eyeball....
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 72, 106: OverlayMovieHUD.Frame 72, 106
- MovieTimer.Set TRUE, 2000
- DMD.Text = "[y1][xc][f6][bf]MORE LIFE"
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_MoreLife"
- EffectMusic 1, FadeOutAndPause, 0, 0: MusicResume.Set TRUE, 2500
- 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
- 'LightMode.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) > 5000) Then
- BuyIn = FALSE
- DMD.Text = "[y0][xc][f3]CONTINUE GAME?[y11][f1]< YES NO >"
- EffectMusic 1, FadeOutAndPause, 0, 100
- PlayMusic 4, "Music_BackGround9"
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Continue"
- BuyInActive = TRUE
- Else
- 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
- ' after buy in and high score entry...add some end of game bonus shit here. Use money to buy
- ' special items and modify the next game (must have at least $5000 to buy the cheapest item)...
- If (nvScore(CurrentPlayer) => 3000) and (NoShop = FALSE) Then
- OverlayMovie.Frame 247: OverlayMovieHUD.Frame 247
- PlayMusic 1, "Music_ComputerShort", TRUE, 0.8
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_Modified"
- DMD.Text = "[y0][xc][f3]UPGRADE SHOP[y11][f1]MODIFY NEXT GAME"
- UpgradeTimer.Set TRUE, 2000
- ' reset all base values here...
- RangeTime = 20000
- BSTime = 12000
- PhotoValue = 250: AdjPhotoValue = 250
- RangeValue = 50: AdjRangeValue = 50
- VKValue = 150: AdjVKValue = 150
- RampValue = 150: AdjRampValue = 150
- MissionHit = 250: AdjMissionHit = 250
- SnakeHit = 5: AdjSnakeHit = 5
- SRTime = 10000: AdjSRTime = 10000
- Else
- EndOfGame()
- End If
- Else
- CurrentPlayer = NextPlayer
- ResetForNewPlayerBall()
- CreateNewBall()
- End If
- End Sub
- Sub UpgradeTimer_Expired()
- UpgradeTimer.Enabled = FALSE
- Upgrade = 0: ShopActive = TRUE
- DMD.Text = "[y0][xc][f3]CASH: $ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y11][f1][b]NAVIGATE WITH FLIPPERS"
- End Sub
- Sub DelayEOB_Expired()
- DelayEOB.Enabled = FALSE
- If (IgnoreHit = FALSE) Then
- 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()
- 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[y21][f1]PRESS START", deNone, 4000, FALSE
- DMD2.QueueText "[y3][xc][f3]GAME OVER[y21][f1]PRESS START", deNone, 4000, FALSE
- Else
- DMD.QueueText "[y3][xc][f3]GAME OVER[y21][f1][b]INSERT COIN", deNone, 4000, FALSE
- DMD2.QueueText "[y3][xc][f3]GAME OVER[y21][f1]PRESS START", deNone, 4000, FALSE
- End If
- DMD2.QueueText "[f1][y2]SWAP DISPLAY NAME[y9]WITH HUD FOR CAB", deNone, 1000, TRUE
- DMD.QueueText "[f1][y1]BLADE RUNNER[f3][y7][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore1, 0, -1, 0, -1), deScrollRight, 4000, FALSE
- DMD.QueueText "[f1][y1]REPLICANT[f3][y7][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore2, 0, -1, 0, -1), deScrollLeft, 4000, FALSE
- DMD.QueueText "[f1][y1]CITIZEN[f3][y7][bf]" & left(nvHighScore1Name,3) & " - " & FormatNumber(nvHighScore3, 0, -1, 0, -1), deScrollRight, 4000, FALSE
- DMD.QueueText "[f1][y1]CREATED BY[f3][y7]SLAMT1LT", deFlip, 3000, FALSE
- DMD.QueueText "[f1][y1]OPTIMIZED FOR[f3][y7]B.A.M.", deNone, 3000, FALSE
- OverlayMovie.Frame 66: OverlayMovieHUD.Frame 66
- PlayMusic 2, "fx_OffWorld", FALSE, 1
- PlayMusic 1, "Music_Attract", TRUE, 0.6
- EndGame()
- LeftFlipper.SolenoidOff
- RightFlipper.SolenoidOff
- FF_Dev DV_RF,0 ' Turn the flipper solenoids off
- FF_Dev DV_LF,0 ' Turn the flipper solenoids off
- SetAllLightsForAttractMode()
- End Sub
- ' ***********************************************
- ' ** **
- ' ** PLUNGER LANE/BALL SAVER **
- ' ** **
- ' ***********************************************
- Sub PlungerLaneTrigger_Hit()
- bBallInPlungerLane = TRUE
- StartButtonBulb.State = BulbOn
- set LastSwitchHit = PlungerLaneTrigger
- 'FF_Sound DV_RS,-1,"fx_SlingR"
- End Sub
- Sub PlungerKicker_Hit()
- PlungerKicker.SolenoidPulse
- FF_Sound DV_RF,-1, "fx_GunShot2"
- End Sub
- Sub PlungerLaneExit_Hit()
- MovieTimer.Set TRUE, 100
- NoPlay = FALSE
- bBallInPlungerLane = FALSE
- StartButtonBulb.State = BulbOff
- If (bBallSaverActive = FALSE) Then
- ShootAgainLight.State = BulbBlink
- bBallSaverActive = TRUE
- BallSaverTimer.Set TRUE, BSTime
- ' create skill shot here...
- SSTimer.Set TRUE, 5000
- LightRampL.State = BulbBlink
- LightRampR.State = BulbBlink
- AddScore(0)
- End If
- 'FF_Sound DV_RS,-1,"fx_SlingR"
- End Sub
- Sub BallSaverTimer_Expired()
- If (ExtraBallsAwards(CurrentPlayer) = 0) Then
- ShootAgainLight.State = BulbOff
- Else
- ShootAgainLight.State = BulbOn
- End If
- BallSaverTimer.Enabled = FALSE
- bBallSaverActive = FALSE
- End Sub
- Sub SSTimer_Expired()
- SSTimer.Enabled = FALSE
- If (ModeActive = FALSE) Then
- LightRampL.State = BulbOff
- LightRampR.State = BulbOff
- End If
- 'LightRampL.State = BulbOff
- 'LightRampR.State = BulbOff
- End Sub
- Dim NoPlay,MoveIt
- ' the start of the launch ramp...
- Sub TrigLaunchRamp_Hit()
- If (LastSwitchHit.Name = "TrigLaunchRamp") Then
- If (RampDivertTimer.Enabled = TRUE) Then
- PopUp1.SolenoidPulse(4000)
- If (NoPlay = FALSE) Then NoPlay = TRUE: PlaySound "fx_7"
- MoveIt = 0: RampDivertTimer.Set TRUE, 3000
- End If
- Exit Sub
- End If
- If (NoPlay = FALSE) Then
- PlaySound "fx_HitWireRamp"
- MoveIt = 0: RampDivertTimer.Set TRUE, 3200
- PlaySound "fx_ShellCasing"
- 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_WhatHappened"
- Case 2: PlayMusic 2, "vo_Hello"
- Case 3: PlayMusic 2, "vo_LikeItHere"
- Case 4: PlayMusic 2, "vo_Problem"
- Case 5: PlayMusic 2, "vo_ChewTalk2"
- End Select
- End If
- RampDivertTimer.Set TRUE, 1000
- Case 2:
- RampDivertTimer.Enabled = FALSE
- Bulb24.FlashForMs 1200, 100, BulbOn
- PopUp1.SolenoidOff: PlaySound "fx_Punch"
- DiverterPush.SolenoidPulse(2000): PlaySound "fx_DropDownR", 0.4
- End Select
- End Sub
- Sub Trigger1_Hit()
- RampDivertTimer.Enabled = FALSE
- 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) + 1
- If (DMDBusy = FALSE) Then
- Select Case PFScore
- Case 1: DMD.Text = "[xc][y1][f6]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1): DMD2.Text = "[xc][y1][f6]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- Case 2: DMD.Text = "[y0][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y11][f1][b]DOUBLE SCORING"
- Case 3: DMD.Text = "[y0][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y11][f1][b]TRIPLE SCORING"
- Case 4: DMD.Text = "[y0][xc][f3]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1) & "[y11][f1][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
- End If
- End Sub
- ' *********************************************************************
- ' ** **
- ' ** Table Object Script Events **
- ' ** **
- ' *********************************************************************
- Sub LeftSlingshotRubber_Hit()
- AddScore(5)
- FF_Sound DV_LS,-1,"fx_SlingL" 'DOFLinx Left Slingshot
- FF_Flasher DV_FLOL,FL_FL,2,20,100,"Random" 'DOFLinx - Outer Left Flasher - Random
- PlaySound "fx_Hit4", 0.8
- LeftSlingshotBulb1.FlashForMs 210, 75, BulbOn
- LeftSlingshotBulb2.FlashForMs 210, 75, BulbOn
- End Sub
- Sub RightSlingshotRubber_Hit()
- AddScore(5)
- FF_Sound DV_RS,-1,"fx_SlingR" 'DOFLinx Right Slingshot
- FF_Flasher DV_FLOR,FL_FL,2,20,100,"Random" 'DOFLinx - Outer Right Flasher - Random
- 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"
- 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(5)
- 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 "[y0][xc][f3]NEXUS 6[y11][f1]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(5)
- 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(5)
- 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) 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
- 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(5)
- End If
- set LastSwitchHit = RightOutLaneTrigger
- End Sub
- ' MORE HUMAN THAN HUMAN. Lights Nexus 6 inserts for Ball Saver activation....
- 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 "[y0][xc][f3]NEXUS 6[y11][f1]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 500, 150, BulbOff
- LightSAVE2.FlashForMs 500, 150, BulbOff
- LightSAVE3.FlashForMs 500, 150, BulbOff
- LightSAVE4.FlashForMs 500, 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()
- 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() 'PFFlashTimer.Set TRUE, 1200
- 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
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case SebastianHit
- Case 4: PlayMusic 2, "vo_Check2"
- Case 5: PlayMusic 2, "vo_CheckMate2"
- Case 6: PlayMusic 2, "vo_BroughtFriend"
- End Select
- Else
- QuoteBusy = FALSE
- PlaySound "fx_Hit8"
- End If
- If (SebastianHit = 6) Then
- LightElevator.State = BulbOff
- LightTyrell.State = BulbOff
- LightLO3.State = BulbOff
- ModeActive = FALSE
- SebastianMode = 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()
- 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
- PlayMusic 2, "vo_TakeTests", FALSE, 1, 2000
- PlaySound "fx_ElevatorRide"
- CokeSign.UpdateInterval = 2000
- CokeSign.Frame 45, 48
- MoveToKick.Set TRUE, 6200
- PreKick.Set TRUE, 6400
- SignOffTimer.Set TRUE, 6400
- DMD.FlushQueue
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][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
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][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(3)
- Case 1: PlayMusic 2, "vo_AlterationFatal": Time = 4500
- Case 2: PlayMusic 2, "vo_CodingSeq": Time = 4000
- Case 3: PlayMusic 2, "vo_AlreadyTried": Time = 6000
- End Select
- Case 6:
- Select Case RandomNumber(3)
- Case 1: PlayMusic 2, "vo_NotToLast": Time = 3500
- Case 2: PlayMusic 2, "vo_Brightly": Time = 6000
- Case 3: PlayMusic 2, "vo_Questionable": Time = 4200
- End Select
- End Select
- Else
- PlaySound "fx_Hit8"
- End If
- MovieTimer.Set TRUE, 100
- If (TyrellHit = 6) Then
- LightElevator.State = BulbOff
- LightTyrell.State = BulbOff
- LightLO3.State = BulbOff
- ModeActive = FALSE: TyrellMode = FALSE
- 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()
- 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...
- Floor = Floor + 1
- LightTyrell.State = BulbOff
- MovieTimer.Set TRUE, 4500
- Select Case Floor
- Case 1:
- OverlayMovie.Frame 234: OverlayMovieHUD.Frame 234 ' ground to 1st floor...
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_FloorNumber", FALSE, 1, 500
- PlaySound "fx_ElevatorRide"
- CokeSign.UpdateInterval = 2000
- CokeSign.Frame 45, 48
- AddScore(150)
- Case 2:
- OverlayMovie.Frame 235: OverlayMovieHUD.Frame 235 ' 1st to 2nd floor...
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_AtThisHour", FALSE, 1, 500
- PlaySound "fx_ElevatorRide"
- CokeSign.UpdateInterval = 2000
- CokeSign.Frame 52, 55
- AddScore(250)
- Case 3:
- OverlayMovie.Frame 236: OverlayMovieHUD.Frame 236' 2nd to 3rd floor...
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_OnYourMind", FALSE, 1, 500
- PlaySound "fx_ElevatorRide"
- CokeSign.UpdateInterval = 2000
- CokeSign.Frame 55, 58
- AddScore(350)
- Case 4:
- OverlayMovie.Frame 237: OverlayMovieHUD.Frame 237 ' 3rd to 4th floor..
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_BrainStorm", FALSE, 1, 500
- PlaySound "fx_ElevatorRide"
- CokeSign.UpdateInterval = 2000
- CokeSign.Frame 58, 61
- AddScore(450)
- Case 5:
- OverlayMovie.Frame 238: OverlayMovieHUD.Frame 238 ' 4th to penthouse
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_ComeUp", FALSE, 1, 500
- PlaySound "fx_ElevatorRide"
- PlaySound "fx_Door2"
- CokeSign.UpdateInterval = 2000
- CokeSign.Frame 61, 64
- AddScore(550)
- Case 6:
- OverlayMovie.Frame 238: OverlayMovieHUD.Frame 238 ' penthouse (Extra Ball)
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_Owl", FALSE, 1, 500
- OverlayMovie.UpdateInterval = 66: OverlayMovieHUD.UpdateInterval = 66
- OverlayMovie.Frame 828, 869: OverlayMovieHUD.Frame 828, 869
- MovieTimer.Set TRUE, 2800
- PlaySound "fx_Combo2"
- CokeSign.Frame 64
- StopMusic 4
- AddScore(1500)
- DMD.Text = "[y1][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() 'PFFlashTimer.Set TRUE, 1200
- Flasher1.FlashForMs 1200, 120, BulbOff
- KickerBump.DestroyBall: DeleteTrackedBall(KickerBump)
- PlaySound "fx_PreKick2"
- IgnoreHit = TRUE
- CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
- Kicker2Timer.Set TRUE, 1000
- AddScore(5)
- 'End If
- End If
- End Sub
- Sub MoveToKick_Expired()
- MoveToKick.Enabled = FALSE
- IgnoreHit = TRUE
- KickerBump.DestroyBall: DeleteTrackedBall(KickerBump)
- CaseScoop.CreateBall: AddTrackedBall(CaseScoop)
- 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
- ' 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) Then QuoteBusy = TRUE: PlayMusic 2, "vo_BuySnakes"
- ' 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....
- DMD.QueueText "[y1][xc][f6][b]MYSTERY", deNone, 3500, 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, 3500
- Exit Sub
- End If
- If (LightMode.State = BulbBlink) Then
- 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_BRTrack1", 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(10000)
- DMD.FlushQueue
- DMD.QueueText "[y0][xc][f3][b]GAME COMPLETED[/b][y11][f1]GOOD JOB BLADE RUNNER", deNone, 4000, FALSE
- DMD.QueueText "[yc][xc][f6]$10,000", deScrollIn, 2000, FALSE
- DMD.QueueText "[y0][xc][f3]NEW GAME[y11][f1]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
- AddScore(750)
- DMD.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:
- LightCentrePurge.State = BulbBlink
- KillLeon = TRUE
- 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
- 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
- Select Case PrisHit
- Case 0,1,2,3,4: LightRep.State = BulbBlink
- Case 5: LightRampR.State = BulbBlink
- Case 6,7: LightCentrePurge.State = BulbBlink
- End Select
- PlayMusic 5, "Music_Mode", FALSE, 0.4
- OverlayMovie.UpdateInterval = 1000
- OverlayMovie.Frame 224: OverlayMovieHUD.Frame 224
- 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_BRTrack1", 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
- PlayMusic 2, "vo_StaysPut"
- PreKick.Set TRUE, 2500
- Else
- PlaySound "fx_25"
- QuoteBusy = FALSE
- PreKick.Set TRUE, 1500
- End If
- PlayMusic 5, "Music_BRTrack9", TRUE, 0.6
- OverlayMovie.Frame 221: OverlayMovieHUD.Frame 221
- Select Case SebastianHit
- Case 0,1,2:
- 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:
- 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
- FlasherM.State = BulbOff
- AllPlasOff()
- Flasher1.FlashForMs 300, 100, BulbOff
- PlaySound "fx_Buzzer", 0.8
- Kicker2Timer.Set TRUE, 500
- set LastSwitchHit = CaseScoop
- End Sub
- 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 "[y0][xc][f3]SUPER RAMPS[y11][f1]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"
- If (Purge = TRUE) Then
- Purge = FALSE
- PlaySound "fx_Whoosh"
- Else
- PlaySound "fx_GunShot3"
- FlasherL.FlashForMs 200, 200, BulbOff
- Flasher1.FlashForMs 200, 200, BulbOff
- FlasherM.FlashForMs 200, 200, BulbOff
- AllPlasOff(): PFFlashTimer.Set TRUE, 200
- LightSeqPF.Play SeqBlinking, , 1, 200
- End If
- End Sub
- 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
- Select Case RandomNumber(11)
- Case 1,10:
- OverlayMovie.Frame 219, 220, 219: OverlayMovieHUD.Frame 219, 220, 219 ' ball saver...
- DMD.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"
- 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
- DMD.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"
- 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"
- ExtraBallsAwards(CurrentPlayer) = ExtraBallsAwards(CurrentPlayer) + 1
- ShootAgainLight.State = BulbOn
- Case 6:
- If (MoveSpinner.Enabled = FALSE) Then
- DMD.FlushQueue
- 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
- 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,9:
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_NoSuchLuck", FALSE, 1, 2000
- DMD.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 2, "fx_24", 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"
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_Radical"
- SRTime = SRTime + 3000
- End Select
- End If
- End Sub
- Sub AssWin()
- Ass = Ass + 1
- PlayMusic 3, "Music_Cue3", FALSE, 0.7
- 'PlayMusic 3, "Music_Cue2", FALSE, 0.8
- AddScore(2000)
- DMD.QueueText "[y0][xc][f3][b]ASSIGNMENT[y11][f1]COMPLETED", deFlip, 1800, TRUE
- LightSeqGI.StopPlay: LightSeqPF.StopPlay
- PFFlashTimer.Enabled = FALSE
- AllPlasOff(): 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_24", 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
- 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)
- 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
- FF_Sound DV_BL,-1, "fx_Bumper"
- If (SuperPopsActive = TRUE) Then
- PlaySound "fx_BumpHit", 0.5
- AddScore(50)
- BumpHit = BumpHit + 1
- 'If (DMDBusy = FALSE) Then DMD.Text = "[y0][xc][f3]SUPER BUMPS = " & BumpHit & "[y11][f1]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- If (DMDBusy = FALSE) Then DMD.Text = "[y0][xc][f3]SUPER BUMPS = " & BumpHit & "[y11][f1]PLAYFIELD X AT 25"
- If (BumpHit = 25) Then
- BumpHit = 0
- PFScore = PFScore + 1
- PFXTimer.Set TRUE, 40000
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
- DMD.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(5)
- 'DMD.Text = "[y0][xc][f3]BUMP HIT = " & BumpHit & "[y11][f1]$ " & FormatNumber(nvScore(CurrentPlayer), 0, -1, 0, -1)
- DMD.Text = "[y0][xc][f3]BUMP HIT = " & BumpHit & "[y11][f1]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
- 'PlaySound "fx_Bumper"
- FF_Sound DV_BR,-1, "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(50)
- BumpHit = BumpHit + 1
- If (DMDBusy = FALSE) Then DMD.Text = "[y0][xc][f3]SUPER BUMPS = " & BumpHit & "[y11][f1]PLAYFIELD X AT 25"
- If (BumpHit = 25) Then
- BumpHit = 0
- PFScore = PFScore + 1
- PFXTimer.Set TRUE, 40000
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
- DMD.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(5)
- DMD.Text = "[y0][xc][f3]BUMP HIT = " & BumpHit & "[y11][f1]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
- FF_Sound DV_BC,-1, "fx_Bumper"
- '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(50)
- BumpHit = BumpHit + 1
- If (DMDBusy = FALSE) Then DMD.Text = "[y0][xc][f3]SUPER BUMPS = " & BumpHit & "[y11][f1]PLAYFIELD X AT 25"
- If (BumpHit = 25) Then
- BumpHit = 0
- PFScore = PFScore + 1
- PFXTimer.Set TRUE, 40000
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
- DMD.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(5)
- DMD.Text = "[y0][xc][f3]BUMP HIT = " & BumpHit & "[y11][f1]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
- 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(5)
- End If
- set LastSwitchHit = TgtGun1
- End Sub
- Sub TgtGun2_Hit()
- If (LightLeft2.State = BulbBlink) Then
- LightLeft2.State = BulbOn: CheckGUN()
- Else
- AddScore(5)
- End If
- set LastSwitchHit = TgtGun2
- End Sub
- Sub TgtGun3_Hit()
- If (LightLeft3.State = BulbBlink) Then
- LightLeft3.State = BulbOn: CheckGUN()
- Else
- AddScore(5)
- 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
- AddScore(50)
- LightLeft1.State = BulbBlink
- LightLeft2.State = BulbBlink
- LightLeft3.State = BulbBlink
- RangeValue = RangeValue + 20
- DMD.QueueText "[y0][xc][f3]RANGE VALUE[y11][f1]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(50)
- DMD.QueueText "[y0][xc][f3]RANGE VALUE[y11][f1]INCREASED TO " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
- Else
- If (LightRange.State = BulbOff) Then
- AddScore(45)
- 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 "[y0][xc][f3][b]SHOOT TARGETS[/b][y11][f1]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(90)
- 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 "[y0][xc][f3][b]SHOOT TARGETS[/b][y11][f1]TARGET VALUE: " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1800, TRUE
- Exit Sub
- End If
- If (LightPhoto.State = BulbOff) Then
- LightPhoto.State = BulbBlink
- PhotoMode = TRUE
- AddScore(200)
- 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 "[y0][xc][f3][b]SHOOT TARGETS[/b][y11][f1]TARGET VALUE: " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1800, TRUE
- Exit Sub
- End If
- End If
- Else
- AddScore(20)
- 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
- FF_Sound DV_LS,-1, "fx_GunShot2"
- 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(20)
- Else
- AddScore(5)
- End If
- set LastSwitchHit = TgtNew
- End Sub
- Sub TgtCase_Hit()
- PlaySound "fx_4"
- If (LightCase.State = BulbBlink) Then
- LightCase.State = BulbOn: Check3Bank()
- AddScore(20)
- Else
- AddScore(5)
- End If
- set LastSwitchHit = TgtCase
- End Sub
- Sub Check3Bank()
- If (LightNew.State=BulbOn) and (LightCase.State=BulbOn) Then
- If (ModeActive = FALSE) Then
- ' 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
- 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_24", 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
- DMD.Text = "[y0][xc][f3]NEW CASE[y11][f1][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(75)
- Else
- AddScore(50)
- MissionHit = MissionHit + 50
- DMD.QueueText "[y0][xc][f3]MISSION VALUE[y11][f1]INCREASED $" & FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1800, TRUE
- LightNew.State = BulbBlink
- LightCase.State = BulbBlink
- End If
- End If
- 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
- 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(2)
- Case 1: PlayMusic 2, "vo_LeonKillHim"
- Case 2: PlayMusic 2, "vo_Armed", FALSE, 0.8
- End Select
- End If
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y0][xc][f3]LEON READY[y11][f1][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 "[y0][xc][f3]ZHORA READY[y11][f1][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 "[y0][xc][f3]PRIS READY[y11][f1][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 "[y0][xc][f3]TYRELL READY[y11][f1][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: PlayMusic 2, "vo_HomeAgain"
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y0][xc][f3]SEBASTIAN READY[y11][f1][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 "[y0][xc][f3]CHEW READY[y11][f1][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 "[y0][xc][f3]RACHAEL READY[y11][f1][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 "[y0][xc][f3]GAFF READY[y11][f1][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 "[y0][xc][f3]LEON[y11][f1][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 "[y0][xc][f3]ZHORA[y11][f1][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 "[y0][xc][f3]PRIS[y11][f1][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 "[y0][xc][f3]TYRELL[y11][f1][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 "[y0][xc][f3]SEBASTIAN[y11][f1][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 = "[y0][xc][f3]CHEW[y11][f1][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 "[y0][xc][f3]RACHAEL[y11][f1][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 "[y0][xc][f3]GAFF[y11][f1][b]NEW ASSIGNMENT READY", deNone, 1800, TRUE
- Else
- ReSpin()
- End If
- End Select
- End Sub
- ' ********************************
- ' ** **
- ' ** ROLLOVER LANE **
- ' ** **
- ' ********************************
- Sub TrigRO1_Hit()
- 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 (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(40)
- IncrementBonusMultiplier()
- Else
- AddScore(15)
- 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
- If (ShootingMode = TRUE) Then
- FlasherL.FlashForMs 225, 75, BulbOff
- PlaySound "fx_GunShot3"
- AllPlasOff()
- PFFlashTimer.Set TRUE, 225
- AddScore(RangeValue)
- End If
- If (VKMode = TRUE) Then
- PlaySound "fx_VKMachine"
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_Iris"
- End If
- OverlayMovie.UpdateInterval = 66: OverlayMovieHUD.UpdateInterval = 66
- OverlayMovie.Frame 387, 424: OverlayMovieHUD.Frame 387, 424
- MovieTimer.Set TRUE, 2700
- AddScore(VKValue)
- End If
- If (PhotoMode = TRUE) Then
- PlaySound "fx_9"
- AddScore(PhotoValue)
- End If
- DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
- PlaySound "fx_DropDownL"
- End Sub
- Sub DT_2_Hit()
- If (ShootingMode = TRUE) Then
- FlasherL.FlashForMs 225, 75, BulbOff
- PlaySound "fx_GunShot3"
- AllPlasOff()
- PFFlashTimer.Set TRUE, 225
- AddScore(RangeValue)
- End If
- If (VKMode = TRUE) Then
- PlaySound "fx_VKHit"
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_BlushResponse"
- End If
- AddScore(VKValue)
- End If
- If (PhotoMode = TRUE) Then
- PlaySound "fx_9"
- AddScore(PhotoValue)
- End If
- DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
- PlaySound "fx_DropDownL"
- End Sub
- Sub DT_3_Hit()
- If (ShootingMode = TRUE) Then
- FlasherL.FlashForMs 225, 75, BulbOff
- PlaySound "fx_GunShot3"
- AllPlasOff()
- PFFlashTimer.Set TRUE, 225
- AddScore(RangeValue)
- End If
- If (VKMode = TRUE) Then
- PlaySound "fx_VKHit"
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_Pupil"
- End If
- AddScore(VKValue)
- End If
- If (PhotoMode = TRUE) Then
- PlaySound "fx_9"
- AddScore(PhotoValue)
- End If
- DMD.QueueText "[xc[y3][f6]HIT = $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
- PlaySound "fx_DropDownL"
- End Sub
- Sub DT_4_Hit()
- PlaySound "fx_DropDownL"
- RangeTimer.Enabled = FALSE
- 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 "[y1][xc][f6][bf]MISSION SHOT", deNone, 1800, TRUE
- FlasherL.FlashForMs 225, 75, BulbOff
- PlaySound "fx_GunShot3"
- AllPlasOff(): PFFlashTimer.Set TRUE, 225
- 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_24", 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
- FlasherL.FlashForMs 225, 75, BulbOff
- PlaySound "fx_GunShot3"
- AllPlasOff()
- PFFlashTimer.Set TRUE, 225
- ShootingMode = FALSE
- LightRange.State = BulbOn
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlayMusic 2, "vo_CompletedSeq", FALSE, 1, 500
- End If
- AddScore(RangeValue*4)
- DMD.QueueText "[xc[y3][f6][bf]END = $ " & FormatNumber(RangeValue*4, 0, -1, 0, -1), deNone, 1800, TRUE
- RangeComp = RangeComp + 1
- End If
- ' voight 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
- 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
- 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_24", 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
- Sub RingSpin_Expired()
- Spin = Spin - 1
- If (Spin =<1) Then
- RingSpin.Enabled = FALSE
- StopMusic 4: PlaySound "fx_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
- DMD.Text = "[y1][xc][f6][bf]MONEY AWARD"
- Select Case RandomNumber(8)
- Case 1: LightRing1.FlashForMs 500, 100, BulbOn: AddScore(200): JPValue = JPValue + 200
- Case 2: LightRing2.FlashForMs 500, 100, BulbOn: AddScore(300): JPValue = JPValue + 300
- Case 3: LightRing3.FlashForMs 500, 100, BulbOn: AddScore(400): JPValue = JPValue + 400
- Case 4: LightRing4.FlashForMs 500, 100, BulbOn: AddScore(500): JPValue = JPValue + 500
- Case 5: LightRing5.FlashForMs 500, 100, BulbOn: AddScore(600): JPValue = JPValue + 600
- Case 6: LightRing6.FlashForMs 500, 100, BulbOn: AddScore(700): JPValue = JPValue + 700
- Case 7: LightRing7.FlashForMs 500, 100, BulbOn: AddScore(800): JPValue = JPValue + 800
- Case 8: LightRing8.FlashForMs 500, 100, BulbOn: AddScore(100): JPValue = JPValue + 100
- End Select
- End If
- End Sub
- Sub TgtLane_Hit()
- If (RachaelMode = TRUE) Then
- RachaelHit = RachaelHit + 1: MissionHit = MissionHit + 250
- AddScore(MissionHit)
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- PlaySound "fx_VKHit"
- 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: PlayMusic 2, "vo_Lesbian2"
- Case 6:
- Select Case RandomNumber(3)
- Case 1: PlayMusic 2, "vo_ShesReplicant2"
- Case 2: PlayMusic 2, "vo_NotKnow"
- Case 3: PlayMusic 2, "vo_Experiment"
- End Select
- End Select
- Else
- PlaySound "fx_VKMachine"
- End If
- Select Case RachaelHit
- Case 1:
- OverlayMovie.UpdateInterval = 66: OverlayMovieHUD.UpdateInterval = 66
- OverlayMovie.Frame 387, 424: OverlayMovieHUD.Frame 387, 424
- MovieTimer.Set TRUE, 2700
- Case 2: OverlayMovie.Frame 331: OverlayMovieHUD.Frame 331
- Case 3: OverlayMovie.Frame 332: OverlayMovieHUD.Frame 332
- Case 4: 'OverlayMovie.Frame 332: OverlayMovieHUD.Frame 332
- Case 5:
- OverlayMovie.UpdateInterval = 66: OverlayMovieHUD.UpdateInterval = 66
- OverlayMovie.Frame 425, 455: OverlayMovieHUD.Frame 425, 455
- MovieTimer.Set TRUE, 2000
- Case 6:
- DT_1.SolenoidPulse: DTBlock.Collidable = TRUE: DTTimer.Set TRUE, 3000
- LightDT.State = BulbOff
- LightVK.State = BulbOff
- ModeActive = FALSE: RachaelMode = FALSE
- 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()
- End Select
- Exit Sub
- End If
- If (ZhoraMode = TRUE) 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
- Else
- PlaySound "fx_9", 0.8
- End If
- AddScore(MissionHit)
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- MovieTimer.Set TRUE, 100
- If (ZhoraHit = 6) Then
- 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
- If (RachaelMode = TRUE) Then
- VK = VK + 1
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- PlaySound "fx_VKHit"
- FlasherL.FlashForMs 200, 200, BulbOff
- AllPlasOff(): 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
- AllPlasOff(): PFFlashTimer.Set TRUE, 200
- AddScore(5)
- If (LightRange.State = BulbOff) Then
- RangeValue = RangeValue + 5
- DMD.QueueText "[y0][xc][f3]+ RANGE VALUE[y11][f1]RANGE TARGET VALUE: $ " & FormatNumber(RangeValue, 0, -1, 0, -1), deNone, 1500, TRUE
- Else
- If (LightVK.State = BulbOff) Then
- VKValue = VKValue + 10
- DMD.QueueText "[y0][xc][f3]+ VK VALUE[y11][f1]VK TARGET VALUE: $ " & FormatNumber(VKValue, 0, -1, 0, -1), deNone, 1500, TRUE
- Else
- If (LightPhoto.State = BulbOff) Then
- PhotoValue = PhotoValue + 10
- DMD.QueueText "[y0][xc][f3]+ PHOTO VALUE[y11][f1]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
- 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: 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: 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
- 'If (ShootingMode=FALSE) and (VKMode=FALSE) and (PhotoMode=FALSE) Then OverlayMovie.Frame 789: OverlayMovieHUD.Frame 789: Exit Sub
- 'If (LightMode.State = BulbOff) Then OverlayMovie.Frame 788: OverlayMovieHUD.Frame 788: Exit Sub
- Select Case RandomNumber(4)
- Case 1,4: OverlayMovie.Frame 208: OverlayMovieHUD.Frame 208
- Case 2: OverlayMovie.Frame 870: OverlayMovieHUD.Frame 870
- Case 3: OverlayMovie.Frame 871: OverlayMovieHUD.Frame 871
- End Select
- End Sub
- ' ****************************
- ' ** **
- ' ** LEFT RAMP **
- ' ** **
- ' ****************************
- Dim BattyShot
- Sub TrigLeftRamp_Hit()
- 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
- DMD.Text = "[y1][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
- 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(): PFFlashTimer.Set TRUE, 3000
- AddScore(RampValue)
- End If
- Exit Sub
- End If
- If (SSTimer.Enabled = TRUE) Then
- SSTimer.Enabled = FALSE
- LightRampL.State = BulbOff
- LightRampR.State = BulbOff
- 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(): PFFlashTimer.Set TRUE, 3000
- AddScore(RampValue)
- DMD.QueueText "[xc[y3][f6][bf]SKILL SHOT $ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1000, FALSE
- DMD.QueueText "[xc[y3][f6]SUPER RAMP $ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
- Else
- PlaySound "fx_PoliceSiren"
- FlashPoliceL.FlashForMs 500, 100, BulbOff
- FlashPoliceR.FlashForMs 500, 100, BulbOff
- FlasherPolice1.FlashForMs 500, 100, BulbOff
- FlasherPolice2.FlashForMs 500, 100, BulbOff
- AllPlasOff(): PFFlashTimer.Set TRUE, 500
- DMD.QueueText "[xc[y3][f6][bf]SKILL SHOT $ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1800, TRUE
- End If
- SSValue = SSValue + 150: BSTime = BSTime + 1
- AddScore(SSValue)
- 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.Set TRUE, 100
- 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
- PlayMusic 5, "Music_BRTrack8", TRUE, 0.6, 8000
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][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(): PFFlashTimer.Set TRUE, 3000
- 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_Where"
- Case 6: PlayMusic 2, "vo_BradburyHotel"
- End Select
- End If
- LightRampL.State = BulbOff
- LightRampR.State = BulbBlink
- AddScore(MissionHit)
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][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(): PFFlashTimer.Set TRUE, 3000
- 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
- PlaySound "fx_SuperRamp"
- FlashPoliceL.Set BulbBlink, "101000", 100
- FlashPoliceR.Set BulbBlink, "000101", 100
- FlasherPolice1.Set BulbBlink, "101000", 100
- FlasherPolice2.Set BulbBlink, "000101", 100
- AllPlasOff(): PFFlashTimer.Set TRUE, 3000
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 107, 146: OverlayMovieHUD.Frame 107, 146
- MovieTimer.Set TRUE, 3500
- SuperSpin = SuperSpin + 1
- Select Case SuperSpin
- Case 1,2,3,4:
- AddScore(RampValue)
- DMD.QueueText "[xc[y3][f6]SUPER RAMP $ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
- Case 5:
- RampValue = RampValue + 1500
- AddScore(RampValue)
- DMD.QueueText "[y0][xc][f3]LANDING BONUS[y11][f1][b]" & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1500, TRUE
- SuperSpin = 0
- End Select
- Else
- ' normal OOM shots..
- BulbSpinner3.State = BulbOn: FlasherSpin.State = BulbOn
- AllPlasOff()
- LightSeqPF.Play SeqDownOn, 30, 1
- 'OverlayMovie.UpdateInterval = 100: OverlayMovieHUD.UpdateInterval = 100
- 'OverlayMovie.Frame 877,878,877: OverlayMovieHUD.Frame 877,878,877: MovieTimer.Set TRUE, 2000
- PlaySound "fx_RampHit"
- QuoteBusy = FALSE
- AddScore(50)
- End If
- End Sub
- ' used for COMBO shots...
- Sub Congrats()
- Combo = Combo + 1
- ComboVal = 500*Combo
- AddScore(ComboVal)
- 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
- OverlayMovie.UpdateInterval = 200: OverlayMovieHUD.UpdateInterval = 200
- Select Case Combo
- Case 1: OverlayMovie.Frame 819, 820, 819: OverlayMovieHUD.Frame 819, 820, 819: PlaySound "fx_Combo"
- Case 2: OverlayMovie.Frame 824, 825, 824: OverlayMovieHUD.Frame 824, 825, 824: PlaySound "fx_Combo2"
- Case 3: OverlayMovie.Frame 826, 827, 826: OverlayMovieHUD.Frame 826, 827, 826: PlaySound "fx_Combo3"
- End Select
- MovieTimer.Set TRUE, 2000
- LightSeqGI.StopPlay
- AllPlasOff(): PFFlashTimer.Set TRUE, 1000
- FlasherL.FlashForMs 1000, 100, BulbOff
- FlasherM.FlashForMs 1000, 100, BulbOff
- Flasher1.FlashForMs 1000, 100, BulbOff
- If (ModeActive = TRUE) Then
- EffectMusic 5, FadeOutAndPause, 0, 10
- Else
- If (BR2049 = TRUE) Then
- BR2049 = FALSE
- StopMusic 5
- Else
- EffectMusic 1, FadeOutAndPause, 0, 10
- End If
- End If
- MusicResume.Set TRUE, 2200
- If (QuoteBusy = FALSE) and (ModeActive = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(4)
- Case 1: PlayMusic 2, "vo_HesGood", FALSE, 1, 500
- Case 2: PlayMusic 2, "vo_Genius", FALSE, 1, 500
- 'Case 3: PlayMusic 2, "vo_Speciality", FALSE, 1, 500
- Case 3: PlayMusic 2, "vo_Ambitious", FALSE, 1, 500
- 'Case 5: PlayMusic 2, "vo_Prize", FALSE, 1, 500
- Case 4: PlayMusic 2, "vo_Perfect", FALSE, 1, 500
- End Select
- End If
- End Sub
- 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
- 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 (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
- DMD.Text = "[y1][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
- 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(): PFFlashTimer.Set TRUE, 3000
- AddScore(RampValue)
- End If
- Exit Sub
- End If
- If (SSTimer.Enabled = TRUE) Then
- SSTimer.Enabled = FALSE
- LightRampL.State = BulbOff
- LightRampR.State = BulbOff
- 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(): PFFlashTimer.Set TRUE, 3000
- AddScore(RampValue)
- DMD.QueueText "[xc[y3][f6][bf]SKILL SHOT $ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1000, FALSE
- DMD.QueueText "[xc[y3][f6]SUPER RAMP $ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1000, TRUE
- Else
- PlaySound "fx_PoliceSiren"
- FlashPoliceL.FlashForMs 500, 100, BulbOff
- FlashPoliceR.FlashForMs 500, 100, BulbOff
- FlasherPolice1.FlashForMs 500, 100, BulbOff
- FlasherPolice2.FlashForMs 500, 100, BulbOff
- AllPlasOff(): PFFlashTimer.Set TRUE, 500
- DMD.QueueText "[xc[y3][f6][bf]SKILL SHOT $ " & FormatNumber(SSValue, 0, -1, 0, -1), deNone, 1800, TRUE
- End If
- SSValue = SSValue + 150: BSTime = BSTime + 1
- AddScore(SSValue)
- 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 "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][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
- 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(): PFFlashTimer.Set TRUE, 3000
- 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_Where"
- Case 6: PlayMusic 2, "vo_BradburyHotel"
- 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(): PFFlashTimer.Set TRUE, 3000
- AddScore(RampValue)
- End If
- LightRampR.State = BulbOff
- LightRampL.State = BulbBlink
- AddScore(MissionHit)
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][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
- PlaySound "fx_SuperRamp"
- FlashPoliceL.Set BulbBlink, "101000", 100
- FlashPoliceR.Set BulbBlink, "000101", 100
- FlasherPolice1.Set BulbBlink, "101000", 100
- FlasherPolice2.Set BulbBlink, "000101", 100
- AllPlasOff(): PFFlashTimer.Set TRUE, 3000
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 107, 146: OverlayMovieHUD.Frame 107, 146
- MovieTimer.Set TRUE, 3500
- SuperSpin = SuperSpin + 1
- Select Case SuperSpin
- Case 1,2,3,4:
- AddScore(RampValue)
- DMD.QueueText "[xc[y3][f6]SUPER RAMP $ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
- Case 5:
- RampValue = RampValue + 1500
- AddScore(RampValue)
- PlaySound "fx_SpinnerFlyBy4", 0.6
- DMD.QueueText "[y0][xc][f3]LANDING BONUS[y11][f1][b]" & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 2000, TRUE
- SuperSpin = 0
- End Select
- 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.
- 'OverlayMovie.Frame 233: OverlayMovieHUD.Frame 233: MovieTimer.Set TRUE, 2000
- RampScore = RampScore + 25
- AddScore(RampScore)
- DMD.QueueText "[xc[y3][f6]RAMP $ " & FormatNumber(RampScore, 0, -1, 0, -1), deNone, 1500, TRUE
- 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_SpotThem": 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 4: PlayMusic 2, "vo_CopyHumans": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
- Case 5: PlayMusic 2, "vo_FailSafe": OverlayMovie.Frame 885: OverlayMovieHUD.Frame 885: MovieTimer.Set TRUE, 2000
- Case 6: PlayMusic 2, "vo_Risk"
- Case 7: PlayMusic 2, "vo_Want"
- Case 8: PlayMusic 2, "vo_Benefit"
- Case 9: PlayMusic 2, "vo_NotMyProblem"
- Case 10: PlayMusic 2, "vo_Mistake"
- Case 11: PlayMusic 2, "vo_ThinkReplicant"
- Case 12: PlayMusic 2, "vo_Implants"
- Case 13: PlayMusic 2, "vo_Files"
- RampHit = 0
- End Select
- Else
- If (RampHit = 8) Then RampHit = 0 ' repeat for now...
- AllPlasOff(): PFFlashTimer.Set TRUE, 1000
- Flasher1.FlashForMs 1000, 1000, BulbOff
- QuoteBusy = FALSE
- 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"
- Else
- 'PlaySound "fx_Fizz"
- LightBlade.FlashForMs 400, 200, BulbOn
- AddScore(5)
- 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"
- Else
- 'PlaySound "fx_Fizz"
- LightRunner.FlashForMs 400, 200, BulbOn
- AddScore(5)
- End If
- set LastSwitchHit = TgtRunner
- End Sub
- Sub CheckBLADERUNNER()
- If (LightRunner.State=BulbOn) and (LightBlade.State=BulbOn) Then
- LightCentre.State = BulbBlink
- 'If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_BladeRunner"
- AddScore(75)
- Else
- AddScore(25)
- End If
- End Sub
- Sub TgtCentre_Hit()
- If (SSTimer.Enabled = TRUE) Then
- SSTimer.Set TRUE, 100
- End If
- If (LightCentrePurge.State = BulbBlink) Then ' any MISSION shot...the KILL SHOT for Leon and Zhora...
- If (BattyMode = TRUE) Then
- PlaySound "fx_GunShotKill": AddScore(1000)
- FlasherM.FlashForMs 400, 400, BulbOff
- AllPlasOff(): 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
- DMD.QueueText "[y1][xc][f6][bf]MISSION SHOT", deNone, 1500, 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(4)
- Case 1: PlayMusic 2, "vo_MyBirthday"
- Case 2: PlayMusic 2, "vo_WakeUp"
- Case 3: PlayMusic 2, "vo_Itch"
- Case 4: PlayMusic 2, "vo_LiveInFear"
- End Select
- Else
- FlasherM.FlashForMs 600, 600, BulbOff
- PlaySound "fx_GunShot2"
- End If
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- Case 7:
- FlasherM.FlashForMs 800, 800, BulbOff
- AllPlasOff(): PFFlashTimer.Set TRUE, 800
- LightSeqPF.UpdateInterval = 5: LightSeqPF.Play SeqCircleOutOn, 25, 1
- PlaySound "fx_GunShotKill"
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 634, 667: OverlayMovieHUD.Frame 634, 667
- MovieTimer.Set TRUE, 3500
- 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
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][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: PlayMusic 2, "vo_Query"
- 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
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- Select Case ZhoraHit
- Case 7:
- PlaySound "fx_GunShot2": AddScore(110)
- FlasherM.FlashForMs 400, 400, BulbOff
- AllPlasOff(): PFFlashTimer.Set TRUE, 400
- Case 8:
- FlasherM.FlashForMs 800, 800, BulbOff
- AllPlasOff(): PFFlashTimer.Set TRUE, 800
- LightSeqPF.UpdateInterval = 5: LightSeqPF.Play SeqDownOn, 25, 1
- PlaySound "fx_GunShotKill3"
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 600, 633: OverlayMovieHUD.Frame 600, 633
- MovieTimer.Set TRUE, 3500
- ModeActive = FALSE: ZhoraMode = FALSE
- LightZhoraMain.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
- Exit Sub
- End If
- ' kill Pris...
- If (PrisMode = TRUE) Then
- PrisHit = PrisHit + 1: MissionHit = MissionHit + 500
- AddScore(MissionHit)
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- Select Case PrisHit
- Case 7:
- PlaySound "fx_GunShot2": AddScore(110)
- FlasherM.FlashForMs 400, 400, BulbOff
- AllPlasOff(): PFFlashTimer.Set TRUE, 400
- Case 8:
- FlasherM.FlashForMs 800, 800, BulbOff
- AllPlasOff(): PFFlashTimer.Set TRUE, 800
- LightSeqPF.UpdateInterval = 5: LightSeqPF.Play SeqDownOn, 25, 1
- PlaySound "fx_GunShotKill2"
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 668, 695: OverlayMovieHUD.Frame 668, 695
- MovieTimer.Set TRUE, 3500
- 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(75)
- If (SuperRamps = TRUE) Then
- 'SRTime = SRTime + 10
- DMD.QueueText "[y0][xc][f3]TIME EXTENDED[y11][f1][bf]SUPER RAMP TIME = " & SRTime, deNone, 1500, TRUE
- FlasherM.FlashForMs 300, 100, BulbOff
- 'LightBlade.State = BulbBlink
- 'LightRunner.State = BulbBlink
- 'PlaySound "fx_DoopOpen"
- PlaySound "fx_BumpHit"
- LightSeqPF.Play SeqBlinking, , 1, 200
- Exit Sub
- End If
- If (QuoteBusy = FALSE) Then
- PlaySound "fx_DoorOpen"
- 'PlayMusic 2, "vo_YouBladeRunner"
- Else
- PlaySound "fx_Hit1"
- End If
- TakeOffTimer.Set TRUE, 5600
- If (BattyMode = FALSE) Then PlayMusic 6, "fx_Alarm3"
- MagnetActive = TRUE
- FlasherM.FlashForMs 500, 100, BulbOff
- LightPurge1.State = BulbBlink
- LightPurge2.State = BulbBlink
- Else
- 'FlasherM.FlashForMs 250, 250, BulbOff
- 'PlaySound "fx_Fizz"
- LightCentre.FlashForMs 300, 150, BulbOff
- AddScore(5)
- End If
- set LastSwitchHit = TgtCentre
- End Sub
- Sub TakeOffTimer_Expired()
- TakeOffTimer.Enabled = FALSE
- PlaySound "fx_Buzzer"
- FlasherM.FlashForMs 210, 75, BulbOff
- AllPlasOff(): 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 = "[y1][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 "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- If (QuoteBusy = FALSE) Then
- 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(): 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
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- Select Case GaffHit
- Case 1:
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_GaffTalk": MovieTimer.Set TRUE, 100
- Case 2:
- If (QuoteBusy = FALSE) Then PlayMusic 2, "vo_YouBladeRunner": MovieTimer.Set TRUE, 100
- Case 3:
- PlayMusic 4, "vo_PoliceRadio"
- OverlayMovie.UpdateInterval = 64: OverlayMovieHUD.UpdateInterval = 64
- OverlayMovie.Frame 252, 330: OverlayMovieHUD.Frame 252, 330
- MovieTimer.Set TRUE, 5000
- PlaySound "fx_SpinnerFlyBy"
- Case 4:
- PlayMusic 4, "vo_PoliceRadio"
- OverlayMovie.UpdateInterval = 66: OverlayMovieHUD.UpdateInterval = 66
- OverlayMovie.Frame 457, 487: OverlayMovieHUD.Frame 457, 487
- MovieTimer.Set TRUE, 1800
- Case 5:
- PlaySound "fx_SpinnerFlyBy4", 0.6
- OverlayMovie.UpdateInterval = 66: OverlayMovieHUD.UpdateInterval = 66
- OverlayMovie.Frame 488, 551: OverlayMovieHUD.Frame 488, 551
- MovieTimer.Set TRUE, 4000
- Case 6:
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_MansJob2"
- 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(): PFFlashTimer.Set TRUE, 400
- FlasherM.FlashForMs 400, 100, BulbOff
- PlaySound "fx_SpinnerFlyBy3"
- LightTyrell.State = BulbOn
- 'PlaySound "fx_Whoosh2"
- OverlayMovie.UpdateInterval = 100: OverlayMovieHUD.UpdateInterval = 100
- OverlayMovie.Frame 877,878,877: OverlayMovieHUD.Frame 877,878,877: MovieTimer.Set TRUE, 1000
- AddScore(10)
- RampValue = RampValue + 25
- DMD.QueueText "[y0][xc][f3]+ SUPER VALUE[y11][f1]SUPER RAMP VALUE: $ " & FormatNumber(RampValue, 0, -1, 0, -1), deNone, 1800, TRUE
- End Sub
- Sub KickerLane_Hit()
- 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, 5000
- 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 (LastSwitchHit.Name = "TrigLO") Then Exit Sub
- 'PlaySound "fx_Whoosh"
- PlaySound "fx_17"
- If (BattyMode = TRUE) and (LightLO3.State = BulbBlink) Then
- PlaySound "fx_Hit8"
- DT_4.SolenoidPulse
- 'DT_2.SolenoidPulse
- 'DT_3.SolenoidPulse
- '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 = "[y1][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) Then ' priority, allow the ball to reach the bumpers....
- PlayMusic 4, "fx_BackGround2", FALSE, 0.6
- 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(10)
- 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
- Case 4: PlayMusic 4, "fx_Background5", FALSE, 0.4: AtariSignOn()
- Case 5: PlayMusic 4, "fx_Background7", FALSE, 0.6
- Case 6: PlayMusic 4, "fx_Background8", FALSE, 0.5
- OverlayMovie.UpdateInterval = 66: OverlayMovieHUD.UpdateInterval = 66
- OverlayMovie.Frame 790, 818: OverlayMovieHUD.Frame 790, 818
- MovieTimer.Set TRUE, 1800
- Case 7:
- If (QuoteBusy = FALSE) Then
- PlayMusic 4, "vo_SectorClosed", FALSE, 0.6
- AllPlasOff(): PFFlashTimer.Set TRUE, 2000
- FlasherPolice1.Set BulbBlink, "101000", 50
- FlasherPolice2.Set BulbBlink, "000101", 50
- PoliceFlashOff.Set TRUE, 2000
- End If
- ' static forward facing spinner...
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 147, 205: OverlayMovieHUD.Frame 147, 205
- MovieTimer.Set TRUE, 4000
- Case 8:
- If (QuoteBusy = FALSE) Then
- PlayMusic 4, "vo_SectorClosed2", FALSE, 0.6
- AllPlasOff(): PFFlashTimer.Set TRUE, 2000
- FlasherPolice1.Set BulbBlink, "101000", 50
- FlasherPolice2.Set BulbBlink, "000101", 50
- PoliceFlashOff.Set TRUE, 2000
- End If
- ' static forward facing spinner...
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 147, 205: OverlayMovieHUD.Frame 147, 205
- MovieTimer.Set TRUE, 4000
- Case 9,10:
- PlayMusic 4, "fx_OffWorld2", FALSE, 0.5: OffWorldSign()
- ' blimp
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 696, 734: OverlayMovieHUD.Frame 696, 734
- MovieTimer.Set TRUE, 3000
- End Select
- End If
- End If
- set LastSwitchHit = TrigLO
- 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
- 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
- DMD.Text = "[y1][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 (PrisMode = TRUE) Then
- PrisHit = PrisHit + 1: MissionHit = MissionHit + 250
- AddScore(MissionHit)
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][xc][f6][bf]$ "& FormatNumber(MissionHit, 0, -1, 0, -1), deNone, 1000, TRUE
- PlaySound "fx_Hit8"
- 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:
- 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"
- LeonHit = LeonHit + 1: MissionHit = MissionHit + 250
- MovieTimer.Set TRUE, 100
- AddScore(MissionHit)
- DMD.FlushQueue
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1800
- DMD.QueueText "[y1][xc][f6]MISSION SHOT", deNone, 800, FALSE
- DMD.QueueText "[y1][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
- 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
- LightSnakePit2.State = BulbOff
- LightSnakePit.FlashForMs 500, 100, BulbOn
- SnakeHit = AdjSnakeHit
- PlaySound "fx_Phone3"
- If (QuoteBusy = FALSE) Then
- QuoteBusy = TRUE
- Select Case RandomNumber(2)
- Case 1:
- PlayMusic 2, "vo_TheSnake"
- If (ModeActive = FALSE) Then EffectMusic 1, FadeOutAndPause, 0, 100: MusicResume.Set TRUE, 3000
- Case 2: PlayMusic 2, "vo_Licenses"
- End Select
- End If
- Exit Sub
- End If
- If (LightSnakePit2.State = BulbOn) Then
- SnakeHit = SnakeHit - 1: AddScore(20)
- If (SnakeHit = 0) Then
- LightSnakePit2.State = BulbBlink
- DMDBusy = TRUE: DMDTimer.Set TRUE, 1500
- DMD.QueueText "[y0][xc][f3][b]SNAKE PIT MYSTERY[y11][f1]IS READY", deNone, 1500, TRUE
- Else
- DMD.QueueText "[y0][xc][f3]SNAKE PIT MYSTERY[y11][f1]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
- OverlayMovie.UpdateInterval = 68: OverlayMovieHUD.UpdateInterval = 68
- OverlayMovie.Frame 735, 787: OverlayMovieHUD.Frame 735, 787
- MovieTimer.Set TRUE, 4300
- 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"
- 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()
- 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.80
- End Sub
- 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()
- PFFlashTimer.Enabled = FALSE
- AllPlasOn()
- 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 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()
- AddScore(0)
- End Sub
- Dim DMDBusy,RampR,RampL
- Sub DMDTimer_Expired()
- DMDTimer.Enabled = FALSE
- DMDBusy = FALSE
- 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
- 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
- SaveMeTimer.Set TRUE, 2000
- End If
- End Sub
- 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)
- Sub MoveSpinner_Expired()
- 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
- OverlayMovie.UpdateInterval = 70: OverlayMovieHUD.UpdateInterval = 70
- OverlayMovie.Frame 333, 386: OverlayMovieHUD.Frame 333, 386
- MovieTimer.Set TRUE, 4500
- Select Case RandomNumber(2)
- Case 1:
- CokeSign.UpdateInterval = 600
- CokeSign.Frame 33, 44
- Call MiniPlayField_0.MoveTo(111, 180, 90, 0, 0, 20, 1.3, 2.5)
- PlayMusic 2, "vo_SpinnerChatter": PlaySound "fx_AlarmShort": MoveSpinner.Set TRUE, 2500
- Case 2:
- CokeSign.UpdateInterval = 600
- CokeSign.Frame 33, 44
- Call MiniPlayField_0.MoveTo(111, 180, 90, 0, 0, 20, 1.3, 2.5)
- PlaySound "fx_SpinnerTakeOff"
- PlayMusic 2, "vo_Purge2": MoveSpinner.Set TRUE, 2500
- End Select
- DMD.QueueText "[yc][xc][f5]SPINNER LAUNCH", deNone, 2500, FALSE
- DMD.QueueText "[yc][xc][f5][b]P U R G E", deNone, 2000, TRUE
- Case 2:
- If (ModeActive = FALSE) Then
- BR2049 = TRUE
- EffectMusic 1, FadeOutAndPause, 0, 1800
- PlayMusic 5, "Music_SR", FALSE, 0.4, 1500
- 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
- OverlayMovie.UpdateInterval = 66: OverlayMovieHUD.UpdateInterval = 66
- OverlayMovie.Frame 457, 487: OverlayMovieHUD.Frame 457, 487
- MovieTimer.Set TRUE, 1800
- 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:
- 'Call MiniPlayField_0.MoveTo(370, 975, 60, 0, 0, 100, 1.3, 3.5)
- MoveSpinner.Set TRUE, SRTime
- Case 6:
- If (QuoteBusy = 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:
- PlaySound "fx_SpinnerTakeOff"
- Call MiniPlayField_0.MoveTo(116, 965, 65, 0, 0, 180, 1.3, 3): MoveSpinner.Set TRUE, 3000
- Case 8:
- If (QuoteBusy = FALSE) Then QuoteBusy = TRUE: PlayMusic 2, "vo_FinalApproach", FALSE, 0.7
- AllPlasOff()
- OverlayMovie.UpdateInterval = 64: OverlayMovieHUD.UpdateInterval = 64
- OverlayMovie.Frame 252, 330: OverlayMovieHUD.Frame 252, 330
- FlasherSpin.State = BulbOn
- MovieTimer.Set TRUE, 5000
- 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 (ModeActive = FALSE) and (BR2049 = TRUE) Then
- EffectMusic 5, FadeOutAndStop, 0, 1000
- EffectMusic 1, PlayAndFadeIn, 0.6, 1000
- End If
- 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
- Sub Trigger5_Hit()
- PlaySound "fx_HitWireRamp", 0.8
- End Sub
- Dim TestSpin,BR2049
Advertisement
Add Comment
Please, Sign In to add comment