pokecrystal/maps/NationalPark.asm

546 lines
12 KiB
NASM

object_const_def ; object_event constants
const NATIONALPARK_LASS1
const NATIONALPARK_POKEFAN_F1
const NATIONALPARK_TEACHER1
const NATIONALPARK_YOUNGSTER1
const NATIONALPARK_YOUNGSTER2
const NATIONALPARK_TEACHER2
const NATIONALPARK_PERSIAN
const NATIONALPARK_YOUNGSTER3
const NATIONALPARK_POKEFAN_F2
const NATIONALPARK_POKEFAN_M
const NATIONALPARK_LASS2
const NATIONALPARK_POKE_BALL1
const NATIONALPARK_GAMEBOY_KID
const NATIONALPARK_POKE_BALL2
NationalPark_MapScripts:
db 0 ; scene scripts
db 0 ; callbacks
NationalParkLassScript:
jumptextfaceplayer NationalParkLassText
NationalParkPokefanFScript:
jumptextfaceplayer NationalParkPokefanFText
NationalParkTeacher1Script:
faceplayer
opentext
checkevent EVENT_GOT_QUICK_CLAW
iftrue .GotQuickClaw
writetext NationalParkTeacher1Text
buttonsound
verbosegiveitem QUICK_CLAW
iffalse .NoRoom
setevent EVENT_GOT_QUICK_CLAW
.GotQuickClaw:
writetext NationalParkTeacher1Text_GotQuickClaw
waitbutton
.NoRoom:
closetext
end
NationalParkYoungster1Script:
jumptextfaceplayer NationalParkYoungster1Text
NationalParkYoungster2Script:
jumptextfaceplayer NationalParkYoungster2Text
NationalParkTeacher2Script:
jumptextfaceplayer NationalParkTeacher2Text
NationalParkPersian:
faceplayer
opentext
writetext NationalParkPersianText
cry PERSIAN
waitbutton
closetext
end
NationalParkGameboyKidScript:
faceplayer
opentext
writetext NationalParkGameboyKidText
waitbutton
closetext
turnobject NATIONALPARK_GAMEBOY_KID, DOWN
end
TrainerSchoolboyJack1:
trainer SCHOOLBOY, JACK1, EVENT_BEAT_SCHOOLBOY_JACK, SchoolboyJack1SeenText, SchoolboyJack1BeatenText, 0, .Script
.Script:
loadvar VAR_CALLERID, PHONE_SCHOOLBOY_JACK
endifjustbattled
opentext
checkflag ENGINE_JACK
iftrue .Rematch
checkcellnum PHONE_SCHOOLBOY_JACK
iftrue .NumberAccepted
checkevent EVENT_JACK_ASKED_FOR_PHONE_NUMBER
iftrue .AskAgain
writetext SchoolboyJackTradeMonText
buttonsound
setevent EVENT_JACK_ASKED_FOR_PHONE_NUMBER
scall .AskNumber1
sjump .RequestNumber
.AskAgain:
scall .AskNumber2
.RequestNumber:
askforphonenumber PHONE_SCHOOLBOY_JACK
ifequal PHONE_CONTACTS_FULL, .PhoneFull
ifequal PHONE_CONTACT_REFUSED, .NumberDeclined
gettrainername STRING_BUFFER_3, SCHOOLBOY, JACK1
scall .RegisteredNumber
sjump .NumberAccepted
.Rematch:
scall .RematchStd
winlosstext SchoolboyJack1BeatenText, 0
readmem wJackFightCount
ifequal 4, .Fight4
ifequal 3, .Fight3
ifequal 2, .Fight2
ifequal 1, .Fight1
ifequal 0, .LoadFight0
.Fight4:
checkevent EVENT_RESTORED_POWER_TO_KANTO
iftrue .LoadFight4
.Fight3:
checkevent EVENT_BEAT_ELITE_FOUR
iftrue .LoadFight3
.Fight2:
checkevent EVENT_CLEARED_RADIO_TOWER
iftrue .LoadFight2
.Fight1:
checkflag ENGINE_FLYPOINT_OLIVINE
iftrue .LoadFight1
.LoadFight0:
loadtrainer SCHOOLBOY, JACK1
startbattle
reloadmapafterbattle
loadmem wJackFightCount, 1
clearflag ENGINE_JACK
end
.LoadFight1:
loadtrainer SCHOOLBOY, JACK2
startbattle
reloadmapafterbattle
loadmem wJackFightCount, 2
clearflag ENGINE_JACK
end
.LoadFight2:
loadtrainer SCHOOLBOY, JACK3
startbattle
reloadmapafterbattle
loadmem wJackFightCount, 3
clearflag ENGINE_JACK
end
.LoadFight3:
loadtrainer SCHOOLBOY, JACK4
startbattle
reloadmapafterbattle
loadmem wJackFightCount, 4
clearflag ENGINE_JACK
end
.LoadFight4:
loadtrainer SCHOOLBOY, JACK5
startbattle
reloadmapafterbattle
clearflag ENGINE_JACK
end
.AskNumber1:
jumpstd asknumber1m
end
.AskNumber2:
jumpstd asknumber2m
end
.RegisteredNumber:
jumpstd registerednumberm
end
.NumberAccepted:
jumpstd numberacceptedm
end
.NumberDeclined:
jumpstd numberdeclinedm
end
.PhoneFull:
jumpstd phonefullm
end
.RematchStd:
jumpstd rematchm
end
TrainerPokefanmWilliam:
trainer POKEFANM, WILLIAM, EVENT_BEAT_POKEFANM_WILLIAM, PokefanmWilliamSeenText, PokefanmWilliamBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext PokefanmWilliamAfterBattleText
waitbutton
closetext
end
TrainerPokefanfBeverly1:
trainer POKEFANF, BEVERLY1, EVENT_BEAT_POKEFANF_BEVERLY, PokefanfBeverly1SeenText, PokefanfBeverly1BeatenText, 0, .Script
.Script:
loadvar VAR_CALLERID, PHONE_POKEFAN_BEVERLY
endifjustbattled
opentext
checkflag ENGINE_BEVERLY_HAS_NUGGET
iftrue .GiveNugget
checkcellnum PHONE_POKEFAN_BEVERLY
iftrue .NumberAccepted
checkpoke MARILL
iffalse .NoMarill
checkevent EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER
iftrue .AskAgain
writetext PokefanBeverlyCuteMonText
buttonsound
setevent EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER
scall .AskNumber1
sjump .RequestNumber
.AskAgain:
scall .AskNumber2
.RequestNumber:
askforphonenumber PHONE_POKEFAN_BEVERLY
ifequal PHONE_CONTACTS_FULL, .PhoneFull
ifequal PHONE_CONTACT_REFUSED, .NumberDeclined
gettrainername STRING_BUFFER_3, POKEFANF, BEVERLY1
scall .RegisteredNumber
sjump .NumberAccepted
.GiveNugget:
scall .Gift
verbosegiveitem NUGGET
iffalse .NoRoom
clearflag ENGINE_BEVERLY_HAS_NUGGET
sjump .NumberAccepted
.NoRoom:
sjump .PackFull
.NoMarill:
writetext PokefanFBeverlyMarillFriendText
waitbutton
closetext
end
.AskNumber1:
jumpstd asknumber1f
end
.AskNumber2:
jumpstd asknumber2f
end
.RegisteredNumber:
jumpstd registerednumberf
end
.NumberAccepted:
jumpstd numberacceptedf
end
.NumberDeclined:
jumpstd numberdeclinedf
end
.PhoneFull:
jumpstd phonefullf
end
.Gift:
jumpstd giftf
end
.PackFull:
jumpstd packfullf
end
TrainerLassKrise:
trainer LASS, KRISE, EVENT_BEAT_LASS_KRISE, LassKriseSeenText, LassKriseBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext LassKriseAfterBattleText
waitbutton
closetext
end
NationalParkRelaxationSquareSign:
jumptext NationalParkRelaxationSquareText
NationalParkBattleNoticeSign:
jumptext NationalParkBattleNoticeText
NationalParkTrainerTipsSign:
jumptext NationalParkTrainerTipsText
NationalParkParlyzHeal:
itemball PARLYZ_HEAL
NationalParkTMDig:
itemball TM_DIG
NationalParkHiddenFullHeal:
hiddenitem FULL_HEAL, EVENT_NATIONAL_PARK_HIDDEN_FULL_HEAL
NationalParkLassText:
text "Look! Check out my"
line "bag!"
para "I printed out my"
line "favorites from my"
para "#DEX and stuck"
line "them on my bag."
done
NationalParkPokefanFText:
text "This is MAIL I got"
line "from my daughter."
cont "It cheers me up."
done
NationalParkTeacher1Text:
text "Pay attention,"
line "please!"
para "…Oops, I have to"
line "quit thinking like"
para "a teacher all the"
line "time."
para "You must be a"
line "#MON trainer."
para "Since you're work-"
line "ing so hard, I"
para "want you to have"
line "this."
done
NationalParkTeacher1Text_GotQuickClaw:
text "Let a #MON hold"
line "that QUICK CLAW."
para "Sometimes it will"
line "strike first"
cont "during battle."
done
NationalParkYoungster1Text:
text "I'm playing with"
line "stickers I printed"
cont "from my #DEX."
done
NationalParkYoungster2Text:
text "I get the other"
line "guy's #DEX"
cont "sticker if I win."
done
NationalParkTeacher2Text:
text "I take walks in"
line "the PARK, but I"
para "never go into the"
line "grass."
para "Trainers always"
line "want to battle…"
done
NationalParkPersianText:
text "PERSIAN: Fufushaa!"
done
NationalParkGameboyKidText:
text "I'm printing out"
line "my #DEX."
para "You can also print"
line "out stuff like"
para "MAIL and your PC"
line "BOXES."
done
SchoolboyJack1SeenText:
text "The world of"
line "#MON is deep."
para "There are still"
line "lots of things we"
cont "don't know."
para "But I know more"
line "than you do!"
done
SchoolboyJack1BeatenText:
text "Wha-wha-what?"
done
SchoolboyJackTradeMonText:
text "There is a lot"
line "to learn."
para "For example…"
para "There are 50 kinds"
line "of TMs."
para "Traded #MON"
line "level up faster."
done
PokefanfBeverly1SeenText:
text "My #MON are"
line "simply darling."
para "Let me tell you"
line "how proud my"
cont "darlings make me."
done
PokefanfBeverly1BeatenText:
text "I can beat you in"
line "pride, but…"
done
PokefanBeverlyCuteMonText:
text "I must say, your"
line "#MON are quite"
cont "cute, too."
done
PokefanmWilliamSeenText:
text "We adore our #-"
line "MON, even if they"
cont "dislike us."
para "That's what being"
line "a FAN is about."
done
PokefanmWilliamBeatenText:
text "M-my #MON!"
done
PokefanmWilliamAfterBattleText:
text "I lost the battle,"
line "but my #MON win"
para "the prize for"
line "being most lovely."
done
PokefanFBeverlyMarillFriendText:
text "My friend keeps a"
line "MARILL!"
para "I find them very"
line "endearing."
para "Oh, I wish for a"
line "MARILL of my own…"
done
LassKriseSeenText:
text "Hello? Why are you"
line "staring at me?"
para "Oh, a battle?"
done
LassKriseBeatenText:
text "…Hmmm…"
done
LassKriseAfterBattleText:
text "I thought you were"
line "staring at me"
cont "because I'm cute!"
done
NationalParkRelaxationSquareText:
text "RELAXATION SQUARE"
line "NATIONAL PARK"
done
NationalParkBattleNoticeText:
text "What is this"
line "notice?"
para "Please battle only"
line "in the grass."
para "NATIONAL PARK"
line "WARDEN'S OFFICE"
done
NationalParkTrainerTipsText:
text "TRAINER TIPS"
para "Print out MAIL by"
line "opening it then"
cont "pressing START."
done
NationalPark_MapEvents:
db 0, 0 ; filler
db 4 ; warp events
warp_event 33, 18, ROUTE_36_NATIONAL_PARK_GATE, 1
warp_event 33, 19, ROUTE_36_NATIONAL_PARK_GATE, 2
warp_event 10, 47, ROUTE_35_NATIONAL_PARK_GATE, 1
warp_event 11, 47, ROUTE_35_NATIONAL_PARK_GATE, 2
db 0 ; coord events
db 4 ; bg events
bg_event 14, 44, BGEVENT_READ, NationalParkRelaxationSquareSign
bg_event 27, 31, BGEVENT_READ, NationalParkBattleNoticeSign
bg_event 6, 47, BGEVENT_ITEM, NationalParkHiddenFullHeal
bg_event 12, 4, BGEVENT_READ, NationalParkTrainerTipsSign
db 14 ; object events
object_event 15, 24, SPRITE_LASS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, NationalParkLassScript, -1
object_event 14, 4, SPRITE_POKEFAN_F, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, NationalParkPokefanFScript, -1
object_event 27, 40, SPRITE_TEACHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, NationalParkTeacher1Script, -1
object_event 11, 41, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, NationalParkYoungster1Script, -1
object_event 10, 41, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, NationalParkYoungster2Script, -1
object_event 17, 41, SPRITE_TEACHER, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, NationalParkTeacher2Script, -1
object_event 26, 40, SPRITE_GROWLITHE, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, NationalParkPersian, -1
object_event 27, 23, SPRITE_YOUNGSTER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerSchoolboyJack1, -1
object_event 18, 29, SPRITE_POKEFAN_F, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 2, TrainerPokefanfBeverly1, -1
object_event 16, 9, SPRITE_POKEFAN_M, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 2, TrainerPokefanmWilliam, -1
object_event 8, 14, SPRITE_LASS, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerLassKrise, -1
object_event 35, 12, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, NationalParkParlyzHeal, EVENT_NATIONAL_PARK_PARLYZ_HEAL
object_event 26, 6, SPRITE_GAMEBOY_KID, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, NationalParkGameboyKidScript, -1
object_event 1, 43, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, NationalParkTMDig, EVENT_NATIONAL_PARK_TM_DIG