Jump to content

Luma3DS Locale Emulation - Vivillon


centershock

Recommended Posts

Hello everyone! 

After many weeks of silently enjoying the beautiful content provided by you guys I decided to step up my Living Dex game (also caused by the recent news of Nintendo eShop discontinuation) and collect every Pokemon from Gen 1 up to Gen 7 that I am currently still missing. As of now, I'm looking to collect every possible Vivillion pattern by catching those in Pokemon X on different, fresh saves with the corresponding regions set up by using the Luma3DS Locale Emulation feature on my modded New 3DS.

Before coming to the issue, some background information:

  • System: 11.15.0-47E
  • Region: Germany - Subregion: Not Specified
  • GodMode9 v1.8.0
  • Luma3DS v10.2.1
  • PKHex Version 20220318

Now comes my approach of creating those saves:

 

Spoiler
  1. Backed up my german savefile with Checkpoint
  2. Rebooted system to GodMode, dumped the Pokemon X .cia file from my cartridge
  3. Booted up system, install dumped .cia with FBI
  4. Rebooted system to Luma3DS configuration menu, activated the "Enable game patching" option
  5. Created a Locale.txt file in the /luma/titles/0004000000055D00/ folder with the following content: USA EN DO 4 (check the helpful links at the end for an explanation of the values)
  6. Booted up the game 

 

So far so good, than I progressed through the game until I could catch a Scatterbug on Route 2. Right after I caught one I saved my game and took a look at the save file with PKHex. (attached screenshot) The Scatterbug seems to be perfectly fine, the 3DS Region, Sub Region and Country correspond to the ones I set up with the locale.txt. The info provided by the Trainer Data Editor however seems to be not fully correct. While the Sub Region is not set (which should not be the issue in my case),  the Vivillion pattern still remains Continental, wich would be the correct one if played the game with a german save, but not with a save from the Dominican Republic. The correct Vivillion pattern for that region is the Archipelago pattern. So what next? I changed the pattern to Archipelago, booted up the game again, caught another Scatterbug and than proceeded to evolve both Scatterbugs to see the outcome. To my suprise, the first Vivillion still turned out to have the Continental pattern. The second one though had the Archipelago pattern. After i looked at the save file again, both Vivillions passed the Legality test.

Now to my questions:

  1. Does someone has any idea why the Vivillion pattern remained Continental while everything else seems to perfeclty fine?
  2. (More of a Legality question) Both Vivillions obviously have the same TID, SID and OT. PKHex still says both are legit, is that correct? If so, does that mean, that Vivillions pattern is decided when the Scatterbug is first caught/bred and not when its evolving?
  3. Is there any problem with me changing the Pattern manually on a proper created & set up save file?

 

Sorry for the long post, i hope everything is explained thoroughly and someone can help me with this issue. Have a nice day! 🙂

 

Note: Attached Files are the save and the locale.txt

Useful Links:

 

 

X_Save_Domrep_Cont.PNG

main locale.txt

Edited by centershock
Grammar
Link to comment
Share on other sites

4 hours ago, centershock said:

Does someone has any idea why the Vivillion pattern remained Continental while everything else seems to perfeclty fine?

It’s based on how the 3DS works, and how the Pokémon game piggybacks off that function.

When one selects the sub-region and country on a 3DS device the normal way [country settings], the device actually stores a set of coordinates (based on the location) in the 3DS profile.

It appears to be normally not used nor seen, however the Pokémon area of the save reserved for Vivillon actually grabs and uses that area the moment you start a new game. The game determines which Vivillon encounter you should have based on those coordinates. People couldn’t tell there’s a difference (hidden cords, not region settings), because when you set the country settings in the device, it changes the coords to reflect that. Everyone wasn’t using CFW so there would never be a coord-country mismatch like you’re experiencing now.

The Luma region spoofing correctly sets the region and country settings, but doesn’t touch that pair of secret coordinates. That pair only correctly shows up if you use the in-device menu to set the country settings.

