the cutting room mirror

Scripts

This article has a talk page!
view on tcrf.net

This is a sub-page of Proto:Fallout: New Vegas/November 17, 2009.

A large number of scripts have been recovered from this dump which are either absent or altered when compared with the final build.

Ain't That A Kick In The Head

VCG01ChairJumpTriggerSCRIPT#

At some point the player needed to jump on a chair:

ScriptName VCG01ChairJumpTriggerSCRIPT
Begin OnTriggerEnter
  If doOnce == 0 && GetObjectiveDisplayed VCG01 20
    If IsActionRef player == 1
      SetStage CGTutorial 18
      Set doOnce to 1
    EndIf
  EndIf
End

VCG01BrahminSkullSCRIPT#

This handles grabbing the Brahmin skull, the voice line can be found in the February 16th build.

ScriptName VCG01BrahminSkullSCRIPT
Begin GameMode
  If runTimer == 1
    If timer > 0
      Set timer to timer - GetSecondsPassed
    Else
      If grabbed == 1
        Set grabbed to 2
        SetStage CGTutorial 22
        SetObjectiveCompleted VCG01 20 1
        If DocMitchellREF.IsTalking
          Set SayLater to 1
        Else
          DocMitchellREF.Say VCG01BrahminResponse 1
        EndIf
      ElseIf released == 1
        Set released to 2
        SetStage CGTutorial 24
      EndIf
    EndIf
  EndIf
  If SayLater == 1
    If DocMitchellREF.IsTalking == 0
      DocMitchellREF.Say VCG01BrahminResponse 1
      Set SayLater to 2
    EndIf
  EndIf
End
Begin OnActivate
End
Begin OnGrab
  If grabbed == 0
    Set grabbed to 1
    Set runTimer to 1
    Set timer to 1
  EndIf
End
Begin OnRelease
  If released == 0
    Set released to 1
    Set runTimer to 1
    Set timer to 1
  EndIf
End

VCG01TestScript#

A semi interesting excerpt from the VCG01TestScript, it reveals the Big Guns starter weapon was a Single Shotgun:

If nBigGuns > nMaxValue && IsPlayerTagSkill BigGuns == 0
        Set nMaxValue to nBigGuns
        Set nTopOverall to 2
      EndIf

Ammo For The Scorpions

VDialogueVegasWestScript#

Interesting variables from the VDialogueVegasWestScript, they are related to the cut shootout that would occur after the Scorpions had secured their ammo:

ScriptName VDialogueVegasWestScript

bFiendsGoHostile
nFiendsDeadCount
bScorpionsHelped

Biggs & Harcourt

VFreeformFoxtrot#

An otherwise unused script that contains a conversation variable for Biggs:

VFreeformRSFoxtrotScript

bBiggsMentionedHarcourt

End

Boulder City Showdown

BCConfrontPlayerTriggerScript#

Causes the Great Khan guard to forcegreet the player once they wander too close to where the hostages are being stored:

ScriptName BCConfrontPlayerTriggerScript
Begin OnTriggerEnter player
  BCGreatKhanAAMRef.StartConversation player
End

BCHostageDoorScript#

Handles Great Khan hostility in the event the hostage door is tampered with:

ScriptName BCHostageDoorScript
Begin OnActivate
  Activate
  If IsActionRef player
    If DoOnce == 0 && VMS20.Negotiator
      Set DoOnce to 1
      SetObjectiveDisplayed VMS20 10 0
      SetObjectiveDisplayed VMS20 60 0
      SetObjectiveDisplayed VMS20 80 0
      SetObjectiveDisplayed VMS20 50 1
      SetEnemy BoulderCityGreatKhanFaction PlayerFaction
    EndIf
  EndIf
End

BCTresspassTriggerScript#

Causes Hastings to start combat with the player once the pass into the restricted area:

ScriptName BCTresspassTriggerScript
Begin OnTriggerEnter player
  If DoOnce == 0 && VMS20.Recon == 0 && VMS20.Negotiator == 0
    BCPrivateHastingsRef.StartCombat player
    Set DoOnce to 1
  EndIf
End

Freeside Encounters

VFSRandomEncounterScript#

In the final game VFSRandomEncounterScript is an empty stub with no content. In this early version of the game it's packed with cut ideas. It exposes the purpose of the random markers (e.g. VFSRandom10aSP1) in the otherwise unused area Orris leads the player through. These markers would spawn different groups of random enemies when the player walked through sets of triggers. During the day these would be gamblers heading to the Atomic Wrangler and random locals leaving town. At night things would really come alive with many combinations of large groups of thugs attacking squatters, gamblers (with and without bodyguards) and of course the player. The end result would have been a much more dangerous location where the bodyguards would have made a lot more sense for the player to consider hiring. Script comments also list even more ambitious events that were not implemented:

