/**************************************************************************** * ResortMUD 4.0 Beta by Ntanel, Garinan, Badastaz, Josh, Digifuzz, Senir, * * Kratas, Scion, Shogar and Tagith. Special thanks to Thoric, Nivek, * * Altrag, Arlorn, Justice, Samson, Dace, HyperEye and Yakkov. * **************************************************************************** * Copyright (C) 1996 - 2001 Haslage Net Electronics: MudWorld * * of Lorain, Ohio - ALL RIGHTS RESERVED * * The text and pictures of this publication, or any part thereof, may not * * be reproduced or transmitted in any form or by any means, electronic or * * mechanical, includes photocopying, recording, storage in a information * * retrieval system, or otherwise, without the prior written or e-mail * * consent from the publisher. * **************************************************************************** * GREETING must mention ResortMUD programmers and the help file named * * CREDITS must remain completely intact as listed in the SMAUG license. * ****************************************************************************/ /**************************************************************************\ * * * OasisOLC II for Smaug 1.40 written by Evan Cortens(Tagith) * * * * Based on OasisOLC for CircleMUD3.0bpl9 written by Harvey Gilpin * * * ************************************************************************** * * * Defines, structs, etc.. v1.0 * * * \**************************************************************************/ #ifdef BILLION_VNUM #define MAX_VNUM 2097152000 #else #define MAX_VNUM 32766 #endif #define MAX_RIS_FLAG 21 /*. Utils exported from olc.c .*/ void strip_string( char * ); void olc_log( DESCRIPTOR_DATA * d, char *format, ... ); /*. OLC structs .*/ struct olc_data { int mode; int zone_num; int number; int value; bool changed; MOB_INDEX_DATA *mob; ROOM_INDEX_DATA *room; OBJ_DATA *obj; AREA_DATA *area; SHOP_DATA *shop; EXTRA_DESCR_DATA *desc; AFFECT_DATA *paf; EXIT_DATA *xit; }; struct olc_save_info { int zone; char type; struct olc_save_info *next; }; /*. Descriptor access macros .*/ #define OLC_MODE(d) ((d)->olc->mode) /* Parse input mode */ #define OLC_NUM(d) ((d)->olc->number) /* Room/Obj VNUM */ #define OLC_VNUM(d) OLC_NUM(d) #define OLC_VAL(d) ((d)->olc->value) /* Scratch variable */ #define OLC_OBJ(d) (obj) #define OLC_DESC(d) ((d)->olc->desc) /* Extra description */ #define OLC_AFF(d) ((d)->olc->paf) /* Affect data */ #define OLC_CHANGE(d) ((d)->olc->changed) /* Changed flag */ #define OLC_EXIT(d) ((d)->olc->xit) /* An Exit */ #ifdef OLD_CIRCLE_STYLE # define OLC_ROOM(d) ((d)->olc->room) /* Room structure */ # define OLC_OBJ(d) ((d)->olc->obj) /* Object structure */ # define OLC_MOB(d) ((d)->olc->mob) /* Mob structure */ # define OLC_SHOP(d) ((d)->olc->shop) /* Shop structure */ # define OLC_EXIT(d) (OLC_ROOM(d)->dir_option[OLC_VAL(d)]) #endif /*. Add/Remove save list types .*/ #define OLC_SAVE_ROOM 0 #define OLC_SAVE_OBJ 1 #define OLC_SAVE_ZONE 2 #define OLC_SAVE_MOB 3 #define OLC_SAVE_SHOP 4 /* Submodes of OEDIT connectedness */ #define OEDIT_MAIN_MENU 1 #define OEDIT_EDIT_NAMELIST 2 #define OEDIT_SHORTDESC 3 #define OEDIT_LONGDESC 4 #define OEDIT_ACTDESC 5 #define OEDIT_TYPE 6 #define OEDIT_EXTRAS 7 #define OEDIT_WEAR 8 #define OEDIT_WEIGHT 9 #define OEDIT_COST 10 #define OEDIT_COSTPERDAY 11 #define OEDIT_TIMER 12 #define OEDIT_VALUE_1 13 #define OEDIT_VALUE_2 14 #define OEDIT_VALUE_3 15 #define OEDIT_VALUE_4 16 #define OEDIT_VALUE_5 17 #define OEDIT_VALUE_6 18 #define OEDIT_EXTRADESC_KEY 19 #define OEDIT_CONFIRM_SAVEDB 20 #define OEDIT_CONFIRM_SAVESTRING 21 #define OEDIT_EXTRADESC_DESCRIPTION 22 #define OEDIT_EXTRADESC_MENU 23 #define OEDIT_LEVEL 24 #define OEDIT_LAYERS 25 #define OEDIT_AFFECT_MENU 26 #define OEDIT_AFFECT_LOCATION 27 #define OEDIT_AFFECT_MODIFIER 28 #define OEDIT_AFFECT_REMOVE 29 #define OEDIT_AFFECT_RIS 30 #define OEDIT_EXTRADESC_CHOICE 31 #define OEDIT_EXTRADESC_DELETE 32 #define OEDIT_MPROGS 33 #define OEDIT_MPROGS_CHOICE 34 #define OEDIT_MPROGS_DELETE 35 #define OEDIT_MPROGS_TYPE 36 #define OEDIT_MPROGS_ARG 37 /* Submodes of REDIT connectedness */ #define REDIT_MAIN_MENU 1 #define REDIT_NAME 2 #define REDIT_DESC 3 #define REDIT_FLAGS 4 #define REDIT_SECTOR 5 #define REDIT_EXIT_MENU 6 #define REDIT_CONFIRM_SAVEDB 7 #define REDIT_CONFIRM_SAVESTRING 8 #define REDIT_EXIT_VNUM 9 #define REDIT_EXIT_DESC 10 #define REDIT_EXIT_KEYWORD 11 #define REDIT_EXIT_KEY 12 #define REDIT_EXIT_FLAGS 13 #define REDIT_EXTRADESC_MENU 14 #define REDIT_EXTRADESC_KEY 15 #define REDIT_EXTRADESC_DESCRIPTION 16 #define REDIT_TUNNEL 17 #define REDIT_TELEDELAY 18 #define REDIT_TELEVNUM 19 #define REDIT_EXIT_EDIT 20 #define REDIT_EXIT_ADD 21 #define REDIT_EXIT_DELETE 22 #define REDIT_EXIT_ADD_VNUM 23 #define REDIT_EXTRADESC_DELETE 24 #define REDIT_EXTRADESC_CHOICE 25 /*. Submodes of ZEDIT connectedness .*/ #define ZEDIT_MAIN_MENU 0 #define ZEDIT_DELETE_ENTRY 1 #define ZEDIT_NEW_ENTRY 2 #define ZEDIT_CHANGE_ENTRY 3 #define ZEDIT_COMMAND_TYPE 4 #define ZEDIT_IF_FLAG 5 #define ZEDIT_ARG1 6 #define ZEDIT_ARG2 7 #define ZEDIT_ARG3 8 #define ZEDIT_ZONE_NAME 9 #define ZEDIT_ZONE_LIFE 10 #define ZEDIT_ZONE_TOP 11 #define ZEDIT_ZONE_RESET 12 #define ZEDIT_CONFIRM_SAVESTRING 13 /*. Submodes of MEDIT connectedness .*/ #define MEDIT_NPC_MAIN_MENU 0 #define MEDIT_PC_MAIN_MENU 1 #define MEDIT_NAME 2 #define MEDIT_S_DESC 3 #define MEDIT_L_DESC 4 #define MEDIT_D_DESC 5 #define MEDIT_NPC_FLAGS 6 #define MEDIT_PC_FLAGS 7 #define MEDIT_AFF_FLAGS 8 #define MEDIT_CONFIRM_SAVESTRING 9 #define MEDIT_SEX 10 #define MEDIT_HITROLL 11 #define MEDIT_DAMROLL 12 #define MEDIT_DAMNUMDIE 13 #define MEDIT_DAMSIZEDIE 14 #define MEDIT_DAMPLUS 15 #define MEDIT_HITNUMDIE 16 #define MEDIT_HITSIZEDIE 17 #define MEDIT_HITPLUS 18 #define MEDIT_AC 19 #define MEDIT_GOLD 20 #define MEDIT_POS 21 #define MEDIT_DEFAULT_POS 22 #define MEDIT_ATTACK 23 #define MEDIT_DEFENSE 24 #define MEDIT_LEVEL 25 #define MEDIT_ALIGNMENT 26 #define MEDIT_STRENGTH 27 #define MEDIT_INTELLIGENCE 28 #define MEDIT_WISDOM 29 #define MEDIT_DEXTERITY 30 #define MEDIT_CONSTITUTION 31 #define MEDIT_CHARISMA 32 #define MEDIT_LUCK 33 #define MEDIT_CLAN 34 #define MEDIT_DEITY 35 #define MEDIT_COUNCIL 36 #define MEDIT_SPEC 37 #define MEDIT_RESISTANT 38 #define MEDIT_IMMUNE 39 #define MEDIT_SUSCEPTIBLE 40 #define MEDIT_PCDATA_FLAGS 41 #define MEDIT_MENTALSTATE 42 #define MEDIT_EMOTIONAL 43 #define MEDIT_THIRST 44 #define MEDIT_FULL 45 #define MEDIT_DRUNK 46 #define MEDIT_PARTS 47 #define MEDIT_FAVOR 48 #define MEDIT_HITPOINT 49 #define MEDIT_MANA 50 #define MEDIT_MOVE 51 #define MEDIT_PRACTICE 52 #define MEDIT_PASSWORD 53 #define MEDIT_SAVE_MENU 54 #define MEDIT_SAV1 55 #define MEDIT_SAV2 56 #define MEDIT_SAV3 57 #define MEDIT_SAV4 58 #define MEDIT_SAV5 59 #define MEDIT_CLASS 60 #define MEDIT_RACE 61 /*. Submodes of SEDIT connectedness .*/ #define SEDIT_MAIN_MENU 0 #define SEDIT_CONFIRM_SAVESTRING 1 #define SEDIT_NOITEM1 2 #define SEDIT_NOITEM2 3 #define SEDIT_NOCASH1 4 #define SEDIT_NOCASH2 5 #define SEDIT_NOBUY 6 #define SEDIT_BUY 7 #define SEDIT_SELL 8 #define SEDIT_PRODUCTS_MENU 11 #define SEDIT_ROOMS_MENU 12 #define SEDIT_NAMELIST_MENU 13 #define SEDIT_NAMELIST 14 /*. Numerical responses .*/ #define SEDIT_NUMERICAL_RESPONSE 20 #define SEDIT_OPEN1 21 #define SEDIT_OPEN2 22 #define SEDIT_CLOSE1 23 #define SEDIT_CLOSE2 24 #define SEDIT_KEEPER 25 #define SEDIT_BUY_PROFIT 26 #define SEDIT_SELL_PROFIT 27 #define SEDIT_TYPE_MENU 29 #define SEDIT_DELETE_TYPE 30 #define SEDIT_DELETE_PRODUCT 31 #define SEDIT_NEW_PRODUCT 32 #define SEDIT_DELETE_ROOM 33 #define SEDIT_NEW_ROOM 34 #define SEDIT_SHOP_FLAGS 35 #define SEDIT_NOTRADE 36