summaryrefslogtreecommitdiff
path: root/scripts/pokemontower2.asm
blob: 4554413ad9442466eaeb206229c1df621cf798cc (plain)
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
PokemonTower2Script: ; 604f2 (18:44f2)
	call EnableAutoTextBoxDrawing
	ld hl, PokemonTower2ScriptPointers
	ld a, [W_POKEMONTOWER2CURSCRIPT]
	jp CallFunctionInTable

PokemonTower2Script_604fe: ; 604fe (18:44fe)
	xor a
	ld [wJoypadForbiddenButtonsMask], a
	ld [W_POKEMONTOWER2CURSCRIPT], a
	ld [W_CURMAPSCRIPT], a
	ret

PokemonTower2ScriptPointers: ; 60509 (18:4509)
	dw PokemonTower2Script0
	dw PokemonTower2Script1
	dw PokemonTower2Script2

PokemonTower2Script0: ; 6050f (18:450f)
	ld a, [$d764]
	bit 7, a
	ret nz
	ld hl, CoordsData_6055e ; $455e
	call ArePlayerCoordsInArray
	ret nc
	ld a, $ff
	ld [$c0ee], a
	call PlaySound
	ld c, BANK(Music_MeetRival)
	ld a, MUSIC_MEET_RIVAL
	call PlayMusic
	ld hl, $d764
	res 6, [hl]
	ld a, [$cd3d]
	cp $1
	ld a, $8
	ld b, $0
	jr nz, .asm_60544 ; 0x60539 $9
	ld hl, $d764
	set 6, [hl]
	ld a, $2
	ld b, $c
.asm_60544
	ld [$d528], a
	ld a, $1
	ld [$ff8c], a
	ld a, b
	ld [$ff8d], a
	call Func_34a6
	ld a, $1
	ld [$ff8c], a
	call DisplayTextID
	xor a
	ld [H_CURRENTPRESSEDBUTTONS], a
	ld [H_NEWLYPRESSEDBUTTONS], a
	ret

CoordsData_6055e: ; 6055e (18:455e)
	db $05,$0F
	db $06,$0E
	db $0F ; isn't this supposed to end in $ff?

PokemonTower2Script1: ; 60563 (18:4563)
	ld a, [$d057]
	cp $ff
	jp z, PokemonTower2Script_604fe
	ld a, $f0
	ld [wJoypadForbiddenButtonsMask], a
	ld hl, $d764
	set 7, [hl]
	ld a, $1
	ld [$ff8c], a
	call DisplayTextID
	ld de, MovementData_605b2
	ld a, [$d764]
	bit 6, a
	jr nz, .asm_60589 ; 0x60584 $3
	ld de, MovementData_605a9
.asm_60589
	ld a, $1
	ld [$ff8c], a
	call MoveSprite
	ld a, $ff
	ld [$c0ee], a
	call PlaySound
	callba Music_RivalAlternateStart
	ld a, $2
	ld [W_POKEMONTOWER2CURSCRIPT], a
	ld [W_CURMAPSCRIPT], a
	ret

MovementData_605a9: ; 605a9 (18:45a9)
	db $C0,$00,$00,$C0,$00,$00,$C0,$C0,$FF

MovementData_605b2: ; 605b2 (18:45b2)
	db $00,$00,$C0,$C0,$C0,$C0,$00,$00,$FF

PokemonTower2Script2: ; 605bb (18:45bb)
	ld a, [$d730]
	bit 0, a
	ret nz
	ld a, $38
	ld [$cc4d], a
	ld a, $11
	call Predef
	xor a
	ld [wJoypadForbiddenButtonsMask], a
	call Func_2307
	ld a, $0
	ld [W_POKEMONTOWER2CURSCRIPT], a
	ld [W_CURMAPSCRIPT], a
	ret

PokemonTower2TextPointers: ; 605db (18:45db)
	dw PokemonTower2Text1
	dw PokemonTower2Text2

PokemonTower2Text1: ; 605df (18:45df)
	db $08 ; asm
	ld a, [$d764]
	bit 7, a
	jr z, .asm_16f24 ; 0x605e5
	ld hl, PokemonTower2Text_6063c
	call PrintText
	jr .asm_41852 ; 0x605ed
.asm_16f24 ; 0x605ef
	ld hl, PokemonTower2Text_6062d
	call PrintText
	ld hl, $d72d
	set 6, [hl]
	set 7, [hl]
	ld hl, PokemonTower2Text_60632
	ld de, PokemonTower2Text_60637 ; XXX $4637
	call PreBattleSaveRegisters
	ld a, SONY2 + $c8
	ld [W_CUROPPONENT], a

	; select which team to use during the encounter
	ld a, [W_RIVALSTARTER]
	cp STARTER2
	jr nz, .NotSquirtle ; 0x6060f
	ld a, $4
	jr .done
.NotSquirtle ; 0x60615
	cp STARTER3
	jr nz, .Charmander ; 0x60617
	ld a, $5
	jr .done
.Charmander ; 0x6061d
	ld a, $6
.done
	ld [W_TRAINERNO], a

	ld a, $1
	ld [W_POKEMONTOWER2CURSCRIPT], a
	ld [W_CURMAPSCRIPT], a
.asm_41852 ; 0x6062a
	jp TextScriptEnd

PokemonTower2Text_6062d: ; 6062d (18:462d)
	TX_FAR _PokemonTower2Text_6062d
	db "@"

PokemonTower2Text_60632: ; 60632 (18:4632)
	TX_FAR _PokemonTower2Text_60632
	db "@"

PokemonTower2Text_60637: ; 60637 (18:4637)
	TX_FAR _PokemonTower2Text_60637
	db "@"

PokemonTower2Text_6063c: ; 6063c (18:463c)
	TX_FAR _PokemonTower2Text_6063c
	db "@"

PokemonTower2Text2: ; 60641 (18:4641)
	TX_FAR _PokemonTower2Text2
	db "@"