; Spawn random encounters - Some of these shouldn't happen if you have a
    ; bodyguard with you
    
    ; Ideas
    ; - Beggar
    ; - Drunk
    ; - Cracked out drug addict
    ; - Kid looking for dog
    ; - Gambling yahoos
    ; - King on Thug violence
    ; - Van Graff beat down
    ; - 3 Thugs
    ; - 2 Thugs
    ; - 4 Thugs
    ; - Thug on Gambler violence (thugs win)
    ; - Thug on Gambler + Bodyguard violence (thugs lose)
    ; - Rats
    ; - Radroaches
    ; - Locals - Head to one of the gates (or the Wrangler) and despawn
    ; - Squatter - Head to one of the gates and despawn

Hidden Valley VR Simulation

A large number of scripts have been recovered from this cut activity, which give more insight on its function and purpose within the game.

HVSimMasterScript#

A long and lengthy script, this text gives us a clear insight into how the simulation would have functioned.

scn HVSimMasterScript

int DoExplosionOnce
int DoArmoryOnce
float Timer
int SpeakFlag                           ; Determines if a Brother says a bark
int Wave                                    ; Represents how many enemies spawn at a time
int SpawnCounter                        ; Keeps track of how many spawns we do
int batchcounter                        ; How many groups of enemies have spawned
int numspawns                           ; Number of total spawned
int allyspawns                          ; Number of paladins currently spawned, max 2
int KillsCount                          ; 0 = Kills don't count, 1 = Kills count

ref SpawnPoint1                     ; Set in HVSimEnterScript
ref SpawnPoint2                     ; Set in HVSimEnterScript
ref AllySpawnPoint                  ; Set in HVSimEnterScript
ref SpawnType                           ; Set in HVSimEnterScript
ref AllyType                                ; Set in HVSimEnterScript

;---------------------------------------------------------------------------------------------------------------------------------

begin OnLoad

    ; Debug - set brotherhood friendly to player so turrets aren't annoying
    ;SetAlly BrotherhoodSteelFaction PlayerFaction

end

;---------------------------------------------------------------------------------------------------------------------------------


begin GameMode

    ; Give player intro period to pick a weapon and set up mines

    ; Determine Wave
    if Timer > 15 && Wave == 0
        Set Wave to 1
    elseif Timer > 80 && Wave == 1
        Set Wave to 2
    elseif Timer > 160 && Wave == 2
        Set Wave to 3
    endif

    ; Spawn enemies every 15 seconds
    if (Timer / 15) > batchcounter
        Set batchcounter to batchcounter + 1
        Set SpawnCounter to Wave

        ; Spawn an ally each wave after the second batch; you can only have 2
        if batchcounter > 2 && numspawns < 12 && allyspawns <= 2
            AllySpawnPoint.PlaceAtMe AllyType 1
            set numspawns to numspawns + 1
            set allyspawns to allyspawns + 1
        endif
            
        ; Have one Paladin bark each wave
        Set SpeakFlag to 1
    endif

    ; Need explosion for first spawn
    if Wave == 1 && DoExplosionOnce == 0
        HVSimDoorOne.PlaceAtMe FakeMediumExplosion
        HVSimDoorOne.setopenstate 1
        Set DoExplosionOnce to 1
    endif

    ; After a while, enemies will switch to the armory
    ;if batchcounter > 10 && DoArmoryOnce == 0
        ; Shake the screen to let player know an explosion happened elsewhere

        ; Show message explaining change of spawn points
        ;ShowMessage HVSimArmoryMessage

        ; Set spawn points to the armory
        ;set SpawnPoint1 to HVSimSpawnMarker3
        ;set SpawnPoint2 to HVSimSpawnMarker4

        ; Unlock the armory and shooting range doors
        ;HVSimShootingRangeDoorREF.unlock
        ;HVSimShootingRangeDoorREF.setopenstate 1
        ;HVSimArmoryDoorREF.unlock
        ;HVSimArmoryDoorREF.setopenstate 1

        ; Make sure this doesn't happen more than once
        ;set DoArmoryOnce to 1
    ;endif

    ; Spawn enemies according to SpawnCounter
    if SpawnCounter > 0

        ; Don't spawn any more guys if 12 are already out
        if numspawns < 12
            SpawnPoint1.PlaceAtMe SpawnType 1
            SpawnPoint2.PlaceAtMe SpawnType 1
            Set numspawns to numspawns + 2
        endif

        Set SpawnCounter to SpawnCounter - 1
        
    endif

    ; Update Timer
    Set Timer to Timer + GetSecondsPassed

