/**************************************************************************/
// channels.h - header for channel related functions
/***************************************************************************
* The Dawn of Time v1.69r (c)1997-2004 Michael Garratt *
* >> A number of people have contributed to the Dawn codebase, with the *
* majority of code written by Michael Garratt - www.dawnoftime.org *
* >> To use this source code, you must fully comply with the dawn license *
* in licenses.txt... In particular, you may not remove this copyright *
* notice. *
**************************************************************************/
#ifndef CHANNELS_H
#define CHANNELS_H
#define CHANNEL_ADMINTALK (A)
#define CHANNEL_CODETALK (B)
#define CHANNEL_FLAME (C)
#define CHANNEL_GSOCIAL (D)
#define CHANNEL_GRATS (E)
#define CHANNEL_HIGHTALK (F)
#define CHANNEL_IC (G)
#define CHANNEL_IMMTALK (H)
#define CHANNEL_INFO (I)
#define CHANNEL_MYTHOSTALK (J)
#define CHANNEL_NEWBIETALK (K)
#define CHANNEL_NOBLETALK (M)
#define CHANNEL_OOC (N)
#define CHANNEL_QA (O)
#define CHANNEL_QUIET (P)
#define CHANNEL_TELLS (Q)
#define CHANNEL_CLANTALK (Q)
#define CHANNEL_CHAT (R)
#define CHANFLAG_MYSTERY_IMMS (A) // if set, immortals appear as mystery imms to those who can't see them on who
#define CHANFLAG_ANONYMOUS_TO_MORTS (B)
#define CHANFLAG_IMM_CHANNEL (C)
#define CHANFLAG_IMMTALK_ACCESS (D)
#define CHANFLAG_USE_PERS_IF_SWITCHED (E)
#define CHANFLAG_ADMIN (F)
#define CHANFLAG_CODE_COUNCIL (G)
#define CHANFLAG_MYTHOS_COUNCIL (H)
#define CHANFLAG_HIGHADMIN (I)
#define CHANFLAG_NOBLE (J)
#define CHANFLAG_NEWBIES_AND_SUPPORT (K)
#define CHANFLAG_CLANMEMBERS_ONLY (L)
#define CHANFLAG_IGNORE_QUIET (M)
class channel_data
{
public:
int *index;
const char *name;
const char *colour;
const char *you_format; // first %s is text, include You at start
const char *format; // first %s is name, second %s is text
const char *trailer; // trails the message, channel colour code inserted before this
const char *logfile;
int memory_log_lines;
long channel_flag_value;
long flags;
char **memory_log;
int memory_log_index;
// member functions
public:
bool can_see_channel(char_data *ch, char_data *talker);
};
extern class channel_data channels[];
// some prototypes
int channel_exact_lookup(const char *channel_name);
int channel_lookup(const char *channel_name);
char *channel_convert_bitflags_to_text(long bits);
long channel_convert_text_to_bitflags(char *text);
void channels_initialize();
#endif // CHANNELS_h