I'm more interested in NPC editor, because character export/import work fine for me.
My current method of NPC editing is hex hacking. However, I can only edit attribute level, experience point (up/down level), available skill points/attribute points/weapon points (but can't find the existing points), available money. What I can't do is changing existing skill level and weapon proficiency. Looking at header_skills.py, it seems to be impossible to decode and change skill level just by looking at the numbers.
0F 00 00 00 0F 00 00 00 0F 00 00 00 0A 00 00 00 BD 86 A5 42 4B 28 83 43 D9 03 92 42 F9 29 A4 42 75 85 84 43 A8 71 9E 42 00 00 00 00 03 00 00 00 10 25 03 00 50 00 00 00 55 50 00 00 00 50 05 00 00 00 00 00 1A 10 00 10 00 00 00 00 00 00 00 00 39 A2 00 00 56 7A 02 00 00 00 70 42 01 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 18 00 00 00
The above is an example of a NPC data block or part of the data block. Begin with attribute level (0F...0F...0F...0A). The next string "BD 86 A5 42 4B 28 83 43 D9 03 92 42 F9 29 A4 42 75 85 84 43 A8 71 9E 42" is what I suspect to be skills level (24 skills bit mask). Weapons proficiency may be next, but I can't figure out. IIRC, the "39 A2" is current available money. Skip to "56 7A 02" is the experience points. Then skip past "70 42 01", the first "02" is the available (unused) skill points, then available attribute point (is zero in this case), then available weapon points (02). I think the last "18" is the NPC current level. That's all I know for now.
I'm more interested in NPC editor, because character export/import work fine for me.
My current method of NPC editing is hex hacking. However, I can only edit attribute level, experience point (up/down level), available skill points/attribute points/weapon points (but can't find the existing points), available money. What I can't do is changing existing skill level and weapon proficiency. Looking at header_skills.py, it seems to be impossible to decode and change skill level just by looking at the numbers.
0F 00 00 00 0F 00 00 00 0F 00 00 00 0A 00 00 00 BD 86 A5 42 4B 28 83 43 D9 03 92 42 F9 29 A4 42 75 85 84 43 A8 71 9E 42 00 00 00 00 03 00 00 00 10 25 03 00 50 00 00 00 55 50 00 00 00 50 05 00 00 00 00 00 1A 10 00 10 00 00 00 00 00 00 00 00 39 A2 00 00 56 7A 02 00 00 00 70 42 01 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 18 00 00 00
The above is an example of a NPC data block or part of the data block. Begin with attribute level (0F...0F...0F...0A). The next string "BD 86 A5 42 4B 28 83 43 D9 03 92 42 F9 29 A4 42 75 85 84 43 A8 71 9E 42" is what I suspect to be skills level (24 skills bit mask). Weapons proficiency may be next, but I can't figure out. IIRC, the "39 A2" is current available money. Skip to "56 7A 02" is the experience points. Then skip past "70 42 01", the first "02" is the available (unused) skill points, then available attribute point (is zero in this case), then available weapon points (02). I think the last "18" is the NPC current level. That's all I know for now.
I use a simple memory editor to accomplish that, if I need to change such things on my companions etc.
To edit npc's out of the game, you'd need to edit the savegames which isn't possible as far as we know.
Unless you edit the troops.txt file and start a new game, but that's not what we're after.
This tool however, is designed to simplify the editting of exported chars.
Yeah, you don't really need it, it's probably not as useful as the troop or item editor.. but it's something ^^
I really like the way I can just alt-tab between M&B and the editor, change a few things, save, alt-tab, import and done!
Will be even better once templates, batch operations etc. will be implemented.
If anyone knows a better tool I could make, please tell me, this was the most useful I could come up with
