Groundwork for Pocket Lapras

This is still a bit glitchy:
- For some reason, unrelated text pops up after something is printed. I don't know why.
- Pocket Lapras needs to close the menu post-use. Probably very easy, something in engine\items\item_effects.
- The Pocket Lapras needs to default to Lapras as the text. This is a bit difficult as the item effect is actually used by Surf itself, so you may need to add a function that the Pocket Lapras loads before jumping to the real function (basically just loading the LAPRAS species ID for the text, ask me if you need help)
- Cycling Road needs to run the routine to force you onto the bike after using the Pocket Lapras, or simply have it check for if you're on a ForceBikeSurf map and yell at you. Both work.

I don't have time to finish this right now but it's at least obtainable.
This commit is contained in:
Llinos Evans 2024-05-13 17:30:12 +01:00
parent f675c1ad9b
commit dd7130c489
4 changed files with 82 additions and 6 deletions

View file

@ -53,6 +53,7 @@ CinnabarIslandScript1:
CinnabarIsland_TextPointers:
dw CinnabarIslandText1
dw CinnabarIslandText2
dw CinnabarPocketLapras
dw CinnabarIslandText3
dw MartSignText
dw PokeCenterSignText
@ -83,3 +84,76 @@ CinnabarIslandText6:
CinnabarIslandText7:
text_far _CinnabarIslandText7
text_end
_CinnabarPocketLapras1:
text "Bah, this LAPRAS"
line "just doesn't"
cont "wanna fight! Can"
cont "you believe that?"
para "All it does is"
line "SURF. My GYARADOS"
cont "can do that!"
para "Here. Take it."
line "I can't stand"
cont "looking at its"
cont "big ol' eyes."
done
_PocketLaprasNoRoomText:
text "You don't have"
line "room either?"
para "Well, it's not"
line "going anywhere..."
done
_ReceivedPocketLaprasText:
text "Take care of that"
line "LAPRAS though,"
cont "yeah? They're"
cont "an endangered"
cont "species."
para "You should stay"
line "safe, too." ; haha, llinos, you sly dog
done
; for some reason it crashed super hard if I didn't do this.
CinnabarPocketLapras1:
text_far _CinnabarPocketLapras1
text_end
PocketLaprasNoRoomText:
text_far _PocketLaprasNoRoomText
text_end
ReceivedPocketLaprasText:
text_far _ReceivedPocketLaprasText
text_end
CinnabarPocketLapras:
text_asm
CheckEvent EVENT_GOT_POCKET_LAPRAS
jr nz, .skip
ld hl, CinnabarPocketLapras1
call PrintText
call TheAutoskipStopinator ; it's been a while but i didnt forget how annoying this was
lb bc, SURFBOARD, 1
call GiveItem
jr nc, .bag_full
SetEvent EVENT_GOT_POCKET_LAPRAS ; if you get here, it's done. Using this to load all three texts with one PrintText instruction
sound_get_key_item
ld hl, ReceivedPocketLaprasText
jr .end
.bag_full
ld hl, PocketLaprasNoRoomText
jr .end
.skip
ld hl, ReceivedPocketLaprasText
; fallthrough
.end
call PrintText
call TheAutoskipStopinator
jp TextScriptEnd