Re: [CODE] different method of mana regen

From: Edward J Glamkowski (
Date: 04/11/00

> Basically, I have class that I want to gain
> mana by draining the "essence" from a corpse.
> I don't know for sure if I want to have the
> corpse just disappears after being drained
> (like sacrifiicing) or remain and just put
> some sort of "DRAINED" flag into the corpse
> so no one else can drain it (and the player
> can't drain it again).

It is easy to imagine either method being
"correct", and they both work equally well.

> I guess the mana gain would have to be
> dependent upon the level of the mob the
> corpse came from, which would seem to make it
> a bit difficult, at least to my untrained
> eyes. I think that would mean that when the
> mob died, it would have to pass on it's level
> to the corpse object. Any pointers on how to
> do this, and how to make the character gain
> the mana in a big, one time burst from the
> corpse?

There are 4 value flags (see GET_OBJ_VAL() in
utils.h to see where they are in the obj
struct) of which corpses do not use all four.
Just stick the level of the mob into one of
the unused values.  Then when they try to
drain the corpse, check the approrpriate
value and if it is > 0, the corpse has already
been drained and they are SOL.  Otherwise add
that value to the drainer's current mana based
on whatever formula is appropriate for your
mud (for stock circlemud, I would probably
start with a simple 1:2 level:mana conversion
and adjust based on player feedback).

To make it even more interesting, you can stick
the value of the drainer into another value of
the corpse (remember you get 4 vaules), and if
a higher level drainer comes along and drains
from the corpse, he can get more mana out of
that corpse based upon the difference between
his level and the previous drainer's level.

But that would imply a drainer would max out
on amount he can drain, probably based upon
his own level.

Angelfire for your free web-based e-mail.

     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  |

This archive was generated by hypermail 2b30 : 04/10/01 PDT