Thus, if you really really want to spoof Vivillon, consider doing a CTRtransfer for region spoofing. The 3DS CFW guide should have the CTRtransfer files there, and GBAtemp should have an old guide on using that to region spoof. I recommend doing that on a copy of your Emunand. All at your own risk tho. 
 

Quote

(More of a Legality question) Both Vivillions obviously have the same TID, SID and OT. PKHex still says both are legit, is that correct? If so, does that mean that Vivillions pattern is decided when the Scatterbug is first caught/bred and not when its evolving?

PKHeX doesn’t create a database of OT/TID/SID and cross check if all the region data to see if they’re consistent. The legality checks are more “this Pokémon is isolated in a bubble away from real world details” kind of thing.

Anyone from the real world who took a look would know something is amiss.

Anyhow, the form is set the moment you encountered the Scatterbug/Spewpa/Vivillon.

The game doesn’t set the form upon evolution; it’s already there. It’s just that you only see it in game at the final evolution.

Quote

Is there any problem with me changing the Pattern manually on a proper created & set up save file?

In an isolated bubble world sense, probably fine.

  • Like 2
Link to comment
Share on other sites

Thanks for the quick & detailed answer!

Quote

Thus, if you really really want to spoof Vivillon, consider doing a CTRtransfer for region spoofing. The 3DS CFW guide should have the CTRtransfer files there, and GBAtemp should have an old guide on using that to region spoof. I recommend doing that on a copy of your Emunand. All at your own risk tho.

Since my goal is to transfer those Vivillions to Pokémon Bank and then to Home, i would prefer to use the safest and most "legit" way to do so.  I already considered installing the CTRtransfer images one after another on my spare 2DS but thought I could safe myself some time. Little did I know about that set of coordinates stored in the 3DS profile. :( 

As i am familiar with homebrew to a certain level it hopefully won't be difficult to perform the region change, at least the guide doesn't looks complicated. BUT I guess it will be a problem using my dumped .cia since that should be only working for EUR devices, won't it? If i had to buy a copy for each region I will probably reconsider the whole process ^^

EDIT: I typed faster than my brain worked. I guess i could use the Luma region spoofing in combination with the CTRtransfer image to get the EUR .cia working, right?

Just to sum up: A Vivillion caught on region-changed 3DS with a correct version of Pokémon X/Y, then traded to my german copy and transferd to Pokémon Bank would be considered as legit, right?

Edited by centershock
Link to comment
Share on other sites

The region info is stored on the 3DS, not the cart. A proper Pokémon CIA should run on any 3DS region’d device.
Anyhow, when it comes to spoofing Vivillon forms (ignoring save editing to change the form) there’s no way around it: you gotta CTRtransfer to properly have the 3DS be in another region.

Link to comment
Share on other sites

If there is no region info on the cart as well, how can a EUR device perform a check and in case of lets say a game from the JAP region block that specific cart? Or does that just count for the Pokemon 3DS games? 

But as you recommended, I will go with the CTRtransfer images and see how that works out.

Thanks again for the good input and your explanations, i really appreciated the time you put in your answers! :) 

Link to comment
Share on other sites

15 minutes ago, centershock said:

If there is no region info on the cart as well, how can a EUR device perform a check and in case of lets say a game from the JAP region block that specific cart? Or does that just count for the Pokemon 3DS games? 

To be specific, those carts do run a check to see if the region of the 3DS matches the printed (manufactured in) region on the cart, yes. But that’s pretty much before the game properly runs. Initial phase, much like giving the prompt to older consoles to update their firmware.

Once the game runs, the save uses the 3DS’ region and stores it, NOT using the cart’s manufactured region. Hope that clears it up.

In other words, you can’t use a different region’d cart to try to bypass the Vivillon locality issue. Like I said earlier, it’s based on the coordinates saved into the 3DS’ profile, the cart has no influence over it.

Link to comment
Share on other sites

27 minutes ago, theSLAYER said:

