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/
#ifndef _DUMP_SMAUG_H
#define _DUMP_SMAUG_H

#include "smaug_common.h"

#define SMAUG_ZONE_OFFSET   250
#define SMAUG_VNUM_OFFSET   25000

/*
 * This file holds defined values for the diku target.
 * They are used in converting the original WileyMUD files into
 * the target diku format.
 */

#define SMAUG_AREA_VERSION_WRITE 1
#define SMAUG_AREA_LEVEL_LIMIT_LOWER 0
#define SMAUG_AREA_LEVEL_LIMIT_UPPER 65
#define SMAUG_CLIMATE_TEMP_NORMAL 2
#define SMAUG_CLIMATE_PRECIP_NORMAL 2
#define SMAUG_CLIMATE_WIND_NORMAL 2

/*
 * Room flags.           Holy cow!  Talked about stripped away..
 * Used in #ROOMS.       Those merc guys know how to strip code down.
 *			 Lets put it all back... ;)
 */
/* Roomflags converted to Extended BV - Samson 8-11-98 */
/* NOTE: If this list grows to 65, raise BFS_MARK in track.c - Samson */
/* Don't forget to add the flag to build.c!!! */
/* Current # of flags: 42 */
typedef enum {
    SMAUG_ROOM_DARK, SMAUG_ROOM_DEATH, SMAUG_ROOM_NO_MOB, SMAUG_ROOM_INDOORS, SMAUG_ROOM_LAWFUL,
    SMAUG_ROOM_NEUTRAL, SMAUG_ROOM_CHAOTIC,
    SMAUG_ROOM_NO_MAGIC, SMAUG_ROOM_TUNNEL, SMAUG_ROOM_PRIVATE, SMAUG_ROOM_SAFE,
    SMAUG_ROOM_SOLITARY, SMAUG_ROOM_PET_SHOP,
    SMAUG_ROOM_NO_RECALL, SMAUG_ROOM_DONATION, SMAUG_ROOM_NODROPALL, SMAUG_ROOM_SILENCE,
    SMAUG_ROOM_LOGSPEECH, SMAUG_ROOM_NODROP,
    SMAUG_ROOM_CLANSTOREROOM, SMAUG_ROOM_NO_SUMMON, SMAUG_ROOM_NO_ASTRAL, SMAUG_ROOM_TELEPORT,
    SMAUG_ROOM_TELESHOWDESC,
    SMAUG_ROOM_NOFLOOR, SMAUG_ROOM_NOSUPPLICATE, SMAUG_ROOM_ARENA, SMAUG_ROOM_NOMISSILE,
    SMAUG_ROOM_R4, SMAUG_ROOM_R5,
    SMAUG_ROOM_PROTOTYPE, SMAUG_ROOM_DND, SMAUG_ROOM_BFS_MARK, SMAUG_ROOM_MAX
} smaug_room_flags;

/*
 * Exit flags.			EX_RES# are reserved for use by the
 * Used in #ROOMS.		SMAUG development team ( No RES flags left, sorry. - Samson )
 */
/* Converted to Extended BV - Samson 7-23-00 */
/* Don't forget to add the flag to build.c!!! */
/* Current # of flags: 35 */
typedef enum {
    SMAUG_EX_ISDOOR, SMAUG_EX_CLOSED, SMAUG_EX_LOCKED, SMAUG_EX_SECRET, SMAUG_EX_SWIM,
    SMAUG_EX_PICKPROOF, SMAUG_EX_FLY,
    SMAUG_EX_CLIMB, SMAUG_EX_DIG, SMAUG_EX_EATKEY, SMAUG_EX_NOPASSDOOR, SMAUG_EX_HIDDEN,
    SMAUG_EX_PASSAGE, SMAUG_EX_PORTAL,
    SMAUG_EX_RES1, SMAUG_EX_RES2, SMAUG_EX_xCLIMB, SMAUG_EX_xENTER, SMAUG_EX_xLEAVE,
    SMAUG_EX_xAUTO, SMAUG_EX_NOFLEE,
    SMAUG_EX_xSEARCHABLE, SMAUG_EX_BASHED, SMAUG_EX_BASHPROOF, SMAUG_EX_NOMOB, SMAUG_EX_WINDOW,
    SMAUG_EX_xLOOK,
    SMAUG_EX_ISBOLT, SMAUG_EX_BOLTED, SMAUG_EXFLAG_MAX
} smaug_exit_flags;

