Citrine Rocket House

This map is pretty much finished, save for the map sprites for Jessie, James, and the unused Cat (aka Meowth) being imported, as well as an & symbol. This adds everything else - the marts, the Rocket Trio fight, the meeting music, the tileset, the trainer class for Jessie/James, I could go on. A ton of work well-done.
This commit is contained in:
Llinos Evans 2023-04-22 20:49:19 +01:00
parent 437602bf21
commit 78d3ed63f2
37 changed files with 287 additions and 28 deletions

View file

@ -261,9 +261,9 @@ Galarian and Paldean formes are accessed on the S.S. Anne, which now returns aft
Credits
====
* Plague von Karma - Creator of the Showdown Mod, Developer
* Martha's Against Humanity - Developer, tweaks of Albatross's sprites.
* Ema Skye - Developer
* Plague von Karma - Creator of the Showdown Mod, Developer, Maps, and occasional spriter (assisting with Tsubomitto, Carapthor)
* Martha's Against Humanity - Developer, Pokemon implementation, tweaks of Albatross's sprites.
* Ema Skye - Developer, Maps, Showdown Mod assistance
* pret et al - Pokémon Red and Blue Disassembly Project, many tutorials helped us!
* ausma - Showdown Mod assistance
* Paulluxx - Showdown Mod assistance

View file

@ -98,7 +98,7 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const CELESTE_HILL, 12, 12 ; $4C - Was copy of above & unused
map_const ROUTE_7_GATE, 3, 4 ; $4D
map_const UNDERGROUND_PATH_ROUTE_7, 4, 4 ; $4E
map_const UNDERGROUND_PATH_ROUTE_7_COPY, 4, 4 ; $4F - Unused
map_const CITRINE_ROCKET_HOUSE, 5, 5 ; $4F - Unused, was UNDERGROUND_PATH_ROUTE_7_COPY
map_const ROUTE_8_GATE, 3, 4 ; $50
map_const UNDERGROUND_PATH_ROUTE_8, 4, 4 ; $51
map_const ROCK_TUNNEL_POKECENTER, 7, 4 ; $52

View file

@ -57,6 +57,7 @@
const MUSIC_MEET_MALE_TRAINER
const MUSIC_DIGDA01
const MUSIC_FIELD06
const MUSIC_MEET_JESSIE_JAMES
const NUM_SONGS

View file

@ -28,4 +28,5 @@
const PREGYM ; 24
const CITRINE ; 25
const CELESTE ; 26
const ROCKETHOUSE
DEF NUM_TILESETS EQU const_value

View file

@ -66,4 +66,5 @@ ENDM
trainer_const FIREFIGHTER
trainer_const JUNIOR
trainer_const JACK
trainer_const JESSIE_JAMES
DEF NUM_TRAINERS EQU const_value - 1

View file

@ -51,3 +51,4 @@ Music:
dba Music_MeetMaleTrainer
dba Music_Digda01
dba Music_Field06
dba Music_MeetJessieJames

View file

@ -30,7 +30,7 @@ ItemPrices::
bcd3 0 ; EARTHBADGE
bcd3 550 ; ESCAPE_ROPE
bcd3 350 ; REPEL
bcd3 0 ; OLD_AMBER
bcd3 7000 ; OLD_AMBER
bcd3 2100 ; FIRE_STONE
bcd3 2100 ; THUNDER_STONE
bcd3 2100 ; WATER_STONE
@ -40,8 +40,8 @@ ItemPrices::
bcd3 9800 ; CARBOS
bcd3 9800 ; CALCIUM
bcd3 4800 ; RARE_CANDY
bcd3 0 ; DOME_FOSSIL
bcd3 0 ; HELIX_FOSSIL
bcd3 7000 ; DOME_FOSSIL
bcd3 7000 ; HELIX_FOSSIL
bcd3 0 ; SECRET_KEY
bcd3 2100 ; HEART_STONE
bcd3 0 ; BIKE_VOUCHER
@ -49,7 +49,7 @@ ItemPrices::
bcd3 2100 ; LEAF_STONE
bcd3 0 ; CARD_KEY
bcd3 10000 ; NUGGET
bcd3 0 ; WING_FOSSIL
bcd3 7000 ; WING_FOSSIL
bcd3 1000 ; POKE_DOLL
bcd3 600 ; FULL_HEAL
bcd3 1500 ; REVIVE

