For the last two weeks I've been working a few hours a day on the d20 project again and things are going quite well at the moment. I'm even at the point to make the announcement that I'm close to finishing the basic character creation To get this done I had to make a character sheet (from UI elements), create a character as I would when playing Dungeons & Dragons with pen-and-paper and see what's missing or not going as it should (good thing I've played [Advanced] Dungeons & Dragons for almost 3 decades ).
When running the character sheet, I can add a basic class and occupation. The occupation can only be selected as long as your character has no XP, and the skills and feats that come with it do influence those of your basic class. Having selected both occupation and basic class you can add points to your skills. Also stuff like AC, saving throws and Base Attack are calculated completely automatically - no need for you to spend any time (or when you're using the d20 project as plugin, extra code) to it.
When your character levels up, new skill points and (bonus) feats become available to choose from, as well as the option to pick a new class (basic or advanced - if you match the requirements for it). The only error I found so far is that I forgot that every level the character gains it'll get a free feat and am currently busy adding that (it's kinda like the bonus feat code but with a few changes).
I think somewhere next week I've finished the basics. I will then take a week to fully test it and see if I can find any errors in the mechanics and/or code. If I can't find one. I'll make the program (not code!) available for all to test is more thoroughly, while I'll start on adding the whole inventory and gearing system. I already have both coded, but now I need to implement it as part of gearing up the character and let the character 'use' it all.
And speaking of using, I also need to implement skill and feat usage. Though I think this might be pretty simple, because all I need to do is check DC and roll a couple of virtual dice
Last but not least, I've implemented ExtensionMethods for the plugin. This way you don't really need to know how I've coded the whole thing, but instead use simple methods to get the stuff done, while the code behind it does all the calculation, adding/removing of items to the massive amounts of Lists<> used and such.