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! - 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. - 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 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 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! - 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. - Pokemon Tower was shortened, being less intensive and adding room for more maps.

View file

@ -3,9 +3,10 @@
; Pallet Town events ; Pallet Town events
const_def const_def
const EVENT_FOLLOWED_OAK_INTO_LAB 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 EVENT_HALL_OF_FAME_DEX_RATING
const_skip 2 const EVENT_GOT_SQUIRTLE
const EVENT_PALLET_AFTER_GETTING_POKEBALLS const EVENT_PALLET_AFTER_GETTING_POKEBALLS
const_skip 17 const_skip 17
const EVENT_GOT_TOWN_MAP 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_AMBER ; F8
const HS_ROCK_TUNNEL_B1F_WING ; F9 const HS_ROCK_TUNNEL_B1F_WING ; F9
const HS_MT_MOON_CRATER_GUARD ; FA const HS_MT_MOON_CRATER_GUARD ; FA
const HS_DAYCARE_BULBASAUR ; FB
DEF NUM_HS_OBJECTS EQU const_value 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 VIRIDIAN_PRE_GYM, 5, 7 ; $47 - was CERULEAN_TRASHED_HOUSE_COPY
map_const ROUTE_5_GATE, 4, 3 ; $48 map_const ROUTE_5_GATE, 4, 3 ; $48
map_const UNDERGROUND_PATH_ROUTE_5, 4, 4 ; $49 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 ROUTE_6_GATE, 4, 3 ; $4B
map_const UNDERGROUND_PATH_ROUTE_6, 4, 4 ; $4C map_const UNDERGROUND_PATH_ROUTE_6, 4, 4 ; $4C
map_const CELESTE_HILL, 11, 11 ; $4D - Was copy of above & unused 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, 20 ; Poison Stone
hidden_item MT_MOON_CRATER, 20, 17 ; Black Augurite hidden_item MT_MOON_CRATER, 20, 17 ; Black Augurite
hidden_item MT_MOON_CRATER, 32, 45 ; Old Amber hidden_item MT_MOON_CRATER, 32, 45 ; Old Amber
hidden_item DAYCARE, 4, 1 ; Daycare PC
db -1 ; end db -1 ; end

View file

@ -88,6 +88,7 @@ HiddenObjectMaps:
db BATTLE_TENT db BATTLE_TENT
db VERMILION_DOCK db VERMILION_DOCK
db MT_MOON_CRATER db MT_MOON_CRATER
db DAYCARE
db -1 ; end db -1 ; end
HiddenObjectPointers: HiddenObjectPointers:
@ -181,6 +182,7 @@ HiddenObjectPointers:
dw BattleTentHiddenObjects dw BattleTentHiddenObjects
dw VermilionDockHiddenObjects dw VermilionDockHiddenObjects
dw MtMoonCraterHiddenObjects dw MtMoonCraterHiddenObjects
dw DaycareHiddenItems
MACRO hidden_object MACRO hidden_object
db \2 ; y coord db \2 ; y coord
@ -655,3 +657,7 @@ MtMoonCraterHiddenObjects:
hidden_object 20, 17, BLK_AUGURITE, HiddenItems hidden_object 20, 17, BLK_AUGURITE, HiddenItems
hidden_object 32, 45, OLD_AMBER, HiddenItems hidden_object 32, 45, OLD_AMBER, HiddenItems
db -1 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 NoHS dw NoHS
dw NoHS dw DaycareHS
dw NoHS dw NoHS
dw NoHS dw NoHS
dw CelesteHillHS dw CelesteHillHS
@ -349,6 +349,8 @@ CeruleanCaveHS:
db CERULEAN_CAVE_1F, $01, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_1 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, $02, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_2
db CERULEAN_CAVE_1F, $03, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_3 db CERULEAN_CAVE_1F, $03, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_3
DaycareHS:
db DAYCARE, $03, SHOW ; HS_DAYCARE_BULBASAUR
CelesteHillHS: CelesteHillHS:
db CELESTE_HILL, $01, SHOW ; HS_MOLTRES_G db CELESTE_HILL, $01, SHOW ; HS_MOLTRES_G
PokemonTower2FHS: PokemonTower2FHS:

View file

