Revamp Pokemon Mansion B2F

This was hell to do. There is still one bug in there, and that's the item pickups don't work for some reason. I don't know how these work honestly so if anyone wants to sort that go ahead.

Anyway, some stuff on the map;
- Currently, a warp from B1F leads there, which is intentionally non-returnable. The player walks through the whole map to get to the warp panel. A walk of humanity's shame, if you will. A warp for where the player is meant to go will be necessary later.
- Lore from Japanese media, particularly the first movie's interpretation of Mewtwo, is included. This is based on context clues on its canonicity from LGPE and other bits.
- A clue on how to get the Old Sea Chart is not-so-subtly included.

The MissingNo. event is unfinished, I intend for Martha to deal with that. The text intentionally lacks a "done" bit to force an unpredictable error; I believe this is inconsequential gameplay-wise and should make for a good opening quote when fighting it.

Oh, and Faraway Island has Mankey, Butterfree, and Primeape as find-able Pokemon now. This should be expanded upon later.
This commit is contained in:
May Evans 2022-10-17 16:57:42 +01:00
parent 97cb4cfaf3
commit 86f111e5d7
15 changed files with 201 additions and 19 deletions

View file

@ -238,7 +238,9 @@ DEF SHOW EQU $15
const HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 ; E2
const HS_ARTICUNO ; E3 X
const HS_CROCKY ; E4 X
const HS_MEW ; E5 X
const HS_MEW ; E5 X ; I am 90% sure there may be a bug involving getting the Old Sea Chart from Vermillion Dock here. Does that need to be here? Is Moltres positioned poorly?
const HS_MOLTRES ; E6 X
; const HS_CACTUS ; E7 X
const HS_POKEMON_MANSION_B2F_ITEM_1 ; E8?
const HS_POKEMON_MANSION_B2F_ITEM_2 ; E9?
DEF NUM_HS_OBJECTS EQU const_value

View file

@ -135,7 +135,7 @@ DEF FIRST_INDOOR_MAP EQU const_value
mapconst LANCES_ROOM, 13, 13 ; $71
mapconst FARAWAY_ISLAND_OUTSIDE, 18, 15 ; $72 ; Unused UNUSED_MAP_72
mapconst FARAWAY_ISLAND_INSIDE, 11, 15 ; $73 ; Unused UNUSED_MAP_73
mapconst POKEMON_MANSION_B2F, 8, 8 ; $74 ; Unused UNUSED_MAP_74
mapconst POKEMON_MANSION_B2F, 12, 15 ; $74 ; Unused UNUSED_MAP_74
mapconst UNUSED_MAP_75, 0, 0 ; $75 ; Unused
mapconst HALL_OF_FAME, 4, 5 ; $76
mapconst UNDERGROUND_PATH_NORTH_SOUTH, 24, 4 ; $77

View file

@ -51,7 +51,7 @@
const SPRITE_FISHER ; $2f
const SPRITE_KOGA ; $30
const SPRITE_GUARD ; $31
const SPRITE_FAKE_TREE ; $32 - fake tree
const SPRITE_FAKE_TREE ; $32 - fake tree, was guard
const SPRITE_MOM ; $33
const SPRITE_BALDING_GUY ; $34
const SPRITE_LITTLE_BOY ; $35

View file

@ -119,7 +119,7 @@ MapHSPointers:
dw NoHS
dw NoHS
dw FarawayIslandInsideHS
dw NoHS
dw PokemonMansionB2FHS
dw NoHS
dw NoHS
dw NoHS
@ -571,8 +571,11 @@ SeafoamIslandsB4FHS:
db SEAFOAM_ISLANDS_B4F, $03, SHOW
VermilionDockHS: ; unsure if necessary
db VERMILION_DOCK, $01, SHOW
;db $FF, $01, SHOW ; end
;db $FF, $01, SHOW
FarawayIslandInsideHS:
db FARAWAY_ISLAND_INSIDE, $01, HIDE ; if mew is fucking up this is why
PokemonMansionB2FHS:
db POKEMON_MANSION_B2F, $03, SHOW
db POKEMON_MANSION_B2F, $04, SHOW ; end
assert_table_length NUM_HS_OBJECTS + 1

View file

@ -1,8 +1,9 @@
PokemonMansionB1F_Object:
db $1 ; border block
db $01 ; border block
def_warp_events
warp_event 23, 22, POKEMON_MANSION_1F, 6
warp_event 2, 1, POKEMON_MANSION_B2F, 1 ; temp for debugging purposes...unless?
def_bg_events

View file

@ -1,10 +1,34 @@
PokemonMansionB2F_Object:
db $01 ; border block
db $0D ; border block
def_warp_events
warp_event 26, 22, CINNABAR_ISLAND, 1 ; this should not be accessible, only something the player arrives at.
warp_event 27, 2, CINNABAR_ISLAND, 6
def_bg_events
bg_event 23, 0, 14 ; photo
bg_event 18, 2, 15 ; starter pod
bg_event 14, 2, 16 ; starter pod
bg_event 10, 2, 17 ; starter pod
bg_event 6, 2, 18 ; amber's pod
bg_event 1, 2, 19 ; mewtwo's pod
bg_event 12, 6, 20 ; computer 1
bg_event 14, 6, 21 ; computer 2
bg_event 16, 6, 22 ; computer 3, missingno
def_object_events
object_event 7, 8, SPRITE_POKEDEX, STAY, NONE, 1 ; Book 1
object_event 26, 6, SPRITE_POKEDEX, STAY, NONE, 2 ; Book 2
object_event 8, 8, SPRITE_POKE_BALL, STAY, NONE, 3, TM_PSYCHIC_M
object_event 25, 6, SPRITE_POKE_BALL, STAY, NONE, 4, RARE_CANDY
object_event 6, 17, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 5 ; person
object_event 9, 18, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 6 ; person
object_event 5, 22, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person
object_event 17, 22, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 8 ; person
object_event 11, 21, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 9 ; person
object_event 8, 19, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 10 ; person
object_event 5, 17, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 11 ; person
object_event 7, 18, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person
object_event 12, 22, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 13 ; person
def_warps_to POKEMON_MANSION_B2F

