X-Git-Url: https://jfr.im/git/irc/gameservirc.git/blobdiff_plain/0d012394c7cb3106733f6602e28ec3f3b8e57d53..9c443e07ade40b3deb3e83d9fb651fb0490d2664:/gameserv/flags.h diff --git a/gameserv/flags.h b/gameserv/flags.h index e029463..64a5730 100644 --- a/gameserv/flags.h +++ b/gameserv/flags.h @@ -1,6 +1,8 @@ #ifndef FLAGS_H #define FLAGS_H +#include "extern.h" + /* This file contains all the flags used in the aClient and Player classes. * More flags can be added simply by going up in multiples of 2. * ie. 0001 0002 0004 0008 0010 0020 0040 0080 0100 0200 0400 0800 1000 2000 4000 @@ -27,14 +29,59 @@ */ // aClient FLAGS ONLY -#define FLAG_ADMIN 0x0001 - +#define FLAG_ADMIN 0x00000001 +#define FLAG_IGNORE 0x00000002 +#define FLAG_PLAYING 0x00000004 // PLAYER FLAGS ONLY -#define FLAG_MASTER 0x0001 +#define FLAG_MASTER 0x00000001 +#define FLAG_ALIVE 0x00000002 +#define FLAG_YOURTURN 0x00000004 +#define FLAG_WONGAME 0x00000008 +#define FLAG_DRAGONFIGHT 0x00000010 +#define FLAG_TIMEDOUT 0x00000020 + +// Config File flags +#define CFLAG_LISTENONCF 0x00000001 +#define CFLAG_USEPRIVMSG 0x00000002 +#define CFLAG_BOPER 0x00000004 +#define CFLAG_WELCOME 0x00000008 +#define CFLAG_SAVEDNOTICE 0x00000010 +#define CFLAG_USENICKSERV 0x00000020 +#define CFLAG_ROLLOVERFORESTFIGHTS 0x00000040 +#define CFLAG_FAIRFIGHTS 0x00000080 + +#define setFairFights() (configflags |= CFLAG_FAIRFIGHTS) +#define clearFairFights() (configflags &= ~CFLAG_FAIRFIGHTS) +#define isFairFights() (configflags & CFLAG_FAIRFIGHTS) + +#define setRolloverForestFights() (configflags |= CFLAG_ROLLOVERFORESTFIGHTS) +#define clearRolloverForestFights() (configflags &= ~CFLAG_ROLLOVERFORESTFIGHTS) +#define isRolloverForestFights() (configflags & CFLAG_ROLLOVERFORESTFIGHTS) + +#define setUseNickServ() (configflags |= CFLAG_USENICKSERV) +#define clearUseNickServ() (configflags &= ~CFLAG_USENICKSERV) +#define isUseNickServ() (configflags & CFLAG_USENICKSERV) +#define setSavedNotice() (configflags |= CFLAG_SAVEDNOTICE) +#define clearSavedNotice() (configflags &= ~CFLAG_SAVEDNOTICE) +#define isSavedNotice() (configflags & CFLAG_SAVEDNOTICE) +#define setWelcome() (configflags |= CFLAG_WELCOME) +#define clearWelcome() (configflags &= ~CFLAG_WELCOME) +#define isWelcome() (configflags & CFLAG_WELCOME) +#define setListenOnCF() (configflags |= CFLAG_LISTENONCF) +#define clearListenOnCF() (configflags &= ~CFLAG_LISTENONCF) +#define isListenOnCF() (configflags & CFLAG_LISTENONCF) + +#define setUsePrivmsg() (configflags |= CFLAG_USEPRIVMSG) +#define clearUsePrivmsg() (configflags &= ~CFLAG_USEPRIVMSG) +#define isUsePrivmsg() (configflags & CFLAG_USEPRIVMSG) + +#define setBOper() (configflags |= CFLAG_BOPER) +#define clearBOPer() (configflags &= ~CFLAG_BOPER) +#define isBOper() (configflags & CFLAG_BOPER) // aClient flags // #define ADMIN_FLAGS(FLAG_ONE | FLAG_TWO | FLAG_ETC) @@ -46,11 +93,37 @@ #define clearAdminFlags(x) ((x)->remFlag(ADMIN_FLAGS)) +#define setIgnore(x) ((x)->addFlag(FLAG_IGNORE)) +#define clearIgnore(x) ((x)->remFlag(FLAG_IGNORE)) +#define isIgnore(x) ((x)->getFlags() & FLAG_IGNORE) && !isAdmin(x) + +#define setPlaying(x) ((x)->addFlag(FLAG_PLAYING)) +#define clearPlaying(x) ((x)->remFlag(FLAG_IGNORE)) +#define FL_is_playing(x) ((x)->getFlags() & FLAG_PLAYING) // Player Flags -#define seenMaster(x) ((x)->getFlags() & FLAG_MASTER) -#define setMaster(x) ((x)->addFlag(FLAG_MASTER)) -#define clearMaster(x) ((x)->remFlag(FLAG_MASTER)) +#define PF_timedout(x) ((x)->getFlags() & FLAG_TIMEDOUT) +#define PF_settimedout(x) ((x)->addFlag(FLAG_TIMEDOUT)) +#define PF_cleartimedout(x) ((x)->remFlag(FLAG_TIMEDOUT)) + +#define seenMaster(x) ((x)->getFlags() & FLAG_MASTER) +#define setMaster(x) ((x)->addFlag(FLAG_MASTER)) +#define clearMaster(x) ((x)->remFlag(FLAG_MASTER)) + +#define isAlive(x) ((x)->getFlags() & FLAG_ALIVE) +#define setAlive(x) ((x)->addFlag(FLAG_ALIVE)) +#define clearAlive(x) ((x)->remFlag(FLAG_ALIVE)) + +#define isYourTurn(x) ((x)->getFlags() & FLAG_YOURTURN) +#define setYourTurn(x) ((x)->addFlag(FLAG_YOURTURN)) +#define clearYourTurn(x) ((x)->remFlag(FLAG_YOURTURN)) + +#define hasWonGame(x) ((x)->getFlags() & FLAG_WONGAME) +#define setWonGame(x) ((x)->addFlag(FLAG_WONGAME)) +#define clearWonGame(x) ((x)->remFlag(FLAG_WONGAME)) +#define isDragonFight(x) ((x)->getFlags() & FLAG_DRAGONFIGHT) +#define setDragonFight(x) ((x)->addFlag(FLAG_DRAGONFIGHT)) +#define clearDragonFight(x) ((x)->remFlag(FLAG_DRAGONFIGHT)) #endif