Greetings, I'm changing the way my MUD handles skills and spells, Instead of having people practice their skills at their guildmaster I want to implement a method of gaining skill points by actually using their skills. For instance, every time someone uses skill_kick, there's a slight chance it'll increment as they practice their skill in the heat of battle... This code is relatively simple, what I am looking for advice on, is how to "cap" skills based on class, race, and level. For example, a level 1 warrior can notch his kick skill up to a level where the skill is incremented to 5, but to futher the skill he has to gain a level. Also needing consideration is the fact warriors kick skill maxxes at 100 at level 56 (highest mortal level), whereas an anti-paladin's kick skill maxxes at 85 at level 56. I've toyed with the idea of using an array, similar to the way Circle currently handles maximum skill levels - the [4][NUM_CLASSES] array in class.c (can't remember what the array is called, sorry), hoever, this is quite unwieldy, as the array would be huge... [TOP_OF_SPELLS][NUM_CLASSES] is a 299 X 6 array (with more classes being added rapidly). So I thought about creating a new struct called skill_type and adding it into the player structure, something like struct skill_type { int skill_num; int max_skill_level; int skill_max_per_level; } and changing skill_set so it sets each skill value for each class... can anyone think of a better way? The other thing (Sorry, this is a long post) is that I want to assign spells in "circles" instead of per level, where a player gets a certain number of spells each 5 or so levels and has to "memorize" each spell to be able to cast it instead of using mana... the number of memorization slots would increase each level, however you'd only gain spells upon reaching a level where a new spell circle is attained. Example: Level 13 sorcerer... has spell circles 1, 2 & 3. At this level the char has 6 x 1st circle memorization slots, 5 x 2nd circle memorization slots and 2 x 3rd circle memorization slots. This would be another change to char structures I guess. So my question is, has anyone tried this before with the circle codebase? If so can I have some example code? I am capable of writing it all myself, however my current thoughts leave me with a very unorganized and messy codebase. Thanks, Owen B-R. -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | | Newbie List: http://groups.yahoo.com/group/circle-newbies/ | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/25/03 PDT