#define SEX_NONE -1 #define ROOM_NONE 0 #define EX_NONE 0 #define ITEM_NONE 0 #define EXTRA_NONE 0 #define ITEM_WEAR_NONE 0 #define ACT_NONE 0 #define AFFECT_NONE 0 #define HEDIT( fun ) bool fun(CHAR_DATA *ch, char*argument) #define AEDIT( fun ) bool fun(CHAR_DATA *ch, char*argument) #define MEDIT( fun ) bool fun(CHAR_DATA *ch, char*argument) #define REDIT( fun ) bool fun(CHAR_DATA *ch, char*argument) #define OEDIT( fun ) bool fun(CHAR_DATA *ch, char*argument) #define CMDEDIT( fun ) bool fun(CHAR_DATA *ch, char*argument) #define CEDIT(fun) bool fun( CHAR_DATA *ch, char *argument) #define CLEDIT( fun ) bool fun(CHAR_DATA *ch, char*argument) #define RENAME( fun ) bool fun(CHAR_DATA *ch, char *argument ) #define QSET_OBJ( fun ) bool fun(CHAR_DATA *ch, char *argument ) #define EDIT_HELP(Ch, Help) ( Help = (HELP_DATA *)Ch->desc->pEdit ) #define EDIT_AREA(Ch, Area) ( Area = (AREA_DATA *)Ch->desc->pEdit ) #define EDIT_MOB(Ch, Mob) ( Mob = (MOB_INDEX_DATA *)Ch->desc->pEdit) #define EDIT_ROOM(Ch, Room) ( Room = (ROOM_INDEX_DATA *)Ch->desc->pEdit) #define EDIT_OBJ(Ch, Obj) ( Obj = (OBJ_INDEX_DATA *)Ch->desc->pEdit) #define EDIT_CMD(Ch, CMD) ( CMD = (struct cmd_type *)Ch->desc->pEdit) #define EDIT_SOCIAL(Ch, Soc) ( Soc = (struct social_type*)Ch->desc->pEdit) #define EDIT_CLAN(Ch, Clan) ( Clan = (CLAN_DATA *)Ch->desc->pEdit) #define RENAME_OBJ(ch, Obj) ( Obj = (OBJ_DATA *) ch->desc->pEdit ) #define EDIT_QSET(Ch, Obj) ( Obj = (OBJ_DATA *) Ch->desc->pEdit ) #define SKILLSN(sn) (sn != -1 ? skill_table[sn].slot : 0) #define IS_BUILDER(ch, Area) ( GET_PC(ch,security,0) >= Area->security \ || strstr(Area->builders, ch->name) != NULL \ || strstr(Area->builders, "All") != NULL\ || get_trust(ch) < LEVEL_HIGHJUDGE ) #define IS_BUILDER_HERE(ch) ( IS_BUILDER((ch),(ch)->in_room->area) ) /* * Interpreter Prototypes */ void aedit args( ( CHAR_DATA *ch, char *argument ) ); void redit args( ( CHAR_DATA *ch, char *argument ) ); void medit args( ( CHAR_DATA *ch, char *argument ) ); void oedit args( ( CHAR_DATA *ch, char *argument ) ); void hedit args( ( CHAR_DATA *ch, char *argument ) ); void cmdedit args( ( CHAR_DATA *ch, char *argument ) ); void sedit args( ( CHAR_DATA *ch, char *argument ) ); void cedit args( ( CHAR_DATA *ch, char *argument ) ); void cledit args( ( CHAR_DATA *ch, char *argument ) ); void rename_object args( ( CHAR_DATA *ch, char *argument ) ); void qedit args( ( CHAR_DATA *ch, char *arugment ) ); /* * OLC Constants */ #define MAX_MOB 1 /* Default maximum number for resetting mobs */ /* * Utils. */ AREA_DATA * get_vnum_area args ( ( int vnum ) ); AREA_DATA * get_area_data args ( ( int vnum ) ); void add_reset args ( ( ROOM_INDEX_DATA *, RESET_DATA *, int ) ); bool show_commands args ( ( CHAR_DATA *ch, char *argument ) ); bool show_help args ( ( CHAR_DATA *ch, char *argument ) ); void set_editor args ( ( DESCRIPTOR_DATA *, int, void * ) ); bool edit_done args ( ( CHAR_DATA *ch ) ); char * strip_cr args ( ( char * string ) ); RESET_DATA *new_reset_data args ( ( void ) ); void free_reset_data args ( ( RESET_DATA *pReset ) ); struct olc_help_type { char *command; const void *structure; sh_int trust; char *desc; }; /* * For commands */ typedef bool OLC_FUN args( ( CHAR_DATA *ch, char *argument ) ); #define DECLARE_OLC_FUN( fun ) OLC_FUN fun /* * Structure for an OLC editor command. */ struct olc_cmd_type { char * const name; OLC_FUN * olc_fun; }; DECLARE_OLC_FUN( hedit_show ); DECLARE_OLC_FUN( hedit_keyword ); DECLARE_OLC_FUN( hedit_text ); DECLARE_OLC_FUN( hedit_new ); DECLARE_OLC_FUN( hedit_level ); DECLARE_OLC_FUN( hedit_delete ); DECLARE_OLC_FUN( hedit_list ); /* * Area Editor Prototypes */ DECLARE_OLC_FUN( aedit_show ); DECLARE_OLC_FUN( aedit_create ); DECLARE_OLC_FUN( aedit_name ); DECLARE_OLC_FUN( aedit_filename ); DECLARE_OLC_FUN( aedit_age ); DECLARE_OLC_FUN( aedit_recall ); DECLARE_OLC_FUN( aedit_reset ); DECLARE_OLC_FUN( aedit_security ); DECLARE_OLC_FUN( aedit_builder ); DECLARE_OLC_FUN( aedit_vnum ); DECLARE_OLC_FUN( aedit_lvnum ); DECLARE_OLC_FUN( aedit_uvnum ); DECLARE_OLC_FUN( aedit_mod ); DECLARE_OLC_FUN( aedit_connected ); /* * Room Editor Prototypes */ DECLARE_OLC_FUN( redit_show ); DECLARE_OLC_FUN( redit_create ); DECLARE_OLC_FUN( redit_name ); DECLARE_OLC_FUN( redit_desc ); DECLARE_OLC_FUN( redit_ed ); DECLARE_OLC_FUN( redit_format ); DECLARE_OLC_FUN( redit_north ); DECLARE_OLC_FUN( redit_south ); DECLARE_OLC_FUN( redit_east ); DECLARE_OLC_FUN( redit_west ); DECLARE_OLC_FUN( redit_up ); DECLARE_OLC_FUN( redit_down ); DECLARE_OLC_FUN( redit_move ); DECLARE_OLC_FUN( redit_mreset ); DECLARE_OLC_FUN( redit_oreset ); DECLARE_OLC_FUN( redit_mlist ); DECLARE_OLC_FUN( redit_olist ); DECLARE_OLC_FUN( redit_mshow ); DECLARE_OLC_FUN( redit_oshow ); DECLARE_OLC_FUN( redit_copy ); DECLARE_OLC_FUN( redit_roomtext ); DECLARE_OLC_FUN( redit_findreset ); /* * Mobile Editor Prototypes */ DECLARE_OLC_FUN( medit_show ); DECLARE_OLC_FUN( medit_create ); DECLARE_OLC_FUN( medit_name ); DECLARE_OLC_FUN( medit_short ); DECLARE_OLC_FUN( medit_long ); DECLARE_OLC_FUN( medit_shop ); DECLARE_OLC_FUN( medit_desc ); DECLARE_OLC_FUN( medit_level ); DECLARE_OLC_FUN( medit_align ); DECLARE_OLC_FUN( medit_spec ); /* * Object Editor Prototypes */ DECLARE_OLC_FUN( oedit_show ); DECLARE_OLC_FUN( oedit_create ); DECLARE_OLC_FUN( oedit_name ); DECLARE_OLC_FUN( oedit_short ); DECLARE_OLC_FUN( oedit_long ); DECLARE_OLC_FUN( oedit_addaffect ); DECLARE_OLC_FUN( oedit_delaffect ); DECLARE_OLC_FUN( oedit_value0 ); DECLARE_OLC_FUN( oedit_value1 ); DECLARE_OLC_FUN( oedit_value2 ); DECLARE_OLC_FUN( oedit_value3 ); DECLARE_OLC_FUN( oedit_value4 ); DECLARE_OLC_FUN( oedit_weight ); DECLARE_OLC_FUN( oedit_cost ); DECLARE_OLC_FUN( oedit_ed ); DECLARE_OLC_FUN( oedit_artifact ); DECLARE_OLC_FUN( cmdedit_show ); DECLARE_OLC_FUN( cmdedit_name ); DECLARE_OLC_FUN( cmdedit_function ); DECLARE_OLC_FUN( cmdedit_level ); DECLARE_OLC_FUN( cmdedit_list ); DECLARE_OLC_FUN( cmdedit_new ); DECLARE_OLC_FUN( cmdedit_position ); DECLARE_OLC_FUN( cmdedit_log ); DECLARE_OLC_FUN( cmdedit_delete ); /* * Social editor prototypes */ DECLARE_OLC_FUN( sedit_show ); /* Daleken */ DECLARE_OLC_FUN( sedit_name ); /* Daleken */ DECLARE_OLC_FUN( sedit_create ); /* Daleken */ DECLARE_OLC_FUN( sedit_delete ); DECLARE_OLC_FUN( sedit_cna ); /* Daleken */ DECLARE_OLC_FUN( sedit_ona ); /* Daleken */ DECLARE_OLC_FUN( sedit_cf ); /* Daleken */ DECLARE_OLC_FUN( sedit_of ); /* Daleken */ DECLARE_OLC_FUN( sedit_vf ); /* Daleken */ DECLARE_OLC_FUN( sedit_ca ); /* Daleken */ DECLARE_OLC_FUN( sedit_oa ); /* Daleken */ DECLARE_OLC_FUN( cedit_show ); DECLARE_OLC_FUN( mudstat_show ); DECLARE_OLC_FUN( cedit_savefreq ); DECLARE_OLC_FUN( cedit_dodgemod ); DECLARE_OLC_FUN( cedit_parrymod ); DECLARE_OLC_FUN( cedit_dam_pvp ); DECLARE_OLC_FUN( cedit_dam_pvm ); DECLARE_OLC_FUN( cedit_dam_mvp ); DECLARE_OLC_FUN( cedit_dam_mvm ); DECLARE_OLC_FUN( cedit_bui_sec ); DECLARE_OLC_FUN( cedit_plr_mset ); DECLARE_OLC_FUN( cedit_forcepc ); DECLARE_OLC_FUN( cedit_ban_class ); DECLARE_OLC_FUN( cedit_ban_site ); DECLARE_OLC_FUN( cedit_pfiles ); DECLARE_OLC_FUN( cedit_newbie_purge ); DECLARE_OLC_FUN( cedit_regular_purge ); /* * Clan editor protoytypes */ DECLARE_OLC_FUN( cledit_create ); /* Daleken */ DECLARE_OLC_FUN( cledit_filename ); DECLARE_OLC_FUN( cledit_desc ); /* Daleken */ DECLARE_OLC_FUN( cledit_display ); /* Daleken */ DECLARE_OLC_FUN( cledit_leader ); /* Daleken */ DECLARE_OLC_FUN( cledit_motto ); /* Daleken */ DECLARE_OLC_FUN( cledit_name ); /* Daleken */ DECLARE_OLC_FUN( cledit_recall ); /* Daleken */ DECLARE_OLC_FUN( cledit_show ); /* Daleken */ DECLARE_OLC_FUN( cledit_donation ); DECLARE_OLC_FUN( cledit_obj1 ); DECLARE_OLC_FUN( cledit_obj2 ); DECLARE_OLC_FUN( cledit_obj3 ); /* * Rename functions */ DECLARE_OLC_FUN( rename_show ); DECLARE_OLC_FUN( rename_keyword ); DECLARE_OLC_FUN( rename_short ); DECLARE_OLC_FUN( rename_long ); /* * Qset editor */ DECLARE_OLC_FUN( qset_show ); DECLARE_OLC_FUN( qset_ow ); DECLARE_OLC_FUN( qset_aw ); DECLARE_OLC_FUN( qset_or ); DECLARE_OLC_FUN( qset_ar ); DECLARE_OLC_FUN( qset_ou ); DECLARE_OLC_FUN( qset_au ); extern const struct olc_cmd_type hedit_table[]; extern const struct olc_cmd_type redit_table[]; extern const struct olc_cmd_type oedit_table[]; extern const struct olc_cmd_type medit_table[]; extern const struct olc_cmd_type aedit_table[]; extern const struct olc_cmd_type cmdedit_table[]; extern const struct olc_cmd_type sedit_table[]; extern const struct olc_cmd_type cedit_table[]; extern const struct olc_cmd_type rename_obj_table[]; extern const struct olc_cmd_type qset_table[]; int flag_value args ( ( const struct flag_type *flag_table, char *argument) ); char *flag_string args ( ( const struct flag_type *flag_table, int bits ) ); /* * Connected states for editor. */ #define ED_NONE 0 #define ED_AREA 1 #define ED_ROOM 2 #define ED_OBJECT 3 #define ED_MOBILE 4 #define ED_HELP 5 #define ED_CMD 6 #define ED_SOCIAL 7 #define ED_CONTROL 8 #define ED_CLAN 9 #define ED_RENAME 10 #define ED_QSET 11