View file

@ -0,0 +1,2 @@
map_header CitrineRocketHouse, CITRINE_ROCKET_HOUSE, ROCKETHOUSE, 0
end_map_header

View file

@ -80,7 +80,7 @@ MapHeaderBanks::
db BANK(CelesteHill_h) ; was db BANK(UndergroundPathRoute6_h), UNDERGROUND_PATH_ROUTE_6_COPY
db BANK(Route7Gate_h)
db BANK(UndergroundPathRoute7_h)
db BANK(UndergroundPathRoute7Copy_h)
db BANK(CitrineRocketHouse_h) ; was db BANK(UndergroundPathRoute7Copy_h)
db BANK(Route8Gate_h)
db BANK(UndergroundPathRoute8_h)
db BANK(RockTunnelPokecenter_h)

View file

@ -80,7 +80,7 @@ MapHeaderPointers::
dw CelesteHill_h ; was dw UndergroundPathRoute6_h, UNDERGROUND_PATH_ROUTE_6_COPY
dw Route7Gate_h
dw UndergroundPathRoute7_h
dw UndergroundPathRoute7Copy_h
dw CitrineRocketHouse_h ; was dw UndergroundPathRoute7Copy_h
dw Route8Gate_h
dw UndergroundPathRoute8_h
dw RockTunnelPokecenter_h

View file

@ -2,6 +2,7 @@ CitrineCity_Object:
db $43 ; border block
def_warp_events
warp_event 9, 27, CITRINE_ROCKET_HOUSE, 1
def_bg_events

View file

@ -0,0 +1,19 @@
CitrineRocketHouse_Object:
db $01 ; border block
def_warp_events
warp_event 4, 9, CITRINE_CITY, 1
warp_event 5, 9, CITRINE_CITY, 1
def_bg_events
def_object_events
object_event 4, 1, SPRITE_ROCKET, STAY, DOWN, 1 ; Mart Guy
object_event 5, 1, SPRITE_ROCKET, STAY, DOWN, 2 ; Mart Guy
object_event 1, 6, SPRITE_ROCKET, STAY, RIGHT, 3 ; person
object_event 9, 3, SPRITE_ROCKET, STAY, UP, 4 ; person
object_event 9, 8, SPRITE_ROCKET, STAY, UP, 5 ; Meowth ; SPRITE_CAT
object_event 9, 5, SPRITE_ROCKET, STAY, DOWN, 6 ; James ; SPRITE_JAMES
object_event 7, 6, SPRITE_ROCKET, STAY, RIGHT, 7 ; Jessie ; SPRITE_JESSIE
def_warps_to CITRINE_ROCKET_HOUSE

View file

@ -79,7 +79,7 @@ MapSongBanks::
db MUSIC_DUNGEON2, 0 ; CELESTE_HILL, was UNDERGROUND_PATH_ROUTE_6_COPY
db MUSIC_CITIES1, 0 ; ROUTE_7_GATE
db MUSIC_CITIES1, 0 ; UNDERGROUND_PATH_ROUTE_7
db MUSIC_CELADON, 0 ; UNDERGROUND_PATH_ROUTE_7_COPY
db MUSIC_DUNGEON1, 0 ; Rocket House, UNDERGROUND_PATH_ROUTE_7_COPY
db MUSIC_CITIES1, 0 ; ROUTE_8_GATE
db MUSIC_CITIES1, 0 ; UNDERGROUND_PATH_ROUTE_8
db MUSIC_POKECENTER, 0 ; ROCK_TUNNEL_POKECENTER

View file

@ -69,7 +69,6 @@ InternalMapEntries:
internal_map DAYCARE, 10, 4, Route5Name
internal_map UNDERGROUND_PATH_ROUTE_6, 10, 8, Route6Name
internal_map CELESTE_HILL, 6, 10, CelesteHillName
internal_map UNDERGROUND_PATH_ROUTE_7_COPY, 9, 5, Route7Name
internal_map UNDERGROUND_PATH_ROUTE_8, 11, 5, Route8Name
internal_map ROCK_TUNNEL_1F, 14, 3, RockTunnelName
internal_map POWER_PLANT, 15, 4, PowerPlantName

