home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Plus! (NZ) 2001 October
/
PCW1001.iso
/
Games
/
startopiademo1.exe
/
missions
/
01
/
mish01.txt
< prev
next >
Wrap
Text File
|
2001-05-01
|
23KB
|
1,283 lines
:autorun
if
then
title "lev01_title01"
disallow decks bio_deck
disallow decks mid_deck
place_room 2 13 1 1 sub_deck collector east
place_room 12 15 1 1 sub_deck collector_node north
set salt_hog_max 15
set salt_hog_every 1000000
set grey_max 10
set grey_every 1000000
set aronatimer 1000000
set sicktimer 100000
set targwait 1000000
set scriptwait 1000000
set energy 75000
;EVENTUALLY TO BE REPLACED AS DEFAULT ITEMS
discover @teevee
discover @clock
discover @lavalamp
; tom test for avoiding placing peeps on top of stuff
; place_peep targ resident 10 20 0 1024 0
; place_peep targ resident 10 20 0 1024 0
; place_peep targ resident 10 20 0 1024 0
; place_peep targ resident 10 20 0 1024 0
; place_peep targ resident 10 20 0 1024 0
; place_peep targ resident 10 20 0 1024 0
disable
end
{missions\00\peepenergy00.txt}
{missions\00\losenocollector00.txt}
;Game Start-up********************************************************************
;Basic welcome text from Val
:LOOP050
if
turn > 100
then
set speechcount 1 after say "lev01_general01"
disable
end
;Outlines basic mission objective
:LOOP070
if
speechcount = 1
then
set speechcount 2 after say "lev01_mission01"
disable
end
;Sets task as build docking portal**********************************************
;Places suitable crates
:LOOP090
if
Speechcount = 2
then
set speechcount 3 after say "lev01_task01"
disable
end
:loop091
if
speechcount = 3
then
cam_pos 70 90 210 1536 256
sayx 01 "lev01_objective01"
placeportable scutter_crate 12 18 sub_deck 1000 1
placeportable scutter_crate 13 19 sub_deck 800 1
placeportable hard_plan_crate 12 19 sub_deck 600 port
disable
end
:loop091x
if
port_count > 0
then
unsayx 01
disable
end
;Build berth with 5 pods with provided crate*************************************
:LOOP100
if
speechcount = 3
port_count = 1
then
set speechcount 4 after say "lev01_task02"
disable
end
:loop101
if
speechcount = 4
then
placeportable hard_plan_crate 12 18 sub_deck 724 berth
sayx 02 "lev01_objective02"
disable
end
:loop101x
if
berth_count > 0
bunk_count > 4
then
unsayx 02
disable
end
;Build a lavotron with provided crate*********************************************
:LOOP103
if
speechcount = 4
bunk_count > 4
berth_count > 0
then
set speechcount 5 after say "lev01_task03"
disable
end
:loop104
if
speechcount = 5
then
set salt_hog_every 10
placeportable hard_plan_crate 12 18 sub_deck 624 lavotron
sayx 03 "lev01_objective03"
disable
end
:loop104x
if
lavotron_count > 0
then
unsayx 03
disable
end
;Build Dine-O-mat with provided crate*********************************************
:LOOP110
if
speechcount = 5
lavotron_count > 0
then
set speechcount 6 after say "lev01_task04"
disable
end
:LOOP111
if
speechcount = 6
then
placeportable hard_plan_crate 12 18 sub_deck 524 vendor
sayx 04 "lev01_objective04"
disable
end
:loop111x
if
vendor_count > 0
then
unsayx 04
disable
end
;Build charger with provided crate********************************************
:LOOP120
if
speechcount = 6
vendor_count > 0
then
set speechcount 7 after say "lev01_task05"
disable
end
:LOOP121
if
speechcount = 7
then
placeportable hard_plan_crate 12 18 sub_deck 424 charger
sayx 05 "lev01_objective05"
disable
end
:loop121x
if
charger_count > 0
then
unsayx 05
disable
end
;Wait until at least 10 salthogs are on board***********************************
:LOOP140
if
speechcount = 7
charger_count > 0
salt_hog_count < 10
then
set speechcount 9 after say "lev01_task06"
sayx 06 "lev01_objective06"
disable
end
:loop140x
if
salt_hog_count > 9
then
unsayx 06
disable
end
:Loop141
if
speechcount = 7
salt_hog_count > 9
charger_count > 0
then
set speechcount 9
disable
end
;Check that port has been opened and remind player otherwise***********************
:loop150
if
charger_count = 1
salt_hog_count < 1
then
say "lev01_reminder01"
disable
end
;Congratulates player on getting this far****************************************
:LOOP160
if
speechcount = 9
collector_count = 1
port_count = 1
bunk_count > 4
vendor_count > 0
lavotron_count > 0
scutter_count > 0
charger_count > 0
salt_hog_count > 8
then
set speechcount 11 after say "lev01_general02"
set salt_hog_max 30
disable
end
;Makes second segment available and tells player to occupy it**********************
:LOOP162
if
speechcount = 11
then
set speechcount 12 after say "lev01_task07"
disable
end
:loop163
if
speechcount = 12
then
cam_pos 90 60 160 1536 056
unlock 1
sayx 07 "lev01_objective07"
disable
end
:loop163x
if
array ownsubdeck 1 = 1
then
unsayx 07
disable
end
;Build a recycler with provided crate***********************************************
:loop165
if
speechcount = 12
array ownsubdeck 1 = 1
then
placeportable junk 17 1 sub_deck 1024
placeportable junk 18 15 sub_deck 924
placeportable junk 19 14 sub_deck 824
placeportable junk 20 19 sub_deck 724
placeportable junk 21 9 sub_deck 624
placeportable junk 22 11 sub_deck 524
placeportable junk 23 12 sub_deck 424
placeportable junk 24 18 sub_deck 324
placeportable junk 25 15 sub_deck 224
placeportable junk 26 5 sub_deck 124
placeportable junk 27 14 sub_deck 24
placeportable junk 28 15 sub_deck 1024
placeportable junk 29 26 sub_deck 924
placeportable junk 30 14 sub_deck 824
placeportable litter 17 27 sub_deck 724
placeportable litter 18 15 sub_deck 624
placeportable litter 19 6 sub_deck 524
placeportable litter 20 16 sub_deck 424
placeportable litter 21 16 sub_deck 324
placeportable litter 22 15 sub_deck 224
placeportable litter 23 24 sub_deck 124
placeportable litter 24 26 sub_deck 24
placeportable litter 25 18 sub_deck 1024
placeportable litter 26 4 sub_deck 924
placeportable litter 27 9 sub_deck 824
placeportable litter 28 1 sub_deck 724
placeportable litter 29 1 sub_deck 624
placeportable litter 30 16 sub_deck 524
set speechcount 13 after say "lev01_task08"
disable
end
:loop166
if
speechcount = 13
then
placeportable hard_plan_crate 14 17 sub_deck 324 recycler
sayx 08 "lev01_objective08"
disable
end
:loop166x
if
recycler_count > 0
then
unsayx 08
disable
end
;Gets player to hire 4 salthogs*****************************************************
:loop168
if
speechcount = 13
recycler_count > 0
then
set speechcount 14 after say "lev01_task09"
disable
end
:loop168a
if
speechcount = 14
then
set residentola 1
sayx 09 "lev01_objective09"
disable
end
:loop168x
if
residentola > 0
resident_count > 3
then
unsayx 09
disable
end
;Sets up delay for arrival of Arona***********************************************
:loop170
if
speechcount = 14
resident_count > 3
then
set daal 1
set aronatimer (turn + 600)
disable
end
;Generates Arona. Will need appropriate Arona text*******************************
:Aronaloop100
if
daal = 1
aronatimer < turn
then
set daal 2
disable
end
:Aronaloop150
if
daal = 2
then
trader "arona0101.csv" 240 "lev01_arona01"
set aronatimer (turn + 2000)
set scriptwait (turn + 500)
disable
end
;If the player loses scuzzers arona offers new ones********************************
:Aronaloop200
if
wincriteria < 1
daal = 2
aronatimer < turn
scutter_count < 2
cargoexists scutter_crate 1 = 0
then
trader "arona0101.csv" 240 "lev01_aronascuzzer01"
set aronatimer (turn + 1000)
end
;Unpack tech crates provided and build one of each facility************************
:LOOP185
if
junk_count < 5
recycler_count > 0
resident_count > 3
daal = 2
speechcount = 14
scriptwait < turn
then
unsayx 69
set speechcount 15 after say "lev01_task10"
disable
end
:loop186
if
speechcount = 15
then
placeportable technology_crate 12 18 sub_deck 24 @BERTHS
placeportable technology_crate 12 18 sub_deck 1024 @VENDOR
placeportable technology_crate 12 18 sub_deck 924 @LAVOTRON
sayx 10 "lev01_objective10"
disable
end
:loop186x
if
@berths = 1
@vendor = 1
@lavotron = 1
then
unsayx 10
disable
end
:loop187
if
@berths = 1
@vendor = 1
@lavotron = 1
then
set techunpack 1 after say "lev01_task10a"
disable
end
:loop187a
if
techunpack = 1
then
set techunpack 2
sayx 101 "lev01_objective10a"
disable
end
:loop187x
if
techunpack = 2
Vendor_count > 1
lavotron_count > 1
berth_count > 1
then
unsayx 101
disable
end
;Player must bring the salt hog worker count up to six*******************************************
:Loop188
if
speechcount = 15
vendor_count > 1
lavotron_count > 1
berth_count > 1
resident_count < 6
then
set speechcount 16 after say "lev01_task11"
disable
end
:loop188a
if
speechcount = 16
resident_count < 6
then
sayx 11 "lev01_objective11"
disable
end
:loop188b
if
speechcount = 16
resident_count > 5
then
unsayx 11
disable
end
:loop188c
if
speechcount = 15
vendor_count > 1
lavotron_count > 1
berth_count > 1
resident_count > 5
then
set speechcount 16
disable
end
;Tells player well done tells them to ensure enough facilities**********************
:loop189
if
speechcount = 16
vendor_count > 1
lavotron_count > 1
berth_count > 1
normal_peep_count > 10
resident_count > 5
then
set speechcount 17 after say "lev01_task12"
disable
end
:loop189a
if
speechcount = 17
then
sayx 12 "lev01_objective12"
set smallwait (turn + 2000)
disable
end
;Comment if the player is taking a long time to do the level***********************
:Loop190
if
speechcount < 17
turn > 40000
then
say "lev01_general03"
disable
end
;Arona making comment*************************************************************
:loop193
if
normal_peep_count > 20
winoffer = 0
daal = 2
lavotron_count > 1
then
incoming local_comms icon 6 "lev01_arona03"
disable
end
;Once all is done, set new mission objectives***************************************
:Loop195
if
turn > smallwait
smallwait > 0
speechcount = 17
normal_peep_count > 15
then
set stage 2 after say "lev01_mission02"
disable
end
;Generic look after peeps reminder**************************************************
:Loop200
if
stage = 2
then
set speechcount 18 after say "lev01_task13"
set grey_every 20
disable
end
;Create two targ residents**********************************************************
:loop210
if
speechcount = 18
grey_count > 0
then
unsayx 12
place_peep targ resident skill 3
place_peep targ resident skill 4
set speechcount 19 after say "lev01_task14"
disable
end
;Create another two targs**********************************************************
:Loop220
if
targ_count > 0
speechcount = 19
then
sayx 14 "lev01_objective14"
place_peep targ resident skill 5
place_peep targ resident skill 4
set speechcount 20
disable
end
;Build a couple of comsensors with provided crates********************************
:Loop230
if
targ_count > 2
speechcount = 20
then
set speechcount 21 after say "lev01_task15"
disable
end
:Loop250
if
speechcount = 21
then
placeportable hard_plan_crate 12 18 sub_deck 1000 satcom
placeportable hard_plan_crate 12 18 sub_deck 750 satcom
unsayx 14
sayx 15 "lev01_objective15"
disable
end
:loop250x
if
satcom_count > 1
then
unsayx 15
disable
end
;ZEDEM EMERGENCY & ARONA INTERVENTION***********************************************
:loop260
if
then
set reply01 3
disable
end
;Val informs player of emergency message
:loop262
if
satcom_count > 1
then
set winoffer 1 after say "lev01_emergency01"
disable
end
;Message comes through with accept and decline options
:loop265
if
winoffer > 0
then
incoming ship_comms respond reply01 within 5000 "lev01_emergency02"
set winoffer (winoffer + 1)
disable
end
; if player declines, send message again
:Loop266
if
reply01 < 2
winoffer = 2
then
set reply01 3
set waitseta (turn + 10)
disable
end
:loop266a
if
waitseta > turn
then
trigger :loop265
disable
end
; send again if still declined
:Loop267
if
reply01 < 2
winoffer = 3
then
set reply01 0
set waitsetb (turn + 10)
disable
end
;last warning for player
:loop267a
if
waitsetb > turn
winoffer = 3
then
trigger :loop265 after say "lev01_emergency03"
disable
end
;Lose if player declines.
:Loop268
if
winoffer = 4
reply01 = no
then
set wincriteria 2 after say "lev01_lose01"
disable
end
;if player accepts
:Loop269
if
reply01 = 2
then
set sicktimer (turn + 750)
incoming ship_comms within 600 "lev01_emergency04"
set objwait (turn + 500)
place_peep zedem_monk mood body 6000 infected 3 1
disable
end
:loop269b
if
turn > objwait
objwait > 0
then
set object16 after say "lev01_emergency05"
disable
end
:loop269c
if
object16 = 1
then
sayx 16 "lev01_objective16"
disable
end
:loop266d
if
wincriteria < 1
sicktimer < turn
sicktimer > 0
sick_bay_count < 1
cargoexists hard_plan_crate sick_bay = 0
blueprint_count < 1
then
trader "arona0103.csv" 1000 "lev01_arona02"
set sicktimer (turn + 2000)
end
:loop269a
if
zedem_monk_count = 1
then
set zedemarrived 1
disable
end
;Player reminded to hire a good grey doctor
:loop270
if
sick_bay_count > 0
peepstat race grey allset resident roger < 1
then
unsayx 16
set blah after say "lev01_objective17"
disable
end
:loop271
if
blah = 1
then
sayx 17 "lev01_emergency06"
disable
end
:loop272
if
blah = 1
peepstat race grey allset resident roger > 0
then
unsayx 17
disable
end
;MISSION END STUFF******************************************************************
:LOOP 370
if
array curedsofar 1 = 1
then
unsayx 17
set wincriteria 1
disable
end
:LOOP380
if
wincriteria = 1
then
win "lev01_win01"
disable
end
:Loop385
if
wincriteria < 1
array deathssofar 1 = 1
zedemarrived = 1
then
unsayx 16
set wincriteria 2
disable
end
:LOOP395
if
wincriteria = 2
then
clear
lose "lev01_lose02"
disable
end
;INCREASING TARGS IN LINE WITH FACILITIES*******************************************
:Loop500
if
(satcom_count * 3) > targ_count
targwait < turn
then
set targwait (turn + 1000)
place_peep targ resident
place_peep targ resident
end
;if energy gets too low*************************************************************
:lowenergy100
if
energy < 20000
energy > 10000
turn > energyremind
then
say "lev01_energy01"
set energyremind (turn + 1000)
end
:lowenergy110
if
energy < 10000
turn > energyremind
then
say "lev01_energy02"
set energyremind (turn + 1000)
end
;Rubbish reminder*********************************************************************
:rubbish100
if
speechcount < 15
junk_count > 6
recycler_count > 0
resident_count > 3
then
set rubbishola after say "lev01_rubbish01"
disable
end
:rubbish200
if
speechcount < 15
junk_count > 6
rubbishola = 1
then
sayx 69 "lev01_rubbish01"
disable
end
;player losing crates without building rooms***********************************************
:portrotted100
if
wincriteria < 1
cargoexists hard_plan_crate port = 1
then
set portdelivered 1
disable
end
:portrotted200
if
wincriteria < 1
blueprint_count < 1
port_count < 1
cargoexists hard_plan_crate port = 0
portdelivered = 1
then
set portdelivered 2 after say "lev01_facilityrot01"
placeportable hard_plan_crate 12 18 sub_deck 1024 port
disable
end
:portrotted300
if
wincriteria < 1
portdelivered = 2
then
set portdelivered 3
disable
end
:portrotted400
if
wincriteria < 1
blueprint_count < 1
port_count < 1
cargoexists hard_plan_crate port = 0
portdelivered = 3
then
trigger :rotlosenotice
disable
end
;*************************************************************************
:satcomrotted100
if
wincriteria < 1
cargoexists hard_plan_crate satcom = 1
then
set satcomdelivered 1
disable
end
:satcomrotted200
if
wincriteria < 1
blueprint_count < 1
satcom_count < 2
cargoexists hard_plan_crate satcom = 0
satcomdelivered = 1
then
set satcomdelivered 2 after say "lev01_facilityrot01"
placeportable hard_plan_crate 12 18 sub_deck 1024 satcom
disable
end
:satcomrotted300
if
wincriteria < 1
blueprint_count < 1
satcom_count < 2
cargoexists hard_plan_crate satcom = 0
satcomdelivered = 2
then
trigger :rotlosenotice
disable
end
;***********************************************************************
:berthrotted100
if
wincriteria < 1
cargoexists hard_plan_crate berth = 1
then
set berthdelivered 1
disable
end
:berthrotted200
if
wincriteria < 1
blueprint_count < 1
berth_count < 1
cargoexists hard_plan_crate berth = 0
berthdelivered = 1
then
set berthdelivered 2 after say "lev01_facilityrot01"
placeportable hard_plan_crate 12 18 sub_deck 1024 berth
disable
end
:berthrotted300
if
wincriteria < 1
blueprint_count < 1
berth_count < 1
cargoexists hard_plan_crate berth = 0
portdelivered = 2
then
trigger :rotlosenotice
disable
end
;***********************************************************************
:lavotronrotted100
if
wincriteria < 1
cargoexists hard_plan_crate lavotron = 1
then
set lavotrondelivered 1
disable
end
:lavotronrotted200
if
wincriteria < 1
blueprint_count < 1
lavotron_count < 1
cargoexists hard_plan_crate lavotron = 0
lavotrondelivered = 1
then
set lavotrondelivered 2 after say "lev01_facilityrot01"
placeportable hard_plan_crate 12 18 sub_deck 1024 lavotron
disable
end
:lavotronrotted300
if
wincriteria < 1
blueprint_count < 1
lavotron_count < 1
cargoexists hard_plan_crate lavotron = 0
lavotrondelivered = 2
then
trigger :rotlosenotice
disable
end
;***********************************************************************
:vendorrotted100
if
wincriteria < 1
cargoexists hard_plan_crate vendor = 1
then
set vendordelivered 1
disable
end
:vendorrotted200
if
wincriteria < 1
blueprint_count < 1
vendor_count < 1
cargoexists hard_plan_crate vendor = 0
vendordelivered = 1
then
set vendordelivered 2 after say "lev01_facilityrot01"
placeportable hard_plan_crate 12 18 sub_deck 1024 vendor
disable
end
:vendorrotted300
if
wincriteria < 1
blueprint_count < 1
vendor_count < 1
cargoexists hard_plan_crate vendor = 0
vendordelivered = 2
then
trigger :rotlosenotice
disable
end
;***********************************************************************
:chargerrotted100
if
wincriteria < 1
cargoexists hard_plan_crate charger = 1
then
set chargerdelivered 1
disable
end
:chargerrotted200
if
wincriteria < 1
blueprint_count < 1
charger_count < 1
cargoexists hard_plan_crate charger = 0
chargerdelivered = 1
then
set chargerdelivered 2 after say "lev01_facilityrot01"
placeportable hard_plan_crate 12 18 sub_deck 1024 charger
disable
end
:chargerrotted300
if
wincriteria < 1
blueprint_count < 1
charger_count < 1
cargoexists hard_plan_crate charger = 0
chargerdelivered = 2
then
trigger :rotlosenotice
disable
end
;***********************************************************************
:techberthrotted100
if
wincriteria < 1
cargoexists technology_crate @berths = 1
then
set techberthdelivered 1
disable
end
:techberthrotted200
if
wincriteria < 1
@berths < 1
cargoexists technology_crate @berths = 0
techberthdelivered = 1
then
set techberthdelivered 2 after say "lev01_techrot01"
placeportable technology_crate 12 18 sub_deck 1024 @berths
disable
end
:techberthrotted300
if
wincriteria < 1
@berths < 1
cargoexists technology_crate @berths = 0
techberthdelivered = 2
then
trigger :rotlosenotice
disable
end
;***********************************************************************
:techlavotronrotted100
if
wincriteria < 1
cargoexists technology_crate @lavotron = 1
then
set techlavotrondelivered 1
disable
end
:techlavotronrotted200
if
wincriteria < 1
@lavotron < 1
cargoexists technology_crate @lavotron = 0
techlavotrondelivered = 1
then
set techlavotrondelivered 2 after say "lev01_techrot01"
placeportable technology_crate 12 18 sub_deck 1024 @lavotron
disable
end
:techlavotronrotted300
if
wincriteria < 1
@lavotron < 1
cargoexists technology_crate @lavotron = 0
techlavotrondelivered = 2
then
trigger :rotlosenotice
disable
end
;***********************************************************************
:techvendorrotted100
if
wincriteria < 1
cargoexists technology_crate @vendor = 1
then
set techvendordelivered 1
disable
end
:techvendorrotted200
if
wincriteria < 1
@vendor < 1
cargoexists technology_crate @vendor = 0
techvendordelivered = 1
then
set techvendordelivered 2 after say "lev01_techrot01"
placeportable technology_crate 12 18 sub_deck 1024 @vendor
disable
end
:techvendorrotted300
if
wincriteria < 1
@vendor < 1
cargoexists technology_crate @vendor = 0
techvendordelivered = 2
then
trigger :rotlosenotice
disable
end
;*******************************************************
:droidrotted100
if
wincriteria < 1
cargoexists scutter_crate 1 = 1
then
set droiddelivered 1
disable
end
:droidrotted200
if
wincriteria < 1
scutter_count < 1
cargoexists scutter_crate 1 = 0
droiddelivered = 1
then
set droiddelivered 2 after say "lev03_droidrot01"
placeportable scutter_crate 2 13 sub_deck 100 1
disable
end
:droidrotted300
if
wincriteria < 1
scutter_count < 1
cargoexists scutter_crate 1 = 0
droiddelivered = 2
then
trigger :rotlosenotice
disable
end
;LOSE GAME IF YOU KEEP LETTING STUFF ROT*****************************************
:rotlosenotice
if
0
then
set loserino 1
disable
end
:rotlose
if
loserino = 1
then
lose "lev01_rotter01"
disable
end
;************************************************************************************
:deathfines100
if
deathssofar > paiddeaths
then
addenergy (0 - 1000)
set paiddeaths (deathssofar)
end