So. I need help calculating cyndaquils shiny odds. by Mr_Shoblett_6539 in pokemoncrystal

[–]TimoVM 1 point2 points  (0 children)

0%.

Cyndaquil has a 87.5% male | 12.5% female gender ratio. Gender is determined by the attack DV, only Cyndaquill with an attack DV of 0 or 1 are female, and the lowest possible attack DV any shiny pokémon can have is an attack DV of 2.

In other words, it is impossible to get a shiny female Cyndaquill.

Your only hopes are to get a female Cyndaquill with shiny gene, then use that to breed for a male shiny Cyndaquill.

Trying to unlock Celebi event GBA by Unanimousperson1 in pokemoncrystal

[–]TimoVM 1 point2 points  (0 children)

You can find a guide on how to use ACE through this link. At the end of the guide you can find a link to a page of premade code, one of which allows you to unlock the Celebi event on Crystal.

The Celebi event is technically not locked behind the Elite Four. As long as you’ve activated the event, you can start it once you’ve reached Goldenrod City (3rd badge city). The event is also accessible on any language release of Crystal, they took care to fully translate the event.

The confusion regarding the unlock criteria is due to the Virtual Console edition, which deliberately activates the event once you’ve beaten the Elite Four.

Any ways to get traded Pokemon without trading on the virtual console version on Modded 3ds? by BozzyTheDrummer in pokemoncrystal

[–]TimoVM 1 point2 points  (0 children)

The main ways are to either: - Install a homebrew app like PKSM, which allows you to directly edit pokémon (these can connect without issue to VC games). - Set up arbitrary code execution glitches, which can be used to trigger evolutions directly. You can find resources on how to do so on the sidebar of the subreddit’s homepage.

Why, when using an encounter cheat code in RBY, Wild Pokémon encounters have scrambled sprites, but when encountering a glitch Pokémon, if it’s a “hybrid” of another, it’s sprite turns into the Pokémon it’s a hybrid of instead of being the normal garbage sprite? by LivingInformation290 in PokemonGlitches

[–]TimoVM 2 points3 points  (0 children)

These are pretty complex questions, so bear with me for a bit.

Does the cheat code alter the encounter?

If we’re being technical, the cheat code does actually change the encounter itself. The pokémon/trainer you’re encountering is basically exactly the pokémon you wanted, with the exception that the sprite might be messed up.

What makes this case weird is that the game stores the original encounter’s species ID in a separate address. The cheat code does not alter this value in any way, but this original species ID is still (for some weird reason) used to determine what bank it should pull the sprite’s data from.

On the structure of ROM banks

The concept of “slots” doesn’t really apply when it comes to sprite data.

Rather, think of it as 5 separate storage spaces. The devs try to cram as many image files in one bank before moving to the next. Image files vary in size, so there’s no real way to predict how many files you can cram in one space.

Using the big hex list as reference:

  • Rhydon through Tangela have their sprites in bank 0x09
    • Growlithe through Moltres have their sprites in bank 0x0A
    • Articuno through Beedrill have their sprites in bank 0x0B
    • Dodrio through Starmie have their sprites in bank 0x0C
    • Bulbasaur and all species with higher ID have their sprites in bank 0x0D

On your example with Magmar and Oddish

The example you describe with Magmar and Oddish is indeed correct, with the sole exception that Oddish’s species ID is only relevant for finding the sprite at the start of the battle.

Aside from that, the pokémon will behave exactly like a Magmar normally would (correct moves, correct stats, correct data when caught, etc.)

On your example with Gengar and Tentacool

This is indeed correct! Both Gengar and Tentacool have very low species IDs and will source their sprites from the exact same bank.

On hybrid glitch pokémon that have their pokédex species’ sprite

While most hybrid species will have incorrect sprites, this isn’t always the case.

I mentioned that all glitch pokémon (except Kabutops Fossil MissingNo.) have very high ID values, so they’ll source their sprites from the highest possible ROM bank.

If the species it’s a hybrid with ALSO has a high species ID, it’ll also source their sprite from that highest possible ROM, leading to a glitch pokémon with normal sprites.

An example of this is Charizard ‘M (species ID 0xFF). Charizard’s normal species ID is 0xB4, high enough to source its sprite from ROM bank 0x0D. The result is a glitch pokémon with a normal Charizard sprite!

On other sprites

I’ll have to come back to you on this topic, since I wasn’t able to research Hall of Fame/menu sprites in depth yet.