View file

@ -24,4 +24,6 @@ BookshelfTileIDs:
bookshelf_tile SHIP, $36, BookOrSculptureText
bookshelf_tile PREGYM, $56, BookOrSculptureText
bookshelf_tile PREGYM, $57, BookOrSculptureText
bookshelf_tile ROCKETHOUSE, $38, BookOrSculptureText
bookshelf_tile ROCKETHOUSE, $39, BookOrSculptureText
db -1 ; end

View file

@ -76,4 +76,7 @@ Citrine_Coll::
coll_tiles $2C, $31, $3F, $55, $0E, $2F, $23, $20, $10, $03, $1C, $1B, $0B, $0C, $21, $39, $3C, $48, $49, $58, $59
Celeste_Coll::
coll_tiles $1e, $20, $2e, $30, $34, $37, $39, $3a, $40, $51, $52, $5a, $5c, $5e, $5f, $09, $08, $18, $19
coll_tiles $1e, $20, $2e, $30, $34, $37, $39, $3a, $40, $51, $52, $5a, $5c, $5e, $5f, $09, $08, $18, $19
RocketHouse_Coll::
coll_tiles $13, $31, $01, $53

View file

@ -10,4 +10,5 @@ DungeonTilesets:
db FACILITY
db CEMETERY
db GYM
db ROCKETHOUSE
db -1 ; end

View file

@ -36,4 +36,5 @@ Tilesets:
tileset PreGym, $3A, $3B, -1, -1, TILEANIM_NONE
tileset Citrine, -1, -1, -1, $3F, TILEANIM_WATER_FLOWER
tileset Celeste, -1, -1, -1, $19, TILEANIM_WATER_FLOWER
tileset RocketHouse, $0A, -1, -1, -1, TILEANIM_NONE
assert_table_length NUM_TILESETS

View file

@ -27,6 +27,7 @@ WarpTileIDPointers:
dw .PreGymWarpTileIDs
dw .CitrineWarpTileIDs
dw .CelesteWarpTileIDs
dw .RocketHouseWarpTileIDs
assert_table_length NUM_TILESETS
MACRO warp_tiles
@ -97,11 +98,14 @@ ENDM
warp_tiles $23
.CitrineWarpTileIDs:
warp_tiles $1B, $1C
warp_tiles $1B, $1C, $0B, $0C
.CelesteWarpTileIDs:
warp_tiles $5A, $5C, $3A, $30, $50, $51 ; Like Forest but a bit better
.RocketHouseWarpTileIDs:
warp_tiles $53
.ShipPortWarpTileIDs:
.ClubWarpTileIDs:
warp_tiles ; end

View file

@ -55,4 +55,5 @@ TrainerAIPointers:
dbw 3, GenericAI ; Firefighter
dbw 3, GenericAI ; Junior
dbw 2, BlackbeltAI ; Jack
dbw 2, GenericAI ; Jessie & James
assert_table_length NUM_TRAINERS

View file

@ -14,4 +14,5 @@ EvilTrainerList::
db OPP_SCIENTIST
db OPP_GIOVANNI
db OPP_ROCKET
db OPP_JESSIE_JAMES
db -1 ; end

View file

@ -60,4 +60,5 @@ TrainerClassMoveChoiceModifications:
move_choices 1, 3, ; FIREFIGHTER
move_choices 1, 3, ; JUNIOR
move_choices 1, 3, ; JACK
move_choices 1, 3, ; JESSIE_JAMES
assert_list_length NUM_TRAINERS

View file

@ -51,4 +51,5 @@ TrainerNames::
li "FIREFIGHTER"
li "JUNIOR"
li "JACK"
li "JESSIE&JAMES"
assert_list_length NUM_TRAINERS

View file

