Pokémon Mystery Dungeon: Red Rescue Team:Main Pokémon Data

From Data Crystal
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


Main Pokémon Data
Game Pokémon Mystery Dungeon: Red Rescue Team
Start Address 0x0357B98
End Address 0x035F2D7
# of Entries 424
Entry Length 72 bytes (0x48)
Total Length 30528 bytes (0x7740)
Back to the ROM map

This is the entry structure for various Pokémon data.

Pokémon Species Name

  • Length: 4 bytes
  • Offset within entry: 0-3 (0x00-0x03)
  • Range of values: Any valid GBA pointer in little-endian form

This is a little-endian GBA pointer to a string for the Pokémon species name.

Pokémon Category Name

  • Length: 4 bytes
  • Offset within entry: 4-7 (0x04-0x07)
  • Range of values: Any valid GBA pointer in little-endian form

This is a little-endian GBA pointer to a string for the Pokémon category name. (eg: for Bulbasaur is "Seed Pokémon", for Charmander is "Lizard Pokémon", etc.)

Palette For Overworld Sprite

  • Length: 1 byte
  • Offset within entry: 8 (0x08)
  • Range of values: 0-12 (0x00-0x0C)

Value indicating which palette is used for the overworld sprite, from sprite palette 0 to 12.

Pokémon Size

  • Length: 1 byte
  • Offset within entry: 9 (0x09)
  • Range of values: 1-6 (0x00-0x06)

Value indicating the Pokémon size. This is relative to the total sprite tiles amount. Every graphic tile is 8x8 pixel.

0x01: size 1, up to 16 tiles
0x02: size 2, up to 32 tiles
0x03: size 3, up to 48 tiles
0x04: size 4, up to 64 tiles
0x05: size 5, up to 80 tiles
0x06: size 6, up to 96 tiles

Note that using a value bigger than needed does not cause glitches, but would uselessly waste video memory, and thus Team space.

Movement Speed

  • Length: 4 bytes
  • Offset within entry: 12-15 (0x0C-0x0F)
  • Range of values: from -1 to 4 (0xFFFFFFFF-0x05000000)

This is a little-endian, signed long int value setting the default Pokémon movement speed modifier, that is the amount of steps that the Pokémon can take in a turn.

0xFFFFFFFF (-1): ÷3 steps
0x00000000 ( 0): ÷2 steps
0x01000000 ( 1):  1 step
0x03000000 ( 2): ×2 steps
0x04000000 ( 3): ×3 steps
0x05000000 ( 4): ×4 steps

Note that if set value differs from 1, there will be displayed relative notice in the Pokémon Status summary.

Available Dialogue Sprites

  • Length: 2 bytes
  • Offset within entry: 16-17 (0x10-0x11)
  • Range of values: currentely unknown

This value indicates the dialogue sprite to be used. It is probably intended to avoid crash in the case a dialogue script tries to use an unprogrammed Pokémon dialogue sprite.

First Pokémon Type

  • Length: 1 byte
  • Offset within entry: 19 (0x13)
  • Range of values: 0-17 (0x00-0x11)
0x00: None
0x01: Normal
0x02: Fire
0x03: Water
0x04: Grass
0x05: Electric
0x06: Ice
0x07: Fighting
0x08: Poison
0x09: Ground
0x0A: Flying
0x0B: Psychic
0x0C: Bug
0x0D: Rock
0x0E: Ghost
0x0F: Dragon
0x10: Dark
0x11: Steel

Note that "None" is a placeholder type that is not affect by any Move Type effectiveness.

Second Pokémon Type

  • Length: 1 byte
  • Offset within entry: 20 (0x14)
  • Range of values: 0-17 (0x00-0x11)

Same as above. Note that if "None" is set, it won't be displayed in the Pokémon Summary.

Walkable Tile Types

  • Length: 1 byte
  • Offset within entry: 21 (0x15)
  • Range of values: 0-5 (0x00-0x05)

Sets which floor tiles the Pokémon can walk on.

0x00: Ground
0x01: Ground, Magma, Water
0x02: Ground, Magma, Water, Sky
0x03: Ground, Magma, Water, Sky, Wall; if not the Team Leader, can follow invisible Pokémon
0x04: Ground, Magma; won't get burn from magma even if the Pokémon isn't fire type
0x05: Ground, Water

Friend Area

  • Length: 1 byte
  • Offset within entry: 22 (0x16)
  • Range of values: 0-57 (0x00-0x39)