end

HVSimWatkinsScript#

scn HVSimWatkinsScript

begin OnActivate Player

        ; Jump player back to player's pod
        Player.MoveTo HVPlayerPodWatkinsInteriorREF

        ; Open pod for player
        HVPlayerPodREF.PlayGroup Forward 1
        Set HVPlayerPodWatkinsREF.OpenState to 1

        ; Back from white to normal
        imod FadeInFromWhiteISFX

end

HVSimPTSDScript#

scn HVSimPTSDScript

begin OnActivate Player

        ; Jump player back to player's pod
        Player.MoveTo HVMcNamaraPodInteriorREF

        ; Open pod for player
        HVMcNamaraPodREF.PlayGroup Forward 1
        Set HVMcNamaraPodREF.OpenState to 1

        ; Back from white to normal
        imod FadeInFromWhiteISFX

end

HVSimPTSDExitScript#

scn HVSimPTSDExitScript

; This script is attached to the effect given to the player when they enter the Base Defense simulation in Hidden Valley.
; It causes the player to warp back to their body in Hidden Valley when they take ample damage in the sim.

int HealthDiff
int HealthBefore
int CurrentHealth

begin ScriptEffectStart

            imod FadeToWhiteandBackQuickISFX

            ; Restore the player's health to what it was going into the sim
            Set CurrentHealth to player.getav health
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav health HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav health HealthDiff
            endif

;---------------------------------------------------------------------------------------------------------------------

            ; Restore the player's limbs to what they were before the sim

            ; Head
            Set CurrentHealth to player.getav PerceptionCondition
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav PerceptionCondition HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav PerceptionCondition HealthDiff
            endif

;---------------------------------------------------------------------------------------------------------------------

            ; Left Arm
            Set CurrentHealth to player.getav LeftAttackCondition
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav LeftAttackCondition HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav LeftAttackCondition HealthDiff
            endif

;---------------------------------------------------------------------------------------------------------------------

            ; Right Arm
            Set CurrentHealth to player.getav RightAttackCondition
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav RightAttackCondition HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav RightAttackCondition HealthDiff
            endif

;---------------------------------------------------------------------------------------------------------------------

            ; Left Leg
            Set CurrentHealth to player.getav LeftMobilityCondition
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav LeftMobilityCondition HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav LeftMobilityCondition HealthDiff
            endif

; --------------------------------------------------------------------------------------------------------------------

            ; Remove any stuff the player picked up in the sim
            Player.RemoveAllItems

            ; Return player's inventory
            HVPlayerContainerREF.RemoveAllItems Player 1 1

            ; Kill all enemies still in the cell
            KillAllActors

            ; Remove Sim ImageSpace Modifier
            rimod HVSimISFX

            ; Remove temp sim effect
            player.Dispel HVSimWakingActorEffect

            ; Reset enter trigger
            Set HVSimEnterTriggerREF2.Once to 0

end

begin ScriptEffectFinish

    ; Jump player back to player's pod
    Player.MoveTo HVPlayerPodInteriorREF

    ; Open pod for player
    HVPlayerPodREF.PlayGroup Forward 1
    Set HVPlayerPodREF.OpenState to 1

    ; Back from white to normal
    imod FadeInFromWhiteISFX

end

HVSimPTSDEnterScript#

scn HVSimPTSDEnterScript

int Once
int maxhp
int HealthBeforeSim             ; The health total the player had going into the sim
int HeadBeforeSim               ; Head health before sim
int LeftArmBeforeSim                ; Left arm health before sim
int RightArmBeforeSim           ; Right arm health before sim
int LeftLegBeforeSim                ; Left leg health before sim
int RightLegBeforeSim           ; Right leg health before sim
int PArmorPerk                      ; Keeps track of whether the player can wear PA
ref AllyType


begin OnTriggerEnter player

    if Once == 0

        ; Reset the simulation cell so it's empty
        ResetInterior HiddenValleyPTSDSim

        ; Remove player's stuff
        player.RemoveAllItems HVPlayerContainerREF 1

        ; Remember player's health & limb condition before sim
        Set HealthBeforeSim to player.getav health
        Set HeadBeforeSim to player.getav PerceptionCondition
        Set LeftArmBeforeSim to player.getav LeftAttackCondition
        Set RightArmBeforeSim to player.getav RightAttackCondition
        Set LeftLegBeforeSim to player.getav LeftMobilityCondition
        Set RightLegBeforeSim to player.getav RightMobilityCondition
    
        ; Heal the player to full health
        Set maxhp to player.GetPermAV Health
        player.RestoreAV Health maxhp

        ; Add effect that will make player warp back upon being killed
        player.CIOS HVSimWakingActorEffect              ; CIOS = CastImmediateOnSelf

        ; Fade in, apply IMOD
        imod HVSimISFX

        Set Once to 1
    endif