View file

@ -116,7 +116,7 @@ MapSongBanks::
db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; LANCES_ROOM
db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; UNUSED_MAP_72 / FARAWAY ISLAND INSIDE
db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; UNUSED_MAP_73 / FARAWAY ISLAND OUTSIDE
db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_74
db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; UNUSED_MAP_74 / POKEMON MANSION B2F
db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_75
db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; HALL_OF_FAME
db MUSIC_ROUTES1, BANK(Music_Routes1) ; UNDERGROUND_PATH_NORTH_SOUTH

View file

@ -1,10 +1,10 @@
FarawayIslandInsideMons:
def_grass_wildmons 10 ; encounter rate
db 30, EEVEE
db 30, EEVEE
db 30, EEVEE
db 30, EEVEE
db 30, EEVEE
db 30, MANKEY
db 30, MANKEY
db 30, PRIMEAPE
db 30, BUTTERFREE
db 30, EEVEE
db 30, EEVEE
db 30, EEVEE

View file

@ -1 +1 @@
`aaaBaaaabAAAABdFfwCCCFDGVXWIJIXWQDF@cgBAAAAAAABFD  FFFDFFFD  FFFPIIIJZaaYVQDFDFDVGDFDDnFDZwDFHIIIIIJIIIHIIIJ
`saaBaaaabAAAABdFfwCCCFDGVXWIJIXWQDF@cgBAAAAAAABFD  FFFDFFFD  FFFPIIIJZaaYVQDFDFDVGDFDDnFDZwDFHIIIIIJIIIHIIIJ

View file

@ -1,4 +1,5 @@

35
88, /$*$9* 
$9*$*888$*-+,.,+6,+ $# $( $( $"""""""""" 7+

View file

@ -53,7 +53,7 @@ Mansion3Script0:
CoordsData_52254:
dbmapcoord 16, 14
dbmapcoord 17, 14
dbmapcoord 19, 14
dbmapcoord 19, 14 ; this one kicks you out i think
db -1 ; end
Mansion3Script_5225b:

View file

@ -2,5 +2,63 @@ PokemonMansionB2F_Script:
jp EnableAutoTextBoxDrawing
PokemonMansionB2F_TextPointers:
dw B2FBook1
dw B2FBook2
dw PickUpItemText
dw PickUpItemText
dw BoulderText
dw BoulderText
dw BoulderText
dw BoulderText
dw BoulderText
dw BoulderText
dw BoulderText
dw BoulderText
dw BoulderText
dw B2FPicture
dw B2FTrioPods
dw B2FTrioPods
dw B2FTrioPods
dw B2FAmberPod
dw B2FMewtwoPod
dw B2FComputer1
dw B2FComputer2
dw B2FMissingNo
B2FBook1:
text_far _B2FBook1
text_end
B2FBook2:
text_far _B2FBook2
text_end
B2FPicture:
text_far _B2FPicture
text_end
B2FComputer1:
text_far _B2FComputer1
text_end
B2FComputer2:
text_far _B2FComputer2
text_end
B2FMissingNo:
text_far _B2FMissingNo
text_end ; i'll figure this out another time
B2FTrioPods:
text_far _TrioPods
text_end
B2FAmberPod:
text_far _AmberPod
text_end
B2FMewtwoPod:
text_far _MewtwoPod
text_end
text_end ; unused

View file

@ -276,6 +276,7 @@ INCLUDE "text/CeladonUniversityInside.asm"
INCLUDE "text/CeladonUniversityPokecenter.asm"
INCLUDE "text/CinnabarVolcano.asm"
INCLUDE "text/FarawayIslandOutside.asm"
INCLUDE "text/PokemonMansionB2F.asm"
SECTION "Pokédex Text", ROMX

View file

@ -33,7 +33,9 @@ _Mansion4Text7::
line "MEWTWO is far too"
cont "powerful."
para "We have failed to"
line "curb its vicious"
cont "tendencies..."
text "It's no use..."
text "I cannot control"
line "it!"
done

View file

@ -0,0 +1,90 @@
_B2FBook1::
text "Diary: Feb 20"
line "The clone project"
cont "was a success."
para "We are getting"
line "high energy"
cont "readings from"
cont "MEWTWO's PSYCHIC"
cont "power!"
para "But..."
para "What are they"
line "talking about?"
done
_B2FBook2::
text "Diary: Apr 24"
line "All clones have"
cont "perished."
para "MEWTWO remains."
line "However..."
para "Its seemed to"
line "react to the"
cont "situation."
para "Tranquilizers"
line "were administered."
para "We should never"
line "have gone to"
cont "Guyana. I must"
cont "hide that map..."
para "Somewhere no one"
line "will ever look."
done
_B2FPicture::
text "It's charred"
line "picture of a"
cont "happy family."
done
_B2FComputer1::
text "The screen is"
line "cracked, but"
cont "five graphs"
cont "are visible."
done
_B2FComputer2::
text "The screen is"
line "broken beyond"
cont "repair..."
done
_B2FMissingNo::
text "" ; no "done" will cause a (hopefully) inconsequential error to appear.
_TrioPods::
text "Stagnant fluid"
line "floats inside"
cont "the pod..."
done
_AmberPod::
text "This pod is"
line "empty."
done
_MewtwoPod::
text "Smashed glass"
line "litters the"
cont "pod..."
para "What could have"
line "done this?"
done