0x00: None
0x01: Bountiful Sea
0x02: Treasure Sea
0x03: Serene Sea
0x04: Deep-Sea Floor
0x05: Deep-Sea Current
0x06: Seafloor Cave
0x07: Shallow Beach
0x08: Mt. Deepgreen
0x09: Mt. Cleft
0x0A: Mt. Moonview
0x0B: Rainbow Peak
0x0C: Wild Plains
0x0D: Beau Plains
0x0E: Sky Blue Plains
0x0F: Safari
0x10: Scorched Plains
0x11: Sacred Field
0x12: Mist-Rise Forest
0x13: Flyaway Forest
0x14: Overgrown Forest
0x15: Energetic Forest
0x16: Mushroom Forest
0x17: Healing Forest
0x18: Transform Forest
0x19: Secretive Forest
0x1A: Rub-a-Dub River
0x1B: Tadpole Pond
0x1C: Turtleshell Pond
0x1D: Mystic Lake
0x1E: Waterfall Lake
0x1F: Peanut Swamp
0x20: Poison Swamp
0x21: Echo Cave
0x22: Cryptic Cave
0x23: Dragon Cave
0x24: Boulder Cave
0x25: Jungle
0x26: Decrepit Lab
0x27: Mt. Discipline
0x28: Thunder Meadow
0x29: Power Plant
0x2A: Crater
0x2B: Furnace Desert
0x2C: Aged Chamber AN
0x2D: Aged Chamber O?
0x2E: Ancient Relic
0x2F: Darkness Ridge
0x30: Frigid Cavern
0x31: Ice Floe Beach
0x32: Volcanic Pit
0x33: Stratos Lookout
0x34: Ravaged Field
0x35: Magnetic Quarry
0x36: Legendary Island
0x37: Southern Island
0x38: Enclosed Island
0x39: Final Island

First Ability

  • Length: 1 byte
  • Offset within entry: 23 (0x17)
  • Range of values: 0-76 (0x00-0x4C)
0x00: -------
0x01: Stench
0x02: Thick Fat
0x03: Rain Dish
0x04: Drizzle
0x05: Arena Trap
0x06: Intimidate
0x07: Rock Head
0x08: Air Lock
0x09: Hyper Cutter
0x0A: Shadow Tag
0x0B: Speed Boost
0x0C: Battle Armor
0x0D: Sturdy
0x0E: Suction Cups
0x0F: Clear Body
0x10: Torrent
0x11: Guts
0x12: Rough Skin
0x13: Shell Armor
0x14: Natural Cure
0x15: Damp
0x16: Limber
0x17: Magnet Pull
0x18: White Smoke
0x19: Synchronize
0x1A: Overgrown
0x1B: Swift Swim
0x1C: Sand Stream
0x1D: Sand Veil
0x1E: Keen Eye
0x1F: Inner Focus
0x20: Static
0x21: Shed Skin
0x22: Huge Power
0x23: Volt Absorb
0x24: Water Absorb
0x25: Forecast
0x26: Serene Grace
0x27: Poison Point
0x28: Trace
0x29: Oblivious
0x2A: Truant
0x2B: Run Away
0x2C: Sticky Hold
0x2D: Cloud Nine
0x2E: Illuminate
0x2F: Early Bird
0x30: Hustle
0x31: Drought
0x32: Lightningrod
0x33: Compoundeyes
0x34: Marvel Scale
0x35: Wonder Guard
0x36: Insomnia
0x37: Levitate
0x38: Plus
0x39: Pressure
0x3A: Liquid Ooze
0x3B: Color Change
0x3C: Soundproof
0x3D: Effect Spore
0x3E: Flame Body
0x3F: Minus
0x40: Own Tempo
0x41: Magma Armor
0x42: Water Veil
0x43: Swarm
0x44: Cute Charm
0x45: Immunity
0x46: Blaze
0x47: Pickup
0x48: Flash Fire
0x49: Vital Spirit
0x4A: Chlorophyll
0x4B: Pure Power
0x4C: Shield Dust

Note that "-------" is a placeholder ability which have no effect, with no in-game description.

Second Ability

  • Length: 1 byte
  • Offset within entry: 24 (0x18)
  • Range of values: 0-76 (0x00-0x4C)

Same as above. Note that if "-------" is set, it won't be displayed in the Pokémon Summary.

Shadow Size

  • Length: 1 byte
  • Offset within entry: 25 (0x19)
  • Range of values: 0-2 (0x00-0x02)
0x00: Small
0x01: Medium
0x02: Large

Base HP

  • Length: 2 bytes
  • Offset within entry: 30-31 (0x1E-0x1F)
  • Range of values: 0-65535 (0x0000-0xFFFF)

This is a little-endian, unsigned short int value for the Pokémon HP value, adding to the cumulative level stat gains.

Base Experience

  • Length: 1 byte
  • Offset within entry: 32-33 (0x20-0x21)
  • Range of values: 0-65535 (0x00-0xFFFF)

This is a little-endian, unsigned short int value directely proportional to the amount of experience points get when defeating the Pokémon, via the following formula:

