diff --git a/src/act.wizard.c b/src/act.wizard.c index 9dd1037..19535a1 100644 --- a/src/act.wizard.c +++ b/src/act.wizard.c @@ -1960,7 +1960,7 @@ static void perform_immort_invis(struct char_data *ch, int level) struct char_data *tch; for (tch = world[IN_ROOM(ch)].people; tch; tch = tch->next_in_room) { - if (tch == ch) + if (tch == ch || IS_NPC(tch)) continue; if (GET_ADMLEVEL(tch) >= GET_INVIS_LEV(ch) && GET_ADMLEVEL(tch) < level) act("You blink and suddenly realize that $n is gone.", FALSE, ch, 0, diff --git a/src/ibt.c b/src/ibt.c index ed8c8ff..b520fb3 100755 --- a/src/ibt.c +++ b/src/ibt.c @@ -1074,7 +1074,7 @@ void ibtedit_parse(struct descriptor_data *d, char *arg) case IBTEDIT_FLAGS: if ((i = atoi(arg)) <= 0) break; - else if (i <= NUM_MOB_FLAGS) + else if (i <= NUM_IBT_FLAGS) TOGGLE_BIT_AR(IBT_FLAGS(OLC_IBT(d)), (i - 1)); ibtedit_disp_flags(d); return; diff --git a/src/magic.c b/src/magic.c index b67c110..4f863ea 100644 --- a/src/magic.c +++ b/src/magic.c @@ -912,7 +912,7 @@ void mag_alter_objs(int level, struct char_data *ch, struct obj_data *obj, } break; case SPELL_INVISIBLE: - if (!OBJ_FLAGGED(obj, ITEM_NOINVIS) || !OBJ_FLAGGED(obj, ITEM_INVISIBLE)) { + if (!OBJ_FLAGGED(obj, ITEM_NOINVIS) && !OBJ_FLAGGED(obj, ITEM_INVISIBLE)) { SET_BIT_AR(GET_OBJ_EXTRA(obj), ITEM_INVISIBLE); to_char = "$p vanishes."; }