/**************************************************************************** * [S]imulated [M]edieval [A]dventure multi[U]ser [G]ame | * * -----------------------------------------------------------| \\._.// * * SmaugWiz (C) 1998 by Russ Pillsbury (Windows NT version) | (0...0) * * -----------------------------------------------------------| ).:.( * * SMAUG (C) 1994, 1995, 1996 by Derek Snider | {o o} * * -----------------------------------------------------------| / ' ' \ * * SMAUG code team: Thoric, Altrag, Blodkai, Narn, Haus, |~'~.VxvxV.~'~* * Scryn, Swordbearer, Rennard, Tricops, and Gorog. | * * ------------------------------------------------------------------------ * * Merc 2.1 Diku Mud improvments copyright (C) 1992, 1993 by Michael * * Chastain, Michael Quan, and Mitchell Tse. * * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik Staerfeldt, Tom Madsen, and Katja Nyboe. * * ------------------------------------------------------------------------ * * Extra Flags Interface file * ***************************************************************************/ #ifndef EXTRAFLAGS_H #define EXTRAFLAGS_H #ifndef BITVECTOR_H #include "BitVector.h" #endif // Extra flags. // Used in #OBJECTS. Note that the following values are now unused: //#define ITEM_ANTI_MAGE BV14 //#define ITEM_ANTI_THIEF BV15 //#define ITEM_ANTI_WARRIOR BV16 //#define ITEM_ANTI_CLERIC BV17 //#define ITEM_ANTI_VAMPIRE BV23 //#define ITEM_ANTI_DRUID BV24 enum ItemExtraFlags { ITEM_GLOW, ITEM_HUM, ITEM_DARK, ITEM_LOYAL, 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, ITEM_CLANOBJECT, ITEM_CLANCORPSE, ITEM_ANTI_VAMPIRE, ITEM_ANTI_DRUID, ITEM_HIDDEN, ITEM_POISONED, ITEM_COVERING, ITEM_DEATHROT, ITEM_BURIED, ITEM_PROTOTYPE, ITEM_NOLOCATE, ITEM_GROUNDROT, MAX_ITEM_FLAGS }; #ifdef SMAUGSERVER_CPP const char* ItemFlagNames [MAX_ITEM_FLAGS] = { "glow", "hum", "dark", "loyal", "evil", "invis", "magic", "nodrop", "bless", "antigood", "antievil", "antineutral", "noremove", "inventory", "antimage", "antithief", "antiwarrior", "anticleric", "organic", "metal", "donation", "clanobject", "clancorpse", "antivampire", "antidruid", "hidden", "poisoned", "covering", "deathrot", "buried", "prototype", "nolocate", "groundrot" }; #endif extern const char* ItemFlagNames [MAX_ITEM_FLAGS]; class CExtraFlags : public CBitVector { public: CExtraFlags GetActFlags () { return *this; } void SetActFlags (const CExtraFlags& f) { *this = f; } CString PrintString () { return CBitVector::PrintString (ItemFlagNames, DIM (ItemFlagNames)); } BOOL IsGlowing () const { return IsSet (ITEM_GLOW); } void SetGlowing () { SetBit (ITEM_GLOW); } void ClrGlowing () { ClrBit (ITEM_GLOW); } BOOL IsHumming () const { return IsSet (ITEM_HUM); } void SetHumming () { SetBit (ITEM_HUM); } void ClrHumming () { ClrBit (ITEM_HUM); } BOOL IsDark () const { return IsSet (ITEM_DARK); } void SetDark () { SetBit (ITEM_DARK); } void ClrDark () { ClrBit (ITEM_DARK); } BOOL IsLoyal () const { return IsSet (ITEM_LOYAL); } void SetLoyal () { SetBit (ITEM_LOYAL); } void ClrLoyal () { ClrBit (ITEM_LOYAL); } BOOL IsEvil () const { return IsSet (ITEM_EVIL); } void SetEvil () { SetBit (ITEM_EVIL); } void ClrEvil () { ClrBit (ITEM_EVIL); } BOOL IsInvisible () const { return IsSet (ITEM_INVIS); } void SetInvisible () { SetBit (ITEM_INVIS); } void ClrInvisible () { ClrBit (ITEM_INVIS); } BOOL IsMagic () const { return IsSet (ITEM_MAGIC); } void SetMagic () { SetBit (ITEM_MAGIC); } void ClrMagic () { ClrBit (ITEM_MAGIC); } BOOL IsNoDrop () const { return IsSet (ITEM_NODROP); } void SetNoDrop () { SetBit (ITEM_NODROP); } void ClrNoDrop () { ClrBit (ITEM_NODROP); } BOOL IsBlessed () const { return IsSet (ITEM_BLESS); } void SetBlessed () { SetBit (ITEM_BLESS); } void ClrBlessed () { ClrBit (ITEM_BLESS); } BOOL IsAntiGood () const { return IsSet (ITEM_ANTI_GOOD); } void SetAntiGood () { SetBit (ITEM_ANTI_GOOD); } void ClrAntiGood () { ClrBit (ITEM_ANTI_GOOD); } BOOL IsAntiEvil () const { return IsSet (ITEM_ANTI_EVIL); } void SetAntiEvil () { SetBit (ITEM_ANTI_EVIL); } void ClrAntiEvil () { ClrBit (ITEM_ANTI_EVIL); } BOOL IsAntiNeutral () const { return IsSet (ITEM_ANTI_NEUTRAL); } void SetAntiNeutral () { SetBit (ITEM_ANTI_NEUTRAL); } void ClrAntiNeutral () { ClrBit (ITEM_ANTI_NEUTRAL); } BOOL IsNoRemove () const { return IsSet (ITEM_NOREMOVE); } void SetNoRemove () { SetBit (ITEM_NOREMOVE); } void ClrNoRemove () { ClrBit (ITEM_NOREMOVE); } BOOL IsInventory () const { return IsSet (ITEM_INVENTORY); } void SetInventory () { SetBit (ITEM_INVENTORY); } void ClrInventory () { ClrBit (ITEM_INVENTORY); } BOOL IsAntiMage () const { return IsSet (ITEM_ANTI_MAGE); } void SetAntiMage () { SetBit (ITEM_ANTI_MAGE); } void ClrAntiMage () { ClrBit (ITEM_ANTI_MAGE); } BOOL IsAntiThief () const { return IsSet (ITEM_ANTI_THIEF); } void SetAntiThief () { SetBit (ITEM_ANTI_THIEF); } void ClrAntiThief () { ClrBit (ITEM_ANTI_THIEF); } BOOL IsAntiWarrior () const { return IsSet (ITEM_ANTI_WARRIOR); } void SetAntiWarrior () { SetBit (ITEM_ANTI_WARRIOR); } void ClrAntiWarrior () { ClrBit (ITEM_ANTI_WARRIOR); } BOOL IsAntiCleric () const { return IsSet (ITEM_ANTI_CLERIC); } void SetAntiCleric () { SetBit (ITEM_ANTI_CLERIC); } void ClrAntiCleric () { ClrBit (ITEM_ANTI_CLERIC); } BOOL IsOrganic () const { return IsSet (ITEM_ORGANIC); } void SetOrganic () { SetBit (ITEM_ORGANIC); } void ClrOrganic () { ClrBit (ITEM_ORGANIC); } BOOL IsMetal () const { return IsSet (ITEM_METAL); } void SetMetal () { SetBit (ITEM_METAL); } void ClrMetal () { ClrBit (ITEM_METAL); } BOOL IsDonation () const { return IsSet (ITEM_DONATION); } void SetDonation () { SetBit (ITEM_DONATION); } void ClrDonation () { ClrBit (ITEM_DONATION); } BOOL IsClanObject () const { return IsSet (ITEM_CLANOBJECT); } void SetClanObject () { SetBit (ITEM_CLANOBJECT); } void ClrClanObject () { ClrBit (ITEM_CLANOBJECT); } BOOL IsClanCorpse () const { return IsSet (ITEM_CLANCORPSE); } void SetClanCorpse () { SetBit (ITEM_CLANCORPSE); } void ClrClanCorpse () { ClrBit (ITEM_CLANCORPSE); } BOOL IsAntiVampire () const { return IsSet (ITEM_ANTI_VAMPIRE); } void SetAntiVampire () { SetBit (ITEM_ANTI_VAMPIRE); } void ClrAntiVampire () { ClrBit (ITEM_ANTI_VAMPIRE); } BOOL IsAntiDruid () const { return IsSet (ITEM_ANTI_DRUID); } void SetAntiDruid () { SetBit (ITEM_ANTI_DRUID); } void ClrAntiDruid () { ClrBit (ITEM_ANTI_DRUID); } BOOL IsHidden () const { return IsSet (ITEM_HIDDEN); } void SetHidden () { SetBit (ITEM_HIDDEN); } void ClrHidden () { ClrBit (ITEM_HIDDEN); } BOOL IsPoisoned () const { return IsSet (ITEM_POISONED); } void SetPoisoned () { SetBit (ITEM_POISONED); } void ClrPoisoned () { ClrBit (ITEM_POISONED); } BOOL IsCovering () const { return IsSet (ITEM_COVERING); } void SetCovering () { SetBit (ITEM_COVERING); } void ClrCovering () { ClrBit (ITEM_COVERING); } BOOL IsDeathrot () const { return IsSet (ITEM_DEATHROT); } void SetDeathrot () { SetBit (ITEM_DEATHROT); } void ClrDeathrot () { ClrBit (ITEM_DEATHROT); } BOOL IsBuried () const { return IsSet (ITEM_BURIED); } void SetBuried () { SetBit (ITEM_BURIED); } void ClrBuried () { ClrBit (ITEM_BURIED); } BOOL IsPrototype () const { return IsSet (ITEM_PROTOTYPE); } void SetPrototype () { SetBit (ITEM_PROTOTYPE); } void ClrPrototype () { ClrBit (ITEM_PROTOTYPE); } BOOL IsNoLocate () const { return IsSet (ITEM_NOLOCATE); } void SetNoLocate () { SetBit (ITEM_NOLOCATE); } void ClrNoLocate () { ClrBit (ITEM_NOLOCATE); } BOOL IsGroundRot () const { return IsSet (ITEM_GROUNDROT); } void SetGroundRot () { SetBit (ITEM_GROUNDROT); } void ClrGroundRot () { ClrBit (ITEM_GROUNDROT); } }; #endif