@ -51,6 +51,7 @@ TrainerDataPointers:
dw FirefighterData
dw JuniorData
dw JackData
dw JessieJamesData
assert_table_length NUM_TRAINERS
; if first byte != $FF, then
@ -676,5 +677,12 @@ JuniorData:
JackData:
JessieJamesData:
db 14, EKANS, MEOWTH, KOFFING, 0 ; Mt. Moon
db 25, KOFFING, LICKITUNG, MEOWTH, EKANS, 0 ; Rocket Hideout
db 27, MEOWTH, LICKITUNG, ARBOK, VICTREEBEL, WEEZING, 0 ; Pokemon Tower
db 31, WEEZING, ARBOK, LICKITUNG, VICTREEBEL, GYARADOS, MEOWTH, 0 ; Silph Co.
db $FF, 80, MEOWTH, 72, ARBOK, 71, WEEZING, 74, LICKILICKY, 74, VICTREEBEL, 74, GYARADOS, 0 ; Citrine Rocket House
INCLUDE "data/trainers/scaled_parties.asm"
INCLUDE "data/trainers/rival_parties.asm"

View file

@ -58,4 +58,5 @@ TrainerPicAndMoneyPointers::
pic_money FirefighterPic, 1500
pic_money JuniorPic, 1000
pic_money JackPic, 5000
pic_money JessieJamesPic, 9900
assert_table_length NUM_TRAINERS

Binary file not shown.

View file

@ -593,3 +593,4 @@ StudentPic:: INCBIN "gfx/trainers/student.pic"
FirefighterPic:: INCBIN "gfx/trainers/firefighter.pic"
JuniorPic:: INCBIN "gfx/trainers/junior.pic"
JackPic:: INCBIN "gfx/trainers/jack.pic"
JessieJamesPic:: INCBIN "gfx/trainers/jessiejames.pic"

View file

@ -71,3 +71,6 @@ Citrine_Block:: INCBIN "gfx/blocksets/citrine.bst"
Celeste_GFX:: INCBIN "gfx/tilesets/celeste.2bpp"
Celeste_Block:: INCBIN "gfx/blocksets/celeste.bst"
RocketHouse_GFX:: INCBIN "gfx/tilesets/rockethouse.2bpp"
RocketHouse_Block:: INCBIN "gfx/blocksets/rockethouse.bst"

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -958,9 +958,9 @@ INCLUDE "data/maps/headers/UndergroundPathRoute7.asm"
INCLUDE "scripts/UndergroundPathRoute7.asm"
INCLUDE "data/maps/objects/UndergroundPathRoute7.asm"
INCLUDE "data/maps/headers/UndergroundPathRoute7Copy.asm"
INCLUDE "scripts/UndergroundPathRoute7Copy.asm"
INCLUDE "data/maps/objects/UndergroundPathRoute7Copy.asm"
;INCLUDE "data/maps/headers/UndergroundPathRoute7Copy.asm"
;INCLUDE "scripts/UndergroundPathRoute7Copy.asm"
;INCLUDE "data/maps/objects/UndergroundPathRoute7Copy.asm"
INCLUDE "data/maps/headers/SilphCo9F.asm"
INCLUDE "scripts/SilphCo9F.asm"
@ -1323,4 +1323,9 @@ CitrineCity_Blocks: INCBIN "maps/CitrineCity.blk"
INCLUDE "data/maps/headers/CelesteHill.asm"
INCLUDE "scripts/CelesteHill.asm"
INCLUDE "data/maps/objects/CelesteHill.asm"
CelesteHill_Blocks: INCBIN "maps/CelesteHill.blk"
CelesteHill_Blocks: INCBIN "maps/CelesteHill.blk"
INCLUDE "data/maps/headers/CitrineRocketHouse.asm"
INCLUDE "scripts/CitrineRocketHouse.asm"
INCLUDE "data/maps/objects/CitrineRocketHouse.asm"
CitrineRocketHouse_Blocks: INCBIN "maps/CitrineRocketHouse.blk"

View file

@ -0,0 +1,2 @@
"! 


View file