end

HVSimPTSDWatkinsExitScript#

scn HVSimWatkinsExitScript

; This script is attached to the effect given to the player when they enter the Base Defense simulation in Hidden Valley.
; It causes the player to warp back to their body in Hidden Valley when they take ample damage in the sim.

int HealthDiff
int HealthBefore
int CurrentHealth

begin ScriptEffectStart

            imod FadeToWhiteandBackQuickISFX

            ; Restore the player's health to what it was going into the sim
            Set CurrentHealth to player.getav health
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav health HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav health HealthDiff
            endif

;---------------------------------------------------------------------------------------------------------------------

            ; Restore the player's limbs to what they were before the sim

            ; Head
            Set CurrentHealth to player.getav PerceptionCondition
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav PerceptionCondition HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav PerceptionCondition HealthDiff
            endif

;---------------------------------------------------------------------------------------------------------------------

            ; Left Arm
            Set CurrentHealth to player.getav LeftAttackCondition
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav LeftAttackCondition HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav LeftAttackCondition HealthDiff
            endif

;---------------------------------------------------------------------------------------------------------------------

            ; Right Arm
            Set CurrentHealth to player.getav RightAttackCondition
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav RightAttackCondition HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav RightAttackCondition HealthDiff
            endif

;---------------------------------------------------------------------------------------------------------------------

            ; Left Leg
            Set CurrentHealth to player.getav LeftMobilityCondition
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav LeftMobilityCondition HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav LeftMobilityCondition HealthDiff
            endif

; --------------------------------------------------------------------------------------------------------------------

            ; Remove any stuff the player picked up in the sim
            Player.RemoveAllItems

            ; Return player's inventory
            HVPlayerContainerREF.RemoveAllItems Player 1 1

            ; Kill all enemies still in the cell
            KillAllActors

            ; Remove Sim ImageSpace Modifier
            rimod HVSimISFX

            ; Remove temp sim effect
            player.Dispel HVSimWakingActorEffect

            ; Reset enter trigger
            Set HVSimEnterTriggerREF2.Once to 0

end

begin ScriptEffectFinish

    ; Jump player back to player's pod
    Player.MoveTo HVPlayerPodWatkinsInteriorREF

    ; Open pod for player
    HVPlayerPodWatkinsREF.PlayGroup Forward 1
    Set HVPlayerPodWatkinsREF.OpenState to 1

    ; Back from white to normal
    imod FadeInFromWhiteISFX

end

HVSimWatkinsEnterScript#


scn HVSimWatkinsEnterScript

int Once
int maxhp
int HealthBeforeSim             ; The health total the player had going into the sim
int HeadBeforeSim               ; Head health before sim
int LeftArmBeforeSim                ; Left arm health before sim
int RightArmBeforeSim           ; Right arm health before sim
int LeftLegBeforeSim                ; Left leg health before sim
int RightLegBeforeSim           ; Right leg health before sim
int PArmorPerk                      ; Keeps track of whether the player can wear PA
ref AllyType


begin OnTriggerEnter player

    if Once == 0

        ; Reset the simulation cell so it's empty
        ResetInterior HiddenValleyPTSDSim

        ; Remove player's stuff
        player.RemoveAllItems HVPlayerContainerREF 1

        ; Remember player's health & limb condition before sim
        Set HealthBeforeSim to player.getav health
        Set HeadBeforeSim to player.getav PerceptionCondition
        Set LeftArmBeforeSim to player.getav LeftAttackCondition
        Set RightArmBeforeSim to player.getav RightAttackCondition
        Set LeftLegBeforeSim to player.getav LeftMobilityCondition
        Set RightLegBeforeSim to player.getav RightMobilityCondition
    
        ; Heal the player to full health
        Set maxhp to player.GetPermAV Health
        player.RestoreAV Health maxhp

        ; Add effect that will make player warp back upon being killed
        player.CIOS HVSimWakingActorEffect              ; CIOS = CastImmediateOnSelf

        ; Fade in, apply IMOD
        imod HVSimISFX

        Set Once to 1
    endif

end

HVSimEnterScript#


scn HVSimEnterScript

int Once
int maxhp
int HealthBeforeSim             ; The health total the player had going into the sim
int HeadBeforeSim               ; Head health before sim
int LeftArmBeforeSim                ; Left arm health before sim
int RightArmBeforeSim           ; Right arm health before sim
int LeftLegBeforeSim                ; Left leg health before sim
int RightLegBeforeSim           ; Right leg health before sim
int PArmorPerk                      ; Keeps track of whether the player can wear PA
ref AllyType