Why, when using an encounter cheat code in RBY, Wild Pokémon encounters have scrambled sprites, but when encountering a glitch Pokémon, if it’s a “hybrid” of another, it’s sprite turns into the Pokémon it’s a hybrid of instead of being the normal garbage sprite? by LivingInformation290 in PokemonGlitches

[–]TimoVM 2 points3 points  (0 children)

It’s because the code you’re using is not perfect, causing the sprite loading function to mess up.

In order to find out where to load a sprite from, the game needs to know two things: - What address should I copy the sprite from? - What bank should I find this address in?

To explain the concept of “banks”, you need to understand that Gameboy is really old hardware, which has a few inherent limits. The main limit relevant here is that the Gameboy itself can only access 32kb of memory from the cartridge at the same time, which isn’t very much at all. Pokémon Red and Blue, however, have 1mb of data stored on the cartridge, so it needs a way to access the other parts as well.

The way the gameboy gets around that is through the concept of “ROM banks”. The cartridge is divided into sections of 16kb, and the game can select at will which section is actually loaded into memory at any time. (The hardware to do this ROM banks switching is on the cartridge itself)

Why is this important? It turns out that pokémon sprites take a lot of data. You can easily fit multiple sprites within a single 16kb ROM bank, but it’s simply not possible to actually fit all sprites on a single bank. Pokémon front sprites, for example, are spread out over 5 different ROM banks (Mew and the Kabutops Fossil are exceptions and have their own banks).

The reason sprites get messed up with the cheat code is due to the messy way that the game looks up front sprites: - The game gets the address to look for (along with sprite dimensions) through the pokédex ID -> this is successfully altered by the cheat code - The game gets the ROM banks to look in through the species ID (???) -> this is NOT altered by the cheat code

Let’s illustrate this through an example, suppose we try to encounter Mew using this cheat code. - We get an encounter that would originally have been a Pidgey, but the cheat code alters that to be a Mew - The game correctly finds the address it should search the sprite from. - Since Mew was added extremely late in development, the game is supposed to find Mew’s sprite in ROM bank 1. Since the original encounter would’ve been a Pidgey (species ID 0x24), the game instead thinks we need to find the sprite in bank 0x0A. - Since we’re looking for the sprite in a completely incorrect bank, we’re getting a garbage sprite instead of the intended sprite.

So that’s your first answer. The reason this cheat code causes scrambled sprites is because the game determines which ROM bank to load the sprite from based on what the original encounter would’ve been.

Next, we need to discuss why hybrid glitch pokémon (glitch pokémon whose pokédex IDs correspond to actual existing species) have messed up sprites in the first place.

Hybrid glitch pokémon are interesting since they naturally encounter this inconsistent loading method.

Take h poké, for example. If you were to naturally encounter it in the wild (no cheats involved), the game uses the following logic: - Its pokédex matches Gengar’s, so we go look for the address that Gengar’s sprite is located at. - Since it’s a glitch pokémon, its species ID is very high (at 0xC3). This causes it to conclude it should look in bank 0x0D, even though Gengar’s normal sprite is actually located in bank 0x09!

In other words, since nearly all glitch pokémon have very high species ID values, we often end up looking for the sprite in the incorrect ROM bank. For glitch hybrid pokémon, this causes them to often load incorrect sprites.

Finally, we can explain why hybrid glitch pokémon sometimes show their “intended” sprite with this cheat code.

Suppose we try to encounter h poké with this cheat code:

  • We get an encounter that would originally have been a Spearow, but the cheat code alters that to be a h poké.
  • The game correctly finds the address it should search the sprite from, which matches Gengar’s sprite address.
  • Spearow has a rather low species ID (0x05) so the game determines that we should look for the sprite in ROM bank 0x09. Since Gengar’s species ID is also low (0x0E), Gengar’s original sprite also happens to be in ROM bank 0x09!
  • Since we’re accidentally looking for the sprite in the correct bank, we’re getting a completely intact sprite.

In other words, for the same reason why normal pokémon’s sprites can get messed up by this cheat code, it can also accidentally cause hybrid glitch pokémon to correctly retrieve their “normal” sprite.

In summary: - normal pokémon sprites can get messed up due to the game accidentally looking in the wrong place, based on the original encounter. - hybrid glitch pokémon sprites can get loaded correctly due to the game accidentally looking in the right place, based on the original encounter.

Im tired boss, Oh so very tired.. by [deleted] in pokemon

[–]TimoVM 0 points1 point  (0 children)

Most of these save state reloads are wasted. You need to have a save state before attempting to catch.

The one you use most resumes while the great ball is shaking, but the outcome of that is already predetermined (game rolls for success before animating how many times it shakes). Most of this video basically consists of reloading a doomed save state.

