fanclub.asm 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. FanClubScript:
  2. jp EnableAutoTextBoxDrawing
  3. FanClubBikeInBag:
  4. ; check if any bike paraphernalia in bag
  5. CheckEvent EVENT_GOT_BIKE_VOUCHER
  6. ret nz
  7. ld b, BICYCLE
  8. call IsItemInBag
  9. ret nz
  10. ld b, BIKE_VOUCHER
  11. jp IsItemInBag
  12. FanClubTextPointers:
  13. dw FanClubText1
  14. dw FanClubText2
  15. dw FanClubText3
  16. dw FanClubText4
  17. dw FanClubText5
  18. dw FanClubText6
  19. dw FanClubText7
  20. dw FanClubText8
  21. FanClubText1:
  22. ; pikachu fan
  23. TX_ASM
  24. CheckEvent EVENT_PIKACHU_FAN_BOAST
  25. jr nz, .mineisbetter
  26. ld hl, .normaltext
  27. call PrintText
  28. SetEvent EVENT_SEEL_FAN_BOAST
  29. jr .done
  30. .mineisbetter
  31. ld hl, .bettertext
  32. call PrintText
  33. ResetEvent EVENT_PIKACHU_FAN_BOAST
  34. .done
  35. jp TextScriptEnd
  36. .normaltext
  37. TX_FAR PikachuFanText
  38. db "@"
  39. .bettertext
  40. TX_FAR PikachuFanBetterText
  41. db "@"
  42. FanClubText2:
  43. ; seel fan
  44. TX_ASM
  45. CheckEvent EVENT_SEEL_FAN_BOAST
  46. jr nz, .mineisbetter
  47. ld hl, .normaltext
  48. call PrintText
  49. SetEvent EVENT_PIKACHU_FAN_BOAST
  50. jr .done
  51. .mineisbetter
  52. ld hl, .bettertext
  53. call PrintText
  54. ResetEvent EVENT_SEEL_FAN_BOAST
  55. .done
  56. jp TextScriptEnd
  57. .normaltext
  58. TX_FAR SeelFanText
  59. db "@"
  60. .bettertext
  61. TX_FAR SeelFanBetterText
  62. db "@"
  63. FanClubText3:
  64. ; pikachu
  65. TX_ASM
  66. ld hl, .text
  67. call PrintText
  68. ld a, PIKACHU
  69. call PlayCry
  70. call WaitForSoundToFinish
  71. jp TextScriptEnd
  72. .text
  73. TX_FAR FanClubPikachuText
  74. db "@"
  75. FanClubText4:
  76. ; seel
  77. TX_ASM
  78. ld hl, .text
  79. call PrintText
  80. ld a, SEEL
  81. call PlayCry
  82. call WaitForSoundToFinish
  83. jp TextScriptEnd
  84. .text
  85. TX_FAR FanClubSeelText
  86. db "@"
  87. FanClubText5:
  88. ; chair
  89. TX_ASM
  90. call FanClubBikeInBag
  91. jr nz, .nothingleft
  92. ld hl, .meetchairtext
  93. call PrintText
  94. call YesNoChoice
  95. ld a, [wCurrentMenuItem]
  96. and a
  97. jr nz, .nothanks
  98. ; tell the story
  99. ld hl, .storytext
  100. call PrintText
  101. lb bc, BIKE_VOUCHER, 1
  102. call GiveItem
  103. jr nc, .BagFull
  104. ld hl, .receivedvouchertext
  105. call PrintText
  106. SetEvent EVENT_GOT_BIKE_VOUCHER
  107. jr .done
  108. .BagFull
  109. ld hl, .bagfulltext
  110. call PrintText
  111. jr .done
  112. .nothanks
  113. ld hl, .nostorytext
  114. call PrintText
  115. jr .done
  116. .nothingleft
  117. ld hl, .finaltext
  118. call PrintText
  119. .done
  120. jp TextScriptEnd
  121. .meetchairtext
  122. TX_FAR FanClubMeetChairText
  123. db "@"
  124. .storytext
  125. TX_FAR FanClubChairStoryText
  126. db "@"
  127. .receivedvouchertext
  128. TX_FAR ReceivedBikeVoucherText
  129. TX_SFX_KEY_ITEM
  130. TX_FAR ExplainBikeVoucherText
  131. db "@"
  132. .nostorytext
  133. TX_FAR FanClubNoStoryText
  134. db "@"
  135. .finaltext
  136. TX_FAR FanClubChairFinalText
  137. db "@"
  138. .bagfulltext
  139. TX_FAR FanClubBagFullText
  140. db "@"
  141. FanClubText6:
  142. TX_FAR _FanClubText6
  143. db "@"
  144. FanClubText7:
  145. TX_FAR _FanClubText7
  146. db "@"
  147. FanClubText8:
  148. TX_FAR _FanClubText8
  149. db "@"