Author Topic: Stat-Grabbing tutorial (for PM2 Stat/Attack FAQ)  (Read 3638 times)

jdaster64

  • Badge Maniac
  • Full Member
  • ***
  • Posts: 238
    • Youtube Channel
Stat-Grabbing tutorial (for PM2 Stat/Attack FAQ)
« on: August 23, 2012, 02:49:25 PM »
First of all, get an agreeable version of Dolphin to test on.  Then, create a shortcut, preferably in the same directory, to the following address (type it exactly as below, no more or fewer quotes):

"C:\Users\yourusername\Desktop\yourdolphindirectorypath\Dolphin.exe" -d

This will allow you to use the debug version of Dolphin, which is required to grab most of the stats.  After this, go to a room that has at least one of the enemy you're looking for, preferably one with only one battle or multiple identical/similar ones.  Use the Memory viewer to look at hex address 0x00AF30A8.  You should see a pointer there; typing this in (minus the leading "80") will lead to a number equal to the number of enemies in the first battle in the room.  Take the enemy's order in the battle and subtract one less than that from the total number of enemies in the battle (e.g. if 2nd of 4 enemies, you should end up with 3), and subtract 0x30 times that number from your current address.  You should end up at yet another pointer; following this will take you to the enemy's data.

So, doing this process for, e.g., a five-Elite Wizzerd battle (with or without a Stopwatch) on floor 99 of the Pit of 100 Trials, you start at 0x00AF30A8, which has the pointer 0x80C93810.  Following that (remove the "80") leads you to the number 5; subtract 0x30 times 5 - 0xF0 - to go to the pointer to the first enemy's data (which is the same pointer as the others'), 0x80CD3E58.  At that address, you will find the following data:

000000A9 - Where you'll end up
80C841B0
000C0000 - HP
01012402 - Last two bytes are Level and EXP
03460232
etc.


Scroll down about 0x100~200 bytes to find the status effects, which look like this:

001E5064
14646428
644B644B
6450140A
4B641464
64140000
00000064
00000000
etc.


This is never far from the original data, and is usually given away by a good number of 64's.

If you find out that this is not the correct battle, or there is no pointer at 0x00AF30A8, add 0x340 to that address and look at the data there, and repeat a few times as necessary.  If you've done this about four times with no luck, go to address 0x00AF4AA8 and do the same process.  If you still can't find anything useful (as can be the case with bosses especially), you'll have to use Cheat Search and search for 0x00XX0000, where XX is the enemy's HP.  It should be roughly in the same area of memory as the stats of normal enemies in the same chapter/area of the game.

Last thing; the number of coins you have currently earned in a battle is stored at 0x00AFECD4 always; you can just use the Cheat Finder to look at this address.

Let me know if anything here is too confusing...

jdaster64

  • Badge Maniac
  • Full Member
  • ***
  • Posts: 238
    • Youtube Channel
