diff options
-rw-r--r-- | constants/map_constants.asm | 3 | ||||
-rwxr-xr-x | engine/specials.asm | 14 | ||||
-rw-r--r-- | main.asm | 24 | ||||
-rw-r--r-- | maps/CopycatsHouse1F.asm | 88 | ||||
-rw-r--r-- | maps/CopycatsHouse2F.asm | 261 | ||||
-rw-r--r-- | maps/FightingDojo.asm | 58 | ||||
-rw-r--r-- | maps/MrPsychicsHouse.asm | 63 | ||||
-rw-r--r-- | maps/Route5CleanseTagHouse.asm | 76 | ||||
-rw-r--r-- | maps/Route5SaffronGate.asm | 35 | ||||
-rw-r--r-- | maps/Route5UndergroundPathEntrance.asm | 33 | ||||
-rw-r--r-- | maps/SaffronGym.asm | 339 | ||||
-rw-r--r-- | maps/SaffronMagnetTrainStation.asm | 228 | ||||
-rw-r--r-- | maps/SaffronMart.asm | 52 | ||||
-rw-r--r-- | maps/SaffronPokecenter1F.asm | 95 | ||||
-rw-r--r-- | maps/SaffronPokecenter2FBeta.asm | 16 | ||||
-rw-r--r-- | maps/SilphCo1F.asm | 69 |
16 files changed, 1439 insertions, 15 deletions
diff --git a/constants/map_constants.asm b/constants/map_constants.asm index a893bad9..8662cea0 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -130,11 +130,10 @@ ENDM map_const DARK_CAVE_BLACKTHORN_ENTRANCE, 18, 15 ; 79 map_const DRAGONS_DEN_1F, 9, 5 ; 80 map_const DRAGONS_DEN_B1F, 18, 20 ; 81 - map_const DRAGON_SHRINE, 5, 5 ; 82 map_const TOHJO_FALLS, 9, 15 ; 83 map_const DIGLETTS_CAVE, 18, 10 ; 84 map_const MOUNT_MOON, 9, 15 ; 85 - map_const UNDERGROUND, 14, 3 ; 86 + map_const UNDERGROUND_PATH, 14, 3 ; 86 map_const ROCK_TUNNEL_1F, 18, 15 ; 87 map_const ROCK_TUNNEL_B1F, 18, 15 ; 88 map_const SAFARI_ZONE_FUCHSIA_GATE_BETA, 4, 5 ; 89 diff --git a/engine/specials.asm b/engine/specials.asm index a715778e..29b6eba9 100755 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -120,12 +120,12 @@ SpecialsPointers: add_special DisplayLinkRecord add_special GetFirstPokemonHappiness add_special CheckFirstMonIsEgg - add_special Function2a9f7 - add_special Function2aa6b - add_special Function2aab3 - add_special Function14226 - add_special Functionfb94b - add_special Functionc5d6 + add_special RandomUnseenWildMon + add_special RandomPhoneWildMon + add_special RandomPhoneMon + add_special LoadUsedSpritesGFX + add_special PlaySlowCry + add_special SnorlaxAwake add_special YoungerHaircutBrother add_special OlderHaircutBrother add_special DaisysGrooming @@ -479,7 +479,7 @@ SelectApricornForKurt: ; c5bb (3:45bb) call TossItem ret -Functionc5d6: ; c5d6 (3:45d6) +SnorlaxAwake: ; c5d6 (3:45d6) ld a, [wChannelsEnd] cp $40 jr nz, .asm_c5fb @@ -684,7 +684,7 @@ Function1415c:: ; 1415c dr $1415c, $1416d Function1416d:: ; 1416d dr $1416d, $14226 -Function14226: +LoadUsedSpritesGFX: dr $14226, $14317 DoesSpriteHaveFacings_:: ; 14317 dr $14317, $14334 @@ -848,11 +848,11 @@ InitRoamMons: dr $2a7d7, $2a8e0 JumpRoamMons: dr $2a8e0, $2a9f7 -Function2a9f7: +RandomUnseenWildMon: dr $2a9f7, $2aa6b -Function2aa6b: +RandomPhoneWildMon: dr $2aa6b, $2aab3 -Function2aab3: +RandomPhoneMon: dr $2aab3, $2c000 SECTION "bankb", ROMX, BANK[$b] @@ -1494,7 +1494,7 @@ Shrink2Pic: dr $fb64e, $fb7f7 Functionfb7f7: dr $fb7f7, $fb94b -Functionfb94b: +PlaySlowCry: dr $fb94b, $fb981 NewPokedexEntry: dr $fb981, $fba12 @@ -1649,7 +1649,19 @@ SECTION "bank60", ROMX, BANK[$60] dr $180000, $184000 SECTION "bank61", ROMX, BANK[$61] - dr $184000, $188000 +INCLUDE "maps/FightingDojo.asm" +INCLUDE "maps/SaffronGym.asm" +INCLUDE "maps/SaffronMart.asm" +INCLUDE "maps/SaffronPokecenter1F.asm" +INCLUDE "maps/SaffronPokecenter2FBeta.asm" +INCLUDE "maps/MrPsychicsHouse.asm" +INCLUDE "maps/SaffronMagnetTrainStation.asm" +INCLUDE "maps/SilphCo1F.asm" +INCLUDE "maps/CopycatsHouse1F.asm" +INCLUDE "maps/CopycatsHouse2F.asm" +INCLUDE "maps/Route5UndergroundPathEntrance.asm" +INCLUDE "maps/Route5SaffronGate.asm" +INCLUDE "maps/Route5CleanseTagHouse.asm" SECTION "bank62", ROMX, BANK[$62] dr $188000, $18c000 diff --git a/maps/CopycatsHouse1F.asm b/maps/CopycatsHouse1F.asm new file mode 100644 index 00000000..f35fa487 --- /dev/null +++ b/maps/CopycatsHouse1F.asm @@ -0,0 +1,88 @@ + const_def 2 ; object constants + const COPYCATSHOUSE1F_POKEFAN_M + const COPYCATSHOUSE1F_POKEFAN_F + const COPYCATSHOUSE1F_CLEFAIRY + +CopycatsHouse1F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CopycatsHouse1FPokefanMScript: + jumptextfaceplayer CopycatsHouse1FPokefanMText + +CopycatsHouse1FPokefanFScript: + faceplayer + opentext + checkevent EVENT_RETURNED_MACHINE_PART + iftrue .ReturnedMachinePart + writetext CopycatsHouse1FPokefanFText + waitbutton + closetext + end + +.ReturnedMachinePart: + writetext CopycatsHouse1FPokefanFText_ReturnedMachinePart + waitbutton + closetext + end + +CopycatsHouse1FBlisseyScript: + opentext + writetext CopycatsHouse1FBlisseyText + cry BLISSEY + waitbutton + closetext + end + +CopycatsHouse1FPokefanMText: + text "My daughter likes" + line "to mimic people." + + para "Her mimicry has" + line "earned her the" + + para "nickname COPYCAT" + line "around here." + done + +CopycatsHouse1FPokefanFText: + text "My daughter is so" + line "self-centered…" + + para "She only has a few" + line "friends." + done + +CopycatsHouse1FPokefanFText_ReturnedMachinePart: + text "She recently lost" + line "the # DOLL that" + + para "a boy gave her" + line "three years ago." + + para "Ever since then," + line "she's gotten even" + cont "better at mimicry…" + done + +CopycatsHouse1FBlisseyText: + text "BLISSEY: Bliisii!" + done + +CopycatsHouse1F_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 2, 7, SAFFRON_CITY, 8 + warp_event 3, 7, SAFFRON_CITY, 8 + warp_event 2, 0, COPYCATS_HOUSE_2F, 1 + + db 0 ; coord events + + db 0 ; bg events + + db 3 ; object events + object_event 2, 3, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CopycatsHouse1FPokefanMScript, -1 + object_event 5, 4, SPRITE_POKEFAN_F, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CopycatsHouse1FPokefanFScript, -1 + object_event 6, 6, SPRITE_CLEFAIRY, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CopycatsHouse1FBlisseyScript, -1 diff --git a/maps/CopycatsHouse2F.asm b/maps/CopycatsHouse2F.asm new file mode 100644 index 00000000..7127cdd8 --- /dev/null +++ b/maps/CopycatsHouse2F.asm @@ -0,0 +1,261 @@ + const_def 2 ; object constants + const COPYCATSHOUSE2F_COPYCAT + const COPYCATSHOUSE2F_DODRIO + const COPYCATSHOUSE2F_FAIRYDOLL ; lost item + const COPYCATSHOUSE2F_MONSTERDOLL + const COPYCATSHOUSE2F_BIRDDOLL + +CopycatsHouse2F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +Copycat: + faceplayer + checkevent EVENT_GOT_PASS_FROM_COPYCAT + iftrue .GotPass + checkevent EVENT_RETURNED_LOST_ITEM_TO_COPYCAT + iftrue .TryGivePassAgain + checkitem LOST_ITEM + iftrue .ReturnLostItem + applymovement COPYCATSHOUSE2F_COPYCAT, CopycatSpinAroundMovementData + faceplayer + variablesprite SPRITE_COPYCAT, SPRITE_CHRIS + special LoadUsedSpritesGFX + checkevent EVENT_RETURNED_MACHINE_PART + iftrue .TalkAboutLostItem + opentext + writetext CopycatText_Male_1 + waitbutton + closetext + applymovement COPYCATSHOUSE2F_COPYCAT, CopycatSpinAroundMovementData + faceplayer + variablesprite SPRITE_COPYCAT, SPRITE_LASS + special LoadUsedSpritesGFX + opentext + writetext CopycatText_QuickMimicking + waitbutton + closetext + end + +.TalkAboutLostItem: + opentext + writetext CopycatText_Male_2 + waitbutton + closetext + applymovement COPYCATSHOUSE2F_COPYCAT, CopycatSpinAroundMovementData + faceplayer + variablesprite SPRITE_COPYCAT, SPRITE_LASS + special LoadUsedSpritesGFX + opentext + writetext CopycatText_Worried + waitbutton + closetext + setevent EVENT_MET_COPYCAT_FOUND_OUT_ABOUT_LOST_ITEM + end + +.ReturnLostItem: + opentext + writetext CopycatText_GiveDoll + buttonsound + takeitem LOST_ITEM + setevent EVENT_RETURNED_LOST_ITEM_TO_COPYCAT + clearevent EVENT_COPYCATS_HOUSE_2F_DOLL + jump .GivePass + +.TryGivePassAgain: + opentext +.GivePass: + writetext CopycatText_GivePass + buttonsound + verbosegiveitem PASS + iffalse .Cancel + setevent EVENT_GOT_PASS_FROM_COPYCAT + writetext CopycatText_ExplainPass + waitbutton + closetext + end + +.GotPass: + applymovement COPYCATSHOUSE2F_COPYCAT, CopycatSpinAroundMovementData + faceplayer + variablesprite SPRITE_COPYCAT, SPRITE_CHRIS + special LoadUsedSpritesGFX + opentext + writetext CopycatText_Male_3 + waitbutton + closetext + applymovement COPYCATSHOUSE2F_COPYCAT, CopycatSpinAroundMovementData + faceplayer + variablesprite SPRITE_COPYCAT, SPRITE_LASS + special LoadUsedSpritesGFX + opentext + writetext CopycatText_ItsAScream + waitbutton +.Cancel: + closetext + end + +CopycatsDodrio: + opentext + writetext CopycatsDodrioText1 + cry DODRIO + buttonsound + writetext CopycatsDodrioText2 + waitbutton + closetext + end + +CopycatsHouse2FDoll: + jumptext CopycatsHouse2FDollText + +CopycatsHouse2FBookshelf: + jumpstd picturebookshelf + +CopycatSpinAroundMovementData: + turn_head DOWN + turn_head LEFT + turn_head UP + turn_head RIGHT + turn_head DOWN + turn_head LEFT + turn_head UP + turn_head RIGHT + turn_head DOWN + step_end + +CopycatText_Male_1: + text "<PLAYER>: Hi! Do" + line "you like #MON?" + + para "<PLAYER>: Uh, no, I" + line "just asked you." + + para "<PLAYER>: Huh?" + line "You're strange!" + done + +CopycatText_QuickMimicking: + text "COPYCAT: Hmm?" + line "Quit mimicking?" + + para "But that's my" + line "favorite hobby!" + done + +CopycatText_Male_2: + text "<PLAYER>: Hi!" + line "I heard that you" + + para "lost your favorite" + line "# DOLL." + + para "<PLAYER>: If I find" + line "it, you'll give me" + cont "a rail PASS?" + + para "<PLAYER>: I'll go" + line "find it for you." + + para "You think you lost" + line "it when you went" + cont "to VERMILION CITY?" + done + +CopycatText_Worried: + text "COPYCAT: Pardon?" + + para "I shouldn't decide" + line "what you should" + cont "do?" + + para "But I'm really" + line "worried… What if" + cont "someone finds it?" + done + +CopycatText_GiveDoll: + text "COPYCAT: Yay!" + line "That's my CLEFAIRY" + cont "# DOLL!" + + para "See the tear where" + line "the right leg is" + + para "sewn on? That's" + line "proof!" + done + +CopycatText_GivePass: + text "OK. Here's the" + line "MAGNET TRAIN PASS" + cont "like I promised!" + done + +CopycatText_ExplainPass: + text "COPYCAT: That's" + line "the PASS for the" + cont "MAGNET TRAIN." + + para "The rail company" + line "man gave me that" + + para "when they tore" + line "down our old house" + cont "for the STATION." + done + +CopycatText_Male_3: + text "<PLAYER>: Hi!" + line "Thanks a lot for" + cont "the rail PASS!" + + para "<PLAYER>: Pardon?" + + para "<PLAYER>: Is it" + line "that fun to mimic" + cont "my every move?" + done + +CopycatText_ItsAScream: + text "COPYCAT: You bet!" + line "It's a scream!" + done + +CopycatsDodrioText1: + text "DODRIO: Gii giii!" + done + +CopycatsDodrioText2: + text "MIRROR, MIRROR ON" + line "THE WALL, WHO'S" + + para "THE FAIREST ONE OF" + line "ALL?" + done + +CopycatsHouse2FDollText: + text "This is a rare" + line "#MON! Huh?" + + para "It's only a doll…" + done + +CopycatsHouse2F_MapEvents: + db 0, 0 ; filler + + db 1 ; warp events + warp_event 3, 0, COPYCATS_HOUSE_1F, 3 + + db 0 ; coord events + + db 2 ; bg events + bg_event 0, 1, BGEVENT_READ, CopycatsHouse2FBookshelf + bg_event 1, 1, BGEVENT_READ, CopycatsHouse2FBookshelf + + db 5 ; object events + object_event 4, 3, SPRITE_COPYCAT, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, Copycat, -1 + object_event 6, 4, SPRITE_MOLTRES, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, CopycatsDodrio, -1 + object_event 6, 1, SPRITE_FAIRY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CopycatsHouse2FDoll, EVENT_COPYCATS_HOUSE_2F_DOLL + object_event 2, 1, SPRITE_MONSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CopycatsHouse2FDoll, -1 + object_event 7, 1, SPRITE_BIRD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CopycatsHouse2FDoll, -1 diff --git a/maps/FightingDojo.asm b/maps/FightingDojo.asm new file mode 100644 index 00000000..e097febb --- /dev/null +++ b/maps/FightingDojo.asm @@ -0,0 +1,58 @@ + const_def 2 ; object constants + const FIGHTINGDOJO_BLACK_BELT + const FIGHTINGDOJO_POKE_BALL + +FightingDojo_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +FightingDojoBlackBelt: + jumptextfaceplayer FightingDojoBlackBeltText + +FightingDojoSign1: + jumptext FightingDojoSign1Text + +FightingDojoSign2: + jumptext FightingDojoSign2Text + +FightingDojoFocusBand: + itemball FOCUS_BAND + +FightingDojoBlackBeltText: + text "Hello!" + + para "KARATE KING, the" + line "FIGHTING DOJO's" + + para "master, is in a" + line "cave in JOHTO for" + cont "training." + done + +FightingDojoSign1Text: + text "What goes around" + line "comes around!" + done + +FightingDojoSign2Text: + text "Enemies on every" + line "side!" + done + +FightingDojo_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 4, 11, SAFFRON_CITY, 1 + warp_event 5, 11, SAFFRON_CITY, 1 + + db 0 ; coord events + + db 2 ; bg events + bg_event 4, 0, BGEVENT_READ, FightingDojoSign1 + bg_event 5, 0, BGEVENT_READ, FightingDojoSign2 + + db 2 ; object events + object_event 4, 4, SPRITE_BLACK_BELT, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, FightingDojoBlackBelt, -1 + object_event 3, 1, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, FightingDojoFocusBand, EVENT_PICKED_UP_FOCUS_BAND diff --git a/maps/MrPsychicsHouse.asm b/maps/MrPsychicsHouse.asm new file mode 100644 index 00000000..264001ac --- /dev/null +++ b/maps/MrPsychicsHouse.asm @@ -0,0 +1,63 @@ + const_def 2 ; object constants + const MRPSYCHICSHOUSE_FISHING_GURU + +MrPsychicsHouse_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +MrPsychic: + faceplayer + opentext + checkevent EVENT_GOT_TM29_PSYCHIC + iftrue .AlreadyGotItem + writetext MrPsychicText1 + buttonsound + verbosegiveitem TM_PSYCHIC + iffalse .Done + setevent EVENT_GOT_TM29_PSYCHIC +.AlreadyGotItem: + writetext MrPsychicText2 + waitbutton +.Done: + closetext + end + +MrPsychicsHouseBookshelf: + jumpstd difficultbookshelf + +MrPsychicText1: + text "…" + + para "…" + + para "…" + + para "…I got it!" + + para "You wanted this!" + done + +MrPsychicText2: + text "TM29 is PSYCHIC." + + para "It may lower the" + line "target's SPECIAL" + cont "abilities." + done + +MrPsychicsHouse_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, SAFFRON_CITY, 5 + warp_event 3, 7, SAFFRON_CITY, 5 + + db 0 ; coord events + + db 2 ; bg events + bg_event 0, 1, BGEVENT_READ, MrPsychicsHouseBookshelf + bg_event 1, 1, BGEVENT_READ, MrPsychicsHouseBookshelf + + db 1 ; object events + object_event 5, 3, SPRITE_FISHING_GURU, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, MrPsychic, -1 diff --git a/maps/Route5CleanseTagHouse.asm b/maps/Route5CleanseTagHouse.asm new file mode 100644 index 00000000..90554d1a --- /dev/null +++ b/maps/Route5CleanseTagHouse.asm @@ -0,0 +1,76 @@ + const_def 2 ; object constants + const ROUTE5CLEANSETAGHOUSE_GRANNY + const ROUTE5CLEANSETAGHOUSE_TEACHER + +Route5CleanseTagHouse_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +Route5CleanseTagHouseGrannyScript: + faceplayer + opentext + checkevent EVENT_GOT_CLEANSE_TAG + iftrue .GotCleanseTag + writetext Route5CleanseTagHouseGrannyText1 + buttonsound + verbosegiveitem CLEANSE_TAG + iffalse .NoRoom + setevent EVENT_GOT_CLEANSE_TAG +.GotCleanseTag: + writetext Route5CleanseTagHouseGrannyText2 + waitbutton +.NoRoom: + closetext + end + +Route5CleanseTagHouseTeacherScript: + jumptextfaceplayer Route5CleanseTagHouseTeacherText + +HouseForSaleBookshelf: + jumpstd difficultbookshelf + +Route5CleanseTagHouseGrannyText1: + text "Eeyaaaah!" + + para "I sense a sinister" + line "shadow hovering" + cont "over you." + + para "Take this to ward" + line "it off!" + done + +Route5CleanseTagHouseGrannyText2: + text "You were in mortal" + line "danger, but you" + cont "are protected now." + done + +Route5CleanseTagHouseTeacherText: + text "My Grandma is into" + line "warding off what" + + para "she believes to be" + line "evil spirits." + + para "I'm sorry that she" + line "startled you." + done + +Route5CleanseTagHouse_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, ROUTE_5, 4 + warp_event 3, 7, ROUTE_5, 4 + + db 0 ; coord events + + db 2 ; bg events + bg_event 0, 1, BGEVENT_READ, HouseForSaleBookshelf + bg_event 1, 1, BGEVENT_READ, HouseForSaleBookshelf + + db 2 ; object events + object_event 2, 5, SPRITE_GRANNY, SPRITEMOVEDATA_SPINCLOCKWISE, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, Route5CleanseTagHouseGrannyScript, -1 + object_event 5, 3, SPRITE_TEACHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, Route5CleanseTagHouseTeacherScript, -1 diff --git a/maps/Route5SaffronGate.asm b/maps/Route5SaffronGate.asm new file mode 100644 index 00000000..3a0161af --- /dev/null +++ b/maps/Route5SaffronGate.asm @@ -0,0 +1,35 @@ + const_def 2 ; object constants + const ROUTE5SAFFRONGATE_OFFICER + +Route5SaffronGate_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +Route5SaffronGateOfficerScript: + jumptextfaceplayer Route5SaffronGateOfficerText + +Route5SaffronGateOfficerText: + text "You're from JOHTO," + line "aren't you?" + + para "How do you like" + line "KANTO? It's nice," + cont "don't you agree?" + done + +Route5SaffronGate_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 4, 0, ROUTE_5, 2 + warp_event 5, 0, ROUTE_5, 3 + warp_event 4, 7, SAFFRON_CITY, 9 + warp_event 5, 7, SAFFRON_CITY, 9 + + db 0 ; coord events + + db 0 ; bg events + + db 1 ; object events + object_event 0, 4, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Route5SaffronGateOfficerScript, -1 diff --git a/maps/Route5UndergroundPathEntrance.asm b/maps/Route5UndergroundPathEntrance.asm new file mode 100644 index 00000000..d62a042b --- /dev/null +++ b/maps/Route5UndergroundPathEntrance.asm @@ -0,0 +1,33 @@ + const_def 2 ; object constants + const ROUTE5UNDERGROUNDPATHENTRANCE_TEACHER + +Route5UndergroundPathEntrance_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +Route5UndergroundPathEntranceTeacherScript: + jumptextfaceplayer Route5UndergroundPathEntranceTeacherText + +Route5UndergroundPathEntranceTeacherText: + text "Many cities in" + line "JOHTO have long" + + para "histories. I'd" + line "love to visit!" + done + +Route5UndergroundPathEntrance_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 3, 7, ROUTE_5, 1 + warp_event 4, 7, ROUTE_5, 1 + warp_event 4, 3, UNDERGROUND_PATH, 1 + + db 0 ; coord events + + db 0 ; bg events + + db 1 ; object events + object_event 2, 2, SPRITE_TEACHER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route5UndergroundPathEntranceTeacherScript, -1 diff --git a/maps/SaffronGym.asm b/maps/SaffronGym.asm new file mode 100644 index 00000000..c495d110 --- /dev/null +++ b/maps/SaffronGym.asm @@ -0,0 +1,339 @@ + const_def 2 ; object constants + const SAFFRONGYM_SABRINA + const SAFFRONGYM_GRANNY1 + const SAFFRONGYM_YOUNGSTER1 + const SAFFRONGYM_GRANNY2 + const SAFFRONGYM_YOUNGSTER2 + const SAFFRONGYM_GYM_GUY + +SaffronGym_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +SaffronGymSabrinaScript: + faceplayer + opentext + checkflag ENGINE_MARSHBADGE + iftrue .FightDone + writetext UnknownText_0x189cdf + waitbutton + closetext + winlosstext UnknownText_0x189df4, 0 + loadtrainer SABRINA, SABRINA1 + startbattle + reloadmapafterbattle + setevent EVENT_BEAT_SABRINA + setevent EVENT_BEAT_MEDIUM_REBECCA + setevent EVENT_BEAT_MEDIUM_DORIS + setevent EVENT_BEAT_PSYCHIC_FRANKLIN + setevent EVENT_BEAT_PSYCHIC_JARED + opentext + writetext UnknownText_0x189e95 + playsound SFX_GET_BADGE + waitsfx + setflag ENGINE_MARSHBADGE + writetext UnknownText_0x189ead + waitbutton + closetext + end + +.FightDone: + writetext UnknownText_0x189f6c + waitbutton + closetext + end + +TrainerMediumRebecca: + trainer MEDIUM, REBECCA, EVENT_BEAT_MEDIUM_REBECCA, MediumRebeccaSeenText, MediumRebeccaBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext MediumRebeccaAfterBattleText + waitbutton + closetext + end + +TrainerPsychicFranklin: + trainer PSYCHIC_T, FRANKLIN, EVENT_BEAT_PSYCHIC_FRANKLIN, PsychicFranklinSeenText, PsychicFranklinBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PsychicFranklinAfterBattleText + waitbutton + closetext + end + +TrainerMediumDoris: + trainer MEDIUM, DORIS, EVENT_BEAT_MEDIUM_DORIS, MediumDorisSeenText, MediumDorisBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext MediumDorisAfterBattleText + waitbutton + closetext + end + +TrainerPsychicJared: + trainer PSYCHIC_T, JARED, EVENT_BEAT_PSYCHIC_JARED, PsychicJaredSeenText, PsychicJaredBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PsychicJaredAfterBattleText + waitbutton + closetext + end + +SaffronGymGuyScript: + faceplayer + opentext + checkevent EVENT_BEAT_SABRINA + iftrue .SaffronGymGuyWinScript + writetext SaffronGymGuyText + waitbutton + closetext + end + +.SaffronGymGuyWinScript: + writetext SaffronGymGuyWinText + waitbutton + closetext + end + +SaffronGymStatue: + checkflag ENGINE_MARSHBADGE + iftrue .Beaten + jumpstd gymstatue1 +.Beaten: + trainertotext SABRINA, SABRINA1, MEM_BUFFER_1 + jumpstd gymstatue2 + +UnknownText_0x189cdf: + text "SABRINA: I knew" + line "you were coming…" + + para "Three years ago I" + line "had a vision of" + cont "your arrival." + + para "You're after my" + line "BADGE." + + para "I don't enjoy bat-" + line "tling, but it's my" + + para "duty as a LEADER" + line "to confer BADGES" + + para "on anyone who has" + line "proven him- or" + cont "herself worthy." + + para "Since you wish it," + line "I will show you my" + cont "psychic powers!" + done + +UnknownText_0x189df4: + text "SABRINA: Your" + line "power…" + + para "It far exceeds" + line "what I foresaw…" + + para "Maybe it isn't" + line "possible to fully" + + para "predict what the" + line "future holds…" + + para "OK, you win. You" + line "earned yourself" + cont "MARSHBADGE." + done + +UnknownText_0x189e95: + text "<PLAYER> received" + line "MARSHBADGE." + done + +UnknownText_0x189ead: + text "SABRINA: MARSH-" + line "BADGE draws out" + + para "your subliminal" + line "powers…" + + para "Although I failed" + line "to accurately pre-" + cont "dict your power," + cont "this much I know" + cont "to be true." + + para "You will become a" + line "celebrated and" + cont "beloved CHAMPION!" + done + +UnknownText_0x189f6c: + text "SABRINA: Your love" + line "for your #MON" + + para "overwhelmed my" + line "psychic power…" + + para "The power of love," + line "I think, is also a" + + para "kind of psychic" + line "power…" + done + +MediumRebeccaSeenText: + text "The power of all" + line "those you defeated" + cont "comes to me!" + done + +MediumRebeccaBeatenText: + text "Strong…" + line "Far too strong…" + done + +MediumRebeccaAfterBattleText: + text "What is the source" + line "of your power?" + done + +PsychicFranklinSeenText: + text "Psychic power is" + line "the power of your" + cont "soul." + done + +PsychicFranklinBeatenText: + text "Your soul has more" + line "power than mine!" + done + +PsychicFranklinAfterBattleText: + text "You made your soul" + line "stronger, not just" + cont "your abilities." + done + +MediumDorisSeenText: + text "Fufufufu…" + line "I see it clearly." + + para "I can see into" + line "your soul!" + done + +MediumDorisBeatenText: + text "Though I read you," + line "I still lost…" + done + +MediumDorisAfterBattleText: + text "Darn! I forgot" + line "that I predicted I" + cont "would lose to you." + done + +PsychicJaredSeenText: + text "The FIGHTING DOJO" + line "next door was once" + cont "this city's GYM." + done + +PsychicJaredBeatenText: + text "I was no match…" + done + +PsychicJaredAfterBattleText: + text "KARATE KING, the" + line "master of the" + + para "FIGHTING DOJO, was" + line "just destroyed by" + cont "SABRINA." + done + +SaffronGymGuyText: + text "Yo, CHAMP in" + line "making!" + + para "A trainer as" + line "skilled as you" + + para "doesn't need to be" + line "told how to deal" + + para "with psychic-type" + line "#MON, right?" + + para "I expect great" + line "things from you!" + + para "Good luck!" + done + +SaffronGymGuyWinText: + text "That was another" + line "fantastic battle!" + done + +SaffronGym_MapEvents: + db 0, 0 ; filler + + db 32 ; warp events + warp_event 8, 17, SAFFRON_CITY, 2 + warp_event 9, 17, SAFFRON_CITY, 2 + warp_event 11, 15, SAFFRON_GYM, 18 + warp_event 19, 15, SAFFRON_GYM, 19 + warp_event 19, 11, SAFFRON_GYM, 20 + warp_event 1, 11, SAFFRON_GYM, 21 + warp_event 5, 3, SAFFRON_GYM, 22 + warp_event 11, 5, SAFFRON_GYM, 23 + warp_event 1, 15, SAFFRON_GYM, 24 + warp_event 19, 3, SAFFRON_GYM, 25 + warp_event 15, 17, SAFFRON_GYM, 26 + warp_event 5, 17, SAFFRON_GYM, 27 + warp_event 5, 9, SAFFRON_GYM, 28 + warp_event 9, 3, SAFFRON_GYM, 29 + warp_event 15, 9, SAFFRON_GYM, 30 + warp_event 15, 5, SAFFRON_GYM, 31 + warp_event 1, 5, SAFFRON_GYM, 32 + warp_event 19, 17, SAFFRON_GYM, 3 + warp_event 19, 9, SAFFRON_GYM, 4 + warp_event 1, 9, SAFFRON_GYM, 5 + warp_event 5, 5, SAFFRON_GYM, 6 + warp_event 11, 3, SAFFRON_GYM, 7 + warp_event 1, 17, SAFFRON_GYM, 8 + warp_event 19, 5, SAFFRON_GYM, 9 + warp_event 15, 15, SAFFRON_GYM, 10 + warp_event 5, 15, SAFFRON_GYM, 11 + warp_event 5, 11, SAFFRON_GYM, 12 + warp_event 9, 5, SAFFRON_GYM, 13 + warp_event 15, 11, SAFFRON_GYM, 14 + warp_event 15, 3, SAFFRON_GYM, 15 + warp_event 1, 3, SAFFRON_GYM, 16 + warp_event 11, 9, SAFFRON_GYM, 17 + + db 0 ; coord events + + db 1 ; bg events + bg_event 8, 15, BGEVENT_READ, SaffronGymStatue + + db 6 ; object events + object_event 9, 8, SPRITE_SABRINA, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SaffronGymSabrinaScript, -1 + object_event 17, 16, SPRITE_GRANNY, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerMediumRebecca, -1 + object_event 3, 16, SPRITE_YOUNGSTER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPsychicFranklin, -1 + object_event 3, 4, SPRITE_GRANNY, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerMediumDoris, -1 + object_event 17, 4, SPRITE_YOUNGSTER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerPsychicJared, -1 + object_event 9, 14, SPRITE_GYM_GUY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, SaffronGymGuyScript, -1 diff --git a/maps/SaffronMagnetTrainStation.asm b/maps/SaffronMagnetTrainStation.asm new file mode 100644 index 00000000..c8823fe0 --- /dev/null +++ b/maps/SaffronMagnetTrainStation.asm @@ -0,0 +1,228 @@ + const_def 2 ; object constants + const SAFFRONMAGNETTRAINSTATION_OFFICER + const SAFFRONMAGNETTRAINSTATION_GYM_GUY + const SAFFRONMAGNETTRAINSTATION_TEACHER + const SAFFRONMAGNETTRAINSTATION_LASS + +SaffronMagnetTrainStation_MapScripts: + db 1 ; scene scripts + scene_script .DummyScene ; SCENE_DEFAULT + + db 0 ; callbacks + +.DummyScene: + end + +SaffronMagnetTrainStationOfficerScript: + faceplayer + opentext + checkevent EVENT_RESTORED_POWER_TO_KANTO + iftrue .MagnetTrainToGoldenrod + writetext UnknownText_0x18a8a9 + waitbutton + closetext + end + +.MagnetTrainToGoldenrod: + writetext UnknownText_0x18a8dd + yesorno + iffalse .DecidedNotToRide + checkitem PASS + iffalse .PassNotInBag + writetext UnknownText_0x18a917 + waitbutton + closetext + applymovement SAFFRONMAGNETTRAINSTATION_OFFICER, MovementData_0x18a88f + applymovement PLAYER, MovementData_0x18a898 + writebyte TRUE + special MagnetTrain + warpcheck + newloadmap MAPSETUP_TRAIN + end + +.PassNotInBag: + writetext UnknownText_0x18a956 + waitbutton + closetext + end + +.DecidedNotToRide: + writetext UnknownText_0x18a978 + waitbutton + closetext + end + +Script_ArriveFromGoldenrod: + applymovement SAFFRONMAGNETTRAINSTATION_OFFICER, MovementData_0x18a88f + applymovement PLAYER, MovementData_0x18a8a1 + applymovement SAFFRONMAGNETTRAINSTATION_OFFICER, MovementData_0x18a894 + opentext + writetext UnknownText_0x18a993 + waitbutton + closetext + end + +SaffronMagnetTrainStationGymGuyScript: + faceplayer + opentext + checkevent EVENT_RETURNED_MACHINE_PART + iftrue .ReturnedMachinePart + writetext SaffronMagnetTrainStationGymGuyText + waitbutton + closetext + end + +.ReturnedMachinePart: + writetext SaffronMagnetTrainStationGymGuyText_ReturnedMachinePart + waitbutton + closetext + end + +SaffronMagnetTrainStationTeacherScript: + jumptextfaceplayer SaffronMagnetTrainStationTeacherText + +SaffronMagnetTrainStationLassScript: + jumptextfaceplayer SaffronMagnetTrainStationLassText + +MovementData_0x18a88f: + step UP + step UP + step RIGHT + turn_head LEFT + step_end + +MovementData_0x18a894: + step LEFT + step DOWN + step DOWN + step_end + +MovementData_0x18a898: + step UP + step UP + step UP + step LEFT + step LEFT + step LEFT + step UP + step UP + step_end + +MovementData_0x18a8a1: + step LEFT + step LEFT + step DOWN + step DOWN + step DOWN + step DOWN + turn_head UP + step_end + +UnknownText_0x18a8a9: + text "I'm sorry, but the" + line "MAGNET TRAIN isn't" + cont "operating now." + done + +UnknownText_0x18a8dd: + text "We'll soon depart" + line "for GOLDENROD." + + para "Are you coming on" + line "board?" + done + +UnknownText_0x18a917: + text "May I see your" + line "rail PASS, please?" + + para "OK. Right this" + line "way, sir." + done + +UnknownText_0x18a956: + text "Sorry, but you" + line "don't have a PASS." + done + +UnknownText_0x18a978: + text "We hope to see you" + line "again." + done + +UnknownText_0x18a993: + text "We have arrived in" + line "SAFFRON." + + para "We hope to see you" + line "again." + done + +SaffronMagnetTrainStationGymGuyText: + text "The MAGNET TRAIN" + line "is a super-modern" + + para "rail liner that" + line "uses electricity" + + para "and magnets to" + line "attain incredible" + cont "speed." + + para "However, if there" + line "isn't any elec-" + cont "tricity…" + done + +SaffronMagnetTrainStationGymGuyText_ReturnedMachinePart: + text "Whew…" + + para "How many times" + line "have I gone back" + + para "and forth between" + line "KANTO and JOHTO?" + done + +SaffronMagnetTrainStationTeacherText: + text "Before the MAGNET" + line "TRAIN STATION was" + + para "built, there was a" + line "house there." + + para "A little girl" + line "named COPYCAT used" + cont "to live there." + done + +SaffronMagnetTrainStationLassText: + text "Hi. Do you have a" + line "rail PASS? I have" + + para "one. All the peo-" + line "ple in SAFFRON who" + + para "ride the MAGNET" + line "TRAIN have PASSES." + done + +SaffronMagnetTrainStation_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 8, 17, SAFFRON_CITY, 6 + warp_event 9, 17, SAFFRON_CITY, 6 + warp_event 6, 5, GOLDENROD_MAGNET_TRAIN_STATION, 4 + warp_event 11, 5, GOLDENROD_MAGNET_TRAIN_STATION, 3 + + db 1 ; coord events + coord_event 11, 6, SCENE_DEFAULT, Script_ArriveFromGoldenrod + + db 0 ; bg events + + db 4 ; object events + object_event 9, 9, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SaffronMagnetTrainStationOfficerScript, -1 + object_event 10, 14, SPRITE_GYM_GUY, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SaffronMagnetTrainStationGymGuyScript, -1 + object_event 6, 11, SPRITE_TEACHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SaffronMagnetTrainStationTeacherScript, EVENT_SAFFRON_TRAIN_STATION_POPULATION + object_event 6, 10, SPRITE_LASS, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, SaffronMagnetTrainStationLassScript, EVENT_SAFFRON_TRAIN_STATION_POPULATION diff --git a/maps/SaffronMart.asm b/maps/SaffronMart.asm new file mode 100644 index 00000000..55e078d8 --- /dev/null +++ b/maps/SaffronMart.asm @@ -0,0 +1,52 @@ + const_def 2 ; object constants + const SAFFRONMART_CLERK + const SAFFRONMART_COOLTRAINER_M + const SAFFRONMART_COOLTRAINER_F + +SaffronMart_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +SaffronMartClerkScript: + opentext + pokemart MARTTYPE_STANDARD, MART_SAFFRON + closetext + end + +SaffronMartCooltrainerMScript: + jumptextfaceplayer SaffronMartCooltrainerMText + +SaffronMartCooltrainerFScript: + jumptextfaceplayer SaffronMartCooltrainerFText + +SaffronMartCooltrainerMText: + text "There's a big" + line "RADIO TOWER in" + cont "LAVENDER." + done + +SaffronMartCooltrainerFText: + text "I want to become" + line "stronger, but I'm" + cont "not good yet…" + + para "Could you show me" + line "how sometime?" + done + +SaffronMart_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, SAFFRON_CITY, 3 + warp_event 3, 7, SAFFRON_CITY, 3 + + db 0 ; coord events + + db 0 ; bg events + + db 3 ; object events + object_event 1, 3, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SaffronMartClerkScript, -1 + object_event 7, 2, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, SaffronMartCooltrainerMScript, -1 + object_event 7, 6, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, SaffronMartCooltrainerFScript, -1 diff --git a/maps/SaffronPokecenter1F.asm b/maps/SaffronPokecenter1F.asm new file mode 100644 index 00000000..b403b37e --- /dev/null +++ b/maps/SaffronPokecenter1F.asm @@ -0,0 +1,95 @@ + const_def 2 ; object constants + const SAFFRONPOKECENTER1F_NURSE + const SAFFRONPOKECENTER1F_TEACHER + const SAFFRONPOKECENTER1F_FISHER + const SAFFRONPOKECENTER1F_YOUNGSTER + +SaffronPokecenter1F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +SaffronPokecenter1FNurseScript: + jumpstd pokecenternurse + +SaffronPokecenter1FTeacherScript: + jumptextfaceplayer UnknownText_0x18a4a3 + +SaffronPokecenter1FFisherScript: + faceplayer + opentext + checkevent EVENT_RETURNED_MACHINE_PART + iftrue .SolvedKantoPowerCrisis + writetext UnknownText_0x18a5d3 + waitbutton + closetext + end + +.SolvedKantoPowerCrisis: + writetext UnknownText_0x18a62e + waitbutton + closetext + end + +SaffronPokecenter1FYoungsterScript: + jumptextfaceplayer SaffronPokecenter1FYoungsterText + +UnknownText_0x18a4a3: + text "There's a huge" + line "POWER PLANT north" + cont "of LAVENDER TOWN." + done + +UnknownText_0x18a5d3: + text "I just happened to" + line "come through ROCK" + + para "TUNNEL. There was" + line "some commotion at" + cont "the POWER PLANT." + done + +UnknownText_0x18a62e: + text "Caves collapse" + line "easily." + + para "Several caves have" + line "disappeared in the" + + para "past few years," + line "like the one out-" + cont "side CERULEAN." + + para "As a pro HIKER," + line "that's common" + cont "knowledge." + done + +SaffronPokecenter1FYoungsterText: + text "SILPH CO.'s HEAD" + line "OFFICE and the" + + para "MAGNET TRAIN STA-" + line "TION--they're the" + + para "places to see in" + line "SAFFRON." + done + +SaffronPokecenter1F_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 3, 7, SAFFRON_CITY, 4 + warp_event 4, 7, SAFFRON_CITY, 4 + 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, SaffronPokecenter1FNurseScript, -1 + object_event 7, 2, SPRITE_TEACHER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, SaffronPokecenter1FTeacherScript, -1 + object_event 8, 6, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SaffronPokecenter1FFisherScript, -1 + object_event 1, 4, SPRITE_YOUNGSTER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, SaffronPokecenter1FYoungsterScript, -1 diff --git a/maps/SaffronPokecenter2FBeta.asm b/maps/SaffronPokecenter2FBeta.asm new file mode 100644 index 00000000..912f1281 --- /dev/null +++ b/maps/SaffronPokecenter2FBeta.asm @@ -0,0 +1,16 @@ +SaffronPokecenter2FBeta_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +SaffronPokecenter2FBeta_MapEvents: + db 0, 0 ; filler + + db 1 ; warp events + warp_event 0, 7, SAFFRON_POKECENTER_1F, 3 + + db 0 ; coord events + + db 0 ; bg events + + db 0 ; object events diff --git a/maps/SilphCo1F.asm b/maps/SilphCo1F.asm new file mode 100644 index 00000000..d14f19b2 --- /dev/null +++ b/maps/SilphCo1F.asm @@ -0,0 +1,69 @@ + const_def 2 ; object constants + const SILPHCO1F_RECEPTIONIST + const SILPHCO1F_OFFICER + +SilphCo1F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +SilphCoReceptionistScript: + jumptextfaceplayer SilphCoReceptionistText + +SilphCoOfficerScript: + faceplayer + opentext + checkevent EVENT_GOT_UP_GRADE + iftrue .GotUpGrade + writetext SilphCoOfficerText + buttonsound + verbosegiveitem UP_GRADE + iffalse .NoRoom + setevent EVENT_GOT_UP_GRADE +.GotUpGrade: + writetext SilphCoOfficerText_GotUpGrade + waitbutton +.NoRoom: + closetext + end + +SilphCoReceptionistText: + text "Welcome. This is" + line "SILPH CO.'s HEAD" + cont "OFFICE BUILDING." + done + +SilphCoOfficerText: + text "Only employees are" + line "permitted to go" + cont "upstairs." + + para "But since you came" + line "such a long way," + + para "have this neat" + line "little souvenir." + done + +SilphCoOfficerText_GotUpGrade: + text "It's SILPH CO.'s" + line "latest product." + + para "It's not for sale" + line "anywhere yet." + done + +SilphCo1F_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, SAFFRON_CITY, 7 + warp_event 3, 7, SAFFRON_CITY, 7 + + db 0 ; coord events + + db 0 ; bg events + + db 2 ; object events + object_event 4, 2, SPRITE_RECEPTIONIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, SilphCoReceptionistScript, -1 + object_event 13, 1, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, SilphCoOfficerScript, -1 |