/*
* 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);