-
Notifications
You must be signed in to change notification settings - Fork 10
/
script14.s
131 lines (112 loc) · 4.31 KB
/
script14.s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
include macros.s
include mainsym.s
; Script 14, parking garage conversation
org scriptCodeStart
dc.w Scientist2
dc.w GarageComputer
; Scientist 2 conversation
;
; Parameters: -
; Returns: -
; Modifies: various
Scientist2: ldy #C_SCIENTIST ;Ensure sprite file on the same frame as first script exec
jsr EnsureSpriteFile
lda actXH+ACTI_PLAYER ;Wait until player close enough
cmp #$37
bcc S2_Wait
cmp #$3c
bcs S2_Wait
lda actYH+ACTI_PLAYER
cmp #$29
bcs S2_Wait
lda actMB+ACTI_PLAYER
lsr
bcc S2_Wait
lda scriptVariable
asl
tay
lda S2_JumpTbl,y
sta S2_Jump+1
lda S2_JumpTbl+1,y
sta S2_Jump+2
S2_Jump: jmp $0000
S2_Wait: rts
S2_JumpTbl: dc.w S2_Dialogue1
dc.w S2_Dialogue2
dc.w S2_Dialogue3
dc.w S2_Dialogue4
S2_Dialogue1: jsr AddQuestScore
inc scriptVariable
ldy #ACT_SCIENTIST2
gettext txtParkingGarage1
jmp SpeakLine
S2_Dialogue2: inc scriptVariable
ldy #ACT_SCIENTIST3
gettext txtParkingGarage2
jmp SpeakLine
S2_Dialogue3: inc scriptVariable
ldy #ACT_SCIENTIST2
gettext txtParkingGarage3
jmp SpeakLine
S2_Dialogue4: lda #ITEM_COMMGEAR
ldx #1
jsr AddItem
ldx actIndex
lda #$00
sta temp4
lda #ITEM_SECURITYPASS
jsr DI_ItemNumber
lda actD,x
asl
lda #$7f
adc #$00
ldx temp8
jsr MoveActorX ;Move item to scientist's facing direction
lda #-16*8
jsr MoveActorY
lda #SFX_PICKUP
jsr PlaySfx
lda #$00
sta actScriptF ;No more script exec here
ldy #ACT_SCIENTIST2
gettext txtParkingGarage4
jmp SpeakLine
; Computer in garage script
;
; Parameters: -
; Returns: -
; Modifies: various
GarageComputer: jsr SetupTextScreen
gettext txtGarageComputer
ldy #0
sty temp1
sty temp2
jsr PrintMultipleRows
jsr WaitForExit
jmp CenterPlayer
; Messages
txtParkingGarage1:
dc.b 34,"I SEE VIKTOR DIDN'T MAKE IT. BUT YOU DID, THAT'S WHAT COUNTS. AMOS, NANOSURGEON. SHE'S LINDA, CYBER-PSYCHOLOGIST. "
dc.b "YOU'VE SEEN HOW OUR CREATIONS HAVE TURNED ON US. TOTAL INTERNET AND PHONE BLACKOUT. WE'RE STUCK AND HELP IS UNLIKELY. "
dc.b "AS THE ONLY ENHANCED PERSON IN THIS ROOM, RIGHT NOW YOU'RE OUR BEST BET.",34,0
txtParkingGarage2:
dc.b 34,"COMMON SENSE WOULD DICTATE WE ATTEMPT TO ESCAPE. BUT THESE MACHINES' HIGHLY COORDINATED ACTIONS "
dc.b "SUGGEST A CENTRAL AI, WHICH I DIDN'T KNOW WE HAD DEVELOPED. "
dc.b "THERE MAY BE MORE THAN OUR LIVES AT STAKE.",34,0
txtParkingGarage3:
dc.b 34,"YES. WE MUST FIND OUT THEIR ULTIMATE AIM BEYOND JUST KILLING EVERYONE. "
dc.b "TAKE THIS SECURITY PASS TO ACCESS THE UPPER LABS, PLUS A WIRELESS CAMERA/RADIO "
dc.b "SET SO WE CAN STAY IN TOUCH.",34,0
txtParkingGarage4:
dc.b 34,"GOOD LUCK.",34,0
txtGarageComputer:
;0123456789012345678901234567890123456789
dc.b "SEQUENCE OF EVENTS:",0
dc.b " ",0
dc.b "1. 'HESSIAN' PROJECT CANCELLED",0
dc.b "2. NORMAN GOES MISSING",0
dc.b "3. ???",0
dc.b "4. LOSS OF OUTSIDE CONNECTIVITY",0
dc.b "5. COMBAT ROBOTS ATTACK PERSONNEL,",0
dc.b " CONTROL OVER THEM LOST",0,0
checkscriptend