Re: Stat-Grabbing tutorial (for PM2 Stat/Attack FAQ)
« Reply #1 on: August 23, 2012, 02:54:53 PM »
You know what, I'm an idiot.  I'd bet money that last place you end up right before HP and stuff ("A9" in Elite Wizzerd's data) is some sort of name index.  If that's the case, then I can do this all straight from the ROM data, and there's no further testing required for anything but coins.  Crossing my fingers...

EDIT: ARRRRGHH/YESSSSSS.  Details later; might add more R's and S's if this is as good as I think it is.


For starters, a status List I found in the ROM; doesn't match up perfectly with data, but it's close enough to compare.
Poisoned
Sleepy
Stop
Dizzy
Confused
Stunned
Dodgy
Burned
Frozen
Huge
Tiny
Strong
Weak
Brave
Soft
Charged
Charged 9
Invisible
Swift
Cursed
Payback
Gradual HP
Gradual FP
Allergy
Instant Death
Change Parameters (I want a special that does this, now)
Mess 'Em Up
Instant Tasty Tonic

And an enemy list; again, doesn't line up perfectly with that A9 value, but it's probably going to help a ton.  That's worth another couple R's.
Goomba
Spiky Goomba
Paragoomba
Koopa Troopa
Paratroopa
Fuzzy
Dull Bones
Bald Cleft
Bristle
Gold Fuzzy
Fuzzy Horde
Red Bones
Poison Puff
Piranha Plant
Pider
Yux
Mini-Yux
X-Naut
btl_un_test
Spinia
Spania
Spunia
Hyper Goomba
H. S. Goomba
H. Paragoomba
Gloomba
Spiky Gloomba
Paragloomba
Dark Koopa
D. Paratroopa
Shady Koopa
S. Paratroopa
Koopatrol
Moon Cleft
Cleft
H. Bald Cleft
Hyper Cleft
Iron Cleft (1st)
Iron Cleft (2nd)
Swooper
Swoopula
Green Fuzzy
Flower Fuzzy
Dry Bones
Dark Bones
Putrid Piranha
Frost Piranha
Buzzy Beetle
Spike Top
Parabuzzy
S. Parabuzzy
Boo
Dark Boo
Atomic Boo
Pokey
Poison Pokey
Buller Bill
Bombshell Bill
Bill Blaster
B. Bill Blaster
Bob-omb
Hyper Bob-omb
Ultra Bob-omb
Bulky Bob-omb
Ruff Puff
Ice Puff
Hammer Bro
Boomerang Bro
Fire Bro
Wizzerd
Dark Wizzerd (btl_un_super_mahorn)
Dark Wizzerd (btl_un_super_mahorn_bunsin - probably the fake)
Z-Yux
Mini-Z-Yux
X-Naut PhD
Elite X-Naut
Bandit
Badge Bandit
Chain-Chomp
Lava Bubble
Ember
Crazee Dayzee
Amazy Dayzee
Lakitu
Spiny
Magikoopa (btl_un_kamec)
Magikoopa (btl_un_kamec_bunsin)
btl_un_mecha_kuri (A robotic Goomba?)
btl_un_mecha_kame (A robotic turtle of some sort?)
btl_un_okorl
btl_un_yowarl
btl_un_tuyonarl
btl_un_wanawana (Chain Chomp variant?)
btl_un_minarai_kamec (Magikoopa variant?)
btl_un_heiho (Poor Shy Guy...)
btl_un_dancing_heiho
btl_un_fire_heiho
btl_un_command_heiho (not sure if Spy Guy or General)
btl_un_black_heiho (aw, would've loved this guy in the Pit)
btl_un_hatty
btl_un_kohatty
btl_un_ufo
btl_un_monban
Beldam (1)
Beldam (2)
Beldam (3)
Beldam (4)
Marilyn (1)
Marilyn (2)
Marilyn (3)
Marilyn (4)
Vivian (1)
Vivian (2)
Blooper
L. Tentacle
R. Tentacle
Hooktail
Bonetail (looks like the japanese name is a play on zombie, nice)
Gloomtail
Smorg
Smorg Miasma (tentacle_a)
Smorg Miasma (tentacle_b)
Smorg Miasma (tentacle_c)
Smorg Miasma (mouth)
Pennington
Fighter
Doopliss (apparently the japanese name is from "Rumpelstiltskin".)
Doopliss
btl_un_faker_mario
btl_un_faker_mario_gra
Goombella (japanese tacks "gullible" onto all partner names; lol)
Koopa
Yoshi
Flurrie
Cortez
Bone Pile
Cortez Hook
Cortez Rapier
Cortez Sword
Cortez Saber (alternate name Cortez Sabre, interesting)
Goomba Bros. (were they originally a unit?)
Magnus
X-Fist
Magnus 2.0
X-Punch
Macho Grubba
Rawk Hawk
Lord Crump (1)
Lord Crump (2)
Lord Crump (3)
X-Nauts (group1)
X-Nauts (group2)
X-Nauts (group3)
Bowser
Kammy Koopa
Grodus
Grodus X
Shadow Queen (black_peach)
Shadow Queen (shadow_queen)
Right Hand
Left Hand
Dead Hands
Odd Tree
Switch
TEST GLOBAL 1700
TEST GLOBAL 1701
System
Mario
Shell
Goombella
Koopa
Yoshi (order reversed again, interesting)
Flurrie
Vivian
Bobbery
Ms. Mowz
R. Magikoopa (kamec_red)
R. Magikoopa (kamec_red_bunsin)
W. Magikoopa (kamec_white)
W. Magikoopa (kamec_white_bunsin)
G. Magikoopa (guess)
G. Magikoopa
Dark Puff
S. Blue Spiny (called "hyper")
Dark Bristle
D. Koopatrol
Arantula
Swampire
Phantom Ember
X-Yux
Mini-X-Yux
Pale Piranha
Bob-ulk
Elite Wizzerd (called "custom")
Elite Wizzerd (fake again, likely)
Dark Craw (called "keeper")
Red Chomp
Dark Lakitu
????? (btl_un_hatena)
Red Buzzy
R. S. Buzzy
R. Parabuzzy
R. Parabuzzy (japanese name has "spike" in it, though)
KP Koopa
KP Paratroopa
Big Bandit (were all the Glitz Pit main characters last-second additions?)
Prof. Frankly (explains why he counts as an enemy exp-wise)
menu_enemy_019
menu_enemy_062
063
072
087
105
106
109
110
113
119
120
121
128
129
130
131
133
134
135
136
137
138
143
145
147
148
155
Switch
Test Character
BOMBZO GLOBAL 1776
System
Mario
Shell
Goombella
Koops
Yoshi
Flurrie
Vivian
Bobbery
Ms. Mowz
menu_enemy_192
193
194

I'll look a bit more into the ROM data in that range again.
« Last Edit: August 23, 2012, 04:03:49 PM by jdaster64 »

milesluigi

  • Miles Luigiworth
  • Administrator
  • Hero Member
  • *****
  • Posts: 551
    • Techyoshi.com
Re: Stat-Grabbing tutorial (for PM2 Stat/Attack FAQ)
« Reply #2 on: August 23, 2012, 04:57:29 PM »
You're doing a great job jdaster64. One area I want to look into is some of those status aliments. I'm curious if they all work. If nothing else, it'd be neat to have an "Instant Death Stomp", or an item that casts that status aliment. It'd be worth a new video on Youtube.

The stat/attack guide for the original Paper Mario has helped with my planning for my Mario Alone run. While I feel I know TTYD well enough that I don't need a stat/attack guide for it, it would help.

Finally, if you want a place to chat about your findings, Wayoshi and I usually hang out on IRC at irc.synirc.net in #milesluigikart. I'm always connected, but away if I'm marked as away. Wayoshi's usually there if he's online. Let me know if you've never used an IRC client, and I'll help you out in that area.

jdaster64

  • Badge Maniac
  • Full Member
  • ***
  • Posts: 238
    • Youtube Channel
Re: Stat-Grabbing tutorial (for PM2 Stat/Attack FAQ)
« Reply #3 on: August 24, 2012, 02:55:38 AM »
Well, I've found (EDIT: to clarify - and identified) what are very plausibly the data of every normal enemy in the game; it appears the IDs are arranged mainly by in-game order (albeit scrambled rather nonsensically in the data).  I'll have to use a bit of trial-and-error for the bosses, but I should be able to find everything else pretty easily.

Incidentally, what does the symbol for away look like on your IRC chat?  I logged on last night and saw a pink box next to your username.

EDIT: Lol.  Little sneak peek; Doopliss has a 3% susceptibility to OHKO, and Atomic Boo has a 5%.
« Last Edit: August 24, 2012, 08:26:44 AM by jdaster64 »

milesluigi

  • Miles Luigiworth
  • Administrator
  • Hero Member
  • *****
  • Posts: 551
    • Techyoshi.com
Re: Stat-Grabbing tutorial (for PM2 Stat/Attack FAQ)
« Reply #4 on: August 24, 2012, 10:49:32 AM »
Depends on your IRC client. Typing /whois username will give you a definite answer. I was actually not marked as away last night when you came on, but I wasn't paying too close attention to chat at the time. The symbol probably meant I was the creator of the channel #milesluigikart. Try typing my username, as it will beep my IRC client and get my attention.

3%? That's odd; that means not all susceptibilities are a factor of 5%.

jdaster64

  • Badge Maniac
  • Full Member
  • ***
  • Posts: 238
    • Youtube Channel
Re: Stat-Grabbing tutorial (for PM2 Stat/Attack FAQ)
« Reply #5 on: August 24, 2012, 12:36:56 PM »
It's currently the only effect strength that isn't a multiple of five I've seen thus far. At any rate, I've found most of the bosses; I'll post all the stuff in an Excel file in a couple of hours.
« Last Edit: August 24, 2012, 02:31:13 PM by jdaster64 »

WayoshiM

  • Badge Maniac
  • Forum Moderator
  • Sr. Member
  • *****
  • Posts: 457
  • Can't keep a Fluttershy down!
    • My Youtube
Re: Stat-Grabbing tutorial (for PM2 Stat/Attack FAQ)
« Reply #6 on: August 24, 2012, 11:00:32 PM »
Check Shadow Queen's OHKO rate. :P
I've got nothing to say here.