Hex Edit Findings

#1Skygor_IIPosted 5/30/2010 5:43:38 PM
OK so I'm finally playing around with monster Lab save files to see it's insides. My main objective is to find out the last unknown badge. Anything else is just icing on the cake. First the easy stuff.

* The first 8 bytes i.e. FF FF FF FF is a CRC-32 checksum for the rest of the file.
* Friend code list begins at 364.
* First profile begins at E04.
* Second profile begins at 178C.
* Not sure if friend codes display the the profiles, but in any case the names are easy to see.
#2Skygor_II(Topic Creator)Posted 5/31/2010 10:55:19 AM
General File Layout
BOF
8byte CRC-32 checksum
*Header Data.
*Friend Code list.
*WIiFriendNickName
BEGIN PROFILE 1
* Game Data of sorts: mask for badges, MSA score, wins, loses, and probably other stuff I canot determine yet.
* This weird block of what seems to be a key "c23{3} then big block of FF.
* Profile Name: pretty obivious
* Mask for formulas known: if you FF then you can get all the formulas.
* Monster Data: you can see some their names pop up. But it seems the game reuses these blocks and overrights them as needed. Touching this can crash the game or make really weird monsters. Most likely is references the parts.
* Parts data: each part your have.
* Ingridient data.
END PROFILE 1
PROFILE 2
PROFILE 3
etc.
Some closing bytes.
EOF

Ingredients
14B8 - 14E4 : Key Ingr.
14E5 - 1520 : 2nd Ingr.

They go in the same order as the game lists them. First key, then alch gems, alch powders, alch minerals, etc. bio. etc. mech etc. If you max them at FFh=255d, then game will correct them back to 63h=99d.

Parts
AA BB CC DD EE FF GG HH

AABB: Determine the part. I haven't figured out how though. I have two Dark Knights that where identical in game except that one was "equipped" and they had different AA. When I unequipped them the AA values didn't change. More testing needed but it's not a high priority.

CC: part quality. Now I can find out the 100% values for those tricky games!
DD: part level e.g. Canon Mark I, II, III, IV. Any value other than 01, 02, 03, 04 auto corrects to 01.

