Aladore wrote:Guess I should post what I was able to find out, although it's not that great.
Each soldier is stored on 3 different group of 4 bytes, and each group is located at very distant offsets from each other.
Soldier #1
- 0x1C484 : XX XX XX XX
- 0x1FB34 : XX XX XX XX
- 0X231E4 : XX XX XX XX
The next soldier is located right next to it, just 4 bytes later :
- 0x1C488 : XX XX XX XX
- 0x1FB38 : XX XX XX XX
- 0X231E8 : XX XX XX XX
The order in which they are stored can be checked in-game : go to the tab with All your Mother Base Staff appearing. Sort them by Recruitment/Ascending => this is the order in which they'll be stored on the SAVEDATA.
---
Ok, next let's try to analyze those offsets. I think there are 3 type of characters coded in the game : Unique, Special, and Generic characters.
1.
Unique
Ocelot, Miller, Code Talker, Quiet, Hideo, Ziang Tan, Silent Basilisk
2.
Special
All those Special Volunteers, pre-order Bonus staff, people you get after the end of a mission like Razor Hedgehog (S++ Combat at the end of Mission 46)
---
I didn't study those first two types. But I can say this : Special character also have functionning values for "Lock", "Morale" and "Medals" at the very least.
---
3.
Generic
Ok, let's say our 1st character in the recruitment order is a generic character :
- 1C484 : 00 50 52 4F
- 1FB34 : CE 61 49 83
- 231E4 : 80 70 C0 43
Starting from the first line I'd say : "00 50 52 4F" is about the ID, gender, face and name of the character.
On the 2nd line :
- "CE" seems to push all the stats towards S++, while the next digit seem to change the stats orientation, in this case
1 with "CE 6
1".
- The next two digits is the Skill "CE
61 4
9". Here it's Ranger 1, there is a
.txt here.
- Then the last three digits "9 83" seem again linked to character's portrait.
On the 3rd line, "80" means manually locked (direct contract) and "70" means have all 3 medals (10+20+40). "C0 43" seems to fully restore Morale and place them into the Sickbay, and this part seem to also be linked to Persuasion and Health Status.
---
So yeah, too many data close to each other, too many things share bytes. We really need a dedicated save editor, I don't think Quick Codes will make it.
Plus, the character order always change, especially once you have 3,500 staff and people start getting automatically dismissed and then the Unique keep getting fired and come back all the time. And you really don't want to mess with the wrong character.
But manually editing each character is a chore on Advanced Mode.
I used a combination of custom made Quick Codes (in that, I calculated which offsets should be modded and not).