Firstly, could TAR_OBJ_EQUIP not use generic_find?
Well, anyway, here's the fix for the previously reported problem:
diff -uprN -x *.o ../stk/handler.c ./handler.c
--- ../stk/handler.c Wed Oct 29 00:16:25 1997
+++ ./handler.c Mon Dec 1 21:52:50 1997
@@ -1174,7 +1174,8 @@ int generic_find(char *arg, int bitvecto
}
if (IS_SET(bitvector, FIND_OBJ_EQUIP)) {
for (found = FALSE, i = 0; i < NUM_WEARS && !found; i++)
- if (GET_EQ(ch, i) && isname(name, GET_EQ(ch, i)->name)) {
+ if (GET_EQ(ch, i) && CAN_SEE_OBJ(ch, GET_EQ(ch, i)) &&
+ isname(name, GET_EQ(ch, i)->name))
{
*tar_obj = GET_EQ(ch, i);
found = TRUE;
}
diff -uprN -x *.o ../stk/spell_parser.c ./spell_parser.c
--- ../stk/spell_parser.c Wed Oct 29 00:16:29 1997
+++ ./spell_parser.c Mon Dec 1 21:55:05 1997
@@ -672,7 +672,8 @@ ACMD(do_cast)
if (!target && IS_SET(SINFO.targets, TAR_OBJ_EQUIP)) {
for (i = 0; !target && i < NUM_WEARS; i++)
- if (GET_EQ(ch, i) && isname(t, GET_EQ(ch, i)->name)) {
+ if (GET_EQ(ch, i) && CAN_SEE_OBJ(ch, GET_EQ(ch, i)) &&
+ isname(t, GET_EQ(ch, i)->name)) {
tobj = GET_EQ(ch, i);
target = TRUE;
}
I have tested it and it works.
--
George Greer - Me@Null.net | Genius may have its limitations, but stupidity
http://www.van.ml.org/~greerga | is not thus handicapped. -- Elbert Hubbard
+------------------------------------------------------------+
| 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