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

Reply via email to