Skip to content

Instantly share code, notes, and snippets.

bool Sword = true;
void Main()
{
// Initial state
string ram = "D82C5B180FDEFE005E23F28A4FA36131";
string str0 = ram.Substring(16);
string str1 = ram.Substring(0, 16);
ulong s0 = Convert.ToUInt64(str0, 16);
ulong s1 = Convert.ToUInt64(str1, 16);

Most of this research was done by wwwwwwzx in 2018: https://x.com/wwwwwwzx/status/979949167224045568

Since most of this was already done, I used the XY radar as an introduction to debugging 3DS games. I won't be providing much info on how to play the game because I literally haven't done anything in-game besides look at the Poké Radar the moment my cartridge arrived. Huge thanks to SirToastyToes for helping me understand this part of the game!

New Things I Learned

I was able to solve the unknown condition that causes 4% upbeat music rate--it's the player's birthday!

We found some methods to force it to be your birthday ingame:

  • The birth date that matters is in the 3DS bio, not the one attached to the NNID. You can change this birth date without penalty.

This code is executed when the Poké Radar item is used and when finishing a battle that continues the chain.

The special music:

  • Each time the chain continues, there is a chance for the radar music to change into a more upbeat tune. The chance for this to occur is 2% normally and 4% if it is the player's birthday.
  • When the upbeat music is playing, the shiny rate is maxed out at 1/100, which is the normal rate after a chain of 40+.
  • The upbeat music cannot start with a chain of 0 or when the Poké Radar is used.
  • If the upbeat music is already playing, each time the radar is used or an encounter to +1 the chain finishes, there is a 50% chance the upbeat music changes back to the regular music.

How the grass patches are generated:

// Global settings to make things easier.
int FlawlessIVs = 3;
// Set these values for your gender ratio:
// Fixed gender = -1
// 50 M : 50 F = 127
// 25 M : 75 F = 191
// 75 M : 25 F = 63
// 87.5 M : 12.5 F = 31
// Unfortunately this area is very noisy and everything is blinking while you try to pick up eggs.
// You can set this to a certain value if you tend to see that many blinks from menu to egg generation...
// Just adjust it up until what you hit is on Adv 0.
const uint blinks = 0;
// You probably have either Shiny Charm or Masuda Method, else you'd get PID rolls.
bool shiny_charm_or_masuda_method = true;
void Main()
{
void Main()
{
// Initial state
ulong s0 = 0x0123456789ABCDEF;
ulong s1 = 0x0123456789ABCDEF;
// Set this for how far you want to search.
ulong maxAdvance = 5000;
Console.WriteLine("Adv | s0 | s1 | Earned Watts | Displayed Watts");
@Lusamine
Lusamine / GBL Resource & Encounter Farming.md
Last active April 12, 2026 14:46
There are many GBL farming guides but this one is mine.

Introduction

I would not have bothered with GO Battle League (GBL), but Matt told me about how he was getting free legendaries and Stardust by tanking ELO, and I was jealous...

So as promised, I've written a guide to teach you to do the same. The strategy I will be explaining is:

  1. How to rank up to 20 (where legendaries are available)
  2. How to tank your rating so battles are mindless and easy
  3. How to maintain this every day afterwards for resources

Once you learn how I do this, you can adapt the strategy for yourself.

void Main()
{
// Initial state
string ram = "0123456789ABCDEF0123456789ABCDEF";
string str0 = ram.Substring(16).Trim();
string str1 = ram.Substring(0, 16);
ulong s0 = Convert.ToUInt64(str0, 16);
ulong s1 = Convert.ToUInt64(str1, 16);
// Above can be replaced with this if you prefer to enter them in separately.

The relevant function that shows how the fishing animation mechanic changed is Dpr_Field_FieldFishing__Update.