Soulgold Shiny Odds: The Shiny Rate Option, 12x Trade Rolls and the Shiny Genome

Soulgold lets you set the shiny rate: 1/256, 1/512 or 1/1024 from the options menu, with in-game trades rolling twelve times those odds, a Shiny Charm for two extra rolls, and a four-point Shiny Genome at the Battle Cafe.
Last updated: October 19, 2026

Short answer: Soulgold's shiny rate is a setting, not a fixed number. The options menu has a Shiny Rate choice of 1/256, 1/512 or 1/1024, and a new game starts at 1/256 -- so the default here is thirty-two times friendlier than the official games. In-game trades roll twelve times your chosen rate (about 1 in 21 at the default), the Shiny Charm adds two rerolls, and the Battle Café sells a Shiny Genome that turns any Pokémon shiny outright for four points.

The numbers come from Soulgold's own source: include/constants/pokemon.h (the rate constants and options), src/option_menu.c (the Shiny Rate option), src/pokemon.c (the reroll block and trade odds) and src/dexnav.c.

The Shiny Rate option

Page 3 of the options menu carries a Shiny Rate entry that cycles between three values, written straight into the save when you close the menu:

OptionChance per roll
1/256
1 in 256 -- what a new game starts on
1/512
1 in 512
1/1024
1 in 1,024

It applies to wild encounters, statics and eggs. There is no way to make it worse than 1/1024, and no unlock needed for the best setting -- it is a preference, not a reward.

In-game trades roll twelve times as often

Trades do not use your Shiny Rate directly. They use twelve times it, as a single roll:

Shiny rateIn-game trade odds
1/256
12 in 256 -- about 1 in 21
1/512
12 in 512 -- about 1 in 43
1/1024
12 in 1,024 -- about 1 in 85

That makes the trades in the In-Game Trades guide the fastest shinies in the game on a default save: around one in twenty-one, before you touch anything else. The bonus is specific to those trades -- wild encounters and eggs are unaffected by it.

The Shiny Charm, lures and DexNav chains

On top of the rate, the game adds rerolls -- extra independent attempts at the same rate -- when the Pokémon is generated with you as its original trainer:

BonusExtra rollsCondition
+2
Charm in the bag
Lure
+1
A lure's step counter is running
DexNav chain
+5
Search chain of 50+
DexNav chain
+10
Search chain of 100+
DexNav bonus roll
+4
4% chance on each DexNav encounter

Combined with the rate option, that is what a hunt actually looks like:

Shiny rate1 rollCharmCharm + lure+ DexNav chain 50+ DexNav chain 100plus the 4% +4
1/256
1/256
1/86
1/64
1/29
1/19
1/15
1/512
1/512
1/171
1/128
1/57
1/37
1/29
1/1024
1/1,024
1/342
1/256
1/114
1/74
1/57

A DexNav chain of 100 at the 1/256 setting -- the default, remember -- lands around 1 in 18 per encounter. The fishing-chain bonus is present in the source but switched off in this build, so fishing streaks give nothing extra.

The Shiny Genome

The Battle Café sells a Shiny Genome for four Battle Café points (it is also a 750,000 item, so the points are the sensible way to get one). Use it from the party menu on a Pokémon and it becomes shiny -- no rolls involved. For a specific Pokémon you have already bred or trained, that is the guaranteed route, and it is the one thing in the game that makes odds irrelevant. See the Shiny Genome item page.

Notes and caveats

  • Nothing is shiny locked. There are no forced-shiny or forced-no-shiny flags in play, and the rules that would suppress shinies in special battles or with an empty Poké Ball pocket are off.
  • The Charm's location is not in the extracted data. The item exists in the game's data with the same two-reroll effect as its sister hack Heart & Soul, but no map script in the extracted source hands it out, so we cannot point you at the NPC. Treat the rerolls as a bonus you may or may not be able to get.
  • Odds are per roll, not per hunt. 256 encounters at 1/256 is not a guarantee; it is 256 independent rolls.
  • Shiny Pokémon get their own battle frame colour here, which is the quickest way to spot one in a wild encounter chain.

Where to go next

Odds read from the ROM's own source: SHINY_ODDS 512 / RELEASE_SHINY_ODDS 256, the SHINY_RATE_256/512/1024 options and GetShinyGenerationOdds(), the 12 x trade roll in src/trade.c, and the reroll block in CreateBoxMon.

Was this useful?

Loading votes...