MS03script

**MS03script** — технический файл, который имеет отношение к участикам и явлениям квеста «Руководство по выживанию на пустошах» и который можно просомотреть в *G.E.C.K.*.

## Содержимое

scn MS03script



- Other MS03 scripts used
- MS03LeaScript ;Tracks when Lea dies to end quest
- MS03TestActivatorScript ;Temporary script device to progress quests
- MS03FoodScript ;Tracks when player picks up food in MS03a1
- MS03MedicineScript ;Tracks when player picks up medicine in MS03a1
- MS03FoodSanitizerScript ;Tracks use of the MS03a1 reward, the MS03FoodSanitizer
- MS03MerryGoRoundScript ;Tracks when character approachs center of Minefield (attached to Merry-Go-Round activator in center of town)
- MS03MoleRatRepellantScript ;Causes molerats to explode when struck and increases molerat kill counter MS03b1RatKill
- MS03BaitGrenadeScript ;Holds the script for the effects of the Mirelurk Bait Grenade enchantment
- MS03RobCoMainframeScript ;Controls the effects of activating the RobCo Mainframe
- MS03PrintingPressScript ;Controls the effects of activating the Printing Press



- Set script variables
- Set task tracking variables
- For set tracking variables, see below
- 0 = not yet activated
- 1 = currently active
- 2 = basic task completed (can return to Lea)
- 3 = bonus task completed (must return to Lea)
- 4 = Completed and turned in

short MS03a 0 ;Denotes the player's progress on set one without an active task.

short MS03a1 0 ;Denotes the player's progress on set one, task one.

short MS03a2 0 ;Denotes the player's progress on set one, task two.

short MS03a3 0 ;Denotes the player's progress on set one, task three.

short MS03b 0 ;Denotes the player's progress on set two without an active task.

short MS03b1 0 ;Denotes the player's progress on set two, task one.

short MS03b2 0 ;Denotes the player's progress on set two, task two.

short MS03b3 0 ;Denotes the player's progress on set two, task three.

short MS03c 0 ;Denotes the player's progress on set three without an active task.

short MS03c1 0 ;Denotes the player's progress on set three, task one.

short MS03c2 0 ;Denotes the player's progress on set three, task two.

short MS03c3 0 ;Denotes the player's progress on set three, task three.



- Set bonus tracking variables

short bonusObjectives 0 ;How many bonus objectives the player has completed

short MS03aBonus 0 ;How many bonus objectives the player completed in set A.

short MS03bBonus 0 ;How many bonus objectives the player completed in set B.

short MS03cBonus 0 ;How many bonus objectives the player completed in set C.

short goodBookBonus 5 ;How many bonus objectives the player must complete for the "good" book.



- Set book style tracking variables

short standard 0 ;How many times the player has responded with the "standard" A responses

short smart 0 ;How many times the player has responded with the "smart" B responses

short tough 0 ;How many times the player has responded with the "tough" C responses

short sly 0 ;How many times the player has responded with the "sly" D responses

short snide 0 ;How many times the player has responded with the "snide" E responses

short currentStyle 0 ;Which style currently has the highest count. Check after each major stage

;Ties default to "standard". 0 = standard, 1 = smart, 2 = tough, 3 = sly, 4 = snide



- Set specific task variables

short MS03a1Food 0 ;Has MS03Food been found in MS03a1. 0 = no, 1 = yes.

short MS03a1Meds 0 ;Has MS03SuperStimpak been found in MS03a1. 0 = no, 1 = yes.

short MS03a1Start 0 ;Set the time when the player starts MS03a1

short MS03a1Lie 0 ;Whether or not the player lied to end MS03a1 - 0 = no, 1 = yes

short MS03a2Low 150 ;Radiation count for basic completion of MS03a1

short MS03a2High 800 ;Radiation count for bonus completion of MS03a1

short MS03a2Turnin ;Has the player turned in MS03a2 to Moira? 0 = no, 1 = yes

float MS03a3Start 0 ;Set the time when the player starts MS03a3

short MS03a3Sniper 0 ;Set when sniper attacks in MS03 at Minefield.

short MS03a3Lie 0 ;Whether or not the player lied to end MS03a3 - 0 = no, 1 = yes

ref MS03b1Target ;Tracks the currently target of the mole-rat repellent, to stop multiple effects on the same mole-rat

ref MS03b1HitID ;Tracks the most recently hit target of the mole-rat repellent, to stop multiple effects on the same mole-rat

short MS03b1RatKill 0 ;Count of molerats killed in MS03b1

short MS03b1Low 3 ;Count of basic target number of molerats killed in MS03b1

short MS03b1High 10 ;Count of bonus target number of molerats killed in MS03b1

short MS03RepellentCharge ;Countdown of charges/ammo for MS03Repellent

short MS03b1Start 0 ;Set the time when the player starts MS03b1

short MS03b1Lie 0 ;Whether or not the player lied to end MS03b1 - 0 = no, 1 = yes

short MS03b2Spot 0 ;Tracks whether or not the mirelurks in MS03b2 have spotted the player: 0 = no, 1 = yes

short MS03b2bonus 0 ;Tracks whether the player earned the bonus for MS03b2, and if they can get new Bait Grenades

short MS03b3Low 0.25 ;Percent of player's max health to reduce current health to for MS03b3

short MS03b3Turnin ;Has the player turned in MS03b3 to Moira? 0 = no, 1 = yes

short MS03c1Start 0 ;Tracks when the player starts MS03c1

