[color:"#23D478"]Learning skills, or increasing the level cap of skills you already know[/color]

I tried this with several skills, and checked that one could be upgraded by a teacher after hex learning, but did not play a great deal afterwards or do extensive testing.


[*] As always, start by backing up the data.000 file (and/or the full save folder) for the save you wish to edit.

[*] Open the data.000 file in a hex editor, and search for the string [color:"orange"]SkillsV[/color].

At this point you may be able to just search for a skill to increase the maximum level, but there are possible prerequisites if you wish to learn a new one. Basically, you need to enable any skill categories for the skill in question that are not already open. For example, take the spell '[color:"#8CADFF"]Wizard, Ethereal Magic, Elder Fire[/color]'. If you start a new game and choose either warrior or survivor skills for both characters, then the Wizard category will not be available (until you learn your first mage skill). Similarly, the Ethereal Magic sub category will not be available until you learn the first such spell.

In the BD skill window, when you select any category a description will be displayed in the text box (there is a button in the bottom left to toggle between showing all skills or just available ones). If you find this description in the data.000 file you will be able to enable the corresponding category. Select the last character of the description on the text side of the hex editor, then switch your focus to the hex side. Two bytes to the right and one row down is the byte that will activate that category. Any reasonable non-zero value will work (ie just plug in whatever value you were going to use for the maximum level of the skill you wanted to learn). In practice, I think from looking at a couple skills (which may or may not be representative of all skills) that the game stores the maximum level of all the skills in the category, but it doesn't seem to mind arbitrary values (I didn't try anything larger than the highest expected skill level).

To find the warrior or survivor path, if you are at the SkillsV term you can just search for the next instance of [color:"orange"]warrior[/color] or [color:"orange"]survival[/color], respectively. From the start of the file you can search for more unique terms in the descriptions, such as '[color:"orange"]path of me[/color]' (ie melee) for warrior and '[color:"orange"]path of t[/color]' (ie thievery) for the survivor skills. However, this example doesn't require much searching at this step, since the mage path starts just below the SkillsV term.

[*] In the description "Wizard is the path of magical power", highlight the r in 'power', then focus on the hex side of the editor. Two bytes to the right and one row down, change the "00" to whatever maximum skill level you were going to give yourself for the skill you want (Elder Fire in this example). If it already has a non-zero value, you can just leave it as is.

[color:"yellow"]Note[/color]: I used "01" in the screenshot below, but it would probably be better to use the desired maximum skill level; I was checking to see if the value used had any effect (at least short term it did not appear to).


[Linked Image]



[*] Next, if the skill you want is in a sub category where you have not learned any skills, you need to enable it. In this example, you can search for '[color:"orange"]ethereal magic[/color]' to get to the start of that section, which will have a description at the beginning.

If you find an instance of your search term that does not have a category description, then you may need to keep searching to find the correct instance, or search for something more unique (ie part of the description). As long as you search for SkillsV first, though, you should skip past most references to spell or category names that are not the ones you need.

[*] At the end of the ethereal magic description, click on the c in 'magic', and on the hex side move 2 bytes right and one row down, then edit as before.

If the category only has a few skills, you can simply scroll down to find the one you want, otherwise you can search for it. A simple skill has the skill name in plain text, then a couple rows of data and then the name again in the form [color:"#8CADFF"]CNSkill_<class>_<category>_<skillname>[/color]. The maximum level for the skill is the byte just above the i in CNSkill.


[Linked Image]


If the characters have already learned any skills in the target category (ethereal magic in this example), then this procedure is simpler. You would just have to search for SkillsV (to jump past other references to skill names not relevant to this), then search for the correct skill name and change the maximum level.


For skills that have multiple components, such as weapon expertise, each component of the skill needs to be enabled, as well. These skills follow the same convention of listing the skill name, then a couple lines of data and then CNSkill_<class>_<category>_<skillname>, but following that are data sections for each component of the skill.

As an example, I will use Whirlwind. This upgrade skill for the swirl attack only becomes available late in the game (so after it would be most useful).
Search the data.000 file for [color:"orange"]SkillsV[/color], then [color:"orange"]whirlwind[/color] (enable the warrior path first, if required). After editing the maximum skill level above the i in CNSkill, look for the skill components listed following that. After selecting the last letter of each component name, turn your attention to the hex side of the editor. Look for the second non-zero byte after that; the byte just below it needs to be edited to change the maximum level for that part of the skill. If your hex editor displays zero bytes (ie '00') as blanks, the second non-zero byte should be quit easy to spot on the text side of the editor.

Below for Whirlwind, the main skill level and that for each of the 3 components has been changed to '0A' (ie level 10). Component names are in blue, while the next two non-zero bytes for each are in red.


[Linked Image]