mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-09-16 18:30:50 +12:00
Small polishing of the previous commit + Item Sorting
- Fixes a few bugs from the last commit, namely: - The guy who gives you the Pocket Lapras having bugged text - Being able to use it where you shouldn't (Cycling Road, Seafoam before the boulder puzzle) - Pocket Lapras not having an item description - As well as this, automatic item sorting has been added. Just press Start in the bag menu and all your items will get assorted into a convenient list. - Changed a few item descriptions since some of them didn't terminate properly - Freed up some space in the Home bank
This commit is contained in:
parent
dd7130c489
commit
2c02483f01
|
@ -13,7 +13,7 @@
|
|||
const POKE_BALL ; $04
|
||||
const TOWN_MAP ; $05
|
||||
const BICYCLE ; $06
|
||||
const SURFBOARD ; $07 buggy?
|
||||
const POCKET_LAPRAS ; $07
|
||||
const SAFARI_BALL ; $08
|
||||
const POKEDEX ; $09
|
||||
const MOON_STONE ; $0A
|
||||
|
|
|
@ -6,7 +6,7 @@ KeyItemFlags:
|
|||
dbit FALSE ; POKE_BALL
|
||||
dbit TRUE ; TOWN_MAP
|
||||
dbit TRUE ; BICYCLE
|
||||
dbit TRUE ; LAPRAS' BALL - SURFBOARD
|
||||
dbit TRUE ; POCKET_LAPRAS
|
||||
dbit FALSE ; SAFARI_BALL
|
||||
dbit TRUE ; POKEDEX
|
||||
dbit FALSE ; MOON_STONE
|
||||
|
|
|
@ -6,7 +6,7 @@ ItemNames::
|
|||
li "POKé BALL"
|
||||
li "TOWN MAP"
|
||||
li "BICYCLE"
|
||||
li "LAPRAS' BALL" ; surfboard, ?????, etc.
|
||||
li "LAPRAS' BALL" ; Pocket Lapras
|
||||
li "SAFARI BALL"
|
||||
li "POKéDEX"
|
||||
li "MOON STONE"
|
||||
|
|
|
@ -6,7 +6,7 @@ ItemPrices::
|
|||
bcd3 200 ; POKE_BALL
|
||||
bcd3 0 ; TOWN_MAP
|
||||
bcd3 0 ; BICYCLE
|
||||
bcd3 0 ; SURFBOARD
|
||||
bcd3 0 ; POCKET_LAPRAS
|
||||
bcd3 1000 ; SAFARI_BALL
|
||||
bcd3 0 ; POKEDEX
|
||||
bcd3 0 ; MOON_STONE
|
||||
|
|
|
@ -12,8 +12,8 @@ _UltraBallDescription::
|
|||
prompt
|
||||
|
||||
_GreatBallDescription::
|
||||
text "A BALL with a de-"
|
||||
next "cent success rate."
|
||||
text "A BALL with a good"
|
||||
next "success rate."
|
||||
prompt
|
||||
|
||||
_PokeBallDescription::
|
||||
|
@ -31,6 +31,11 @@ _BicycleDescription::
|
|||
next "for travel."
|
||||
prompt
|
||||
|
||||
_PocketLaprasDescription::
|
||||
text "A LAPRAS that lets"
|
||||
next "you cross water."
|
||||
prompt
|
||||
|
||||
_SafariBallDescription::
|
||||
text "Just an ULTRA BALL"
|
||||
next "painted green."
|
||||
|
@ -110,7 +115,7 @@ _EscapeRopeDescription::
|
|||
|
||||
_RepelDescription::
|
||||
text "Repels weak #-"
|
||||
next "MON for 100 steps."
|
||||
next "MON. (100 steps)"
|
||||
prompt
|
||||
|
||||
_OldAmberDescription::
|
||||
|
@ -205,18 +210,18 @@ _MaxReviveDescription::
|
|||
prompt
|
||||
|
||||
_GuardSpecDescription::
|
||||
text "Prevents stats"
|
||||
next "reduction. (1 BTL)"
|
||||
text "Prevents stat re-"
|
||||
next "duction. (1 BTL)"
|
||||
prompt
|
||||
|
||||
_SuperRepelDescription::
|
||||
text "Repels weak #-"
|
||||
next "MON for 200 steps."
|
||||
next "MON. (200 steps)"
|
||||
prompt
|
||||
|
||||
_MaxRepelDescription::
|
||||
text "Repels weak #-"
|
||||
next "MON for 250 steps."
|
||||
next "MON. (250 steps)"
|
||||
prompt
|
||||
|
||||
_DireHitDescription::
|
||||
|
@ -281,7 +286,7 @@ _OaksParcelDescription::
|
|||
|
||||
_ItemfinderDescription::
|
||||
text "Checks for unseen"
|
||||
next "items in the area."
|
||||
next "items nearby."
|
||||
prompt
|
||||
|
||||
_SilphScopeDescription::
|
||||
|
@ -340,8 +345,8 @@ _ElixerDescription::
|
|||
prompt
|
||||
|
||||
_MaxElixerDescription::
|
||||
text "Fully restores the"
|
||||
next "PP of one #MON."
|
||||
text "Fully restores PP"
|
||||
next "of all moves."
|
||||
prompt
|
||||
|
||||
_CitrinePassDescription::
|
||||
|
@ -380,13 +385,13 @@ _HM02Description::
|
|||
prompt
|
||||
|
||||
_HM03Description::
|
||||
text "A strong water-"
|
||||
text "A strong WATER-"
|
||||
next "type attack."
|
||||
prompt
|
||||
|
||||
_HM04Description::
|
||||
text "A powerful physi-"
|
||||
next "cal attack."
|
||||
text "A strong physical"
|
||||
next "attack."
|
||||
prompt
|
||||
|
||||
_HM05Description::
|
||||
|
@ -420,12 +425,12 @@ _TM05Description::
|
|||
prompt
|
||||
|
||||
_TM06Description::
|
||||
text "A poison move with"
|
||||
next "increasing damage."
|
||||
text "A POISON move with"
|
||||
next "rising damage."
|
||||
prompt
|
||||
|
||||
_TM07Description::
|
||||
text "A one-hit KO,"
|
||||
text "A one-hit KO"
|
||||
next "drill attack."
|
||||
prompt
|
||||
|
||||
|
@ -475,8 +480,8 @@ _TM16Description::
|
|||
prompt
|
||||
|
||||
_TM17Description::
|
||||
text "An attack that al-"
|
||||
next "so hurts the user."
|
||||
text "A move that also"
|
||||
next "hurts the user."
|
||||
prompt
|
||||
|
||||
_TM18Description::
|
||||
|
@ -520,13 +525,13 @@ _TM25Description::
|
|||
prompt
|
||||
|
||||
_TM26Description::
|
||||
text "Tough but useless"
|
||||
next "vs. flying foes."
|
||||
text "Tough, but useless"
|
||||
next "vs. FLYING foes."
|
||||
prompt
|
||||
|
||||
_TM27Description::
|
||||
text "A GROUND-type,"
|
||||
next "one-hit KO attack."
|
||||
text "A one-hit KO"
|
||||
next "GROUND attack."
|
||||
prompt
|
||||
|
||||
_TM28Description::
|
||||
|
@ -595,8 +600,8 @@ _TM40Description::
|
|||
prompt
|
||||
|
||||
_TM41Description::
|
||||
text "Restores HP by 1/2"
|
||||
next "the user's max HP."
|
||||
text "Restores 1/2 the"
|
||||
next "user's max HP."
|
||||
prompt
|
||||
|
||||
_TM42Description::
|
||||
|
@ -615,8 +620,8 @@ _TM44Description::
|
|||
prompt
|
||||
|
||||
_TM45Description::
|
||||
text "A move that may"
|
||||
next "cause paralysis."
|
||||
text "A move that will"
|
||||
next "paralyze a foe."
|
||||
prompt
|
||||
|
||||
_TM46Description::
|
||||
|
@ -640,8 +645,8 @@ _TM49Description::
|
|||
prompt
|
||||
|
||||
_TM50Description::
|
||||
text "Makes a decoy with"
|
||||
next "1/4 user's max HP."
|
||||
text "Uses 1/4 max HP"
|
||||
next "to make a decoy."
|
||||
prompt
|
||||
|
||||
_UnusedItemDescription::
|
||||
|
|
|
@ -233,3 +233,18 @@ ENDC
|
|||
line "your friend and"
|
||||
cont "come again!"
|
||||
done
|
||||
|
||||
_SortItemsText::
|
||||
text "Would you like to"
|
||||
next "sort items?"
|
||||
done
|
||||
|
||||
_SortComplete::
|
||||
text "Sorting is"
|
||||
next "complete!"
|
||||
prompt
|
||||
|
||||
_NothingToSort::
|
||||
text "There are no items"
|
||||
next "to sort."
|
||||
prompt
|
||||
|
|
|
@ -23,7 +23,7 @@ ItemUsePtrTable:
|
|||
dw ItemUseBall ; POKE_BALL
|
||||
dw ItemUseTownMap ; TOWN_MAP
|
||||
dw ItemUseBicycle ; BICYCLE
|
||||
dw ItemUseSurfboard ; out-of-battle Surf effect
|
||||
dw ItemUseLapras ; POCKET_LAPRAS
|
||||
dw ItemUseBall ; SAFARI_BALL
|
||||
dw ItemUsePokedex ; POKEDEX
|
||||
dw ItemUseEvoStone ; MOON_STONE
|
||||
|
@ -759,12 +759,17 @@ ItemUseBicycle:
|
|||
jp PrintText
|
||||
|
||||
; used for Surf out-of-battle effect
|
||||
ItemUseSurfboard:
|
||||
ItemUseLapras:
|
||||
ld a, [wWalkBikeSurfState]
|
||||
ld [wWalkBikeSurfStateCopy], a
|
||||
cp 2 ; is the player already surfing?
|
||||
jr z, .tryToStopSurfing
|
||||
.tryToSurf
|
||||
farcall IsSurfingAllowed
|
||||
ld hl, wd728
|
||||
bit 1, [hl]
|
||||
res 1, [hl]
|
||||
jp z, .no
|
||||
call IsNextTileShoreOrWater
|
||||
jp c, SurfingAttemptFailed
|
||||
ld hl, TilePairCollisionsWater
|
||||
|
@ -837,6 +842,10 @@ ItemUseSurfboard:
|
|||
inc a
|
||||
ld [wSimulatedJoypadStatesIndex], a
|
||||
ret
|
||||
.no
|
||||
ld a, 1
|
||||
and a
|
||||
ret
|
||||
|
||||
SurfingGotOnText:
|
||||
text_far _SurfingGotOnText
|
||||
|
|
|
@ -26,7 +26,7 @@ ItemDescriptionPointers:
|
|||
text_end
|
||||
text_far _BicycleDescription
|
||||
text_end
|
||||
text_far _UnusedItemDescription
|
||||
text_far _PocketLaprasDescription
|
||||
text_end
|
||||
text_far _SafariBallDescription
|
||||
text_end
|
||||
|
|
|
@ -165,7 +165,7 @@ StartMenu_Pokemon::
|
|||
bit 1, [hl]
|
||||
res 1, [hl]
|
||||
jp z, .loop
|
||||
ld a, SURFBOARD
|
||||
ld a, POCKET_LAPRAS
|
||||
ld [wcf91], a
|
||||
ld [wPseudoItemID], a
|
||||
call UseItem
|
||||
|
@ -331,6 +331,7 @@ StartMenu_Item::
|
|||
ld a, [wBagSavedMenuItem]
|
||||
ld [wCurrentMenuItem], a
|
||||
call DisplayListMenuID
|
||||
jp nz, .sortItems
|
||||
ld a, [wCurrentMenuItem]
|
||||
ld [wBagSavedMenuItem], a
|
||||
jr nc, .choseItem
|
||||
|
@ -451,6 +452,9 @@ StartMenu_Item::
|
|||
.infoItem
|
||||
farcall DisplayItemDescription
|
||||
jp ItemMenuLoop
|
||||
.sortItems
|
||||
farcall SortItems
|
||||
jp ItemMenuLoop
|
||||
|
||||
CannotUseItemsHereText:
|
||||
text_far _CannotUseItemsHereText
|
||||
|
|
|
@ -147,3 +147,264 @@ HandleItemListSwapping::
|
|||
pop de
|
||||
pop hl
|
||||
jp DisplayListMenuIDLoop
|
||||
|
||||
SortItems::
|
||||
push hl
|
||||
push bc
|
||||
ld hl, SortItemsText ; Display the text to ask to sort
|
||||
call PrintText
|
||||
call YesNoChoice
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jp z, .beginSorting ; If yes
|
||||
jr .done
|
||||
.finishedSwapping
|
||||
ld a, [hSwapTemp] ; If not 0, then a swap of items did occur
|
||||
cp 0
|
||||
jr z, .nothingSorted
|
||||
ld hl, SortComplete
|
||||
jr .printResultText
|
||||
.nothingSorted
|
||||
ld hl, NothingToSort
|
||||
.printResultText
|
||||
call PrintText
|
||||
.done
|
||||
xor a ; Zeroes a
|
||||
pop bc
|
||||
pop hl
|
||||
ret
|
||||
.beginSorting
|
||||
xor a
|
||||
ld [hSwapTemp], a ; 1 if something in the bag got sorted
|
||||
ld de, 0
|
||||
ld hl, ItemSortList
|
||||
ld b, [hl] ; This is the first item to check for
|
||||
ld hl, wBagItems
|
||||
ld c, 0 ; Relative to wBagItems, this is where we'd like to begin swapping
|
||||
.loopCurrItemInBag
|
||||
ld a, [hl] ; Load the value of hl to a (which is an item number) and Increments to the quantity
|
||||
cp -1 ; See if the item number is $ff, which is 'cancel'
|
||||
jr z, .findNextItem ; If it is cancel, then move onto the next item
|
||||
cp b
|
||||
jr z, .hasItem ; If it's not b, then go to the next item in the bag
|
||||
inc hl ; increments past the quantity to the next item to check
|
||||
inc hl
|
||||
jr .loopCurrItemInBag
|
||||
.findNextItem
|
||||
ld d, 0
|
||||
inc e
|
||||
ld hl, ItemSortList
|
||||
add hl, de
|
||||
ld b, [hl]
|
||||
ld hl, wBagItems ; Resets hl to start at the beginning of the bag
|
||||
ld a, b
|
||||
cp -1 ; Check if we got through all of the items, to the last one
|
||||
jr z, .finishedSwapping
|
||||
jr .loopCurrItemInBag
|
||||
.hasItem ; c contains where to swap to relative to the start of wBagItems
|
||||
; hl contains where the item to swap is absolute.
|
||||
; b contains the item ID
|
||||
push de
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, wBagItems
|
||||
ld a, b
|
||||
ld b, 0
|
||||
add hl, bc ; hl now holds where we'd like to swap to
|
||||
ld b, a
|
||||
ld a, [de]
|
||||
cp [hl]
|
||||
jr z, .cont ; If they're the same item
|
||||
ld a, 1
|
||||
ld [hSwapTemp], a
|
||||
ld a, [hl]
|
||||
ld [hSwapItemID],a ; [hSwapItemID] = second item ID
|
||||
inc hl
|
||||
ld a,[hld]
|
||||
ld [hSwapItemQuantity],a ; [hSwapItemQuantity] = second item quantity
|
||||
ld a,[de]
|
||||
ld [hli],a ; put first item ID in second item slot
|
||||
inc de
|
||||
ld a,[de]
|
||||
ld [hl],a ; put first item quantity in second item slot
|
||||
ld a,[hSwapItemQuantity]
|
||||
ld [de],a ; put second item quantity in first item slot
|
||||
dec de
|
||||
ld a,[hSwapItemID]
|
||||
ld [de],a ; put second item ID in first item slot
|
||||
.cont
|
||||
inc c
|
||||
inc c
|
||||
ld h, d
|
||||
ld l, e
|
||||
pop de
|
||||
jr .findNextItem
|
||||
|
||||
SortItemsText::
|
||||
text_far _SortItemsText
|
||||
db "@"
|
||||
|
||||
SortComplete::
|
||||
text_far _SortComplete
|
||||
db "@"
|
||||
|
||||
NothingToSort::
|
||||
text_far _NothingToSort
|
||||
db "@"
|
||||
|
||||
ItemSortList::
|
||||
; Used Key Items
|
||||
db BICYCLE
|
||||
db SUPER_ROD
|
||||
db POCKET_LAPRAS
|
||||
db ITEMFINDER
|
||||
db TOWN_MAP
|
||||
db MYSTERY_BOX
|
||||
; Balls
|
||||
db POKE_BALL
|
||||
db GREAT_BALL
|
||||
db ULTRA_BALL
|
||||
db SAFARI_BALL
|
||||
db MASTER_BALL
|
||||
; Common Items
|
||||
db REPEL
|
||||
db SUPER_REPEL
|
||||
db MAX_REPEL
|
||||
db ESCAPE_ROPE
|
||||
db POKE_DOLL
|
||||
; Health
|
||||
db POTION
|
||||
db SUPER_POTION
|
||||
db HYPER_POTION
|
||||
db MAX_POTION
|
||||
db FULL_RESTORE
|
||||
db FRESH_WATER
|
||||
db SODA_POP
|
||||
db LEMONADE
|
||||
; Revival
|
||||
db REVIVE
|
||||
db MAX_REVIVE
|
||||
; Status
|
||||
db ANTIDOTE
|
||||
db BURN_HEAL
|
||||
db ICE_HEAL
|
||||
db AWAKENING
|
||||
db PARLYZ_HEAL
|
||||
db FULL_HEAL
|
||||
db POKE_FLUTE
|
||||
; PP
|
||||
db ETHER
|
||||
db MAX_ETHER
|
||||
db ELIXER
|
||||
db MAX_ELIXER
|
||||
; Battle Raises
|
||||
db X_ACCURACY
|
||||
db X_ATTACK
|
||||
db X_DEFEND
|
||||
db X_SPEED
|
||||
db X_SPECIAL
|
||||
db GUARD_SPEC
|
||||
db DIRE_HIT
|
||||
; Permanent Raises
|
||||
db RARE_CANDY
|
||||
db HP_UP
|
||||
db PROTEIN
|
||||
db IRON
|
||||
db CARBOS
|
||||
db CALCIUM
|
||||
db PP_UP
|
||||
; Evolution Items
|
||||
db LEAF_STONE
|
||||
db FIRE_STONE
|
||||
db THUNDER_STONE
|
||||
db WATER_STONE
|
||||
db MOON_STONE
|
||||
db HEART_STONE
|
||||
db POISON_STONE
|
||||
db ICE_STONE
|
||||
db METAL_COAT
|
||||
db UP_GRADE
|
||||
db DUBIOUS_DISC
|
||||
db BLK_AUGURITE
|
||||
db PROTECTOR
|
||||
db CANDY_JAR
|
||||
; Other Non-Key Items
|
||||
db DOME_FOSSIL
|
||||
db HELIX_FOSSIL
|
||||
db WING_FOSSIL
|
||||
db OLD_AMBER
|
||||
db NUGGET
|
||||
db BOTTLE_CAP
|
||||
; Key Items With No Use
|
||||
db COIN_CASE
|
||||
db SILPHLETTER
|
||||
db S_S_TICKET
|
||||
db OLD_SEA_MAP
|
||||
db CITRINE_PASS
|
||||
db SECRET_KEY
|
||||
db BIKE_VOUCHER
|
||||
db CARD_KEY
|
||||
db GOLD_TEETH
|
||||
db OAKS_PARCEL
|
||||
db LIFT_KEY
|
||||
db SILPH_SCOPE
|
||||
db TEA
|
||||
db EXP_ALL
|
||||
; TMs
|
||||
db TM01
|
||||
db TM01 + 1
|
||||
db TM01 + 2
|
||||
db TM01 + 3
|
||||
db TM01 + 4
|
||||
db TM01 + 5
|
||||
db TM01 + 6
|
||||
db TM01 + 7
|
||||
db TM01 + 8
|
||||
db TM01 + 9
|
||||
db TM01 + 10
|
||||
db TM01 + 11
|
||||
db TM01 + 12
|
||||
db TM01 + 13
|
||||
db TM01 + 14
|
||||
db TM01 + 15
|
||||
db TM01 + 16
|
||||
db TM01 + 17
|
||||
db TM01 + 18
|
||||
db TM01 + 19
|
||||
db TM01 + 20
|
||||
db TM01 + 21
|
||||
db TM01 + 22
|
||||
db TM01 + 23
|
||||
db TM01 + 24
|
||||
db TM01 + 25
|
||||
db TM01 + 26
|
||||
db TM01 + 27
|
||||
db TM01 + 28
|
||||
db TM01 + 29
|
||||
db TM01 + 30
|
||||
db TM01 + 31
|
||||
db TM01 + 32
|
||||
db TM01 + 33
|
||||
db TM01 + 34
|
||||
db TM01 + 35
|
||||
db TM01 + 36
|
||||
db TM01 + 37
|
||||
db TM01 + 38
|
||||
db TM01 + 39
|
||||
db TM01 + 40
|
||||
db TM01 + 41
|
||||
db TM01 + 42
|
||||
db TM01 + 43
|
||||
db TM01 + 44
|
||||
db TM01 + 45
|
||||
db TM01 + 46
|
||||
db TM01 + 47
|
||||
db TM01 + 48
|
||||
db TM01 + 49
|
||||
; HMs
|
||||
db HM01
|
||||
db HM01 + 1
|
||||
db HM01 + 2
|
||||
db HM01 + 3
|
||||
db HM01 + 4
|
||||
db -1 ; end
|
||||
|
|
|
@ -33,7 +33,7 @@ TrySurf:
|
|||
and a
|
||||
jr nz, .no2
|
||||
call GetPartyMonName2
|
||||
ld a, SURFBOARD
|
||||
ld a, POCKET_LAPRAS
|
||||
ld [wcf91], a
|
||||
ld [wPseudoItemID], a
|
||||
call UseItem
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
; rst vectors (unused)
|
||||
|
||||
SECTION "rst0", ROM0[$0000]
|
||||
rst $38
|
||||
_Bankswitch::
|
||||
jp Bankswitch
|
||||
|
||||
ds $08 - @, 0 ; unused
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ DisplayListMenuID::
|
|||
ld [wTopMenuItemY], a
|
||||
ld a, 5
|
||||
ld [wTopMenuItemX], a
|
||||
ld a, A_BUTTON | B_BUTTON | SELECT
|
||||
ld a, A_BUTTON | B_BUTTON | SELECT | START
|
||||
ld [wMenuWatchedKeys], a
|
||||
ld c, 10
|
||||
call DelayFrames
|
||||
|
@ -178,6 +178,8 @@ DisplayListMenuIDLoop::
|
|||
jp nz, ExitListMenu ; if so, exit the menu
|
||||
bit BIT_SELECT, a
|
||||
jp nz, HandleItemListSwapping ; if so, allow the player to swap menu entries
|
||||
bit 3, a ; was the start button pressed?
|
||||
jp nz, .sortItems ; if so, allow the player to swap menu entries
|
||||
ld b, a
|
||||
bit BIT_D_DOWN, b
|
||||
ld hl, wListScrollOffset
|
||||
|
@ -197,6 +199,10 @@ DisplayListMenuIDLoop::
|
|||
jp z, DisplayListMenuIDLoop
|
||||
dec [hl]
|
||||
jp DisplayListMenuIDLoop
|
||||
.sortItems
|
||||
rra ; Sets the zero flag to 0 so the sorting function will happen
|
||||
rla
|
||||
jp BankswitchBack
|
||||
|
||||
DisplayChooseQuantityMenu::
|
||||
; text box dimensions/coordinates for just quantity
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
MACRO farcall
|
||||
ld b, BANK(\1)
|
||||
ld hl, \1
|
||||
call Bankswitch
|
||||
rst _Bankswitch
|
||||
ENDM
|
||||
|
||||
MACRO callfar
|
||||
ld hl, \1
|
||||
ld b, BANK(\1)
|
||||
call Bankswitch
|
||||
rst _Bankswitch
|
||||
ENDM
|
||||
|
||||
MACRO farjp
|
||||
|
|
|
@ -87,34 +87,42 @@ CinnabarIslandText7:
|
|||
|
||||
_CinnabarPocketLapras1:
|
||||
text "Bah, this LAPRAS"
|
||||
line "just doesn't"
|
||||
cont "wanna fight! Can"
|
||||
cont "you believe that?"
|
||||
line "just doesn't want"
|
||||
cont "to fight! Can you"
|
||||
cont "believe that?"
|
||||
|
||||
para "All it does is"
|
||||
line "SURF. My GYARADOS"
|
||||
cont "can do that!"
|
||||
para "All it likes to"
|
||||
line "do is SURF, but"
|
||||
cont "my GYARADOS can"
|
||||
cont "already do that!"
|
||||
|
||||
para "Here. Take it."
|
||||
line "I can't stand"
|
||||
cont "looking at its"
|
||||
cont "big ol' eyes."
|
||||
done
|
||||
para "Here, take it. I"
|
||||
line "can't stand its"
|
||||
cont "big ol' eyes"
|
||||
cont "looking at me."
|
||||
prompt
|
||||
|
||||
_PocketLaprasNoRoomText:
|
||||
text "You don't have"
|
||||
line "room either?"
|
||||
line "room, either?"
|
||||
|
||||
para "Well, it's not"
|
||||
line "going anywhere..."
|
||||
line "like it's going"
|
||||
cont "anywhere..."
|
||||
done
|
||||
|
||||
_ReceivedPocketLaprasText:
|
||||
text "Take care of that"
|
||||
line "LAPRAS though,"
|
||||
cont "yeah? They're"
|
||||
cont "an endangered"
|
||||
cont "species."
|
||||
text "<PLAYER> received"
|
||||
line "@"
|
||||
text_ram wStringBuffer
|
||||
text "!@"
|
||||
text_end
|
||||
|
||||
_CinnabarPocketLapras2:
|
||||
text "Take care of it"
|
||||
line "though, alright?"
|
||||
cont "LAPRAS is very"
|
||||
cont "endangered."
|
||||
|
||||
para "You should stay"
|
||||
line "safe, too." ; haha, llinos, you sly dog
|
||||
|
@ -125,6 +133,10 @@ CinnabarPocketLapras1:
|
|||
text_far _CinnabarPocketLapras1
|
||||
text_end
|
||||
|
||||
CinnabarPocketLapras2:
|
||||
text_far _CinnabarPocketLapras2
|
||||
text_end
|
||||
|
||||
PocketLaprasNoRoomText:
|
||||
text_far _PocketLaprasNoRoomText
|
||||
text_end
|
||||
|
@ -139,21 +151,21 @@ CinnabarPocketLapras:
|
|||
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
|
||||
lb bc, POCKET_LAPRAS, 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
|
||||
call PrintText
|
||||
ld a, SFX_GET_KEY_ITEM
|
||||
call PlaySound
|
||||
SetEvent EVENT_GOT_POCKET_LAPRAS ; if you get here, it's done.
|
||||
jr .end
|
||||
.bag_full
|
||||
ld hl, PocketLaprasNoRoomText
|
||||
jr .end
|
||||
.skip
|
||||
ld hl, ReceivedPocketLaprasText
|
||||
ld hl, CinnabarPocketLapras2
|
||||
call PrintText
|
||||
; fallthrough
|
||||
.end
|
||||
call PrintText
|
||||
call TheAutoskipStopinator
|
||||
jp TextScriptEnd
|
||||
|
|
Loading…
Reference in a new issue