route24.asm 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. Route24Script:
  2. call EnableAutoTextBoxDrawing
  3. ld hl, Route24TrainerHeader0
  4. ld de, Route24ScriptPointers
  5. ld a, [wRoute24CurScript]
  6. call ExecuteCurMapScriptInTable
  7. ld [wRoute24CurScript], a
  8. ret
  9. Route24Script_513c0:
  10. xor a
  11. ld [wJoyIgnore], a
  12. ld [wRoute24CurScript], a
  13. ld [wCurMapScript], a
  14. ret
  15. Route24ScriptPointers:
  16. dw Route24Script0
  17. dw DisplayEnemyTrainerTextAndStartBattle
  18. dw EndTrainerBattle
  19. dw Route24Script3
  20. dw Route24Script4
  21. Route24Script0:
  22. CheckEvent EVENT_GOT_NUGGET
  23. jp nz, CheckFightingMapTrainers
  24. ld hl, CoordsData_5140e
  25. call ArePlayerCoordsInArray
  26. jp nc, CheckFightingMapTrainers
  27. xor a
  28. ld [hJoyHeld], a
  29. ld a, $1
  30. ld [hSpriteIndexOrTextID], a
  31. call DisplayTextID
  32. CheckAndResetEvent EVENT_NUGGET_REWARD_AVAILABLE
  33. ret z
  34. ld a, D_DOWN
  35. ld [wSimulatedJoypadStatesEnd], a
  36. ld a, $1
  37. ld [wSimulatedJoypadStatesIndex], a
  38. call StartSimulatingJoypadStates
  39. ld a, $4
  40. ld [wRoute24CurScript], a
  41. ld [wCurMapScript], a
  42. ret
  43. CoordsData_5140e:
  44. db $0F,$0A,$FF
  45. Route24Script4:
  46. ld a, [wSimulatedJoypadStatesIndex]
  47. and a
  48. ret nz
  49. call Delay3
  50. ld a, $0
  51. ld [wRoute24CurScript], a
  52. ld [wCurMapScript], a
  53. ret
  54. Route24Script3:
  55. ld a, [wIsInBattle]
  56. cp $ff
  57. jp z, Route24Script_513c0
  58. call UpdateSprites
  59. ld a, $f0
  60. ld [wJoyIgnore], a
  61. SetEvent EVENT_BEAT_ROUTE24_ROCKET
  62. ld a, $1
  63. ld [hSpriteIndexOrTextID], a
  64. call DisplayTextID
  65. xor a
  66. ld [wJoyIgnore], a
  67. ld a, $0
  68. ld [wRoute24CurScript], a
  69. ld [wCurMapScript], a
  70. ret
  71. Route24TextPointers:
  72. dw Route24Text1
  73. dw Route24Text2
  74. dw Route24Text3
  75. dw Route24Text4
  76. dw Route24Text5
  77. dw Route24Text6
  78. dw Route24Text7
  79. dw PickUpItemText
  80. Route24TrainerHeader0:
  81. dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_0
  82. db ($4 << 4) ; trainer's view range
  83. dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_0
  84. dw Route24BattleText1 ; TextBeforeBattle
  85. dw Route24AfterBattleText1 ; TextAfterBattle
  86. dw Route24EndBattleText1 ; TextEndBattle
  87. dw Route24EndBattleText1 ; TextEndBattle
  88. Route24TrainerHeader1:
  89. dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_1
  90. db ($1 << 4) ; trainer's view range
  91. dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_1
  92. dw Route24BattleText2 ; TextBeforeBattle
  93. dw Route24AfterBattleText2 ; TextAfterBattle
  94. dw Route24EndBattleText2 ; TextEndBattle
  95. dw Route24EndBattleText2 ; TextEndBattle
  96. Route24TrainerHeader2:
  97. dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_2
  98. db ($1 << 4) ; trainer's view range
  99. dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_2
  100. dw Route24BattleText3 ; TextBeforeBattle
  101. dw Route24AfterBattleText3 ; TextAfterBattle
  102. dw Route24EndBattleText3 ; TextEndBattle
  103. dw Route24EndBattleText3 ; TextEndBattle
  104. Route24TrainerHeader3:
  105. dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_3
  106. db ($1 << 4) ; trainer's view range
  107. dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_3
  108. dw Route24BattleText4 ; TextBeforeBattle
  109. dw Route24AfterBattleText4 ; TextAfterBattle
  110. dw Route24EndBattleText4 ; TextEndBattle
  111. dw Route24EndBattleText4 ; TextEndBattle
  112. Route24TrainerHeader4:
  113. dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_4
  114. db ($1 << 4) ; trainer's view range
  115. dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_4
  116. dw Route24BattleText5 ; TextBeforeBattle
  117. dw Route24AfterBattleText5 ; TextAfterBattle
  118. dw Route24EndBattleText5 ; TextEndBattle
  119. dw Route24EndBattleText5 ; TextEndBattle
  120. Route24TrainerHeader5:
  121. dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_5
  122. db ($1 << 4) ; trainer's view range
  123. dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_5
  124. dw Route24BattleText6 ; TextBeforeBattle
  125. dw Route24AfterBattleText6 ; TextAfterBattle
  126. dw Route24EndBattleText6 ; TextEndBattle
  127. dw Route24EndBattleText6 ; TextEndBattle
  128. db $ff
  129. Route24Text1:
  130. TX_ASM
  131. ResetEvent EVENT_NUGGET_REWARD_AVAILABLE
  132. CheckEvent EVENT_GOT_NUGGET
  133. jr nz, .asm_514f9
  134. ld hl, Route24Text_51510
  135. call PrintText
  136. lb bc, NUGGET, 1
  137. call GiveItem
  138. jr nc, .BagFull
  139. SetEvent EVENT_GOT_NUGGET
  140. ld hl, Route24Text_5151a
  141. call PrintText
  142. ld hl, Route24Text_51526
  143. call PrintText
  144. ld hl, wd72d
  145. set 6, [hl]
  146. set 7, [hl]
  147. ld hl, Route24Text_5152b
  148. ld de, Route24Text_5152b
  149. call SaveEndBattleTextPointers
  150. ld a, [hSpriteIndexOrTextID]
  151. ld [wSpriteIndex], a
  152. call EngageMapTrainer
  153. call InitBattleEnemyParameters
  154. xor a
  155. ld [hJoyHeld], a
  156. ld a, $3
  157. ld [wRoute24CurScript], a
  158. ld [wCurMapScript], a
  159. jp TextScriptEnd
  160. .asm_514f9
  161. ld hl, Route24Text_51530
  162. call PrintText
  163. jp TextScriptEnd
  164. .BagFull
  165. ld hl, Route24Text_51521
  166. call PrintText
  167. SetEvent EVENT_NUGGET_REWARD_AVAILABLE
  168. jp TextScriptEnd
  169. Route24Text_51510:
  170. TX_FAR _Route24Text_51510
  171. TX_SFX_ITEM_1
  172. TX_FAR _Route24Text_51515
  173. db "@"
  174. Route24Text_5151a:
  175. TX_FAR _Route24Text_5151a
  176. TX_SFX_ITEM_1
  177. TX_BLINK
  178. db "@"
  179. Route24Text_51521:
  180. TX_FAR _Route24Text_51521
  181. db "@"
  182. Route24Text_51526:
  183. TX_FAR _Route24Text_51526
  184. db "@"
  185. Route24Text_5152b:
  186. TX_FAR _Route24Text_5152b
  187. db "@"
  188. Route24Text_51530:
  189. TX_FAR _Route24Text_51530
  190. db "@"
  191. Route24Text2:
  192. TX_ASM
  193. ld hl, Route24TrainerHeader0
  194. call TalkToTrainer
  195. jp TextScriptEnd
  196. Route24Text3:
  197. TX_ASM
  198. ld hl, Route24TrainerHeader1
  199. call TalkToTrainer
  200. jp TextScriptEnd
  201. Route24Text4:
  202. TX_ASM
  203. ld hl, Route24TrainerHeader2
  204. call TalkToTrainer
  205. jp TextScriptEnd
  206. Route24Text5:
  207. TX_ASM
  208. ld hl, Route24TrainerHeader3
  209. call TalkToTrainer
  210. jp TextScriptEnd
  211. Route24Text6:
  212. TX_ASM
  213. ld hl, Route24TrainerHeader4
  214. call TalkToTrainer
  215. jp TextScriptEnd
  216. Route24Text7:
  217. TX_ASM
  218. ld hl, Route24TrainerHeader5
  219. call TalkToTrainer
  220. jp TextScriptEnd
  221. Route24BattleText1:
  222. TX_FAR _Route24BattleText1
  223. db "@"
  224. Route24EndBattleText1:
  225. TX_FAR _Route24EndBattleText1
  226. db "@"
  227. Route24AfterBattleText1:
  228. TX_FAR _Route24AfterBattleText1
  229. db "@"
  230. Route24BattleText2:
  231. TX_FAR _Route24BattleText2
  232. db "@"
  233. Route24EndBattleText2:
  234. TX_FAR _Route24EndBattleText2
  235. db "@"
  236. Route24AfterBattleText2:
  237. TX_FAR _Route24AfterBattleText2
  238. db "@"
  239. Route24BattleText3:
  240. TX_FAR _Route24BattleText3
  241. db "@"
  242. Route24EndBattleText3:
  243. TX_FAR _Route24EndBattleText3
  244. db "@"
  245. Route24AfterBattleText3:
  246. TX_FAR _Route24AfterBattleText3
  247. db "@"
  248. Route24BattleText4:
  249. TX_FAR _Route24BattleText4
  250. db "@"
  251. Route24EndBattleText4:
  252. TX_FAR _Route24EndBattleText4
  253. db "@"
  254. Route24AfterBattleText4:
  255. TX_FAR _Route24AfterBattleText4
  256. db "@"
  257. Route24BattleText5:
  258. TX_FAR _Route24BattleText5
  259. db "@"
  260. Route24EndBattleText5:
  261. TX_FAR _Route24EndBattleText5
  262. db "@"
  263. Route24AfterBattleText5:
  264. TX_FAR _Route24AfterBattleText5
  265. db "@"
  266. Route24BattleText6:
  267. TX_FAR _Route24BattleText6
  268. db "@"
  269. Route24EndBattleText6:
  270. TX_FAR _Route24EndBattleText6
  271. db "@"
  272. Route24AfterBattleText6:
  273. TX_FAR _Route24AfterBattleText6
  274. db "@"