Re: Magic System

From: Chris Powell (darkness@CHESHIRE.GATOR.NET)
Date: 05/05/98


Two things I've noticed.  The mag_damage and mag_points functions are
almost identical, except in how they deal with what to do with the data
they've collected. I think it would be simpler to have one mag_points
function that would replace them.  Pretty much keep the current mag_points
function but add all the mag_damage SPELL_ in the switch section.  Then at
the end just have it do switch (spell_info[spellnum].routines) and for
MAG_DAMAGE subtract the values and for MAG_POINTS add the value.  Also
mag_areas and mag_masses are identical except mag_areas does more checks
for pc's/pkill and the such.  Could we combine these 2 functions and add
in the a check to see if it is MAG_AREAS and if it is do the extra checks?
Also it seems that the spell system is to spread out over the 4 files.  I
know this is to help with readability, but I'm sure if you look long
enough you'll see functions that can go to gether and simplify the code.
Also through out the code spells are commonly referenced by skill.  This
is kind of confusing, especially if you want to seperate skills from
spells.  Also the implementation of skills is very...umm...strange.  FOr
spells we have set functions to handle certain spell effects, damage,
applies, etc.  Couldnt we set up the skills to a similar system?  Also
whay are the TYPE_XXX defines in spells.h?  I mean why are they added
to they ennd of spell/skill defines?  For some people who have tried
to increase the max number of spells/skills, that is commonly over looked.
Also in its current form if you want to make modifications to the spell
system, it is a very arduous task.  Well I'm out of steam at the moment so
I'll sit back and think about this some more.

Chris Powell           * I don't have bugs, I have   * I don't crash, I
http://patch.gator.net * randomly developed features * have random reboots

Expect the worst, hope for the best, be thankful for the few errors you get.


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST