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

- Added a Strength Switch puzzle to floor 2, which took an unhealthy amount of time to do. This is possible in GSC but requires a lot of extremely hacky solutions. There is a glitch that causes the boulder not to move once on the switch if you reload the map but I have been doing this for 3-4 hours, shush. - Added a depressed switch tile to accomodate the new functionality. - New switch collision type for boulder puzzles. - Removed a lot of unused/unreferenced stuff that isn't necessary in Crystal to save space.
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, 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_NURSE, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, DebugFossilScientist, -1
|