#ifndef WH_OBJ_RING_H_684b991f_ #define WH_OBJ_RING_H_684b991f_ #include "structs.h" /* * APIs exported by obj-ring.c. */ /* * Remove all rings a monster is wearing. Does nothing with any * inventories. */ extern void ring_remove_all(MONST *); /* * The P (put on a ring) command. */ extern void ring_put(MONST *, OBJ *); /* * The R (remove a ring) command. */ extern void ring_remove(MONST *, OBJ *); /* * Return whether a ring is being worn (true) or not (false). */ extern int ring_being_worn(OBJ *); /* * Report what ring(s), if any, the monster is wearing, in the form * of an inventory listing restricted by ring_being_worn (loosely * put). */ extern void ring_show(MONST *); /* * Make a monster stop wearing a ring. This is a no-op if the ring is * not being worn. It is a panic if object is not a ring, if the * monster is not carrying the ring, or if the ring is worn by any * other monster. */ extern void ring_stop_using(MONST *, INVOBJ *); /* * Return the answer to the question "do rings of this type have * plusses?". */ extern int ringtype_has_plusses(int); /* * Set a ring's plusses. The ring must be of a type that has plusses. */ extern void ring_set_plusses(OBJ *, int); /* * Set a ring's curse status. */ extern void ring_set_cursed(OBJ *, int); /* * Clear all rings' plusses-known bits. */ extern void ring_amnesia(void); /* * Enchant-item a ring. */ extern void ring_enchant(INVOBJ *); #endif