In other words, you can’t use a different region’d cart to try to bypass the Vivillon locality issue. Like I said earlier, it’s based on the coordinates saved into the 3DS’ profile, the cart has no influence over it.

Sorry, I did express myself rather unclearly in my last post. I didn't intend on using the foreign region carts to bypass the region lock. But if I understand correctly, the Pokémon CIA I dumped will not run any check for a region when installing & booting it on a region-changed system whereas a Pokémon cartridge (like my EUR cart) would perform such a check on a region-changed system, right?

Link to comment
Share on other sites

55 minutes ago, centershock said:

Sorry, I did express myself rather unclearly in my last post. I didn't intend on using the foreign region carts to bypass the region lock. But if I understand correctly, the Pokémon CIA I dumped will not run any check for a region when installing & booting it on a region-changed system whereas a Pokémon cartridge (like my EUR cart) would perform such a check on a region-changed system, right?

I can’t recall if CIAs specifically has that check (I think they do) but it won’t matter if you’re running the CIA in CFW. CFW by default bypasses that check.

Link to comment
Share on other sites

Why don't you use Citra in order to create different region save file?

You can dump a .3DS version of your Pokémon X using GodMode9, then start different games with Citra, changing the region every time, and then use PKHeX to put all the Scatterbug/Vivillon you caught in your original save file.

Link to comment
Share on other sites

5 minutes ago, AlamosIT said:

Why don't you use Citra in order to create different region save file?

You can dump a .3DS version of your Pokémon X using GodMode9, then start different games with Citra, changing the region every time, and then use PKHeX to put all the Scatterbug/Vivillon you caught in your original save file.

I believe Citra also doesn't emulate the secret coords correctly, unless you do a proper dump from your own 3DS. Which would require different region'd 3DSes. Which goes back to the CTRtransfer shtick.

But this is still worth a shot. Also, I think Citra can install CIAs. Since the user already dumped a CIA, could just try installing that and see if that works.

Link to comment
Share on other sites

1 hour ago, theSLAYER said:

I believe Citra also doesn't emulate the secret coords correctly, unless you do a proper dump from your own 3DS. Which would require different region'd 3DSes. Which goes back to the CTRtransfer shtick.

But this is still worth a shot. Also, I think Citra can install CIAs. Since the user already dumped a CIA, could just try installing that and see if that works.

Ok. I tried with a dumped version of my european Pokémon X.