begin OnTriggerEnter player

    if Once == 0

        ; Set var so we can't use the pod again until talking to Watkins
        Set MelissaWatkinsREF.PostGameTalk to 1
        MelissaWatkinsREF.evp

        ; Reset the simulation cell so it's empty
        ResetInterior HiddenValleySim

        ; Remove player's stuff
        player.RemoveAllItems HVPlayerContainerREF 1

        ; Check if player has Power Armor perk
        if player.HasPerk PowerArmorTraining
            Set PArmorPerk to 1
        else
            player.AddPerk PowerArmorTraining
        endif

        ; Give player standard Brotherhood armament
        player.AddItem ArmorPowerBrotherhoodOfSteelT45D 1 1
        player.EquipItem ArmorPowerBrotherhoodOfSteelT45D 0 1
        player.AddItem ArmorPowerHelmetBrotherhoodOfSteelT45D 1 1
        player.EquipItem ArmorPowerHelmetBrotherhoodOfSteelT45D 0 1

        ; Remember player's health & limb condition before sim
        Set HealthBeforeSim to player.getav health
        Set HeadBeforeSim to player.getav PerceptionCondition
        Set LeftArmBeforeSim to player.getav LeftAttackCondition
        Set RightArmBeforeSim to player.getav RightAttackCondition
        Set LeftLegBeforeSim to player.getav LeftMobilityCondition
        Set RightLegBeforeSim to player.getav RightMobilityCondition
    
        ; Heal the player to full health
        Set maxhp to player.GetPermAV Health
        player.RestoreAV Health maxhp

        ; Add effect that will make player warp back upon being killed
        player.CIOS HVSimWakingActorEffect              ; CIOS = CastImmediateOnSelf

        ; Set var so Taggart talks to you about the sim
        Set VDialogueHiddenValley.TriedSim to 1

        ; Determine what type of enemy to spawn
        if VDialogueHiddenValley.GameType == 0              ; NCR
            Set HVSimMasterREF.SpawnType to HVSimNCRTrooper
        elseif VDialogueHiddenValley.GameType == 1          ; BoS Veterans
            Set HVSimMasterREF.SpawnType to HVSimBrotherhoodPaladinVeteranEnemy
        elseif VDialogueHiddenValley.GameType == 2          ; Enclave
            Set HVSimMasterREF.SpawnType to HVSimEnclaveGun
        elseif VDialogueHiddenValley.GameType == 3          ; BoS
            Set HVSimMasterREF.SpawnType to HVSimBrotherhoodPaladinEnemy
        elseif VDialogueHiddenValley.GameType == 4          ; Supermutants
            Set HVSimMasterREF.SpawnType to VarHVSimSupermutant         
        endif

        ; Set Ally Type
        if VDialogueHiddenValley.GameAllies == 0                ; BoS
            Set HVSimMasterREF.AllyType to HVSimBrotherhoodPaladin
            Set AllyType to HVSimBrotherhoodPaladin
        elseif VDialogueHiddenValley.GameAllies == 1        ; BoS Veterans
            Set HVSimMasterREF.AllyType to HVSimBrotherhoodPaladinVeteran
            Set AllyType to HVSimBrotherhoodPaladinVeteran
        elseif VDialogueHiddenValley.GameAllies == 2        ; Enclave
            Set HVSimMasterREF.AllyType to HVSimEnclaveGunAlly
            Set AllyType to HVSimEnclaveGunAlly
        elseif VDialogueHiddenValley.GameAllies == 3        ; NCR
            Set HVSimMasterREF.AllyType to HVSimNCRTrooperAlly
            Set AllyType to HVSimNCRTrooperAlly
        elseif VDialogueHiddenValley.GameAllies == 4        ; Supermutants
            Set HVSimMasterREF.AllyType to VarHVSimSupermutantAlly
            Set AllyType to VarHVSimSupermutantAlly
        endif

        ; Spawn initial allies
        HVSimReinforcementsMarker.PlaceAtMe AllyType 2
        Set HVSimMasterREF.allyspawns to HVSimMasterREF.allyspawns + 2
        Set HVSimMasterREF.numspawns to HVSimMasterREF.numspawns + 2

        ; Fade in, apply IMOD
        imod HVSimISFX

        ; Set starting spawn points
        Set HVSimMasterREF.SpawnPoint1 to HVSimSpawnMarker1
        Set HVSimMasterREF.SpawnPoint2 to HVSimSpawnMarker2
        Set HVSimMasterREF.AllySpawnPoint to HVSimReinforcementsMarker

        ; Make sure kills count
        Set HVSimMasterREF.KillsCount to 1

        ShowMessage HVSimStartMessage

        Set Once to 1
    endif

