Re: Spell durations (was: Swimming,falling,flying anddrowning...)

From: Sean Butler (sbutler@DEVEAST.COM)
Date: 10/17/97


Edward wrote:
>My next big task is to implement event queues, so I can
>add casting times to spells.


Thats not such a big task really, it works about the same way
room affects do.

A side note:
Something I have never really understood about Circle 3, skills and
spells are considered 2 different things. I think skills and spells
should be the same thing.  That way any new system developed for one
can be used by the other.

What is really the difference? On my mud we have developed just such
a system.  Each skill/spell entry has:

skill/spell name
spell  (boolean we need to know if the incantation should be done)
class that uses it
level restriction
mana cost
hp cost
mv cost
pre lag (lag that player gets before the skill/spell is performed)
post lag (lag that player gets after skill/spell is performed)

This stuff is loaded into a table so that when the spell/spell is
used we just do what the table tells us to do.  All skills and
spells are handled in one central location and dispatched to the
correct routines to handle them.

We also have online skill/spell creation,  we can create the table
entry and save it to disk.  Then later we go back and write the
fucntion that the table entry calls.  This means we don't have to
deal with writing the skill files ourselves. All we have to do
is create the function.

The reason i suggest doing all this, is that if you are going to
go to the trouble to enqueue spells for pre-lagging them then
you might as well do the same for skills.  If skills and spells
are the same thing, then you only need one piece of code to handle
them.  Also, this means that creating a skill or a spell is
virtually the same task, there aren't 2 different methods.

Thanks,
Sean


     +------------------------------------------------------------+
     | 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/08/00 PST