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