end

HVSimExitScript#


scn HVSimExitScript

; This script is attached to the effect given to the player when they enter the Base Defense simulation in Hidden Valley.
; It causes the player to warp back to their body in Hidden Valley when they take ample damage in the sim.

int HealthDiff
int HealthBefore
int CurrentHealth

begin ScriptEffectStart

            imod FadeToWhiteandBackQuickISFX

            ; Restore the player's health to what it was going into the sim
            Set CurrentHealth to player.getav health
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav health HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav health HealthDiff
            endif

;---------------------------------------------------------------------------------------------------------------------

            ; Restore the player's limbs to what they were before the sim

            ; Head
            Set CurrentHealth to player.getav PerceptionCondition
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav PerceptionCondition HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav PerceptionCondition HealthDiff
            endif

;---------------------------------------------------------------------------------------------------------------------

            ; Left Arm
            Set CurrentHealth to player.getav LeftAttackCondition
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav LeftAttackCondition HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav LeftAttackCondition HealthDiff
            endif

;---------------------------------------------------------------------------------------------------------------------

            ; Right Arm
            Set CurrentHealth to player.getav RightAttackCondition
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav RightAttackCondition HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav RightAttackCondition HealthDiff
            endif

;---------------------------------------------------------------------------------------------------------------------

            ; Left Leg
            Set CurrentHealth to player.getav LeftMobilityCondition
            Set HealthBefore to HVSimEnterTriggerREF2.HealthBeforeSim
            
            if CurrentHealth <= HealthBefore
                Set HealthDiff to (HealthBefore - CurrentHealth)
                player.restoreav LeftMobilityCondition HealthDiff
            else
                Set HealthDiff to (CurrentHealth - HealthBefore)
                player.damageav LeftMobilityCondition HealthDiff
            endif

; --------------------------------------------------------------------------------------------------------------------

            ; Remove any stuff the player picked up in the sim
            Player.RemoveAllItems

            ; Return player's inventory
            HVPlayerContainerREF.RemoveAllItems Player 1 1

            ; Remove Power Armor Training Perk if player didn't have it
            if HVSimEnterTriggerREF2.PArmorPerk == 0
                player.RemovePerk PowerArmorTraining
            endif

            ; Make sure any enemies killed during cleanup aren't added to your score
            Set HVSimMasterREF.KillsCount to 0

            ; Kill all enemies still in the cell
            KillAllActors

            ; Remove Sim ImageSpace Modifier
            rimod HVSimISFX

            ; Remove temp sim effect
            player.Dispel HVSimWakingActorEffect

            ; Reinitialize the turrets so they're around the next time you try the sim
            ; DEBUG - need to redo turrets
            ;HVSimTurret1.ResurrectActor
            ;HVSimTurret1.ClearDestruction
            ;HVSimTurret2.ResurrectActor
            ;HVSimTurret2.ClearDestruction

            ; Reset enter trigger
            Set HVSimEnterTriggerREF2.Once to 0

end

begin ScriptEffectFinish

    ; Jump player back to player's pod
    Player.MoveTo HVPlayerPodInteriorREF

    ; Open pod for player
    HVPlayerPodREF.PlayGroup Forward 1
    Set HVPlayerPodREF.OpenState to 1

    ; Back from white to normal
    imod FadeInFromWhiteISFX

    ; Set Watkins's waiting var so she talks to you as you emerge from the pod
    Set MelissaWatkinsREF.waiting to 1


end

HVSimAllyScript#

scn HVSimAllyScript

int Marked
float FadePercent
int Batchcount

begin onLoad

    EquipItem WeapLaserRifle 1 1

end


begin onDeath

    Set HVSimMasterREF.numspawns to HVSimMasterREF.numspawns - 1
    Set HVSimMasterREF.allyspawns to HVSimMasterREF.allyspawns - 1

    Set Marked to 1
    Set FadePercent to 1.0

    RemoveItem WeapLaserRifle 1
    RemoveItem WeapPlasmaRifle 1
    RemoveItem WeapHuntingRifle 1
    RemoveItem WeapNV44Revolver 1
    RemoveItem WeapNVHuntingShotgun 1
    RemoveItem WeapNVCowboyRepeater 1
    RemoveItem WeapChineseAssaultRifle 1
    RemoveItem WeapMinigun 1
    RemoveItem WeapSuperSledge 1
    RemoveItem WeapMissileLauncher 1

end



