feats require methods
constructor, takes values from the parser and fill in the data
verify(character, C), takes a character object and verifies if requirements are met
apply(character), applies the bonuses granted by the feat to the character
unapply(character), removes bonuses that have already been applied(verifies to make sure they were applied and removes them if they were).
character class requires
default constructor
copy constructor
updateall, re-calculates all formula based values (stats, attackbonus, ect.)
checkall, checks all aquireables( feats, spells, skills) to make sure they are within acceptable ranges, have their pre-requisites met.
clearall, clears the character replacing it with an empty template/object.
clearaqu, clears all non basic fields (feats, skills, spells, classes) but retains basic information (name, gender, alignment, race..., stats)
re-roll, generates new values for the 6 stats and asks for placement(which goes to str, dex, con...).
extra: the character class will manage the adding and removing of the race, alignement and diety.