hof/data/
hof/log/
hof/notes/
/*
 * windgate.h
 */

/* Symbol defines for usage of the Windgates */
#define SYMBOL_NONE         0
#define SYMBOL_SQUARE       1
#define SYMBOL_TRIANGLE     2
#define SYMBOL_RECTANGLE    3
#define SYMBOL_CIRCLE       4
#define SYMBOL_STAR         5
#define SYMBOL_PENTAGON     6
#define SYMBOL_LINE         7
#define SYMBOL_SUN          8
#define SYMBOL_MOON         9
#define SYMBOL_HAND         10
#define MAX_SYMBOL          11

#define MAX_GATES           2

/* Worded define for easy reading */
#define NO_MIN_LEVEL        1

/* Table structure */
struct windgate_type
{
    char    * name;     /* Name to where it goes        */
    int     vnum;       /* What vnum their location is  */
    int     symbol[3];  /* the 4 symbols used travel    */
    int     min_level;  /* Min level to activate it     */
    bool    disabled;   /* is it disabled?              */
    bool    to_wild;    /* Does it go to the wildnerness*/
    int     x;          /* if to_wild, what X           */
    int     y;          /* if to_wild, what Y           */
};

struct symbol_type
{
    char    * name;
    int     symbol;
    char    * press_string;
};

extern const struct windgate_type windgate_table [];
extern const struct symbol_type symbol_table [];

/* Stuff */
void do_press              (CHAR_DATA * ch, char *argument);
void fix_lights             (CHAR_DATA * ch, OBJ_DATA * obj, int symbol);
void reset_windgate         (CHAR_DATA * ch, OBJ_DATA * obj);
void check_valid_sequence   (CHAR_DATA * ch, OBJ_DATA * obj);
void do_windgate           (CHAR_DATA * ch, char *argument);
char * return_gatesymbol    (int symbol);