Skip to content

Commit

Permalink
Merge pull request #19 from drskinner/COV-0060
Browse files Browse the repository at this point in the history
COV-0060: add object nolongdesc flag
  • Loading branch information
Myles Skinner committed Oct 26, 2017
2 parents 7cbdb19 + 3838079 commit dfd55da
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 10 deletions.
18 changes: 14 additions & 4 deletions src/act_info.c
Expand Up @@ -303,8 +303,14 @@ char *format_obj_to_char(OBJ_DATA * obj, CHAR_DATA * ch, bool fShort)
mudstrlcat(buf, "(Hidden) ", MAX_STRING_LENGTH);
if (IS_OBJ_STAT(obj, ITEM_BURIED))
mudstrlcat(buf, "(Buried) ", MAX_STRING_LENGTH);
if (IS_IMMORTAL(ch) && IS_OBJ_STAT(obj, ITEM_PROTOTYPE))
mudstrlcat(buf, "(PROTO) ", MAX_STRING_LENGTH);

if (IS_IMMORTAL(ch)) {
if (IS_OBJ_STAT(obj, ITEM_PROTOTYPE))
mudstrlcat(buf, "(PROTO) ", MAX_STRING_LENGTH);
if (IS_OBJ_STAT(obj, ITEM_NOLONGDESC))
mudstrlcat(buf, "(No Long) ", MAX_STRING_LENGTH);
}

if ((IS_AFFECTED(ch, AFF_DETECTTRAPS) || xIS_SET(ch->act, PLR_HOLYLIGHT)) && is_trapped(obj))
mudstrlcat(buf, "(Trap) ", MAX_STRING_LENGTH);

Expand Down Expand Up @@ -544,8 +550,12 @@ void show_list_to_char(OBJ_DATA * list, CHAR_DATA * ch, bool fShort, bool fShowN
nShow++;
--tmp;
}
if (obj->wear_loc == WEAR_NONE
&& can_see_obj(ch, obj) && (obj->item_type != ITEM_TRAP || IS_AFFECTED(ch, AFF_DETECTTRAPS)))

if ((obj->wear_loc == WEAR_NONE)
&& (can_see_obj(ch, obj))
&& (obj->item_type != ITEM_TRAP || IS_AFFECTED(ch, AFF_DETECTTRAPS))
&& (!IS_OBJ_STAT(obj, ITEM_NOLONGDESC) || IS_BUILDER(ch))
)
{
pstrShow = format_obj_to_char(obj, ch, fShort);
fCombine = FALSE;
Expand Down
2 changes: 1 addition & 1 deletion src/build.c
Expand Up @@ -73,7 +73,7 @@ const char *const r_flags[] = {
};

const char *const o_flags[] = {
"glow", "hum", "dark", "loyal", "evil", "invis", "magic", "nodrop", "bless",
"glow", "hum", "dark", "nolongdesc", "evil", "invis", "magic", "nodrop", "bless",
"antigood", "antievil", "antineutral", "noremove", "inventory",
"antimage", "antithief", "antiwarrior", "anticleric", "organic", "metal",
"donation", "clanobject", "clancorpse", "antivampire", "antidruid",
Expand Down
4 changes: 2 additions & 2 deletions src/handler.c
Expand Up @@ -3788,8 +3788,8 @@ const char *extra_bit_name(EXT_BV * extra_flags)
mudstrlcat(buf, " hum", 512);
if (xIS_SET(*extra_flags, ITEM_DARK))
mudstrlcat(buf, " dark", 512);
if (xIS_SET(*extra_flags, ITEM_LOYAL))
mudstrlcat(buf, " loyal", 512);
if (xIS_SET(*extra_flags, ITEM_NOLONGDESC))
mudstrlcat(buf, " nolongdesc", 512);
if (xIS_SET(*extra_flags, ITEM_EVIL))
mudstrlcat(buf, " evil", 512);
if (xIS_SET(*extra_flags, ITEM_INVIS))
Expand Down
3 changes: 2 additions & 1 deletion src/mud.h
Expand Up @@ -1699,7 +1699,7 @@ typedef enum
*/
typedef enum
{
ITEM_GLOW, ITEM_HUM, ITEM_DARK, ITEM_LOYAL, ITEM_EVIL, ITEM_INVIS, ITEM_MAGIC,
ITEM_GLOW, ITEM_HUM, ITEM_DARK, ITEM_NOLONGDESC, ITEM_EVIL, ITEM_INVIS, ITEM_MAGIC,
ITEM_NODROP, ITEM_BLESS, ITEM_ANTI_GOOD, ITEM_ANTI_EVIL, ITEM_ANTI_NEUTRAL,
ITEM_NOREMOVE, ITEM_INVENTORY, ITEM_ANTI_MAGE, ITEM_ANTI_THIEF,
ITEM_ANTI_WARRIOR, ITEM_ANTI_CLERIC, ITEM_ORGANIC, ITEM_METAL, ITEM_DONATION,
Expand Down Expand Up @@ -3286,6 +3286,7 @@ void ext_toggle_bits args((EXT_BV * var, EXT_BV * bits));
*/
#define IS_NPC(ch) (xIS_SET((ch)->act, ACT_IS_NPC))
#define IS_IMMORTAL(ch) (get_trust((ch)) >= LEVEL_IMMORTAL)
#define IS_BUILDER(ch) (get_trust((ch)) >= LEVEL_CREATOR)
#define IS_HERO(ch) (get_trust((ch)) >= LEVEL_HERO)
#define IS_AFFECTED(ch, sn) (xIS_SET((ch)->affected_by, (sn)))
#define HAS_BODYPART(ch, part) ((ch)->xflags == 0 || IS_SET((ch)->xflags, (part)))
Expand Down
3 changes: 1 addition & 2 deletions src/skills.c
Expand Up @@ -3742,7 +3742,6 @@ void do_feed(CHAR_DATA* ch, const char* argument)
/*
* Disarm a creature.
* Caller must check for successful attack.
* Check for loyalty flag (weapon disarms to inventory) for pkillers -Blodkai
*/
void disarm(CHAR_DATA * ch, CHAR_DATA * victim)
{
Expand Down Expand Up @@ -3791,7 +3790,7 @@ void disarm(CHAR_DATA * ch, CHAR_DATA * victim)
obj->action_desc = STRALLOC(buf);
}

if (IS_NPC(victim) || (IS_OBJ_STAT(obj, ITEM_LOYAL) && IS_PKILL(victim) && !IS_NPC(ch)))
if (IS_NPC(victim) || (IS_PKILL(victim) && !IS_NPC(ch)))
{
obj_to_char(obj, victim);
STRFREE(obj->action_desc); /* Rather do this kludgy stuff than try to test all circumstances */
Expand Down

0 comments on commit dfd55da

Please sign in to comment.