Daycare Revamp (except Bulbasaur)

In the name of making Pikachu/Eevee mode more accurate to Yellow, the starter trio are being made obtainable. However, I am also improving it in some respects to make it more accurate.

In the anime, the Hidden Village is between Cerulean and Vermillion, so Yellow's implementation is inaccurate. It also pushes the Jynx trader out of the house, which is undesirable.

Thus, Melanie has been placed in the Day Care to give more reason to go there, as well as make the Day Care look more like the one from FireRed and LeafGreen. In the name of this, a PC has been added as well, allowing for easier utility around the Day Care itself.

Bulbasaur is currently allergic to hiding for some reason but we'll figure that out later.
This commit is contained in:
Llinos Evans 2023-06-28 01:04:09 +01:00
parent 83483f035b
commit c716be39da
18 changed files with 246 additions and 27 deletions

View file

@ -101,6 +101,7 @@ Improved Areas
- Diglett's Cave has a more detailed map with Onix, Wiglett, and Wugtrio also appearing! It also has its beta music!
- Route 25 has been given a facelift, adding Bill's Lighthouse in place of the Sea Cottage.
- The Fighting Dojo has been revamped, featuring a design reminiscent of the prototype versions; rough floors, the elder in the back, and more. Additionally, you can now get a Hitmontop as a third option. The Karate Master is also now treated somewhat more like a Gym Leader, having Gym Scaling and a Rematch system.
- The Day Care now contains a PC and Melanie from Yellow. If you pick Pikachu or Eevee and beat Misty, Melanie will give you a Bulbasaur.
- Cinnabar Island is a lot bigger, with the volcano being added to it. The mansion seems different too...
- Cinnabar Lab's Trade Room now features the Trader, who will evolve trade-evolving Pokemon for you!
- Pokemon Tower was shortened, being less intensive and adding room for more maps.

View file

@ -3,9 +3,10 @@
; Pallet Town events
const_def
const EVENT_FOLLOWED_OAK_INTO_LAB
const_skip 2
const EVENT_GOT_BULBASAUR
const EVENT_GOT_CHARMANDER
const EVENT_HALL_OF_FAME_DEX_RATING
const_skip 2
const EVENT_GOT_SQUIRTLE
const EVENT_PALLET_AFTER_GETTING_POKEBALLS
const_skip 17
const EVENT_GOT_TOWN_MAP

View file

@ -258,4 +258,5 @@ DEF SHOW EQU $15
const HS_ROCK_TUNNEL_B1F_AMBER ; F8
const HS_ROCK_TUNNEL_B1F_WING ; F9
const HS_MT_MOON_CRATER_GUARD ; FA
const HS_DAYCARE_BULBASAUR ; FB
DEF NUM_HS_OBJECTS EQU const_value

View file

@ -94,7 +94,7 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const VIRIDIAN_PRE_GYM, 5, 7 ; $47 - was CERULEAN_TRASHED_HOUSE_COPY
map_const ROUTE_5_GATE, 4, 3 ; $48
map_const UNDERGROUND_PATH_ROUTE_5, 4, 4 ; $49
map_const DAYCARE, 4, 4 ; $4A
map_const DAYCARE, 6, 4 ; $4A
map_const ROUTE_6_GATE, 4, 3 ; $4B
map_const UNDERGROUND_PATH_ROUTE_6, 4, 4 ; $4C
map_const CELESTE_HILL, 11, 11 ; $4D - Was copy of above & unused

View file

@ -62,4 +62,5 @@ HiddenItemCoords:
hidden_item MT_MOON_CRATER, 20, 20 ; Poison Stone
hidden_item MT_MOON_CRATER, 20, 17 ; Black Augurite
hidden_item MT_MOON_CRATER, 32, 45 ; Old Amber
hidden_item DAYCARE, 4, 1 ; Daycare PC
db -1 ; end

View file

@ -88,6 +88,7 @@ HiddenObjectMaps:
db BATTLE_TENT
db VERMILION_DOCK
db MT_MOON_CRATER
db DAYCARE
db -1 ; end
HiddenObjectPointers:
@ -181,6 +182,7 @@ HiddenObjectPointers:
dw BattleTentHiddenObjects
dw VermilionDockHiddenObjects
dw MtMoonCraterHiddenObjects
dw DaycareHiddenItems
MACRO hidden_object
db \2 ; y coord
@ -655,3 +657,7 @@ MtMoonCraterHiddenObjects:
hidden_object 20, 17, BLK_AUGURITE, HiddenItems
hidden_object 32, 45, OLD_AMBER, HiddenItems
db -1
DaycareHiddenItems:
hidden_object 4, 1, SPRITE_FACING_UP, OpenPokemonCenterPC
db -1

View file

