diff --git a/constants/event_constants.asm b/constants/event_constants.asm index f585c874..af2d3d8b 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -582,10 +582,27 @@ const EVENT_BEAT_SS_ANNE_10_TRAINER_4 const EVENT_BEAT_SS_ANNE_10_TRAINER_5 -; Diglett's Cave events - const_next $650 +; New static encounter events + const_next $620 const_skip const EVENT_BEAT_CROCKY + const_skip 7 + const EVENT_BEAT_CACTUS + const_skip 7 + const EVENT_BEAT_MOLTRES + const_skip 7 + const EVENT_BEAT_OMEGA + +; Celadon University + salesman events + const_next $640 + const_skip + const_skip + const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_0 + const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_1 + const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_2 + const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_3 + const EVENT_BOUGHT_CUBONE + const EVENT_BOUGHT_DITTO ; Victory Road 3F events const_next $660 @@ -778,22 +795,6 @@ const_skip 8 const EVENT_BEAT_ARTICUNO -; Celadon University events - const_next $9E0 - const_skip - const_skip - const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_0 - const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_1 - const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_2 - const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_3 - const EVENT_BOUGHT_CUBONE - const EVENT_BOUGHT_DITTO - -; Cinnabar Volcano events - const_next $9F0 - const_skip - const EVENT_BEAT_MOLTRES - ; End of events const_next $A00 DEF NUM_EVENTS EQU const_value diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 6cbf6585..165add45 100644 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -237,7 +237,8 @@ DEF SHOW EQU $15 const HS_SEAFOAM_ISLANDS_B4F_BOULDER_1 ; E1 const HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 ; E2 const HS_ARTICUNO ; E3 X - const HS_CROCKY ; E4 X - const HS_MEW ; E5 X - const HS_MOLTRES ; E6 X + const HS_CROCKY ; E4 X + const HS_MEW ; E5 X + const HS_MOLTRES ; E6 X + ; const HS_CACTUS ; E7 X DEF NUM_HS_OBJECTS EQU const_value diff --git a/data/events/bench_guys.asm b/data/events/bench_guys.asm index 8f3d0948..da9ba840 100644 --- a/data/events/bench_guys.asm +++ b/data/events/bench_guys.asm @@ -17,4 +17,5 @@ BenchGuyTextPointers: bench_guy_text SAFFRON_POKECENTER, SPRITE_FACING_LEFT, SaffronCityPokecenterBenchGuyText bench_guy_text MT_MOON_POKECENTER, SPRITE_FACING_LEFT, MtMoonPokecenterBenchGuyText bench_guy_text ROCK_TUNNEL_POKECENTER, SPRITE_FACING_LEFT, RockTunnelPokecenterBenchGuyText + bench_guy_text CELADON_UNIVERSITY_POKECENTER, SPRITE_FACING_LEFT, CeladonUniversityPokecenterBenchGuyText db -1 ; end diff --git a/data/events/hidden_objects.asm b/data/events/hidden_objects.asm index 55e33731..7c752adc 100644 --- a/data/events/hidden_objects.asm +++ b/data/events/hidden_objects.asm @@ -84,6 +84,7 @@ HiddenObjectMaps: db VERMILION_CITY db CERULEAN_CITY db ROUTE_4 + db CELADON_UNIVERSITY_POKECENTER db -1 ; end HiddenObjectPointers: @@ -173,6 +174,7 @@ HiddenObjectPointers: dw VermilionCityHiddenObjects dw CeruleanCityHiddenObjects dw Route4HiddenObjects + dw CeladonUniversityPokecenterHiddenObjects MACRO hidden_object db \2 ; y coord @@ -666,3 +668,8 @@ CeruleanCityHiddenObjects: Route4HiddenObjects: hidden_object 40, 3, GREAT_BALL, HiddenItems db -1 ; end + +CeladonUniversityPokecenterHiddenObjects: + hidden_object 0, 4, SPRITE_FACING_UP, PrintBenchGuyText + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end diff --git a/data/maps/dungeon_maps.asm b/data/maps/dungeon_maps.asm index f4977ae8..f55322b9 100644 --- a/data/maps/dungeon_maps.asm +++ b/data/maps/dungeon_maps.asm @@ -1,8 +1,3 @@ -; GetBattleTransitionID_IsDungeonMap fails to recognize -; VICTORY_ROAD_2F, VICTORY_ROAD_3F, all ROCKET_HIDEOUT maps, -; POKEMON_MANSION_1F, SEAFOAM_ISLANDS_[B1F-B4F], POWER_PLANT, -; DIGLETTS_CAVE, and SILPH_CO_[9-11]F as dungeon maps - ; GetBattleTransitionID_IsDungeonMap checks if wCurMap ; is equal to one of these maps DungeonMaps1: @@ -11,6 +6,11 @@ DungeonMaps1: db SEAFOAM_ISLANDS_1F db ROCK_TUNNEL_B1F db CINNABAR_VOLCANO + db POKEMON_MANSION_1F + db VICTORY_ROAD_2F + db VICTORY_ROAD_3F + db POWER_PLANT + db DIGLETTS_CAVE db -1 ; end ; GetBattleTransitionID_IsDungeonMap checks if wCurMap @@ -25,4 +25,10 @@ DungeonMaps2: ; SILPH_CO_[2-8]F, POKEMON_MANSION[2F-B1F], SAFARI_ZONE, and ; CERULEAN_CAVE maps, except for SILPH_CO_1F db SILPH_CO_2F, CERULEAN_CAVE_1F + ; SILPH_CO_[9-11]F + db SILPH_CO_9F, SILPH_CO_11F + ; SEAFOAM_ISLANDS_[B1F-B4F] + db SEAFOAM_ISLANDS_B1F, SEAFOAM_ISLANDS_B4F + ; all ROCKET_HIDEOUT maps + db ROCKET_HIDEOUT_B1F, ROCKET_HIDEOUT_B4F db -1 ; end diff --git a/data/maps/names.asm b/data/maps/names.asm index 2599f0c4..97ba84cf 100644 --- a/data/maps/names.asm +++ b/data/maps/names.asm @@ -9,6 +9,7 @@ FuchsiaCityName: db "FUCHSIA CITY@" CinnabarIslandName: db "CINNABAR ISLAND@" IndigoPlateauName: db "INDIGO PLATEAU@" SaffronCityName: db "SAFFRON CITY@" +CitrineCityName: db "CITRINE CITY@" Route1Name: db "ROUTE 1@" Route2Name: db "ROUTE 2@" Route3Name: db "ROUTE 3@" @@ -43,6 +44,7 @@ PokemonLeagueName: db "#MON LEAGUE@" UndergroundPathName: db "UNDERGROUND PATH@" PokemonTowerName: db "#MON TOWER@" SeafoamIslandsName: db "SEAFOAM ISLANDS@" +CinnabarVolcanoName: db "CINNABAR VOLCANO@" VictoryRoadName: db "VICTORY ROAD@" DiglettsCaveName: db "DIGLETT's CAVE@" RocketHQName: db "ROCKET HQ@" diff --git a/data/maps/objects/CeladonUniversityInside.asm b/data/maps/objects/CeladonUniversityInside.asm index 35ad2bf2..1e39bae8 100644 --- a/data/maps/objects/CeladonUniversityInside.asm +++ b/data/maps/objects/CeladonUniversityInside.asm @@ -6,13 +6,18 @@ CeladonUniversityInside_Object: warp_event 11, 19, CELADON_UNIVERSITY_OUTSIDE, 1 def_bg_events - bg_event 9, 3, 6 ; Magikarp + bg_event 9, 3, 10 ; Magikarp + bg_event 19, 4, 11 ; PC Screen def_object_events object_event 18, 5, SPRITE_MIDDLE_AGED_MAN, STAY, ANY_DIR, 1 ; person object_event 4, 17, SPRITE_GAMEBOY_KID, STAY, DOWN, 2 ; person - object_event 3, 15, SPRITE_POKEDEX, STAY, NONE, 3 ; person + object_event 3, 15, SPRITE_PAPER, STAY, NONE, 3 ; person object_event 17, 5, SPRITE_POKEDEX, STAY, NONE, 4 ; person object_event 10, 5, SPRITE_SCIENTIST, STAY, NONE, 5 ; person + object_event 3, 8, SPRITE_PAPER, STAY, NONE, 6 ; Book 1 + object_event 5, 4, SPRITE_PAPER, STAY, NONE, 7 ; Book 2 + object_event 1, 4, SPRITE_PAPER, STAY, NONE, 8 ; Book 3 + object_event 20, 7, SPRITE_MONSTER, STAY, NONE, 9 ; Slowbro def_warps_to CELADON_UNIVERSITY_INSIDE \ No newline at end of file diff --git a/data/maps/town_map_entries.asm b/data/maps/town_map_entries.asm index 78b7ff62..ac77eed4 100644 --- a/data/maps/town_map_entries.asm +++ b/data/maps/town_map_entries.asm @@ -18,7 +18,7 @@ ExternalMapEntries: external_map 2, 15, CinnabarIslandName external_map 0, 2, IndigoPlateauName external_map 10, 5, SaffronCityName - external_map 0, 0, PalletTownName ; unused + external_map 7, 10, CitrineCityName external_map 2, 10, Route1Name external_map 2, 6, Route2Name external_map 4, 3, Route3Name @@ -112,8 +112,12 @@ InternalMapEntries: internal_map SAFARI_ZONE_NORTH_REST_HOUSE, 8, 12, SafariZoneName internal_map CERULEAN_CAVE_1F, 9, 1, CeruleanCaveName internal_map NAME_RATERS_HOUSE, 14, 5, LavenderTownName + internal_map CINNABAR_VOLCANO, 3, 14, CinnabarVolcanoName internal_map CERULEAN_BADGE_HOUSE, 10, 2, CeruleanCityName internal_map ROCK_TUNNEL_B1F, 14, 3, RockTunnelName internal_map SILPH_CO_ELEVATOR, 10, 5, SilphCoName + internal_map CELADON_UNIVERSITY_OUTSIDE, 7, 4, CeladonCityName + internal_map CELADON_UNIVERSITY_INSIDE, 7, 4, CeladonCityName + internal_map CELADON_UNIVERSITY_POKECENTER, 7, 4, CeladonCityName internal_map AGATHAS_ROOM, 0, 2, PokemonLeagueName db -1 ; end diff --git a/data/maps/town_map_order.asm b/data/maps/town_map_order.asm index a082c376..6d9ab496 100644 --- a/data/maps/town_map_order.asm +++ b/data/maps/town_map_order.asm @@ -40,6 +40,7 @@ TownMapOrder: db SEAFOAM_ISLANDS_B1F db ROUTE_20 db CINNABAR_ISLAND + db CINNABAR_VOLCANO db ROUTE_21 db ROUTE_22 db ROUTE_23 diff --git a/data/pokemon/cries.asm b/data/pokemon/cries.asm index 0afa4c3b..47d347f4 100644 --- a/data/pokemon/cries.asm +++ b/data/pokemon/cries.asm @@ -212,5 +212,5 @@ CryData:: mon_cry SFX_CRY_00, $00, $00 ; Steelix mon_cry SFX_CRY_00, $00, $00 ; Blissey mon_cry SFX_CRY_1D, $E3, $1A ; Hitmontop - mon_cry SFX_CRY_1D, $08, $B1 ; Crobat + mon_cry SFX_CRY_1D, $01, $B1 ; Crobat assert_table_length NUM_POKEMON_INDEXES diff --git a/data/text_predef_pointers.asm b/data/text_predef_pointers.asm index d13e0f16..c78df372 100644 --- a/data/text_predef_pointers.asm +++ b/data/text_predef_pointers.asm @@ -30,7 +30,7 @@ TextPredefs:: add_tx_pre SaffronCityPokecenterBenchGuyText ; 18 add_tx_pre MtMoonPokecenterBenchGuyText ; 19 add_tx_pre RockTunnelPokecenterBenchGuyText ; 1A - add_tx_pre UnusedBenchGuyText1 ; 1B XXX unused + add_tx_pre CeladonUniversityPokecenterBenchGuyText ; 1B add_tx_pre UnusedBenchGuyText2 ; 1C XXX unused add_tx_pre UnusedBenchGuyText3 ; 1D XXX unused add_tx_pre UnusedPredefText ; 1E XXX unused diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index 8aa3a341..b10ce2d5 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -535,11 +535,11 @@ ScientistData: GiovanniData: ; Rocket Hideout B4F - db $FF, 25, ONIX, 24, RHYHORN, 29, KANGASKHAN, 0 + db $FF, 27, RHYHORN, 26, DECILLA, 31, KANGASKHAN, 31, PERSIAN, 0 ; Silph Co. 11F - db $FF, 37, NIDORINO, 35, KANGASKHAN, 37, RHYHORN, 41, NIDOQUEEN, 0 + db $FF, 37, KANGASKHAN, 36, NIDORINO, 37, NIDOQUEEN, 40, PERSIAN, 42, RHYDON, 0 ; Viridian Gym - db $FF, 47, TRAMPEL, 46, DUGTRIO, 46, NIDOQUEEN, 48, PERSIAN, 48, NIDOKING, 50, RHYDON, 0 + db $FF, 47, TRAMPEL, 46, DUGTRIO, 46, NIDOQUEEN, 48, PERSIAN, 48, NIDOKING, 50, RHYPERIOR, 0 RocketData: ; Mt. Moon B2F @@ -638,28 +638,42 @@ CooltrainerFData: db 43, PERSIAN, NINETALES, RAICHU, 0 BrunoData: - db $FF, 54, PRIMEAPE, 55, ONIX, 55, POLIWRATH, 56, HITMONLEE, 56, PURAKKUSU, 58, MACHAMP, 0 + db $FF, 54, PRIMEAPE, 55, STEELIX, 55, POLIWRATH, 56, HITMONTOP, 56, PURAKKUSU, 58, MACHAMP, 0 BrockData: db $FF, 13, GEODUDE, 12, OMANYTE, 12, KABUTO, 12, DECILLA, 15, ONIX, 0 +; post-game rematch team (currently unused) + ; db $FF, 66, GOLEM, 67, OMASTAR, 67, KABUTOPS, 66, KLEAVOR, 67, NIDOREIGN, 70, GYAOON, 0 MistyData: db $FF, 19, HORSEA, 18, CHEEP, 18, BLOTTLE, 19, BLASTYKE, 21, STARMIE, 0 +; post-game rematch team (currently unused) + ; db $FF, 66, GOLDUCK, 67, PENDRAKEN, 67, JABETTA, 66, JAGG, 67, BLASTOISE, 70, STARMIE, 0 LtSurgeData: db $FF, 22, VOLTORB, 21, GAOTORA, 22, MAGNEMITE, 23, ELECTABUZZ, 24, GOROCHU, 0 +; post-game rematch team (currently unused) + ; db $FF, 66, ELECTABUZZ, 67, GOROTORA, 67, ELECTRODE, 66, JOLTEON, 67, GOROCHU, 70, ZAPDOS, 0 ErikaData: - db $FF, 28, WEEPINBELL, 29, TANGELA, 28, CACTUS, 28, PARASECT, 31, VILEPLUME, 0 + db $FF, 28, WEEPINBELL, 28, GLOOM, 29, CACTUS, 28, PARASECT, 31, TANGROWTH, 0 +; post-game rematch team (currently unused) + ; db $FF, 66, CACTUS, 67, VILEPLUME, 67, VICTREEBEL, 66, DEER, 67, LEAFEON, 70, TANGROWTH, 0 KogaData: - db $FF, 38, GOLBAT, 39, VENOMOTH, 38, NIDOREIGN, 39, MUK, 41, WEEZING, 0 + db $FF, 39, VENOMOTH, 38, NIDOREIGN, 39, MUK, 39, WEEZING, 41, CROBAT, 0 +; post-game rematch team (currently unused) + ; db $FF, 66, TENTACRUEL, 67, MUK, 67, WEEZING, 66, VENOMOTH, 67, TSUBOMITTO, 70, CROBAT, 0 BlaineData: db $FF, 45, MAGMAR, 44, NINETALES, 45, RAPIDASH, 44, FLAREON, 47, ARCANINE, 0 +; post-game rematch team (currently unused) + ; db $FF, 66, MAGMAR, 67, NINETALES, 67, RAPIDASH, 66, FLAREON, 67, ARCANINE, 70, MOLTRES, 0 SabrinaData: db $FF, 39, HYPNO, 40, MR_MIME, 39, SLOWBRO, 40, JYNX, 43, ALAKAZAM, 0 +; post-game rematch team (currently unused) + ; db $FF, 66, JYNX, 67, HYPNO, 67, MR_MIME, 66, SLOWBRO, 67, EXEGGUTOR, 70, ALAKAZAM, 0 GentlemanData: ; SS Anne 1F Rooms @@ -738,7 +752,7 @@ ChannelerData: db 33, GASTLY, GASTLY, HAUNTER, 0 AgathaData: - db $FF, 57, GENGAR, 56, GOLBAT, 56, HAUNTER, 58, CROAKOZUNA, 58, ARBOK, 60, GENGAR, 0 + db $FF, 57, CROAKOZUNA, 56, CROBAT, 56, TSUBOMITTO, 58, UMBREON, 58, ARBOK, 60, GENGAR, 0 LanceData: db $FF, 58, CROCKY, 57, GYARADOS, 57, AERODACTYL, 59, CRYITHAN, 59, CHARIZARD, 62, DRAGONITE, 0 diff --git a/data/wild/maps/PokemonTower3F.asm b/data/wild/maps/PokemonTower3F.asm index 662240eb..fb55a2f7 100644 --- a/data/wild/maps/PokemonTower3F.asm +++ b/data/wild/maps/PokemonTower3F.asm @@ -3,8 +3,8 @@ PokemonTower3FWildMons: db 20, GASTLY db 21, GASTLY db 22, GASTLY - db 23, GASTLY - db 19, GASTLY + db 15, MIKON + db 16, MIKON db 18, VULPIX db 24, VULPIX db 20, CUBONE diff --git a/data/wild/maps/PokemonTower4F.asm b/data/wild/maps/PokemonTower4F.asm index 18a2e51e..5fef09ba 100644 --- a/data/wild/maps/PokemonTower4F.asm +++ b/data/wild/maps/PokemonTower4F.asm @@ -3,8 +3,8 @@ PokemonTower4FWildMons: db 20, GASTLY db 21, GASTLY db 22, GASTLY - db 23, GASTLY - db 19, GASTLY + db 15, MIKON + db 16, MIKON db 23, VULPIX db 25, HAUNTER db 20, CUBONE diff --git a/data/wild/maps/PokemonTower5F.asm b/data/wild/maps/PokemonTower5F.asm index cfec68b0..00ef3434 100644 --- a/data/wild/maps/PokemonTower5F.asm +++ b/data/wild/maps/PokemonTower5F.asm @@ -2,8 +2,8 @@ PokemonTower5FWildMons: def_grass_wildmons 10 ; encounter rate db 20, GASTLY db 21, GASTLY - db 22, GASTLY - db 23, GASTLY + db 15, MIKON + db 16, MIKON db 23, VULPIX db 24, VULPIX db 25, HAUNTER diff --git a/data/wild/maps/PokemonTower6F.asm b/data/wild/maps/PokemonTower6F.asm index 6dcf3ffa..d6cf9539 100644 --- a/data/wild/maps/PokemonTower6F.asm +++ b/data/wild/maps/PokemonTower6F.asm @@ -3,7 +3,7 @@ PokemonTower6FWildMons: db 21, GASTLY db 22, GASTLY db 23, GASTLY - db 24, GASTLY + db 20, MIKON db 23, VULPIX db 24, VULPIX db 26, HAUNTER diff --git a/data/wild/maps/PokemonTower7F.asm b/data/wild/maps/PokemonTower7F.asm index bf294434..64aa4ab5 100644 --- a/data/wild/maps/PokemonTower7F.asm +++ b/data/wild/maps/PokemonTower7F.asm @@ -2,7 +2,7 @@ PokemonTower7FWildMons: def_grass_wildmons 15 ; encounter rate db 21, GASTLY db 22, GASTLY - db 23, GASTLY + db 21, MIKON db 24, VULPIX db 25, VULPIX db 28, HAUNTER diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index f79b02b0..a85fa459 100644 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -1878,6 +1878,8 @@ AnimationWavyScreen: ld c, $ff ld hl, WavyScreenLineOffsets .loop + ; ld a, [hl] ; this fixes the wavy screen, but causes a bank overflow + ; ldh [hSCX], a push hl .innerLoop call WavyScreen_SetSCX @@ -1894,6 +1896,7 @@ AnimationWavyScreen: dec c jr nz, .loop xor a + ; ldh [hSCX], a ; also fixing the wavy screen ldh [hWY], a call SaveScreenTilesToBuffer2 call ClearScreen diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 8bc1ebae..14cc65c2 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -1675,7 +1675,7 @@ LoadBattleMonFromParty: ld bc, 1 + NUM_STATS * 2 call CopyData call ApplyBurnAndParalysisPenaltiesToPlayer - call ApplyBadgeStatBoosts + call ApplyBadgeStatBoosts ; if this is commented out maybe it stops them entirely? test - PvK ld a, $7 ; default stat modifier ld b, NUM_STAT_MODS ld hl, wPlayerMonAttackMod @@ -2405,7 +2405,7 @@ PartyMenuOrRockOrRun: ld [wd0b5], a call GetMonHeader ld de, vFrontPic - call LoadMonFrontSprite + call LoadMonFrontSprite ; want to implement https://github.com/pret/pokered/wiki/Bugs-and-Glitches#the-pok%C3%A9mon-behind-the-ghost-is-identified-as-seen-in-the-pok%C3%A9dex-even-if-you-didnt-use-the-silph-scope-on-it but the codebase was changed since the time of writing jr .enemyMonPicReloaded .doEnemyMonAnimation ld b, BANK(AnimationSubstitute) ; BANK(AnimationMinimizeMon) @@ -5291,6 +5291,21 @@ AdjustDamageForMoveType: ld b, a ld a, [hl] ; a = damage multiplier ldh [hMultiplier], a + and a ; cp NO_EFFECT ;This fixes incorrect type effectiveness messages + jr z, .gotMultiplier + cp NOT_VERY_EFFECTIVE + jr nz, .nothalf + ld a, [wDamageMultipliers] + and $7f + srl a + jr .gotMultiplier +.nothalf + cp SUPER_EFFECTIVE + jr nz, .gotMultiplier + ld a, [wDamageMultipliers] + and $7f + sla a +.gotMultiplier add b ld [wDamageMultipliers], a xor a @@ -6270,12 +6285,15 @@ LoadEnemyMonData: ld a, [wEnemyMonSpecies2] ld [wd11e], a predef IndexToPokedex + call IsGhostBattle ; this prevents it from being identified early + jr nz, .noMarkSeen ; part of the ghost fix ld a, [wd11e] dec a ld c, a ld b, FLAG_SET ld hl, wPokedexSeen predef FlagActionPredef ; mark this mon as seen in the pokedex +.noMarkSeen ; part of the ghost fix ld hl, wEnemyMonLevel ld de, wEnemyMonUnmodifiedLevel ld bc, 1 + NUM_STATS * 2 diff --git a/engine/events/hidden_objects/bench_guys.asm b/engine/events/hidden_objects/bench_guys.asm index 55090c01..aca8b918 100644 --- a/engine/events/hidden_objects/bench_guys.asm +++ b/engine/events/hidden_objects/bench_guys.asm @@ -47,7 +47,7 @@ RockTunnelPokecenterBenchGuyText:: text_far _RockTunnelPokecenterGuyText text_end -UnusedBenchGuyText1:: +CeladonUniversityPokecenterBenchGuyText:: text_far _UnusedBenchGuyText1 text_end diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm index 93cdfaab..202fb7be 100644 --- a/engine/movie/oak_speech/oak_speech.asm +++ b/engine/movie/oak_speech/oak_speech.asm @@ -157,7 +157,7 @@ OakSpeechText1: text_end OakSpeechText2: text_far _OakSpeechText2A - sound_cry_nidorina + sound_cry_nidorino text_far _OakSpeechText2B text_end IntroducePlayerText: diff --git a/home/text.asm b/home/text.asm index b1f5e55c..64d184f9 100644 --- a/home/text.asm +++ b/home/text.asm @@ -516,7 +516,7 @@ TextCommand_SOUND:: jr .loop .play - cp TX_SOUND_CRY_NIDORINA + cp TX_SOUND_CRY_NIDORINO jr z, .pokemonCry cp TX_SOUND_CRY_PIDGEOT jr z, .pokemonCry @@ -546,7 +546,7 @@ TextCommandSounds:: db TX_SOUND_GET_ITEM_2, SFX_GET_ITEM_2 db TX_SOUND_GET_KEY_ITEM, SFX_GET_KEY_ITEM db TX_SOUND_DEX_PAGE_ADDED, SFX_DEX_PAGE_ADDED - db TX_SOUND_CRY_NIDORINA, NIDORINA ; used in OakSpeech + db TX_SOUND_CRY_NIDORINO, NIDORINO ; used in OakSpeech db TX_SOUND_CRY_PIDGEOT, PIDGEOT ; used in SaffronCityText12 db TX_SOUND_CRY_DEWGONG, DEWGONG ; unused diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm index 418e839c..1e41d87e 100644 --- a/macros/scripts/text.asm +++ b/macros/scripts/text.asm @@ -127,9 +127,9 @@ MACRO sound_dex_page_added db TX_SOUND_DEX_PAGE_ADDED ENDM - const TX_SOUND_CRY_NIDORINA ; $14 -MACRO sound_cry_nidorina - db TX_SOUND_CRY_NIDORINA + const TX_SOUND_CRY_NIDORINO ; $14 +MACRO sound_cry_nidorino + db TX_SOUND_CRY_NIDORINO ENDM const TX_SOUND_CRY_PIDGEOT ; $15 diff --git a/scan_includes.exe.stackdump b/scan_includes.exe.stackdump index 03d68360..ae8f00ad 100644 --- a/scan_includes.exe.stackdump +++ b/scan_includes.exe.stackdump @@ -1,15 +1,15 @@ Exception: STATUS_ACCESS_VIOLATION at rip=00100401246 -rax=FFFFFFF7FFF8D781 rbx=000000000000007C rcx=0000000800000010 -rdx=0000000000000000 rsi=000000080006276B rdi=0000000000000000 +rax=FFFFFFF7FFF958F1 rbx=0000000000000908 rcx=0000000800000010 +rdx=0000000000000000 rsi=000000080005A5AA rdi=0000000000000000 r8 =00000000FFFFC7C4 r9 =0000000000000000 r10=0000000100000000 -r11=0000000100401282 r12=0000000800072880 r13=0000000100403148 +r11=00000001004013C6 r12=000000080006A710 r13=0000000100403148 r14=0000000000000000 r15=0000000000000001 rbp=0000000100403156 rsp=00000000FFFFCA60 -program=C:\cygwin64\home\chipp\kep-hack\tools\scan_includes.exe, pid 1487, thread main +program=C:\cygwin64\home\chipp\kep-hack\tools\scan_includes.exe, pid 794, thread main cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B Stack trace: Frame Function Args -00100403156 00100401246 (0080006276B, 00000000022, 00100403166, 000FFFFCB90) +00100403156 00100401246 (0080005A5AA, 00000000022, 00100403166, 000FFFFCB90) 00100403156 00100401409 (00000000000, 00100000001, 00180227860, 00100407000) 00100403178 00100401C87 (00000000020, 00000000000, 00180049B11, 00180048A70) 000FFFFCD30 00180049B7D (00000000000, 00000000000, 00000000000, 00000000000) diff --git a/scripts/CeladonUniversityInside.asm b/scripts/CeladonUniversityInside.asm index c4d1e38c..ac0ca441 100644 --- a/scripts/CeladonUniversityInside.asm +++ b/scripts/CeladonUniversityInside.asm @@ -7,7 +7,12 @@ CeladonUniversityInside_TextPointers: dw CeladonUniversityInsideText2 dw CeladonUniversityInsideText3 dw CeladonUniversityInsideText4 + dw CeladonUniversityInsideBookcaseText1 + dw CeladonUniversityInsideBookcaseText2 + dw CeladonUniversityInsideBookcaseText3 + dw SlowbroCry dw CeladonUniversityInsideText5 + dw CeladonUniversityPCScreen CeladonUniversityInsideText1: text_far _CeladonUniversityInsideText1 @@ -32,6 +37,26 @@ CeladonUniversityInsideText4: text_far _CeladonUniversityInsideText4 text_end +CeladonUniversityInsideBookcaseText1: + text_far _BookcaseText1 + text_end + +CeladonUniversityInsideBookcaseText2: + text_far _BookcaseText2 + text_end + +CeladonUniversityInsideBookcaseText3: + text_far _BookcaseText3 + text_end + +SlowbroCry: + text_far _SlowbroCry + text_asm + ld a, SLOWBRO + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + CeladonUniversityInsideMagikarpText: text_far _CeladonUniversityInsideMagikarpText text_end @@ -44,4 +69,8 @@ CeladonUniversityInsideText5: call DisplayPokedex jp TextScriptEnd +CeladonUniversityPCScreen: + text_far _ComputerScreen + text_end + text_end ; unused diff --git a/scripts/RocketHideoutB4F.asm b/scripts/RocketHideoutB4F.asm index a65ffb54..ba579694 100644 --- a/scripts/RocketHideoutB4F.asm +++ b/scripts/RocketHideoutB4F.asm @@ -182,18 +182,18 @@ RocketHideout4BattleText4: RocketHideout4EndBattleText4: text_far _RocketHideout4EndBattleText4 - text_end + text_promptbutton + text_asm + SetEvent EVENT_ROCKET_DROPPED_LIFT_KEY + ld a, HS_ROCKET_HIDEOUT_B4F_ITEM_5 + ld [wMissableObjectIndex], a + predef ShowObject + jp TextScriptEnd RocketHideout4AfterBattleText4: text_asm ld hl, RocketHideout4Text_455ec call PrintText - CheckAndSetEvent EVENT_ROCKET_DROPPED_LIFT_KEY - jr nz, .asm_455e9 - ld a, HS_ROCKET_HIDEOUT_B4F_ITEM_5 - ld [wMissableObjectIndex], a - predef ShowObject -.asm_455e9 jp TextScriptEnd RocketHideout4Text_455ec: diff --git a/text/CeladonUniversityInside.asm b/text/CeladonUniversityInside.asm index 4c032572..c9ec5e8d 100644 --- a/text/CeladonUniversityInside.asm +++ b/text/CeladonUniversityInside.asm @@ -5,7 +5,7 @@ _CeladonUniversityInsideText1:: para "My name is PROF." line "WESTWOOD V!" - para "My grandfather" + para "My ancestors" line "created the" cont "# BALL!" @@ -44,10 +44,6 @@ _CeladonUniversityInsideText4:: line "TRAINERs in" cont "VERMILLION!" - para "So far, nobody" - line "has come up" - cont "with a reason." - done _CeladonUniversityInsideMagikarpText:: @@ -59,4 +55,95 @@ _CeladonUniversityInsideMagikarpText:: cont "ancestors, it" cont "can use DRAGON" cont "RAGE." - prompt \ No newline at end of file + prompt + +_BookcaseText1:: + text "The fossil record" + line "of #MON dates" + cont "back around 2" + cont "million years." + + para "However, the first" + line "proper study into" + cont "their biology was" + cont "conducted by" + cont "BARON TAJIRIN of" + cont "France in the" + cont "18th century." + + para "At the time, only" + line "30 species were" + cont "recognised." + + done + +_BookcaseText2:: + text "In 1899, PROF." + line "WESTWOOD of Japan" + cont "released a book" + cont "observing the" + cont "evolution of a" + cont "PIKACHU." + + para "Japan became the" + line "global leader in" + cont "#MON study," + cont "discovering 80" + cont "#MON at the" + cont "time." + + para "As of today," + line "PROF. OAK's" + cont "efforts have led" + cont "to over 200" ;changed from 150 to 200 because we've expanded the dex :P + cont "#MON being" + cont "recognised." + + done + +_BookcaseText3:: + text "The idea of the" + line "# BALL was" + cont "discovered by" + cont "PROF. WESTWOOD," + cont "who accidentally" + cont "administered too" + cont "many drugs to a" + cont "PRIMEAPE." + + para "This was part" + line "of an experiment" + cont "to extract its" + cont "angry energy." + + para "Weakened, it" + line "curled into a" + cont "ball and fit into" + cont "his glasses case." + + para "The modern #" + line "BALL was made by" + cont "researchers at" + cont "CELADON" + cont "UNIVERSITY" + cont "in 1925, and" + cont "mass production" + cont "began at SILPH" + cont "CO. soon after." + + done + +_SlowbroCry:: + text "..." + para "..." + para "..." + para "...BRO?" + + done + +_ComputerScreen:: + text "Chaotic graphs are" + line "visible on the PC" + cont "screen." + + done \ No newline at end of file