Exp. Points = int((int(A*(B-1)/10)+A)*C)

Where:

A = Enemy Pokémon’s base experience value
B = Enemy Pokémon’s level
C = 0.5 if only regular attacks and/or items were used;
    1   if it was hit by a move and received at least 1 HP damage;
    1.5 if it was hit by a linked move and received at least 1 HP damage.

Base Attack

  • Length: 2 bytes
  • Offset within entry: 36-37 (0x24-0x25)
  • Range of values: 0-65535 (0x0000-0xFFFF)

This is a little-endian, unsigned short int value for the Pokémon Attack value, adding to the cumulative level stat gains.

Base Special Attack

  • Length: 2 bytes
  • Offset within entry: 38-39 (0x26-0x27)
  • Range of values: 0-65535 (0x0000-0xFFFF)

This is a little-endian, unsigned short int value for the Pokémon Special Attack value, adding to the cumulative level stat gains.

Base Defense

  • Length: 2 bytes
  • Offset within entry: 40-41 (0x28-0x29)
  • Range of values: 0-65535 (0x0000-0xFFFF)

This is a little-endian, unsigned short int value for the Pokémon Defense value, adding to the cumulative level stat gains.

Base Special Defense

  • Length: 2 bytes
  • Offset within entry: 42-43 (0x2A-0x2B)
  • Range of values: 0-65535 (0x0000-0xFFFF)

This is a little-endian, unsigned short int value for the Pokémon Special Defense value, adding to the cumulative level stat gains.

Lowkick Damage Factor

  • Length: 2 bytes
  • Offset within entry: 44-45 (0x2C-0x2D)
  • Range of values: from 0-65535 (0x0000-0xFFFF)

This is a little-endian, unsigned short int value directely proportional to the damage amount taken by the Pokémon when hit by Low Kick move.

Sizebust Orb Damage Amount

  • Length: 1 byte
  • Offset within entry: 46-47 (0x2E-0x2F)
  • Range of values: 0-65535 (0x0000-0xFFFF)

This is a little-endian, unsigned short int value indicating the HP damage amount taken by the Pokémon when hit by Sizebust Orb.

Evolution

Pokémon can evolves to this Pokémon when condition meet.

Evolves From

  • Length: 1 byte
  • Offset within entry: 52-53 (0x34-0x35)
  • Range of values: 0-420 (0x0000-0x01A4)

This is a little-endian, unsigned short int value indicating the Pokémon's ID which is evolves from, zero indicating no Pokémon evolves to this Pokémon.

Evolves Type

  • Length: 1 byte
  • Offset within entry: 54-55 (0x36-0x37)
  • Range of values: 0-13 (0x0000-0x000D)

This is a little-endian, unsigned short int value indicating the Pokémon's one of evolve condition.

Evolves Need 1

  • Length: 1 byte
  • Offset within entry: 56-57 (0x38-0x39)
  • Range of values: 0-200 (0x0000-0x00C8)

This is a little-endian, unsigned short int value indicating the Pokémon's one of evolve condition.

Evolves Type Evolves Need 1 Meaning
00 (0x00) Always zero.
01 (0x01) The level Pokémon needed.
02 (0x02) The IQ Pokémon needed.
03 (0x03) Needed item id.
13 (0x0D) Always zero.


Evolves Need 2

  • Length: 1 byte
  • Offset within entry: 58-59 (0x3A-0x3B)
  • Range of values: 0-12 (0x0000-0x000C)

This is a little-endian, unsigned short int value indicating the Pokémon's one of evolve condition.

00 (0x00) : Nothing.
04 (0x04) : Need item - Link Cable (0x76).
05 (0x05) : Need Attack > Defense.
06 (0x06) : Need Attack < Defense.
07 (0x07) : Need Attack = Defense.
08 (0x08) : Need item - Sun Ribbon (0x30).
09 (0x09) : Need item - Lunar Ribbon (0x31).
10 (0x0A) : Need item - Beauty Scarf (0x2F).
11 (0x0B) : Probability 50%?
12 (0x0C) : Probability 50%?

Base Recruit Value

  • Length: 2 bytes
  • Offset within entry: 64-65 (0x40-0x41)
  • Range of values: from -32768 to 32767 (0xFF80-0xFF7F)

This is a little-endian, signed short int value setting the base Pokémon recruit value. When an enemy Pokémon is defeated while within a 1-tile range from the Team Leader, it will ask to be recruited if a random value from 0 to 999 is less than the sum of the following values:

  • The enemy Pokémon base recruit value;
  • 100 if the Leader is holding Friend Bow item;
  • A value depending from the Leader level:
29 or less:  0
30-39:  50
40-49:  75
50-59: 100
60-69: 125
70-79: 150
80-89: 175
90-99: 240