mirror of
https://github.com/thornAvery/jep-hack.git
synced 2025-09-16 18:20:50 +12:00
Summer Beach House (buggy!)
This adds the Summer Beach House from Pokemon Yellow to Route 19, in an effort to make Kanto a bit more interesting. The code for teaching Pikachu is very buggy right now and someone should check it out. I usually throw code out if it isn't functional but this seems extremely close to working.
This commit is contained in:
parent
88390e8282
commit
0dd22ececa
|
@ -373,6 +373,7 @@ ENDM
|
|||
map_const FUCHSIA_POKECENTER_2F_BETA, 8, 4 ; 11
|
||||
map_const SAFARI_ZONE_WARDENS_HOME, 5, 4 ; 12
|
||||
map_const ROUTE_15_FUCHSIA_GATE, 5, 4 ; 13
|
||||
map_const SUMMER_BEACH_HOUSE, 7, 4 ; 13
|
||||
endgroup
|
||||
|
||||
newgroup LAVENDER ; 18
|
||||
|
|
|
@ -144,6 +144,7 @@
|
|||
const SPRITE_CHANNELER
|
||||
const SPRITE_BALDING_GUY
|
||||
const SPRITE_GAMEBOY_GIRL
|
||||
const SPRITE_OVERWORLD_PIKACHU
|
||||
DEF NUM_OVERWORLD_SPRITES EQU const_value - 1
|
||||
|
||||
; SpriteMons indexes (see data/sprites/sprite_mons.asm)
|
||||
|
|
|
@ -192,3 +192,5 @@ SpecialsPointers::
|
|||
add_special ShoveSafariBallsDownKrissThroat
|
||||
add_special GiveKrisSneakers
|
||||
add_special DebugGiveMonSpecialMove
|
||||
add_special CheckPikachu
|
||||
add_special TeachPikachuSurf
|
||||
|
|
|
@ -854,6 +854,7 @@ ENDM
|
|||
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 SummerBeachHouse, SUMMER_BEACH_HOUSE, $00, 0
|
||||
|
||||
map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later.
|
||||
|
||||
|
|
|
@ -1279,4 +1279,7 @@ TwoIsland_Blocks:
|
|||
|
||||
CapeBrink_Blocks:
|
||||
INCBIN "maps/CapeBrink.ablk"
|
||||
|
||||
SummerBeachHouse_Blocks:
|
||||
INCBIN "maps/SummerBeachHouse.ablk"
|
||||
|
||||
|
|
|
@ -412,6 +412,7 @@ MapGroup_Fuchsia:
|
|||
map FuchsiaPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
|
||||
map SafariZoneWardensHome, TILESET_HOUSE, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
|
||||
map Route15FuchsiaGate, TILESET_GATE, GATE, LANDMARK_ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_DAY, FISHGROUP_SHORE
|
||||
map SummerBeachHouse, TILESET_HOUSE, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE
|
||||
assert_table_length NUM_FUCHSIA_MAPS
|
||||
|
||||
MapGroup_Lavender:
|
||||
|
|
|
@ -602,6 +602,7 @@ INCLUDE "maps/LavenderCryptSet3.asm"
|
|||
INCLUDE "maps/LavenderCryptDokuroarsRoom.asm"
|
||||
INCLUDE "maps/Route50.asm"
|
||||
INCLUDE "maps/JackysHouse.asm"
|
||||
INCLUDE "maps/SummerBeachHouse.asm"
|
||||
|
||||
SECTION "Map Scripts 31", ROMX ; spillover
|
||||
INCLUDE "maps/TanobyRuins.asm"
|
||||
|
|
|
@ -149,4 +149,5 @@ OverworldSprites:
|
|||
overworld_sprite ChannelerGFX, 12, WALKING_SPRITE, PAL_OW_BROWN
|
||||
overworld_sprite BaldingGuyGFX, 12, STANDING_SPRITE, PAL_OW_BROWN
|
||||
overworld_sprite GameboyGirlGFX, 12, STANDING_SPRITE, PAL_OW_RED
|
||||
overworld_sprite OverworldPikachuGFX, 12, STANDING_SPRITE, PAL_OW_BROWN
|
||||
assert_table_length NUM_OVERWORLD_SPRITES
|
||||
|
|
Binary file not shown.
|
@ -63,3 +63,14 @@
|
|||
tilecoll FLOOR, FLOOR, WALL, FLOOR ; 3e
|
||||
tilecoll FLOOR, WALL, FLOOR, FLOOR ; 3f
|
||||
tilecoll WALL, FLOOR, FLOOR, FLOOR ; 40
|
||||
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 41
|
||||
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 42
|
||||
tilecoll WALL, FLOOR, WALL, FLOOR ; 43
|
||||
tilecoll WALL, WALL, FLOOR, FLOOR ; 44
|
||||
tilecoll WALL, WALL, FLOOR, FLOOR ; 45
|
||||
tilecoll WALL, WALL, FLOOR, FLOOR ; 46
|
||||
tilecoll WALL, WALL, FLOOR, FLOOR ; 47
|
||||
tilecoll WALL, WALL, FLOOR, WALL ; 48
|
||||
tilecoll FLOOR, WALL, FLOOR, WALL ; 49
|
||||
tilecoll WALL, FLOOR, WALL, FLOOR ; 4a
|
||||
tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 4b
|
||||
|
|
Binary file not shown.
|
@ -15,6 +15,78 @@ Special::
|
|||
|
||||
INCLUDE "data/events/special_pointers.asm"
|
||||
|
||||
TeachPikachuSurf:
|
||||
; Use Dratini code to find Pikachu
|
||||
ld bc, wPartyCount
|
||||
ld a, [bc]
|
||||
ld hl, MON_SPECIES
|
||||
call DebugGiveMonSpecialMove.GetNthPartyMon
|
||||
ld a, [bc]
|
||||
ld c, a
|
||||
push hl
|
||||
|
||||
ld hl, PIKACHU
|
||||
call GetPokemonIDFromIndex
|
||||
|
||||
pop hl
|
||||
ld b, a
|
||||
ld de, PARTYMON_STRUCT_LENGTH
|
||||
call DebugGiveMonSpecialMove.CheckForNthPokemon
|
||||
.GiveMove
|
||||
; BUG: Doesn't seem to find Surf properly.
|
||||
; The move DOES reach Pikachu's moveset!!!!!! However, what it learns just isn't correct.
|
||||
; Similar issue to when I tried to add evo moves ~ PvK
|
||||
ld a, SURF
|
||||
call GetMoveIDFromIndex
|
||||
ld [wPutativeTMHMMove], a
|
||||
|
||||
; Find Pikachu again
|
||||
ld bc, wPartyCount
|
||||
ld a, [bc]
|
||||
ld hl, MON_SPECIES
|
||||
call DebugGiveMonSpecialMove.GetNthPartyMon
|
||||
ld [wCurPartyMon], a
|
||||
|
||||
; BUG: Doesn't load the tiles correctly because I'm stupid
|
||||
; Is it just in the wrong place? lmao
|
||||
ld hl, .MenuHeader
|
||||
call LoadMenuHeader
|
||||
|
||||
; Learn the move
|
||||
predef LearnMove
|
||||
ret
|
||||
|
||||
.MenuHeader:
|
||||
db MENU_BACKUP_TILES ; flags
|
||||
menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
|
||||
|
||||
; Currently only works for Pikachu but could possibly be reworked for other things in the future. 90% sure there's a better way to do this.
|
||||
; TODO: Check the DVs to see if it's strong enough. I'm feeling Shiny DV total or above.
|
||||
CheckPikachu:
|
||||
ld a, [wCurPartySpecies]
|
||||
call GetPokemonIndexFromID
|
||||
ld a, l
|
||||
sub LOW(PIKACHU)
|
||||
if HIGH(PIKACHU) == 0
|
||||
or h
|
||||
else
|
||||
jr nz, .notMon
|
||||
if HIGH(PIKACHU) == 1
|
||||
dec h
|
||||
else
|
||||
ld a, h
|
||||
cp HIGH(PIKACHU)
|
||||
endc
|
||||
endc
|
||||
jr nz, .notMon
|
||||
ld a, 1
|
||||
jr .done
|
||||
.notMon
|
||||
xor a ; return 0 if not it
|
||||
ld [wScriptVar], a
|
||||
.done
|
||||
ret
|
||||
|
||||
DebugGiveMonSpecialMove:
|
||||
; TODO: Make this good :3
|
||||
; I could implement Rangi's special givepoke but i am too stupid
|
||||
|
|
|
@ -149,4 +149,5 @@ LoreleiGFX:: INCBIN "gfx/sprites/lorelei.2bpp"
|
|||
GiovanniGFX:: INCBIN "gfx/sprites/giovanni.2bpp"
|
||||
ChannelerGFX:: INCBIN "gfx/sprites/channeler.2bpp"
|
||||
BaldingGuyGFX:: INCBIN "gfx/sprites/balding_guy.2bpp"
|
||||
GameboyGirlGFX:: INCBIN "gfx/sprites/gameboy_girl.2bpp"
|
||||
GameboyGirlGFX:: INCBIN "gfx/sprites/gameboy_girl.2bpp"
|
||||
OverworldPikachuGFX:: INCBIN "gfx/sprites/pikachu.2bpp"
|
||||
|
|
BIN
gfx/sprites/pikachu.png
Normal file
BIN
gfx/sprites/pikachu.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 847 B |
Binary file not shown.
Before Width: | Height: | Size: 4 KiB After Width: | Height: | Size: 4.4 KiB |
|
@ -8,12 +8,12 @@ DebugRoom_MapScripts:
|
|||
|
||||
DebugPokemon1Script:
|
||||
opentext
|
||||
getmonname STRING_BUFFER_3, LUXWAN
|
||||
getmonname STRING_BUFFER_3, PIKACHU
|
||||
writetext ReceivedDebugPokemonText
|
||||
playsound SFX_CAUGHT_MON
|
||||
waitsfx
|
||||
promptbutton
|
||||
givepoke LUXWAN, 24, POISON_STONE
|
||||
givepoke PIKACHU, 24, POISON_STONE
|
||||
closetext
|
||||
end
|
||||
|
||||
|
@ -397,7 +397,7 @@ DebugRoom_MapEvents:
|
|||
warp_event 11, 15, LAKE_OF_RAGE, 3
|
||||
warp_event 27, 5, PEWTER_CITY, 2
|
||||
warp_event 15, 2, GOLDENROD_CITY, 1 ; city warp
|
||||
warp_event 4, 9, PALLET_TOWN, 1 ; left lab/league warp
|
||||
warp_event 4, 9, SUMMER_BEACH_HOUSE, 1 ; left lab/league warp
|
||||
warp_event 5, 9, PALLET_TOWN, 1 ; right lab/league warp
|
||||
warp_event 35, 17, OLD_CITY, 1 ; east warp
|
||||
warp_event 5, 35, LAVENDER_TOWN, 1 ; southwest warp
|
||||
|
@ -421,4 +421,4 @@ DebugRoom_MapEvents:
|
|||
object_event 18, 13, SPRITE_SAFARI_ZONE_WORKER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, TrainerTestScript, -1
|
||||
object_event 20, 13, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DebugDollShopScript, -1
|
||||
object_event 25, 15, SPRITE_WILL, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MemoryGameScript, -1
|
||||
object_event 27, 16, SPRITE_KAREN, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DebugGligarScript, -1
|
||||
object_event 8, 16, SPRITE_KAREN, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DebugGligarScript, -1
|
||||
|
|
|
@ -1 +1 @@
|
|||
(,) !Vw(,)(,)|~11$W%$W%111CCCCCCCCCCC辧1111棘剩CCCCCCCC又CCCCCCCC抹CCCCCCCC砲CCCCCCCC砲CCCCCCCC砲CCCCCCCC砲CCCCCCCC砲CCCCCCCC砲CCCCCCCC砲CCCCCCCC侭劔劔劔劔<EFBFBD>
|
||||
(,) !Vw(,)(,)|~11$W%$W%111CCCCCCCCC<1A>CC<43><43>1111<><31><EFBFBD><EFBFBD>CCCCCCCC<43><43>CCCCCCCC<43><43>CCCCCCCC<43>CCCCCCCCC<43>CCCCCCCCC<43>CCCCCCCCC<43>CCCCCCCCC<43>CCCCCCCCC<43>CCCCCCCCC<43>CCCCCCCCC<43><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
@ -232,17 +232,27 @@ CarefulSwimmingSignText:
|
|||
para "FUCHSIA POLICE"
|
||||
done
|
||||
|
||||
BeachHouseSignScript:
|
||||
jumptext BeachHouseSignText
|
||||
|
||||
BeachHouseSignText:
|
||||
text "SUMMER BEACH HOUSE"
|
||||
line "#MON welcome!"
|
||||
done
|
||||
|
||||
Route19_MapEvents:
|
||||
db 0, 0 ; filler
|
||||
|
||||
def_warp_events
|
||||
warp_event 7, 3, ROUTE_19_FUCHSIA_GATE, 3
|
||||
warp_event 5, 9, SUMMER_BEACH_HOUSE, 1
|
||||
|
||||
def_coord_events
|
||||
|
||||
def_bg_events
|
||||
bg_event 11, 13, BGEVENT_READ, Route19Sign
|
||||
bg_event 11, 1, BGEVENT_READ, CarefulSwimmingSign
|
||||
bg_event 7, 11, BGEVENT_READ, BeachHouseSignScript
|
||||
|
||||
def_object_events
|
||||
object_event 9, 23, SPRITE_SWIMMER_GIRL, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 0, TrainerSwimmerfDawn, -1
|
||||
|
|
1
maps/SummerBeachHouse.ablk
Normal file
1
maps/SummerBeachHouse.ablk
Normal file
|
@ -0,0 +1 @@
|
|||
GEGDFDHCBBAIJABBBAIJACKBAAAA
|
189
maps/SummerBeachHouse.asm
Normal file
189
maps/SummerBeachHouse.asm
Normal file
|
@ -0,0 +1,189 @@
|
|||
object_const_def
|
||||
const SUMMERBEACHHOUSE_VICTOR
|
||||
const SUMMERBEACHHOUSE_PUKA
|
||||
|
||||
SummerBeachHouse_MapScripts:
|
||||
def_scene_scripts
|
||||
|
||||
def_callbacks
|
||||
|
||||
; WIP
|
||||
; I want the Surfin' Dude to teach a high-DV Pikachu Surf.
|
||||
; Everything here is as I want it, really, it's pretty neat.
|
||||
; Check engine/events/specials.asm for the funny buggy code.
|
||||
SummerBeachHouseSurfinDudeScript:
|
||||
faceplayer
|
||||
opentext
|
||||
writetext SummerBeachHouseSurfinDudeText1
|
||||
yesorno
|
||||
iffalse .NotPikachu
|
||||
loadmonindex 1, PIKACHU
|
||||
special FindPartyMonThatSpecies ; currently just works with Pikachu
|
||||
writetext SummerBeachHouseSurfinDudeText2
|
||||
waitbutton
|
||||
special CheckPikachu
|
||||
ifequal 0, .NotPikachu
|
||||
ifequal 1, .GetReward
|
||||
sjump .GetReward
|
||||
|
||||
.GetReward:
|
||||
writetext SummerBeachHouseSurfinDudeTextICanDoIt
|
||||
turnobject SUMMERBEACHHOUSE_PUKA, LEFT
|
||||
showemote EMOTE_SHOCK, SUMMERBEACHHOUSE_PUKA, 15
|
||||
writetext SummerBeachHousePukaTeach
|
||||
cry PIKACHU
|
||||
waitbutton
|
||||
applymovement SUMMERBEACHHOUSE_PUKA, PukaMovement1
|
||||
special TeachPikachuSurf
|
||||
writetext SummerBeachHouseSurfinDudeTextDone
|
||||
applymovement SUMMERBEACHHOUSE_PUKA, PukaMovement2
|
||||
waitbutton
|
||||
closetext
|
||||
; setevent EVENT_TAUGHT_PIKACHU_SURF
|
||||
end
|
||||
|
||||
.NotPikachu:
|
||||
writetext SummerBeachHouseSurfinDudeTextNoHave
|
||||
waitbutton
|
||||
closetext
|
||||
end
|
||||
|
||||
.TaughtPikachu:
|
||||
writetext SummerBeachHouseSurfinDudeText4
|
||||
waitbutton
|
||||
closetext
|
||||
end
|
||||
|
||||
PukaMovement1:
|
||||
step LEFT
|
||||
step UP
|
||||
step UP
|
||||
step LEFT
|
||||
step LEFT
|
||||
step LEFT
|
||||
turn_head DOWN
|
||||
step_end
|
||||
|
||||
PukaMovement2:
|
||||
step RIGHT
|
||||
step RIGHT
|
||||
step RIGHT
|
||||
step DOWN
|
||||
step DOWN
|
||||
step RIGHT
|
||||
step_end
|
||||
|
||||
SummerBeachHouseSurfinDudeText1: ; aka Victor
|
||||
text "Yo! For many years"
|
||||
line "I have wanted to"
|
||||
cont "teach a worthy"
|
||||
cont "PIKACHU to SURF!"
|
||||
|
||||
para "Do you have one?"
|
||||
done
|
||||
|
||||
SummerBeachHouseSurfinDudeText2:
|
||||
text "Ah! A PIKACHU!"
|
||||
line "Let's see…"
|
||||
done
|
||||
|
||||
SummerBeachHouseSurfinDudeTextNoHave:
|
||||
text "You don't have"
|
||||
line "one? Aww…"
|
||||
done
|
||||
|
||||
SummerBeachHouseSurfinDudeTextICanDoIt:
|
||||
text "Yeah! This PIKACHU"
|
||||
line "yearns for the"
|
||||
cont "waves!"
|
||||
|
||||
para "PUKA, come here!"
|
||||
done
|
||||
|
||||
SummerBeachHouseSurfinDudeTextDone:
|
||||
text "There! You can"
|
||||
line "SURF wherever"
|
||||
cont "you want with"
|
||||
cont "this PIKACHU now!"
|
||||
|
||||
para "Come again!"
|
||||
done
|
||||
|
||||
SummerBeachHousePoster1Script:
|
||||
jumptext SummerBeachHousePoster1Text
|
||||
|
||||
SummerBeachHousePoster1Text:
|
||||
text "SURFIN' DUDE's"
|
||||
line "scribbles…"
|
||||
|
||||
para "When I shoot the"
|
||||
line "tube, the tunes"
|
||||
cont "hit the groove!"
|
||||
done
|
||||
|
||||
SummerBeachHousePoster2Script:
|
||||
jumptext SummerBeachHousePoster2Text
|
||||
|
||||
SummerBeachHousePoster2Text:
|
||||
text "30 years of waves!"
|
||||
line "SURFIN' DUDE"
|
||||
done
|
||||
|
||||
SummerBeachHousePoster3Script:
|
||||
jumptext SummerBeachHousePoster1Text
|
||||
|
||||
SummerBeachHousePoster3Text:
|
||||
text "It's an old pos-"
|
||||
line "ter of the SURF-"
|
||||
cont "IN' DUDE with"
|
||||
cont "PUKA!"
|
||||
done
|
||||
|
||||
SummerBeachHousePrinterScript:
|
||||
jumptext SummerBeachHousePrinterText1
|
||||
|
||||
SummerBeachHousePrinterText1:
|
||||
text "It's some sort of"
|
||||
line "a machine…"
|
||||
done
|
||||
|
||||
SummerBeachHouseSurfinDudeText4:
|
||||
text "Dogs and burgers"
|
||||
line "on special today!"
|
||||
done
|
||||
|
||||
SummerBeachHousePukaScript:
|
||||
faceplayer
|
||||
opentext
|
||||
writetext SummerBeachHousePuka
|
||||
cry PIKACHU
|
||||
waitbutton
|
||||
closetext
|
||||
end
|
||||
|
||||
SummerBeachHousePuka:
|
||||
text "PUKA: Pikaaaa…"
|
||||
done
|
||||
|
||||
SummerBeachHousePukaTeach:
|
||||
text "PUKA: Pikapika!?"
|
||||
done
|
||||
|
||||
SummerBeachHouse_MapEvents:
|
||||
db 0, 0 ; filler
|
||||
|
||||
def_warp_events
|
||||
warp_event 3, 7, ROUTE_19, 2
|
||||
warp_event 2, 7, ROUTE_19, 2
|
||||
|
||||
def_coord_events
|
||||
|
||||
def_bg_events
|
||||
bg_event 3, 0, BGEVENT_READ, SummerBeachHousePoster1Script
|
||||
bg_event 7, 0, BGEVENT_READ, SummerBeachHousePoster2Script
|
||||
bg_event 13, 1, BGEVENT_READ, SummerBeachHousePrinterScript
|
||||
bg_event 11, 0, BGEVENT_READ, SummerBeachHousePoster3Script
|
||||
|
||||
def_object_events
|
||||
object_event 3, 3, SPRITE_FISHING_GURU, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, SummerBeachHouseSurfinDudeScript, -1
|
||||
object_event 8, 5, SPRITE_OVERWORLD_PIKACHU, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, SummerBeachHousePukaScript, -1
|
Loading…
Reference in a new issue