/*
 * Sector types.
 * Used in #ROOMS and on Overland maps.
 */
/* Current number of types: 34 */
typedef enum {
    SMAUG_SECT_INSIDE, SMAUG_SECT_CITY, SMAUG_SECT_FIELD, SMAUG_SECT_FOREST, SMAUG_SECT_HILLS,
    SMAUG_SECT_MOUNTAIN,
    SMAUG_SECT_WATER_SWIM, SMAUG_SECT_WATER_NOSWIM, SMAUG_SECT_UNDERWATER, SMAUG_SECT_AIR,
    SMAUG_SECT_DESERT,
    SMAUG_SECT_DUNNO, SMAUG_SECT_OCEANFLOOR, SMAUG_SECT_UNDERGROUND, SMAUG_SECT_LAVA,
    SMAUG_SECT_SWAMP, SMAUG_SECT_ICE,
    SMAUG_SECT_MAX
} smaug_sector_types;

/*
 * Item types.
 * Used in #OBJECTS.
 */
/* Don't forget to add the flag to build.c!!! */
/* also don't forget to add new item types to the find_oftype function in afk.c */
/* Current # of types: 68 */
typedef enum {
    SMAUG_ITEM_NONE, SMAUG_ITEM_LIGHT, SMAUG_ITEM_SCROLL, SMAUG_ITEM_WAND, SMAUG_ITEM_STAFF,
    SMAUG_ITEM_WEAPON,
    SMAUG_ITEM_FIREWEAPON, SMAUG_ITEM_MISSILE, SMAUG_ITEM_TREASURE, SMAUG_ITEM_ARMOR,
    SMAUG_ITEM_POTION,
    SMAUG_ITEM_WORN, SMAUG_ITEM_FURNITURE, SMAUG_ITEM_TRASH, SMAUG_ITEM_OLDTRAP,
    SMAUG_ITEM_CONTAINER,
    SMAUG_ITEM_NOTE, SMAUG_ITEM_DRINK_CON, SMAUG_ITEM_KEY, SMAUG_ITEM_FOOD, SMAUG_ITEM_MONEY,
    SMAUG_ITEM_PEN,
    SMAUG_ITEM_BOAT, SMAUG_ITEM_CORPSE_NPC, SMAUG_ITEM_CORPSE_PC, SMAUG_ITEM_FOUNTAIN,
    SMAUG_ITEM_PILL,
    SMAUG_ITEM_BLOOD, SMAUG_ITEM_BLOODSTAIN, SMAUG_ITEM_SCRAPS, SMAUG_ITEM_PIPE,
    SMAUG_ITEM_HERB_CON,
    SMAUG_ITEM_HERB, SMAUG_ITEM_INCENSE, SMAUG_ITEM_FIRE, SMAUG_ITEM_BOOK, SMAUG_ITEM_SWITCH,
    SMAUG_ITEM_LEVER,
    SMAUG_ITEM_PULLCHAIN, SMAUG_ITEM_BUTTON, SMAUG_ITEM_DIAL, SMAUG_ITEM_RUNE,
    SMAUG_ITEM_RUNEPOUCH,
    SMAUG_ITEM_MATCH, SMAUG_ITEM_TRAP, SMAUG_ITEM_MAP, SMAUG_ITEM_PORTAL, SMAUG_ITEM_PAPER,
    SMAUG_ITEM_TINDER, SMAUG_ITEM_LOCKPICK, SMAUG_ITEM_SPIKE, SMAUG_ITEM_DISEASE,
    SMAUG_ITEM_OIL, SMAUG_ITEM_FUEL,
    SMAUG_ITEM_EMPTY1, SMAUG_ITEM_EMPTY2, SMAUG_ITEM_MISSILE_WEAPON, SMAUG_ITEM_PROJECTILE,
    SMAUG_ITEM_QUIVER,
    SMAUG_ITEM_SHOVEL, SMAUG_ITEM_SALVE, SMAUG_ITEM_COOK, SMAUG_ITEM_KEYRING, SMAUG_ITEM_ODOR,
    SMAUG_ITEM_CHANCE, SMAUG_ITEM_DRINK_MIX
} smaug_item_types;

/*
 * Extra flags.
 * Used in #OBJECTS. Rearranged for better compatibility with Shard areas - Samson
 */