@ -1974,7 +1974,7 @@ wMissableObjectList:: ds 16 * 2 + 1
wGameProgressFlags::
wOaksLabCurScript:: db
wPalletTownCurScript:: db
ds 1
wCitrineRocketHouseCurScript:: db
wBluesHouseCurScript:: db
wViridianCityCurScript:: db
ds 2

View file

@ -1,15 +1,15 @@
Exception: STATUS_ACCESS_VIOLATION at rip=00100401246
rax=FFFFFFF7FFF8C901 rbx=0000000000000064 rcx=0000000800000010
rdx=0000000000000000 rsi=0000000800063616 rdi=0000000000000000
rax=FFFFFFF7FFF8C851 rbx=00000000000003A2 rcx=0000000800000010
rdx=0000000000000000 rsi=00000008000636B3 rdi=0000000000000000
r8 =00000000FFFFC7C4 r9 =0000000000000000 r10=0000000100000000
r11=0000000100401282 r12=0000000800073700 r13=0000000100403148
r11=0000000100401282 r12=00000008000737B0 r13=0000000100403148
r14=0000000000000000 r15=0000000000000001
rbp=0000000100403156 rsp=00000000FFFFCA60
program=C:\cygwin64\home\chipp\kep-hack\tools\scan_includes.exe, pid 1812, thread main
program=C:\cygwin64\home\chipp\kep-hack\tools\scan_includes.exe, pid 1047, thread main
cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame Function Args
00100403156 00100401246 (00800063616, 00000000022, 00100403166, 000FFFFCB90)
00100403156 00100401246 (008000636B3, 00000000022, 00100403166, 000FFFFCB90)
00100403156 00100401409 (00000000000, 00100000001, 00180227860, 00100407000)
00100403178 00100401C87 (00000000020, 00000000000, 00180049B11, 00180048A70)
000FFFFCD30 00180049B7D (00000000000, 00000000000, 00000000000, 00000000000)

View file

@ -29,7 +29,7 @@ CeladonUniversityOutsideText1: ; Starter girl
ld hl, CeladonUniversityOutsideBattleText1
call PrintText
ld c, BANK(Music_MeetFemaleTrainer)
ld c, 0 ; BANK(Music_MeetFemaleTrainer)
ld a, MUSIC_MEET_FEMALE_TRAINER
call PlayMusic
@ -69,7 +69,7 @@ CeladonUniversityOutsideText2: ; Porygon guy
ld hl, CeladonUniversityOutsideBattleText2
call PrintText
ld c, BANK(Music_MeetMaleTrainer)
ld c, 0 ; BANK(Music_MeetMaleTrainer)
ld a, MUSIC_MEET_MALE_TRAINER
call PlayMusic
@ -109,7 +109,7 @@ CeladonUniversityOutsideText3: ; Golem guy
ld hl, CeladonUniversityOutsideBattleText3
call PrintText
ld c, BANK(Music_MeetMaleTrainer)
ld c, 0; BANK(Music_MeetMaleTrainer)
ld a, MUSIC_MEET_MALE_TRAINER
call PlayMusic
@ -149,7 +149,7 @@ CeladonUniversityOutsideText4: ; Mt Moon guy
ld hl, CeladonUniversityOutsideBattleText4
call PrintText
ld c, BANK(Music_MeetMaleTrainer)
ld c, 0 ;BANK(Music_MeetMaleTrainer)
ld a, MUSIC_MEET_MALE_TRAINER
call PlayMusic

View file

