Obtainable Safari Balls...?

Here's one for all the people that wanted another wacky interaction with the shady salesman!

He stands outside the Safari Zone selling his own Safari Balls. They act the same way, they're called the same thing, but they're looking a little off...hey, is that paint peeling off?

Anyway, this acts as a way to get Safari Balls outside of the Safari Zone, like in SwSh! Whether or not you wanna pretend that they're real, it's still neat that he's selling them to you for a good price.
This commit is contained in:
Martha Schilling 2023-11-23 22:19:08 +00:00
parent 3e811d4ed1
commit 29fc579c3f
15 changed files with 152 additions and 45 deletions

View file

@ -7,7 +7,7 @@ KeyItemFlags:
dbit TRUE ; TOWN_MAP
dbit TRUE ; BICYCLE
dbit TRUE ; SURFBOARD
dbit TRUE ; SAFARI_BALL
dbit FALSE ; SAFARI_BALL
dbit TRUE ; POKEDEX
dbit FALSE ; MOON_STONE
dbit FALSE ; ANTIDOTE

View file

@ -10,7 +10,7 @@ CeladonUniversityPokecenter_Object:
def_object_events
object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person
object_event 8, 3, SPRITE_SCIENTIST, STAY, LEFT_RIGHT, 2 ; person
object_event 10, 5, SPRITE_MIDDLE_AGED_MAN, WALK, ANY_DIR, 3 ; spamton
object_event 10, 5, SPRITE_MIDDLE_AGED_MAN, WALK, LEFT_RIGHT, 3 ; spamton
object_event 3, 5, SPRITE_SUPER_NERD, STAY, DOWN, 4 ; person
object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 5 ; person
object_event 4, 1, SPRITE_CHANSEY, STAY, DOWN, 6 ; Chansey

View file

@ -12,7 +12,7 @@ CinnabarPokecenter_Object:
object_event 9, 4, SPRITE_COOLTRAINER_F, WALK, ANY_DIR, 2 ; person
object_event 2, 6, SPRITE_GENTLEMAN, STAY, NONE, 3 ; person
object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person
object_event 9, 6, SPRITE_MIDDLE_AGED_MAN, STAY, DOWN, 5 ; spamton
object_event 9, 6, SPRITE_MIDDLE_AGED_MAN, WALK, LEFT_RIGHT, 5 ; spamton
object_event 8, 3, SPRITE_GAMEBOY_KID, STAY, DOWN, 6 ; Muk Trader
object_event 4, 1, SPRITE_CHANSEY, STAY, DOWN, 7 ; Chansey

View file

@ -5,27 +5,25 @@ FuchsiaCity_Object:
warp_event 15, 19, FUCHSIA_MART, 1
warp_event 11, 27, FUCHSIA_BILLS_GRANDPAS_HOUSE, 1
warp_event 19, 27, FUCHSIA_POKECENTER, 1
warp_event 27, 27, WARDENS_HOUSE, 1
warp_event 28, 27, WARDENS_HOUSE, 1
warp_event 18, 3, SAFARI_ZONE_GATE, 1
warp_event 5, 27, FUCHSIA_GYM, 1
warp_event 22, 13, FUCHSIA_MEETING_ROOM, 1
;warp_event 31, 27, FUCHSIA_GOOD_ROD_HOUSE, 2 these need to be replaced with...something.
;warp_event 31, 24, FUCHSIA_GOOD_ROD_HOUSE, 1
def_bg_events
bg_event 25, 17, 12 ; FuchsiaCityText12
bg_event 17, 5, 13 ; FuchsiaCityText13
bg_event 16, 19, 14 ; MartSignText
bg_event 20, 27, 15 ; PokeCenterSignText
bg_event 27, 29, 16 ; FuchsiaCityText16
bg_event 21, 17, 17 ; FuchsiaCityText17
bg_event 3, 29, 18 ; FuchsiaCityText18
bg_event 33, 7, 19 ; FuchsiaCityText19
bg_event 27, 7, 20 ; FuchsiaCityText20
bg_event 13, 7, 21 ; FuchsiaCityText21
bg_event 31, 13, 22 ; FuchsiaCityText22
bg_event 13, 15, 23 ; FuchsiaCityText23
bg_event 7, 7, 24 ; FuchsiaCityText24
bg_event 25, 17, 13 ; FuchsiaCityText12
bg_event 17, 5, 14 ; FuchsiaCityText13
bg_event 16, 19, 15 ; MartSignText
bg_event 20, 27, 16 ; PokeCenterSignText
bg_event 27, 29, 17 ; FuchsiaCityText16
bg_event 21, 17, 18 ; FuchsiaCityText17
bg_event 3, 29, 19 ; FuchsiaCityText18
bg_event 33, 7, 20 ; FuchsiaCityText19
bg_event 27, 7, 21 ; FuchsiaCityText20
bg_event 13, 7, 22 ; FuchsiaCityText21
bg_event 31, 13, 23 ; FuchsiaCityText22
bg_event 13, 15, 24 ; FuchsiaCityText23
bg_event 7, 7, 25 ; FuchsiaCityText24
def_object_events
object_event 10, 12, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 1 ; person
@ -39,5 +37,6 @@ FuchsiaCity_Object:
object_event 8, 17, SPRITE_SEEL, WALK, ANY_DIR, 9 ; person
object_event 6, 5, SPRITE_FOSSIL, STAY, NONE, 10 ; person
object_event 11, 8, SPRITE_GAMBLER, STAY, UP, 11 ; person
object_event 15, 2, SPRITE_MIDDLE_AGED_MAN, STAY, DOWN, 12 ; spamton
def_warps_to FUCHSIA_CITY