begin GameMode

    if Marked == 1 && FadePercent > 0.0
        SetActorAlpha FadePercent
        Set FadePercent to FadePercent - .03
    elseif Marked == 1
        MarkForDelete
    endif

    if HVSimMasterREF.SpeakFlag
        Say HVSimRandomBarks
        Set HVSimMasterREF.SpeakFlag to 0
    endif

end

HVSimFallbackTriggeeScript#


scn HVSimFallbackTriggerScript


begin OnTriggerEnter player

    Set HVSimMasterREF.SpawnPoint1 to HVSimSpawnMarker3
    Set HVSimMasterREF.SpawnPoint2 to HVSimSpawnMarker4

end

HVSimEnclaveGunEasyScript#


scn HVSimEnclaveGunEasyScript

int Marked
float FadePercent

begin onLoad

    EquipItem HVWeapPlasmaRifleWeak 1 1

end


begin onDeath

    if HVSimMasterREF.KillsCount
        Set VDialogueHiddenValley.GameScore to VDialogueHiddenValley.GameScore + 1
        ShowMessage HVGameScoreMessage VDialogueHiddenValley.GameScore
    endif

    RemoveItem HVWeapPlasmaRifleWeak 1

    Set Marked to 1
    Set FadePercent to 1.0

    Set HVSimMasterREF.numspawns to HVSimMasterREF.numspawns - 1

end



begin GameMode

    if Marked == 1 && FadePercent > 0.0
        SetActorAlpha FadePercent
        Set FadePercent to FadePercent - .03
    elseif Marked == 1
        MarkForDelete
    endif

end

HVSimEndzoneScript#


scn HVSimEndzoneScript

ref EnteringActor
int CurrentHealth
int Damage

begin OnTriggerEnter

    Set EnteringActor to GetActionRef

    if EnteringActor.GetInFaction PlayerFaction == 0

        ; Enemies have breached the command level, simulation over
        ShowMessage HVSimFailedMessage
        
        ; Damage player to trigger sim exit
        set CurrentHealth to player.getAV Health
        set Damage to CurrentHealth - 1
        player.damageav Health Damage
                    
    endif
end

HVSimEnemyScript#


scn HVSimEnemyScript

int Marked
float FadePercent

begin onLoad

    EquipItem WeapPlasmaRifle 1 1

end


begin onDeath

    Set HVSimMasterREF.numspawns to HVSimMasterREF.numspawns - 1

    if HVSimMasterREF.KillsCount
        Set VDialogueHiddenValley.GameScore to VDialogueHiddenValley.GameScore + 1
        ShowMessage HVGameScoreMessage VDialogueHiddenValley.GameScore
    endif

    RemoveItem HVSimWeapLaserRifle 1
    RemoveItem WeapPlasmaRifle 1
    RemoveItem WeapHuntingRifle 1
    RemoveItem WeapNV44Revolver 1
    RemoveItem WeapNVHuntingShotgun 1
    RemoveItem WeapNVCowboyRepeater 1
    RemoveItem WeapChineseAssaultRifle 1
    RemoveItem WeapMinigun 1
    RemoveItem WeapSuperSledge 1
    RemoveItem WeapMissileLauncher 1

    Set Marked to 1
    Set FadePercent to 1.0

end



begin GameMode

    if Marked == 1 && FadePercent > 0.0
        SetActorAlpha FadePercent
        Set FadePercent to FadePercent - .03
    elseif Marked == 1
        MarkForDelete
    endif

end

HVSimPushbackTriggerScript#


scn HVSimPushbackTriggerScript


begin OnTriggerEnter player

    Set HVSimMasterREF.SpawnPoint1 to HVSimSpawnMarker1
    Set HVSimMasterREF.SpawnPoint2 to HVSimSpawnMarker2

end

I Fought The Law

NCRCFHostageTriggerScript#

A script governing the hostages factions:

ScriptName NCRCFHostageTriggerScript
Begin OnTriggerEnter NCRCFHostageREF
  If bDoOnce == 0
    SetEnemy NCRCFHostageFaction NCRCFPowderGangerFaction 0 0
    Set bDoOnce to 1
  EndIf
End

NCRCFHostageDoorScript#

Another script handling the hostages escape:

ScriptName NCRCFHostageDoorScript
Begin OnActivate player
  If ScriptTriggered == 0
    Set ScriptTriggered to 1
    If GetStageDone VMS02 10
    Else
      NCRCFHostageDoorREF.Activate player
      SetEnemy NCRCFPowderGangerFaction PlayerFaction 0 0
      StartCombat player
      NCRCFHostageREF.evp
    EndIf
  EndIf
  Activate
End

NCRCFHostageScript#

This script updates stage 10 of I Fought The Law upon the hostage's death:

