Jump to content

xyzman

Member
  • Posts

    51
  • Joined

  • Last visited

Everything posted by xyzman

  1. In the past I heard a lot that in both gen 1 and 2, AI status moves have an extra modifier for an accuracy check which makes them miss in 64 out of 256 cases. I remember Leer and Growl missing on my Pokemon during the early game in Gold and Crystal but that memory might be false. Is this true? If so, how does this work? Is it the case of AI status moves always having 192/256 accuracy or it's a multiplier? I.e. is it 75% or 45% for Hypnosis (normal value is 60%)?
  2. Got some questions that might be related to both SV raid mechanics AND the way PkHeX handles the raid data. I am using 20230130 release of PkHeX. 1. How does the game determine which raid Pokemon is in the given den? There is "Raid" structure at 0xCAAC8800 which, based on what I see in hex editor fully matches to entries in "Raid Parameter Editor" available when I click Raid button at the SAV tab. Also, in RaidSpawnList9.cs the seed is commented as "RNG Seed (32bit) for fetching the Raid data table and generating the raid." So is changing the seed enough to determine raid Pokemon and drops? Is there some kind of lookup table, so I can manipulate a given raid outcome (e.g. 6 star Brave Amoonguss with 5 Herba Mystica drops)? 2. How does the game handle online events? As far as I understand, going online updates five KBCAT*** records (that could be injected and that's how event gallery has all the existing raid distributions). Does setting "Content" value to "Distribution"/"Might7" force the game to use KBCATRaidEnemyArray to determine which Pokemon are being battled? 3. As far as I see from RaidSpawnList9.cs, both AreaID and SpawnPointID determine where the raid is on map. Is there a list of Area IDs and SpawnPoint IDs along with their x,y,z map coordinates somewhere? 4. What are the conditions for re-rolling the raids? Just the current date being different than the last saved date (*Int64 KLastSaved)? 5. Are there any known side effects from having multiple active 7/6 star raids on map? 5a. I personally think that "Set All 6-Star" button should be renamed as it's really confusing what it does after the 20230126 release ( - Changed: Gen9 S/V raid parameter editor "Set All 6 Star" changed to "Copy current values to Other Raids". ). I didn't notice this line in release notes first, so after "Set All 6-Star" seemingly did nothing for me post update, I had to go through the commit history to see the change and what does the button do.
  3. If anything, you can run PkHex in developer oriented VMs that Microsoft ships for various platforms. Seems like an overkill, but for Linux users like myself it's quicker than shamanic dances with Wine or Mono. At any case, new layout for Pokemon editor takes quite some time to get used to
  4. Hey, some time ago @Kaphotics has shared encounter tables for BDSP in this tweet: I wonder where are these tables stored in StreamingAssets and how easy is it to change them? I am a total noob to Unity but have some software development skills. My next question is: does the game package have compiled script files or they are interpreted? I know that graphical models could be easily unpacked and decomposed using tool like AssetStudio, but how does it work for scripts and data tables?
  5. I am talking about this project as an example: https://github.com/thekeldeo/pokemon-db If the only way is to get a file directly from SwSh ROM FS, can I have some pointers? I effectively need list of Pokemon, their base catch rate and weight (to build a small tool showing catch probability comparison for different balls in Max Raids).
  6. xyzman

    PKHeX Legacy Discussion

    Could you perhaps add some links to howto's in the bottom spoiler? As well as limitations. As far as I know, save backup/restore is impossible for retail carts. You have actually to buy a digital game from emunand eShop and use its save with SaveDataFiler. Maybe I got it wrong; my Gateway3DS just came in today anyway.
  7. With DS Wi-Fi Connection going down worldwide in May and official metagame shift to Gen 6, are we ever going to see the published research on how the so-called battle RNG works in Gen 5 and can be manipulated? I recall Kaphotics demonstrating the video of him defying all the probabilities in online battle, so it's definitely possible.
  8. There is a block starting with ea d0 bytes having random 16-bytes. The overall conclusion was that it is some sort of checksum, but nobody was able to figure it out yet.
  9. With people having no complaints with >> 4 values, I assume that the theory of final XOR value being less than 15 was confirmed. Does it also prove that 16+ will result non-shiny pokemon? I've yet to see any shinies with their "shiny values" differ by 1 bit...
  10. So wait... They send Wonder Trade data unencrypted? I love Nintendo very very much.
  11. What .NET framework version is required? I don't have access to Windows machine, and WINE + .NET was always a gamble...
  12. Happiness/egg steps counter is missing, Pokemon-amie stats are missing as well (the latter probably will be represented as 3 bytes - friendliness, hunger and amusement - as friendliness increases gradually and hunger depends on amount on steps taken). I bet both are somewhere in the first block. There is a small chance that egg steps system may have been changed (and separated from happiness byte): somehow I hatched an egg, made 3 steps and got another egg hatching sequence. Though encrypting 6 PKX every time PC makes a single step looks like overkill to me. Since you apparently able to insert Pokemon back, other interesting topic (at least for me) is if there is a Cyrillic font support in this gen. Can you please try inserting extended Unicode characters from Cyrillic subset into Pokemon nickname and take photos from party and in-battle screens? It would be nice if you used 0x0401, 0x0410, 0x0417, 0x041F, 0x0427, 0x042F, 0x0430, 0x0437, 0x043F, 0x0447, 0x044F, 0x0451 characters - at various ends of Russian alphabet. I can't wait for the time when you publicize the method... Am aware of all the consequences for the whole community, but digging into this stuff is so much fun
  13. Thanks a lot! Now to translate that bunch of files... And as for fonts, yes, we'll have to change a023 to add Cyrillic characters to all 4 fonts present there. It helps that a guy who is in charge of technical side of this project is already familiar with the basics of that.
  14. Apparently, there is Russian group of fans that aims to translate B2/W2 in Russian which I decided to join. One of their rules is to keep the overall size of text the same, so .narc files can be reinserted with no problems. Which is the problem because Russian words are about the same length as German ones. The aim is to bring a/0/0/2 and a/0/0/3 to at least twice their original English size (because Cyrillic chars are 2 bytes each). So the question is - if those .narc files are being exported and imported via Nitro Explorer, does this tool fix offsets and checksums for me? How are the "files" referenced - by their "a/X/X/X" id or by start location? What are the steps to achieve this goal?
  15. http://filetrip.net/others-downloads/other-systems/download-3ds-save-de-encrypter-15a-f25906.html - from what I've gathered, this thing does the trick. Plus I've seen the mention of SAV files in the 3DS Explorer changelogs. Without hackers finding every single secret from ROM and flash save, Pokemon series will never be the same
  16. When looking into NFTR file further, I found something that looks like the glyph<->character definition. I don't have full spec on NFTR format, but the data look this way: 0x03C1D0 0000 FFFF 0200 0000 B008 0400 B211 [color="Silver"]A100[/color] 0x03C1E0 5F00 [color="Red"]5201 AB00 5301 AC00 5E01 AD00 5F01[/color] 0x03C1F0 [color="Red"]AE00[/color] [color="Blue"]3504 AF00 3604 B000 3704 B100 3804[/color] 0x03C200 [color="Blue"]B200 3904 B300 3A04 B400 3B04 B500 3C04[/color] 0x03C210 [color="Blue"]B600 3D04 B700 3E04 B800 3F04 B900 4004[/color] 0x03C220 [color="Blue"]BA00 4104 BB00 4204 BC00 4304 BD00 4404[/color] 0x03C230 [color="Blue"]BE00 4504 BF00 4604 C000 4704 C100 4804[/color] 0x03C240 [color="Blue"]C200 4904 C300 4A04 C400 4B04 C500 4C04[/color] 0x03C250 [color="Blue"]C600 4D04 C700 4E04 C800 4F04 C900 5104[/color] 0x03C260 CA00 1020 CB00 1520 CC00 1820 CD00 1920 0x03C270 CE00 1C20 CF00 1D20 D000 1E20 D100 2020 0x03C280 D200 2120 D300 2520 D400 2620 D500 3020 "Universal" section of Cyrillic alphabet (used by most countries) has 32 uppercase letters in 0x0410-0x042F range and 32 lowercase letters in 0x0430-0x044F: http://jrgraphix.net/r/Unicode/0400-04FF. Inclusion of 0x0451 (ё) tells us that the intended alphabet was Russian - other languages have different sets of alphabets. If you take a look into code extract above, blue section shows the remains of Russian alphabet. If it continued this way, first lowercase letter mapping would be at 0x03C1DE. Instead, we have 4 "red" characters in 0x015* section of Unicode, and before that, the data seem mangled. And if you take a look at actual glyphs near that section (I can upload the BMP if you want), they correspond to following Unicode characters: ...0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF, 0x0152, 0x0153, 0x015E, 0x015F, 0x0435, 0x0436, 0x0437,0x0438... Meaning that section starting at 0x03C1E2 was custom-trimmed to make it work. So far I have two assumptions: 1) Pokemon font was taken from some DS game that had Russian localization. Those titles are very rare (5-10 or so), but they DO exist. Since Pokemon has a lot of special characters, the glyphs that GF did know they won't use were sacrificed to allow those special characters to be included. 2) Before Pokemon Black/White release, Game Freak outsourced font design task, but when they got the results that would've work for most localisations, they've decided to customise. Either way, out-of-structure bytes around 0x03C1D0 look like patchwork. Whoever modified the fonts, clearly didn't care about these extra characters. In font #3, used for in-battle names, there are several uppercase Cyrillic letters with data around them being "mangled" and non-structured as well. So... no Russian names for my Pokemon Without those 5 first letters all I can think of are some curse words...
  17. I opened a/0/2/3 (which contains in-game fonts) with crystal tile and extracted NFTR files. I've confirmed it myself that neither of 4 Pokemon BW(2) fonts have letters АБВГД included, despite having other 28. Nice trolling, Game Freak...
  18. I want to give my Pokemon Russian names - and apparently in-game font supports 0x0434-0x0451 characters (which corresponds to 28 useful letters out of 33 in alphabet - definitely not usable). All I get for 0x0410-0x0433 are question marks. So question is - is there a sort of character table that maps bytes to font glyphs? And a related question - with wide Unicode characters, what is safe count to use in names? 5 is in-game limit for Japanese and Korean games - does that mean you can't have 6 or more without some graphics glitching?
  19. Well, apparently, PGL and GTS "visitors" count as NPC fans, at least they seem to. I went on Magnemite coiling rampage today and got 11 "visitors" to my JA. After confirming that I've got them as visitors, I've reloaded the save made right after exiting GTS, opened it in HxD... and found all my "visitors" in the fan section. The structure seems to be generally the same as with NPC fans, but 0x0E/F locations have origin bytes, 0x50/1 - id of their pokemon. I don't have much time to look further right now, but I've extracted my JA data here: http://www.mediafire.com/?23lap6qjctc6jtn
  20. One question - you say that memory allocations are for 8 visitors and 12 fans, yet I seem to get 12 visitors and 8 fans max at a time. Visitor = ones you get from PGL, Wi-FI and IR (real-world people), fans = NPCs that the game generates randomly each day, correct?
  21. Managing user account registration and payments, mostly. Yes, if you accept Paypal only, you most probably will automate this. But with multiple gateways, you'll either spend a lot of effort on gateway coverage or go by manual payments confirmation route, which is time consuming as well. User support is another question - people would expect more personal help than the forums usually provide if they have to pay, IMO. Those were just examples of inconveniences that users will have to cope with. The fact here is that not only people will have to pay, but their user experience will suffer. Ok, I'll dual-boot as I need the features the program provides but I'll still swear under my breath every time I have to do so. There is a company in Russia called 1C that provides accounting software. They ARE market leaders and their software is considered an industry standard. Because of their stupid DRM protection, companies buy licenses (that they show to police during random checkups), but actual software is installed straight from pirate downloads with anti-piracy checkups disabled. Think Starforce, and you'll understand what I mean. Well, maybe I put it too rough, but can you really say that positive feedback doesn't motivate you at all? Ok, good point. Move your download page and support forum to a website that uses ads. Make donations requests more aggressive. That's what I meant as other way. After thinking a bit on that, I concede that making users to pay for program may be the easiest scheme. At least you are not just setting a price for what already exists, but make people pay for an improved version.
  22. While I appreciate Codr being there and Pokegen being constantly improved, I think that switching to non-freeware scheme will ruin the project. The following is directed to Codr. First of all, are you completely sure that money that you will get from Pokegen sales will give you satisfaction and encouragement? Suppose you set the price to $10 - how many users do you expect to have for this really niche product considering that there is a free alternative that does its job for 90% of people? Remember, that you don't have Google Play or Apple Appstore, you'll have to deal with all that management by yourself, which usually makes people thing if the trouble is worth it. Second, in times of R/S/E I've got a cease/desist email from local Nintendo branch regarding publishing a tool that can be considered great-grandfather to Pokegen. Probably, someone reported me out of spite as I tended to troll people on GameFAQs back in the time, but the precedent is there. If you get into the mix of legal inconveniences, I wonder if you be motivated enough to go on and fight. Third, in this topic you already said that your "DRM protection" will make the application depend on active internet connection and on Windows OS. This already makes using Pokegen more inconvenient than it is now. Do you know the fact that a lot of people are using pirated software and watch pirated videos because of DRM/distribution scheme being annoying? I expect someone to crack your protection soon. Are you sure that you don't want to abandon the project after this happens? It happened with me and some of my acquaintances in the past. Finally, right now community considers you akin to deity. While you're getting nothing in return in terms of money, at least you have the satisfaction of knowing that people are grateful to you and need you. The community helps as much as it can - by sending in feature requests and bug reports. Do you expect things will stay the same after you make people pay for use? The bottom line here is that while it is your right to find the encouragement for continuing Pokegen project by any means available, you have to consider what is really needed. If it is experience of maintaining paid application, be it. But if you want money or other form of encouragement, this is not the best way to do it, IMO. P.S. I've donated a bit, hope that helps to see that my view is not of greedy bastard that wants everything in life to be free but rather a concern about project future and well-being.
×
×
  • Create New...