View file

@ -12,7 +12,7 @@ RockTunnelPokecenter_Object:
object_event 7, 3, SPRITE_GENTLEMAN, WALK, LEFT_RIGHT, 2 ; person
object_event 2, 5, SPRITE_FISHER, STAY, NONE, 3 ; person
object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person
object_event 9, 6, SPRITE_MIDDLE_AGED_MAN, STAY, DOWN, 5 ; spamton
object_event 9, 6, SPRITE_MIDDLE_AGED_MAN, WALK, LEFT_RIGHT, 5 ; spamton
object_event 4, 1, SPRITE_CHANSEY, STAY, DOWN, 6 ; Chansey
def_warps_to ROCK_TUNNEL_POKECENTER

View file

@ -188,7 +188,7 @@ SpriteSets:
db SPRITE_SNORLAX
; SPRITESET_FUCHSIA
db SPRITE_BIRD
db SPRITE_MIDDLE_AGED_MAN
db SPRITE_COOLTRAINER_M
db SPRITE_CHANSEY
db SPRITE_FISHER

View file

@ -31,6 +31,11 @@ _BicycleDescription::
next "for travel."
prompt
_SafariBallDescription::
text "Just an ULTRA BALL"
next "painted green."
prompt
_MoonStoneDescription::
_FireStoneDescription::
_ThunderStoneDescription::

View file

@ -28,7 +28,7 @@ ItemDescriptionPointers:
text_end
text_far _UnusedItemDescription
text_end
text_far _UnusedItemDescription
text_far _SafariBallDescription
text_end
text_far _UnusedItemDescription
text_end

View file

@ -2,7 +2,7 @@
tt_1111n !tttt !_89n|~0|r_<=0nJ\K
tt_1111n !tttt !_ !1n|~0|r_7:~1nJ\K
_Vw1wn

View file

@ -13,6 +13,7 @@ FuchsiaCity_TextPointers:
dw FuchsiaCityText9
dw FuchsiaCityText10
dw SubstituteGuy
dw SafariBallSalesman
dw FuchsiaCityText12
dw FuchsiaCityText13
dw MartSignText
@ -167,6 +168,65 @@ FuchsiaCityText_19b2a:
text_far _FuchsiaCityText_19b2a
text_end
SafariBallSalesman:
text_asm
ld hl, .Text1
call PrintText
ld a, MONEY_BOX
ld [wTextBoxID], a
call DisplayTextBoxID
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jp nz, .choseNo
ldh [hMoney], a
ldh [hMoney + 2], a
ld a, $24
ldh [hMoney + 1], a
call HasEnoughMoney
jr nc, .enoughMoney
ld hl, .NoMoneyText
jr .printText
.enoughMoney
lb bc, SAFARI_BALL, 3
call GiveItem
jr nc, .done
xor a
ld [wPriceTemp], a
ld [wPriceTemp + 2], a
ld a, $24
ld [wPriceTemp + 1], a
ld hl, wPriceTemp + 2
ld de, wPlayerMoney + 2
ld c, $3
predef SubBCDPredef
ld a, MONEY_BOX
ld [wTextBoxID], a
call DisplayTextBoxID
jr .done
.choseNo
ld hl, .RefuseText
.printText
call PrintText
.done
jp TextScriptEnd
.Text1
text_far _SafariBallSalesmanText1
text_end
.RefuseText
text_far _SafariBallSalesmanNoText
text_end
.NoMoneyText
text_far _SafariBallSalesmanNoMoneyText
text_end
SafariBallBagFull:
text_far _SafariBallBagFull
text_end
; FireRed NPC
; This guy has a Kangaskhan fetish or something wtf
SubstituteGuy:

View file

@ -12,11 +12,10 @@ _CeladonUniversityPokecenterText4::
done
_CuboneSalesmanText1::
text "MAN: Hey there,"
line "big shot trainer!"
para "Have I got a"
line "deal for you!"
text "SALESMAN: Hey,"
line "kid! Interested"
cont "in another great"
cont "deal?"
para "Strike fear into"
line "the hearts of"
@ -45,8 +44,8 @@ _CuboneSalesmanNoMoneyText::
done
_CuboneSalesmanText2::
text "MAN: As usual, no"
line "refunds!"
text "SALESMAN: Again,"
line "no refunds!"
done
_CeladonUniversityPokecenterText8::

View file

@ -21,15 +21,15 @@ _CinnabarPokecenterText3::
done
_PoryZSalesmanText1::
text "MAN: Whoa there,"
line "kid! Long time"
cont "no see!"
text "SALESMAN: Whoa"
line "there, kid! Long"
cont "time no see!"
para "My uncle works for"
line "SILPH CO., and he"
cont "got me some top"
cont "secret data on the"
cont "next PORYGON!"
cont "secret data on"
cont "the next PORYGON!"
para "Tell you what."
line "You can get a"
@ -50,7 +50,7 @@ _PoryZSalesmanNoMoneyText::
done
_PoryZSalesmanText2::
text "MAN: I'm not"
text "SALESMAN: I'm not"
line "liable for any"
cont "bugs in that code!"
done

View file

@ -118,6 +118,49 @@ _FuchsiaCityText_19b2a::
text "..."
done
_SafariBallSalesmanText1::
text "SALESMAN: Shh!"
line "Hey, keep this"
cont "quiet, would ya?"
cont "I managed to"
cont "sneak a couple"
cont "SAFARI BALLs"
cont "out!"
para "Wanna take some"
line "off my hands?"
cont "It'll cost you"
cont "¥2400 for 3, but"
cont "think about it!"
para "You won't find"
line "these anywhere"
cont "else!"
done
_SafariBallSalesmanNoText::
text "C'mon, they're"
line "totally genuine!"
cont "Don't you trust"
cont "me?"
done
_SafariBallSalesmanNoMoneyText::
text "Not enough money?"
line "Sorry, kid! Paint"
cont "isn't cheap, you"
cont "know!"
para "...Wait, forget"
line "I said anything!"
done
_SafariBallBagFull::
text "Whoa now! Can't"
line "give you these"
cont "when your bag's"
cont "that full!"
_ReceivedTM50Text::
text "<PLAYER> received"
line "@"

View file

@ -17,9 +17,9 @@ _MtMoonPokecenterText3::
done
_MagikarpSalesmanText1::
text "MAN: Hello, there!"
line "Have I got a deal"
cont "just for you!"
text "SALESMAN: Hello,"
line "there! Have I got"
cont "a deal for you!"
para "I'll let you have"
line "a swell MAGIKARP"
@ -39,8 +39,9 @@ _MagikarpSalesmanNoMoneyText::
done
_MagikarpSalesmanText2::
text "MAN: Well, I don't"
line "give refunds!"
text "SALESMAN: Well, I"
line "don't give any"
cont "refunds!"
done
_MtMoonPokecenterText5::

View file

@ -13,7 +13,7 @@ _RockTunnelPokecenterText3::
done
_DittoSalesmanText1::
text "MAN: Hey there,"
text "SALESMAN: Hey,"
line "kid! Nice to"
cont "see you again!"
@ -45,8 +45,8 @@ _DittoSalesmanNoMoneyText::
done
_DittoSalesmanText2::
text "MAN: Sold as seen!"
line "You can't get"
cont "every #MON"
text "SALESMAN: Sold as"
line "seen! You can't"
cont "get every #MON"
cont "at the same time!"
done