@ -0,0 +1,106 @@
CitrineRocketHouse_Script:
jp EnableAutoTextBoxDrawing
CitrineRocketHouse_TextPointers:
dw MartGuy1Text
dw MartGuy2Text
dw RocketText1
dw RocketText2
dw MeowthText
dw JamesText
dw JessieFight
MartGuy1Text:
script_mart TM_SWORDS_DANCE, TM_TOXIC, TM_BODY_SLAM, TM_DOUBLE_EDGE, TM_BUBBLEBEAM, TM_ICE_BEAM, TM_BLIZZARD, TM_PAY_DAY, TM_COUNTER, TM_SEISMIC_TOSS, TM_MEGA_DRAIN, TM_THUNDERBOLT, TM_EARTHQUAKE, TM_DIG,
MartGuy2Text:
script_mart TM_PSYCHIC_M, TM_FIRE_BLAST, TM_THUNDER_WAVE, TM_EXPLOSION, TM_ROCK_SLIDE, PROTECTOR, UP_GRADE, DUBIOUS_DISC, METAL_COAT, BLK_AUGURITE, DOME_FOSSIL, HELIX_FOSSIL, WING_FOSSIL, OLD_AMBER
RocketText1:
text_far _RocketText1
text_end
RocketText2:
text_far _RocketText2
text_end
MeowthText:
text_far _MeowthText
text_asm
ld a, MEOWTH
call PlayCry
call WaitForSoundToFinish
jp TextScriptEnd
JamesText:
text_far _JamesText
text_end
JessieText1:
text_far _JessieText1
text_end
JessieFight:
text_asm
ld c, 0 ; BANK(Music_MeetJessieJames)
ld a, MUSIC_MEET_JESSIE_JAMES
call PlayMusic
ld hl, JessieText1
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jr nz, .refused
ld hl, JessieFightText
call PrintText
ld hl, wd72d
set 6, [hl]
set 7, [hl]
call Delay3
ld a, OPP_JESSIE_JAMES
ld [wCurOpponent], a
ld a, 5
ld [wTrainerNo], a
ld [wIsTrainerBattle], a
ld a, $5
ld [wCitrineRocketHouseCurScript], a
ld hl, JessieWinText
ld de, JessieLoseText
call SaveEndBattleTextPointers
jp TextScriptEnd
jr .done
.refused
ld hl, JessieText2
jr .done
.done
ld hl, JessieAfterBattleText
call PrintText
ld c, 0 ; BANK(Music_Dungeon2)
ld a, MUSIC_DUNGEON1
call PlayMusic
jp TextScriptEnd
JessieFightText:
text_far _JessieFightText
text_end
JessieWinText:
text_far _JessieWinText
text_end
JessieLoseText:
text_far _JessieWinText
text_end
JessieText2:
text_far _JessieText2
text_end
JessieAfterBattleText:
text_far _JessieAfterBattleText
text_end
text_end ; unused

View file

@ -279,6 +279,9 @@ INCLUDE "text/ViridianPreGym.asm"
INCLUDE "text/move_deleter.asm"
INCLUDE "text/move_relearner.asm"
SECTION "Text 12", ROMX
INCLUDE "text/CitrineRocketHouse.asm"
SECTION "Pokédex Text", ROMX
INCLUDE "data/pokemon/dex_text.asm"

View file

@ -0,0 +1,90 @@
_RocketText1::
text "Hah! The MT. MOON"
line "project was a big"
cont "success! GIOVANNI"
cont "is totally gonna"
cont "return!"
done
_RocketText2::
text "Huh? One sec..."
para "Hey, CHIEF, sup?"
line "CELADON project"
cont "going strong?"
para "Good, good."
para "Hey, what's with"
line "the face?"
done
_JamesText::
text "I'm tired..."
para "JESSIE won't stop"
line "nagging us..."
done
_MeowthText::
text "Nyarth!"
done
_JessieText1::
text "What the--"
para "It's you! That"
line "darn twerp!"
para "Go ahead and mock"
line "us! Isn't that"
cont "what you want?"
para "Or...did you want"
line "a rematch?"
prompt
_JessieFightText::
text "Yeah! I'll stomp"
line "you flat!"
done
_JessieWinText::
text "Yes!"
line "I'm just better!"
prompt
_JessieLoseText::
text "Grr!"
line "JAMES, you lout!"
_JessieText2::
text "That's it! I'm"
line "done! Buzz off!"
done
_JessieAfterBattleText::
text "Too chicken to"
line "fight? Then go"
cont "away!"
done
_MartGuyPrompt1::
text "Alright, tell you"
line "what. I sell TMs,"
cont "see? Let's make"
cont "a deal."
prompt
_MartGuyPrompt2::
text "If you keep our"
line "joint a secret,"
cont "I can sell you"
cont "any special item"
cont "in KANTO. Deal?"
_MartGuySelling::
text "What can I do"
line "you for?"
done