@ -78,7 +78,7 @@ MapHSPointers:
dw NoHS
dw NoHS
dw NoHS
dw NoHS
dw DaycareHS
dw NoHS
dw NoHS
dw CelesteHillHS
@ -349,6 +349,8 @@ CeruleanCaveHS:
db CERULEAN_CAVE_1F, $01, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_1
db CERULEAN_CAVE_1F, $02, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_2
db CERULEAN_CAVE_1F, $03, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_3
DaycareHS:
db DAYCARE, $03, SHOW ; HS_DAYCARE_BULBASAUR
CelesteHillHS:
db CELESTE_HILL, $01, SHOW ; HS_MOLTRES_G
PokemonTower2FHS:

View file

@ -2,12 +2,18 @@ Daycare_Object:
db $a ; border block
def_warp_events
warp_event 2, 7, LAST_MAP, 5
warp_event 3, 7, LAST_MAP, 5
warp_event 4, 7, LAST_MAP, 5
warp_event 5, 7, LAST_MAP, 5
def_bg_events
bg_event 7, 4, 7 ; Daycare Book
def_object_events
object_event 2, 3, SPRITE_GENTLEMAN, STAY, RIGHT, 1 ; person
object_event 2, 2, SPRITE_GENTLEMAN, STAY, RIGHT, 1 ; person
object_event 7, 5, SPRITE_GIRL, STAY, UP, 2 ; person
object_event 8, 5, SPRITE_BULBASAUR, STAY, UP, 3 ; person
object_event 10, 2, SPRITE_ODDISH, STAY, DOWN, 4 ; person
object_event 9, 4, SPRITE_SANDSHREW, STAY, LEFT, 5 ; person
object_event 7, 1, SPRITE_MONSTER, STAY, LEFT_RIGHT, 6 ; person
def_warps_to DAYCARE

View file

@ -334,3 +334,16 @@ _TMNPCNoRoomText::
text "You have no"
line "room for this!"
done
_OddishText::
text "ODDISH: Orddissh!@"
text_end
_SandshrewText::
text "SANDSHREW: Pikii!@"
text_end
_BulbasaurText::
text "BULBASAUR: Bubba!"
line "Zoar!@"
text_end

Binary file not shown.

View file

@ -8,8 +8,6 @@ RedsHouse2_GFX:: INCBIN "gfx/tilesets/reds_house.2bpp"
RedsHouse1_Block::
RedsHouse2_Block:: INCBIN "gfx/blocksets/reds_house.bst"
House_GFX:: INCBIN "gfx/tilesets/house.2bpp"
House_Block:: INCBIN "gfx/blocksets/house.bst"
Mansion_GFX:: INCBIN "gfx/tilesets/mansion.2bpp"
Mansion_Block:: INCBIN "gfx/blocksets/mansion.bst"
ShipPort_GFX:: INCBIN "gfx/tilesets/ship_port.2bpp"
@ -77,3 +75,6 @@ RocketHouse_Block:: INCBIN "gfx/blocksets/rockethouse.bst"
BetaMart_GFX:: INCBIN "gfx/tilesets/betamart.2bpp"
BetaMart_Block:: INCBIN "gfx/blocksets/betamart.bst"
House_GFX:: INCBIN "gfx/tilesets/house.2bpp"
House_Block:: INCBIN "gfx/blocksets/house.bst"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View file

@ -111,12 +111,12 @@ ROMX $15
"Maps 11"
"Battle Engine 9"
"Maps 12"
"Diploma"
ROMX $16
"Maps 13"
"Battle Engine 10"
"Maps 14"
"Saffron Guards"
"Diploma"
ROMX $17
"Maps 15"
"Starter Dex"

View file

@ -1 +1 @@
   
%&#$  

View file

