Dear rom list, I have a system where I have removed levels and changed classes from a limit on what skills/spells are available to a leaning toward a certain type of skill/spell, I want people to be able to have really open-ended characters with a wide viriety of playing styles, my goal would be to have it so people could become respectably powerful (in some measureable form or another) without having to actually 'kill' anything. I want to shift the leveling to individual skills and spells, in that, by using them you will gain experience in them and the skills/spells will level instead of the character. New skills/spells would be learned after a certain amount of mastery of other skills and spells (for example, lets say that once you have 'magic missile' to level 180 and 'burning hands' to level 75, you realize you can put them together and gain the spell 'fireball' at level 1.) What i am curious about is a couple things as far as implementation so that things are easily scalable modifyable. I threw together hard coded checks for something like this in a previous project, but, hardcoding all the prerequisites was an absolute bear, very difficult to figure out easily and didnt work half the time. I want to know how I can do this the 'right way', but I think my own ideas on how to do this have matured since the previous time also.
1. How can I best incorporate the prerequisite of skills and spells into the skill table? Should i create some kind of simple struct with a sn and a minimum level that make an array of and throw into each skill/spell record or should i create a separate struct? 2. I want to have the total experience required for each level of a skill/spell to be some sort of pure exponent-based function, something like 2*level^3, so i can just store the exp in the skill as an int and calculate the level each time with something like pow(get_skill(ch, sn), (1.0/3.0)), is this a needlessly expensive floating point calculation to perform each time, should I just store both the current experience and level and check current experience vs. 2*((1+level)*(1+level)*(1+level)) whenever the experience increases? I have always been under the impression that changing from integers to float willy nilly is undesirable, is this correct? 3. Given that players will no longer have levels, I still want to be able to enforce some sort of requirements on equipment, wether it is based on a/some particular stat(s) (like strength) or particular skills (like a heavy armor skill, magic device skill) what would be the most robust/convenient way of going about this? I have concidered reworking the 'bulk' field, in such a way so as to make it so you can turn on flags to set reqirements but it seems really complex for builders to tell them to set requirements with something like, bits 0-3 select a stat, 4-14 set the amount of that stat, 14-21 select a skill, 22-31 select an amount of skill. Thanks for any insight you could provide, Brian

