> 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