From 7a5cbd31dcd8636cea700115ba27d7e1e7e3666b Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Thu, 25 Jul 2024 12:55:45 +0100 Subject: [PATCH] White City progressgating This commit adds some events to the White City gate that prevent the player from getting too ahead of themselves. I've also expanded Route 66 and Winner's Path so you don't get that ugly gate ending too early. Oh, and Cal has his teams and some notes for the future chucked in. The player needs to dumpsterfuck Green to access White City now! --- constants/map_constants.asm | 4 +- data/maps/scenes.asm | 1 + data/trainers/parties.asm | 59 +++++++++++++++++++++-------- maps/CalsHouse2F.asm | 9 +++-- maps/Route66.ablk | 4 +- maps/Route66WhiteCityGate.asm | 70 ++++++++++++++++++++++++++++++++++- maps/WinnersPathOutside.ablk | 2 +- ram/wram.asm | 3 +- 8 files changed, 126 insertions(+), 26 deletions(-) diff --git a/constants/map_constants.asm b/constants/map_constants.asm index be59794..269f7cf 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -617,8 +617,8 @@ ENDM newgroup SILENT_HILLS ; 35 map_const WINNERS_PATH, 10, 26 ; 1 - map_const WINNERS_PATH_OUTSIDE, 9, 30 ; 2 - map_const ROUTE_66, 31, 9 ; 3 + map_const WINNERS_PATH_OUTSIDE, 10, 30 ; 2 + map_const ROUTE_66, 32, 9 ; 3 map_const SILENT_HILLS, 10, 10 ; 4 map_const DEBUG_ROOM, 20, 20 ; 5 map_const ROUTE_49, 15, 9 ; 6 diff --git a/data/maps/scenes.asm b/data/maps/scenes.asm index 39a825c..8c8aa4f 100644 --- a/data/maps/scenes.asm +++ b/data/maps/scenes.asm @@ -88,4 +88,5 @@ MapScenes:: scene_var PEWTER_MUSEUM_OF_SCIENCE_1F, wPewterMuseum1FSceneID scene_var SILENT_HILLS, wSilentHillsSceneID scene_var BLUE_LAB, wBlueLabSceneID + scene_var ROUTE_66_WHITE_CITY_GATE, wRoute66WhiteCityGateID db -1 ; end diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index 9efda8b..a7f4dce 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -451,25 +451,52 @@ WillGroup: PKMNTrainerGroup: next_list_item ; CAL (1) - db "CAL@", TRAINERTYPE_NORMAL - db 10 - dw CHIKORITA - db 10 - dw CYNDAQUIL - db 10 - dw TOTODILE + ; A "story team" of Pokemon using lots of field moves. Cal gets around using this one. + db "CAL@", TRAINERTYPE_MOVES + db 50 + dw FURRET + dw STRENGTH, HEADBUTT, SURF, CUT + db 50 + dw TOGEKISS + dw FLY, THUNDERBOLT, FIRE_BLAST, FLASH + db 50 + dw JOLTEON + dw THUNDERBOLT, DIG, THUNDER_WAVE, DOUBLE_KICK + db 50 + dw MEGANIUM + dw RAZOR_LEAF, SYNTHESIS, BODY_SLAM, SWEET_SCENT + db 50 + dw TYPHLOSION + dw ROCK_SMASH, FIRE_BLAST, THUNDERPUNCH, SUBMISSION + db 50 + dw FERALIGATR + dw WHIRLPOOL, WATERFALL, ICE_PUNCH, CRUNCH db -1 ; end - + + ; This is more like, Cal's "real" team. next_list_item ; CAL (2) - db "CAL@", TRAINERTYPE_NORMAL - db 30 - dw BAYLEEF - db 30 - dw QUILAVA - db 30 - dw CROCONAW + db "CAL@", TRAINERTYPE_MOVES + db 60 + dw KLEAVOR + dw SWORDS_DANCE, ROCK_SLASH, AGILITY, BATON_PASS + db 60 + dw PIDGEOT + dw DOUBLE_EDGE, WING_ATTACK, MIRROR_MOVE, PURSUIT + db 60 + db PILOSWINE ; MAMOSWINE + dw EARTHQUAKE, BODY_SLAM, ROAR, ANCIENTPOWER + db 60 + dw SLOWKING + dw PSYCHIC_M, SURF, FUTURE_SIGHT, ICE_BEAM + db 60 + dw GOROCHU + dw BELLY_DRUM, BODY_SLAM, SURF, SUBMISSION + db 60 + dw BRUINOUS + dw FIRE_BLAST, CRUNCH, SUNNY_DAY, SOLARBEAM db -1 ; end - + + ; This is replaced when using Mystery Gift or something, so don't get too attached. next_list_item ; CAL (3) db "CAL@", TRAINERTYPE_NORMAL db 50 diff --git a/maps/CalsHouse2F.asm b/maps/CalsHouse2F.asm index 7512402..d76c66d 100644 --- a/maps/CalsHouse2F.asm +++ b/maps/CalsHouse2F.asm @@ -2,11 +2,14 @@ ; https://www.youtube.com/watch?v=Pe1vsKRl7_M&ab_channel=Minamitoku ; Because there's no player here, we're taking the opportunity to expand on Cal. -; While usually a Trainer House stand-in in Viridian, he is characterised in some ways. -; For example, he says he's a traveling trainer in GSC. -; In Stadium 2, he is further characterised and even given a unique design. +; In base GSC, he's a trainer who travels to Viridian City to challenge the player, acting as a stand-in if you haven't used Mystery Gift before. +; In Stadium 2, he is given a unique design and uses largely random Pokemon. ; Everything just kind of falls into place, no? +; So here, we're having Cal be a trainer who enjoys using rental Pokemon. He loves to battle, but doesn't want to spend too much time training or catching his own. He gets more excitement out of quick-thinking and wit! + +; He'll still have his Trainer House role, but we're changing that up a bit too! + object_const_def const CALSHOUSE_KEN diff --git a/maps/Route66.ablk b/maps/Route66.ablk index 0bb7fd7..834ebb9 100644 --- a/maps/Route66.ablk +++ b/maps/Route66.ablk @@ -1,6 +1,6 @@ -k))(k)))))))))))(efj''%eeeeeeeeeej'''''''''''%-`-TnnnUptt]^"C"X555Y‹ŒŒb"†"X555Y`beeeeeeee"eeeX555Yeee` +k))(k)))))))))))(efj''%eeeeeeeeeej'''''''''''%-`-TnnnUpttt]^"C"X555Y‹ŒŒŒb"†"X555Y`beeeeeeee"eeeX555Yeee` -nnnnnnnnnnnŠ555Y \ No newline at end of file +nnnnnnnnnnnŠ555Y \ No newline at end of file diff --git a/maps/Route66WhiteCityGate.asm b/maps/Route66WhiteCityGate.asm index 0d7b8aa..fcca1eb 100644 --- a/maps/Route66WhiteCityGate.asm +++ b/maps/Route66WhiteCityGate.asm @@ -2,9 +2,73 @@ Route66WhiteCityGate_MapScripts: def_scene_scripts + scene_script Route66WhiteCityGateNoopScript, SCENE_WHITECITYGATEMOMENT def_callbacks +Route66WhiteCityGateNoopScript: + end + +; Progressgating so the player doesn't go flying up to Stand... +Route66WhiteCityGateOfficerScript: + opentext + checkevent EVENT_BEAT_LEADER_GREEN + iftrue .skip + writetext Route66WhiteCityGateOfficerNoGoText1 + waitbutton + closetext + pause 15 + applymovement PLAYER, Route66WhiteCityGateNoGoMovement + opentext + writetext Route66WhiteCityGateOfficerNoGoText2 + waitbutton + closetext +.skip + end + +; This can never trigger unless the above event can't trigger. +Route66WhiteCityGateOfficerTalk: + jumptext Route66WhiteCityGateOfficerYouGoText + +Route66WhiteCityGateOfficerNoGoText1: + text "Whoa, aren't you" + line "hasty?" + done + +Route66WhiteCityGateOfficerNoGoText2: + text "The road's closed," + line "come back another" + cont "time." + done + +Route66WhiteCityGateOfficerYouGoText: + text "WHITE CITY is a" + line "big place." + + para "Don't get lost" + line "out there!" + done + +Route66WhiteCityGateNoGoMovement: + step LEFT + step_end + +Route66WhiteCityGateSpaceworldGirlScript: + jumptextfaceplayer Route66WhiteCityGateSpaceworldGirlText + +Route66WhiteCityGateSpaceworldGirlText: + text "There's this guy" + line "who comes through" + cont "here all the time." + + para "What was his name…" + + para "CAL?" + + para "Yeah, we call him" + line "a BATTLE MANIAC!" + done + Route66WhiteCityGate_MapEvents: db 0, 0 ; filler @@ -15,7 +79,11 @@ Route66WhiteCityGate_MapEvents: warp_event 9, 7, WHITE_CITY, 1 def_coord_events + coord_event 4, 5, SCENE_WHITECITYGATEMOMENT, Route66WhiteCityGateOfficerScript + coord_event 4, 4, SCENE_WHITECITYGATEMOMENT, Route66WhiteCityGateOfficerScript def_bg_events - def_object_events \ No newline at end of file + def_object_events + object_event 4, 2, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, Route66WhiteCityGateOfficerTalk, -1 + object_event 8, 3, SPRITE_SPACEWORLD_GIRL, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route66WhiteCityGateSpaceworldGirlScript, -1 diff --git a/maps/WinnersPathOutside.ablk b/maps/WinnersPathOutside.ablk index 34c49d5..f83d6e1 100644 --- a/maps/WinnersPathOutside.ablk +++ b/maps/WinnersPathOutside.ablk @@ -1 +1 @@ -ƒWWWWWWƒWWWWWWƒWWWWWWƒƒWWWWWWEk))))("l**‚%"l**&l**&l**&„l**&l***(l***&l***&l***&j''%EWWaƒmC99„WWWpttt…ƒrq{{…E \ No newline at end of file +ƒWWWWWWƒWWWWWWƒWWWWWWƒƒWWWWWWEk))))("l**‚%"l**&l**&l**&„l**&l***(l***&l***&l***&j''%EWWaƒmC99„WWWptttt…ƒrqŒŒŒ…E \ No newline at end of file diff --git a/ram/wram.asm b/ram/wram.asm index ec00df2..f98f982 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -3113,7 +3113,8 @@ wCeruleanCave1FSceneID:: db wPewterMuseum1FSceneID:: db wSilentHillsSceneID:: db wBlueLabSceneID:: db - ds 46 +wRoute66WhiteCityGateID:: db + ds 45 ; fight counts wJackFightCount:: db