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
|
DisplayDexRating:
ld hl, wPokedexSeen
ld b, wPokedexSeenEnd - wPokedexSeen
call CountSetBits
ld a, [wNumSetBits]
ldh [hDexRatingNumMonsSeen], a
ld hl, wPokedexOwned
ld b, wPokedexOwnedEnd - wPokedexOwned
call CountSetBits
ld a, [wNumSetBits]
ldh [hDexRatingNumMonsOwned], a
ld hl, DexRatingsTable
.findRating
ld a, [hli]
ld b, a
ldh a, [hDexRatingNumMonsOwned]
cp b
jr c, .foundRating
inc hl
inc hl
jr .findRating
.foundRating
ld a, [hli]
ld h, [hl]
ld l, a ; load text pointer into hl
CheckAndResetEventA EVENT_HALL_OF_FAME_DEX_RATING
jr nz, .hallOfFame
push hl
ld hl, DexCompletionText
call PrintText
pop hl
call PrintText
farcall PlayPokedexRatingSfx
jp WaitForTextScrollButtonPress
.hallOfFame
ld de, wDexRatingNumMonsSeen
ldh a, [hDexRatingNumMonsSeen]
ld [de], a
inc de
ldh a, [hDexRatingNumMonsOwned]
ld [de], a
inc de
.copyRatingTextLoop
ld a, [hli]
cp '@'
jr z, .doneCopying
ld [de], a
inc de
jr .copyRatingTextLoop
.doneCopying
ld [de], a
ret
DexCompletionText:
text_far _DexCompletionText
text_end
DexRatingsTable:
dbw 10, DexRatingText_Own0To9
dbw 20, DexRatingText_Own10To19
dbw 30, DexRatingText_Own20To29
dbw 40, DexRatingText_Own30To39
dbw 50, DexRatingText_Own40To49
dbw 60, DexRatingText_Own50To59
dbw 70, DexRatingText_Own60To69
dbw 80, DexRatingText_Own70To79
dbw 90, DexRatingText_Own80To89
dbw 100, DexRatingText_Own90To99
dbw 110, DexRatingText_Own100To109
dbw 120, DexRatingText_Own110To119
dbw 130, DexRatingText_Own120To129
dbw 140, DexRatingText_Own130To139
dbw 150, DexRatingText_Own140To149
dbw NUM_POKEMON + 1, DexRatingText_Own150To151
DexRatingText_Own0To9:
text_far _DexRatingText_Own0To9
text_end
DexRatingText_Own10To19:
text_far _DexRatingText_Own10To19
text_end
DexRatingText_Own20To29:
text_far _DexRatingText_Own20To29
text_end
DexRatingText_Own30To39:
text_far _DexRatingText_Own30To39
text_end
DexRatingText_Own40To49:
text_far _DexRatingText_Own40To49
text_end
DexRatingText_Own50To59:
text_far _DexRatingText_Own50To59
text_end
DexRatingText_Own60To69:
text_far _DexRatingText_Own60To69
text_end
DexRatingText_Own70To79:
text_far _DexRatingText_Own70To79
text_end
DexRatingText_Own80To89:
text_far _DexRatingText_Own80To89
text_end
DexRatingText_Own90To99:
text_far _DexRatingText_Own90To99
text_end
DexRatingText_Own100To109:
text_far _DexRatingText_Own100To109
text_end
DexRatingText_Own110To119:
text_far _DexRatingText_Own110To119
text_end
DexRatingText_Own120To129:
text_far _DexRatingText_Own120To129
text_end
DexRatingText_Own130To139:
text_far _DexRatingText_Own130To139
text_end
DexRatingText_Own140To149:
text_far _DexRatingText_Own140To149
text_end
DexRatingText_Own150To151:
text_far _DexRatingText_Own150To151
text_end
|