wileymud-1.187b/
wileymud-1.187b/attic/
wileymud-1.187b/attic/bin/
wileymud-1.187b/attic/lib/
wileymud-1.187b/attic/lib/adm/
wileymud-1.187b/attic/lib/man/
wileymud-1.187b/attic/lib/new-wld/
wileymud-1.187b/attic/lib/new-wld/default/
wileymud-1.187b/attic/lib/old/
wileymud-1.187b/attic/lib/wld/
wileymud-1.187b/attic/public_html/
wileymud-1.187b/attic/public_html/gfx/
wileymud-1.187b/attic/src/bin/
wileymud-1.187b/attic/src/etc/
wileymud-1.187b/attic/src/libauth-4.0-p5/
wileymud-1.187b/attic/src/sedna/
wileymud-1.187b/backups/
wileymud-1.187b/bin/
wileymud-1.187b/docs/
wileymud-1.187b/etc/
wileymud-1.187b/lib/
wileymud-1.187b/lib/adm/
wileymud-1.187b/lib/boards/
wileymud-1.187b/lib/log/
wileymud-1.187b/lib/man/
wileymud-1.187b/lib/ply/
wileymud-1.187b/lib/ply/a/
wileymud-1.187b/lib/ply/b/
wileymud-1.187b/lib/ply/c/
wileymud-1.187b/lib/ply/d/
wileymud-1.187b/lib/ply/g/
wileymud-1.187b/lib/ply/k/
wileymud-1.187b/lib/ply/m/
wileymud-1.187b/lib/ply/s/
wileymud-1.187b/lib/ply/t/
wileymud-1.187b/public_html/gfx/
wileymud-1.187b/src/bin/
wileymud-1.187b/src/convert/attic/
wileymud-1.187b/src/convert/obj/
wileymud-1.187b/src/convert/perl/
wileymud-1.187b/src/convert/perl/MudConvert/
wileymud-1.187b/src/convert/perl/MudConvert/DUMP/
wileymud-1.187b/src/convert/perl/MudConvert/Report/
wileymud-1.187b/src/convert/perl/MudConvert/WileyMUD/
wileymud-1.187b/src/convert/perl/output/
wileymud-1.187b/src/convert/perl/output/DUMP/
wileymud-1.187b/src/convert/perl/output/Report/
wileymud-1.187b/src/convert/perl/output/WileyMUD/
wileymud-1.187b/src/etc/
wileymud-1.187b/src/etc/init.d/
wileymud-1.187b/src/etc/rc.d/
wileymud-1.187b/src/etc/rc.d/init.d/
wileymud-1.187b/src/lib/
wileymud-1.187b/src/lib/adm/
wileymud-1.187b/src/lib/boards/
wileymud-1.187b/src/lib/log/
wileymud-1.187b/src/lib/man/
wileymud-1.187b/src/lib/ply/
wileymud-1.187b/src/lib/ply/a/
wileymud-1.187b/src/lib/ply/b/
wileymud-1.187b/src/lib/ply/c/
wileymud-1.187b/src/lib/ply/d/
wileymud-1.187b/src/lib/ply/e/
wileymud-1.187b/src/lib/ply/f/
wileymud-1.187b/src/lib/ply/g/
wileymud-1.187b/src/lib/ply/h/
wileymud-1.187b/src/lib/ply/i/
wileymud-1.187b/src/lib/ply/j/
wileymud-1.187b/src/lib/ply/k/
wileymud-1.187b/src/lib/ply/l/
wileymud-1.187b/src/lib/ply/m/
wileymud-1.187b/src/lib/ply/n/
wileymud-1.187b/src/lib/ply/o/
wileymud-1.187b/src/lib/ply/p/
wileymud-1.187b/src/lib/ply/q/
wileymud-1.187b/src/lib/ply/r/
wileymud-1.187b/src/lib/ply/s/
wileymud-1.187b/src/lib/ply/t/
wileymud-1.187b/src/lib/ply/u/
wileymud-1.187b/src/lib/ply/v/
wileymud-1.187b/src/lib/ply/w/
wileymud-1.187b/src/lib/ply/x/
wileymud-1.187b/src/lib/ply/y/
wileymud-1.187b/src/lib/ply/z/
wileymud-1.187b/src/obj/
wileymud-1.187b/src/utils/
wileymud-1.187b/src/utils/mobmaker/
/* Codebase macros - Change as you might need.
 * Yes, Rogel, you can gloat all you want. You win, this is cleaner, though not by a whole lot.
 */

#ifndef __IMC2CFG_H__
#define __IMC2CFG_H__

#if !defined(IMCCIRCLE) && !defined(IMCSTANDALONE) && !defined(IMCWILEY)
#define CH_IMCDATA(ch)           ((ch)->pcdata->imcchardata)
#define CH_IMCLEVEL(ch)          ((ch)->level)
#define CH_IMCNAME(ch)           ((ch)->name)
#define CH_IMCSEX(ch)            ((ch)->sex)
#define CH_IMCTITLE(ch)          ((ch)->pcdata->title)
#endif

#if defined(IMCSMAUG) || defined(IMCCHRONICLES)
#define SMAUGSOCIAL
#define SOCIAL_DATA SOCIALTYPE
#define CH_IMCRANK(ch)           ((ch)->pcdata->rank)
#endif

