#define LEVEL_HERO 90 #define LEVEL_AVATAR 91 #define LEVEL_APPRENTICE 92 #define LEVEL_BUILDER 93 #define LEVEL_ARCHITECT 94 #define LEVEL_IMMORTAL 95 #define LEVEL_SPIRIT 96 #define LEVEL_ANGEL 97 #define LEVEL_DEMIGOD 98 #define LEVEL_GOD 99 #define MAX_LEVEL 99 #define LEVEL_HELP 94 #define LEVEL_MOB 92 #define LEVEL_MOB_ALL 94 #define LEVEL_OBJECT 93 #define LEVEL_OBJECT_ALL 95 #define LEVEL_PLAYER 95 #define LEVEL_EDIT_PLAYER 96 #define LEVEL_QUEST 94 #define LEVEL_ROOM 92 #define LEVEL_ROOM_ALL 94 #define LEVEL_SHOP 94 #define LEVEL_TABLE 95 /* * PERMISSION HEADER */ #define PERM_NONE -1 #define PERM_ALL_MOBS 0 #define PERM_ALL_OBJECTS 1 #define PERM_ALL_ROOMS 2 #define PERM_APPROVE 3 #define PERM_BASIC 4 #define PERM_BUILD_CHAN 5 #define PERM_COMMANDS 6 #define PERM_ECHO 7 #define PERM_GOD_CHAN 8 #define PERM_GOTO 9 #define PERM_HELP_FILES 10 #define PERM_IMM_CHAN 11 #define PERM_LISTS 12 #define PERM_LOAD_OBJECTS 13 #define PERM_MISC_TABLES 14 #define PERM_MOBS 15 #define PERM_NOTEBOARD 16 #define PERM_OBJECTS 17 #define PERM_PLAYERS 18 #define PERM_QUESTS 19 #define PERM_REIMB_EXP 20 #define PERM_REIMB_EQUIP 21 #define PERM_ROOMS 22 #define PERM_SHUTDOWN 23 #define PERM_SITE_NAMES 24 #define PERM_SNOOP 25 #define PERM_SPELLS 26 #define PERM_SOCIALS 27 #define PERM_TRANSFER 28 #define PERM_UNFINISHED 29 #define PERM_WRITE_ALL 30 #define PERM_WRITE_AREAS 31 #define PERM_AVATAR_CHAN 32 #define PERM_CLANS 33 #define PERM_RTABLES 34 #define PERM_DISABLED 35 #define PERM_FORCE_PLAYERS 36 #define MAX_PERMISSION 37 extern char const* permission_name [ MAX_PERMISSION+1 ]; extern char const* imm_title [ ]; bool has_permission ( char_data*, int*, bool = FALSE ); bool mortal ( char_data*, char* ); inline bool has_permission( char_data* ch, int flag, bool msg = FALSE ) { int array [ 2 ]; if( flag >= 32 ) { array[0] = 0; array[1] = ( 1 << ( flag-32 ) ); } else { array[0] = 1 << flag; array[1] = 0; } return has_permission( ch, array, msg ); } /* * LEVEL MACROS */ #define trust get_trust( ch ) #define bool inline bool bool is_avatar ( char_data* ch ) { return trust >= LEVEL_AVATAR; } bool is_apprentice ( char_data* ch ) { return trust >= LEVEL_APPRENTICE; } bool is_builder ( char_data* ch ) { return trust >= LEVEL_BUILDER; } bool is_immortal ( char_data* ch ) { return trust >= LEVEL_IMMORTAL; } bool is_spirit ( char_data* ch ) { return trust >= LEVEL_SPIRIT; } bool is_angel ( char_data* ch ) { return trust >= LEVEL_ANGEL; } bool is_demigod ( char_data* ch ) { return trust >= LEVEL_DEMIGOD; } bool is_god ( char_data* ch ) { return trust == LEVEL_GOD; } #undef trust #undef bool const char* level_name ( int );