I've tinkered with the material item myself, and found I wanted a lot more materials available than a bitvector could hold :P I ended up using bitfields (but then, I use bitfields for everything! :) With integers, you could always just add a new integer: "Steel and wood", which would work as well as steel | wood. You would just have to be careful about updating everything to account for the new integer. So, you might have an IS_STEEL(obj) macro which would have to be added to if you added a new "steel and xentronium" integer. Not as convenient in that sense, but the unlimited material types should more than offset any such inconvenience. >---------- >From: Whitey[SMTP:zacker@ACSU.BUFFALO.EDU] >Sent: Friday, November 21, 1997 11:06 AM >To: CIRCLE@POST.QUEENSU.CA >Subject: Re: adding new levels gone off topic, and onto flaming > >On Thu, 20 Nov 1997, John Evans wrote: >[SNIP] >> >> Also in structs.h add lines like: >> #define ITEM_MAT_UNDEFINED -1 >> #define ITEM_MAT_LEATHER 0 >> #define ITEM_MAT_SILVER 1 >> #define ITEM_MAT_IRON 2 >> #define etc..... > >You may want to define these as bitvectors, so a certain object can have >several material types. Such as a steel axe with a wooden handle, or a >studded leather jacket. Just a thought. > >Whitey > > > +------------------------------------------------------------+ > | Ensure that you have read the CircleMUD Mailing List FAQ: | > | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | > +------------------------------------------------------------+ > +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/08/00 PST