EE: part bonuses, and you can mix and match e.g. Legendary Wizard's Arm. Also I should be able to calculate the formulas for Strong, Supercharge, Effficient, etc.
FF: part weakness. (There were only 4 Gorgon's Eye!)

GG: always 00
HH: nearly always 00. I think 01 is for Flee and 02 is for Recharge. Although I tested it, I may have mixed it up with GG. If I didn't then this is some odd mask.

Part Bonus Values
00: Acidic
01: Celestial
02: Efficient
03: Explosive
04: Super Charged
05: Multi Attack
06: Radioactive
07: Regenerates
08: Slippery
09: Accurate
0A: Strong
0B: Tough
0C: Legendary
0D: Disabling
0E: Grounding
0F: Quick
FF: none
Else: crashes game

Part Weaknesses
00: Drained
01: Inefficient
02: Slow
03: Wimpy
FF: none
Else: crashes game
#3gorgonseyePosted 5/31/2010 1:52:36 PM
Very interesting...hopefully it does lead to the final badge as that is a thorn in my side.
#4Skygor_II(Topic Creator)Posted 6/1/2010 1:58:25 PM
http://www.youtube.com/watch?v=DPGZ3yzUuas


To Do List
Record all part stats for all levels at 100%. Even those 99 games and Alchemy Arms!
Calculate formulas for HP, Atk, En, & Capacity attributes, e.g. Strong.
Get more sample data for Ingr. drops single vs all, with Legendary Sorcerer and Kukuri Arms.
#5gorgonseyePosted 6/2/2010 7:43:15 PM
All 4 of us...heh

The Good: It's found. Congrats.
The Bad: It's something I thought I had thoroughly checked.
The Ugly: If it's glitched.

I do know about the incomplete recipes thing - when I went through doing them, I kept a checklist and checked them off when I had the complete recipe (making sure to redo recipes for parts given to me as the game generally doesn't give you complete recipes). I even went back today and started checking - about 3/4s through I got a blue screen of death with a bunch of code. Eventually I'll double check but take it in shorter chunks (rather than from the full list area which always gave me some trouble).

I do know that several recipes are missing from the list (and have the arm(s) made from dragon's egg).

I guess my first check is the number of parts: 624
Heads: 12*3*4 = 144
Legs: 10*3*4 = 120
Arms: 20*3*4 = 240
Torsos: 10*3*4 = 120

With of course the 3 standing for Mech, Bio, Alch and the 4 standing for the 4 levels of parts (differentiated by the secondary ingredient).

If that ends up being the correct number then either one of my parts isn't complete or there's a glitch. I guess I'm okay either way as at least I finally know.
#6Skygor_II(Topic Creator)Posted 6/3/2010 3:45:40 PM
Parts Level
I forgot to mention this but Parts have a level. When I hacked a complete recipe list in a new game nearly all of the Parts require X levels to use. Normally this mechanic only occurs when you try to make a Part and the game warns you that you may not be able to use it. However it's usualy moot since making the Part gives you enough points to increase your MSA Rank and use it. It'll be very nice to see how the developers ordered the Parts and know which one is the "best".

Parts Update
AA BB CC DD EE FF GG HH

AA: Hitpoints.
In thinking that AA and BB were an odd mask for part identification I did a test where I just started at 0000 and counted up (to I think 0010 in my test). When I loaded the game, the Parts in the Parts_Menu where there but their HP was 0! When I tried to equip them in the Lighting Tower, they displayed a positive HP. I didn't investigate this greatly since I was using this as a means to find the final badge i.e. manually get one of each part.

The fact that the HP for a Part has a value when the game knows the value it interesting. I think it's to hold the Current HP of a part i.e. Damage. It would explain why the two Dark Knights I had differ in the AA value. Except that the one with the smaller HP was theunequipped one and Dark Knight has a the Strong (not Tough) attribute. It's interesting but not critical to investigate.

To Do Update
Right now I'm postponing archiving a bit so I can recollect myself to avoid mistakes. I would like to avoid unnecessary or duplicate entry since I have an existing database of ingredients and parts linked together. Here are my limitations:

* Formula_Menu does not display Health.
* Hacked in Parts must be examined in the Lighting Tower to see Health.
* Formula Menu does not display modified stats i.e. Strong, Tough, Efficient, Super-Charged, and Legendary.
* Hacking in the proper attribute per Part is unfeasible.
* It is highly desirable for complete data to have values for Strong, Tough, Efficient, Super-Charged, and Legendary. Formulas must be determined for them OR each Part officially using them must be checked manually.
* Order of Formula_Menu and parts by ID hex are not the same. E.g. Formula_Menu starts with Samurai Heads, while part 00 is the Kong Arms.
* Game has a maximum of 100 parts. I can check Parts either by 1, 2, 3, 4, 1, 2, 3, 4 ... or 1, 1, 1, 1, 1, 1, ... 2, 2, 2, ...
* Must not forget to note Part level requirements.
#7Skygor_II(Topic Creator)Posted 6/4/2010 3:27:56 PM
Gentlemen, behold .... TRUNCH!!!!

Bio. Arm 299 HP
Eternal Lance 12/122 --t--
Mercy Strike 11/49 -dts-

Mech. Arm 403 HP
Solar Flare 36/21 hdtsl
Eternal Punch 20/32 -dt--

Alch. Head 203 HP
Skullcracker 19/113 h----
Optical Beam 29/62 h-t-l

Mech. Leg 664 HP
Eternal Trample 34/27 hd-s-
Upward Block 8/99 block

Alch Torso 1313
53/18

//-----------------------------------------------------------------------------------

When I gave myself a full inventory of parts and examined them from the Parts_Menu my game always crashed. So against my wishes I had to examine them in the Lightning_Tower. (It seem that monsters only crash the game if you touch the Monster hex information, which I don't.) While in the Tower I saw some dummied out items, which wold explain my game crashing. I recorded what I could of them just to share something interesting. Then when I get to the legs I see "Eternal Trample." So I look at my notes and realize that the dummied information are the boss parts. Oddly only Trunch's parts list proper stats. All the others just have a 0s for Health, En, and Attack. Since Attributes don't autocorrect, the only way to know them are from the graphical cues when they kick in.

To Do Update
* Record Health for level 3, 2, and 1 Parts. (Simple since the hex ID have been determined.)
* Determine formulas for Strong, Tough, Efficient and Supercharged.
#8Skygor_II(Topic Creator)Posted 6/7/2010 2:06:54 PM
Part Hex IDs
00-3B Arms
36-47 Boss Arms
48-6B Heads
6C-71 Boss Heads
72-8F Legs
90-95 Boss Legs
96-B3 Torsos
B4-B9 Boss Torsos

Boss "Elements"
Residentual: pure Mech lvl 1
Krake: pure Bio lvl 2
Boneshroud: pure Alch lvl 2
Gargonaut: pure Mech lvl 3
Gloomthorn: Bio - Alch lvl 3
Trunch: pure Hybrid lvl 4

To Do Update
Well everything is recorded! All that is left is some number crunching a for the attributes and guide updating. The trickiest part is how to list the recipes in a succinct and easy to read way.
#9Skygor_II(Topic Creator)Posted 6/8/2010 9:33:34 AM
Attributes
Well preliminary tests show that Strong, Tough, and Efficient work at improving 17-20% of whatever appropriate stat. I attribute discrepancies to Integer truncation where ever the calculations are done. I haven't tested Wimpy and Inefficient but am sure that they are probably 17-20% as well.

Values for Supercharged are all over the place. I highly suspect that it has to do with HP. In general Torso Capacity is indirectly proportional to HP. So I think that the boost from Supercharged is based partly off of the Supercharged Part's HP e.g. Canon Mark III's HP will affect the increase on the Torso. I'm not sure I'll test it since, recording the data will be too nerve racking.

In any case I will either have to give stats that don't factor the attributes or record them manually. This is fine except for Supercharged which as I mentioned rely on HP. As such I don't know how they rely on HP though aside general indirect proportion.
#10Skygor_II(Topic Creator)Posted 6/8/2010 11:49:02 AM
Attributes Update
So I tested Wimpy which gives .83 of the original and no surprisingly .83 is the inverse of 1.2

I retested Supercharged using my sample 87 arms with "no attribute" Centipede, Massive, and Harnessed Bodies. (Harnessed was supposed to be Werewolf so I'd have the min, max, and median Torsos for HP but I goofed typing it in and was too lazy to change it.) Every arm always raised the Capacity by the same amount i.e. Centipede always went 60->69, Harnessed 66->75, and Massive 36->41.

With this new information I compared the increase of Centipede, Harnessed and Massive supercharged by themselves i.e. no other limbs. They increased by the same amounts e.g. 60->69, 66->75, and 36->41. Therefore supercharged is based off of the Torso only.

I tried some regression calculators, even a multi variable one, but again the numbers vary too much. If I just average the increases it is around 1.127 which now realize is very close to 1/8.

On a side note, when I graph Torso HP to Capacity ratios it resembles a stamp graph. E.g.

www.spudart.org/blogs/randomthoughts_comments/P3997_0_3_0/

Torso HP Tiers

B Werewolf Body
A Diamond Core
A Dragon Body
A Fiend Body
M Smelter Body (best of 6)
B Oceanus Chest
M Big Rig
M Jester Torso
M Bulldozer Body (huge jump from previous tier)

The Steel Shoulder is the median for HP/Cap and the best for its tier if the middle wasn't a set of 6. Plus it's Supercharged to boot.

To Do
* Updated guide.
* Manually check Tough, Strong, Efficient, and Legendary?

Now I'm at an impasse on whether to include the modified attributes in the game data. To do so will skew my current database since it has just the raw values. However it is imported to include the actual values which the player requires. But even so my data will be incomplete since I can't list Supercharge, unless I make a table of Supercharge effects on the Torso. That will be odd since Supercharge -stacks-. *sigh*