#if defined(IMCROM)
#define first_descriptor descriptor_list
#define CH_IMCRANK(ch)           (title_table[(ch)->class][(ch)->level][(ch)->sex == SEX_FEMALE ? 1 : 0])
#endif

#if defined(IMCMERC)
#define first_descriptor descriptor_list
#define CH_IMCRANK(ch)           (title_table[(ch)->class][(ch)->level][(ch)->sex == SEX_FEMALE ? 1 : 0])
#endif

#if defined(IMCACK)
#define first_descriptor first_desc
#define CH_IMCRANK(ch)           (class_table[(ch)->class].who_name)
#endif

#if defined(IMCUENVY)
#define SMAUGSOCIAL
#define SOCIAL_DATA SOC_INDEX_DATA
SOC_INDEX_DATA *find_social( char *command );
#define first_descriptor descriptor_list
#define CH_IMCRANK(ch)           (title_table[(ch)->class][(ch)->level][(ch)->sex == SEX_FEMALE ? 1 : 0])
#endif

/* Blasted circle, always gotta do thing the hard way! */
#if defined(IMCCIRCLE)
#define SMAUGSOCIAL

   /*
    * This should be in an act.social.h, if it existed. Introducing
    * it in an IMC patch would be too intrusive. 
    */
struct social_messg
{
   int act_nr;
   int hide;
   int min_victim_position;
   char *char_no_arg;
   char *others_no_arg;
   char *char_found;
   char *others_found;
   char *vict_found;
   char *not_found;
   char *char_auto;
   char *others_auto;
};

   /*
    * UNCOMMENT if mud has Ascii Pfile code installed. 
    */
   /*
    * #include "diskio.h" 
    */

extern struct social_messg *soc_mess_list;
struct social_messg *find_social( const char *name );

typedef struct social_messg SOCIAL_DATA;
typedef struct char_data CHAR_DATA;
typedef struct descriptor_data DESCRIPTOR_DATA;

extern const char *class_abbrevs[];

const char *title_female( int chclass, int level );
const char *title_male( int chclass, int level );

#define first_descriptor         descriptor_list
#define URANGE(a, b, c)          ((b) < (a) ? (a) : ((b) > (c) ? (c) : (b)))
#define CH_IMCDATA(ch)           ((ch)->player_specials->imcchardata)
#define CH_IMCLEVEL(ch)          GET_LEVEL(ch)
#define CH_IMCNAME(ch)           GET_NAME(ch)
#define CH_IMCTITLE(ch)          GET_TITLE(ch)
#define CH_IMCRANK(ch)           (GET_SEX(ch) == SEX_FEMALE ? title_female(GET_CLASS(ch), GET_LEVEL(ch))	\
								: title_male(GET_CLASS(ch), GET_LEVEL(ch)))
#define CH_IMCSEX(ch)            GET_SEX(ch)
#endif

#endif

#if defined(IMCSTANDALONE)

typedef unsigned char bool;

#if !defined(FALSE)
#define FALSE 0
#endif

#if !defined(TRUE)
#define TRUE 1
#endif

#define CH_IMCDATA(ch)           ((ch)->imcchardata)
#define CH_IMCLEVEL(ch)          ((ch)->level)
#define CH_IMCNAME(ch)           ((ch)->name)
#define CH_IMCSEX(ch)            ((ch)->sex)
#define CH_IMCTITLE(ch)          ( "User" )
#define CH_IMCRANK(ch)           ( "User" )

typedef enum
{
   SEX_NEUTRAL, SEX_MALE, SEX_FEMALE
} genders;

#define CON_PLAYING 1
#define LOWER(c)		((c) >= 'A' && (c) <= 'Z' ? (c)+'a'-'A' : (c))

typedef struct user_data CHAR_DATA;
typedef struct conn_data DESCRIPTOR_DATA;

struct user_data
{
   struct imcchar_data *imcchardata;
   char *name;
   int level;
   short sex;
};

struct conn_data
{
   DESCRIPTOR_DATA *next;
   DESCRIPTOR_DATA *prev;
   CHAR_DATA *original;
   CHAR_DATA *character;
   short connected;
};

DESCRIPTOR_DATA *first_descriptor;
DESCRIPTOR_DATA *last_descriptor;

#endif

#ifdef IMCWILEY

#ifndef __IMUD_KLUDGE
#define __IMUD_KLUDGE
typedef unsigned char bool;
typedef struct descriptor_data DESCRIPTOR_DATA;
#endif

#define first_descriptor descriptor_list
#define URANGE(a, b, c)          ((b) < (a) ? (a) : ((b) > (c) ? (c) : (b)))
#define CH_IMCDATA(ch)           ((ch)->imcchardata)
#define CH_IMCLEVEL(ch)          (GetMaxLevel((ch)))
#define CH_IMCNAME(ch)           (GET_NAME((ch)))
#define CH_IMCSEX(ch)            (GET_SEX((ch)))
#define CH_IMCTITLE(ch)          (GET_TITLE((ch)))
#define CH_IMCRANK(ch)           (GET_CLASS_TITLE((ch), BestClass((ch)), GetMaxLevel((ch))))

#endif