You'll have to add a new variable to obj_flag_data in structs.h. 2
approaches that I can think of will work.
1) Make a completely new variable.
2) Increase the # of 'values' that all items have.
Either method will consume the same amount of memory. The 2nd method will
allow you to add other parameters to your objects as well as ITEM_WEAPON.
The 'values' are integers in stock and can handle up to 32 flags in a 32bit
compiler/opsys.
Create a new set of bit flags in structs.h for your weapons like
WPN_SLYUNDEAD (1 << 0)
WPN_SLYOOZE (1 << 1)
etc...
Make a new macro in utils.h (not necessary, but handy). I'll assume you
chose option #2.
#define WPN_FLAGS(obj) ((obj)->obj_flags.value[4])
#define WPN_FLAGGED(obj, flag) (IS_SET(WPN_FLAGS(obj), (flag)))
Then you'll have to change your object files to have 1 more parameter on the
numeric line that the rest of the obj values are on in db.c.
parse_object():
if ((retval = sscanf(line, "%d %d %d %d %d", t, t + 1, t + 2, t + 3, t +
4)) != 5) {
log("SYSERR: Format error in second numeric line (expecting 4 args, got
%d), %s", retval, buf2);
exit(1);
}
obj_proto[i].obj_flags.value[0] = t[0];
obj_proto[i].obj_flags.value[1] = t[1];
obj_proto[i].obj_flags.value[2] = t[2];
obj_proto[i].obj_flags.value[3] = t[3];
obj_proto[i].obj_flags.value[3] = t[4];
If you have OasisOLC, then change oedit.c, oedit_save_to_disk. I'll let you
figure out how.
The rest is up to you, making checks on the WPN_FLAGGED and whatnot.
Have fun,
Rick
-----Original Message-----
From: Shane Augustine <sca@bu.edu>
To: CIRCLE@post.queensu.ca <CIRCLE@post.queensu.ca>
Date: Friday, February 19, 1999 8:09 PM
Subject: weapon flags
>I want to create weapon flags so these flags will only affect weapons
>and not
>other objs. It is a waste of flags using item_undead_slayer for obj
>flags when this
>flag is only affective on weapons. How would i go about adding
>specialized flags
>for only objs?
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST