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

This implements Winner's Path into the game, complete with trainers and wild Pokemon. There's still a lot to do, though. The Debug Lady that gave Celebi now gives Furret because it gets all the important HMs, which we need to...test things. Naturally, you have all the badges now too!
520 lines
12 KiB
NASM
520 lines
12 KiB
NASM
object_const_def
|
|
;setflag GLOBALTERMINALOUTSIDE_ROCKET
|
|
|
|
DebugRoom_MapScripts:
|
|
def_scene_scripts
|
|
|
|
def_callbacks
|
|
|
|
DebugPokemon1Script:
|
|
opentext
|
|
getmonname STRING_BUFFER_3, LUXWAN
|
|
writetext ReceivedDebugPokemonText
|
|
playsound SFX_CAUGHT_MON
|
|
waitsfx
|
|
promptbutton
|
|
givepoke LUXWAN, 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 DOKUROAR
|
|
pause 15
|
|
closetext
|
|
loadvar VAR_BATTLETYPE, BATTLETYPE_SHINY
|
|
loadwildmon DOKUROAR, 60
|
|
startbattle
|
|
reloadmapafterbattle
|
|
end
|
|
|
|
DebugTextA:
|
|
text "Sparkle..."
|
|
line "Sparkle..."
|
|
done
|
|
|
|
DebugPokemon4Script:
|
|
faceplayer
|
|
opentext
|
|
writetext DebugTextB
|
|
cry DOKUROAR
|
|
pause 15
|
|
closetext
|
|
loadvar VAR_BATTLETYPE, BATTLETYPE_NORMAL
|
|
loadwildmon DOKUROAR, 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
|
|
|
|
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
|
|
|
|
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_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
|
|
closetext
|
|
end
|
|
|
|
DebugTextE:
|
|
text "<PLAYER> received"
|
|
line "many items!"
|
|
done
|
|
|
|
DebugFossilScientist:
|
|
faceplayer
|
|
opentext
|
|
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 ; remove the next two lines to immediately receive the fossil
|
|
iftrue .GaveScientistFossil
|
|
checkevent EVENT_GAVE_SCIENTIST_OLD_AMBER
|
|
iftrue .GiveDecilla
|
|
checkevent EVENT_GAVE_SCIENTIST_DOME_FOSSIL
|
|
iftrue .GiveKabuto
|
|
checkevent EVENT_GAVE_SCIENTIST_HELIX_FOSSIL
|
|
iftrue .GiveOmanyte
|
|
checkevent EVENT_GAVE_SCIENTIST_CLUB_FOSSIL
|
|
iftrue .GiveXylodon
|
|
checkevent EVENT_GAVE_SCIENTIST_WING_FOSSIL
|
|
iftrue .GiveFeradactyl
|
|
writetext FossilScientistIntroText
|
|
waitbutton
|
|
loadmenu .MoveMenuHeader
|
|
verticalmenu
|
|
closewindow
|
|
ifequal REVIVE_OLD_AMBER, .OldAmber
|
|
ifequal REVIVE_DOME_FOSSIL, .DomeFossil
|
|
ifequal REVIVE_HELIX_FOSSIL, .HelixFossil
|
|
ifequal REVIVE_CLUB_FOSSIL, .ClubFossil
|
|
ifequal REVIVE_WING_FOSSIL, .WingFossil
|
|
sjump .No
|
|
|
|
.OldAmber
|
|
checkitem OLD_AMBER
|
|
iffalse .No
|
|
getmonname STRING_BUFFER_3, DECILLA
|
|
writetext FossilScientistMonText
|
|
promptbutton
|
|
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 ; remove this to immediately receive the fossil
|
|
setevent EVENT_GAVE_SCIENTIST_OLD_AMBER
|
|
takeitem OLD_AMBER
|
|
writetext FossilScientistGiveText
|
|
waitbutton
|
|
sjump .GaveScientistFossil
|
|
|
|
.DomeFossil:
|
|
checkitem DOME_FOSSIL
|
|
iffalse .No
|
|
getmonname STRING_BUFFER_3, KABUTO
|
|
writetext FossilScientistMonText
|
|
promptbutton
|
|
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 ; remove this to immediately receive the fossil
|
|
setevent EVENT_GAVE_SCIENTIST_DOME_FOSSIL
|
|
takeitem DOME_FOSSIL
|
|
opentext
|
|
writetext FossilScientistGiveText
|
|
waitbutton
|
|
sjump .GaveScientistFossil
|
|
|
|
.HelixFossil:
|
|
checkitem HELIX_FOSSIL
|
|
iffalse .No
|
|
getmonname STRING_BUFFER_3, OMANYTE
|
|
writetext FossilScientistMonText
|
|
promptbutton
|
|
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 ; remove this to immediately receive the fossil
|
|
setevent EVENT_GAVE_SCIENTIST_HELIX_FOSSIL
|
|
takeitem HELIX_FOSSIL
|
|
writetext FossilScientistGiveText
|
|
waitbutton
|
|
sjump .GaveScientistFossil
|
|
|
|
.ClubFossil:
|
|
checkitem HELIX_FOSSIL
|
|
iffalse .No
|
|
getmonname STRING_BUFFER_3, XYLODON
|
|
writetext FossilScientistMonText
|
|
promptbutton
|
|
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 ; remove this to immediately receive the fossil
|
|
setevent EVENT_GAVE_SCIENTIST_CLUB_FOSSIL
|
|
takeitem HELIX_FOSSIL
|
|
writetext FossilScientistGiveText
|
|
waitbutton
|
|
sjump .GaveScientistFossil
|
|
|
|
.WingFossil:
|
|
checkitem HELIX_FOSSIL
|
|
iffalse .No
|
|
getmonname STRING_BUFFER_3, FERADACTYL
|
|
writetext FossilScientistMonText
|
|
promptbutton
|
|
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 ; remove this to immediately receive the fossil
|
|
setevent EVENT_GAVE_SCIENTIST_WING_FOSSIL
|
|
takeitem HELIX_FOSSIL
|
|
writetext FossilScientistGiveText
|
|
waitbutton
|
|
sjump .GaveScientistFossil
|
|
|
|
.No
|
|
writetext FossilScientistNoText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
.GaveScientistFossil:
|
|
writetext FossilScientistTimeText
|
|
waitbutton
|
|
closetext
|
|
; older versions will use FadeBlackQuickly below instead
|
|
; special FadeOutToBlack ; uncomment the next five lines to immediately receive the fossil
|
|
; special ReloadSpritesNoPalettes
|
|
; playsound SFX_WARP_TO
|
|
; waitsfx
|
|
; pause 35
|
|
end ; replace this with "sjump FossilScientist" to immediately receive the fossil
|
|
|
|
.GiveDecilla:
|
|
readvar VAR_PARTYCOUNT
|
|
ifequal PARTY_LENGTH, .NoRoom
|
|
clearevent EVENT_GAVE_SCIENTIST_OLD_AMBER
|
|
writetext FossilScientistDoneText
|
|
promptbutton
|
|
getmonname STRING_BUFFER_3, DECILLA
|
|
writetext FossilScientistReceiveText
|
|
playsound SFX_CAUGHT_MON
|
|
waitsfx
|
|
waitbutton
|
|
writetext FossilScientistMonText
|
|
givepoke DECILLA, 30
|
|
closetext
|
|
end
|
|
|
|
.GiveKabuto:
|
|
readvar VAR_PARTYCOUNT
|
|
ifequal PARTY_LENGTH, .NoRoom
|
|
clearevent EVENT_GAVE_SCIENTIST_DOME_FOSSIL
|
|
writetext FossilScientistDoneText
|
|
promptbutton
|
|
getmonname STRING_BUFFER_3, KABUTO
|
|
writetext FossilScientistReceiveText
|
|
playsound SFX_CAUGHT_MON
|
|
waitsfx
|
|
waitbutton
|
|
writetext FossilScientistMonText
|
|
givepoke KABUTO, 30
|
|
closetext
|
|
end
|
|
|
|
.GiveOmanyte:
|
|
readvar VAR_PARTYCOUNT
|
|
ifequal PARTY_LENGTH, .NoRoom
|
|
clearevent EVENT_GAVE_SCIENTIST_HELIX_FOSSIL
|
|
writetext FossilScientistDoneText
|
|
promptbutton
|
|
getmonname STRING_BUFFER_3, OMANYTE
|
|
writetext FossilScientistReceiveText
|
|
playsound SFX_CAUGHT_MON
|
|
waitsfx
|
|
waitbutton
|
|
writetext FossilScientistMonText
|
|
givepoke OMANYTE, 30
|
|
closetext
|
|
end
|
|
|
|
.GiveXylodon:
|
|
readvar VAR_PARTYCOUNT
|
|
ifequal PARTY_LENGTH, .NoRoom
|
|
clearevent EVENT_GAVE_SCIENTIST_CLUB_FOSSIL
|
|
writetext FossilScientistDoneText
|
|
promptbutton
|
|
getmonname STRING_BUFFER_3, XYLODON
|
|
writetext FossilScientistReceiveText
|
|
playsound SFX_CAUGHT_MON
|
|
waitsfx
|
|
waitbutton
|
|
writetext FossilScientistMonText
|
|
givepoke XYLODON, 30
|
|
closetext
|
|
end
|
|
|
|
.GiveFeradactyl:
|
|
readvar VAR_PARTYCOUNT
|
|
ifequal PARTY_LENGTH, .NoRoom
|
|
clearevent EVENT_GAVE_SCIENTIST_WING_FOSSIL
|
|
writetext FossilScientistDoneText
|
|
promptbutton
|
|
getmonname STRING_BUFFER_3, FERADACTYL
|
|
writetext FossilScientistReceiveText
|
|
playsound SFX_CAUGHT_MON
|
|
waitsfx
|
|
waitbutton
|
|
writetext FossilScientistMonText
|
|
givepoke FERADACTYL, 30
|
|
closetext
|
|
end
|
|
|
|
.NoRoom:
|
|
writetext FossilScientistPartyFullText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
.MoveMenuHeader:
|
|
db MENU_BACKUP_TILES ; flags
|
|
menu_coords 0, 0, 15, TEXTBOX_Y + 1
|
|
dw .MenuData
|
|
db 1 ; default option
|
|
|
|
.MenuData:
|
|
db STATICMENU_CURSOR ; flags
|
|
db 6 ; items
|
|
db "OLD AMBER@"
|
|
db "DOME FOSSIL@"
|
|
db "HELIX FOSSIL@"
|
|
db "CLUB FOSSIL@"
|
|
db "WING FOSSIL@"
|
|
db "CANCEL@"
|
|
|
|
FossilScientistIntroText:
|
|
text "Hiya!"
|
|
|
|
para "I am important"
|
|
line "doctor!"
|
|
|
|
para "I study here rare"
|
|
line "#MON fossils!"
|
|
|
|
para "You! Have you a"
|
|
line "fossil for me?"
|
|
done
|
|
|
|
FossilScientistNoText:
|
|
text "No! Is too bad!"
|
|
|
|
para "You come again!"
|
|
done
|
|
|
|
FossilScientistPartyFullText:
|
|
text "No! Is too bad!"
|
|
|
|
para "Your party is"
|
|
line "already full!"
|
|
done
|
|
|
|
FossilScientistTimeText:
|
|
text "I take a little"
|
|
line "time!"
|
|
|
|
para "You go for walk a"
|
|
line "little while!"
|
|
done
|
|
|
|
FossilScientistDoneText:
|
|
text "Where were you?"
|
|
|
|
para "Your fossil is"
|
|
line "back to life!"
|
|
done
|
|
|
|
FossilScientistMonText:
|
|
text "Oh! That is"
|
|
line "a fossil!"
|
|
|
|
para "It is fossil of"
|
|
line "@"
|
|
text_ram wStringBuffer3
|
|
text ", a"
|
|
|
|
|
|
para "#MON that is"
|
|
line "already extinct!"
|
|
|
|
para "My Resurrection"
|
|
line "Machine will make"
|
|
cont "that #MON live"
|
|
cont "again!"
|
|
done
|
|
|
|
FossilScientistGiveText:
|
|
text "So! You hurry and"
|
|
line "give me that!"
|
|
|
|
para "<PLAYER> handed"
|
|
line "over the fossil."
|
|
done
|
|
|
|
FossilScientistReceiveText:
|
|
text "<PLAYER> received"
|
|
line "@"
|
|
text_ram wStringBuffer3
|
|
text "!"
|
|
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, PALLET_TOWN, 1 ; left lab/league warp
|
|
warp_event 5, 9, PALLET_TOWN, 1 ; right lab/league warp
|
|
warp_event 35, 17, BLUE_FOREST, 1 ; east warp
|
|
warp_event 5, 35, BLUE_FOREST, 1 ; southwest warp
|
|
warp_event 19, 34, BLUE_FOREST, 1 ; southern warp
|
|
warp_event 33, 33, BLUE_FOREST, 1 ; southeast warp
|
|
warp_event 5, 3, AZALEA_TOWN, 1
|
|
warp_event 34, 11, WINNERS_PATH, 1
|
|
|
|
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_NURSE, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, DebugFossilScientist, -1
|