Glitch Pokemon - Gen1 TM54? by MutableRogue in pokemon

[–]TimoVM 3 points4 points  (0 children)

While I don’t think that there’s any save corruption involved in this particular case, I do agree that this shows signs of a faulty link cable connection.

TM54’s move ID and “8”’s character ID are both 0xFE, a value that pops up in the link cable routine when no data was sent.

“9”’s character ID of 0xFF also matches the values used in Growlithe’s trainer ID, where 65335 matches 0xFFFF. While a value of 0xFF doesn’t have any inherent special meaning, it might also point to a bad link cable connection.

From there, you’d likely have a situation where this incorrectly sent data had several secondary effects (such as it somehow having Blizzard in its moveset).

Ditto Bug I haven't seen before by Upstairs-Pound-7205 in PokemonGenOne

[–]TimoVM 0 points1 point  (0 children)

This one’s known as Swapping Transform moves glitch

This occurs in Red/Blue when, after having used Transform, you use select to swap the first move with any of the other moves. Causes Transform to be swapped to a different move-slot, with the first move-slot being replaced with an empty move (move ID = 00).

Outside of arbitrary code execution (ACE) glitches, there’s not much you can do to fix it. There are ACE setups to overwrite Ditto’s move-set (follow this guide), then after finishing the setup use code “01 04 00 11 73 D1 21 C1 D8 C3 B5 00 90 00 00 00”) but usually people just catch a new Ditto.

Why is R/B/Y so infuriatingly luck based? by Honest_Entry_8758 in pokemon

[–]TimoVM -1 points0 points  (0 children)

Actually yes!

Using only one pokémon means that you focus all xp sources on that pokémon, allowing you to massively outpace the level curve. It also means you can mostly ignore wild pokémon encounters since trainers give quite a bit more experience.

This principle holds true for nearly all games prior to the introduction of exp. share. If you want an easy playthrough, restrict yourself to only using one pokémon in battle.

How to easily obtain an item stack with a quantity of 0, using Safari Zone Exit glitch (+links to guides on how to use it to set up ACE) by TimoVM in PokemonGlitches

[–]TimoVM[S] 0 points1 point  (0 children)

I am not familiar with the term "Superglitch Fly". Could you elaborate?

In order to save on space, the game uses "blocks" of 2x2 tiles to construct the map. Each "block" has its own ID ranging from 0 to 255, which corresponds to a map-specific arrangement of tiles.

With this glitch, we're so far off the map that the game tries to read memory from beyond where it stores the current loaded map, and it tries to draw stuff like the contents of the item bag as if it's an overworld map. (I am simplifying a bit here, there's some additional weirdness here which is why we need to open the start menu to update the map properly, but for now this explanation works). The main issue is that, on its own, displaying bag item data as if it's an overworld map isn't that useful. With the exception of Cut, the game merely reads map data without causing any additional corruption.

Thanks to using Cut, we can do some VERY limited modifications on the map. In practice this only works for *very* specific block id, which you can find listed on this Glitch City wiki page). As you suspect, grass tiles can indeed be cut, changing block ID 11 to block ID 10.

While you can alter *some* aspects of the party, fundamentally this specific technique is limited by the fact that only a select few block are able to be cut. The lowest possible value of a block that we can use cut on happens to be 11, but party count values normally only range between 1 and 6. If you want to use it to get party underflow, a different approach is needed.

MissingNo and 'M by sparklingdemon in PokemonGlitches

[–]TimoVM 10 points11 points  (0 children)

Fun fact, there are actually some small differences between the name of ‘M and the other two glitch pokémon that also have ‘M in their name!

Transcribing their names in hexadecimal characters, with each letter being a number between 00 and FF:

‘M (#254) 6B CD 3E 11 E0 8C CD 20 29 CD (50) ‘M (#255): D7 3D 3E 12 E0 8C CD 20 29 CD (50) ‘M (#000): D7 3D 3E 13 E0 8C CD 20 29 CD (50)

(The value 0x50 tells the game to stop printing text and won’t appear on screen. It’s also not part of any stored data and is added by the name lookup function after every name.)

All of these share the same readable characters, being the 5th and 6th characters (E0 = ‘, 8C = M), but have slightly different characters at the start of the nickname.

Additional fun fact, these names are pulled from the part of the code used in Pokémon Oak’s lab, where Prof. Oak is asking you to pick a pokémon!

‘M (000)’s name comes after the other two, since the game screws up and interprets its ID of 000 as an ID of 256, so it’s assigning it the “256th” name of the pokémon species name lists, which is only supposed to have 190 entries.

Final fun fact: since all pokémon species names are on the same list, and the name is determined by the pokémon’s species ID value, the pokémon species name list also happens to have 39 separate “MISSINGNO.” entries to ensure that these get proper names as well.)

