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

This adds a clause into the wild encounter setup that sets the Safari BattleType if you're within the relevant landmarks. Therefore, all that's now needed is a way to check the Safari Balls in the player's bag before kicking them out, which should be easily triggered by looking in their bag.
399 lines
8.8 KiB
NASM
399 lines
8.8 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 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_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
|
|
|
|
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
|
|
|
|
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, OLD_CITY, 1 ; east warp
|
|
warp_event 5, 35, LAVENDER_TOWN, 1 ; southwest warp
|
|
warp_event 19, 34, SAFARI_ZONE_BETA, 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_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
|