diff options
author | IIMarckus <iimarckus@gmail.com> | 2018-09-24 23:16:35 -0600 |
---|---|---|
committer | IIMarckus <iimarckus@gmail.com> | 2018-09-24 23:16:35 -0600 |
commit | 6d2ee745a3d3bf844550d9a38f0d843c06fea238 (patch) | |
tree | 95413dd65018d924ebd2608d4c397c19c7ef905b | |
parent | 2d2191353cd4e88ea5d66d588369ca5ef7b4a440 (diff) |
Add map objects from bank 5E.
-rwxr-xr-x | engine/specials.asm | 4 | ||||
-rw-r--r-- | main.asm | 45 | ||||
-rw-r--r-- | maps/CeladonCafe.asm | 226 | ||||
-rw-r--r-- | maps/CeladonDeptStore1F.asm | 92 | ||||
-rw-r--r-- | maps/CeladonDeptStore2F.asm | 87 | ||||
-rw-r--r-- | maps/CeladonDeptStore3F.asm | 114 | ||||
-rw-r--r-- | maps/CeladonDeptStore4F.asm | 68 | ||||
-rw-r--r-- | maps/CeladonDeptStore5F.asm | 91 | ||||
-rw-r--r-- | maps/CeladonDeptStore6F.asm | 160 | ||||
-rw-r--r-- | maps/CeladonDeptStoreElevator.asm | 40 | ||||
-rw-r--r-- | maps/CeladonGameCorner.asm | 340 | ||||
-rw-r--r-- | maps/CeladonGameCornerPrizeRoom.asm | 279 | ||||
-rw-r--r-- | maps/CeladonGym.asm | 292 | ||||
-rw-r--r-- | maps/CeladonMansion1F.asm | 96 | ||||
-rw-r--r-- | maps/CeladonMansion2F.asm | 66 | ||||
-rw-r--r-- | maps/CeladonMansion3F.asm | 212 | ||||
-rw-r--r-- | maps/CeladonMansionRoof.asm | 28 | ||||
-rw-r--r-- | maps/CeladonMansionRoofHouse.asm | 129 | ||||
-rw-r--r-- | maps/CeladonPokecenter1F.asm | 60 | ||||
-rw-r--r-- | maps/CeladonPokecenter2FBeta.asm | 16 | ||||
-rw-r--r-- | maps/Route16FuchsiaSpeechHouse.asm | 37 | ||||
-rw-r--r-- | maps/Route16Gate.asm | 77 | ||||
-rw-r--r-- | maps/Route17Route18Gate.asm | 68 | ||||
-rw-r--r-- | maps/Route7SaffronGate.asm | 60 |
24 files changed, 2662 insertions, 25 deletions
diff --git a/engine/specials.asm b/engine/specials.asm index 15081555..c5fd6b7b 100755 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -136,8 +136,8 @@ SpecialsPointers: add_special PhotoStudio add_special InitRoamMons add_special FadeOutMusic - add_special Functionc638 - add_special Functionc645 + add_special Diploma + add_special PrintDiploma add_special Function90a1b add_special Function90a54 add_special Function90a8d @@ -1901,29 +1901,28 @@ INCLUDE "maps/CianwoodPhotoStudio.asm" INCLUDE "maps/CianwoodLugiaSpeechHouse.asm" SECTION "bank5e", ROMX, BANK[$5e] -;INCLUDE "maps/CeladonDeptStore1F.asm" -;INCLUDE "maps/CeladonDeptStore2F.asm" -;INCLUDE "maps/CeladonDeptStore3F.asm" -;INCLUDE "maps/CeladonDeptStore4F.asm" -;INCLUDE "maps/CeladonDeptStore5F.asm" -;INCLUDE "maps/CeladonDeptStore6F.asm" -;INCLUDE "maps/CeladonDeptStoreElevator.asm" -;INCLUDE "maps/CeladonMansion1F.asm" -;INCLUDE "maps/CeladonMansion2F.asm" -;INCLUDE "maps/CeladonMansion3F.asm" -;INCLUDE "maps/CeladonMansionRoof.asm" -;INCLUDE "maps/CeladonMansionRoofHouse.asm" -;INCLUDE "maps/CeladonPokecenter1F.asm" -;INCLUDE "maps/CeladonPokecenter2FBeta.asm" -;INCLUDE "maps/CeladonGameCorner.asm" -;INCLUDE "maps/CeladonGameCornerPrizeRoom.asm" -;INCLUDE "maps/CeladonGym.asm" -;INCLUDE "maps/CeladonCafe.asm" -;INCLUDE "maps/Route16FuchsiaSpeechHouse.asm" -;INCLUDE "maps/Route16Gate.asm" -;INCLUDE "maps/Route7SaffronGate.asm" -;INCLUDE "maps/Route17Route18Gate.asm" - dr $178000, $17c000 +INCLUDE "maps/CeladonDeptStore1F.asm" +INCLUDE "maps/CeladonDeptStore2F.asm" +INCLUDE "maps/CeladonDeptStore3F.asm" +INCLUDE "maps/CeladonDeptStore4F.asm" +INCLUDE "maps/CeladonDeptStore5F.asm" +INCLUDE "maps/CeladonDeptStore6F.asm" +INCLUDE "maps/CeladonDeptStoreElevator.asm" +INCLUDE "maps/CeladonMansion1F.asm" +INCLUDE "maps/CeladonMansion2F.asm" +INCLUDE "maps/CeladonMansion3F.asm" +INCLUDE "maps/CeladonMansionRoof.asm" +INCLUDE "maps/CeladonMansionRoofHouse.asm" +INCLUDE "maps/CeladonPokecenter1F.asm" +INCLUDE "maps/CeladonPokecenter2FBeta.asm" +INCLUDE "maps/CeladonGameCorner.asm" +INCLUDE "maps/CeladonGameCornerPrizeRoom.asm" +INCLUDE "maps/CeladonGym.asm" +INCLUDE "maps/CeladonCafe.asm" +INCLUDE "maps/Route16FuchsiaSpeechHouse.asm" +INCLUDE "maps/Route16Gate.asm" +INCLUDE "maps/Route7SaffronGate.asm" +INCLUDE "maps/Route17Route18Gate.asm" SECTION "bank5f", ROMX, BANK[$5f] ;INCLUDE "maps/ViridianGym.asm" diff --git a/maps/CeladonCafe.asm b/maps/CeladonCafe.asm new file mode 100644 index 00000000..90e655d2 --- /dev/null +++ b/maps/CeladonCafe.asm @@ -0,0 +1,226 @@ + const_def 2 ; object constants + const CELADONCAFE_SUPER_NERD + const CELADONCAFE_FISHER1 + const CELADONCAFE_FISHER2 + const CELADONCAFE_FISHER3 + const CELADONCAFE_TEACHER + +CeladonCafe_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonCafeChef: + faceplayer + opentext + writetext ChefText_Eatathon + waitbutton + closetext + end + +CeladonCafeFisher1: + opentext + writetext Fisher1Text_Snarfle + waitbutton + closetext + faceplayer + opentext + writetext Fisher1Text_Concentration + waitbutton + closetext + turnobject CELADONCAFE_FISHER1, LEFT + end + +CeladonCafeFisher2: + opentext + writetext Fisher2Text_GulpChew + waitbutton + closetext + faceplayer + opentext + writetext Fisher2Text_Quantity + waitbutton + closetext + turnobject CELADONCAFE_FISHER2, RIGHT + end + +CeladonCafeFisher3: + opentext + writetext Fisher3Text_MunchMunch + waitbutton + closetext + faceplayer + opentext + writetext Fisher3Text_GoldenrodIsBest + waitbutton + closetext + turnobject CELADONCAFE_FISHER3, RIGHT + end + +CeladonCafeTeacher: + checkitem COIN_CASE + iftrue .HasCoinCase + opentext + writetext TeacherText_CrunchCrunch + waitbutton + closetext + faceplayer + opentext + writetext TeacherText_NoCoinCase + waitbutton + closetext + turnobject CELADONCAFE_TEACHER, LEFT + end + +.HasCoinCase: + opentext + writetext TeacherText_KeepEating + waitbutton + closetext + turnobject CELADONCAFE_TEACHER, RIGHT + opentext + writetext TeacherText_MoreChef + waitbutton + closetext + turnobject CELADONCAFE_TEACHER, LEFT + end + +EatathonContestPoster: + jumptext EatathonContestPosterText + +CeladonCafeTrashcan: + checkevent EVENT_FOUND_LEFTOVERS_IN_CELADON_CAFE + iftrue .TrashEmpty + giveitem LEFTOVERS + iffalse .PackFull + opentext + itemtotext LEFTOVERS, MEM_BUFFER_0 + writetext FoundLeftoversText + playsound SFX_ITEM + waitsfx + itemnotify + closetext + setevent EVENT_FOUND_LEFTOVERS_IN_CELADON_CAFE + end + +.PackFull: + opentext + itemtotext LEFTOVERS, MEM_BUFFER_0 + writetext FoundLeftoversText + buttonsound + writetext NoRoomForLeftoversText + waitbutton + closetext + end + +.TrashEmpty: + jumpstd trashcan + +ChefText_Eatathon: + text "Hi!" + + para "We're holding an" + line "eatathon contest." + + para "We can't serve you" + line "right now. Sorry." + done + +Fisher1Text_Snarfle: + text "…Snarfle, chew…" + done + +Fisher1Text_Concentration: + text "Don't talk to me!" + + para "You'll break my" + line "concentration!" + done + +Fisher2Text_GulpChew: + text "…Gulp… Chew…" + done + +Fisher2Text_Quantity: + text "I take quantity" + line "over quality!" + + para "I'm happy when I'm" + line "full!" + done + +Fisher3Text_MunchMunch: + text "Munch, munch…" + done + +Fisher3Text_GoldenrodIsBest: + text "The food is good" + line "here, but GOLDEN-" + cont "ROD has the best" + cont "food anywhere." + done + +TeacherText_CrunchCrunch: + text "Crunch… Crunch…" + done + +TeacherText_NoCoinCase: + text "Nobody here will" + line "give you a COIN" + + para "CASE. You should" + line "look in JOHTO." + done + +TeacherText_KeepEating: + text "Crunch… Crunch…" + + para "I can keep eating!" + done + +TeacherText_MoreChef: + text "More, CHEF!" + done + +EatathonContestPosterText: + text "Eatathon Contest!" + line "No time limit!" + + para "A battle without" + line "end! The biggest" + + para "muncher gets it" + line "all for free!" + done + +FoundLeftoversText: + text "<PLAYER> found a" + line "@" + text_from_ram wStringBuffer3 + text "." + done + +NoRoomForLeftoversText: + text "But <PLAYER> can't" + line "hold another item…" + done + +CeladonCafe_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 6, 7, CELADON_CITY, 9 + warp_event 7, 7, CELADON_CITY, 9 + + db 0 ; coord events + + db 2 ; bg events + bg_event 5, 0, BGEVENT_READ, EatathonContestPoster + bg_event 7, 1, BGEVENT_READ, CeladonCafeTrashcan + + db 5 ; object events + object_event 9, 3, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, CeladonCafeChef, -1 + object_event 4, 6, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CeladonCafeFisher1, -1 + object_event 1, 7, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CeladonCafeFisher2, -1 + object_event 1, 2, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CeladonCafeFisher3, -1 + object_event 4, 3, SPRITE_TEACHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CeladonCafeTeacher, -1 diff --git a/maps/CeladonDeptStore1F.asm b/maps/CeladonDeptStore1F.asm new file mode 100644 index 00000000..ccf7b2e4 --- /dev/null +++ b/maps/CeladonDeptStore1F.asm @@ -0,0 +1,92 @@ + const_def 2 ; object constants + const CELADONDEPTSTORE1F_RECEPTIONIST + const CELADONDEPTSTORE1F_GENTLEMAN + const CELADONDEPTSTORE1F_TEACHER + +CeladonDeptStore1F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonDeptStore1FReceptionistScript: + jumptextfaceplayer CeladonDeptStore1FReceptionistText + +CeladonDeptStore1FGentlemanScript: + jumptextfaceplayer CeladonDeptStore1FGentlemanText + +CeladonDeptStore1FTeacherScript: + jumptextfaceplayer CeladonDeptStore1FTeacherText + +CeladonDeptStore1FDirectory: + jumptext CeladonDeptStore1FDirectoryText + +CeladonDeptStore1FElevatorButton: + jumpstd elevatorbutton + +CeladonDeptStore1FReceptionistText: + text "Hello! Welcome to" + line "CELADON DEPT." + cont "STORE!" + + para "The directory is" + line "on the wall." + done + +CeladonDeptStore1FGentlemanText: + text "This DEPT.STORE is" + line "part of the same" + + para "chain as the one" + line "in GOLDENROD CITY." + + para "They were both" + line "renovated at the" + cont "same time." + done + +CeladonDeptStore1FTeacherText: + text "This is my first" + line "time here." + + para "It's so big…" + + para "I'm afraid I'll" + line "get lost." + done + +CeladonDeptStore1FDirectoryText: + text "1F: SERVICE" + line " COUNTER" + + para "2F: TRAINER'S" + line " MARKET" + + para "3F: TM SHOP" + + para "4F: WISEMAN GIFTS" + + para "5F: DRUG STORE" + + para "6F: VENDING" + line " MACHINES" + done + +CeladonDeptStore1F_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 7, 7, CELADON_CITY, 1 + warp_event 8, 7, CELADON_CITY, 1 + warp_event 15, 0, CELADON_DEPT_STORE_2F, 2 + warp_event 2, 0, CELADON_DEPT_STORE_ELEVATOR, 1 + + db 0 ; coord events + + db 2 ; bg events + bg_event 14, 0, BGEVENT_READ, CeladonDeptStore1FDirectory + bg_event 3, 0, BGEVENT_READ, CeladonDeptStore1FElevatorButton + + db 3 ; object events + object_event 10, 1, SPRITE_RECEPTIONIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore1FReceptionistScript, -1 + object_event 11, 4, SPRITE_GENTLEMAN, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore1FGentlemanScript, -1 + object_event 5, 3, SPRITE_TEACHER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore1FTeacherScript, -1 diff --git a/maps/CeladonDeptStore2F.asm b/maps/CeladonDeptStore2F.asm new file mode 100644 index 00000000..bf367adf --- /dev/null +++ b/maps/CeladonDeptStore2F.asm @@ -0,0 +1,87 @@ + const_def 2 ; object constants + const CELADONDEPTSTORE2F_CLERK1 + const CELADONDEPTSTORE2F_CLERK2 + const CELADONDEPTSTORE2F_POKEFAN_M + const CELADONDEPTSTORE2F_YOUNGSTER + +CeladonDeptStore2F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonDeptStore2FClerk1Script: + faceplayer + opentext + pokemart MARTTYPE_STANDARD, MART_CELADON_2F_1 + closetext + end + +CeladonDeptStore2FClerk2Script: + faceplayer + opentext + pokemart MARTTYPE_STANDARD, MART_CELADON_2F_2 + closetext + end + +CeladonDeptStore2FPokefanMScript: + jumptextfaceplayer CeladonDeptStore2FPokefanMText + +CeladonDeptStore2FYoungsterScript: + jumptextfaceplayer CeladonDeptStore2FYoungsterText + +CeladonDeptStore2FDirectory: + jumptext CeladonDeptStore2FDirectoryText + +CeladonDeptStore2FElevatorButton: + jumpstd elevatorbutton + +CeladonDeptStore2FPokefanMText: + text "I just recently" + line "became a trainer." + + para "My son encouraged" + line "me to do it." + + para "I'm impressed by" + line "the selection of" + cont "convenient items." + done + +CeladonDeptStore2FYoungsterText: + text "My Dad's having a" + line "hard time learning" + + para "the names of items" + line "and how they are" + + para "supposed to be" + line "used…" + done + +CeladonDeptStore2FDirectoryText: + text "Top Grade Items" + line "for Trainers!" + + para "2F: TRAINER'S" + line " MARKET" + done + +CeladonDeptStore2F_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 12, 0, CELADON_DEPT_STORE_3F, 1 + warp_event 15, 0, CELADON_DEPT_STORE_1F, 3 + warp_event 2, 0, CELADON_DEPT_STORE_ELEVATOR, 1 + + db 0 ; coord events + + db 2 ; bg events + bg_event 14, 0, BGEVENT_READ, CeladonDeptStore2FDirectory + bg_event 3, 0, BGEVENT_READ, CeladonDeptStore2FElevatorButton + + db 4 ; object events + object_event 13, 5, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore2FClerk1Script, -1 + object_event 14, 5, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore2FClerk2Script, -1 + object_event 5, 2, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore2FPokefanMScript, -1 + object_event 6, 2, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore2FYoungsterScript, -1 diff --git a/maps/CeladonDeptStore3F.asm b/maps/CeladonDeptStore3F.asm new file mode 100644 index 00000000..638ff3c3 --- /dev/null +++ b/maps/CeladonDeptStore3F.asm @@ -0,0 +1,114 @@ + const_def 2 ; object constants + const CELADONDEPTSTORE3F_CLERK + const CELADONDEPTSTORE3F_YOUNGSTER + const CELADONDEPTSTORE3F_GAMEBOY_KID1 + const CELADONDEPTSTORE3F_GAMEBOY_KID2 + const CELADONDEPTSTORE3F_SUPER_NERD + +CeladonDeptStore3F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonDeptStore3FClerkScript: + faceplayer + opentext + pokemart MARTTYPE_STANDARD, MART_CELADON_3F + closetext + end + +CeladonDeptStore3FYoungsterScript: + jumptextfaceplayer CeladonDeptStore3FYoungsterText + +CeladonDeptStore3FGameboyKid1Script: + faceplayer + opentext + writetext CeladonDeptStore3FGameboyKid1Text + waitbutton + closetext + turnobject CELADONDEPTSTORE3F_GAMEBOY_KID1, DOWN + end + +CeladonDeptStore3FGameboyKid2Script: + faceplayer + opentext + writetext CeladonDeptStore3FGameboyKid2Text + waitbutton + closetext + turnobject CELADONDEPTSTORE3F_GAMEBOY_KID2, DOWN + end + +CeladonDeptStore3FSuperNerdScript: + jumptextfaceplayer CeladonDeptStore3FSuperNerdText + +CeladonDeptStore3FElevatorButton: + jumpstd elevatorbutton + +CeladonDeptStore3FDirectory: + jumptext CeladonDeptStore3FDirectoryText + +CeladonDeptStore3FYoungsterText: + text "I can't decide" + line "which #MON I" + + para "should use this TM" + line "on…" + done + +CeladonDeptStore3FGameboyKid1Text: + text "Uh-oh! I traded my" + line "#MON without" + + para "removing the UP-" + line "GRADE from it." + done + +CeladonDeptStore3FGameboyKid2Text: + text "Yeah! I'm finally" + line "getting a PORYGON!" + + para "I'm no good at the" + line "slots, so I could" + + para "never get enough" + line "coins…" + + para "…Huh?" + + para "The traded PORYGON" + line "turned into a dif-" + cont "ferent #MON!" + done + +CeladonDeptStore3FSuperNerdText: + text "The TM SHOP sells" + line "some rare moves." + done + +CeladonDeptStore3FDirectoryText: + text "3F: TM SHOP" + + para "Make Your #MON" + line "Stronger!" + done + +CeladonDeptStore3F_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 12, 0, CELADON_DEPT_STORE_2F, 1 + warp_event 15, 0, CELADON_DEPT_STORE_4F, 2 + warp_event 2, 0, CELADON_DEPT_STORE_ELEVATOR, 1 + + db 0 ; coord events + + db 2 ; bg events + bg_event 14, 0, BGEVENT_READ, CeladonDeptStore3FDirectory + bg_event 3, 0, BGEVENT_READ, CeladonDeptStore3FElevatorButton + + db 5 ; object events + object_event 7, 1, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore3FClerkScript, -1 + object_event 6, 4, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore3FYoungsterScript, -1 + object_event 9, 1, SPRITE_GAMEBOY_KID, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore3FGameboyKid1Script, -1 + object_event 10, 1, SPRITE_GAMEBOY_KID, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore3FGameboyKid2Script, -1 + object_event 13, 4, SPRITE_SUPER_NERD, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore3FSuperNerdScript, -1 diff --git a/maps/CeladonDeptStore4F.asm b/maps/CeladonDeptStore4F.asm new file mode 100644 index 00000000..9e7dddc2 --- /dev/null +++ b/maps/CeladonDeptStore4F.asm @@ -0,0 +1,68 @@ + const_def 2 ; object constants + const CELADONDEPTSTORE4F_CLERK + const CELADONDEPTSTORE4F_SUPER_NERD + const CELADONDEPTSTORE4F_YOUNGSTER + +CeladonDeptStore4F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonDeptStore4FClerkScript: + faceplayer + opentext + pokemart MARTTYPE_STANDARD, MART_CELADON_4F + closetext + end + +CeladonDeptStore4FSuperNerdScript: + jumptextfaceplayer CeladonDeptStore4FSuperNerdText + +CeladonDeptStore4FYoungsterScript: + jumptextfaceplayer CeladonDeptStore4FYoungsterText + +CeladonDeptStore4FDirectory: + jumptext CeladonDeptStore4FDirectoryText + +CeladonDeptStore4FElevatorButton: + jumpstd elevatorbutton + +CeladonDeptStore4FSuperNerdText: + text "I'm here to buy" + line "SURF MAIL to send" + cont "to my girlfriend." + done + +CeladonDeptStore4FYoungsterText: + text "This is the only" + line "place where you" + + para "can buy LOVELY" + line "MAIL." + done + +CeladonDeptStore4FDirectoryText: + text "Express Yourself" + line "With Gifts!" + + para "4F: WISEMAN GIFTS" + done + +CeladonDeptStore4F_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 12, 0, CELADON_DEPT_STORE_5F, 1 + warp_event 15, 0, CELADON_DEPT_STORE_3F, 2 + warp_event 2, 0, CELADON_DEPT_STORE_ELEVATOR, 1 + + db 0 ; coord events + + db 2 ; bg events + bg_event 14, 0, BGEVENT_READ, CeladonDeptStore4FDirectory + bg_event 3, 0, BGEVENT_READ, CeladonDeptStore4FElevatorButton + + db 3 ; object events + object_event 13, 5, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore4FClerkScript, -1 + object_event 7, 6, SPRITE_SUPER_NERD, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore4FSuperNerdScript, -1 + object_event 8, 2, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore4FYoungsterScript, -1 diff --git a/maps/CeladonDeptStore5F.asm b/maps/CeladonDeptStore5F.asm new file mode 100644 index 00000000..2c5ae22f --- /dev/null +++ b/maps/CeladonDeptStore5F.asm @@ -0,0 +1,91 @@ + const_def 2 ; object constants + const CELADONDEPTSTORE5F_CLERK1 + const CELADONDEPTSTORE5F_CLERK2 + const CELADONDEPTSTORE5F_GENTLEMAN + const CELADONDEPTSTORE5F_SAILOR + const CELADONDEPTSTORE5F_TEACHER + +CeladonDeptStore5F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonDeptStore5FClerk1Script: + faceplayer + opentext + pokemart MARTTYPE_STANDARD, MART_CELADON_5F_1 + closetext + end + +CeladonDeptStore5FClerk2Script: + faceplayer + opentext + pokemart MARTTYPE_STANDARD, MART_CELADON_5F_2 + closetext + end + +CeladonDeptStore5FGentlemanScript: + jumptextfaceplayer CeladonDeptStore5FGentlemanText + +CeladonDeptStore5FSailorScript: + jumptextfaceplayer CeladonDeptStore5FSailorText + +CeladonDeptStore5FTeacherScript: + jumptextfaceplayer CeladonDeptStore5FTeacherText + +CeladonDeptStore5FDirectory: + jumptext CeladonDeptStore5FDirectoryText + +CeladonDeptStore5FElevatorButton: + jumpstd elevatorbutton + +CeladonDeptStore5FGentlemanText: + text "I want to buy some" + line "items that raise" + + para "#MON stats, but" + line "I don't have" + cont "enough money…" + done + +CeladonDeptStore5FSailorText: + text "I want PP UP, so I" + line "can raise the PP" + + para "of moves. But you" + line "can't buy it…" + done + +CeladonDeptStore5FTeacherText: + text "Using items on" + line "them makes #-" + cont "MON happy." + + para "They hate certain" + line "items, though…" + done + +CeladonDeptStore5FDirectoryText: + text "5F: DRUG STORE" + done + +CeladonDeptStore5F_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 12, 0, CELADON_DEPT_STORE_4F, 1 + warp_event 15, 0, CELADON_DEPT_STORE_6F, 1 + warp_event 2, 0, CELADON_DEPT_STORE_ELEVATOR, 1 + + db 0 ; coord events + + db 2 ; bg events + bg_event 14, 0, BGEVENT_READ, CeladonDeptStore5FDirectory + bg_event 3, 0, BGEVENT_READ, CeladonDeptStore5FElevatorButton + + db 5 ; object events + object_event 7, 5, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore5FClerk1Script, -1 + object_event 8, 5, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore5FClerk2Script, -1 + object_event 13, 5, SPRITE_GENTLEMAN, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore5FGentlemanScript, -1 + object_event 3, 4, SPRITE_SAILOR, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore5FSailorScript, -1 + object_event 1, 7, SPRITE_TEACHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore5FTeacherScript, -1 diff --git a/maps/CeladonDeptStore6F.asm b/maps/CeladonDeptStore6F.asm new file mode 100644 index 00000000..d30f23f1 --- /dev/null +++ b/maps/CeladonDeptStore6F.asm @@ -0,0 +1,160 @@ + const_def 2 ; object constants + const CELADONDEPTSTORE6F_SUPER_NERD + const CELADONDEPTSTORE6F_YOUNGSTER + +CeladonDeptStore6F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonDeptStore6FSuperNerdScript: + jumptextfaceplayer CeladonDeptStore6FSuperNerdText + +CeladonDeptStore6FYoungsterScript: + jumptextfaceplayer CeladonDeptStore6FYoungsterText + +CeladonDeptStore6FVendingMachine: + opentext + writetext CeladonVendingText +.Start: + special PlaceMoneyTopRight + loadmenu .MenuHeader + verticalmenu + closewindow + ifequal 1, .FreshWater + ifequal 2, .SodaPop + ifequal 3, .Lemonade + closetext + end + +.FreshWater: + checkmoney YOUR_MONEY, 200 + ifequal HAVE_LESS, .NotEnoughMoney + giveitem FRESH_WATER + iffalse .NotEnoughSpace + takemoney YOUR_MONEY, 200 + itemtotext FRESH_WATER, MEM_BUFFER_0 + jump .VendItem + +.SodaPop: + checkmoney YOUR_MONEY, 300 + ifequal HAVE_LESS, .NotEnoughMoney + giveitem SODA_POP + iffalse .NotEnoughSpace + takemoney YOUR_MONEY, 300 + itemtotext SODA_POP, MEM_BUFFER_0 + jump .VendItem + +.Lemonade: + checkmoney YOUR_MONEY, 350 + ifequal HAVE_LESS, .NotEnoughMoney + giveitem LEMONADE + iffalse .NotEnoughSpace + takemoney YOUR_MONEY, 350 + itemtotext LEMONADE, MEM_BUFFER_0 + jump .VendItem + +.VendItem: + pause 10 + playsound SFX_ENTER_DOOR + writetext CeladonClangText + buttonsound + itemnotify + jump .Start + +.NotEnoughMoney: + writetext CeladonVendingNoMoneyText + waitbutton + jump .Start + +.NotEnoughSpace: + writetext CeladonVendingNoSpaceText + waitbutton + jump .Start + +.MenuHeader: + db MENU_BACKUP_TILES ; flags + menu_coords 0, 2, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 + dw .MenuData + db 1 ; default option + +.MenuData: + db STATICMENU_CURSOR ; flags + db 4 ; items + db "FRESH WATER ¥200@" + db "SODA POP ¥300@" + db "LEMONADE ¥350@" + db "CANCEL@" + +CeladonDeptStore6FDirectory: + jumptext CeladonDeptStore6FDirectoryText + +; unused +CeladonDeptStore6FElevatorButton: + jumpstd elevatorbutton + +CeladonVendingText: + text "A vending machine!" + line "Here's the menu." + done + +CeladonClangText: + text "Clang!" + + para "@" + text_from_ram wStringBuffer3 + text_start + line "popped out." + done + +CeladonVendingNoMoneyText: + text "Oops, not enough" + line "money…" + done + +CeladonVendingNoSpaceText: + text "There's no more" + line "room for stuff…" + done + +CeladonDeptStore6FSuperNerdText: + text "A vending machine" + line "with a prize rou-" + cont "lette…" + + para "You never see" + line "those anymore." + done + +CeladonDeptStore6FYoungsterText: + text "Aww! There's no" + line "games here!" + + para "I wanted to play…" + done + +CeladonDeptStore6FDirectoryText: + text "6F: ROOFTOP SQUARE" + line "VENDING MACHINES" + done + +CeladonDeptStore6F_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 15, 0, CELADON_DEPT_STORE_5F, 2 + warp_event 2, 0, CELADON_DEPT_STORE_ELEVATOR, 1 + + db 0 ; coord events + + db 6 ; bg events + bg_event 14, 0, BGEVENT_READ, CeladonDeptStore6FDirectory + bg_event 3, 0, BGEVENT_READ, CeladonDeptStore1FElevatorButton + bg_event 8, 1, BGEVENT_UP, CeladonDeptStore6FVendingMachine + bg_event 9, 1, BGEVENT_UP, CeladonDeptStore6FVendingMachine + bg_event 10, 1, BGEVENT_UP, CeladonDeptStore6FVendingMachine + bg_event 11, 1, BGEVENT_UP, CeladonDeptStore6FVendingMachine + + db 2 ; object events + object_event 9, 2, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore6FSuperNerdScript, -1 + object_event 12, 5, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 2, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CeladonDeptStore6FYoungsterScript, -1 diff --git a/maps/CeladonDeptStoreElevator.asm b/maps/CeladonDeptStoreElevator.asm new file mode 100644 index 00000000..d89efe8e --- /dev/null +++ b/maps/CeladonDeptStoreElevator.asm @@ -0,0 +1,40 @@ +CeladonDeptStoreElevator_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonDeptStoreElevatorScript: + opentext + elevator CeladonDeptStoreElevatorData + closetext + iffalse .Done + pause 5 + playsound SFX_ELEVATOR + earthquake 60 + waitsfx +.Done: + end + +CeladonDeptStoreElevatorData: + db 6 ; floors + elevfloor FLOOR_1F, 4, CELADON_DEPT_STORE_1F + elevfloor FLOOR_2F, 3, CELADON_DEPT_STORE_2F + elevfloor FLOOR_3F, 3, CELADON_DEPT_STORE_3F + elevfloor FLOOR_4F, 3, CELADON_DEPT_STORE_4F + elevfloor FLOOR_5F, 3, CELADON_DEPT_STORE_5F + elevfloor FLOOR_6F, 2, CELADON_DEPT_STORE_6F + db -1 ; end + +CeladonDeptStoreElevator_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 1, 3, CELADON_DEPT_STORE_1F, -1 + warp_event 2, 3, CELADON_DEPT_STORE_1F, -1 + + db 0 ; coord events + + db 1 ; bg events + bg_event 3, 0, BGEVENT_READ, CeladonDeptStoreElevatorScript + + db 0 ; object events diff --git a/maps/CeladonGameCorner.asm b/maps/CeladonGameCorner.asm new file mode 100644 index 00000000..beab8cae --- /dev/null +++ b/maps/CeladonGameCorner.asm @@ -0,0 +1,340 @@ + const_def 2 ; object constants + const CELADONGAMECORNER_CLERK + const CELADONGAMECORNER_RECEPTIONIST + const CELADONGAMECORNER_POKEFAN_M + const CELADONGAMECORNER_TEACHER + const CELADONGAMECORNER_FISHING_GURU + const CELADONGAMECORNER_FISHER1 + const CELADONGAMECORNER_FISHER2 + const CELADONGAMECORNER_GYM_GUY + const CELADONGAMECORNER_GRAMPS + +CeladonGameCorner_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonGameCornerClerkScript: + jumpstd gamecornercoinvendor + +CeladonGameCornerReceptionistScript: + jumptextfaceplayer CeladonGameCornerReceptionistText + +CeladonGameCornerPokefanMScript: + faceplayer + opentext + writetext CeladonGameCornerPokefanMText + waitbutton + closetext + turnobject CELADONGAMECORNER_POKEFAN_M, LEFT + end + +CeladonGameCornerTeacherScript: + faceplayer + opentext + writetext CeladonGameCornerTeacherText + waitbutton + closetext + turnobject CELADONGAMECORNER_TEACHER, RIGHT + end + +CeladonGameCornerFishingGuruScript: + faceplayer + opentext + writetext CeladonGameCornerFishingGuruText + waitbutton + closetext + turnobject CELADONGAMECORNER_FISHING_GURU, RIGHT + end + +CeladonGameCornerFisherScript: + faceplayer + opentext + checkevent EVENT_GOT_COINS_FROM_GAMBLER_AT_CELADON + iftrue .GotCoins + writetext CeladonGameCornerFisherText1 + buttonsound + checkitem COIN_CASE + iffalse .NoCoinCase + checkcoins MAX_COINS - 1 + ifequal HAVE_MORE, .FullCoinCase + stringtotext .coinname, MEM_BUFFER_1 + scall .GiveCoins + givecoins 18 + setevent EVENT_GOT_COINS_FROM_GAMBLER_AT_CELADON +.GotCoins: + writetext CeladonGameCornerFisherText2 + waitbutton + closetext + turnobject LAST_TALKED, LEFT + end + +.GiveCoins: + jumpstd receiveitem + end + +.coinname + db "COIN@" + +.NoCoinCase: + writetext CeladonGameCornerFisherNoCoinCaseText + waitbutton + closetext + turnobject LAST_TALKED, LEFT + end + +.FullCoinCase: + writetext CeladonGameCornerFisherFullCoinCaseText + waitbutton + closetext + turnobject LAST_TALKED, LEFT + end + +CeladonGymGuyScript: + jumptextfaceplayer CeladonGymGuyText + +CeladonGameCornerGrampsScript: + faceplayer + opentext + writetext CeladonGameCornerGrampsText + waitbutton + closetext + turnobject CELADONGAMECORNER_GRAMPS, LEFT + end + +CeladonGameCornerPoster1Script: + jumptext CeladonGameCornerPoster1Text + +CeladonGameCornerPoster2Script: + jumptext CeladonGameCornerPoster2Text + +CeladonGameCornerLuckySlotMachineScript: + random 6 + ifequal 0, CeladonGameCornerSlotMachineScript + refreshscreen + writebyte FALSE + special SlotMachine + closetext + end + +CeladonGameCornerSlotMachineScript: + refreshscreen + writebyte TRUE + special SlotMachine + closetext + end + +CeladonGameCornerCardFlipScript: + refreshscreen + special CardFlip + closetext + end + +CeladonGameCornerLighterScript: + jumptext CeladonGameCornerLighterText + +CeladonGameCornerSodaCanScript: + opentext + writetext CeladonGameCornerSodaCanText + waitbutton + special CardFlip + closetext + end + +CeladonGameCornerUnusedMovementData: +; unreferenced + step RIGHT + turn_head LEFT + step_end + +CeladonGameCornerReceptionistText: + text "Welcome!" + + para "You may exchange" + line "your coins for" + + para "fabulous prizes" + line "next door." + done + +CeladonGameCornerPokefanMText: + text "The slot machines" + line "are all state of" + cont "the art." + done + +CeladonGameCornerTeacherText: + text "It's this machine" + line "I want." + + para "It cleaned me out" + line "yesterday, so it" + + para "should pay out" + line "today." + done + +CeladonGameCornerFishingGuruText: + text "I think this slot" + line "machine will pay" + cont "out…" + + para "The odds vary" + line "among machines." + done + +CeladonGameCornerFisherText1: + text "Gahahaha!" + + para "The coins just" + line "keep popping out!" + + para "Hm? What, kid? You" + line "want to play?" + + para "I'll share my luck" + line "with you!" + done + +CeladonGameCornerFisherText2: + text "Gahahaha!" + + para "It makes me feel" + line "good to do nice" + + para "things for other" + line "people!" + done + +CeladonGameCornerFisherNoCoinCaseText: + text "Hey, you don't" + line "have a COIN CASE." + + para "How am I supposed" + line "to give you any" + cont "coins, kid?" + done + +CeladonGameCornerFisherFullCoinCaseText: + text "Hey, your COIN" + line "CASE is full, kid." + + para "You must be riding" + line "a winning streak" + cont "too." + done + +CeladonGymGuyText: + text "Hey! CHAMP in" + line "making!" + + para "Are you playing" + line "the slots too?" + + para "I'm trying to get" + line "enough coins for a" + cont "prize #MON." + + para "But I don't have" + line "enough coins yet…" + done + +CeladonGameCornerGrampsText: + text "Hmmm… The odds are" + line "surely better for" + + para "PIKACHU's line," + line "but… What to do?" + done + +CeladonGameCornerPoster1Text: + text "Hey!" + + para "Underneath this" + line "poster…" + + para "There's nothing!" + done + +CeladonGameCornerPoster2Text: + text "Hey!" + + para "Underneath this" + line "poster…" + + para "There's nothing!" + done + +CeladonGameCornerLighterText: + text "There's a lighter" + line "here." + done + +CeladonGameCornerSodaCanText: + text "A can of soda…" + + para "Someone must be" + line "coming back…" + + para "Huh? It's empty!" + done + +CeladonGameCorner_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 14, 13, CELADON_CITY, 6 + warp_event 15, 13, CELADON_CITY, 6 + + db 0 ; coord events + + db 38 ; bg events + bg_event 1, 6, BGEVENT_READ, CeladonGameCornerCardFlipScript + bg_event 1, 7, BGEVENT_READ, CeladonGameCornerCardFlipScript + bg_event 1, 8, BGEVENT_READ, CeladonGameCornerCardFlipScript + bg_event 1, 9, BGEVENT_READ, CeladonGameCornerCardFlipScript + bg_event 1, 10, BGEVENT_READ, CeladonGameCornerCardFlipScript + bg_event 1, 11, BGEVENT_LEFT, CeladonGameCornerCardFlipScript + bg_event 6, 6, BGEVENT_READ, CeladonGameCornerCardFlipScript + bg_event 6, 7, BGEVENT_READ, CeladonGameCornerCardFlipScript + bg_event 6, 8, BGEVENT_READ, CeladonGameCornerCardFlipScript + bg_event 6, 9, BGEVENT_READ, CeladonGameCornerSodaCanScript + bg_event 6, 10, BGEVENT_READ, CeladonGameCornerCardFlipScript + bg_event 6, 11, BGEVENT_RIGHT, CeladonGameCornerCardFlipScript + bg_event 7, 6, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 7, 7, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 7, 8, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 7, 9, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 7, 10, BGEVENT_READ, CeladonGameCornerSlotMachineScript + bg_event 7, 11, BGEVENT_LEFT, CeladonGameCornerLuckySlotMachineScript + bg_event 12, 6, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 12, 7, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 12, 8, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 12, 9, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 12, 10, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 12, 11, BGEVENT_RIGHT, CeladonGameCornerLuckySlotMachineScript + bg_event 13, 6, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 13, 7, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 13, 8, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 13, 9, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 13, 10, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 13, 11, BGEVENT_LEFT, CeladonGameCornerLuckySlotMachineScript + bg_event 18, 6, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 18, 7, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 18, 8, BGEVENT_READ, CeladonGameCornerLighterScript + bg_event 18, 9, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 18, 10, BGEVENT_READ, CeladonGameCornerLuckySlotMachineScript + bg_event 18, 11, BGEVENT_RIGHT, CeladonGameCornerLuckySlotMachineScript + bg_event 15, 0, BGEVENT_READ, CeladonGameCornerPoster1Script + bg_event 9, 0, BGEVENT_READ, CeladonGameCornerPoster2Script + + db 9 ; object events + object_event 5, 2, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CeladonGameCornerClerkScript, -1 + object_event 3, 2, SPRITE_RECEPTIONIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CeladonGameCornerReceptionistScript, -1 + object_event 14, 10, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CeladonGameCornerPokefanMScript, -1 + object_event 17, 7, SPRITE_TEACHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CeladonGameCornerTeacherScript, -1 + object_event 11, 7, SPRITE_FISHING_GURU, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CeladonGameCornerFishingGuruScript, -1 + object_event 8, 10, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, DAY, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CeladonGameCornerFisherScript, -1 + object_event 8, 10, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, NITE, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CeladonGameCornerFisherScript, -1 + object_event 11, 3, SPRITE_GYM_GUY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CeladonGymGuyScript, -1 + object_event 2, 8, SPRITE_GRAMPS, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CeladonGameCornerGrampsScript, -1 diff --git a/maps/CeladonGameCornerPrizeRoom.asm b/maps/CeladonGameCornerPrizeRoom.asm new file mode 100644 index 00000000..06211668 --- /dev/null +++ b/maps/CeladonGameCornerPrizeRoom.asm @@ -0,0 +1,279 @@ + const_def 2 ; object constants + const CELADONGAMECORNERPRIZEROOM_GENTLEMAN + const CELADONGAMECORNERPRIZEROOM_PHARMACIST + +CeladonGameCornerPrizeRoom_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonGameCornerPrizeRoomGentlemanScript: + jumptextfaceplayer CeladonGameCornerPrizeRoomGentlemanText + +CeladonGameCornerPrizeRoomPharmacistScript: + jumptextfaceplayer CeladonGameCornerPrizeRoomPharmacistText + +CeladonGameCornerPrizeRoomTMVendor: + faceplayer + opentext + writetext CeladonPrizeRoom_PrizeVendorIntroText + waitbutton + checkitem COIN_CASE + iffalse CeladonPrizeRoom_NoCoinCase + writetext CeladonPrizeRoom_AskWhichPrizeText +CeladonPrizeRoom_tmcounterloop: + special DisplayCoinCaseBalance + loadmenu CeladonPrizeRoom_TMMenuHeader + verticalmenu + closewindow + ifequal 1, .doubleteam + ifequal 2, .psychic + ifequal 3, .hyperbeam + jump CeladonPrizeRoom_cancel + +.doubleteam + checkcoins 1500 + ifequal HAVE_LESS, CeladonPrizeRoom_notenoughcoins + itemtotext TM_DOUBLE_TEAM, MEM_BUFFER_0 + scall CeladonPrizeRoom_askbuy + iffalse CeladonPrizeRoom_cancel + giveitem TM_DOUBLE_TEAM + iffalse CeladonPrizeRoom_notenoughroom + takecoins 1500 + jump CeladonPrizeRoom_purchased + +.psychic + checkcoins 3500 + ifequal HAVE_LESS, CeladonPrizeRoom_notenoughcoins + itemtotext TM_PSYCHIC, MEM_BUFFER_0 + scall CeladonPrizeRoom_askbuy + iffalse CeladonPrizeRoom_cancel + giveitem TM_PSYCHIC + iffalse CeladonPrizeRoom_notenoughroom + takecoins 3500 + jump CeladonPrizeRoom_purchased + +.hyperbeam + checkcoins 7500 + ifequal HAVE_LESS, CeladonPrizeRoom_notenoughcoins + itemtotext TM_HYPER_BEAM, MEM_BUFFER_0 + scall CeladonPrizeRoom_askbuy + iffalse CeladonPrizeRoom_cancel + giveitem TM_HYPER_BEAM + iffalse CeladonPrizeRoom_notenoughroom + takecoins 7500 + jump CeladonPrizeRoom_purchased + +CeladonPrizeRoom_askbuy: + writetext CeladonPrizeRoom_ConfirmPurchaseText + yesorno + end + +CeladonPrizeRoom_purchased: + waitsfx + playsound SFX_TRANSACTION + writetext CeladonPrizeRoom_HereYouGoText + waitbutton + jump CeladonPrizeRoom_tmcounterloop + +CeladonPrizeRoom_notenoughcoins: + writetext CeladonPrizeRoom_NotEnoughCoinsText + waitbutton + closetext + end + +CeladonPrizeRoom_notenoughroom: + writetext CeladonPrizeRoom_NotEnoughRoomText + waitbutton + closetext + end + +CeladonPrizeRoom_cancel: + writetext CeladonPrizeRoom_ComeAgainText + waitbutton + closetext + end + +CeladonPrizeRoom_NoCoinCase: + writetext CeladonPrizeRoom_NoCoinCaseText + waitbutton + closetext + end + +CeladonPrizeRoom_TMMenuHeader: + db MENU_BACKUP_TILES ; flags + menu_coords 0, 2, 15, TEXTBOX_Y - 1 + dw .MenuData + db 1 ; default option + +.MenuData: + db STATICMENU_CURSOR ; flags + db 4 ; items + db "TM32 1500@" + db "TM29 3500@" + db "TM15 7500@" + db "CANCEL@" + +CeladonGameCornerPrizeRoomPokemonVendor: + faceplayer + opentext + writetext CeladonPrizeRoom_PrizeVendorIntroText + waitbutton + checkitem COIN_CASE + iffalse CeladonPrizeRoom_NoCoinCase +.loop + writetext CeladonPrizeRoom_AskWhichPrizeText + special DisplayCoinCaseBalance + loadmenu .MenuHeader + verticalmenu + closewindow + ifequal 1, .mrmime + ifequal 2, .eevee + ifequal 3, .porygon + jump CeladonPrizeRoom_cancel + +.mrmime + checkcoins 3333 + ifequal HAVE_LESS, CeladonPrizeRoom_notenoughcoins + checkcode VAR_PARTYCOUNT + ifequal PARTY_LENGTH, CeladonPrizeRoom_notenoughroom + pokenamemem MR__MIME, MEM_BUFFER_0 + scall CeladonPrizeRoom_askbuy + iffalse CeladonPrizeRoom_cancel + waitsfx + playsound SFX_TRANSACTION + writetext CeladonPrizeRoom_HereYouGoText + waitbutton + writebyte MR__MIME + special GameCornerPrizeMonCheckDex + givepoke MR__MIME, 15 + takecoins 3333 + jump .loop + +.eevee + checkcoins 6666 + ifequal HAVE_LESS, CeladonPrizeRoom_notenoughcoins + checkcode VAR_PARTYCOUNT + ifequal PARTY_LENGTH, CeladonPrizeRoom_notenoughroom + pokenamemem EEVEE, MEM_BUFFER_0 + scall CeladonPrizeRoom_askbuy + iffalse CeladonPrizeRoom_cancel + waitsfx + playsound SFX_TRANSACTION + writetext CeladonPrizeRoom_HereYouGoText + waitbutton + writebyte EEVEE + special GameCornerPrizeMonCheckDex + givepoke EEVEE, 15 + takecoins 6666 + jump .loop + +.porygon + checkcoins 9999 + ifequal HAVE_LESS, CeladonPrizeRoom_notenoughcoins + checkcode VAR_PARTYCOUNT + ifequal PARTY_LENGTH, CeladonPrizeRoom_notenoughroom + pokenamemem PORYGON, MEM_BUFFER_0 + scall CeladonPrizeRoom_askbuy + iffalse CeladonPrizeRoom_cancel + waitsfx + playsound SFX_TRANSACTION + writetext CeladonPrizeRoom_HereYouGoText + waitbutton + writebyte PORYGON + special GameCornerPrizeMonCheckDex + givepoke PORYGON, 20 + takecoins 9999 + jump .loop + +.MenuHeader: + db MENU_BACKUP_TILES ; flags + menu_coords 0, 2, 17, TEXTBOX_Y - 1 + dw .MenuData + db 1 ; default option + +.MenuData: + db STATICMENU_CURSOR ; flags + db 4 ; items + db "MR.MIME 3333@" + db "EEVEE 6666@" + db "PORYGON 9999@" + db "CANCEL@" + +CeladonGameCornerPrizeRoomGentlemanText: + text "I wanted MR.MIME," + line "but I was short by" + cont "100 coins…" + done + +CeladonGameCornerPrizeRoomPharmacistText: + text "Whew…" + + para "I've got to stay" + line "calm and cool…" + + para "I can't lose my" + line "cool, or I'll lose" + cont "all my money…" + done + +CeladonPrizeRoom_PrizeVendorIntroText: + text "Welcome!" + + para "We exchange your" + line "coins for fabulous" + cont "prizes!" + done + +CeladonPrizeRoom_AskWhichPrizeText: + text "Which prize would" + line "you like?" + done + +CeladonPrizeRoom_ConfirmPurchaseText: + text "OK, so you wanted" + line "a @" + text_from_ram wStringBuffer3 + text "?" + done + +CeladonPrizeRoom_HereYouGoText: + text "Here you go!" + done + +CeladonPrizeRoom_NotEnoughCoinsText: + text "You don't have" + line "enough coins." + done + +CeladonPrizeRoom_NotEnoughRoomText: + text "You have no room" + line "for it." + done + +CeladonPrizeRoom_ComeAgainText: + text "Oh. Please come" + line "back with coins!" + done + +CeladonPrizeRoom_NoCoinCaseText: + text "Oh? You don't have" + line "a COIN CASE." + done + +CeladonGameCornerPrizeRoom_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 5, CELADON_CITY, 7 + warp_event 3, 5, CELADON_CITY, 7 + + db 0 ; coord events + + db 2 ; bg events + bg_event 2, 1, BGEVENT_READ, CeladonGameCornerPrizeRoomTMVendor + bg_event 4, 1, BGEVENT_READ, CeladonGameCornerPrizeRoomPokemonVendor + + db 2 ; object events + object_event 0, 2, SPRITE_GENTLEMAN, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CeladonGameCornerPrizeRoomGentlemanScript, -1 + object_event 4, 4, SPRITE_PHARMACIST, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CeladonGameCornerPrizeRoomPharmacistScript, -1 diff --git a/maps/CeladonGym.asm b/maps/CeladonGym.asm new file mode 100644 index 00000000..89e8540a --- /dev/null +++ b/maps/CeladonGym.asm @@ -0,0 +1,292 @@ + const_def 2 ; object constants + const CELADONGYM_ERIKA + const CELADONGYM_LASS1 + const CELADONGYM_LASS2 + const CELADONGYM_BUENA + const CELADONGYM_TWIN1 + const CELADONGYM_TWIN2 + +CeladonGym_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonGymErikaScript: + faceplayer + opentext + checkflag ENGINE_RAINBOWBADGE + iftrue .FightDone + writetext ErikaBeforeBattleText + waitbutton + closetext + winlosstext ErikaBeatenText, 0 + loadtrainer ERIKA, ERIKA1 + startbattle + reloadmapafterbattle + setevent EVENT_BEAT_ERIKA + setevent EVENT_BEAT_LASS_MICHELLE + setevent EVENT_BEAT_PICNICKER_TANYA + setevent EVENT_BEAT_BEAUTY_JULIA + setevent EVENT_BEAT_TWINS_JO_AND_ZOE + opentext + writetext PlayerReceivedRainbowBadgeText + playsound SFX_GET_BADGE + waitsfx + setflag ENGINE_RAINBOWBADGE +.FightDone: + checkevent EVENT_GOT_TM19_GIGA_DRAIN + iftrue .GotGigaDrain + writetext ErikaExplainTMText + buttonsound + verbosegiveitem TM_GIGA_DRAIN + iffalse .GotGigaDrain + setevent EVENT_GOT_TM19_GIGA_DRAIN +.GotGigaDrain: + writetext ErikaAfterBattleText + waitbutton + closetext + end + +TrainerLassMichelle: + trainer LASS, MICHELLE, EVENT_BEAT_LASS_MICHELLE, LassMichelleSeenText, LassMichelleBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext LassMichelleAfterBattleText + waitbutton + closetext + end + +TrainerPicnickerTanya: + trainer PICNICKER, TANYA, EVENT_BEAT_PICNICKER_TANYA, PicnickerTanyaSeenText, PicnickerTanyaBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PicnickerTanyaAfterBattleText + waitbutton + closetext + end + +TrainerBeautyJulia: + trainer BEAUTY, JULIA, EVENT_BEAT_BEAUTY_JULIA, BeautyJuliaSeenText, BeautyJuliaBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext BeautyJuliaAfterBattleText + waitbutton + closetext + end + +TrainerTwinsJoAndZoe1: + trainer TWINS, JOANDZOE1, EVENT_BEAT_TWINS_JO_AND_ZOE, TwinsJoAndZoe1SeenText, TwinsJoAndZoe1BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext TwinsJoAndZoe1AfterBattleText + waitbutton + closetext + end + +TrainerTwinsJoAndZoe2: + trainer TWINS, JOANDZOE2, EVENT_BEAT_TWINS_JO_AND_ZOE, TwinsJoAndZoe2SeenText, TwinsJoAndZoe2BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext TwinsJoAndZoe2AfterBattleText + waitbutton + closetext + end + +CeladonGymStatue: + checkflag ENGINE_RAINBOWBADGE + iftrue .Beaten + jumpstd gymstatue1 +.Beaten: + trainertotext ERIKA, ERIKA1, MEM_BUFFER_1 + jumpstd gymstatue2 + +ErikaBeforeBattleText: + text "ERIKA: Hello…" + line "Lovely weather," + + para "isn't it?" + line "It's so pleasant…" + + para "…I'm afraid I may" + line "doze off…" + + para "My name is ERIKA." + line "I am the LEADER of" + cont "CELADON GYM." + + para "…Oh? All the way" + line "from JOHTO, you" + cont "say? How nice…" + + para "Oh. I'm sorry, I" + line "didn't realize" + + para "that you wished to" + line "challenge me." + + para "Very well, but I" + line "shall not lose." + done + +ErikaBeatenText: + text "ERIKA: Oh!" + line "I concede defeat…" + + para "You are remarkably" + line "strong…" + + para "I shall give you" + line "RAINBOWBADGE…" + done + +PlayerReceivedRainbowBadgeText: + text "<PLAYER> received" + line "RAINBOWBADGE." + done + +ErikaExplainTMText: + text "ERIKA: That was a" + line "delightful match." + + para "I felt inspired." + line "Please, I wish you" + cont "to have this TM." + + para "It is GIGA DRAIN." + + para "It is a wonderful" + line "move that drains" + + para "half the damage it" + line "inflicts to heal" + cont "your #MON." + + para "Please use it if" + line "it pleases you…" + done + +ErikaAfterBattleText: + text "ERIKA: Losing" + line "leaves a bitter" + cont "aftertaste…" + + para "But knowing that" + line "there are strong" + + para "trainers spurs me" + line "to do better…" + done + +LassMichelleSeenText: + text "Wait! Only girls" + line "are allowed here!" + done + +LassMichelleBeatenText: + text "Oh, bleah!" + done + +LassMichelleAfterBattleText: + text "We don't dislike" + line "boys or anything." + + para "But there are" + line "certain subjects" + + para "that only girls" + line "can talk about." + done + +PicnickerTanyaSeenText: + text "Oh, a battle?" + line "That's kind of" + cont "scary, but OK!" + done + +PicnickerTanyaBeatenText: + text "Oh, that's it?" + done + +PicnickerTanyaAfterBattleText: + text "Oh, look at all" + line "your BADGES. No" + + para "wonder I couldn't" + line "win!" + done + +BeautyJuliaSeenText: + text "Were you looking" + line "at these flowers" + cont "or at me?" + done + +BeautyJuliaBeatenText: + text "How annoying!" + done + +BeautyJuliaAfterBattleText: + text "How do I go about" + line "becoming ladylike" + cont "like ERIKA?" + done + +TwinsJoAndZoe1SeenText: + text "We'll show you" + line "#MON moves that" + cont "ERIKA taught us!" + done + +TwinsJoAndZoe1BeatenText: + text "Oh… We lost…" + done + +TwinsJoAndZoe1AfterBattleText: + text "ERIKA will get you" + line "back for us!" + done + +TwinsJoAndZoe2SeenText: + text "We're going to" + line "protect ERIKA!" + done + +TwinsJoAndZoe2BeatenText: + text "We couldn't win…" + done + +TwinsJoAndZoe2AfterBattleText: + text "ERIKA is much," + line "much stronger!" + done + +CeladonGym_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 4, 17, CELADON_CITY, 8 + warp_event 5, 17, CELADON_CITY, 8 + + db 0 ; coord events + + db 2 ; bg events + bg_event 3, 15, BGEVENT_READ, CeladonGymStatue + bg_event 6, 15, BGEVENT_READ, CeladonGymStatue + + db 6 ; object events + object_event 5, 3, SPRITE_ERIKA, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CeladonGymErikaScript, -1 + object_event 7, 8, SPRITE_LASS, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerLassMichelle, -1 + object_event 2, 8, SPRITE_LASS, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 2, TrainerPicnickerTanya, -1 + object_event 3, 5, SPRITE_BUENA, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerBeautyJulia, -1 + object_event 4, 10, SPRITE_TWIN, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerTwinsJoAndZoe1, -1 + object_event 5, 10, SPRITE_TWIN, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerTwinsJoAndZoe2, -1 diff --git a/maps/CeladonMansion1F.asm b/maps/CeladonMansion1F.asm new file mode 100644 index 00000000..0494249e --- /dev/null +++ b/maps/CeladonMansion1F.asm @@ -0,0 +1,96 @@ + const_def 2 ; object constants + const CELADONMANSION1F_GRANNY + const CELADONMANSION1F_GROWLITHE1 + const CELADONMANSION1F_CLEFAIRY + const CELADONMANSION1F_GROWLITHE2 + +CeladonMansion1F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonMansionManager: + jumptextfaceplayer CeladonMansionManagerText + +CeladonMansion1FMeowth: + opentext + writetext CeladonMansion1FMeowthText + cry MEOWTH + waitbutton + closetext + end + +CeladonMansion1FClefairy: + opentext + writetext CeladonMansion1FClefairyText + cry CLEFAIRY + waitbutton + closetext + end + +CeladonMansion1FNidoranF: + opentext + writetext CeladonMansion1FNidoranFText + cry NIDORAN_F + waitbutton + closetext + end + +CeladonMansionManagersSuiteSign: + jumptext CeladonMansionManagersSuiteSignText + +CeladonMansion1FBookshelf: + jumpstd picturebookshelf + +CeladonMansionManagerText: + text "My dear #MON" + line "keep me company," + + para "so I don't ever" + line "feel lonely." + + para "MEOWTH even brings" + line "money home." + done + +CeladonMansion1FMeowthText: + text "MEOWTH: Meow!" + done + +CeladonMansion1FClefairyText: + text "CLEFAIRY: Clef" + line "cleff!" + done + +CeladonMansion1FNidoranFText: + text "NIDORAN: Kya" + line "kyaoo!" + done + +CeladonMansionManagersSuiteSignText: + text "CELADON MANSION" + line "MANAGER'S SUITE" + done + +CeladonMansion1F_MapEvents: + db 0, 0 ; filler + + db 5 ; warp events + warp_event 6, 9, CELADON_CITY, 2 + warp_event 7, 9, CELADON_CITY, 2 + warp_event 3, 0, CELADON_CITY, 3 + warp_event 0, 0, CELADON_MANSION_2F, 1 + warp_event 7, 0, CELADON_MANSION_2F, 4 + + db 0 ; coord events + + db 3 ; bg events + bg_event 5, 8, BGEVENT_UP, CeladonMansionManagersSuiteSign + bg_event 0, 3, BGEVENT_READ, CeladonMansion1FBookshelf + bg_event 2, 3, BGEVENT_READ, CeladonMansion1FBookshelf + + db 4 ; object events + object_event 1, 5, SPRITE_GRANNY, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CeladonMansionManager, -1 + object_event 2, 6, SPRITE_GROWLITHE, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CeladonMansion1FMeowth, -1 + object_event 3, 4, SPRITE_CLEFAIRY, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CeladonMansion1FClefairy, -1 + object_event 4, 4, SPRITE_GROWLITHE, SPRITEMOVEDATA_POKEMON, 2, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CeladonMansion1FNidoranF, -1 diff --git a/maps/CeladonMansion2F.asm b/maps/CeladonMansion2F.asm new file mode 100644 index 00000000..316a16f2 --- /dev/null +++ b/maps/CeladonMansion2F.asm @@ -0,0 +1,66 @@ +CeladonMansion2F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonMansion2FComputer: + jumptext CeladonMansion2FComputerText + +CeladonMansion2FMeetingRoomSign: + jumptext CeladonMansion2FMeetingRoomSignText + +CeladonMansion2FBookshelf: + jumpstd difficultbookshelf + +CeladonMansion2FComputerText: + text "<PLAYER> turned on" + line "the PC." + + para "…" + + para "Someone was in the" + line "middle of compos-" + cont "ing an e-mail." + + para "…I hope you'll" + line "come visit KANTO." + + para "I think you'll be" + line "surprised at how" + + para "much things have" + line "changed here." + + para "You'll also see" + line "many #MON that" + + para "aren't native to" + line "JOHTO." + + para "To the PRODUCER" + + para "…" + done + +CeladonMansion2FMeetingRoomSignText: + text "GAME FREAK" + line "MEETING ROOM" + done + +CeladonMansion2F_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 0, 0, CELADON_MANSION_1F, 4 + warp_event 1, 0, CELADON_MANSION_3F, 2 + warp_event 6, 0, CELADON_MANSION_3F, 3 + warp_event 7, 0, CELADON_MANSION_1F, 5 + + db 0 ; coord events + + db 3 ; bg events + bg_event 0, 3, BGEVENT_READ, CeladonMansion2FComputer + bg_event 5, 8, BGEVENT_UP, CeladonMansion2FMeetingRoomSign + bg_event 2, 3, BGEVENT_READ, CeladonMansion2FBookshelf + + db 0 ; object events diff --git a/maps/CeladonMansion3F.asm b/maps/CeladonMansion3F.asm new file mode 100644 index 00000000..29f04309 --- /dev/null +++ b/maps/CeladonMansion3F.asm @@ -0,0 +1,212 @@ + const_def 2 ; object constants + const CELADONMANSION3F_COOLTRAINER_M + const CELADONMANSION3F_GYM_GUY + const CELADONMANSION3F_SUPER_NERD + const CELADONMANSION3F_FISHER + +CeladonMansion3F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +GameFreakGameDesignerScript: + faceplayer + opentext + writetext GameFreakGameDesignerText + checkcode VAR_DEXCAUGHT + ifgreater NUM_POKEMON - 2 - 1, .CompletedPokedex ; ignore Mew and Celebi + waitbutton + closetext + end + +.CompletedPokedex: + buttonsound + writetext GameFreakGameDesignerCompletedPokedexText + playsound SFX_DEX_FANFARE_230_PLUS + waitsfx + writetext GameFreakGameDesignerPauseForDiplomaText + buttonsound + special Diploma + writetext GameFreakGameDesignerAfterDiplomaText + waitbutton + closetext + setevent EVENT_ENABLE_DIPLOMA_PRINTING + end + +GameFreakGraphicArtistScript: + faceplayer + opentext + checkevent EVENT_ENABLE_DIPLOMA_PRINTING + iftrue .CanPrintDiploma + writetext GameFreakGraphicArtistText + waitbutton + closetext + end + +.CanPrintDiploma: + writetext GameFreakGraphicArtistPrintDiplomaText + yesorno + iffalse .Refused + special PrintDiploma + closetext + end + +.Refused: + writetext GameFreakGraphicArtistRefusedText + waitbutton + closetext + end + +.CancelPrinting: +; unused + writetext GameFreakGraphicArtistErrorText + waitbutton + closetext + end + +GameFreakProgrammerScript: + jumptextfaceplayer GameFreakProgrammerText + +GameFreakCharacterDesignerScript: + jumptextfaceplayer GameFreakCharacterDesignerText + +CeladonMansion3FDevRoomSign: + jumptext CeladonMansion3FDevRoomSignText + +CeladonMansion3FDrawing: + jumptext CeladonMansion3FDrawingText + +CeladonMansion3FGameProgram: + jumptext CeladonMansion3FGameProgramText + +CeladonMansion3FReferenceMaterial: + jumptext CeladonMansion3FReferenceMaterialText + +GameFreakGameDesignerText: + text "Is that right?" + + para "I'm the GAME" + line "DESIGNER!" + + para "Filling up your" + line "#DEX is tough," + cont "but don't give up!" + done + +GameFreakGameDesignerCompletedPokedexText: + text "Wow! Excellent!" + line "You completed your" + cont "#DEX!" + + para "Congratulations!" + done + +GameFreakGameDesignerPauseForDiplomaText: + text "…" + done + +GameFreakGameDesignerAfterDiplomaText: + text "The GRAPHIC ARTIST" + line "will print out a" + cont "DIPLOMA for you." + + para "You should go show" + line "it off." + done + +GameFreakGraphicArtistText: + text "I'm the GRAPHIC" + line "ARTIST." + + para "I drew you!" + done + +GameFreakGraphicArtistPrintDiplomaText: + text "I'm the GRAPHIC" + line "ARTIST." + + para "Oh, you completed" + line "your #DEX?" + + para "Want me to print" + line "out your DIPLOMA?" + done + +GameFreakGraphicArtistRefusedText: + text "Give me a shout if" + line "you want your" + cont "DIPLOMA printed." + done + +GameFreakGraphicArtistErrorText: + text "Something's wrong." + line "I'll have to can-" + cont "cel printing." + done + +GameFreakProgrammerText: + text "Who, me? I'm the" + line "PROGRAMMER." + + para "Play the slot" + line "machines!" + done + +GameFreakCharacterDesignerText: + text "Aren't the TWINS" + line "adorable?" + + para "JASMINE's pretty" + line "too." + + para "Oh, I love them!" + done + +CeladonMansion3FDevRoomSignText: + text "GAME FREAK" + line "DEVELOPMENT ROOM" + done + +CeladonMansion3FDrawingText: + text "It's a detailed" + line "drawing of a" + cont "pretty girl." + done + +CeladonMansion3FGameProgramText: + text "It's the game" + line "program. Messing" + + para "with it could put" + line "a bug in the game!" + done + +CeladonMansion3FReferenceMaterialText: + text "It's crammed with" + line "reference materi-" + cont "als. There's even" + cont "a # DOLL." + done + +CeladonMansion3F_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 0, 0, CELADON_MANSION_ROOF, 1 + warp_event 1, 0, CELADON_MANSION_2F, 2 + warp_event 6, 0, CELADON_MANSION_2F, 3 + warp_event 7, 0, CELADON_MANSION_ROOF, 2 + + db 0 ; coord events + + db 4 ; bg events + bg_event 5, 8, BGEVENT_UP, CeladonMansion3FDevRoomSign + bg_event 4, 3, BGEVENT_UP, CeladonMansion3FDrawing + bg_event 1, 6, BGEVENT_UP, CeladonMansion3FGameProgram + bg_event 1, 3, BGEVENT_UP, CeladonMansion3FReferenceMaterial + + db 4 ; object events + object_event 3, 6, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GameFreakGameDesignerScript, -1 + object_event 3, 4, SPRITE_GYM_GUY, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, GameFreakGraphicArtistScript, -1 + object_event 0, 7, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, GameFreakProgrammerScript, -1 + object_event 0, 4, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_UP, 2, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GameFreakCharacterDesignerScript, -1 diff --git a/maps/CeladonMansionRoof.asm b/maps/CeladonMansionRoof.asm new file mode 100644 index 00000000..cd1afe33 --- /dev/null +++ b/maps/CeladonMansionRoof.asm @@ -0,0 +1,28 @@ + const_def 2 ; object constants + const CELADONMANSIONROOF_FISHER + +CeladonMansionRoof_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonMansionRoofGraffiti: + jumptext CeladonMansionRoofGraffitiText + +CeladonMansionRoofGraffitiText: + text "I KNOW EVERYTHING!" + done + +CeladonMansionRoof_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 1, 1, CELADON_MANSION_3F, 1 + warp_event 6, 1, CELADON_MANSION_3F, 4 + warp_event 2, 5, CELADON_MANSION_ROOF_HOUSE, 1 + + db 0 ; coord events + + db 0 ; bg events + + db 0 ; object events diff --git a/maps/CeladonMansionRoofHouse.asm b/maps/CeladonMansionRoofHouse.asm new file mode 100644 index 00000000..31bda62b --- /dev/null +++ b/maps/CeladonMansionRoofHouse.asm @@ -0,0 +1,129 @@ + const_def 2 ; object constants + const CELADONMANSIONROOFHOUSE_PHARMACIST + +CeladonMansionRoofHouse_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonMansionRoofHousePharmacistScript: + faceplayer + opentext + checkevent EVENT_GOT_TM03_CURSE + iftrue .GotCurse + writetext CeladonMansionRoofHousePharmacistIntroText + buttonsound + checktime NITE + iftrue .Night + writetext CeladonMansionRoofHousePharmacistNotNightText + waitbutton + closetext + end + +.Night: + writetext CeladonMansionRoofHousePharmacistStoryText + buttonsound + verbosegiveitem TM_CURSE + iffalse .NoRoom + setevent EVENT_GOT_TM03_CURSE +.GotCurse: + writetext CeladonMansionRoofHousePharmacistCurseText + waitbutton +.NoRoom: + closetext + end + +CeladonMansionRoofHousePharmacistIntroText: + text "Let me recount a" + line "terrifying tale…" + done + +CeladonMansionRoofHousePharmacistNotNightText: + text "Then again, it's" + line "not as scary while" + + para "it's still light" + line "outside." + + para "Come back after" + line "sunset, OK?" + done + +CeladonMansionRoofHousePharmacistStoryText: + text "Once upon a time," + line "there was a little" + + para "boy who was given" + line "a new BICYCLE…" + + para "He wanted to try" + line "it right away…" + + para "He was having so" + line "much fun that he" + + para "didn't notice the" + line "sun had set…" + + para "While riding home" + line "in the pitch-black" + + para "night, the bike" + line "suddenly slowed!" + + para "The pedals became" + line "heavy!" + + para "When he stopped" + line "pedaling, the bike" + + para "began slipping" + line "backwards!" + + para "It was as if the" + line "bike were cursed" + + para "and trying to drag" + line "him into oblivion!" + + para "…" + + para "…" + + para "SHRIEEEEK!" + + para "The boy had been" + line "riding uphill on" + cont "CYCLING ROAD!" + + para "…" + line "Ba-dum ba-dum!" + + para "For listening so" + line "patiently, you may" + cont "take this--TM03!" + done + +CeladonMansionRoofHousePharmacistCurseText: + text "TM03 is CURSE." + + para "It's a terrifying" + line "move that slowly" + + para "whittles down the" + line "victim's HP." + done + +CeladonMansionRoofHouse_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, CELADON_MANSION_ROOF, 3 + warp_event 3, 7, CELADON_MANSION_ROOF, 3 + + db 0 ; coord events + + db 0 ; bg events + + db 1 ; object events + object_event 3, 2, SPRITE_PHARMACIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 2, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CeladonMansionRoofHousePharmacistScript, -1 diff --git a/maps/CeladonPokecenter1F.asm b/maps/CeladonPokecenter1F.asm new file mode 100644 index 00000000..297a4564 --- /dev/null +++ b/maps/CeladonPokecenter1F.asm @@ -0,0 +1,60 @@ + const_def 2 ; object constants + const CELADONPOKECENTER1F_NURSE + const CELADONPOKECENTER1F_GENTLEMAN + const CELADONPOKECENTER1F_PHARMACIST + const CELADONPOKECENTER1F_COOLTRAINER_F + +CeladonPokecenter1F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonPokecenter1FNurseScript: + jumpstd pokecenternurse + +CeladonPokecenter1FGentlemanScript: + jumpstd happinesschecknpc + +CeladonPokecenter1FCooltrainerFScript: + jumptextfaceplayer CeladonPokecenter1FCooltrainerFText + +CeladonPokecenter1FPharmacistScript: + jumptextfaceplayer CeladonPokecenter1FPharmacistText + +CeladonPokecenter1FCooltrainerFText: + text "ERIKA is a master" + line "of grass #MON." + + para "She'll make you" + line "pay if you don't" + cont "watch yourself." + done + +CeladonPokecenter1FPharmacistText: + text "TEAM ROCKET's" + line "hideout is in the" + + para "basement of the" + line "GAME CORNER." + + para "Oh, wait. That was" + line "three years ago." + done + +CeladonPokecenter1F_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 3, 7, CELADON_CITY, 5 + warp_event 4, 7, CELADON_CITY, 5 + warp_event 0, 7, POKECENTER_2F, 1 + + db 0 ; coord events + + db 0 ; bg events + + db 4 ; object events + object_event 3, 1, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CeladonPokecenter1FNurseScript, -1 + object_event 1, 5, SPRITE_GENTLEMAN, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CeladonPokecenter1FGentlemanScript, -1 + object_event 6, 1, SPRITE_PHARMACIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CeladonPokecenter1FPharmacistScript, -1 + object_event 6, 5, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CeladonPokecenter1FCooltrainerFScript, -1 diff --git a/maps/CeladonPokecenter2FBeta.asm b/maps/CeladonPokecenter2FBeta.asm new file mode 100644 index 00000000..aec47810 --- /dev/null +++ b/maps/CeladonPokecenter2FBeta.asm @@ -0,0 +1,16 @@ +CeladonPokecenter2FBeta_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CeladonPokecenter2FBeta_MapEvents: + db 0, 0 ; filler + + db 1 ; warp events + warp_event 0, 7, CELADON_POKECENTER_1F, 3 + + db 0 ; coord events + + db 0 ; bg events + + db 0 ; object events diff --git a/maps/Route16FuchsiaSpeechHouse.asm b/maps/Route16FuchsiaSpeechHouse.asm new file mode 100644 index 00000000..53af80d3 --- /dev/null +++ b/maps/Route16FuchsiaSpeechHouse.asm @@ -0,0 +1,37 @@ + const_def 2 ; object constants + const ROUTE16FUCHSIASPEECHHOUSE_SUPER_NERD + +Route16FuchsiaSpeechHouse_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +Route16FuchsiaSpeechHouseSuperNerdScript: + jumptextfaceplayer Route16FuchsiaSpeechHouseSuperNerdText + +Route16FuchsiaSpeechHouseBookshelf: + jumpstd picturebookshelf + +Route16FuchsiaSpeechHouseSuperNerdText: + text "If you cruise down" + line "CYCLING ROAD, you" + + para "will end up in" + line "FUCHSIA CITY." + done + +Route16FuchsiaSpeechHouse_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, ROUTE_16, 1 + warp_event 3, 7, ROUTE_16, 1 + + db 0 ; coord events + + db 2 ; bg events + bg_event 0, 1, BGEVENT_READ, Route16FuchsiaSpeechHouseBookshelf + bg_event 1, 1, BGEVENT_READ, Route16FuchsiaSpeechHouseBookshelf + + db 1 ; object events + object_event 2, 3, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route16FuchsiaSpeechHouseSuperNerdScript, -1 diff --git a/maps/Route16Gate.asm b/maps/Route16Gate.asm new file mode 100644 index 00000000..fb135e1b --- /dev/null +++ b/maps/Route16Gate.asm @@ -0,0 +1,77 @@ + const_def 2 ; object constants + const ROUTE16GATE_OFFICER + +Route16Gate_MapScripts: + db 1 ; scene scripts + scene_script .DummyScene ; SCENE_DEFAULT + + db 0 ; callbacks + +.DummyScene: + end + +Route16GateOfficerScript: + jumptextfaceplayer Route16GateOfficerText + +Route16GateBicycleCheck: + checkitem BICYCLE + iffalse .NoBicycle + end + +.NoBicycle: + showemote EMOTE_SHOCK, ROUTE16GATE_OFFICER, 15 + turnobject PLAYER, UP + opentext + writetext Route16GateCannotPassText + waitbutton + closetext + applymovement PLAYER, Route16GateCannotPassMovement + end + +Route16GateCannotPassMovement: + step RIGHT + turn_head LEFT + step_end + +Route16GateOfficerText: + text "CYCLING ROAD" + line "starts here." + + para "It's all downhill," + line "so it's totally" + cont "exhilarating." + + para "It's a great sort" + line "of feeling that" + + para "you can't get from" + line "a ship or train." + done + +Route16GateCannotPassText: + text "Hey! Whoa! Stop!" + + para "You can't go out" + line "on the CYCLING" + + para "ROAD without a" + line "BICYCLE." + done + +Route16Gate_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 0, 4, ROUTE_16, 4 + warp_event 0, 5, ROUTE_16, 5 + warp_event 9, 4, ROUTE_16, 2 + warp_event 9, 5, ROUTE_16, 3 + + db 2 ; coord events + coord_event 5, 4, SCENE_DEFAULT, Route16GateBicycleCheck + coord_event 5, 5, SCENE_DEFAULT, Route16GateBicycleCheck + + db 0 ; bg events + + db 1 ; object events + object_event 5, 2, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Route16GateOfficerScript, -1 diff --git a/maps/Route17Route18Gate.asm b/maps/Route17Route18Gate.asm new file mode 100644 index 00000000..0e434a71 --- /dev/null +++ b/maps/Route17Route18Gate.asm @@ -0,0 +1,68 @@ + const_def 2 ; object constants + const ROUTE17ROUTE18GATE_OFFICER + +Route17Route18Gate_MapScripts: + db 1 ; scene scripts + scene_script .DummyScene ; SCENE_DEFAULT + + db 0 ; callbacks + +.DummyScene: + end + +Route17Route18GateOfficerScript: + jumptextfaceplayer Route17Route18GateOfficerText + +Route17Route18GateBicycleCheck: + checkitem BICYCLE + iffalse .NoBicycle + end + +.NoBicycle: + showemote EMOTE_SHOCK, ROUTE17ROUTE18GATE_OFFICER, 15 + turnobject PLAYER, UP + opentext + writetext Route17Route18GateCannotPassText + waitbutton + closetext + applymovement PLAYER, Route17Route18GateCannotPassMovement + end + +Route17Route18GateCannotPassMovement: + step RIGHT + turn_head LEFT + step_end + +Route17Route18GateOfficerText: + text "CYCLING ROAD" + line "Uphill Starts Here" + done + +Route17Route18GateCannotPassText: + text "Hang on! Don't you" + line "have a BICYCLE?" + + para "The CYCLING ROAD" + line "is beyond here." + + para "You have to have a" + line "BICYCLE to go on." + done + +Route17Route18Gate_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 0, 4, ROUTE_17, 1 + warp_event 0, 5, ROUTE_17, 2 + warp_event 9, 4, ROUTE_18, 1 + warp_event 9, 5, ROUTE_18, 2 + + db 2 ; coord events + coord_event 5, 4, SCENE_DEFAULT, Route17Route18GateBicycleCheck + coord_event 5, 5, SCENE_DEFAULT, Route17Route18GateBicycleCheck + + db 0 ; bg events + + db 1 ; object events + object_event 5, 2, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Route17Route18GateOfficerScript, -1 diff --git a/maps/Route7SaffronGate.asm b/maps/Route7SaffronGate.asm new file mode 100644 index 00000000..67a8c681 --- /dev/null +++ b/maps/Route7SaffronGate.asm @@ -0,0 +1,60 @@ + const_def 2 ; object constants + const ROUTE7SAFFRONGATE_OFFICER + +Route7SaffronGate_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +Route7SaffronGuardScript: + faceplayer + opentext + checkevent EVENT_RETURNED_MACHINE_PART + iftrue .ReturnedPart + writetext Route7SaffronGuardPowerPlantText + waitbutton + closetext + end + +.ReturnedPart: + writetext Route7SaffronGuardSeriousText + waitbutton + closetext + end + +Route7SaffronGuardPowerPlantText: + text "Did you hear about" + line "the accident at" + cont "the POWER PLANT?" + + para "It's located in" + line "the East, close to" + cont "LAVENDER TOWN." + done + +Route7SaffronGuardSeriousText: + text "I take my GUARD" + line "job seriously." + + para "Hey! You have a" + line "#DEX." + + para "OK. You can go" + line "through." + done + +Route7SaffronGate_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 0, 4, ROUTE_7, 1 + warp_event 0, 5, ROUTE_7, 2 + warp_event 9, 4, SAFFRON_CITY, 10 + warp_event 9, 5, SAFFRON_CITY, 11 + + db 0 ; coord events + + db 0 ; bg events + + db 1 ; object events + object_event 5, 2, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Route7SaffronGuardScript, -1 |