• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Crystal hack: Pokémon Polished Crystal (update 2.2.0)

16
Posts
9
Years
    • Seen Mar 5, 2023
    I think there may be a problem with characters not loading properly.
    When I ran into Elm's Lab after fighting Silver, the guard who accuses you of being a thief didn't load in, but everything played out as it should have.
    After that confrontation, I ran into my house only to find that my mother hadn't loaded in, so I was unable to tell her I was leaving.
    And just now, I've found that Lyra didn't load in. Although since the dialog and actions are automated, the encounter itself wasn't hindered.

    [EDIT]: Earl in Violet City loads in initially, so you're able to follow him to the Pokemon Academy, but he is not present in the Academy when you enter.

    Lyra didn't load in after the battle sequence, and my mother didn't load in after walking back into town and entering my house, so I don't think running is the cause.

    Just built the rom a little over an hour ago, so I'm using the latest source as of this post.
    If anyone could start a new game to confirm it's not just me, I'm sure it'd help.

    Spoiler:


    EDIT: I've run into another two bugs.

    When using the Mulch on a Berry tree, it tells me that the tree is fertilized but the Mulch stays in my inventory and the tree does not grow another Berry.
    Also, when fighting the Schoolgirl (Audrey, I think?) on Route 36, the game crashes back to the title screen after she sends out her second Pokemon, Mareep.

    The emulator I'm using is BGB 1.5.2 (figured that's probably important).
     
    Last edited:
    755
    Posts
    7
    Years
    • NY
    • Seen Oct 9, 2023
    I think there may be a problem with characters not loading properly.
    When I ran into Elm's Lab after fighting Silver, the guard who accuses you of being a thief didn't load in, but everything played out as it should have.
    After that confrontation, I ran into my house only to find that my mother hadn't loaded in, so I was unable to tell her I was leaving.
    And just now, I've found that Lyra didn't load in. Although since the dialog and actions are automated, the encounter itself wasn't hindered.

    [EDIT]: Earl in Violet City loads in initially, so you're able to follow him to the Pokemon Academy, but he is not present in the Academy when you enter.

    Lyra didn't load in after the battle sequence, and my mother didn't load in after walking back into town and entering my house, so I don't think running is the cause.

    Just built the rom a little over an hour ago, so I'm using the latest source as of this post.
    If anyone could start a new game to confirm it's not just me, I'm sure it'd help.

    Thanks, I just found this too. It was not introduced by the latest series of commits, so I'll try and track down which commit started this bug.

    EDIT: I've run into another two bugs.

    When using the Mulch on a Berry tree, it tells me that the tree is fertilized but the Mulch stays in my inventory and the tree does not grow another Berry.

    Haven't seen that one yet, thank you. Which tree? Did you pick its Berry first, or did it somehow ask to use Mulch on a fruited tree?

    Also, when fighting the Schoolgirl (Audrey, I think?) on Route 36, the game crashes back to the title screen after she sends out her second Pokemon, Mareep.

    There are so many battle bugs like this. Haven't found the cause yet. They're probably all related, so I can at least hope stumbling upon one fix will get rid of them.

    The emulator I'm using is BGB 1.5.2 (figured that's probably important).

    BGB is known for its accuracy, so it's a good testing emulator. (It also has a bunch of debugging features, although I still miss the ease of tracking named variables' values in Visual Studio.)
     
    16
    Posts
    9
    Years
    • Seen Mar 5, 2023
    Haven't seen that one yet, thank you. Which tree? Did you pick its Berry first, or did it somehow ask to use Mulch on a fruited tree?

    I tried this on the first three trees I encountered; the tree just before Cherrygrove on Route 29, the tree outside the house where you first obtain the Mulch on Route 30, and the tree outside of Mr. Pokemon's house.
    I collected the Berry on Route 29 before getting the Mulch, and I grabbed the berries from Route 30's two trees after having gotten the Mulch.

    After collecting the berries, I interacted with the trees again and went through the Mulch dialog, which is how I found the bug. Then I went back to Route 29 to check with that tree and the same issue occurred.
     
    755
    Posts
    7
    Years
    • NY
    • Seen Oct 9, 2023
    I tried this on the first three trees I encountered; the tree just before Cherrygrove on Route 29, the tree outside the house where you first obtain the Mulch on Route 30, and the tree outside of Mr. Pokemon's house.
    I collected the Berry on Route 29 before getting the Mulch, and I grabbed the berries from Route 30's two trees after having gotten the Mulch.

    After collecting the berries, I interacted with the trees again and went through the Mulch dialog, which is how I found the bug. Then I went back to Route 29 to check with that tree and the same issue occurred.

    Fixed, thanks.
     
    16
    Posts
    9
    Years
    • Seen Mar 5, 2023
    Decided to compile from the latest source, and I've run into another bug.
    This one's actually pretty funny.

    I'm making my way up Route 30, and my Cyndaquil learns Ember. I can't remember if I learned Ember before or after defeating Bug Catcher Don, but I know for a fact that I defeated Bug Catcher Don.
    Upon entering a battle with Bug Catcher Wade on Route 31, I send out Cyndaquil and choose to use Ember (because who wouldn't?). After the animation is over, my Cyndaquil is left with 0HP, Wade's Caterpie faints, and my Cyndaquil follows suit.
    Of course, I black out and wake up at the Cherrygrove Pokemon Center. When I go out onto Route 30 to try again, I enter a wild battle and experience the same problem with this wild Pokemon. Cyndaquil can use Tackle as often as it wants, but the moment it uses Ember it loses all HP and faints on the spot.
    I decide to use Tackle to make my way back to Wade, only to find that Don wants to battle again, as if the first battle hadn't even happened.

    After I get to Violet City, I decide to test Ember on Audrey's Vuilpix, just in case. Vulpix's Flash Fire activates, no damage is suffered on either end, and my Cyndaquil faints with full HP.
    Same results with battle animations off.
     

    FIQ

    251
    Posts
    11
    Years
    • Seen Sep 15, 2022
    The battle engine is kind of broken at the moment. Type matchups is a result of me reworking how they work, HP dropping to 0 is something else. I started looking into this a few days ago but was busy with other things too and never finished.
     
    755
    Posts
    7
    Years
    • NY
    • Seen Oct 9, 2023
    Thank you for looking into the battle engine bugs, FIQ. You'll probably fix them faster than I would, since you're more familiar with it.

    I've been enlarging Kanto's routes to their RBY dimensions. This makes room for more trainers, items, and interesting NPCs. (Thanks to Acrozz, Ruvaldak, and WorldsBoss for help writing varied dialog.)

    Spoiler:


    (Actually, the sea routes still need scattered sandbars and rocks like in HGSS to make them less dull and allow for non-Swimmers.)
     
    Last edited:

    FIQ

    251
    Posts
    11
    Years
    • Seen Sep 15, 2022
    Have you considered enlarging the Kanto sea routes to make it more "open" rather than linear routes? You'd obviously need to figure out what to place in this new area if you did. I'm thinking of the "|_|" shape that could be changed to cover the entire area outside the small bottom edge. Perhaps even make the water area cover the entire bottom edge of the region from Cinnabar to route 14.
     
    755
    Posts
    7
    Years
    • NY
    • Seen Oct 9, 2023
    Have you considered enlarging the Kanto sea routes to make it more "open" rather than linear routes? You'd obviously need to figure out what to place in this new area if you did. I'm thinking of the "|_|" shape that could be changed to cover the entire area outside the small bottom edge. Perhaps even make the water area cover the entire bottom edge of the region from Cinnabar to route 14.

    I don't think such a large expanse of water would be much fun unless it had significant unique content, and I've used pretty much all of that elsewhere.

    I have thought about more crisscrossing water routes, which don't quite have that problem—all they need are a variety of trainers and a few useful items. The south tip of Cycling Road could connect west to right under Pallet Town, and/or south to the Seafoam Islands.

    ...actually, one of those would be a better location for Scary Cave than the Route 34 Coast.

    Any ideas for non-filler ocean content?

    Pokémon Polished Crystal (update 2.2.0)


    Edit: hm, I've been completely stuck on the design for Dim Cave (the one above the Power Plant, with water currents). If these new sea routes are being included, they'd be another good place for currents, like east of Hoenn's Pacifidlog. (And I could get away with a simpler Dim Cave design :P)
     

    Linnie

    Mmmmmmmmmmmmmmmmm
    40
    Posts
    10
    Years
    • Seen Jan 16, 2022
    Be careful about putting Surfable water on Cycling Road, it can lead to glitches like in Prism (Route 47-B has Surfable water but Route 48-B doesn't, and you can surf to 48-B from 47-B's water and get trapped if you enter a battle). If the only Surfable water is below the point where you get pushed downhill it should be fine, but I just wanted to warn you.
     
    148
    Posts
    17
    Years
    • Seen Aug 2, 2023
    The map looks nice, but is there any way you could open up the ledge near Cerulean City to allow access to Mt Moon from the town? I think it's like that in Red++, but I'd get it if you blocked it off on purpose to influence the linearity of the region.

    As for the ocean area from Cycling Road, I think strong currents would be a good choice for one of them. I'll have a think a see if I can come up with anything else.

    With regards to the expanded Kanto routes to make them more like R/B/Y: That's really cool! The section of the dialogue document titled "Generic Trainers for Any Route" could easily be used to bulk these out with enough trainers, so that work is pretty much done already.
     
    183
    Posts
    12
    Years
    • Seen Mar 24, 2022
    Any ideas for non-filler ocean content?

    Maybe a trainer challenge on a small island, and you have to beat all the swimmers before they will sell you items (think a larger version of RSE's slateport beach house, where you have to beat all trainers before they will sell you soda pops)? Or a maze of some kind to reach several valuable items? I'm just spitballing here.
     
    16
    Posts
    9
    Years
    • Seen Mar 5, 2023
    Maybe a trainer challenge on a small island, and you have to beat all the swimmers before they will sell you items (think a larger version of RSE's slateport beach house, where you have to beat all trainers before they will sell you soda pops)? Or a maze of some kind to reach several valuable items? I'm just spitballing here.

    Something like this could be cool.
    Maybe some kind of trainer house like the Winstrate Family on R/S/E's Route 111, where you have to beat a gauntlet of trainers one after the other.
     
    148
    Posts
    17
    Years
    • Seen Aug 2, 2023
    While helping someone with pokecrystal's trainer card code, I noticed where it's getting the badge palette. So I added a separate color for each badge.

    Pokémon Polished Crystal (update 2.2.0)

    Aaah that's really cool! :D I also like that the Kanto order has been altered to match the locations you visit first.
     
    16
    Posts
    9
    Years
    • Seen Mar 5, 2023
    In Sprout Tower, only the sages on the second floor wanted to battle (the first and third sages encountered). The sage on the first floor and the three on the third allowed me to run by, and only provided dialog when spoken to.
    Fighting the Elder at all causes the game to crash, making it impossible to progress past Violet City.

    Also, ghost types are able to be damaged by normal-type attacks. I understand the battle mechanics are being worked on so it's probably known already, but I thought I'd mention it.
     
    755
    Posts
    7
    Years
    • NY
    • Seen Oct 9, 2023
    In Sprout Tower, only the sages on the second floor wanted to battle (the first and third sages encountered). The sage on the first floor and the three on the third allowed me to run by, and only provided dialog when spoken to.
    Fighting the Elder at all causes the game to crash, making it impossible to progress past Violet City.

    Also, ghost types are able to be damaged by normal-type attacks. I understand the battle mechanics are being worked on so it's probably known already, but I thought I'd mention it.

    Oh yeah, I disabled trainer battles for the sake of running around maps testing the connections. Edit this in main.asm:

    Code:
    SeenByTrainerScript:: ; 0xbe675
    	writepersonxy LAST_TALKED
    	trainerflagaction SET_FLAG
    	end ; TODO: REMOVE DEBUG!!!
    
    
    	loadmemtrainer
    	encountermusic
    	showemote EMOTE_SHOCK, LAST_TALKED, 30
    	callasm TrainerWalkToPlayer
    	applymovement2 MovementBuffer
    	writepersonxy LAST_TALKED
    	faceperson PLAYER, LAST_TALKED
    	jump StartBattleWithMapTrainerScript

    As for Normal damaging Ghost, consider it added to the pile of battle engine bugs, which are hopefully all related and will be mutually resolved with a few line changes. My priority right now is designing and implementing the new content. It's easier to release a 3.0.1 bugfix patch than a patch that adds new maps and likely breaks save files yet again.

    The Elder crashing is probably one of the many related trainer battle crashes. There was at least one trainer on Route 16, a Schoolgirl with a Bellsprout, Weepinbell, and Victreebel, whose Victreebel crashed unless I changed its moveset. (And yet, the Weepinbell had the same moveset but didn't crash.)
     
    Last edited:
    16
    Posts
    9
    Years
    • Seen Mar 5, 2023
    It's easier to release a 3.0.1 bugfix patch than a patch that adds new maps and likely breaks save files yet again.
    Yeah that's completely understandable. Getting the save-breaking edits out of the way first makes sense.
     

    FIQ

    251
    Posts
    11
    Years
    • Seen Sep 15, 2022
    There are 2 notable battle engine bugs I know of:
    * Type matchups are completely broken. This is a result of my type matchup refactor, there is likely a typo somewhere
    * Some HP-to-zero bug (May or may not be related to STAB sometimes doing this). This makes the former impossible/annoying to track down. This was caused either by some conflicting change between Rangi and me or similar, because looking through my commits reveal nothing. Before this commit: 35296933fa8bb49af76f303c65ad202efb9f80cc, I merged in several commits from upstream. Somewhere along the way, this bug was introduced. Looking through relevant commits, the only thing that seems potentially relevant is the final pokémon logic, but stubbing this logic didn't make the bug go away. Hopefully this isn't a similar bug as the one that silentily edited stat changes which were caused by memory corruption and it's merely just some register reuse weirdness... Bisect should help here.

    EDIT: b44621ed157e60c03d3aac5557bea8b7a8a35540 is the offending commit, at least for what reproduces what *I* saw. This is worrying because it doesn't explain Victreebel. At least this exposes an issue: CheckPinch is not functioning properly.

    This might seem nonsensical, but it's worth noting that the AI uses the damage calc routines to do its things, which can explain effects from it being apparent before actually performing any moves.

    EDIT2: Fixed it in my working tree, but while I did it, I also noticed a crash bug. Lovely.

    EDIT3: All of these issues should now hopefully be fixed in my working tree (Not in mainline yet, because there is 2 untested abilities I've implemented too).
     
    Last edited:
    Back
    Top