![]() Register - Login | |||||
![]() |
Main
- Memberlist
- Active users
- Calendar
- Wiki
- IRC Chat
- Online users Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies |
![]()
| |
Jul - General Game/ROM Hacking - Migrating Pokémon from Generation 2 to 3 |
![]() ![]() ![]() |
Pages: 1 2 3 4 5 | Next newer thread | Next older thread |
GuyPerfect Catgirl Level: 65 ![]() ![]() ![]() ![]() Posts: 1045/1094 EXP: 2268501 For next: 67127 Since: 07-23-07 Since last post: 11 days Last activity: 5 days ![]() |
|
Oh snap. It occurs to me that a person can view a Pokémon in the transfer stage without opting to migrate it. If this is the case, then on subsequent views, the Nature can change depending on the values of the stat experience if Nature is determined based on stat values.
I'll have to think on this one. I'm leaning towards Nature being something that is guaranteed to remain constant on a Pokémon regardless of its stat Exp. |
Delpolo The local lurker. Level: 55 ![]() ![]() ![]() ![]() ![]() Posts: 640/736 EXP: 1243638 For next: 70551 Since: 09-12-07 Pronouns: he/him/his Since last post: 65 days Last activity: 1 hour ![]() |
|
Originally posted by GuyPerfect I stumbled upon this video, which allows you to 'hatch' any Pokemon, including Mew, Celebi, Deoxys, and so on. According to your research, Transporter would reject all Mew and all Celebi, because Mew wouldn't have the Fateful Encounter flag, and Celebi would hatch at level 5 even with the Pomeg Glitch. ...But are there any restrictions on Deoxys? Or is it pointless to try and do this glitch to transfer a Deoxys all the way up to OR/AS (if it'd even pass through to generations 4 and 5)? |
Darkdata Ruins!? ♥ Level: 99 ![]() ![]() ![]() ![]() ![]() Posts: 2864/2889 EXP: 9758599 For next: 241401 Since: 07-04-07 Since last post: 257 days Last activity: 23 days ![]() |
|
Linkara did a video on this topic, might as well bump to share.
http://atopthefourthwall.com/how-to-trade-gen-12-pokemon-into-gen-3-and-up/ |
stag019![]() Red Koopa Level: 24 ![]() ![]() ![]() ![]() Posts: 119/129 EXP: 72067 For next: 6058 Since: 09-11-11 Since last post: 1.0 years Last activity: 231 days ![]() |
|
He mentions using a Mega Memory Card to get your save files off the cartridges. He also mentions it's price (~$30 on eBay). I got a Monster Brain (also sometimes branded as Brain Boy), which can also copy save files, for ~$10-$15 on eBay. Just in case anyone decides to try this.
I remember when Twitch Plays Pokemon (the first) just ended, I used this method to get the TPP save file onto a legitimate Pokemon Red cartridge. |
GuyPerfect Catgirl Level: 65 ![]() ![]() ![]() ![]() Posts: 1057/1094 EXP: 2268501 For next: 67127 Since: 07-23-07 Since last post: 11 days Last activity: 5 days ![]() |
|
I've gone through and run a bunch of Pokémon against the Poké Transporter validator to determine the minimum allowable levels at the time of this post:Bank Gen 2 Gen 3Although hatching Pokémon from eggs in generations 2 and 3 will always yield a level 5 Pokémon, the validator accepts level 1 Ditto and Unown, and presumably any hatchable Pokémon as well. It's likely they just used level 1 as the default value when initializing the database, then went back and filled in values for legendaries. Although Ditto and Unown cannot be bred, they were probably overlooked because they're not legendaries. Articuno, Zapdos, Moltres and Mewtwo are the most reasonable of the bunch, since their minimum level of 50 (70 for Mewtwo) happens to match the level at which they are encountered in both generations. Raikou, Entei and Suicune can pass through at level 30 for whatever reason, even though the minimum level they can appear as with regards to the Poké Transporter is 40 (HeartGold and SoulSilver). Lugia and Ho-Oh can honest-to-goodness slide through at level 5, and I have no idea why. This satisfies the level range for generation 2, though, which presents the two at level 40. Still, the practical minimum level for both is 45 from HeartGold and SoulSilver. __________ Now I need to put together a list of moves per Pokémon that are valid in Gen 2 that aren't valid in Gen 5. For example, there's a TM for Zap Cannon in Gen 2, which you can teach to let's say Espeon, but the Pokémon can never learn that move in later generations, meaning Poké Transporter will reject it. This is the kind of thought experiment I like, though. ![]() |
stag019![]() Red Koopa Level: 24 ![]() ![]() ![]() ![]() Posts: 120/129 EXP: 72067 For next: 6058 Since: 09-11-11 Since last post: 1.0 years Last activity: 231 days ![]() |
|
Originally posted by GuyPerfectVery yes. I've always wanted to see someone create this list as well. Good luck to you on that (if I don't end up helping you by using the Pokemon Crystal disassembly). Are there any moves that can be learned (e.g. via TM) in Generation I that can be transferred to Generation II (where these moves can't be learned) which also is not learnable in future generations? If so, I'd have to use the Generation I disassembly as well. Zap Cannon/Espeon is one of the move/Pokemon combos I frequently used when I told people I wanted to see this list. The other move/Pokemon combo was Dragon Breath (TM24)/Charizard. |
GuyPerfect Catgirl Level: 65 ![]() ![]() ![]() ![]() Posts: 1058/1094 EXP: 2268501 For next: 67127 Since: 07-23-07 Since last post: 11 days Last activity: 5 days ![]() |
|
Originally posted by stag019 If you're comfortable looking through the code, there is something you could help with. I've got a Crystal save file over here and when I try to calculate stats based on stat exp. for certain things, I wind up being off by one, and I can't figure out why. For example, here's a level 44 Ariados's stat data figures: Base IV Exp.The in-game stats are as follows: 138 max HP
![]() However, putting those numbers through the usual formula results in numbers like these instead: A B CA, B and C here are slightly different algorithms that try different combinations of rounding and truncation. For some reason, a few stats keep being off by one. I think it's probably a rounding issue due to how the game calculates the square root, but I haven't looked into it yet. If you think you could nail down the precise algorithm to get the same numbers as the game, I'll make sure it's worth your while. Originally posted by stag019 I'm putting together a program to find out. It's gonna take me a bit, though, 'cause I have to get all the data formatted in some useful way, then implement an algorithm to properly account for chain breeding. When it's all said and done, I should be able to identify unreachable egg moves, moves that became inaccessible since generation 3, and combinations of egg moves that can't be owned by the same offspring. Come back on Wednesday. I should have something to show by then. |
Xenesis Actually a Doctor Level: 93 ![]() ![]() ![]() ![]() Posts: 2238/2484 EXP: 7757119 For next: 295691 Since: 07-28-07 Pronouns: he/him From: The Land of Kangaroos and Drop Bears Since last post: 16 hours Last activity: 1 hour ![]() |
|
Originally posted by GuyPerfect Level 30 is because of Pokémon Colosseum, which is the level they can be obtained in that. |
GuyPerfect Catgirl Level: 65 ![]() ![]() ![]() ![]() Posts: 1059/1094 EXP: 2268501 For next: 67127 Since: 07-23-07 Since last post: 11 days Last activity: 5 days ![]() |
|
I'm still getting the data controller implemented, but it won't be much longer. Once I finish parsing my data files, I'll be able to run an algorithm on the moves for each generation independently to get us the info we've been so curious about. |
stag019![]() Red Koopa Level: 24 ![]() ![]() ![]() ![]() Posts: 121/129 EXP: 72067 For next: 6058 Since: 09-11-11 Since last post: 1.0 years Last activity: 231 days ![]() |
|
Sweet. I'm not very good at knowing what a piece of GBZ80 assembly is doing, but I found the relevant code in Generation I here. I'm assuming it would be the same in Generation II (have you ever traded a Pokemon between I and II and noticed any off by one errors?). The main thing to notice is that the comments say the square root is ceiling'd. Hope that helps you in figuring out the correct formula. |
GuyPerfect Catgirl Level: 65 ![]() ![]() ![]() ![]() Posts: 1060/1094 EXP: 2268501 For next: 67127 Since: 07-23-07 Since last post: 11 days Last activity: 5 days ![]() |
|
Originally posted by stag019 That's part of it, for sure. Good find. According to lines 3792 and 3793, the exact as-implemented formulas are as follows:
There are two key attributes to these formulas that produce values that deviate from the ones I linked on Bulbapedia. The first is, as you pointed out, the square root rounds up. The other one relates to precision loss because integer division effectively always rounds towards zero due to truncation of the fractional portion of the quotient. Since the formuals divide first by 4 then by 100, rather than first by 8 then by 50 as shown on Bulbapedia, the effects of truncation rounding are different in subtle ways. Running my Ariados through these versions produces the following values: HP 138Look familiar? You bet they do: those are the same ones from my screenshot. You got me the answer to something that was bugging me for quite a while now. Many thanks. ![]() Do you have any of the 3DS games? I've been collecting blue-pentagon shinies (including legendaries) and blue-pentagon hidden abilities for my secondary bank account, and I'd be more than happy to part with something as a show of gratitude. I can also breed you a perfect-6 IV of any nature/ability (in most cases) (blue-pentagon, of course) with an item of your choice, such as an Ability Capsule, Lucky Egg or an event berry. Heck, I'll even train it for you. |
GuyPerfect Catgirl Level: 65 ![]() ![]() ![]() ![]() Posts: 1061/1094 EXP: 2268501 For next: 67127 Since: 07-23-07 Since last post: 11 days Last activity: 5 days ![]() |
|
The results are in:
This is an aggregate algorithm that merged the gen 1 + 2 movesets and cross-checked them against the merged gen 3 + 4 + 5 moveset for the same Pokémon. If my data source is accurate, this list should be comprehensive for what moves were valid in generation 2, but not in generation 5. Any TM that is in gen 2 that isn't in later generations obviously is going to drop availability for any Pokémon that doesn't learn those moves on their own. Other than that, there's just a handful of egg moves, and most of the invalid moves come from event distributions. __________ EDIT: I ran one more report that excludes both TMs and event moves. What's left is small enough to post: #001 - Bulbasaur |
stag019![]() Red Koopa Level: 24 ![]() ![]() ![]() ![]() Posts: 122/129 EXP: 72067 For next: 6058 Since: 09-11-11 Since last post: 1.0 years Last activity: 231 days ![]() |
|
Originally posted by GuyPerfectNo problem, man. ;) I actually once had a script that would take any Generation I save file, and, using PHP GD, make an exact copy of the two stats screens for your Pokemon (in the party or in a box). This always had off-by-one errors as well, but I never cared enough to look up why that was. If I still cared about that script, I'd update it. It also could look through the ROM (not Yellow) at any trainer's party/level information, and show you what it's stats would be too (I could see that being useful to speed running, but I didn't realize that at the time). Also, you would see what moves it would know at that level. The only thing I hadn't implemented was special trainer moves. But I digress... Originally posted by GuyPerfectI have X. I even got my starter Pokemon. I haven't played it much past there though, so your offer doesn't really mean much to me... Ninja: You should alter the full list to specify which moves are event moves, and which generation the TM moves are TMs in. Real edit: Also, your list contains Nidoran%E2%99%80 and Nidoran%E2%99%82... Double edit: Really? The answer was right here! the whole time! |
GuyPerfect Catgirl Level: 65 ![]() ![]() ![]() ![]() Posts: 1062/1094 EXP: 2268501 For next: 67127 Since: 07-23-07 Since last post: 11 days Last activity: 5 days ![]() |
|
Originally posted by stag019 I'll do you one better than that. Here's a tab-delimited list of all the moves, listing their types, TM numbers, levels learned and generations. You can paste it into a spreadsheet program and sort it any way you please: Originally posted by stag019 The text files do, yeah. I like to keep data in ASCII, and URL formatting made it easy to automate the downloading of moveset data. ![]() Originally posted by stag019 Somewhat. They're talking about rounding up, but that's only part of the story, and only applies to the square root. The game's idea of square root is something like this (in concept; this isn't an implementation of the game's code):
As such, the square root will always round up, but, unless I'm mistaken, the division will always round down. |
2Tie![]() Rumours of my death have been greatly exaggerated. Level: 61 ![]() ![]() ![]() ![]() ![]() Posts: 647/1047 EXP: 1851007 For next: 25589 Since: 02-22-10 Pronouns: anything you want From: The Codrex, Karda Nui Since last post: 14 days Last activity: 1 hour ![]() |
|
sample sheet is borked i think
EDIT: it works |
stag019![]() Red Koopa Level: 24 ![]() ![]() ![]() ![]() Posts: 123/129 EXP: 72067 For next: 6058 Since: 09-11-11 Since last post: 1.0 years Last activity: 231 days ![]() |
|
Originally posted by GuyPerfectWell I had already assumed all division would be floor()d. But if you scroll up, look for Ztobor's comment on 03:39, 26 May 2010 (UTC). He mentions 4 and 100 instead of 8 and 50. |
stag019![]() Red Koopa Level: 24 ![]() ![]() ![]() ![]() Posts: 124/129 EXP: 72067 For next: 6058 Since: 09-11-11 Since last post: 1.0 years Last activity: 231 days ![]() |
|
Oh and another thing, I think cross-generational evolutions movesets aren't shown properly.
Example: Slowpoke can learn Pay Day via TM in Generation I, can be traded to Generation II, and then evolved into Slowking. Slowking doesn't have Pay Day on your list, but I'm pretty sure it couldn't learn it in any future generation. I also have no idea how this would affect egg moves for any Pokemon that is related to a Pokemon from Generations I or II (I was never much of a breeder). |
GuyPerfect Catgirl Level: 65 ![]() ![]() ![]() ![]() Posts: 1064/1094 EXP: 2268501 For next: 67127 Since: 07-23-07 Since last post: 11 days Last activity: 5 days ![]() |
|
Sorry it took a while to get back to this. I've modified my algorithm to merge the gen 1 movesets into the gen 2 movesets prior to checking for availability of moves by prior evolution. When that still didn't work, I double-checked my data and found out I'd entered a few numbers incorrectly regarding which prior evolutions belong to each Pokémon, and corrected them all accordingly. The resulting list is 67 lines larger, and Slowking knowing Pay Day is one of them:
|
GuyPerfect Catgirl Level: 65 ![]() ![]() ![]() ![]() Posts: 1067/1094 EXP: 2268501 For next: 67127 Since: 07-23-07 Since last post: 11 days Last activity: 5 days ![]() |
|
Let's pretend for a moment that we can manufacture devices to interface with the Game Boy Advance. Here's what I envision:
There would be this device, which inserts into the Game Boy Advance and curls around with another cartridge slot on the other end. It would look very similar to the Game Boy iteration of the Game Shark, but of course not so tall that you would be able to insert it into an 8-bit Game Boy: This would allow the gizmo to be used in any GBA or DS unit with a GBA cartridge slot. On the device board would be a rewritable flash chip for storing PRG-ROM and a USB interface for communicating between the device and a computer. Hardware features include the following:
As for the Pokémigrator, the main program would be on the device itself, running on the system that has the 8-bit cartridge plugged into it. Via GBA multiboot, it would send a program to a second GBA unit with a 32-bit cartridge in it, holding down Start and Select at power-on to force the system into multiboot mode. The multiboot program is just a server of sorts, sitting there idly reading data from the 32-bit Pokémon game and writing transferred Pokémon to it when the user decides to save. It would also offset some of the processing overhead by calculating personality values for the Gen 2 Pokémon to save time when the user actually decides to migrate them. Until such a time that we have 8-bit access hardware handy for testing, I'll be able to put together the rest of the migration app by simply writing a Gen 2 save file to the same flash cartridge that I upload the software to (and I do have a few of those handy). Everything can be tested this way, but the agonizing part of it is that it can't be used to actually transfer Pokémon from a physical Gen 2 game. ![]() |
CruisnEma Member Level: 21 ![]() ![]() ![]() ![]() Posts: 29/94 EXP: 43482 For next: 6461 Since: 02-01-12 Since last post: 18 days Last activity: 1 day ![]() |
|
There is a way to create a GBA rom for this tool that (if into a GBA flash card) can be linked with both GEN II and GEN III games? A GBA rom that can stores up to 100 Pokémon and that can trade with GEN III games but can transfer pokémon form GEN II games, is possible? |
Pages: 1 2 3 4 5 | Next newer thread | Next older thread |
Jul - General Game/ROM Hacking - Migrating Pokémon from Generation 2 to 3 |
![]() ![]() ![]() |
![]() |
Acmlmboard - commit 5d36857 [2018-03-03]
©2000-2018 Acmlm, Xkeeper, Inuyasha, et al. |