pokedex_rating.asm 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. DisplayDexRating:
  2. ld hl, wPokedexSeen
  3. ld b, wPokedexSeenEnd - wPokedexSeen
  4. call CountSetBits
  5. ld a, [wNumSetBits]
  6. ld [hDexRatingNumMonsSeen], a
  7. ld hl, wPokedexOwned
  8. ld b, wPokedexOwnedEnd - wPokedexOwned
  9. call CountSetBits
  10. ld a, [wNumSetBits]
  11. ld [hDexRatingNumMonsOwned], a
  12. ld hl, DexRatingsTable
  13. .findRating
  14. ld a, [hli]
  15. ld b, a
  16. ld a, [hDexRatingNumMonsOwned]
  17. cp b
  18. jr c, .foundRating
  19. inc hl
  20. inc hl
  21. jr .findRating
  22. .foundRating
  23. ld a, [hli]
  24. ld h, [hl]
  25. ld l, a ; load text pointer into hl
  26. CheckAndResetEventA EVENT_HALL_OF_FAME_DEX_RATING
  27. jr nz, .hallOfFame
  28. push hl
  29. ld hl, PokedexRatingText_441cc
  30. call PrintText
  31. pop hl
  32. call PrintText
  33. callba PlayPokedexRatingSfx
  34. jp WaitForTextScrollButtonPress
  35. .hallOfFame
  36. ld de, wDexRatingNumMonsSeen
  37. ld a, [hDexRatingNumMonsSeen]
  38. ld [de], a
  39. inc de
  40. ld a, [hDexRatingNumMonsOwned]
  41. ld [de], a
  42. inc de
  43. .copyRatingTextLoop
  44. ld a, [hli]
  45. cp "@"
  46. jr z, .doneCopying
  47. ld [de], a
  48. inc de
  49. jr .copyRatingTextLoop
  50. .doneCopying
  51. ld [de], a
  52. ret
  53. PokedexRatingText_441cc:
  54. TX_FAR _OaksLabText_441cc
  55. db "@"
  56. DexRatingsTable:
  57. db 10
  58. dw PokedexRatingText_44201
  59. db 20
  60. dw PokedexRatingText_44206
  61. db 30
  62. dw PokedexRatingText_4420b
  63. db 40
  64. dw PokedexRatingText_44210
  65. db 50
  66. dw PokedexRatingText_44215
  67. db 60
  68. dw PokedexRatingText_4421a
  69. db 70
  70. dw PokedexRatingText_4421f
  71. db 80
  72. dw PokedexRatingText_44224
  73. db 90
  74. dw PokedexRatingText_44229
  75. db 100
  76. dw PokedexRatingText_4422e
  77. db 110
  78. dw PokedexRatingText_44233
  79. db 120
  80. dw PokedexRatingText_44238
  81. db 130
  82. dw PokedexRatingText_4423d
  83. db 140
  84. dw PokedexRatingText_44242
  85. db 150
  86. dw PokedexRatingText_44247
  87. db 152
  88. dw PokedexRatingText_4424c
  89. PokedexRatingText_44201:
  90. TX_FAR _OaksLabText_44201
  91. db "@"
  92. PokedexRatingText_44206:
  93. TX_FAR _OaksLabText_44206
  94. db "@"
  95. PokedexRatingText_4420b:
  96. TX_FAR _OaksLabText_4420b
  97. db "@"
  98. PokedexRatingText_44210:
  99. TX_FAR _OaksLabText_44210
  100. db "@"
  101. PokedexRatingText_44215:
  102. TX_FAR _OaksLabText_44215
  103. db "@"
  104. PokedexRatingText_4421a:
  105. TX_FAR _OaksLabText_4421a
  106. db "@"
  107. PokedexRatingText_4421f:
  108. TX_FAR _OaksLabText_4421f
  109. db "@"
  110. PokedexRatingText_44224:
  111. TX_FAR _OaksLabText_44224
  112. db "@"
  113. PokedexRatingText_44229:
  114. TX_FAR _OaksLabText_44229
  115. db "@"
  116. PokedexRatingText_4422e:
  117. TX_FAR _OaksLabText_4422e
  118. db "@"
  119. PokedexRatingText_44233:
  120. TX_FAR _OaksLabText_44233
  121. db "@"
  122. PokedexRatingText_44238:
  123. TX_FAR _OaksLabText_44238
  124. db "@"
  125. PokedexRatingText_4423d:
  126. TX_FAR _OaksLabText_4423d
  127. db "@"
  128. PokedexRatingText_44242:
  129. TX_FAR _OaksLabText_44242
  130. db "@"
  131. PokedexRatingText_44247:
  132. TX_FAR _OaksLabText_44247
  133. db "@"
  134. PokedexRatingText_4424c:
  135. TX_FAR _OaksLabText_4424c
  136. db "@"