diff options
-rw-r--r-- | constants/event_flags.asm | 4 | ||||
-rw-r--r-- | constants/std_constants.asm | 6 | ||||
-rw-r--r-- | main.asm | 15 | ||||
-rw-r--r-- | maps/NationalPark.asm | 509 |
4 files changed, 524 insertions, 10 deletions
diff --git a/constants/event_flags.asm b/constants/event_flags.asm index 926b7e70..f11f5bfb 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -618,9 +618,9 @@ const EVENT_GAVE_KURT_PNK_APRICORN ; Phone events const EVENT_JACK_ASKED_FOR_PHONE_NUMBER - const EVENT_260 + const EVENT_JACK_READY_FOR_REMATCH const EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER - const EVENT_262 + const EVENT_BEVERLY_READY_FOR_REMATCH const EVENT_HUEY_ASKED_FOR_PHONE_NUMBER const EVENT_264 const EVENT_GOT_PROTEIN_FROM_HUEY diff --git a/constants/std_constants.asm b/constants/std_constants.asm index 039b2707..9cfcbc8a 100644 --- a/constants/std_constants.asm +++ b/constants/std_constants.asm @@ -31,9 +31,6 @@ enum numberdeclinedm enum phonefullm enum rematchm - enum giftm - enum packfullm - enum rematchgiftm enum asknumber1f enum asknumber2f enum registerednumberf @@ -41,9 +38,6 @@ enum numberdeclinedf enum phonefullf enum rematchf - enum giftf - enum packfullf - enum rematchgiftf enum gymstatue1 enum gymstatue2 enum receiveitem @@ -1529,10 +1529,21 @@ SECTION "bank42", ROMX, BANK[$42] INCLUDE "maps/SproutTower1F.asm" INCLUDE "maps/SproutTower2F.asm" INCLUDE "maps/SproutTower3F.asm" - dr $108b1b, $109dca + dr $108b1b, $108c8c + dr $108c8c, $108c9e + dr $108c9e, $108cbf + dr $108cbf, $108d10 + dr $108d10, $108d4b + dr $108d4b, $108d5d + dr $108d5d, $108d8d + dr $108d8d, $108de0 + dr $108de0, $108e2c + dr $108e2c, $1093b8 + dr $1093b8, $109dca SECTION "bank43", ROMX, BANK[$43] - dr $10c000, $110000 +INCLUDE "maps/NationalPark.asm" + dr $10c87e, $10f198 SECTION "bank44", ROMX, BANK[$44] dr $110000, $114000 diff --git a/maps/NationalPark.asm b/maps/NationalPark.asm new file mode 100644 index 00000000..df5da9d4 --- /dev/null +++ b/maps/NationalPark.asm @@ -0,0 +1,509 @@ + const_def 2 ; object 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: + endifjustbattled + opentext + checkevent EVENT_JACK_READY_FOR_REMATCH + iftrue .Rematch + checkcellnum PHONE_SCHOOLBOY_JACK + iftrue .NumberAccepted + checkevent EVENT_JACK_ASKED_FOR_PHONE_NUMBER + iftrue .AskAgain + writetext UnknownText_0x5c4f3 + buttonsound + setevent EVENT_JACK_ASKED_FOR_PHONE_NUMBER + scall .AskNumber1 + jump .RequestNumber + +.AskAgain: + scall .AskNumber2 +.RequestNumber: + askforphonenumber PHONE_SCHOOLBOY_JACK + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .NumberDeclined + trainertotext SCHOOLBOY, JACK1, MEM_BUFFER_0 + scall .RegisteredNumber + jump .NumberAccepted + +.Rematch: + scall .RematchStd + winlosstext SchoolboyJack1BeatenText, 0 + checkevent EVENT_CLEARED_RADIO_TOWER + iftrue .LoadFight2 + checkflag EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM ; XXX ??? + iftrue .LoadFight1 + loadtrainer SCHOOLBOY, JACK1 + startbattle + reloadmapafterbattle + clearevent EVENT_JACK_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer SCHOOLBOY, JACK2 + startbattle + reloadmapafterbattle + clearevent EVENT_JACK_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer SCHOOLBOY, JACK3 + startbattle + reloadmapafterbattle + clearevent EVENT_JACK_READY_FOR_REMATCH + 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: + endifjustbattled + opentext + checkevent EVENT_BEVERLY_READY_FOR_REMATCH + iftrue .Rematch + checkcellnum PHONE_POKEFAN_BEVERLY + iftrue .NumberAccepted + checkevent EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER + iftrue .AskAgain + writetext UnknownText_0x5c68a + buttonsound + setevent EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER + scall .AskNumber1 + jump .RequestNumber + +.AskAgain: + scall .AskNumber2 +.RequestNumber: + askforphonenumber PHONE_POKEFAN_BEVERLY + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .NumberDeclined + trainertotext POKEFANF, BEVERLY1, MEM_BUFFER_0 + scall .RegisteredNumber + jump .NumberAccepted + +.Rematch: + scall .RematchStd + winlosstext PokefanfBeverly1BeatenText, 0 + checkevent EVENT_CLEARED_RADIO_TOWER + iftrue .LoadFight2 + checkflag EVENT_GOT_PINK_BOW_FROM_MARY + iftrue .LoadFight1 + loadtrainer POKEFANF, BEVERLY1 + startbattle + reloadmapafterbattle + clearevent EVENT_BEVERLY_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer POKEFANF, BEVERLY2 + startbattle + reloadmapafterbattle + clearevent EVENT_BEVERLY_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer POKEFANF, BEVERLY3 + startbattle + reloadmapafterbattle + clearevent EVENT_BEVERLY_READY_FOR_REMATCH + 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 + +.RematchStd: + jumpstd rematchf + 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 + +UnknownText_0x5c4f3: + text "There is a lot" + line "to learn." + + para "For example…" + + para "There are 50 kinds" + line "of TM." + + para "Traded #MON" + line "level up faster." + done + +PokefanfBeverly1SeenText: + text "My #MON are so" + line "cute. Let me show" + cont "them off to you." + done + +PokefanfBeverly1BeatenText: + text "Maybe I can't beat" + line "you in battle…" + + para "But mine look a" + line "lot nicer." + done + +UnknownText_0x5c68a: + text "My friend has a" + line "MARILL. It's so" + + para "cute! I wish I had" + line "a MARILL." + 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 + +LassKriseSeenText: + text "Hello? Why are you" + line "staring at me?" + + para "Oh, a battle?" + done + +LassKriseBeatenText: + text "…Hmmm…" + done + +LassKriseAfterBattleText: + text "The way you were" + line "looking, I thought" + cont "you liked me." + + para "After all, I am" + line "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 |