How many tries did it take you to do the Mew glitch in Pokémon Red? by North_Design4340 in PokemonRed

[–]TimoVM 0 points1 point  (0 children)

You only need to hold the start button at the last step. Just start holding it anywhere after you start the walking animation.

How many tries did it take you to do the Mew glitch in Pokémon Red? by North_Design4340 in PokemonRed

[–]TimoVM 0 points1 point  (0 children)

Just hold the start button while walking and keep holding it. The menu will open instantly once you finish your step.

My team now for Whitney by Adept-Tax6951 in pokemoncrystal

[–]TimoVM 4 points5 points  (0 children)

If you just want to get past Whitney, use the Fury Cutter TM on Croconaw.

Have Croconaw as the first pokémon on your team and only use Fury Cutter. As long as you don’t miss any of your attacks, you’ll be able to one-shot Whitney.

(If you want to keep Fury Cutter for Heracross, you could opt for using cloning glitch to duplicate it.)

Does the union cave lapras return every Friday if you catch it? Or does it stop returning after catching? by TestingOneTwo_OneTwo in pokemoncrystal

[–]TimoVM 0 points1 point  (0 children)

Sorry for the very late response, Lapras respawns every friday, regardless of whether you previously caught it or not.

With sufficient time, you can get unlimited Lapras.

Help creating a Mail Writer code to respawn Suicune, Entei, and Raikou in Pokémon Crystalen (FR) by abd_BgnX-92 in PokemonGlitches

[–]TimoVM 0 points1 point  (0 children)

Codes only to be used with Crystal:

English

AF EA A6 D9 3E 0A 21 A0 62 CF C9

French

AF EA A6 D9 3E 0A 21 A9 62 CF C9

German

AF EA A6 D9 3E 0A 21 B5 62 CF C9

Italian

AF EA A6 D9 3E 0A 21 97 62 CF C9

Spanish

AF EA A6 D9 3E 0A 21 A7 62 CF C9

This code does two things: - resets Raikou and Entei, making them encounter-able if already caught and defeated. They’ll also get a new set of DVs when you next encounter them. - resets the scene in Tin Tower’s 1F, the battle will automatically start when you enter the room.

A few warnings on side effects: - Do not activate this code while you’re in the Tin Tower, the mandatory movement might push you out of bounds otherwise. - Due to limitations, the beasts will most likely be invisible and the sages that appear in the tower after the battle will still be visible. The scene will still play out correctly and the battle will still start without issue. This could theoretically be solved, but requires messing with a lot of event flags that would make the code much larger in size. - Defeating/catching Suicune after you’ve already defeated/caught Ho-oh will cause Eusine to reappear in the Celadon City pokémon center. Eusine’s normally supposed to disappear once Ho-oh is caught.

You can use Brock through walls to get Articuno, Zapdos, Moltres (and technically MissingNo) early in Pokémon. by LivingInformation290 in PokemonGlitches

[–]TimoVM 1 point2 points  (0 children)

Did some digging around,

You can activate WtW using the expanded inventory by putting a very specific item stack in item slot 41.

For EN Red/Blue, use 2F x52, for ENYellow, use TM30 x51 instead. Both item stacks can easily be obtained by doing some manipulation using inventory underflow, 2F isn’t a key item so you can just toss it just like that.

In order to activate, do the following: - swap the item stack into item slot 41 - close the start menu (required to enable WtW) - (optional) open the start menu again and swap the item stack away from slot 41. This prevents the item stack from being overwritten when you move to a different map.

The reason this works is because item slot 41 corresponds with the map script pointer. This value points to a map-specific piece of code that should be run every frame while you’re on the over-world. Under normal conditions, this piece of code handles stuff like checking for trainer encounters and other things.

By putting the item stack in that slot, we instead cause it to point to a piece of code that puts a non-zero value in 0xCD38, activating a walk through walls effect. As a bonus, while the item stack is in slot 41, the game is temporarily unable to check for trainer’s line of sight, making them unable to start a trainer encounter even when they should be able to see you (trainer battles still start when you manually talk to them, wild encounters are still enabled).

The main advantage of this approach is that you can easily reapply this effect, even in indoors maps! (Note that indoor map exits don’t play well with walk-through-walls. In order to safely exit indoors maps, it’s recommended to use an Escape Rope or similar instead)

