diff options
author | IIMarckus <iimarckus@gmail.com> | 2018-09-26 04:07:09 -0600 |
---|---|---|
committer | IIMarckus <iimarckus@gmail.com> | 2018-09-26 04:07:09 -0600 |
commit | 87177fc5c81f69f2af529564170312a63c2a91be (patch) | |
tree | 2cb8b12063e8de40a7e027e93683b1b70513fcce | |
parent | 2b6d7b465522860e01b6db47d245922a477a0cad (diff) |
Add map objects from bank 53.
-rwxr-xr-x | engine/specials.asm | 16 | ||||
-rw-r--r-- | main.asm | 31 | ||||
-rw-r--r-- | maps/BlackthornDragonSpeechHouse.asm | 54 | ||||
-rw-r--r-- | maps/BlackthornEmysHouse.asm | 34 | ||||
-rw-r--r-- | maps/BlackthornGym1F.asm | 427 | ||||
-rw-r--r-- | maps/BlackthornGym2F.asm | 155 | ||||
-rw-r--r-- | maps/BlackthornMart.asm | 61 | ||||
-rw-r--r-- | maps/BlackthornPokecenter1F.asm | 66 | ||||
-rw-r--r-- | maps/CinnabarPokecenter1F.asm | 50 | ||||
-rw-r--r-- | maps/CinnabarPokecenter2FBeta.asm | 16 | ||||
-rw-r--r-- | maps/LakeOfRageHiddenPowerHouse.asm | 82 | ||||
-rw-r--r-- | maps/LakeOfRageMagikarpHouse.asm | 222 | ||||
-rw-r--r-- | maps/MoveDeletersHouse.asm | 34 | ||||
-rw-r--r-- | maps/Route19FuchsiaGate.asm | 60 | ||||
-rw-r--r-- | maps/Route43Gate.asm | 263 | ||||
-rw-r--r-- | maps/Route43MahoganyGate.asm | 53 | ||||
-rw-r--r-- | maps/SeafoamGym.asm | 170 |
17 files changed, 1770 insertions, 24 deletions
diff --git a/engine/specials.asm b/engine/specials.asm index c005455e..100979ff 100755 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -93,10 +93,10 @@ SpecialsPointers: add_special RestartMapMusic add_special HealMachineAnim add_special SurfStartStep - add_special FindGreaterThanThatLevel - add_special FindAtLeastThatHappy - add_special FindThatSpecies - add_special FindThatSpeciesYourTrainerID + add_special FindPartyMonAboveLevel + add_special FindPartyMonAtLeastThatHappy + add_special FindPartyMonThatSpecies + add_special FindPartyMonThatSpeciesYourTrainerID add_special UnusedCheckUnusedTwoDayTimer add_special DayCareMon1 add_special DayCareMon2 @@ -167,28 +167,28 @@ UnusedSetSeenMon: ; c3ac call SetSeenMon ret -FindGreaterThanThatLevel: ; c3b4 +FindPartyMonAboveLevel: ; c3b4 ld a, [wScriptVar] ld b, a callba PartySearch_MaximumLevel ; same bank jr z, asm_c3f2 jr asm_c3ec -FindAtLeastThatHappy: ; c3c2 +FindPartyMonAtLeastThatHappy: ; c3c2 ld a, [wScriptVar] ld b, a callba PartySearch_MinimumHappiness ; same bank jr z, asm_c3f2 jr asm_c3ec -FindThatSpecies: ; c3d0 +FindPartyMonThatSpecies: ; c3d0 ld a, [wScriptVar] ld b, a callba PartySearch_SameSpecies ; same bank jr z, asm_c3f2 jr asm_c3ec -FindThatSpeciesYourTrainerID: ; c3de +FindPartyMonThatSpeciesYourTrainerID: ; c3de ld a, [wScriptVar] ld b, a callba PartySearch_SameSpeciesAndYourID ; same bank @@ -1743,22 +1743,21 @@ SECTION "bank52", ROMX, BANK[$52] dr $148000, $14c000 SECTION "bank53", ROMX, BANK[$53] -;INCLUDE "maps/BlackthornGym1F.asm" -;INCLUDE "maps/BlackthornGym2F.asm" -;INCLUDE "maps/BlackthornDragonSpeechHouse.asm" -;INCLUDE "maps/BlackthornEmysHouse.asm" -;INCLUDE "maps/BlackthornMart.asm" -;INCLUDE "maps/BlackthornPokecenter1F.asm" -;INCLUDE "maps/MoveDeletersHouse.asm" -;INCLUDE "maps/CinnabarPokecenter1F.asm" -;INCLUDE "maps/CinnabarPokecenter2FBeta.asm" -;INCLUDE "maps/Route19FuchsiaGate.asm" -;INCLUDE "maps/SeafoamGym.asm" -;INCLUDE "maps/LakeOfRageHiddenPowerHouse.asm" -;INCLUDE "maps/LakeOfRageMagikarpHouse.asm" -;INCLUDE "maps/Route43MahoganyGate.asm" -;INCLUDE "maps/Route43Gate.asm" - dr $14c000, $150000 +INCLUDE "maps/BlackthornGym1F.asm" +INCLUDE "maps/BlackthornGym2F.asm" +INCLUDE "maps/BlackthornDragonSpeechHouse.asm" +INCLUDE "maps/BlackthornEmysHouse.asm" +INCLUDE "maps/BlackthornMart.asm" +INCLUDE "maps/BlackthornPokecenter1F.asm" +INCLUDE "maps/MoveDeletersHouse.asm" +INCLUDE "maps/CinnabarPokecenter1F.asm" +INCLUDE "maps/CinnabarPokecenter2FBeta.asm" +INCLUDE "maps/Route19FuchsiaGate.asm" +INCLUDE "maps/SeafoamGym.asm" +INCLUDE "maps/LakeOfRageHiddenPowerHouse.asm" +INCLUDE "maps/LakeOfRageMagikarpHouse.asm" +INCLUDE "maps/Route43MahoganyGate.asm" +INCLUDE "maps/Route43Gate.asm" SECTION "bank54", ROMX, BANK[$54] INCLUDE "maps/CeruleanGymBadgeSpeechHouse.asm" diff --git a/maps/BlackthornDragonSpeechHouse.asm b/maps/BlackthornDragonSpeechHouse.asm new file mode 100644 index 00000000..260a3a3c --- /dev/null +++ b/maps/BlackthornDragonSpeechHouse.asm @@ -0,0 +1,54 @@ + const_def 2 ; object constants + const BLACKTHORNDRAGONSPEECHHOUSE_GRANNY + const BLACKTHORNDRAGONSPEECHHOUSE_EKANS + +BlackthornDragonSpeechHouse_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +BlackthornDragonSpeechHouseGrannyScript: + jumptextfaceplayer BlackthornDragonSpeechHouseGrannyText + +BlackthornDragonSpeechHouseDratiniScript: + opentext + writetext BlackthornDragonSpeechHouseDratiniText + cry DRATINI + waitbutton + closetext + end + +; unused +BlackthornDragonSpeechHousePictureBookshelf: + jumpstd picturebookshelf + +; unused +BlackthornDragonSpeechHouseMagazineBookshelf: + jumpstd magazinebookshelf + +BlackthornDragonSpeechHouseGrannyText: + text "CLAIR and LANCE" + line "trained here to" + + para "hone their skills" + line "as trainers." + done + +BlackthornDragonSpeechHouseDratiniText: + text "DRATINI: Draa!" + done + +BlackthornDragonSpeechHouse_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, BLACKTHORN_CITY, 2 + warp_event 3, 7, BLACKTHORN_CITY, 2 + + db 0 ; coord events + + db 0 ; bg events + + db 2 ; object events + object_event 2, 3, SPRITE_GRANNY, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlackthornDragonSpeechHouseGrannyScript, -1 + object_event 5, 5, SPRITE_EKANS, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, BlackthornDragonSpeechHouseDratiniScript, -1 diff --git a/maps/BlackthornEmysHouse.asm b/maps/BlackthornEmysHouse.asm new file mode 100644 index 00000000..01fffb4d --- /dev/null +++ b/maps/BlackthornEmysHouse.asm @@ -0,0 +1,34 @@ + const_def 2 ; object constants + const BLACKTHORNEMYSHOUSE_EMY + +BlackthornEmysHouse_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +Emy: + faceplayer + opentext + trade NPC_TRADE_EMY + waitbutton + closetext + end + +EmysHouseBookshelf: + jumpstd magazinebookshelf + +BlackthornEmysHouse_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, BLACKTHORN_CITY, 3 + warp_event 3, 7, BLACKTHORN_CITY, 3 + + db 0 ; coord events + + db 2 ; bg events + bg_event 0, 1, BGEVENT_READ, EmysHouseBookshelf + bg_event 1, 1, BGEVENT_READ, EmysHouseBookshelf + + db 1 ; object events + object_event 2, 3, SPRITE_LASS, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Emy, -1 diff --git a/maps/BlackthornGym1F.asm b/maps/BlackthornGym1F.asm new file mode 100644 index 00000000..d4a3a71a --- /dev/null +++ b/maps/BlackthornGym1F.asm @@ -0,0 +1,427 @@ + const_def 2 ; object constants + const BLACKTHORNGYM1F_CLAIR + const BLACKTHORNGYM1F_COOLTRAINER_M1 + const BLACKTHORNGYM1F_COOLTRAINER_M2 + const BLACKTHORNGYM1F_COOLTRAINER_F + const BLACKTHORNGYM1F_GYM_GUY + +BlackthornGym1F_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_TILES, .Boulders + +.Boulders: + checkevent EVENT_BOULDER_IN_BLACKTHORN_GYM_1 + iffalse .skip1 + changeblock 8, 2, $3b ; fallen boulder 2 +.skip1 + checkevent EVENT_BOULDER_IN_BLACKTHORN_GYM_2 + iffalse .skip2 + changeblock 2, 4, $3a ; fallen boulder 1 +.skip2 + checkevent EVENT_BOULDER_IN_BLACKTHORN_GYM_3 + iffalse .skip3 + changeblock 8, 6, $3b ; fallen boulder 2 +.skip3 + return + +BlackthornGymClairScript: + faceplayer + opentext + checkflag ENGINE_RISINGBADGE + iftrue .AlreadyGotBadge + checkevent EVENT_BEAT_CLAIR + iftrue .FightDone + writetext ClairIntroText + waitbutton + closetext + winlosstext ClairWinText, 0 + loadtrainer CLAIR, CLAIR1 + startbattle + reloadmapafterbattle + setevent EVENT_BEAT_CLAIR + opentext + writetext ClairText_GoToDragonsDen + waitbutton + closetext + setevent EVENT_BEAT_COOLTRAINERM_PAUL + setevent EVENT_BEAT_COOLTRAINERM_CODY + setevent EVENT_BEAT_COOLTRAINERM_MIKE + setevent EVENT_BEAT_COOLTRAINERF_FRAN + setevent EVENT_BEAT_COOLTRAINERF_LOLA + clearevent EVENT_MAHOGANY_MART_OWNERS + setevent EVENT_BLACKTHORN_CITY_GRAMPS_BLOCKS_DRAGONS_DEN + clearevent EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN + end + +.FightDone: + checkitem DRAGON_FANG + iftrue .HasDragonFang + writetext ClairText_TooMuchToExpect + waitbutton + closetext + end + +.HasDragonFang: + writetext BlackthornGymClairText_Cheat + waitbutton + closetext + end + +.AlreadyGotBadge: + checkevent EVENT_GOT_TM24_DRAGONBREATH + iftrue .GotTM24 + writetext BlackthornGymClairText_YouKeptMeWaiting + buttonsound + verbosegiveitem TM_DRAGONBREATH + iffalse .BagFull + setevent EVENT_GOT_TM24_DRAGONBREATH + writetext BlackthornGymClairText_DescribeTM24 + waitbutton + closetext + end + +.GotTM24: + writetext BlackthornGymClairText_League + waitbutton +.BagFull: + closetext + end + +TrainerCooltrainermPaul: + trainer COOLTRAINERM, PAUL, EVENT_BEAT_COOLTRAINERM_PAUL, CooltrainermPaulSeenText, CooltrainermPaulBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CooltrainermPaulAfterBattleText + waitbutton + closetext + end + +TrainerCooltrainermMike: + trainer COOLTRAINERM, MIKE, EVENT_BEAT_COOLTRAINERM_MIKE, CooltrainermMikeSeenText, CooltrainermMikeBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CooltrainermMikeAfterBattleText + waitbutton + closetext + end + +TrainerCooltrainerfLola: + trainer COOLTRAINERF, LOLA, EVENT_BEAT_COOLTRAINERF_LOLA, CooltrainerfLolaSeenText, CooltrainerfLolaBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CooltrainerfLolaAfterBattleText + waitbutton + closetext + end + +BlackthornGymGuyScript: + faceplayer + opentext + checkevent EVENT_BEAT_CLAIR + iftrue .BlackthornGymGuyWinScript + writetext BlackthornGymGuyText + waitbutton + closetext + end + +.BlackthornGymGuyWinScript: + writetext BlackthornGymGuyWinText + waitbutton + closetext + end + +BlackthornGymStatue: + checkflag ENGINE_RISINGBADGE + iftrue .Beaten + jumpstd gymstatue1 +.Beaten: + trainertotext CLAIR, CLAIR1, MEM_BUFFER_1 + jumpstd gymstatue2 + +ClairIntroText: + text "I am CLAIR. I'm" + line "the world's best" + cont "dragon master." + + para "I can hold my own" + line "against even the" + + para "#MON LEAGUE's" + line "ELITE FOUR." + + para "Do you still want" + line "to take me on?" + + para "…Fine." + line "Let's do it!" + + para "As a trainer, I" + line "will use my full" + + para "power against any" + line "opponent!" + done + +ClairWinText: + text "I lost?" + + para "I don't believe" + line "it. There must be" + cont "some mistake…" + done + +ClairText_GoToDragonsDen: + text "I won't admit" + line "this." + + para "I may have lost," + line "but you're still" + + para "not ready for the" + line "#MON LEAGUE." + + para "I know. You should" + line "take the dragon" + cont "user challenge." + + para "Behind this GYM is" + line "a place called" + cont "DRAGON'S DEN." + + para "Go and bring me" + line "the DRAGON FANG" + + para "from deep inside" + line "the DEN." + + para "That is the test" + line "to be accepted as" + + para "a true dragon" + line "user." + + para "If you can do" + line "that, I will ac-" + cont "cept you as a" + cont "worthy trainer." + + para "Until then, I" + line "won't give you a" + cont "BADGE." + done + +ClairText_TooMuchToExpect: + text "CLAIR: What's" + line "the matter?" + + para "This errand won't" + line "be hard for you," + + para "unless your vic-" + line "tory was a fluke." + done + +BlackthornGymClairText_Cheat: + text "CLAIR: You did" + line "not get that at" + cont "DRAGON'S DEN." + + para "Trying to cheat" + line "like that…" + + para "I'm disappointed" + line "in you." + done + +BlackthornGymClairText_YouKeptMeWaiting: + text "CLAIR: You have" + line "proven yourself to" + cont "me." + + para "I want you to have" + line "this TM." + done + +BlackthornGymText_ReceivedTM24: + text "<PLAYER> received" + line "TM24." + done + +BlackthornGymClairText_DescribeTM24: + text "That contains" + line "DRAGONBREATH." + + para "No, it doesn't" + line "have anything to" + cont "do with my breath." + + para "If you don't want" + line "it, you don't have" + cont "to take it." + done + +BlackthornGymClairText_BagFull: +BlackthornGymClairText_League: + text "So you've col-" + line "lected all the" + cont "BADGES." + + para "Your destination" + line "is the #MON" + + para "LEAGUE in INDIGO" + line "PLATEAU." + + para "Do you know how to" + line "get there?" + + para "From here, go to" + line "NEW BARK TOWN." + + para "Then SURF east." + line "The route there is" + cont "very tough." + + para "Don't you dare" + line "lose at the #-" + cont "MON LEAGUE!" + + para "If you do, I'll" + line "feel even worse" + + para "about having lost" + line "to you!" + done + +CooltrainermPaulSeenText: + text "Your first battle" + line "against dragons?" + + para "I'll show you how" + line "tough they are!" + done + +CooltrainermPaulBeatenText: + text "I'm disappointed." + done + +CooltrainermPaulAfterBattleText: + text "You've met LANCE," + line "the dragon master?" + + para "That just can't be" + line "true." + done + +CooltrainermMikeSeenText: + text "My chance of" + line "losing? Not even" + cont "one percent!" + done + +CooltrainermMikeBeatenText: + text "That's odd." + done + +CooltrainermMikeAfterBattleText: + text "I know my short-" + line "comings now." + + para "Thanks for showing" + line "me!" + done + +CooltrainerfLolaSeenText: + text "Dragons are sacred" + line "#MON." + + para "They are full of" + line "life energy." + + para "If you're not" + line "serious, you won't" + + para "be able to beat" + line "them." + done + +CooltrainerfLolaBeatenText: + text "Way to go!" + done + +CooltrainerfLolaAfterBattleText: + text "Dragons are weak" + line "against dragon-" + cont "type moves." + done + +BlackthornGymGuyText: + text "Yo! CHAMP in" + line "making!" + + para "It's been a long" + line "journey, but we" + + para "are almost done!" + line "Count on me!" + + para "CLAIR uses the" + line "mythical and sac-" + cont "red dragon-type" + cont "#MON." + + para "You can't damage" + line "them very easily." + + para "But you know," + line "they're supposed" + + para "to be weak against" + line "ice-type moves." + done + +BlackthornGymGuyWinText: + text "You were great to" + line "beat CLAIR!" + + para "All that's left is" + line "the #MON LEAGUE" + cont "challenge." + + para "You're on the way" + line "to becoming the" + cont "#MON CHAMPION!" + done + +BlackthornGym1F_MapEvents: + db 0, 0 ; filler + + db 7 ; warp events + warp_event 4, 17, BLACKTHORN_CITY, 1 + warp_event 5, 17, BLACKTHORN_CITY, 1 + warp_event 1, 7, BLACKTHORN_GYM_2F, 1 + warp_event 7, 9, BLACKTHORN_GYM_2F, 2 + warp_event 2, 6, BLACKTHORN_GYM_2F, 3 + warp_event 7, 7, BLACKTHORN_GYM_2F, 4 + warp_event 7, 6, BLACKTHORN_GYM_2F, 5 + + db 0 ; coord events + + db 2 ; bg events + bg_event 3, 15, BGEVENT_READ, BlackthornGymStatue + bg_event 6, 15, BGEVENT_READ, BlackthornGymStatue + + db 5 ; object events + object_event 5, 3, SPRITE_CLAIR, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, BlackthornGymClairScript, -1 + object_event 6, 6, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerCooltrainermMike, -1 + object_event 1, 14, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerCooltrainermPaul, -1 + object_event 9, 2, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerCooltrainerfLola, -1 + object_event 7, 15, SPRITE_GYM_GUY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, BlackthornGymGuyScript, -1 diff --git a/maps/BlackthornGym2F.asm b/maps/BlackthornGym2F.asm new file mode 100644 index 00000000..73fdb2d3 --- /dev/null +++ b/maps/BlackthornGym2F.asm @@ -0,0 +1,155 @@ + const_def 2 ; object constants + const BLACKTHORNGYM2F_COOLTRAINER_M + const BLACKTHORNGYM2F_COOLTRAINER_F + const BLACKTHORNGYM2F_BOULDER1 + const BLACKTHORNGYM2F_BOULDER2 + const BLACKTHORNGYM2F_BOULDER3 + const BLACKTHORNGYM2F_BOULDER4 + const BLACKTHORNGYM2F_BOULDER5 + const BLACKTHORNGYM2F_BOULDER6 + +BlackthornGym2F_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_CMDQUEUE, .SetUpStoneTable + +.SetUpStoneTable: + writecmdqueue .CommandQueue + return + +.CommandQueue: + cmdqueue CMDQUEUE_STONETABLE, .StoneTable ; check if any stones are sitting on a warp + +.StoneTable: + stonetable 5, BLACKTHORNGYM2F_BOULDER1, .Boulder1 + stonetable 3, BLACKTHORNGYM2F_BOULDER2, .Boulder2 + stonetable 4, BLACKTHORNGYM2F_BOULDER3, .Boulder3 + db -1 ; end + +.Boulder1: + disappear BLACKTHORNGYM2F_BOULDER1 + jump .Fall + +.Boulder2: + disappear BLACKTHORNGYM2F_BOULDER2 + jump .Fall + +.Boulder3: + disappear BLACKTHORNGYM2F_BOULDER3 + jump .Fall + +.Fall: + pause 30 + scall .FX + opentext + writetext BlackthornGym2FBoulderFellText + waitbutton + closetext + end + +.FX: + playsound SFX_STRENGTH + earthquake 80 + end + +BlackthornGymBoulder: + jumpstd strengthboulder + +TrainerCooltrainermCody: + trainer COOLTRAINERM, CODY, EVENT_BEAT_COOLTRAINERM_CODY, CooltrainermCodySeenText, CooltrainermCodyBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CooltrainermCodyAfterBattleText + waitbutton + closetext + end + +TrainerCooltrainerfFran: + trainer COOLTRAINERF, FRAN, EVENT_BEAT_COOLTRAINERF_FRAN, CooltrainerfFranSeenText, CooltrainerfFranBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CooltrainerfFranAfterBattleText + waitbutton + closetext + end + +CooltrainermCodySeenText: + text "It's not as if we" + line "all use dragon-" + cont "type #MON." + + para "My policy is to" + line "use #MON that" + + para "are stronger than" + line "dragon #MON." + done + +CooltrainermCodyBeatenText: + text "You are special…" + done + +CooltrainermCodyAfterBattleText: + text "But just watch!" + line "My #MON will" + + para "become even more" + line "powerful." + + para "We'll be tougher" + line "as a trainer and" + cont "#MON team." + done + +CooltrainerfFranSeenText: + text "We go through rig-" + line "orous training un-" + cont "der CLAIR. I can't" + cont "afford to lose." + done + +CooltrainerfFranBeatenText: + text "Arrrgh! I'm so" + line "disgusted!" + done + +CooltrainerfFranAfterBattleText: + text "Whew…" + + para "I'll have to re-" + line "think my training…" + done + +BlackthornGym2FBoulderFellText: + text "The boulder fell" + line "through!" + done + +BlackthornGym2F_MapEvents: + db 0, 0 ; filler + + db 5 ; warp events + warp_event 1, 7, BLACKTHORN_GYM_1F, 3 + warp_event 7, 9, BLACKTHORN_GYM_1F, 4 + warp_event 2, 5, BLACKTHORN_GYM_1F, 5 ; hole + warp_event 8, 7, BLACKTHORN_GYM_1F, 6 ; hole + warp_event 8, 3, BLACKTHORN_GYM_1F, 7 ; hole + + db 0 ; coord events + + db 0 ; bg events + + db 8 ; object events + object_event 4, 1, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerCooltrainermCody, -1 + object_event 4, 11, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerCooltrainerfFran, -1 + object_event 8, 2, SPRITE_BOULDER, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_1 + object_event 2, 3, SPRITE_BOULDER, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_2 + object_event 6, 16, SPRITE_BOULDER, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_3 + object_event 3, 3, SPRITE_BOULDER, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlackthornGymBoulder, -1 + object_event 6, 1, SPRITE_BOULDER, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlackthornGymBoulder, -1 + object_event 8, 14, SPRITE_BOULDER, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlackthornGymBoulder, -1 diff --git a/maps/BlackthornMart.asm b/maps/BlackthornMart.asm new file mode 100644 index 00000000..c7a61af0 --- /dev/null +++ b/maps/BlackthornMart.asm @@ -0,0 +1,61 @@ + const_def 2 ; object constants + const BLACKTHORNMART_CLERK + const BLACKTHORNMART_COOLTRAINER_M + const BLACKTHORNMART_BLACK_BELT + +BlackthornMart_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +BlackthornMartClerkScript: + opentext + pokemart MARTTYPE_STANDARD, MART_BLACKTHORN + closetext + end + +BlackthornMartCooltrainerMScript: + jumptextfaceplayer BlackthornMartCooltrainerMText + +BlackthornMartBlackBeltScript: + jumptextfaceplayer BlackthornMartBlackBeltText + +BlackthornMartCooltrainerMText: + text "You can't buy MAX" + line "REVIVE, but it" + + para "fully restores a" + line "fainted #MON." + + para "Beware--it won't" + line "restore PP, the" + + para "POWER POINTS" + line "needed for moves." + done + +BlackthornMartBlackBeltText: + text "MAX REPEL keeps" + line "weak #MON away" + cont "from you." + + para "It's the longest" + line "lasting of the" + cont "REPEL sprays." + done + +BlackthornMart_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, BLACKTHORN_CITY, 4 + warp_event 3, 7, BLACKTHORN_CITY, 4 + + 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, BlackthornMartClerkScript, -1 + object_event 7, 6, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlackthornMartCooltrainerMScript, -1 + object_event 5, 2, SPRITE_BLACK_BELT, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, BlackthornMartBlackBeltScript, -1 diff --git a/maps/BlackthornPokecenter1F.asm b/maps/BlackthornPokecenter1F.asm new file mode 100644 index 00000000..a6e44a88 --- /dev/null +++ b/maps/BlackthornPokecenter1F.asm @@ -0,0 +1,66 @@ + const_def 2 ; object constants + const BLACKTHORNPOKECENTER1F_NURSE + const BLACKTHORNPOKECENTER1F_GENTLEMAN + const BLACKTHORNPOKECENTER1F_TWIN + const BLACKTHORNPOKECENTER1F_COOLTRAINER_M + +BlackthornPokecenter1F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +BlackthornPokecenter1FNurseScript: + jumpstd pokecenternurse + +BlackthornPokecenter1FGentlemanScript: + jumptextfaceplayer BlackthornPokecenter1FGentlemanText + +BlackthornPokecenter1FTwinScript: + jumptextfaceplayer BlackthornPokecenter1FTwinText + +BlackthornPokecenter1FCooltrainerMScript: + jumpstd happinesschecknpc + +BlackthornPokecenter1FGentlemanText: + text "Deep inside far-" + line "off INDIGO PLATEAU" + + para "is the #MON" + line "LEAGUE." + + para "I hear the best" + line "trainers gather" + + para "there from around" + line "the country." + done + +BlackthornPokecenter1FTwinText: + text "There was this" + line "move I just had" + + para "to teach my #-" + line "MON." + + para "So I got the MOVE" + line "DELETER to make it" + cont "forget an HM move." + done + +BlackthornPokecenter1F_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 3, 7, BLACKTHORN_CITY, 5 + warp_event 4, 7, BLACKTHORN_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, BlackthornPokecenter1FNurseScript, -1 + object_event 5, 3, SPRITE_GENTLEMAN, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlackthornPokecenter1FGentlemanScript, -1 + object_event 1, 4, SPRITE_TWIN, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, BlackthornPokecenter1FTwinScript, -1 + object_event 7, 6, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, BlackthornPokecenter1FCooltrainerMScript, -1 diff --git a/maps/CinnabarPokecenter1F.asm b/maps/CinnabarPokecenter1F.asm new file mode 100644 index 00000000..9100f73b --- /dev/null +++ b/maps/CinnabarPokecenter1F.asm @@ -0,0 +1,50 @@ + const_def 2 ; object constants + const CINNABARPOKECENTER1F_NURSE + const CINNABARPOKECENTER1F_COOLTRAINER_F + const CINNABARPOKECENTER1F_FISHER + +CinnabarPokecenter1F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CinnabarPokecenter1FNurseScript: + jumpstd pokecenternurse + +CinnabarPokecenter1FCooltrainerFScript: + jumptextfaceplayer CinnabarPokecenter1FCooltrainerFText + +CinnabarPokecenter1FFisherScript: + jumptextfaceplayer CinnabarPokecenter1FFisherText + +CinnabarPokecenter1FCooltrainerFText: + text "CINNABAR GYM's" + line "BLAINE apparently" + + para "lives alone in the" + line "SEAFOAM ISLANDS" + cont "cave…" + done + +CinnabarPokecenter1FFisherText: + text "It's been a year" + line "since the volcano" + cont "erupted." + done + +CinnabarPokecenter1F_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 3, 7, CINNABAR_ISLAND, 1 + warp_event 4, 7, CINNABAR_ISLAND, 1 + warp_event 0, 7, POKECENTER_2F, 1 + + db 0 ; coord events + + db 0 ; bg events + + db 3 ; object events + object_event 3, 1, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CinnabarPokecenter1FNurseScript, -1 + object_event 7, 6, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CinnabarPokecenter1FCooltrainerFScript, -1 + object_event 2, 4, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CinnabarPokecenter1FFisherScript, -1 diff --git a/maps/CinnabarPokecenter2FBeta.asm b/maps/CinnabarPokecenter2FBeta.asm new file mode 100644 index 00000000..cf100a4a --- /dev/null +++ b/maps/CinnabarPokecenter2FBeta.asm @@ -0,0 +1,16 @@ +CinnabarPokecenter2FBeta_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CinnabarPokecenter2FBeta_MapEvents: + db 0, 0 ; filler + + db 1 ; warp events + warp_event 0, 7, CINNABAR_POKECENTER_1F, 3 + + db 0 ; coord events + + db 0 ; bg events + + db 0 ; object events diff --git a/maps/LakeOfRageHiddenPowerHouse.asm b/maps/LakeOfRageHiddenPowerHouse.asm new file mode 100644 index 00000000..177d7ea2 --- /dev/null +++ b/maps/LakeOfRageHiddenPowerHouse.asm @@ -0,0 +1,82 @@ + const_def 2 ; object constants + const LAKEOFRAGEHIDDENPOWERHOUSE_FISHER + +LakeOfRageHiddenPowerHouse_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +HiddenPowerGuy: + faceplayer + opentext + checkevent EVENT_GOT_TM10_HIDDEN_POWER + iftrue .AlreadyGotItem + writetext HiddenPowerGuyText1 + buttonsound + verbosegiveitem TM_HIDDEN_POWER + iffalse .Done + setevent EVENT_GOT_TM10_HIDDEN_POWER + writetext HiddenPowerGuyText2 + waitbutton + closetext + end +.AlreadyGotItem: + writetext HiddenPowerGuyText3 + waitbutton +.Done: + closetext + end + +HiddenPowerHouseBookshelf: + jumpstd difficultbookshelf + +HiddenPowerGuyText1: + text "…You have strayed" + line "far…" + + para "Here I have medi-" + line "tated. Inside me," + + para "a new power has" + line "been awakened." + + para "Let me share my" + line "power with your" + + para "#MON." + line "Take this, child." + done + +HiddenPowerGuyText2: + text "Do you see it? It" + line "is HIDDEN POWER!" + + para "It draws out the" + line "power of #MON" + cont "for attacking." + + para "Remember this: its" + line "type and power de-" + cont "pend on the #-" + cont "MON using it." + done + +HiddenPowerGuyText3: + text "I am meditating…" + done + +LakeOfRageHiddenPowerHouse_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, LAKE_OF_RAGE, 1 + warp_event 3, 7, LAKE_OF_RAGE, 1 + + db 0 ; coord events + + db 2 ; bg events + bg_event 0, 1, BGEVENT_READ, HiddenPowerHouseBookshelf + bg_event 1, 1, BGEVENT_READ, HiddenPowerHouseBookshelf + + db 1 ; object events + object_event 2, 3, SPRITE_FISHER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, HiddenPowerGuy, -1 diff --git a/maps/LakeOfRageMagikarpHouse.asm b/maps/LakeOfRageMagikarpHouse.asm new file mode 100644 index 00000000..52c5a1e0 --- /dev/null +++ b/maps/LakeOfRageMagikarpHouse.asm @@ -0,0 +1,222 @@ + const_def 2 ; object constants + const LAKEOFRAGEMAGIKARPHOUSE_FISHING_GURU + +LakeOfRageMagikarpHouse_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +MagikarpLengthRaterScript: + faceplayer + opentext + checkevent EVENT_LAKE_OF_RAGE_ELIXIR_ON_STANDBY + iftrue .GetReward + checkevent EVENT_LAKE_OF_RAGE_ASKED_FOR_MAGIKARP + iftrue .AskedForMagikarp + checkevent EVENT_CLEARED_ROCKET_HIDEOUT + iftrue .ClearedRocketHideout + checkevent EVENT_LAKE_OF_RAGE_EXPLAINED_WEIRD_MAGIKARP + iftrue .ExplainedHistory + writetext MagikarpLengthRaterText_LakeOfRageHistory + waitbutton + closetext + setevent EVENT_LAKE_OF_RAGE_EXPLAINED_WEIRD_MAGIKARP + end + +.ExplainedHistory: + writetext MagikarpLengthRaterText_MenInBlack + waitbutton + closetext + end + +.ClearedRocketHideout: + writetext MagikarpLengthRaterText_WorldsLargestMagikarp + waitbutton + closetext + setevent EVENT_LAKE_OF_RAGE_ASKED_FOR_MAGIKARP + end + +.AskedForMagikarp: + writebyte MAGIKARP + special FindPartyMonThatSpecies + iffalse .ClearedRocketHideout + writetext MagikarpLengthRaterText_YouHaveAMagikarp + waitbutton + special CheckMagikarpLength + ifequal MAGIKARPLENGTH_NOT_MAGIKARP, .NotMagikarp + ifequal MAGIKARPLENGTH_REFUSED, .Refused + ifequal MAGIKARPLENGTH_TOO_SHORT, .TooShort + ; MAGIKARPLENGTH_BEAT_RECORD + jump .GetReward + +.GetReward: + writetext MagikarpLengthRaterText_Memento + buttonsound + verbosegiveitem ETHER + iffalse .NoRoom + writetext MagikarpLengthRaterText_Bonus + waitbutton + closetext + clearevent EVENT_LAKE_OF_RAGE_ELIXIR_ON_STANDBY + end + +.NoRoom: + closetext + setevent EVENT_LAKE_OF_RAGE_ELIXIR_ON_STANDBY + end + +.TooShort: + writetext MagikarpLengthRaterText_TooShort + waitbutton + closetext + end + +.NotMagikarp: + writetext MagikarpLengthRaterText_NotMagikarp + waitbutton + closetext + end + +.Refused: + writetext MagikarpLengthRaterText_Refused + waitbutton + closetext + end + +LakeOfRageMagikarpHouseUnusedRecordSign: +; unused + jumptext LakeOfRageMagikarpHouseUnusedRecordText + +MagikarpHouseBookshelf: + jumpstd difficultbookshelf + +MagikarpLengthRaterText_LakeOfRageHistory: + text "LAKE OF RAGE is" + line "actually a crater" + + para "made by rampaging" + line "GYARADOS." + + para "The crater filled" + line "up with rainwater" + + para "and the LAKE was" + line "formed." + + para "That's the story" + line "passed on from my" + + para "Grandpa's great-" + line "great-grandpa." + + para "It used to be that" + line "you could catch" + + para "lively MAGIKARP" + line "there, but…" + + para "I don't understand" + line "what's happening." + done + +MagikarpLengthRaterText_MenInBlack: + text "The LAKE hasn't" + line "been normal since" + + para "those men wearing" + line "black arrived." + done + +MagikarpLengthRaterText_WorldsLargestMagikarp: + text "LAKE OF RAGE is" + line "back to normal." + + para "The MAGIKARP have" + line "returned." + + para "I may yet realize" + line "my dream of see-" + cont "ing the world's" + cont "largest MAGIKARP." + + para "Do you have a ROD?" + line "Please help me if" + cont "you do." + done + +MagikarpLengthRaterText_YouHaveAMagikarp: + text "Ah, you have a" + line "MAGIKARP! Let's" + + para "see how big that" + line "baby is." + done + +MagikarpLengthRaterText_Memento: + text "Wow! This one is" + line "outstanding!" + + para "I tip my hat to" + line "you!" + + para "Take this as a" + line "memento!" + done + +MagikarpLengthRaterText_Bonus: + text "The record is the" + line "important thing." + + para "Think of that as" + line "a bonus!" + done + +MagikarpLengthRaterText_TooShort: + text "Wow! This one is" + line "outstanding!" + + para "…I wish I could" + line "say that, but I've" + + para "seen a bigger one" + line "before." + done + +MagikarpLengthRaterText_NotMagikarp: + text "What? That's not a" + line "MAGIKARP!" + done + +MagikarpLengthRaterText_Refused: + text "Oh… So you didn't" + line "get one good" + + para "enough to show me?" + line "Maybe next time." + done + +LakeOfRageMagikarpHouseUnusedRecordText: + text "CURRENT RECORD" + + para "@" + text_from_ram wStringBuffer3 + text " caught by" + line "@" + text_from_ram wStringBuffer4 + db "@@" + +LakeOfRageMagikarpHouse_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, LAKE_OF_RAGE, 2 + warp_event 3, 7, LAKE_OF_RAGE, 2 + + db 0 ; coord events + + db 2 ; bg events + bg_event 0, 1, BGEVENT_READ, MagikarpHouseBookshelf + bg_event 1, 1, BGEVENT_READ, MagikarpHouseBookshelf + + db 1 ; object events + object_event 2, 3, SPRITE_FISHING_GURU, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MagikarpLengthRaterScript, -1 diff --git a/maps/MoveDeletersHouse.asm b/maps/MoveDeletersHouse.asm new file mode 100644 index 00000000..e382cf22 --- /dev/null +++ b/maps/MoveDeletersHouse.asm @@ -0,0 +1,34 @@ + const_def 2 ; object constants + const MOVEDELETERSHOUSE_SUPER_NERD + +MoveDeletersHouse_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +MoveDeleter: + faceplayer + opentext + special MoveDeletion + waitbutton + closetext + end + +MoveDeletersHouseBookshelf: + jumpstd difficultbookshelf + +MoveDeletersHouse_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, BLACKTHORN_CITY, 6 + warp_event 3, 7, BLACKTHORN_CITY, 6 + + db 0 ; coord events + + db 2 ; bg events + bg_event 0, 1, BGEVENT_READ, MoveDeletersHouseBookshelf + bg_event 1, 1, BGEVENT_READ, MoveDeletersHouseBookshelf + + db 1 ; object events + object_event 2, 3, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MoveDeleter, -1 diff --git a/maps/Route19FuchsiaGate.asm b/maps/Route19FuchsiaGate.asm new file mode 100644 index 00000000..4c2d6abd --- /dev/null +++ b/maps/Route19FuchsiaGate.asm @@ -0,0 +1,60 @@ + const_def 2 ; object constants + const ROUTE19FUCHSIAGATE_OFFICER + +Route19FuchsiaGate_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +Route19FuchsiaGateOfficerScript: + faceplayer + opentext + checkevent EVENT_CINNABAR_ROCKS_CLEARED + iftrue .RocksCleared + writetext Route19FuchsiaGateOfficerText + waitbutton + closetext + end + +.RocksCleared: + writetext Route19FuchsiaGateOfficerText_RocksCleared + waitbutton + closetext + end + +Route19FuchsiaGateOfficerText: + text "CINNABAR's volcano" + line "erupted." + + para "It hurled boulders" + line "that cut off ROUTE" + cont "19 indefinitely." + + para "I wonder if the" + line "people of CINNABAR" + cont "are safe…" + done + +Route19FuchsiaGateOfficerText_RocksCleared: + text "No CINNABAR citi-" + line "zens were injured" + + para "by the eruption." + line "That's great!" + done + +Route19FuchsiaGate_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 4, 0, FUCHSIA_CITY, 10 + warp_event 5, 0, FUCHSIA_CITY, 11 + warp_event 4, 7, ROUTE_19, 1 + warp_event 5, 7, ROUTE_19, 1 + + 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, Route19FuchsiaGateOfficerScript, -1 diff --git a/maps/Route43Gate.asm b/maps/Route43Gate.asm new file mode 100644 index 00000000..6b4c530d --- /dev/null +++ b/maps/Route43Gate.asm @@ -0,0 +1,263 @@ +ROUTE43GATE_TOLL EQU 1000 + + const_def 2 ; object constants + const ROUTE43GATE_OFFICER + const ROUTE43GATE_ROCKET1 + const ROUTE43GATE_ROCKET2 + +Route43Gate_MapScripts: + db 2 ; scene scripts + scene_script .RocketShakedown ; SCENE_DEFAULT + scene_script .DummyScene ; SCENE_FINISHED + + db 1 ; callbacks + callback MAPCALLBACK_NEWMAP, .CheckIfRockets + +.RocketShakedown: + priorityjump .RocketTakeover + end + +.DummyScene: + end + +.CheckIfRockets: + checkevent EVENT_CLEARED_ROCKET_HIDEOUT + iftrue .NoRockets + setmapscene ROUTE_43, 0 ; Route 43 does not have a scene variable + return + +.NoRockets: + setmapscene ROUTE_43, 1 ; Route 43 does not have a scene variable + return + +.RocketTakeover: + playmusic MUSIC_ROCKET_ENCOUNTER + checkcode VAR_FACING + ifequal DOWN, RocketScript_Southbound + ifequal UP, RocketScript_Northbound + setscene SCENE_FINISHED + end + +RocketScript_Southbound: + applymovement PLAYER, PlayerStepsIn + showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET2, 15 + applymovement ROUTE43GATE_ROCKET2, Rocket2Script_BlocksYouSouth + turnobject ROUTE43GATE_ROCKET1, UP + showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET1, 15 + applymovement ROUTE43GATE_ROCKET1, Rocket1Script_BlocksYouSouth + opentext + writetext RocketText_TollFee + buttonsound + checkmoney YOUR_MONEY, ROUTE43GATE_TOLL - 1 + ifequal HAVE_MORE, RocketScript_TollSouth + jump RocketScript_YoureBrokeSouth + +RocketScript_TollSouth: + takemoney YOUR_MONEY, ROUTE43GATE_TOLL + writetext RocketText_ThankYou + jump RocketScript_ShakeDownSouth + +RocketScript_YoureBrokeSouth: + takemoney YOUR_MONEY, ROUTE43GATE_TOLL + writetext RocketText_AllYouGot + jump RocketScript_ShakeDownSouth + +RocketScript_ShakeDownSouth: + buttonsound + closetext + applymovement ROUTE43GATE_ROCKET1, Rocket1Script_LetsYouPassSouth + applymovement ROUTE43GATE_ROCKET2, Rocket2Script_LetsYouPassSouth + setscene SCENE_FINISHED + special RestartMapMusic + end + +RocketScript_Northbound: + showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET1, 15 + applymovement ROUTE43GATE_ROCKET1, Rocket1Script_BlocksYouNorth + turnobject ROUTE43GATE_ROCKET2, DOWN + showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET2, 15 + applymovement ROUTE43GATE_ROCKET2, Rocket2Script_BlocksYouNorth + opentext + writetext RocketText_TollFee + buttonsound + checkmoney YOUR_MONEY, ROUTE43GATE_TOLL - 1 + ifequal HAVE_MORE, RocketScript_TollNorth + jump RocketScript_YoureBrokeNorth + +RocketScript_TollNorth: + takemoney YOUR_MONEY, ROUTE43GATE_TOLL + writetext RocketText_ThankYou + jump RocketScript_ShakeDownNorth + +RocketScript_YoureBrokeNorth: + takemoney YOUR_MONEY, ROUTE43GATE_TOLL + writetext RocketText_AllYouGot + jump RocketScript_ShakeDownNorth + +RocketScript_ShakeDownNorth: + buttonsound + closetext + applymovement ROUTE43GATE_ROCKET2, Rocket2Script_LetsYouPassNorth + applymovement ROUTE43GATE_ROCKET1, Rocket1Script_LetsYouPassNorth + setscene SCENE_FINISHED + special RestartMapMusic + end + +RocketScript_MakingABundle: + jumptextfaceplayer RocketText_MakingABundle + +OfficerScript_GuardWithSludgeBomb: + faceplayer + opentext + checkevent EVENT_GOT_TM36_SLUDGE_BOMB + iftrue .GotSludgeBomb + writetext OfficerText_FoundTM + buttonsound + verbosegiveitem TM_SLUDGE_BOMB + iffalse .NoRoomForSludgeBomb + setevent EVENT_GOT_TM36_SLUDGE_BOMB + closetext + end + +.GotSludgeBomb: + writetext OfficerText_AvoidGrass + waitbutton +.NoRoomForSludgeBomb: + closetext + end + +PlayerStepsIn: + step DOWN + step_end + +Rocket1Script_BlocksYouSouth: + big_step UP + big_step UP + big_step RIGHT + big_step RIGHT + turn_head UP + step_end + +Rocket1Script_LetsYouPassSouth: + big_step LEFT + big_step LEFT + big_step DOWN + big_step DOWN + step_end + +Rocket1Script_BlocksYouNorth: + big_step DOWN + big_step DOWN + big_step RIGHT + big_step RIGHT + turn_head DOWN + step_end + +Rocket1Script_LetsYouPassNorth: + big_step LEFT + big_step LEFT + big_step UP + big_step UP + turn_head DOWN + step_end + +Rocket2Script_BlocksYouSouth: + big_step UP + big_step UP + big_step LEFT + big_step LEFT + turn_head UP + step_end + +Rocket2Script_LetsYouPassSouth: + big_step RIGHT + big_step RIGHT + big_step DOWN + big_step DOWN + turn_head UP + step_end + +Rocket2Script_BlocksYouNorth: + big_step DOWN + big_step DOWN + big_step LEFT + big_step LEFT + turn_head DOWN + step_end + +Rocket2Script_LetsYouPassNorth: + big_step RIGHT + big_step RIGHT + big_step UP + big_step UP + step_end + +RocketText_TollFee: + text "Hold it there," + line "mister!" + + para "The toll is ¥1000" + line "to go through." + done + +RocketText_ThankYou: + text "Thank you, sir!" + done + +RocketText_AllYouGot: + text "Then pay what you" + line "have, please." + done + +RocketText_MakingABundle: + text "He-he-he. We're" + line "making a bundle." + + para "Everyone wants to" + line "see what's going" + + para "on up at LAKE OF" + line "RAGE." + done + +OfficerText_FoundTM: + text "I got chased from" + line "my post by these" + cont "thugs in black." + + para "They left this" + line "behind." + + para "It makes me uncom-" + line "fortable. Could" + cont "you take it away?" + done + +Text_ReceivedTM30: + text "<PLAYER> received" + line "TM30." + done + +OfficerText_AvoidGrass: + text "Use this gate to" + line "avoid walking in" + cont "the grass." + done + +Route43Gate_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 4, 0, ROUTE_43, 4 + warp_event 5, 0, ROUTE_43, 5 + warp_event 4, 7, ROUTE_43, 3 + warp_event 5, 7, ROUTE_43, 3 + + db 0 ; coord events + + db 0 ; bg events + + db 3 ; object events + object_event 0, 4, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, OfficerScript_GuardWithSludgeBomb, EVENT_LAKE_OF_RAGE_CIVILIANS + object_event 2, 4, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, RocketScript_MakingABundle, EVENT_ROUTE_43_GATE_ROCKETS + object_event 7, 4, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, RocketScript_MakingABundle, EVENT_ROUTE_43_GATE_ROCKETS diff --git a/maps/Route43MahoganyGate.asm b/maps/Route43MahoganyGate.asm new file mode 100644 index 00000000..671b64ae --- /dev/null +++ b/maps/Route43MahoganyGate.asm @@ -0,0 +1,53 @@ + const_def 2 ; object constants + const ROUTE43MAHOGANYGATE_OFFICER + +Route43MahoganyGate_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +Route43MahoganyGateOfficer: + faceplayer + opentext + checkevent EVENT_CLEARED_ROCKET_HIDEOUT + iftrue .RocketsCleared + writetext Route43MahoganyGateOfficerText + waitbutton + closetext + end + +.RocketsCleared: + writetext Route43MahoganyGateOfficerRocketsClearedText + waitbutton + closetext + end + +Route43MahoganyGateOfficerText: + text "Only people headed" + line "up to LAKE OF RAGE" + + para "have been through" + line "here lately." + done + +Route43MahoganyGateOfficerRocketsClearedText: + text "Nobody goes up to" + line "LAKE OF RAGE these" + cont "days." + done + +Route43MahoganyGate_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 4, 0, ROUTE_43, 1 + warp_event 5, 0, ROUTE_43, 2 + warp_event 4, 7, MAHOGANY_TOWN, 5 + warp_event 5, 7, MAHOGANY_TOWN, 5 + + 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_RED, OBJECTTYPE_SCRIPT, 0, Route43MahoganyGateOfficer, -1 diff --git a/maps/SeafoamGym.asm b/maps/SeafoamGym.asm new file mode 100644 index 00000000..5aa09720 --- /dev/null +++ b/maps/SeafoamGym.asm @@ -0,0 +1,170 @@ + const_def 2 ; object constants + const SEAFOAMGYM_BLAINE + const SEAFOAMGYM_GYM_GUY + +SeafoamGym_MapScripts: + db 1 ; scene scripts + scene_script .DummyScene + + db 0 ; callbacks + +.DummyScene: + end + +SeafoamGymBlaineScript: + faceplayer + opentext + checkflag ENGINE_VOLCANOBADGE + iftrue .FightDone + writetext BlaineIntroText + waitbutton + closetext + winlosstext BlaineWinLossText, 0 + loadtrainer BLAINE, BLAINE1 + startbattle + iftrue .ReturnAfterBattle + appear SEAFOAMGYM_GYM_GUY +.ReturnAfterBattle: + reloadmapafterbattle + setevent EVENT_BEAT_BLAINE + opentext + writetext ReceivedVolcanoBadgeText + playsound SFX_GET_BADGE + waitsfx + setflag ENGINE_VOLCANOBADGE + writetext BlaineAfterBattleText + waitbutton + closetext + end + +.FightDone: + writetext BlaineFightDoneText + waitbutton + closetext + end + +SeafoamGymGuyScript: + faceplayer + opentext + checkevent EVENT_TALKED_TO_SEAFOAM_GYM_GUY_ONCE + iftrue .TalkedToSeafoamGymGuyScript + writetext SeafoamGymGuyWinText + waitbutton + closetext + setevent EVENT_TALKED_TO_SEAFOAM_GYM_GUY_ONCE + end + +.TalkedToSeafoamGymGuyScript: + writetext SeafoamGymGuyWinText2 + waitbutton + closetext + end + +BlaineIntroText: + text "BLAINE: Waaah!" + + para "My GYM in CINNABAR" + line "burned down." + + para "My fire-breathing" + line "#MON and I are" + + para "homeless because" + line "of the volcano." + + para "Waaah!" + + para "But I'm back in" + line "business as a GYM" + + para "LEADER here in" + line "this cave." + + para "If you can beat" + line "me, I'll give you" + cont "a BADGE." + + para "Ha! You'd better" + line "have BURN HEAL!" + done + +BlaineWinLossText: + text "BLAINE: Awesome." + line "I've burned out…" + + para "You've earned" + line "VOLCANOBADGE!" + done + +ReceivedVolcanoBadgeText: + text "<PLAYER> received" + line "VOLCANOBADGE." + done + +BlaineAfterBattleText: + text "BLAINE: I did lose" + line "this time, but I'm" + + para "going to win the" + line "next time." + + para "When I rebuild my" + line "CINNABAR GYM," + + para "we'll have to have" + line "a rematch." + done + +BlaineFightDoneText: + text "BLAINE: My fire" + line "#MON will be" + + para "even stronger." + line "Just you watch!" + done + +SeafoamGymGuyWinText: + text "Yo!" + + para "… Huh? It's over" + line "already?" + + para "Sorry, dude!" + + para "CINNABAR GYM was" + line "gone, so I didn't" + + para "know where to find" + line "you." + + para "But, hey, you're" + line "plenty strong even" + + para "without my advice." + line "I knew you'd win!" + done + +SeafoamGymGuyWinText2: + text "A #MON GYM can" + line "be anywhere as" + + para "long as the GYM" + line "LEADER is there." + + para "There's no need" + line "for a building." + done + +SeafoamGym_MapEvents: + db 0, 0 ; filler + + db 1 ; warp events + warp_event 5, 5, ROUTE_20, 1 + + db 0 ; coord events + + db 0 ; bg events + + db 2 ; object events + object_event 5, 2, SPRITE_BLAINE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, SeafoamGymBlaineScript, -1 + object_event 6, 5, SPRITE_GYM_GUY, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, SeafoamGymGuyScript, EVENT_SEAFOAM_GYM_GYM_GUY |