The poison system is so far quite simple, but can be expanded by wizards in many ways, since the standard poison_effect object is quite simple. It should be noted that the poison_effect object is only the agent of damage. Another object must give this object to the player, and start it. The main function of the poison object is to repeatedly call a function until a time limit has expired. To support this, the object is made autoloading. This prevents the players from quitting to rid themselves of the poison. Only the remaining time is stored, not the original time limit. Damage is repeatedly applied to the player until he is dead or the time limit is lifted. There are four types of poison damage supported. Hit points, fatigue and mana may all be reduced, by a maximum amount supplied by the wizard. Stats may be reduced as well. Stats are only reduced temporarily, and only by one point per "hit." A given poison might hit the player quite often, or very rarely, depending on the setings. It is hoped that this will cover most common poison situations, but if needed, all kinds of effects may be achieved by replacing the damage_player() function. For example, the poison can be made quite deadly by actually killing the player upon the timeout period expiring (or in the damage_player routine, if more randomness is desired.) The method in which the poison is activated can be widely varied. Possibilities include poisoned weapons, poison stings and bites, and poison potions. Multi-stage poisons can be made where no damage is done unless another poison type is also there. ANTIDOTES Each poison must have a type. An antidote can only apply to the correct poison type. To test for poison, one can call query_poison_type(). If this function is defined, the object is poison. Type "all" cures all poison. Any other poison type must match exactly. If you don't set the type of your poison it will be set to "standard". To actually cure the poison, call poison_effect->cure_poison(eff). This tells the poison that a cure of effectiveness 'eff' was tried on it. This will cure, depending on a formula involving the strength of the poison. The success of the cure is returned.