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