/* Don't forget to add the flag to o_flags in build.c and handler.c!!! */
/* Current # of flags: 65 */
typedef enum {
    SMAUG_ITEM_GLOW, SMAUG_ITEM_HUM, SMAUG_ITEM_DARK, SMAUG_ITEM_LOYAL, SMAUG_ITEM_EVIL,
    SMAUG_ITEM_INVIS, SMAUG_ITEM_MAGIC,
    SMAUG_ITEM_NODROP, SMAUG_ITEM_BLESS, SMAUG_ITEM_ANTI_GOOD, SMAUG_ITEM_ANTI_EVIL,
    SMAUG_ITEM_ANTI_NEUTRAL,
    SMAUG_ITEM_NOREMOVE, SMAUG_ITEM_INVENTORY, SMAUG_ITEM_ANTI_MAGE, SMAUG_ITEM_ANTI_THIEF,
    SMAUG_ITEM_ANTI_WARRIOR, SMAUG_ITEM_ANTI_CLERIC, SMAUG_ITEM_ORGANIC, SMAUG_ITEM_METAL,
    SMAUG_ITEM_DONATION,
    SMAUG_ITEM_CLANOBJECT, SMAUG_ITEM_CLANCORPSE, SMAUG_ITEM_ANTI_VAMPIRE,
    SMAUG_ITEM_ANTI_DRUID,
    SMAUG_ITEM_HIDDEN, SMAUG_ITEM_POISONED, SMAUG_ITEM_COVERING, SMAUG_ITEM_DEATHROT,
    SMAUG_ITEM_BURIED,
    SMAUG_ITEM_PROTOTYPE, SMAUG_ITEM_NOLOCATE, SMAUG_ITEM_GROUNDROT, SMAUG_ITEM_LOOTABLE,
    SMAUG_ITEM_PERSONAL,
    SMAUG_ITEM_MULTI_INVOKE, SMAUG_ITEM_ENCHANTED, SMAUG_ITEM_FLAG_MAX
} smaug_item_extra_flags;

void                                    dump_as_smaug(zones *Zones, rooms *Rooms, shops *Shops,
						      objects *Objects, mobs *Mobs);
int                                     smaug_qcmp_zone_vnum(const void *a, const void *b);
bool                                    smaug_str_cmp(const char *astr, const char *bstr);
int                                     smaug_get_rflag(char *flag);
int                                     smaug_get_exflag(char *flag);
char                                   *smaug_flag_string(int bitvector,
							  char *const flagarray[]);
char                                   *smaug_ext_flag_string(EXT_BV *bitvector,
							      char *const flagarray[]);
char                                   *smaug_strip_cr(char *str);
int                                     smaug_convertobjtype(int Type);
EXT_BV                                  smaug_convert_rflags(int OldValue);
EXT_BV                                  smaug_convert_exflags(int OldType);
EXT_BV                                  smaug_convert_oflags(int OldValue);
int                                     smaug_convert_wflags(int OldValue);
int                                     smaug_get_otype(const char *type);
int                                     smaug_get_oflag(char *flag);
int                                     smaug_get_wflag(char *flag);
int                                     smaug_get_magflag(char *flag);
int                                     smaug_convert_spell(int SpellNum);
int                                     smaug_convert_skill(int SkillNum);
int                                     smaug_convert_liquid(int Liquid);
int                                    *smaug_convert_item_values(int Type, int w0, int w1,
								  int w2, int w3);
EXT_BV                                  smaug_convert_actflags(int OldValue);
EXT_BV                                  smaug_convert_aflags(int OldValue);
int                                     smaug_convertsex(int Sex);
int                                     smaug_convertposition(int Position);
int                                     smaug_get_sex(const char *type);
int                                     smaug_get_npc_race(char *type);
int                                     smaug_get_npc_class(char *type);
int                                     smaug_get_position(const char *type);
int                                     smaug_get_actflag(char *flag);
int                                     smaug_get_aflag(char *flag);
int                                     smaug_get_partflag(char *flag);
int                                     smaug_get_risflag(char *flag);
int                                     smaug_get_attackflag(char *flag);
void                                    smaug_convert_attack(EXT_BV *NewValue, int OldValue);
EXT_BV                                  smaug_convert_imm(int OldValue);
void                                    renumber_for_smaug(zones *Zones, rooms *Rooms,
							   shops *Shops, objects *Objects,
							   mobs *Mobs);

#endif