Jacky's House (& Jacky & Knuckles)

This adds various house tiles that allow the creation of the game house from SW97. It's been heavily altered to include the SNES (from RBY), Virtual Boy, and N64.

Here, you can fight Jacky once a day to farm Gold Leaves, which will be currency for a Move Reminder. It should refresh just fine but definitely give it a closer look, I'm not exactly confident.

I also made a start on a GSCified sofa but it looks kinda weird.
This commit is contained in:
Llinos Evans 2024-07-27 13:54:53 +01:00
parent 7114109368
commit 6d7f07292b
19 changed files with 399 additions and 22 deletions

View file

@ -123,6 +123,8 @@
const ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT
const ENGINE_DAILY_MOVE_TUTOR
const ENGINE_BUENAS_PASSWORD
; wJackyTimer
const ENGINE_JACKY_TIMER
; wSwarmFlags
const ENGINE_BUENAS_PASSWORD_2
const ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON

View file

@ -1121,7 +1121,7 @@
const EVENT_BEAT_ARCHER2
const EVENT_BEAT_ARCHER3
const EVENT_BEAT_PROFBLUE
const EVENT_BEAT_JACKY
const EVENT_BEAT_SHINJUKU_JACKY_ONCE
; Unused: next 76 events
const_next 1600

View file

@ -650,11 +650,12 @@ ENDM
map_const OLD_CITY_GYM, 6, 10 ; 8
map_const OLD_CITY_MUSEUM, 8, 3 ; 9
map_const POKEMON_PAGODA_1F, 5, 5 ; 10
map_const POKEMON_PAGODA_2F, 5, 5 ; 10
map_const POKEMON_PAGODA_3F, 5, 5 ; 10
map_const POKEMON_PAGODA_4F, 5, 5 ; 10
map_const POKEMON_PAGODA_5F, 3, 3 ; 10
map_const ROUTE_50, 15, 9 ; 10
map_const POKEMON_PAGODA_2F, 5, 5 ; 11
map_const POKEMON_PAGODA_3F, 5, 5 ; 12
map_const POKEMON_PAGODA_4F, 5, 5 ; 13
map_const POKEMON_PAGODA_5F, 3, 3 ; 14
map_const ROUTE_50, 15, 9 ; 15
map_const JACKYS_HOUSE, 4, 4 ; 16
endgroup
newgroup BLUE_FOREST ; 37

View file

@ -305,6 +305,9 @@ DEF CELEBIEVENT_FOREST_IS_RESTLESS_F EQU 2
const DAILYFLAGS2_MOVE_TUTOR_F ; 6
const DAILYFLAGS2_BUENAS_PASSWORD_F ; 7
; wJackyTimer::
const DAILYFLAG_JACKY_TIMER
; wSwarmFlags::
const_def
const SWARMFLAGS_BUENAS_PASSWORD_F ; 0

View file

@ -134,6 +134,8 @@ EngineFlags:
engine_flag wDailyFlags2, DAILYFLAGS2_MOVE_TUTOR_F
engine_flag wDailyFlags2, DAILYFLAGS2_BUENAS_PASSWORD_F
engine_flag wJackyTimer, DAILYFLAG_JACKY_TIMER
engine_flag wSwarmFlags, SWARMFLAGS_BUENAS_PASSWORD_F
engine_flag wSwarmFlags, SWARMFLAGS_GOLDENROD_DEPT_STORE_SALE_F

View file

@ -847,6 +847,7 @@ ENDM
map_attributes PokemonPagoda3F, POKEMON_PAGODA_3F, $00, 0
map_attributes PokemonPagoda4F, POKEMON_PAGODA_4F, $00, 0
map_attributes PokemonPagoda5F, POKEMON_PAGODA_5F, $00, 0
map_attributes JackysHouse, JACKYS_HOUSE, $00, 0
map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later.

View file

@ -1276,3 +1276,6 @@ PokemonPagoda5F_Blocks:
Route50_Blocks:
INCBIN "maps/Route50.ablk"
JackysHouse_Blocks:
INCBIN "maps/JackysHouse.ablk"

View file