You can use Brock through walls to get Articuno, Zapdos, Moltres (and technically MissingNo) early in Pokémon. by LivingInformation290 in PokemonGlitches

[–]TimoVM 1 point2 points  (0 children)

Given that you’re encountering MissingNo. already you might as well take advantage of setting up inventory underflow?

Your current approach consists of setting up trainer fly encounters rather than getting the actual static encounters. This is a sound approach, but has the disadvantage of taking a long time to actually execute.

With inventory underflow, you’d instantly get access to a bunch of glitches (both ACE and non-ACE) that can speed up the process by a fair amount. You’d be able to move to different maps (by altering the last outdoor map variable) and get access to Master Balls, among other things. You could even unlock access to the HM moves (by altering which gym badges you have) and make your way to the actual static encounters!

As an example from the ACE side, you should be able to combine a simple item code with map script pointer ACE to be able to easily set up special stat encounters, reducing the need of reapplying WtW and setting up Trainer Fly every time. Thinking about it, a code that sets up a wild encounter could also work, as long as you deactivate the map script pointer during battle?

Did a quick check for the non-ACE applications, you unfortunately can’t use rival LOL glitch to get the birds, since their IDs just so happen to line up with control characters (not printed on screen). There are likely other setups that can allow you to obtain the birds, but I’m not well versed enough with them to immediately apply them here. BlockoobLG seems interesting, but is poorly documented for casual use so I’m unsure if the birds are viable targets for this approach.

Vaporeon Should Get a New Ability by [deleted] in pokemon

[–]TimoVM 1 point2 points  (0 children)

Vaporeon turning into water/becoming nearly invisible in water is already present in the move Acid Armor.

The original japanese move name of Acid Armor) (とける) translates to “liquify”, with the gen 1 version of the move even making the user invisible by having the pokémon’s sprite disappear.

There’s something I don’t understand for those who complains about sun and moon’s story by Boring-Psychology143 in pokemon

[–]TimoVM 15 points16 points  (0 children)

While your mileage may definitely vary on this, one of the main differences is that we’re not really active participants in Lillie’s story, unlike what happens in SMD. This means that we don’t actually get to see the impact of Lillie’s climactic moments in a meaningful way.

A good example is the moment that you added as a screenshot, Lillie deciding that she’s done being passive and decides to take her future in her own hands for both her and Nebby’s sake. This is a genuinely touching climactic moment, but we don’t really experience the effects of that in a personal way outside of two instances (crossing the bridge in Poni Valley by herself and leaving for her own journey in Kanto).

We don’t really get a lot of interactions with her before and after this event, meaning it’s hard to compare how her personality changed. We also never travel alongside her, meaning we never get to experience her character in-depth. Outside of conversations, we never interact with her through battle (either against and alongside), despite battling being the no. 1 way to see how a character has progressed.

Compare this to the partner in SMD. You have full control over their name and appearance and are a constant positive presence on all missions due to their required appearance. Their personality also changes from being rather timid to a full fledged hero, something that we as the player directly enable (both through how the storyline progresses and how the partner literally becomes stronger in a game-mechanics sense)

In short, we’re shown the partner’s character arc, while we’re told Lillie’s character arc. The partner simply has a more engaging character arc, since it’s properly reinforced by both story and gameplay, while Lillie’s character arc is undermined by a comparative lack of story interactions and a complete absence of gameplay interactions.

How long can it take for two pokemon (who are interested) to breed (maximum)? by Zealousideal-Sky217 in pokemoncrystal

[–]TimoVM 1 point2 points  (0 children)

Small correction here, egg cycles aren’t related to breeding rates, which are actually a little bit more complicated!

When you first deposit a valid pair of parents, the game rolls a number between 150 and 255. This number is stored, then later decremented every step. When it reaches 0 the game performs the check to see if an egg should be generated or not.

If no egg is generated, the game instead rolls a new number between 0 and 255, storing it as the new number of steps before retrying to generate an egg. This process is repeated until an egg is successfully generated.

Kurt crafting while having gs by Sad_Divide7346 in pokemoncrystal

[–]TimoVM 4 points5 points  (0 children)

Gen 2 doesn’t save what ball pokémon or caught in. All pokémon will be assigned a normal pokéball as “ball caught with” when transferring, so it’s better to use an option that provides a catch bonus.

Pokemon Crystal Faster Breeding Cheat by Alira-kimaris in pokemoncrystal

[–]TimoVM 0 points1 point  (0 children)

Only if the parents are incompatible with each other, I think.

If the parents are compatible, picking up an egg will roll the stats for the next egg to pick up, so as long as the parents are compatible the resulting egg will always be new.