HomeGBA › Pokémon R.O.W.E
GBA · Pokémon Emerald · v1.9.4 · by rioluwott

Pokémon R.O.W.E

83areas1,120Pokémon45bosses343trainers
What makes it different

An open-world Emerald where every gym is optional from the start, every level scales to your own badge count, and the roster runs through Legends: Arceus.

More about the game

R.O.W.E (Rest of the World Edition) is rioluwott's open-world rebuild of Emerald on the pokeemerald-expansion engine, maintained as source by BelialClover. All eight Hoenn gyms and the Sevii Islands are unlocked from the start rather than gated behind a fixed route, and the game scales around whatever order you actually play them in: wild Pokémon, ordinary trainers and gym leaders alike are built at a level read off your current badge count (with a random amount added on top every time), rather than a level written next to each encounter. The Pokédex runs through Legends: Arceus' additions — the source this guide is built from does not contain Generation 9 species, despite the hack's own promotional thread claiming them for a '2.0' release (see the notes below). Gym leaders, the Elite Four and other named trainers carry real held items, abilities, natures, IV/EV spreads and even the occasional shiny — richer trainer data than most guides on this site can offer.

What's different, point by point

  • Open world: all 8 Hoenn gyms and the Sevii Islands are unlocked from the start
  • Wild and trainer levels scale to your own badge count on Easy, Normal or Hard
  • Gym leaders and other named trainers carry natures, per-stat IVs, EVs, held items and the occasional shiny
  • Optional Randomized, Full Randomized and No-Evolution game modes, chosen at the start of the game
  • Pokédex through Legends: Arceus' additions, including its Hisuian forms
  • Day/night grass encounters, DexNav-style hidden encounters and a headbutt table
  • 200 TMs plus the 8 HMs
Everything it changes →
Made by

rioluwott

This guide is built from rioluwott's own documentation. The game, the ideas and the work are theirs — the site just makes the numbers searchable. Play it from the official page, and send them the feedback and the thanks.

What this guide covers

Every guide here is built from the game's own documentation. Where a ROM hack changed something but never published the numbers, this says so rather than quietly filling the gap with the original game's — which would be worse than leaving it out.

SectionSource
Wild Pokémon by areaFrom the game itself
Encounter ratesFrom the game itselfSlot rates come from this hack's own encounter_rates arrays in src/data/wild_encounters.json and cover every land, water, rock smash, fishing, hidden and headbutt table in the game.
Wild levelsDoesn't apply hereThere is no wild level to publish — getWildPokemonLevel() in src/level_scaling.c computes a badge-indexed floor plus a fresh random roll every time a wild Pokémon is generated; the level range stored in wild_encounters.json is never read. the encounter code R.O.W.E is built on Emerald; the Emerald guide has the original game's wild levels.
Stats, abilities and movesetsFrom the game itself1120 species entries are published, numbered against a National Dex that in this source tops out at #905 (Enamorus, a Legends: Arceus addition) — there is no Generation 9 species anywhere in this tree; see notes.promoted_vs_source. A handful of Legends: Arceus additions (Wyrdeer, Ursaluna, Basculegion, Overqwil and two cosmetic forms) never received a National Dex number in this source at all and are numbered 0 rather than a guessed value.
TM and HM compatibilityFrom the game itself
Where TMs are foundFrom the game itselfTM and HM numbers and their taught moves are complete, read directly from sTMHMMoves and the ITEM_TM/ITEM_HM constant order. 89 of the 128 TMs and HMs could not be matched to a place on any map in this source tree — those rows say so rather than guessing.
Trainer and boss teamsFrom the game itself857 trainer definitions were read from the source; 631 are published here with a fixed roster (species, ability, moves, and — for gym-leader-tier fights — held items, natures, IVs and EVs). The remaining 226 are excluded because the game itself can swap their species at battle time (see notes.randomized_rosters). Levels are exact where the source stores an exact number and a badge-indexed floor everywhere else — see notes.trainer_levels.

Credits

Reading the tables