@ -715,6 +715,7 @@ MapGroup_OldCity:
map PokemonPagoda4F, TILESET_TOWER, INDOOR, LANDMARK_POKEMON_PAGODA, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_NONE
map PokemonPagoda5F, TILESET_TOWER, INDOOR, LANDMARK_POKEMON_PAGODA, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_NONE
map Route50, TILESET_NIHON_OLD, ROUTE, LANDMARK_ROUTE_50, MUSIC_ROUTE_30, TRUE, PALETTE_AUTO, FISHGROUP_NONE
map JackysHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_50, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE
assert_table_length NUM_OLD_CITY_MAPS
MapGroup_BlueForest:

View file

@ -601,6 +601,7 @@ INCLUDE "maps/LavenderCryptSet2.asm"
INCLUDE "maps/LavenderCryptSet3.asm"
INCLUDE "maps/LavenderCryptDokuroarsRoom.asm"
INCLUDE "maps/Route50.asm"
INCLUDE "maps/JackysHouse.asm"
SECTION "Map Scripts 31", ROMX ; spillover
INCLUDE "maps/TanobyRuins.asm"

Binary file not shown.

View file

@ -50,15 +50,16 @@
tilecoll FLOOR, WALL, FLOOR, WALL ; 31
tilecoll WALL, WINDOW, WALL, WALL ; 32
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
tilecoll WALL, FLOOR, FLOOR, FLOOR ; 34
tilecoll WALL, FLOOR, FLOOR, FLOOR ; 35
tilecoll WALL, WALL, WALL, WALL ; 36
tilecoll WALL, WALL, FLOOR, FLOOR ; 37
tilecoll WINDOW, WALL, FLOOR, FLOOR ; 38
tilecoll WALL, WINDOW, FLOOR, FLOOR ; 39
tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 3a
tilecoll WALL, WALL, TV, FLOOR ; 3b
tilecoll WALL, WALL, FLOOR, RADIO ; 3c
tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3d
tilecoll FLOOR, FLOOR, WALL, FLOOR ; 3e
tilecoll FLOOR, WALL, FLOOR, FLOOR ; 3f
tilecoll WALL, FLOOR, FLOOR, FLOOR ; 40

Binary file not shown.

View file

@ -7,6 +7,7 @@ ClearDailyTimers:
ld [wLuckyNumberDayTimer], a
ld [wSweetHoneyTimer], a
ld [wDailyResetTimer], a
ld [wJackyTimer], a ; This could use an engine flag I think but mehhhhhhhh
ret
InitCallReceiveDelay::

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 4 KiB

1
maps/JackysHouse.ablk Normal file
View file

@ -0,0 +1 @@
;;6<543333=>3:?@

359
maps/JackysHouse.asm Normal file
View file