I changed the 3DS region in Citra to US, then I used the US version of 3DS System Settings app (the version I personally dumped from my EUR 3DS doesn't work with US configuration) to change the region to Colombia and the subregion to Atlántico. Then I started a new game.

Now PKHeX says "Archipelago" Vivillon form as it should be in this region.

image.png.b28f7a462dfe3d419d851c31ee3f102a.png

Seems it worked.

Edited by AlamosIT
Link to comment
Share on other sites

6 minutes ago, AlamosIT said:

Ok. I tried with a dumped version of my european Pokémon X.

I changed the 3DS region in Citra to US, then I used the US version of 3DS System Settings app (the version I personally dumped from my EUR 3DS doesn't work with US configuration) to change the region to Colombia and the subregion to Atlántico. Then I started a new game.

Now PKHeX says "Archipelago" Vivillon form as it should be in this region.

image.png.b28f7a462dfe3d419d851c31ee3f102a.png

Seems it worked

sounds good to me. Maybe try again with a different region, for posterity sake.

Link to comment
Share on other sites

14 minutes ago, theSLAYER said:

sounds good to me. Maybe try again with a different region, for posterity sake.

Now I tried with Germany/Nordrhein-Westfalen for Continental Vivillon and it also worked.

Immagine.png.88c77989ad021144f948d9184fe5d52b.png

The problem is that, besides EUR and US versions of System Settings app, I don't know where to find a JP version in order to set up properly Citra for Elegant form.

Link to comment
Share on other sites

Tried it as well, however my result is not what i expected, but I also didn't know about the 3DS System Settings app part and thus just used the configuration options from Citra. Therefore i did get a region mismatch, now I know why.

Anyway, one last question since there are two methods now: How exactly would a save with the Pokémon just edited in (using the Citra + PKhex method) differ form a save that recieved the exact same Pokémon through Local Trade? Is there even any? Cause if not, than obviously it would be more convenient to just use Citra method. However i still would have to get the System Settings app for the JAP and US region, right? With the EU region combined one should be able to collect all Vivillons out there if I'm not mistaken.

Link to comment
Share on other sites

18 minutes ago, centershock said:

Tried it as well, however my result is not what i expected, but I also didn't know about the 3DS System Settings app part and thus just used the configuration options from Citra. Therefore i did get a region mismatch, now I know why.

Anyway, one last question since there are two methods now: How exactly would a save with the Pokémon just edited in (using the Citra + PKhex method) differ form a save that recieved the exact same Pokémon through Local Trade? Is there even any? Cause if not, than obviously it would be more convenient to just use Citra method. However i still would have to get the System Settings app for the JAP and US region, right? With the EU region combined one should be able to collect all Vivillons out there if I'm not mistaken.

Citra sadly can't directly change subregion settings and even country sometimes is buggy (I set to Italy but the games read it as Russia), but using System Settings app worked.

As far as I know, PKHeX can emulate local trade. So if you have one PKHeX tab with your original save file and another with a one of these save files and you move a Pokémon between them it's like a real trade (with right memory, last OT, etc).

Find US version of System Settings app is easy (just google "3ds system settings app"), but I didn't find the japanese one.

Edited by AlamosIT
  • Like 1
Link to comment
Share on other sites

Thanks for the explanation! Since I already flashed the US CTRtransfer image to my 2DS yesterday (cause I couldn't wait to try it out :D), I will probably just continue getting all the Vivillons on that system and transfer them over manually. Afterwards I will make use of the JP CTRtransfer image and flash that to my system, probably still faster than to sift trough the dephts of the internet looking for that japanese System Settings app.

Cheers to both of you helping me out, so far all my questions are answered!

  • Like 1
Link to comment
Share on other sites

If you're not too picky about perfect region emulation, you could always use use PKHeX to edit the Vivillon form of a new save. Then any of the Scatterbug line caught with a correct Luma locale set for the save should be legal (as far as I'm aware). That's how I got the 3 EUR region exclusive forms that I couldn't get with my USA and JPN systems legitimately.

I realize this PKHeX functionality was brought up earlier, but it didn't look using it to edit the save was actually suggested.

Edited by sceptios
Link to comment
Share on other sites

7 hours ago, centershock said:

Thanks for the explanation! Since I already flashed the US CTRtransfer image to my 2DS yesterday (cause I couldn't wait to try it out :D), I will probably just continue getting all the Vivillons on that system and transfer them over manually. Afterwards I will make use of the JP CTRtransfer image and flash that to my system, probably still faster than to sift trough the dephts of the internet looking for that japanese System Settings app.

Cheers to both of you helping me out, so far all my questions are answered!

I finally found a JAP version of the System Settings app and I can confirm it works

image.png.a057fe67791f77acbd252a0ea0d400a8.png

Link to comment
Share on other sites

  • 3 months later...
On 3/25/2022 at 10:21 PM, AlamosIT said:

I finally found a JAP version of the System Settings app and I can confirm it works

image.png.a057fe67791f77acbd252a0ea0d400a8.png

Any way you could point me to the app files for EUR and JAP? I've been searching for weeks but no luck yet :/

Link to comment
Share on other sites

I think there's CTR transfer files on the 3ds guide website.

Anything beyond that is probably piracy.

Reminder that piracy is against our rules. Do dump the apps from your own 3DS.
As the operative word used was "find/found", it sounds like piracy was involved. While I cannot confirm that is the case, to stop the issue from spiraling out of control, I'm locking the thread.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...