mirror of
https://github.com/thornAvery/jep-hack.git
synced 2025-09-17 02:30:50 +12:00

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.
425 lines
9.4 KiB
NASM
425 lines
9.4 KiB
NASM
object_const_def
|
|
;setflag GLOBALTERMINALOUTSIDE_ROCKET
|
|
|
|
DebugRoom_MapScripts:
|
|
def_scene_scripts
|
|
|
|
def_callbacks
|
|
|
|
DebugPokemon1Script:
|
|
opentext
|
|
getmonname STRING_BUFFER_3, PIKACHU
|
|
writetext ReceivedDebugPokemonText
|
|
playsound SFX_CAUGHT_MON
|
|
waitsfx
|
|
promptbutton
|
|
givepoke PIKACHU, 24, POISON_STONE
|
|
closetext
|
|
end
|
|
|
|
DebugPokemon2Script:
|
|
opentext
|
|
getmonname STRING_BUFFER_3, MACHAMP
|
|
writetext ReceivedDebugPokemonText
|
|
playsound SFX_CAUGHT_MON
|
|
waitsfx
|
|
promptbutton
|
|
givepoke MACHAMP, 31, TM_ROCK_SMASH
|
|
closetext
|
|
end
|
|
|
|
ReceivedDebugPokemonText:
|
|
text "<PLAYER> received"
|
|
line "@"
|
|
text_ram wStringBuffer3
|
|
text "!"
|
|
done
|
|
|
|
DebugPokemon3Script:
|
|
faceplayer
|
|
opentext
|
|
writetext DebugTextA
|
|
cry LICKILORD
|
|
pause 15
|
|
closetext
|
|
loadvar VAR_BATTLETYPE, BATTLETYPE_SHINY
|
|
loadwildmon LICKILORD, 60
|
|
startbattle
|
|
reloadmapafterbattle
|
|
end
|
|
|
|
DebugTextA:
|
|
text "Sparkle..."
|
|
line "Sparkle..."
|
|
done
|
|
|
|
DebugPokemon4Script:
|
|
faceplayer
|
|
opentext
|
|
writetext DebugTextB
|
|
cry LICKILORD
|
|
pause 15
|
|
closetext
|
|
loadvar VAR_BATTLETYPE, BATTLETYPE_SAFARI
|
|
loadwildmon LICKILORD, 60
|
|
startbattle
|
|
reloadmapafterbattle
|
|
end
|
|
|
|
DebugTextB:
|
|
text "Do-ku-raaagh!"
|
|
done
|
|
|
|
DebugFlyScript:
|
|
faceplayer
|
|
opentext
|
|
writetext DebugTextC
|
|
playsound SFX_GET_BADGE
|
|
promptbutton
|
|
setflag ENGINE_ZEPHYRBADGE
|
|
setflag ENGINE_HIVEBADGE
|
|
setflag ENGINE_PLAINBADGE
|
|
setflag ENGINE_FOGBADGE
|
|
setflag ENGINE_STORMBADGE
|
|
setflag ENGINE_MINERALBADGE
|
|
setflag ENGINE_GLACIERBADGE
|
|
setflag ENGINE_RISINGBADGE
|
|
setflag ENGINE_POKEDEX
|
|
setflag ENGINE_MAP_CARD
|
|
setflag ENGINE_POKEGEAR
|
|
setflag ENGINE_PHONE_CARD
|
|
|
|
; Test new badge count
|
|
setflag ENGINE_BOULDERBADGE
|
|
setflag ENGINE_BADGE1
|
|
|
|
setflag ENGINE_FLYPOINT_PLAYERS_HOUSE
|
|
setflag ENGINE_FLYPOINT_DEBUG
|
|
setflag ENGINE_FLYPOINT_PALLET
|
|
setflag ENGINE_FLYPOINT_VIRIDIAN
|
|
setflag ENGINE_FLYPOINT_PEWTER
|
|
setflag ENGINE_FLYPOINT_CERULEAN
|
|
setflag ENGINE_FLYPOINT_ROCK_TUNNEL
|
|
setflag ENGINE_FLYPOINT_VERMILION
|
|
setflag ENGINE_FLYPOINT_LAVENDER
|
|
setflag ENGINE_FLYPOINT_SAFFRON
|
|
setflag ENGINE_FLYPOINT_CELADON
|
|
setflag ENGINE_FLYPOINT_FUCHSIA
|
|
setflag ENGINE_FLYPOINT_CINNABAR
|
|
setflag ENGINE_FLYPOINT_INDIGO_PLATEAU
|
|
setflag ENGINE_FLYPOINT_NEW_BARK
|
|
setflag ENGINE_FLYPOINT_CHERRYGROVE
|
|
setflag ENGINE_FLYPOINT_VIOLET
|
|
setflag ENGINE_FLYPOINT_AZALEA
|
|
setflag ENGINE_FLYPOINT_CIANWOOD
|
|
setflag ENGINE_FLYPOINT_GOLDENROD
|
|
setflag ENGINE_FLYPOINT_OLIVINE
|
|
setflag ENGINE_FLYPOINT_ECRUTEAK
|
|
setflag ENGINE_FLYPOINT_MAHOGANY
|
|
setflag ENGINE_FLYPOINT_LAKE_OF_RAGE
|
|
setflag ENGINE_FLYPOINT_BLACKTHORN
|
|
setflag ENGINE_FLYPOINT_SILVER_CAVE
|
|
setflag ENGINE_FLYPOINT_SILENT_HILLS
|
|
setflag ENGINE_FLYPOINT_OLD
|
|
|
|
setevent EVENT_BEAT_ELITE_FOUR
|
|
|
|
addcellnum PHONE_MOM
|
|
readvar VAR_BADGES
|
|
givepoke SHI_SHI, 70
|
|
closetext
|
|
end
|
|
|
|
DebugTextC:
|
|
text "I believe I can"
|
|
line "FLY!"
|
|
done
|
|
|
|
DebugDexScript:
|
|
faceplayer
|
|
opentext
|
|
writetext DebugTextD
|
|
playsound SFX_FANFARE
|
|
promptbutton
|
|
callasm CheatFillPokedex
|
|
givepoke FURRET, 100 ; gets all the hms
|
|
closetext
|
|
end
|
|
|
|
DebugTextD:
|
|
text "Your #DEX is"
|
|
line "fully complete!"
|
|
done
|
|
|
|
CheatFillPokedex:
|
|
ld hl, wPokedexSeen
|
|
call .Fill
|
|
ld hl, wPokedexCaught
|
|
.Fill:
|
|
ld a, %11111111
|
|
ld bc, 31 ; 001-248
|
|
call ByteFill
|
|
ld a, %11111111
|
|
ld bc, 18 ; 249-392
|
|
call ByteFill
|
|
ret
|
|
|
|
DebugItemScript:
|
|
faceplayer
|
|
opentext
|
|
writetext DebugTextE
|
|
playsound SFX_FANFARE_2
|
|
promptbutton
|
|
giveitem MASTER_BALL, 99
|
|
giveitem LEVEL_BALL, 99
|
|
giveitem MOON_BALL, 99
|
|
giveitem FRIEND_BALL, 99
|
|
giveitem LURE_BALL, 99
|
|
giveitem LOVE_BALL, 99
|
|
giveitem FAST_BALL, 99
|
|
giveitem HEAVY_BALL, 99
|
|
giveitem HM_CUT, 1
|
|
giveitem HM_FLY, 1
|
|
giveitem HM_SURF, 1
|
|
giveitem HM_FLASH, 1
|
|
giveitem HM_STRENGTH, 1
|
|
giveitem HM_WHIRLPOOL, 1
|
|
giveitem HM_WATERFALL, 1
|
|
giveitem FULL_RESTORE, 99
|
|
giveitem MAX_REVIVE, 99
|
|
giveitem MAX_REPEL, 99
|
|
giveitem RARE_CANDY, 99
|
|
giveitem BICYCLE, 1
|
|
giveitem SUPER_ROD, 1
|
|
giveitem CLUB_FOSSIL, 2
|
|
giveitem WING_FOSSIL, 2
|
|
giveitem DOME_FOSSIL, 2
|
|
giveitem HELIX_FOSSIL, 2
|
|
giveitem OLD_AMBER, 2
|
|
giveitem COIN_CASE
|
|
givecoins 2500
|
|
closetext
|
|
end
|
|
|
|
DebugTextE:
|
|
text "<PLAYER> received"
|
|
line "many items!"
|
|
done
|
|
|
|
TrainerTestScript:
|
|
faceplayer
|
|
opentext
|
|
writetext TrainerTestAsk
|
|
yesorno
|
|
iffalse .end
|
|
winlosstext TrainerTestScript_BeatenText, 0
|
|
loadtrainer ARCHER, ARCHER1
|
|
startbattle
|
|
reloadmapafterbattle
|
|
.end
|
|
closetext
|
|
end
|
|
|
|
TrainerTestAsk:
|
|
text "Would you like to"
|
|
line "test the TRAINER?"
|
|
done
|
|
|
|
TrainerTestScript_BeatenText:
|
|
text "Test complete!"
|
|
done
|
|
|
|
; Decoration shop scripts from Polished Crystal, tweaked and adapted.
|
|
; https://github.com/Rangi42/polishedcrystal/blob/master/maps/GoldenrodHarbor.asm
|
|
DebugDollShopScript:
|
|
faceplayer
|
|
opentext
|
|
writetext DebugDollShopDollVendorText
|
|
.Start:
|
|
special PlaceMoneyTopRight
|
|
loadmenu .MenuData
|
|
verticalmenu
|
|
closewindow
|
|
ifequal $1, .MagikarpDoll
|
|
ifequal $2, .TentacoolDoll
|
|
ifequal $3, .UnownDoll
|
|
sjump DebugDollShop_CancelPurchaseScript ; We don't have "endtext" like polishedcrystal, so we use this.
|
|
|
|
.MagikarpDoll:
|
|
checkmoney $0, 1400
|
|
ifequal $2, .NotEnoughMoney
|
|
checkevent EVENT_DECO_MAGIKARP_DOLL
|
|
iftrue .AlreadyBought
|
|
takemoney $0, 1400
|
|
setevent EVENT_DECO_MAGIKARP_DOLL
|
|
writetext DebugDollShopMagikarpDollText
|
|
playsound SFX_TRANSACTION
|
|
waitbutton
|
|
writetext DebugDollShopMagikarpDollSentText
|
|
waitbutton
|
|
sjump .Start
|
|
|
|
.TentacoolDoll:
|
|
checkmoney $0, 5600
|
|
ifequal $2, .NotEnoughMoney
|
|
checkevent EVENT_DECO_TENTACOOL_DOLL
|
|
iftrue .AlreadyBought
|
|
takemoney $0, 5600
|
|
setevent EVENT_DECO_TENTACOOL_DOLL
|
|
playsound SFX_TRANSACTION
|
|
waitbutton
|
|
writetext DebugDollShopTentacoolDollSentText
|
|
waitbutton
|
|
sjump .Start
|
|
|
|
.UnownDoll:
|
|
checkmoney $0, 11200
|
|
ifequal $2, .NotEnoughMoney
|
|
checkevent EVENT_DECO_UNOWN_DOLL
|
|
iftrue .AlreadyBought
|
|
takemoney $0, 11200
|
|
setevent EVENT_DECO_UNOWN_DOLL
|
|
writetext DebugDollShopUnownDollText
|
|
playsound SFX_TRANSACTION
|
|
waitbutton
|
|
writetext DebugDollShopUnownDollSentText
|
|
waitbutton
|
|
sjump .Start
|
|
|
|
.NotEnoughMoney:
|
|
writetext DebugDollShopNoMoneyText
|
|
waitbutton
|
|
sjump .Start
|
|
|
|
.AlreadyBought:
|
|
writetext DebugDollShopAlreadyBoughtText
|
|
waitbutton
|
|
sjump .Start
|
|
|
|
.MenuData:
|
|
db $40 ; flags
|
|
db 02, 00 ; start coords
|
|
db 11, 19 ; end coords
|
|
dw .MenuData2
|
|
db 1 ; default option
|
|
|
|
.MenuData2:
|
|
db $80 ; flags
|
|
db 4 ; items
|
|
db "MAGIKARP ¥1400@"
|
|
db "TENTACOOL ¥5600@"
|
|
db "UNOWN ¥11200@"
|
|
db "CANCEL@"
|
|
|
|
DebugDollShop_CancelPurchaseScript:
|
|
writetext DebugDollShopQuitText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
DebugDollShopQuitText:
|
|
text "Come again!"
|
|
done
|
|
|
|
DebugDollShopDollVendorText:
|
|
text "Welcome! I have"
|
|
line "adorable dolls for"
|
|
cont "sale."
|
|
done
|
|
|
|
DebugDollShopMagikarpDollText:
|
|
text "<PLAYER> bought"
|
|
line "MAGIKARP DOLL."
|
|
done
|
|
|
|
DebugDollShopMagikarpDollSentText:
|
|
text "MAGIKARP DOLL"
|
|
line "was sent home."
|
|
done
|
|
|
|
DebugDollShopTentacoolDollText:
|
|
text "<PLAYER> bought"
|
|
line "TENTACOOL DOLL."
|
|
done
|
|
|
|
DebugDollShopTentacoolDollSentText:
|
|
text "TENTACOOL DOLL"
|
|
line "was sent home."
|
|
done
|
|
|
|
DebugDollShopUnownDollText:
|
|
text "<PLAYER> bought"
|
|
line "UNOWN DOLL."
|
|
done
|
|
|
|
DebugDollShopUnownDollSentText:
|
|
text "UNOWN DOLL"
|
|
line "was sent home."
|
|
done
|
|
|
|
DebugDollShopNoMoneyText:
|
|
text "You can't afford"
|
|
line "that!"
|
|
done
|
|
|
|
DebugDollShopAlreadyBoughtText:
|
|
text "You already have"
|
|
line "that!"
|
|
done
|
|
|
|
MemoryGameScript:
|
|
refreshscreen
|
|
special UnusedMemoryGame
|
|
closetext
|
|
end
|
|
|
|
DebugGligarScript:
|
|
opentext
|
|
writetext DebugGligarText
|
|
|
|
givepoke GLIGAR, 5
|
|
special DebugGiveMonSpecialMove
|
|
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
DebugGligarText:
|
|
text "Hi"
|
|
done
|
|
|
|
DebugRoom_MapEvents:
|
|
db 0, 0 ; filler
|
|
|
|
def_warp_events
|
|
warp_event 23, 14, PLAYERS_HOUSE_1F, 1
|
|
warp_event 3, 20, SILENT_HILLS, 1
|
|
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, 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
|
|
warp_event 19, 34, SAFARI_ZONE_FUCHSIA_GATE_BETA, 3 ; southern warp
|
|
warp_event 33, 33, TWO_ISLAND, 1 ; southeast warp
|
|
warp_event 5, 3, AZALEA_TOWN, 1
|
|
warp_event 34, 11, WINNERS_PATH, 3
|
|
|
|
def_coord_events
|
|
|
|
def_bg_events
|
|
|
|
def_object_events
|
|
object_event 22, 21, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DebugPokemon1Script, -1
|
|
object_event 27, 21, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DebugPokemon2Script, -1
|
|
object_event 23, 27, SPRITE_MONSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_OW_RED, OBJECTTYPE_SCRIPT, 0, DebugPokemon3Script, -1
|
|
object_event 26, 27, SPRITE_MONSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_OW_BROWN, OBJECTTYPE_SCRIPT, 0, DebugPokemon4Script, -1
|
|
object_event 17, 13, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_OW_PURPLE, OBJECTTYPE_SCRIPT, 0, DebugFlyScript, -1
|
|
object_event 16, 13, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_OW_PURPLE, OBJECTTYPE_SCRIPT, 0, DebugDexScript, -1
|
|
object_event 19, 13, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_OW_PURPLE, OBJECTTYPE_SCRIPT, 0, DebugItemScript, -1
|
|
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 8, 16, SPRITE_KAREN, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DebugGligarScript, -1
|