> Is there any way that i can create an item, say a "magic leaf" that if
a
> certain class eats it, they gain 10hp, but if any other class eats it,
> they lose 10hp?
Yes, it's possible.  You probably want to make an object extra flag
like:
#define ITEM_MAGIC_FOOD   (1 << 17) /* Food gives extra energy */
Then when you create your item, make it food, but with the new flag set.
Also include ITEM_ANTI_<class> flags, and then modify ACMD(do_eat) in
act.item.c:
...
  gain_condition(ch, FULL, amount);
  if (GET_COND(ch, FULL) > 20)
    send_to_char("You are full.\r\n", ch);
+ if (OBJ_FLAGGED(food, ITEM_MAGIC_FOOD)) {
+    if (invalid_class(ch, food)) {
+       /* Code here to lose hp */
+    } else {
+       /* Code here to gain hp */
+    }
+  }
Turns out I'm a bit short on time just now, so if someone wants to fill
in the details, feel free.
Mike
--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   | Newbie List:  http://groups.yahoo.com/group/circle-newbies/   |
   +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/25/03 PDT