short MS03c1BannonTarget 0 ;Has the player been directed to talk to Bannon? 0 = no, 1 = yes

short MS03c1VeraTarget 0 ;Has the player been directed to talk to Vera? 0 = no, 1 = yes

short MS03c1SeagraveTarget 0 ;Has the player been directed to talk to Seagrave? 0 = no, 1 = yes

short MS03c1BelleTarget 0 ;Has the player been directed to talk to Belle? 0 = no, 1 = yes

short MS03c1PinkertonTarget 0 ;Has the player been directed to talk to Pinkerton? 0 = no, 1 = yes

short MS03c1TalkBannon 0 ;Tracks who the player has talked to about Rivet City's history: 0 = have not talked/have not gotten decent info out of, 1 = have received wrong information, 2 = have received clue for further information

short MS03c1TalkVera 0 ;Tracks who the player has talked to about Rivet City's history: 0 = have not talked/have not gotten decent info out of, 1 = have received wrong information, 2 = have received clue for further information

short MS03c1TalkBelle 0 ;Tracks who the player has talked to about Rivet City's history: 0 = have not talked/have not gotten decent info out of, 1 = have received wrong information, 2 = have received clue for further information

short MS03c1TalkSeagrave 0 ;Tracks who the player has talked to about Rivet City's history: 0 = have not talked/have not gotten decent info out of, 1 = have received wrong information, 2 = have received clue for further information

short MS03c1TalkPinkerton 0 ;Tracks who the player has talked to about Rivet City's history: 0 = have not talked/have not gotten decent info out of, 1 = have received correct information

short MS03c1RCBonus 0 ;Tracks whether or not the player has received the bonus completion for MS03c1, and will receive the discount at RC stores.

short MS03c3Start 0 ;Set the time when the player starts MS03c3

short MS03ScribeYearlingDead ;Tracks whether or not Scribe Yearling is alive for MS03c3: 0 = alive, 1 = dead and targets not yet changed, 2 = dead and targets changed

short MS03Convince 0 ;tracks if the player's speech challenge is attempting to convince Lea to stop writing the book. Only used in MS03a, to avoid a potential error in SpeechChallengeFailure. 0 = not trying, 1 = trying



- Set other variables

short MoiraBook ;tracks whether the player has heard about Moira's book (previously, stage 2): 0 = no, 1 = yes

short MoiraGhoul ;tracks whether or not Moira has been turned into a ghoul by blowing up Megaton at MS11, stage 60: 0 = no, 1 = yes but hasn't met player to tell him, 2 = yes and met player, and now at or going to Underworld

short MoiraDataEntry ;tracks whether or not Moira has to enter the player's data, with MS03EntryMegaton. 0 no, 1 = yes.


BEGIN GameMode


;During MS03a2, check radiation levels against MS03a2 goal variables

;If radiation levels drop below their requirements, reset the objectives until the player completes them

if (MS03a2 >= 1 && MS03a2 < 4 && MS03a2TurnIn == 0)

;If radiation level reaches MS03a2Low, complete the basic objective

if (MS03a2 == 1)

if (player.GetAV radiationrads >= 200)

Set MS03a2 to 2

SetObjectiveCompleted MS03 20 1

SetObjectiveDisplayed MS03 26 1

endif

;If radiation level reaches MS03a2High, complete the bonus objective

;If radiation level drops below MS03a2Low, reset the basic objective

elseif (MS03a2 == 2)

if (player.GetAV radiationrads >= 600)

Set MS03a2 to 3

SetObjectiveCompleted MS03 24 1

elseif (player.GetAV radiationrads < 150)

Set MS03a2 to 1

SetObjectiveCompleted MS03 20 0

SetObjectiveCompleted MS03 24 0

SetObjectiveDisplayed MS03 20 1

SetObjectiveDisplayed MS03 24 1

SetObjectiveDisplayed MS03 26 0

endif

;If radiation level drops below MS03a2High, reset the bonus objective

elseif (MS03a2 == 3)

if (player.GetAV radiationrads < 200)

Set MS03a2 to 1

SetObjectiveCompleted MS03 20 0

SetObjectiveCompleted MS03 24 0

SetObjectiveDisplayed MS03 20 1

SetObjectiveDisplayed MS03 24 1

SetObjectiveDisplayed MS03 26 0

elseif (player.GetAV radiationrads < 600)

Set MS03a2 to 2

SetObjectiveCompleted MS03 24 0

SetObjectiveDisplayed MS03 24 1

SetObjectiveDisplayed MS03 26 1

endif

endif

endif


;During MS03b3, check to see if the player has reduced their health to MS03b3Low requirement

if (MS03b3 == 1 || MS03b3 == 2 && MS03b3TurnIn == 0)

if (MS03b3 == 1)

if (player.getHealthPercentage <= 0.5)

Set MS03b3 to 2

SetObjectiveCompleted MS03 60 1

SetObjectiveDisplayed MS03 66 1

endif

elseif (MS03b3 == 2)

if (player.getHealthPercentage > 0.5)

Set MS03b3 to 1

SetObjectiveCompleted MS03 60 0

SetObjectiveDisplayed MS03 60 1

SetObjectiveDisplayed MS03 66 0

endif

endif

endif


;During MS03b3, check to see if the player has reduced their condition to MS03b3Low requirement

if (MS03b3 == 2 && MS03b3TurnIn == 0)

if (GetObjectiveCompleted MS03 64 == 0)

if (player.getav enduranceCondition == 0

## Заметки

Согласно данному файлу Мойра Браун ранее носиа имя Лея.