Promoted_Vs_SourceThis hack's thread advertises "Gen 9, 16 Badges, Sevii Islands" for a '2.0' release. The buildable source this guide reads from — RoweSource's own README — says plainly it "builds the update 1.9.4 Source Edition", and checking the source confirms it: species stop at Legends: Arceus' additions (no Gen 9 species constant exists anywhere in the tree, and the 15 Hisuian-form species constants declared for other species never got a base-stats entry — only Hisuian Qwilfish actually ships), and only FLAG_BADGE01_GET through FLAG_BADGE08_GET are ever set in the map scripts (NUM_BADGES is #defined as 8; the higher badge-received flags exist but are marked "Unused Flag" and nothing reads them). The Sevii Islands claim does check out — One through Four Island, Seafoam, Cinnabar, Birth Island, Southern Island, Navel Rock and Faraway Island are all real, populated maps. This guide publishes only the 8-badge, pre-Gen-9 game that's actually in the source.

Open_WorldR.O.W.E is genuinely open: all 8 badges are available from the start in whatever order you like, so this guide does not force a linear route order onto its stage list. Stages are keyed purely by badge count — each gym is listed at the badge count needed to fight it, and every other area defaults to 'available from the start' because nothing in the source ties it to a badge requirement. If you're following a specific order, use the badge count next to each area rather than the stage list's position.

Wild_LevelsThere is no wild level to publish, ever. ChooseWildMonLevel() in src/wild_encounter.c ignores the level range stored with every encounter and calls getWildPokemonLevel(), which returns a badge-indexed floor plus a random amount rolled fresh each time (more on Hard Mode). The tables here show the real encounter rates — what lives where, and how often — never a level.

Trainer_LevelsMost trainer parties store a small mode code in place of a level, not a real number — confirmed in CreateNPCTrainerParty() (src/battle_main.c). Where the source stores a literal level this guide publishes it exactly; everywhere else it publishes the badge-indexed floor for that trainer's kind (Normal Mode) and says so in the Pokémon's own note, along with the random amount the game adds on top at battle time. Normal Mode trainer floors by badge count: 0 badges 7 · 1 badge 12 · 2 badges 18 · 3 badges 24 · 4 badges 30 · 5 badges 36 · 6 badges 42 · 7 badges 48 · 8 badges 55 · 9 badges 65 · 10 badges 70. Gym-leader-tier floors: 0 badges 13 · 1 badge 19 · 2 badges 25 · 3 badges 31 · 4 badges 37 · 5 badges 43 · 6 badges 49 · 7 badges 60 · 8 badges 68 · 9 badges 76 · 10 badges 82. Wild floors: 0 badges 5 · 1 badge 10 · 2 badges 15 · 3 badges 20 · 4 badges 25 · 5 badges 31 · 6 badges 37 · 7 badges 43 · 8 badges 50 · 9 badges 60 · 10 badges 65. Easy Mode and Hard Mode shift every one of these down or up; Hard Mode also rolls a bigger random amount on top.

Randomized_RostersGetMapRandomPokemon() (src/level_scaling.c) can swap a trainer's declared species live, at battle time, for a class-appropriate roll off whatever wild table sits on the current map — roughly a 5-in-12 chance per Pokémon, for about twenty common trainer classes (Youngster, Lass, Bug Catcher, Fisherman, Swimmer, Hiker, Psychic, Bird Keeper and others). A further three .lvl codes on that same party format call a fully random species generator regardless of class. This guide excludes every trainer whose roster can be swapped this way rather than publish a dice roll as a fact: 226 of this hack's 857 trainer definitions were excluded on this basis. What remains — gym leaders, the Elite Four, the Champion, and any trainer using a party format with held items and/or custom moves — always keeps its declared species.

Trainer_SpreadsWhere a fight uses the item-and-custom-moves party format (gym leaders, the Elite Four, the Champion and a handful of others), its Pokémon carry a real hidden nature, per-stat IVs, a held item, an ability slot and an occasional shiny flag straight from the source — folded into each Pokémon's own note since this site's trainer table has no dedicated columns for them. EVs are stored as an 8-badge target and scale down proportionally to your current badge count (badges ÷ 10 of the listed value) — the number shown is that 8-badge target, not what's actually on the field at 0 badges.

MovesA trainer's full four-move set (shown here) only applies from 7 badges onward. Before that, most of these fights force only their first listed move and let the rest of the moveset come from the Pokémon's own level-up learnset — noted on the Pokémon itself where that applies.

EncountersGrass encounters split by day and night, and this hack adds DexNav-style "Hidden" encounters and a Headbutt tree table on top of the usual Surf, Rock Smash and rod methods — all four are real, wired-in encounter tables (src/wild_encounter.c), not leftover data. * marks anything at 5% or less.