Curses.
void player_start(object target); Called whenever the player logs on, and from
add_curse()/add_disease()
(right after init_curse). For cloning of shadows/
items.
void player_quit(object target); Called whenever the player quits, and from remove_curse()
remove_disease() (right after curse_end).
For removal of shadows/items.
void curse_heart_beat(object target) Called on certain intervals. For nice/nasty things
done to the target
int prevent_remove(object target, object remover);
To be called from remove_curse/disease, to see if the caster
of a remove curse/cure disease spell manages to do so.
If unimplemented or no remover ob, the curse will always be removed.
Should return 1 on failure to remove.
void init_curse(object target); When the curse is cast, add_curse() will call this function
in the curse with the targets object. For messages ++
void curse_end(object target); Called from remove_curse()/disease() upon removal.
For messages ++
Remember to have your curse/disease added to /table/curses