@ -3,6 +3,12 @@ Daycare_Script:
Daycare_TextPointers:
dw DayCareMText1
dw DaycareMelanie
dw DaycareBulbasaur
dw DaycareOddish
dw DaycareSandshrew
dw DaycareRibbito
dw DaycareBook
DayCareMText1:
text_asm
@ -267,3 +273,142 @@ DayCareHeresYourMonText:
DayCareNotEnoughMoneyText:
text_far _DayCareNotEnoughMoneyText
text_end
; This is porting the Yellow Melanie event to Red.
; Because we don't have Pikachu for happiness, the condition is made to be
; the Cascade Badge instead.
; We could hide her entirely with regards to the starter system, it would just
; look super cringe
DaycareMelanie:
text_asm
CheckEvent EVENT_GOT_BULBASAUR
jr nz, .gotBulbasaur
ld hl, MelanieText1 ; Firstly, important text.
call PrintText
ld a, [wSimulatedJoypadStatesEnd] ; ensuring that the text doesn't autoskip.
and a ; yep, here too.
call z, WaitForTextScrollButtonPress ; and here.
call EnableAutoTextBoxDrawing ; and here. it's very hasty.
ld a, [wObtainedBadges] ; load the badge count
bit BIT_CASCADEBADGE, a
jr z, .superDone ; no? d'oh! darn those brock skippers!
; If they picked any of the main 3 they can't get this.
ld a, [wPlayerStarter]
cp STARTER1
jr z, .notTheOne
cp STARTER2
jr z, .notTheOne
cp STARTER3
jr z, .notTheOne
ld hl, MelanieText2 ; yes? let's continue, then.
call PrintText
call YesNoChoice ; let's get things going.
ld a, [wCurrentMenuItem]
and a
jr nz, .refused ; imagine refusing a bulbasaur tbh
lb bc, BULBASAUR, 5 ; load the bulbasaur
call GivePokemon ; attempt to give the bulbasaur
jr nc, .fullParty ; if it's fucked just go here
ld a, HS_DAYCARE_BULBASAUR ; hide the bulbasaur
ld [wMissableObjectIndex], a ; badababa
predef HideObject ; pow
SetEvent EVENT_GOT_BULBASAUR
ld hl, MelanieText3
call PrintText
ld a, [wSimulatedJoypadStatesEnd] ; ensuring that the text doesn't autoskip.
and a ; yep, here too.
call z, WaitForTextScrollButtonPress ; and here.
call EnableAutoTextBoxDrawing ; and here.
jr .superDone ; anyway tons of textscriptends is cringe so let's do things better this time
.gotBulbasaur ; If they have Bulbasaur, just go here.
ld hl, MelanieText4
jr .done
.refused ; If they refused, they're not the one.
ld hl, MelanieText5
jr .done
.fullParty ; if they have a full party they can get knotted
ld hl, MelanieText6
jr .done
.notTheOne ; If they started with the original trio, they're not the one.
ld hl, MelanieText7
; fallthrough
.done
call PrintText
; fallthrough
.superDone
jp TextScriptEnd
DaycareBulbasaur:
text_far _BulbasaurText
text_asm
ld a, BULBASAUR
call PlayCry
jp TextScriptEnd
DaycareOddish:
text_far _OddishText
text_asm
ld a, ODDISH
call PlayCry
jp TextScriptEnd
DaycareSandshrew:
text_far _SandshrewText
text_asm
ld a, SANDSHREW
call PlayCry
jp TextScriptEnd
DaycareRibbito:
text_far _RibbitoText
text_asm
ld a, RIBBITO
call PlayCry
jp TextScriptEnd
_RibbitoText:
text "RIBBITO: Ribbi"
line "ribbi!"
done
MelanieText1:
text_far _MelanieText1
text_end
MelanieText2:
text_far _MelanieText2
text_end
MelanieText3:
text_far _MelanieText3
text_end
MelanieText4:
text_far _MelanieText4
text_end
MelanieText5:
text_far _MelanieText5
text_end
MelanieText6:
text_far _MelanieText6
text_end
MelanieText7:
text_far _MelanieText7
text_end
DaycareBook:
text "It's a drawing of"
line "a TRAINER with a"
cont "PIKACHU and an"
cont "EEVEE!"
done

View file

@ -54,14 +54,14 @@ LavenderHouse1Text_1d8f9:
text_end
LavenderHouse1Text3:
text_far _LavenderHouse1Text3
text_far _SandshrewText
text_asm
ld a, SANDSHREW
call PlayCry
jp TextScriptEnd
LavenderHouse1Text4:
text_far _LavenderHouse1Text4
text_far _BulbasaurText
text_asm
ld a, BULBASAUR
call PlayCry
@ -113,7 +113,7 @@ LavenderHouse1Text6:
text_end
LavenderHouse1Text7:
text_far _LavenderHouse1Text7
text_far _OddishText
text_asm
ld a, ODDISH
call PlayCry

View file

@ -60,3 +60,58 @@ _DayCareMonNeedsMoreTimeText::
cont "needs some more"
cont "time with me."
prompt
_MelanieText1::
text "I take care of"
line "injured #MON."
para "I nursed this"
line "BULBASAUR back to"
cont "health!"
done
_MelanieText2::
text "That said..."
para "It needs a good"
line "trainer to take"
cont "care of it now."
para "I know! Would you"
line "take care of this"
cont "BULBASAUR?"
done
_MelanieText3::
text "Please take care"
line "of BULBASAUR!"
done
_MelanieText4::
text "Is BULBASAUR"
line "doing well?"
done
_MelanieText5::
text "Oh..."
line "That's too bad..."
done
_MelanieText6::
text "Umm...your PARTY"
line "is full."
para "There's a PC over"
line "there, if you"
cont "don't mind..."
done
_MelanieText7::
text "One day, I think"
line "someone will love"
cont "to have it."
para "Someone who began"
line "a journey with a"
cont "cute #MON!"
done

View file

@ -27,15 +27,6 @@ _LavenderHouse1Text_1d8f9::
cont "nice to hug!"
done
_LavenderHouse1Text3::
text "SANDSHREW: Pikii!@"
text_end
_LavenderHouse1Text4::
text "BULBASAUR: Bubba!"
line "Zoar!@"
text_end
_LavenderHouse1Text_1d94c::
text "MR.FUJI: <PLAYER>."
@ -88,7 +79,3 @@ _LavenderHouse1Text6::
para "Gone! It's been"
line "clipped out!"
done
_LavenderHouse1Text7::
text "ODDISH: Orddissh!@"
text_end