Fix Giovanni's Room + bits and bobs

- Fixed the Arrow Tiles, it was very silly.
- Edited the text in Giovanni's Room to fix a gap, but also ended up adding citations and stuff to the file for the interested.
- Edited the map in Giovanni's Room to make a little more sense.
- Fixed some post-game Hall of Fame setup stuff.
- Edited Install.MD to be more idiot-proof
This commit is contained in:
Llinos Evans 2023-09-20 01:24:35 +01:00
parent 9d935a59a1
commit c0bf3ff49d
9 changed files with 73 additions and 57 deletions

View file

@ -1,3 +1,13 @@
# NOTICE
This file comes with base pokered. To install KEP, use https://github.com/PlagueVonKarma/kep-hack whenever the link to the pokered repository comes up.
Also, **PLEASE** read this carefully. 99.9% of the install issues you will face will come from not reading this properly. Follow it to the letter, just with the above considered.
Should issues persist, I cannot give much support other than directing you to [pret's Discord](https://discord.gg/hu55wwjdAT). Please be kind and respectful to them, and ask detailed questions. Don't just post the error log, so on, so forth.
~ Plague von Karma.
# Instructions
These instructions explain how to set up the tools required to build **pokered**, including [**rgbds**](https://github.com/gbdev/rgbds), which assembles the source files into a ROM.

View file

@ -3,7 +3,7 @@ GiovannisRoom_Object:
def_warp_events
warp_event 5, 4, VIRIDIAN_GYM, 3
warp_event 17, 4, VIRIDIAN_CITY, 6
warp_event 15, 4, VIRIDIAN_CITY, 6
def_bg_events
@ -11,8 +11,8 @@ GiovannisRoom_Object:
object_event 4, 22, SPRITE_PAPER, STAY, DOWN, 1
object_event 17, 8, SPRITE_PAPER, STAY, RIGHT, 2
object_event 17, 15, SPRITE_PAPER, STAY, DOWN, 3
object_event 8, 16, SPRITE_PAPER, STAY, RIGHT, 4
object_event 17, 22, SPRITE_POKE_BALL, STAY, NONE, 5, TM_EARTHQUAKE
object_event 14, 24, SPRITE_PAPER, STAY, RIGHT, 4
object_event 16, 4, SPRITE_POKE_BALL, STAY, NONE, 5, TM_EARTHQUAKE
object_event 5, 22, SPRITE_POKE_BALL, STAY, NONE, 6, PROTECTOR
def_warps_to GIOVANNIS_ROOM

View file

@ -8,9 +8,10 @@ RedsHouse2F_Object:
;warp_event 5, 1, ROCKET_HIDEOUT_B4F, 2 ; - Test Giovanni 1
;warp_event 5, 1, MT_MOON_SQUARE, 1 ; - Test Shop, NPCs, and Crater
;warp_event 5, 1, CELESTE_HILL, 1 ; - Test GMolt
warp_event 5, 1, HALL_OF_FAME, 1 ; Test post-game setup
;warp_event 5, 1, HALL_OF_FAME, 1 ; Test post-game setup
;warp_event 5, 1, GARNET_CAVERN_B1F, 1 ; Test GCuno
;warp_event 5, 1, FARAWAY_ISLAND_INSIDE, 1 ; Test Mew
warp_event 5, 1, GIOVANNIS_ROOM, 1 ; Test spinner tiles
def_bg_events

View file

@ -7,7 +7,7 @@ ViridianCity_Object:
warp_event 21, 15, VIRIDIAN_SCHOOL_HOUSE, 1
warp_event 21, 9, VIRIDIAN_NICKNAME_HOUSE, 1
warp_event 32, 7, VIRIDIAN_GYM, 1
warp_event 32, 3, GIOVANNIS_ROOM, 2
warp_event 33, 3, GIOVANNIS_ROOM, 2
warp_event 12, 15, VIRIDIAN_PRE_GYM, 1
def_bg_events

View file

@ -1 +1 @@
............@AABAAAAB..DoFnF..@*+B 55..D F GF..D F ''F..D F 59..D F'..HwEJ55..DF555..D^F*+AAB..DGGqF..S F..HIIJIIIIJ.
............@AABAAAAB..DoF:;F..@+B 55..DwEF GF..DwEF 5'F..DwEF 59..DwEF'..H J55..DF555..DF*+AAB..DGGq^..D SCG5..HIIJ3333J.

View file

@ -2112,7 +2112,8 @@ wRoute23CurScript:: db
wSeafoamIslandsB4FCurScript:: db
wRoute18Gate1FCurScript:: db
wBattleTentCurScript:: db
ds 5
wGiovannisRoomCurScript:: db
ds 4
wGameProgressFlagsEnd::
UNION

View file

@ -1,5 +1,10 @@
GiovannisRoom_Script:
jp EnableAutoTextBoxDrawing
call EnableAutoTextBoxDrawing
ld de, GiovannisRoom_ScriptPointers
ld a, [wGiovannisRoomCurScript]
call ExecuteCurMapScriptInTable
ld [wGiovannisRoomCurScript], a
ret
GiovannisRoom_ScriptPointers:
dw GiovannisRoomScript0
@ -13,7 +18,7 @@ GiovannisRoomScript0:
ld hl, GiovannisRoomArrowTilePlayerMovement
call DecodeArrowMovementRLE
cp $ff
jp z, CheckFightingMapTrainers
jr z, .done ; Normally this checks for map trainers, but since there's none, we can remove them.
ld hl, wd736
set 7, [hl]
call StartSimulatingJoypadStates
@ -21,10 +26,12 @@ GiovannisRoomScript0:
call PlaySound
ld a, $ff
ld [wJoyIgnore], a
ld a, $3
ld a, $1
ld [wCurMapScript], a
.done
ret
; Some tile movements were removed due to either being unnecessary or ports from Viridian Gym itself.
GiovannisRoomArrowTilePlayerMovement:
map_coord_movement 12, 16, GiovannisRoomArrowMovement1
map_coord_movement 14, 15, GiovannisRoomArrowMovement2
@ -34,11 +41,8 @@ GiovannisRoomArrowTilePlayerMovement:
map_coord_movement 15, 8, GiovannisRoomArrowMovement7
map_coord_movement 12, 9, GiovannisRoomArrowMovement8
map_coord_movement 14, 9, GiovannisRoomArrowMovement9
map_coord_movement 13, 10, GiovannisRoomArrowMovement10
map_coord_movement 15, 10, GiovannisRoomArrowMovement11
map_coord_movement 12, 11, GiovannisRoomArrowMovement12
map_coord_movement 14, 11, GiovannisRoomArrowMovement13
map_coord_movement 14, 5, GiovannisRoomArrowMovement14
db -1 ; end
GiovannisRoomArrowMovement1:
@ -78,32 +82,18 @@ GiovannisRoomArrowMovement9:
db D_UP, 1
db -1 ; end
GiovannisRoomArrowMovement10:
db D_RIGHT, 5
db -1 ; end
GiovannisRoomArrowMovement11:
db D_RIGHT, 3
db -1 ; end
GiovannisRoomArrowMovement12:
db D_UP, 1
db D_RIGHT, 2
db D_UP, 2
db -1 ; end
GiovannisRoomArrowMovement13:
db D_UP, 3
db -1 ; end
GiovannisRoomArrowMovement14:
db D_RIGHT, 4
db -1 ; end
GiovannisRoomScript4:
ld a, [wSimulatedJoypadStatesIndex]
and a
jp nz, LoadSpinnerArrowTiles
jr nz, .GiovannisRoomLoadSpinnerArrow
xor a
ld [wJoyIgnore], a
ld hl, wd736
@ -111,6 +101,8 @@ GiovannisRoomScript4:
ld a, $0
ld [wCurMapScript], a
ret
.GiovannisRoomLoadSpinnerArrow
farjp LoadSpinnerArrowTiles
GiovannisRoom_TextPointers:
dw GiovannisRoomText1

View file

@ -149,14 +149,14 @@ ResetLegendaryPokemon:
.skipArticuno ; Rinse and repeat.
ld a, DEX_ZAPDOS
call HoFIsPokemonBitSet
jr z, .skipZapdos
jr nz, .skipZapdos
ResetEvent EVENT_BEAT_ZAPDOS
ld a, HS_ZAPDOS
call ShowThis
.skipZapdos
ld a, DEX_MOLTRES
call HoFIsPokemonBitSet
jr z, .skipMoltres
jr nz, .skipMoltres
ResetEvent EVENT_BEAT_MOLTRES
ld a, HS_MOLTRES
call ShowThis
@ -175,7 +175,7 @@ ResetLegendaryPokemon:
; So, we put this here.
ld a, DEX_MEW
call HoFIsPokemonBitSet
jr z, .skipMew
jr nz, .skipMew
ResetEvent EVENT_BEAT_MEW
ld a, HS_MEW
call ShowThis
@ -184,28 +184,28 @@ ResetLegendaryPokemon:
jp z, .skipGalarianBirdsAndMewtwo ; If you haven't cleared the game yet, you've not met the Galarian Birds. So we may as well skip processing all this.
ld a, DEX_ARTICUNO_G
call HoFIsPokemonBitSet
jr z, .skipArticunoG
jr nz, .skipArticunoG
ResetEvent EVENT_BEAT_ARTICUNO_G
ld a, HS_GARNET_ARTICUNO_G
call ShowThis
.skipArticunoG
ld a, DEX_ZAPDOS_G
call HoFIsPokemonBitSet
jr z, .skipZapdosG
jr nz, .skipZapdosG
ResetEvent EVENT_BEAT_ZAPDOSG
ld a, HS_BRUNSWICK_ZAPDOS_G_2
call ShowThis
.skipZapdosG
ld a, DEX_MOLTRES_G
call HoFIsPokemonBitSet
jr z, .skipMoltresG
jr nz, .skipMoltresG
ResetEvent EVENT_BEAT_GALARIAN_MOLTRES
ld a, HS_MOLTRES_G
call ShowThis
.skipMoltresG
ld a, DEX_MEWTWO
call HoFIsPokemonBitSet
jr z, .skipGalarianBirdsAndMewtwo
jr nz, .skipGalarianBirdsAndMewtwo
ResetEvent EVENT_BEAT_MEWTWO
ld a, HS_MEWTWO
call ShowThis

View file

@ -1,3 +1,9 @@
; Much of the text here is taken from real Giovanni lore. You could say I wanted to write a love letter to Giovanni as a character here.
; If you read all this, thank you for loving this character as much as I do.
; ~ Plague von Karma
; Mysteries of the Earth is a book written by Giovanni in the Adventures Manga. In that book, he is confirmed to have discovered Rhyperior.
; Additionally, in Adventures, his first caught Pokemon was a Weedle - this is why he uses Beedrill.
_GiovannisRoomText1::
text "MYSTERIES OF THE"
line "EARTH - GIOVANNI"
@ -9,19 +15,16 @@ _GiovannisRoomText1::
para "Its name is"
line "RHYPERIOR."
cont "However, it"
cont "cannot be"
cont "obtained with"
cont "items found in"
cont "KANTO naturally."
para "A PROTECTOR is"
line "required, which"
cont "we managed to"
cont "import here."
para "We can't get it"
line "obtained with"
cont "items native to"
cont "KANTO. We must"
cont "use a PROTECTOR."
para "It unfortunately"
line "fails to address"
para "Unfortunately,"
line "RHYPERIOR does"
cont "not address"
cont "RHYDON's poor"
cont "SPEED. Ergo, it"
cont "cannot use my"
@ -30,20 +33,23 @@ _GiovannisRoomText1::
cont "full potential."
done
; Madame Boss, Giovanni's mother, is from a Japan-exclusive Radio Drama.
; http://www.rigelatin.net/copycat/saga/origin/dramaep1.php
; In Pokemon Origins, Giovanni is confirmed to have begun with a Charmander.
; This combines those two facts.
_GiovannisRoomText2::
text "It's a torn-out"
line "page from an"
cont "old diary..."
para "Aug 1st, 1975"
line "I managed to"
cont "get my first"
cont "#MON."
para "Aug 1st, 1975" ; Did you know we calc'd the year here?
line "I got my first"
cont "#MON!"
para "It's a CHARMANDER!"
line "But...I have to"
cont "keep this a"
cont "secret from"
para "But...I must keep"
line "it a secret from"
cont "mother."
para "She would auction"
@ -56,6 +62,12 @@ _GiovannisRoomText2::
line "you!"
done
; We never have Giovanni use Charizard, as he's never shown doing so, even in Origins.
; My assumption is one of the following;
; - He doesn't want it involved with his Yakuza activities.
; - He released it.
; - His mother ended up selling it.
; I like giving the player the opportunity to think about this too!
_GiovannisRoomText3::
text "Various financial"
@ -63,12 +75,11 @@ _GiovannisRoomText3::
cont "scattered on"
cont "the floor..."
para "PROTECTOR: ¥3,000"
para "PROTECTOR: ¥3,000" ; Giovanni discovered the Protector's use with Rhyperior.
para "DIRE HIT: ¥5,200"
para "DIRE HIT: ¥5,200" ; Giovanni uses this in battle.
para "DEVELOPMENT OF"
line "TM27: ¥15,000"
para "TM27 R&D: ¥15,000" ; Giovanni is confirmed to have created Fissure in vanilla RBY. He also says he made Earthquake in FRLG, but it feels contrived.
para "Business: ¥100,000"
@ -76,6 +87,7 @@ _GiovannisRoomText3::
done
; This is a reference to the Radio Drama. Jessie's mother dies trying to find it.
_GiovannisRoomText4::
text "It's a document"
line "about a failed"