Ok... here's how we did object flags so that certain classes can't
use objects... We had a hack in place, but this one works better
if you're going to add classes later.
1) Go into structs.h. Search for the following line:
#define ITEM_NOINVIS (1 << 14) /* not allowed to cast invis on */
After this line, add the following:
#define ITEM_NOMGAE (1 << 15)
#define ITEM_NOCLERIC (1 << 16)
#define ITEM_NOTHIEF (1 << 17)
#define ITEM_NOWARRIOR (1 << 18)
2) Go into handler.c and find the following line in equip_char().
if ((IS_OBJ_STAT(obj, ITEM_ANTI_EVIL) && IS_EVIL(ch)) ||
Add this block above the ANTI_EVIL line:
if (((IS_OBJ_STAT(obj, ITEM_NOMAGE) && GET_CLASS(ch) == CLASS_MAGIC_USER) ||
(IS_OBJ_STAT(obj, ITEM_NOCLERIC) && GET_CLASS(ch) == CLASS_CLERIC) ||
(IS_OBJ_STAT(obj, ITEM_NOTHIEF) && GET_CLASS(ch) == CLASS_THIEF) ||
(IS_OBJ_STAT(obj, ITEM_NOWARRIOR) && GET_CLASS(ch) == CLASS_WARRIOR))
&& !IS_NPC(ch)) {
sprintf(buf, "You have no idea how to use this %s.\n\r",
fname(obj->name));
send_to_char(buf, ch);
return;
}
That should do it!
-Jeff
>
>
This archive was generated by hypermail 2b30 : 12/07/00 PST