[QUESTION][CODE] Skill/Spell Choosing: Tree Structure

From: Edward Felch (dustlos@hotmail.com)
Date: 06/16/01

Hey all, I really hate to ask the list what is fundamentally a C structure
question, but it has its roots in a cool idea for Circlemud and I'd like
some input on it and some pointers if possible!

Currently on my MUD I have it set up so if a person has 2000 out of 18000
skill points in any skill, they can use that spell or skill just so you

Now, here is my idea: To make a class (adventurer class) that can mix and
match skills and spells based upon a tree structure of skills, it would be
like a tech. tree found in real time strategy games but with the
skills/spells of different classes.

       /  |     \        \
     Hide Kick Magic M.   Cure L.
    /   |
  Sneak Steal

Where Hide, Kick, Magic missle, Cure light wounds would be the only skills
with level 1...

Could someone please give me a bit of advice in creating this tree, and then
on how to feed this information into it (The spell_level stuff in class.c
would seem like a good base, checking each one and their level to build this

Another favorable option would be to create the tree manually, I believe
this would a better solution because the spells/skills could be managed
better as well as how/what paths could be determined.

Example of this:
Both bless and cure light are 1st level spells, if the player takes cure
light, they could learn another curing type spell the next time they choose
a spell (or bless), but they couldn't choose another affect spell that would
come after bless...

  Cure Light Wounds       Bless
  /            |            |  \
Cure Crit    Cure Blind   Sanc  Fly

Thank you for reading and maybe considering helping, I hope this can come
true even though it seems complex (at least to me)... :)
Get your FREE download of MSN Explorer at http://explorer.msn.com

   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |

This archive was generated by hypermail 2b30 : 12/05/01 PST