ScriptName NCRCFHostageScript
Begin OnDeath
  If GetStage VMS02 == 10
    SetObjectiveCompleted VMS02 10 1
    SetObjectiveDisplayed VMS02 15 1
    SetStage VMS02 15
  EndIf
End

NCRCFBlockADoorScript#

A script handling Chavez's cut task:

ScriptName NCRCFBlockADoorScript
Begin OnActivate player
  If GetLocked == 0
    Set VFreeformNCRCF.ChavezFree to 1
    RN VFreeformNCRCFChavezNote
  EndIf
  Activate
End

Quarry Junction

QJDeathclawHawkinsScript#

A script governing Hawkin's cut quest:

ScriptName QJDeathclawHawkinsScript
Begin OnDeath
  Set VFreeformQuarryJunction.bHawkinsSaved to 1
  QJHawkinsRef.ResetAI
End

Still In The Dark

HVRangerDEADscript#

Script handling the Ranger being sent to Quarry Junction:

ScriptName HVRangerDEADscript
Begin OnLoad
  HVRangerDeadRef.kill QJDeathclawAlphaMaleRef
End

Sunset Sarsaparilla Stars

SSHQRandomEncounterTestTriggerScript#

A script that handles the Sunset Sarsaparilla Helper Ghoul's debug functions:

ScriptName SSHQRandomEncounterTestTriggerScript
Begin OnTriggerEnter player
  If Encounter == 1
    If DoOnce == 0
      Set Marker1 to SSHQEncMarker1
      MalcolmHolmesREF.Enable
      MalcolmHolmesREF.MoveTo Marker1
      Set DoOnce to 1
    EndIf
  ElseIf Encounter == 2
    If DoOnce == 0
      Set Marker1 to SSHQEncMarker1
      Set Marker2 to SSHQEncMarker2
      TomasREF.Enable
      TomasREF.MoveTo Marker1
      JacklynREF.Enable
      JacklynREF.MoveTo Marker2
      TomasREF.StartCombat JacklynREF
      JacklynREF.StartCombat TomasREF
      Set DoOnce to 1
    EndIf
  ElseIf Encounter == 3
    If DoOnce == 0
      Set Marker1 to SSHQEncMarker1
      FeliciaREF.Enable
      FeliciaREF.MoveTo Marker1
      Set DoOnce to 1
    EndIf
  EndIf
End

HVRangerScript#

Part of HVRangerScript, this is noteworthy as it covers the cut conversation found in the February 16th build:

ScriptName HVRangerScript

Begin SayToDone HVRangerResponse
  SayTo HVHitSquad1 HVRangerResponse2
End

The Moon Comes Over The Tower

Lucky38ReactorScript#

A script that shows the Lucky 38 was the original access point the player would've bugged:

scn Lucky38ReactorSCRIPT

short button
short runtimer
float   Timer                                   ;Timer used for animation control
float  Stage                                    ;Stage number

BEGIN gamemode

    set Button to GetButtonPressed

    if ( Button == 1 )
        RewardXP 50
        ;Set VFreeformLucky38.bBuggedTower to 1
        ;SetObjectiveDisplayed vfreeformlucky38 20 1
        ;SetStage vfreeformlucky38 20
        ;SetDestroyed 1 
        ;disablePlayerControls
        RewardXP 50
        NVLucky38ReactorRef.Playgroup Forward 0

endif

END

Unused NPC Scripts

A number of unused scripts exist in this build for numerous cut NPCs.

1ERobobrainScript#

An unused script intended for the cut character 1ERobobrain, making sure it is set to unconscious when the game begins:

scn 1ERobobrainScript

begin OnLoad

    SetUnconscious 1
end

DoldrumsFrankieScript#

An unused script for the cut character Frankie, named DoldrumsFrankieScript internally. Multiple lines in a text only format were recovered for this NPC also from a build dated February the 16th, which seem to be the barks alluded to below:

scn DoldrumsFrankieScript

short nRandomBark
float Timer

begin GameMode

    set nRandomBark to GetRandomPercent

    if Timer > 0
        set Timer to Timer - GetSecondsPassed
    else
        if nRandomBark <60
            if nRandomBark <=20
                ;ShowWarning "Frankie Bark 1"
                Say 1EFrankieTalk1
            elseif nRandomBark >20 && nRandomBark <=40
                ;ShowWarning "Frankie Bark 2"
                Say 1EFrankieTalk2
            else
                ;ShowWarning "Frankie Bark 3"
                Say 1EFrankieTalk3
            endif
        
            set Timer to 30
        endif
    endif

end

NVJeremiahScript#

Named NVJeremiahScript internally, it is associated with the cut NPC Jeremiah. It tells us little, other than that his death was to be of some consequence:

scn NVJeremiahScript

beginondeath

end