@ -0,0 +1,359 @@
; To paraphrase KEP:
; Shinjuku Jacky was a famous Virtua Fighter player and the source of the famous "Jack" sprite.
; He wrote the book "Virtua Fighter Maniax", the first to feature frame data for Virtua Fighter 1 and thus a very notable resource.
; If you ever view a frame data resource, thank Jacky for popularising the concept.
; At the time, many Virtua Fighter players had "geographical names", representing their residences. Shinjuku is notably within Tokyo, near to Shibuya.
; Because Celadon City is based on Tokyo Metropolis, specifically Shinjuku and Shibuya, and there's a map called JISAN.MAP that featured N64s, in RG ROM Hacks, he's normally placed there.
; In JEP, Jacky is a gamer near Sepia City who you can fight for Gold Leaves, which I want to serve as Heart Scales.
object_const_def
JackysHouse_MapScripts:
def_scene_scripts
def_callbacks
; You can fight Shinjuku Jacky every day to get Gold Leaves, which serve as Heart Scale currency.
JackysHouseJackyScript:
faceplayer
checkevent EVENT_BEAT_SHINJUKU_JACKY_ONCE
opentext
iftrue .beatOnce
writetext JackyWelcomeText
waitbutton
closetext
sjump .firstFight
.beatOnce
checkflag ENGINE_JACKY_TIMER
iftrue .tuckeredOut
opentext
writetext JackyPostBeat
waitbutton
closetext
; fallthrough
.firstFight
yesorno
iffalse .No
sjump .Yes
.No
opentext
writetext JackyNo
waitbutton
closetext
sjump .end
.Yes
opentext
writetext JackyYes
waitbutton
closetext
winlosstext JackyLossText, 0
loadtrainer JACK, JACKY
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_SHINJUKU_JACKY_ONCE
setflag ENGINE_JACKY_TIMER
opentext
writetext JackyAfterBattle
promptbutton
verbosegiveitem GOLD_LEAF
iffalse .NoRoomForGoldLeaf
writetext JackyGift
waitbutton
closetext
sjump .end
.tuckeredOut
opentext
writetext JackyTiredText
waitbutton
closetext
; fallthrough
.end
end
.NoRoomForGoldLeaf:
writetext JackyNoRoomForGoldLeaf
closetext
end
JackyWelcomeText:
text "I am SHINJUKU"
line "JACKY!"
para "I know everything"
line "about the world"
cont "of #MON!"
para "Hm? You think you"
line "can take me?"
done
JackyYes:
text "Let's see if you"
line "can walk the"
cont "walk! Come on!"
done
JackyNo:
text "Maybe another"
line "time…"
done
JackyLossText:
text "I can't believe"
line "I lost!"
done
JackyAfterBattle:
text "It was like you"
line "were fighting in"
cont "slow motion…"
para "Ok! I will give"
line "you a gift to"
cont "help you on your"
cont "quest!"
done
JackyGift:
text "There's a guy in"
line "WEST CITY who"
cont "loves these!"
para "Go find him!"
para "I look forward to"
line "our next bout!"
done
JackyNoRoomForGoldLeaf:
text "Whoa, dude! You've"
line "got some loaded"
cont "pockets!"
para "Go make room!"
done
JackyPostBeat:
text "Hey, it's you!"
para "Wanna fight again?"
line "I'm out of your"
cont "league!"
done
JackyTiredText:
text "Chawwww!"
para "I'm tuckered out!"
line "I gotta take my"
cont "#MON to the"
cont "CENTER in SEPIA!"
para "Gimme a day,"
line "would ya?"
done
JackyN64:
jumptext JackyN64Text
JackyN64Text:
text "It's a NINTENDO"
line "64! The latest"
cont "game console!"
done
JackySNES:
jumptext JackySNESText
JackySNESText:
text "It's a SNES!"
para "Aren't these old"
line "now?"
para "JACKY: Hey! The"
line "games are still"
cont "fun! You're on a"
cont "GAME BOY!"
done
JackyVirtualBoy:
jumptext JackyVirtualBoy
JackyVirtualBoyText:
text "It's a VIRTUAL"
line "BOY!"
para "<PLAYER> looked"
line "inside…"
para "A plumber is" ; Mario's Tennis, arguably the best game on the system.
line "playing tennis!" ; Ok, I guess Wario Land is better...
para "Best not look" ; Safety is key, Kris!
line "for too long…"
done
JackyTVFightersDestiny:
jumptext JackyTVFightersDestiny
; Virtua Fighter 3 never made it to the N64, but Fighters Destiny is basically the same thing.
JackyTVFightersDestinyText:
text "Some characters"
line "are fighting in"
cont "3D! Wow!"
para "Isn't this too"
line "realistic?"
done
JackyTVStreetFighterII:
jumptext JackyTVStreetFighterII
; Jacky was a big Virtua Fighter nerd, so I imagine he'd have two fighting games running at once.
JackyTVStreetFighterIIText:
text "A man in a ban-"
line "dana is fighting"
cont "an American!"
para "Fiery projectiles"
line "and crazy kicks!"
para "A true classic!"
done
JackyMetalSlugPoster:
jumptext JackyMetalSlugPosterText
JackyMetalSlugPosterText:
text "It's a poster"
line "advertising a"
cont "game with huge"
cont "tanks and guns!"
done
JackyDDRPoster:
jumptext JackyDDRPoster
JackyDDRPosterText:
text "It's a poster"
line "advertising a"
cont "dancing game!"
done
JackyPCStarcraft:
jumptext JackyPCStarcraft
JackyPCStarcraftText: ; Brood War hadn't long come out, and was really popular in Korea at least. They made the Zerg rush!
text "There's an Eng-"
line "lish game on the"
cont "screen."
para "Tons of little"
line "creatures are"
cont "attacking some-"
cont "one's base!"
done
JackyDND:
jumptext JackyDNDText
JackyDNDText:
text "It's a book for"
line "a tabletop game."
para "It's called…"
para "MOUNTAINs and"
line "CHARIZARDs?"
done
SuperNerdAboutJacky:
jumptextfaceplayer SuperNerdAboutJackyText
SuperNerdAboutJackyText:
text "JACKY? He was in"
line "CELADON a few"
cont "years ago."
para "He was voice act-"
line "ing for the next"
cont "big fighting"
cont "game!" ; Shinjuku Jacky voice acted for Virtua Fighter 3!
para "But he seems more"
line "interested in a"
cont "kid he fought."
para "Weird, huh?"
done
JackySuperNerd2:
jumptextfaceplayer JackySuperNerd2Text
JackySuperNerd2Text:
text "The VIRTUAL BOY"
line "is so cool,"
cont "right?"
para "It'll catch on"
line "eventually."
done
JackySuperNerd3:
jumptextfaceplayer JackySuperNerd3Text
JackySuperNerd3Text:
text "JACKY still has"
line "that old SNES."
para "The games were"
line "awesome, though."
cont "I totally get it!"
done
JackySuperNerd4:
jumptextfaceplayer JackySuperNerd4Text
JackySuperNerd4Text: ; A legitimate talking point at the time, before console upgrades became common.
text "I don't get it."
line "Why do we need"
cont "to buy a new"
cont "game console?"
para "The SNES was"
line "fine. I want to"
cont "keep playing"
cont "my old games,"
cont "but they're not"
cont "compatible."
done
JackysHouse_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 2, 7, ROUTE_50, 2
warp_event 3, 7, ROUTE_50, 2
def_coord_events
def_bg_events
bg_event 0, 2, BGEVENT_READ, JackyN64
bg_event 2, 2, BGEVENT_READ, JackySNES
bg_event 5, 1, BGEVENT_READ, JackyVirtualBoy
bg_event 3, 0, BGEVENT_READ, JackyMetalSlugPoster
bg_event 1, 0, BGEVENT_READ, JackyDDRPoster
bg_event 4, 1, BGEVENT_READ, JackyPCStarcraft
bg_event 0, 1, BGEVENT_READ, JackyTVFightersDestiny
bg_event 2, 1, BGEVENT_READ, JackyTVStreetFighterII
bg_event 5, 6, BGEVENT_READ, JackyDND
def_object_events
object_event 3, 4, SPRITE_BANCHOMAN, SPRITEMOVEDATA_STANDING_DOWN, 2, 2, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, JackysHouseJackyScript, -1 ; He has the Banchoman sprite for now, but this could absolutely change!
object_event 7, 6, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_LEFT, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SuperNerdAboutJacky, -1
object_event 7, 5, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_LEFT, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, JackySuperNerd2, -1
object_event 5, 4, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, JackySuperNerd3, -1
object_event 4, 5, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_RIGHT, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, JackySuperNerd4, -1

View file

@ -118,7 +118,7 @@ Route50_MapEvents:
def_warp_events
warp_event 6, 5, DEBUG_ROOM, 1 ; West Gate
warp_event 15, 4, DEBUG_ROOM, 1 ; Game House
warp_event 15, 4, JACKYS_HOUSE, 1 ; Game House
def_coord_events

View file

@ -118,7 +118,7 @@ SilentHillsSign2:
SilentHillsSign2Text:
text "SILENT HILLS"
line "Ever peaceful..."
line "Ever peaceful"
done
SilentHillsSign3:
@ -133,7 +133,7 @@ SilentHillsSign4:
SilentHillsSign4Text:
text "Huh? The door is"
line "closed..."
line "closed"
done
SilentHillsSign5:

View file

@ -3207,7 +3207,8 @@ wDailyResetTimer:: dw
wDailyFlags1:: db
wDailyFlags2:: db
wSwarmFlags:: db
ds 2
wJackyTimer:: db
ds 1
wTimerEventStartDay:: db
ds 3