pokered/engine/events/cinnabar_lab.asm

124 lines
2.2 KiB
NASM
Raw Normal View History

GiveFossilToCinnabarLab::
ld hl, wd730
2014-05-22 22:13:20 +00:00
set 6, [hl]
xor a
ld [wCurrentMenuItem], a
2015-07-24 21:57:49 +00:00
ld a, A_BUTTON | B_BUTTON
ld [wMenuWatchedKeys], a
2015-08-13 05:14:31 +00:00
ld a, [wFilteredBagItemsCount]
2014-05-22 22:13:20 +00:00
dec a
ld [wMaxMenuItem], a
2015-07-24 21:57:49 +00:00
ld a, 2
ld [wTopMenuItemY], a
2015-07-24 21:57:49 +00:00
ld a, 1
ld [wTopMenuItemX], a
2015-08-13 05:14:31 +00:00
ld a, [wFilteredBagItemsCount]
2014-05-22 22:13:20 +00:00
dec a
2015-07-24 21:57:49 +00:00
ld bc, 2
ld hl, 3
2014-05-22 22:13:20 +00:00
call AddNTimes
dec l
ld b, l
ld c, $d
hlcoord 0, 0
2014-05-22 22:13:20 +00:00
call TextBoxBorder
call UpdateSprites
2015-07-24 21:57:49 +00:00
call PrintFossilsInBag
ld hl, wd730
2014-05-22 22:13:20 +00:00
res 6, [hl]
call HandleMenuInput
2015-07-24 21:57:49 +00:00
bit 1, a ; pressed B?
jr nz, .cancelledGivingFossil
2015-08-13 05:14:31 +00:00
ld hl, wFilteredBagItems
ld a, [wCurrentMenuItem]
2015-08-13 05:14:31 +00:00
ld d, 0
2014-05-22 22:13:20 +00:00
ld e, a
add hl, de
ld a, [hl]
ldh [hItemToRemoveID], a
2014-05-22 22:13:20 +00:00
cp DOME_FOSSIL
jr z, .choseDomeFossil
cp HELIX_FOSSIL
jr z, .choseHelixFossil
ld b, AERODACTYL
jr .fossilSelected
.choseHelixFossil
ld b, OMANYTE
jr .fossilSelected
.choseDomeFossil
ld b, KABUTO
.fossilSelected
2015-08-31 02:38:41 +00:00
ld [wFossilItem], a
2014-05-22 22:13:20 +00:00
ld a, b
2015-08-31 02:38:41 +00:00
ld [wFossilMon], a
2014-05-22 22:13:20 +00:00
call LoadFossilItemAndMonName
ld hl, LabFossil_610ae
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
2014-05-22 22:13:20 +00:00
and a
2015-07-24 21:57:49 +00:00
jr nz, .cancelledGivingFossil
2014-05-22 22:13:20 +00:00
ld hl, LabFossil_610b3
call PrintText
2015-08-31 02:38:41 +00:00
ld a, [wFossilItem]
ldh [hItemToRemoveID], a
farcall RemoveItemByID
2014-05-22 22:13:20 +00:00
ld hl, LabFossil_610b8
call PrintText
2015-07-21 17:36:03 +00:00
SetEvents EVENT_GAVE_FOSSIL_TO_LAB, EVENT_LAB_STILL_REVIVING_FOSSIL
2014-05-22 22:13:20 +00:00
ret
2015-07-24 21:57:49 +00:00
.cancelledGivingFossil
2014-05-22 22:13:20 +00:00
ld hl, LabFossil_610bd
call PrintText
ret
2016-06-12 00:24:04 +00:00
LabFossil_610ae:
text_far _Lab4Text_610ae
text_end
2014-05-22 22:13:20 +00:00
2016-06-12 00:24:04 +00:00
LabFossil_610b3:
text_far _Lab4Text_610b3
text_end
2014-05-22 22:13:20 +00:00
2016-06-12 00:24:04 +00:00
LabFossil_610b8:
text_far _Lab4Text_610b8
text_end
2014-05-22 22:13:20 +00:00
2016-06-12 00:24:04 +00:00
LabFossil_610bd:
text_far _Lab4Text_610bd
text_end
2014-05-22 22:13:20 +00:00
2016-06-12 00:24:04 +00:00
PrintFossilsInBag:
2015-07-24 21:57:49 +00:00
; Prints each fossil in the player's bag on a separate line in the menu.
2015-08-13 05:14:31 +00:00
ld hl, wFilteredBagItems
2014-05-22 22:13:20 +00:00
xor a
ldh [hItemCounter], a
2015-07-24 21:57:49 +00:00
.loop
2014-05-22 22:13:20 +00:00
ld a, [hli]
cp $ff
ret z
push hl
ld [wd11e], a
2014-05-22 22:13:20 +00:00
call GetItemName
hlcoord 2, 2
ldh a, [hItemCounter]
2015-07-14 07:16:19 +00:00
ld bc, SCREEN_WIDTH * 2
2014-05-22 22:13:20 +00:00
call AddNTimes
ld de, wcd6d
2014-05-22 22:13:20 +00:00
call PlaceString
2015-08-13 05:14:31 +00:00
ld hl, hItemCounter
2014-05-22 22:13:20 +00:00
inc [hl]
pop hl
2015-07-24 21:57:49 +00:00
jr .loop
2014-05-22 22:13:20 +00:00
; loads the names of the fossil item and the resulting mon
LoadFossilItemAndMonName::
2015-08-31 02:38:41 +00:00
ld a, [wFossilMon]
ld [wd11e], a
2014-05-22 22:13:20 +00:00
call GetMonName
2021-08-28 21:02:20 +00:00
call CopyToStringBuffer
2015-08-31 02:38:41 +00:00
ld a, [wFossilItem]
ld [wd11e], a
2014-05-22 22:13:20 +00:00
call GetItemName
ret