untermud/DOC/
untermud/DOC/U/
untermud/DOC/U/U-examples/
untermud/DOC/internals/
untermud/DOC/wizard/
untermud/MISC/
untermud/MISC/dbchk/
untermud/RWHO/
untermud/RWHO/rwhod/
#ifndef _INCL_VAR_H

typedef struct {
  char *vnam;                   /* actual attribute name */
  char *vlong;                  /* long "readable" name */
  char *deftyp;                 /* default type (unless specified) */
  int flg;                      /* various flags */
  char *desc;                   /* description of attribute */
} VarTab;
extern VarTab vtab[];

typedef struct {
  char *tnam;
} TypTab;
extern TypTab ttab[];

/* variable flags */
#define VAR_PRIV    001     /* wiz-only can set */
#define VAR_MTYP    002     /* can be more than one type */
#define VAR_PRIVPLY 004     /* only wizzes can set this for players */
#define VAR_PUBLIC  010     /* can be seen with $thing.attrib */
#define VAR_LOC_PUBLIC  020     /* can be seen with $thing.attrib, if it's
                                   nearby */

#define LOC_PUB_COOKIE '+'      /* Attributes starting with this char are
                                   automagically LOC_PUBLIC */


/* extern declarations of data types */
extern char typ_cmd[];          /* UnterMUD command */
extern char typ_str[];          /* string data */
extern char typ_int[];          /* integer */
extern char typ_list[];         /* semicolon separated object ID list */
extern char typ_bool[];         /* boolean string */
extern char typ_obj[];          /* single object ID */
extern char typ_flag[];         /* true/false flag */
extern char typ_u[];            /* U-code */


/* extern declarations of attribute names */
extern char var_loc[];          /* location */
extern char var_cont[];         /* contents */
extern char var_using[];        /* object is using something */
extern char var_ply[];          /* players */
extern char var_xit[];          /* exits */
extern char var_dest[];         /* destination of exit */
extern char var_dropto[];       /* dropto destination on a room */
extern char var_lock[];         /* boolean lock */
extern char var_jump[];         /* boolean JUMPOK */
extern char var_link[];         /* boolean LINKOK for rooms */
extern char var_nam[];          /* name */
extern char var_desc[];         /* description */
extern char var_text[];         /* text (written on thing) */
extern char var_pass[];         /* password */
extern char var_wiz[];          /* wizard bit */
extern char var_fail[];         /* fail string/command */
extern char var_ofail[];        /* ofail string/command */
extern char var_succ[];         /* success string/command */
extern char var_osucc[];        /* osuccess string/command */
extern char var_drop[];         /* drop string/command */
extern char var_odrop[];        /* odrop string/command */
extern char var_owner[];        /* object's owner (if owned) */
extern char var_isplay[];       /* object is actually a player */
extern char var_isroom[];       /* object is a room */
extern char var_islocal[];      /* object cannot move between muds */
extern char var_isdark[];       /* dark flag */
extern char var_newsart[];      /* currently-read news article */
extern char var_subive[];       /* subjective pronoun */
extern char var_Subve[];        /* subjective pronoun (capitalized) */
extern char var_objive[];       /* objective pronoun */
extern char var_Objve[];        /* objective pronoun (capitalized) */
extern char var_posive[];       /* possessive pronoun */
extern char var_Posve[];        /* possessive pronoun (capitalized) */
extern char var_home[];         /* "home" for the object */
extern char var_linkmsg[];      /* portal message for a moved player */
extern char var_wearing[];      /* clothes */


#ifdef  COMBAT
extern char var_strength[];     /* physical strength */
extern char var_Strength[];     /* MAX strength */
extern char var_endurance[];    /* resistance to punishment */
extern char var_Endurance[];    /* MAX resistance to punishment */
extern char var_willpower[];    /* mental strength */
extern char var_Willpower[];    /* MAX mental strength */
extern char var_agility[];      /* quickness */
extern char var_Agility[];      /* MAX quickness */
extern char var_magic[];        /* magical strength */
extern char var_Magic[];        /* MAX magical strength */
extern char var_action[];       /* action points */
extern char var_Action[];       /* MAX action points */
extern char var_power[];        /* unassigned power */
extern char var_counters[];     /* counterattack list */
extern char var_lastupd[];      /* last time state was updated */
extern char var_lasthit[];      /* obj that last hit this obj */
extern char var_lastatt[];      /* obj that last attacked this obj */
extern char var_weapon[];       /* offensive object (one) */
extern char var_isweapon[];     /* flagged as weapon */
extern char var_isarmor[];      /* flagged as armor */
extern char var_isdead[];       /* player killed by something */
#endif


/* VITALLY important system object definitions */
extern char system_object[];    /* name of the system object */
extern char var_objcnt[];       /* highest existing local obj # */
extern char var_syslimbo[];     /* where lost toys go */
extern char var_wizs[];         /* list of legit wizards */
extern char var_bsequence[];    /* backup sequence number */

extern char newusers;           /* Allow newusers on? */

#define _INCL_VAR_H
#endif