From: moongate <moongate@linux.ams.com>
I've got lycanthropy on my mud, and what I did was very simple...
I put 2 checks in the weather update function, which looks to see what
time it is (at the end of the function) and if it's the right time, it
calles activate_lycanthropes() or decativate_lycanthropes(). That then
checks the player list to see if there are any people online with the
lycanthropy bit set (I added a lycanthropy part to char_data.. wherein i
have the flags PLAYER_CHANGED, FORM_WOLF, FORM_BEAR, FORM_RAT, etc. This
is saved when they log off. When they quit, remove_lycanthropy(ch) is
called (which is also called in that deactivate_lycanthropes() function)
which removes their CURRENT lycanthropy affect, but leaves then with
their lycanthropy flag, so that next time 6PM rolls around, they change
back, regardless of wherever they are.
I made lycanthropes have armor class etc based on level, since I figured
that when changed they wouldn't be able to equip themselves or anything,
and added some special attacks for them in the fight functions.
To become a lycanthrope, a player is bitten by a mob with
spec_lycanthrope set (which is simply spec_poison with some
modifications). They are then given the lycanthropy flag. They won't know
it unless they type score (where a message will be displayed) or night
time rolls around.
I have two moons orbiting in my mud, Trammel and Feluca, which also
control lycanthropy and the forms a player takes when he transforms. The
moons each have different orbits and therefore the different conjunctions
change over several hours of game time.
If the moons are both full, he becomes a weretiger.
Depending on which moon is full, he becomes a werewolf or wererat.
If neither moon is full, he becomes a werebat.
If the moons are new, nothing happens.
The moon conjunctions must occur at exactly 6 PM, the time when a
lycanthrope transforms (at the setting of the sun).
The curse of lycanthropy can be removed from them at the any healers for
a steep fee.
If anyone is interested, I will post my functions for lycanthropy, but
will not be supporting or changing them as they call bits and other such
things that are specific to my mud :>
Vassago
. . . . . . .
. . . . . . . . . . .
______/\ ______ ______ _____/\ _____. ____________/\____/\ .
. \ . \/ \/ \ \ /,__ / \__. .___.\ ,___' .
/ : . \ | \ | \ . \ (_/ \ . \/ \ |/ `-;
. / | : \.:| ;\.:| ;\ : \ ;\ : \ \/' /___/\ .
\___|_| ;\_____//______//__| ;\_____//__| ;\ ;\____ ;\
. . \____// . . \____// |___//___// \____// .
. . . . . . .
. . MOONGATE.AMS.COM [206.97.161.129] PORT 4000 . .
. . . . . . . . . . . .
. . . . .
.