@ -2,12 +2,18 @@ Daycare_Object:
db $a ; border block db $a ; border block
def_warp_events def_warp_events
warp_event 2, 7, LAST_MAP, 5 warp_event 4, 7, LAST_MAP, 5
warp_event 3, 7, LAST_MAP, 5 warp_event 5, 7, LAST_MAP, 5
def_bg_events def_bg_events
bg_event 7, 4, 7 ; Daycare Book
def_object_events 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 def_warps_to DAYCARE

View file

@ -334,3 +334,16 @@ _TMNPCNoRoomText::
text "You have no" text "You have no"
line "room for this!" line "room for this!"
done 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:: RedsHouse1_Block::
RedsHouse2_Block:: INCBIN "gfx/blocksets/reds_house.bst" 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_GFX:: INCBIN "gfx/tilesets/mansion.2bpp"
Mansion_Block:: INCBIN "gfx/blocksets/mansion.bst" Mansion_Block:: INCBIN "gfx/blocksets/mansion.bst"
ShipPort_GFX:: INCBIN "gfx/tilesets/ship_port.2bpp" 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_GFX:: INCBIN "gfx/tilesets/betamart.2bpp"
BetaMart_Block:: INCBIN "gfx/blocksets/betamart.bst" 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" "Maps 11"
"Battle Engine 9" "Battle Engine 9"
"Maps 12" "Maps 12"
"Diploma"
ROMX $16 ROMX $16
"Maps 13" "Maps 13"
"Battle Engine 10" "Battle Engine 10"
"Maps 14" "Maps 14"
"Saffron Guards" "Saffron Guards"
"Diploma"
ROMX $17 ROMX $17
"Maps 15" "Maps 15"
"Starter Dex" "Starter Dex"

View file

@ -1 +1 @@
    %&#$  

View file

@ -3,6 +3,12 @@ Daycare_Script:
Daycare_TextPointers: Daycare_TextPointers:
dw DayCareMText1 dw DayCareMText1
dw DaycareMelanie
dw DaycareBulbasaur
dw DaycareOddish
dw DaycareSandshrew
dw DaycareRibbito
dw DaycareBook
DayCareMText1: DayCareMText1:
text_asm text_asm
@ -267,3 +273,142 @@ DayCareHeresYourMonText:
DayCareNotEnoughMoneyText: DayCareNotEnoughMoneyText:
text_far _DayCareNotEnoughMoneyText text_far _DayCareNotEnoughMoneyText
text_end 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 text_end
LavenderHouse1Text3: LavenderHouse1Text3:
text_far _LavenderHouse1Text3 text_far _SandshrewText
text_asm text_asm
ld a, SANDSHREW ld a, SANDSHREW
call PlayCry call PlayCry
jp TextScriptEnd jp TextScriptEnd
LavenderHouse1Text4: LavenderHouse1Text4:
text_far _LavenderHouse1Text4 text_far _BulbasaurText
text_asm text_asm
ld a, BULBASAUR ld a, BULBASAUR
call PlayCry call PlayCry
@ -113,7 +113,7 @@ LavenderHouse1Text6:
text_end text_end
LavenderHouse1Text7: LavenderHouse1Text7:
text_far _LavenderHouse1Text7 text_far _OddishText
text_asm text_asm
ld a, ODDISH ld a, ODDISH
call PlayCry call PlayCry

View file

@ -60,3 +60,58 @@ _DayCareMonNeedsMoreTimeText::
cont "needs some more" cont "needs some more"
cont "time with me." cont "time with me."
prompt 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!" cont "nice to hug!"
done done
_LavenderHouse1Text3::
text "SANDSHREW: Pikii!@"
text_end
_LavenderHouse1Text4::
text "BULBASAUR: Bubba!"
line "Zoar!@"
text_end
_LavenderHouse1Text_1d94c:: _LavenderHouse1Text_1d94c::
text "MR.FUJI: <PLAYER>." text "MR.FUJI: <PLAYER>."
@ -88,7 +79,3 @@ _LavenderHouse1Text6::
para "Gone! It's been" para "Gone! It's been"
line "clipped out!" line "clipped out!"
done done
_LavenderHouse1Text7::
text "ODDISH: Orddissh!@"
text_end