COMMENT
{
    This defines our data structures in a more maintainable and
    readable manner than raw .cpp files.
}

DEFINE ORDER
{
}

ORDER NONE
ORDER WAIT
ORDER MARCH
ORDER FIRE
ORDER FORMUP

DEFINE STRATEGY
{
    CST		name	"lemur"
}

STRATEGY NONE
{
    name	"None"
}
STRATEGY CHARGE
{
    name	"Charge!"
}
STRATEGY PINCER
{
    name	"Pincer"
}
STRATEGY LINE
{
    name	"Line"
}
STRATEGY HOLDCENTER
{
    name	"Hold Center"
}
STRATEGY RESERVE
{
    name	"Reserve"
}
STRATEGY PAIR
{
    name	"Pair-up"
}
STRATEGY FLANK
{
    name	"Flank"
}


DEFINE SOLDIER
{
}

SOLDIER WAIT
SOLDIER MARCH
SOLDIER FIRE
SOLDIER SENDMESSAGE
SOLDIER RETURN



DEFINE PHASE
{
}

PHASE NORMAL
PHASE FAST
PHASE SLOW
PHASE QUICK

DEFINE EFFECTCLASS
{
}

EFFECTCLASS NONE
EFFECTCLASS HEAL
EFFECTCLASS GAINMANA
EFFECTCLASS LOSEMANA
EFFECTCLASS GAINFOOD
EFFECTCLASS LOSEFOOD
EFFECTCLASS POISON
EFFECTCLASS CURE
EFFECTCLASS DAMAGE
EFFECTCLASS RESIST
EFFECTCLASS VULNERABLE
EFFECTCLASS GAINITEM

DEFINE EFFECT
{
    ENM		type	EFFECTCLASS	NONE
    ENM		element	ELEMENT		NONE
    int		duration	0

    int		amount		0
    ENM		distribution	DISTRIBUTION	CONSTANT

    ENM		itemflag	ITEM	NONE
}

EFFECT NONE

DEFINE ELEMENT
{
    CST		name		"ether"
    ENM		attr		ATTR		CYAN
    CST		damageverb	"disintigrate"
}

ELEMENT NONE
{
    name		"none"
    attr		LIGHTBLACK
    damageverb		"enunciate"
}

ELEMENT PHYSICAL
{
    name		"physical"
    attr		PURPLE
    damageverb		"hit"
}

ELEMENT POISON
{
    name		"poison"
    attr		GREEN
    damageverb		"poison"
}

ELEMENT ACID
{
    name		"acid"
    attr		ORANGE
    damageverb		"dissolve"
}

ELEMENT LIGHT
{
    name		"light"
    attr		YELLOW
    damageverb		"blind"
}

ELEMENT ELECTRICITY
{
    name		"electricity"
    attr		CYAN
    damageverb		"zap"
}

ELEMENT FIRE
{
    name		"fire"
    attr		FIRE
    damageverb		"burn"
}

ELEMENT ICE
{
    name		"ice"
    attr		WHITE
    damageverb		"freeze"
}

DEFINE ATTACKSTYLE
{
}

ATTACKSTYLE MELEE
ATTACKSTYLE RANGE
ATTACKSTYLE INTERNAL

DEFINE ROOMTYPE
{
    CST		prefix		""
    BOOL	randomorient	true

    BOOL	allowportal	true

    BOOL	usegenerator	false

    ENM		wall_tile	TILE	WALL
    ENM		floor_tile	TILE	FLOOR
    ENM		path_tile	TILE	PATH
    ENM		door_tile	TILE	DOOR
    ENM		tunnelwall_tile	TILE	TUNNELWALL
    CST		name		"room"
    BOOL	deadend		false
}

ROOMTYPE NONE
{
    prefix	"x"
}

ROOMTYPE VILLAGE
{
    prefix	"village"
    randomorient	false
    allowportal		false
}

ROOMTYPE FACE
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
    tunnelwall_tile	INVALID
}

ROOMTYPE ATRIUM
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
    tunnelwall_tile	INVALID
    name	"atrium"
}
ROOMTYPE CORRIDOR
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
    tunnelwall_tile	INVALID
    name	"corridor"
}
ROOMTYPE BARRACKS
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
    tunnelwall_tile	INVALID
    name	"barracks"
}
ROOMTYPE GUARDHOUSE
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
    tunnelwall_tile	INVALID
    name	"guardhouse"
}

ROOMTYPE THRONEROOM
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
    tunnelwall_tile	INVALID
    name	"throneroom"
}

ROOMTYPE VAULT
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
    tunnelwall_tile	INVALID
    name	"vault"
    deadend	true
}

ROOMTYPE LIBRARY
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
    tunnelwall_tile	INVALID
    name	"library"
}

ROOMTYPE KITCHEN
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
    tunnelwall_tile	INVALID
    name	"kitchen"
}

ROOMTYPE DININGROOM
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
    tunnelwall_tile	INVALID
    name	"dining room"
}


ROOMTYPE PANTRY
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
    tunnelwall_tile	INVALID
    name	"pantry"
}

ROOMTYPE ROGUE
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
}

ROOMTYPE CAVE
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
    wall_tile		CAVEWALL
    floor_tile		CAVEFLOOR
}

ROOMTYPE DARKCAVE
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
    wall_tile		CAVEWALL
    floor_tile		DARKCAVEFLOOR
}

ROOMTYPE MAZE
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true

    door_tile		MAZEDOOR
    wall_tile		MAZEWALL
    floor_tile		MAZEFLOOR
}

ROOMTYPE BIGROOM
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
}

ROOMTYPE WILDERNESS
{
    prefix	"y"
    randomorient	false
    allowportal		false
    usegenerator	true
    floor_tile		GRASS
}

DEFINE LEVEL
{
    int		numcreated	0
    ENM		roomtype	ROOMTYPE	ROGUE
}

LEVEL NONE

DEFINE GAMERULES
{
    int		bosslevel	7
}

GAMERULES OFFICIAL
{
    bosslevel	7
}

DEFINE YELL
{
}

YELL KEEPOUT
YELL MURDERER
YELL INVADER
YELL KILL
YELL KILLCHASE
YELL LOCATION
YELL HEARDLOCATION
YELL TAUNT
YELL VICTORY
YELL RANGED


DEFINE OPTION
{
    CST		name	"None"
}

OPTION INSTRUCTIONS
{
    name	"Instructions"
}

OPTION WELCOME
{
    name	"Welcome Mesage"
}

OPTION PLAY
{
    name	"Play"
}

OPTION TOGGLEBULLETS
{
    name	"Toggle Bullets"
}

OPTION AUTOPILOT
{
    name	"Toggle Autopilot"
}

OPTION FULLSCREEN
{
    name	"Toggle Full Screen"
}

OPTION ABOUT
{
    name	"About"
}

OPTION QUIT
{
    name	"Quit"
}

DEFINE ACTION
{
}

ACTION NONE
ACTION RESTART
ACTION BUMP
ACTION FIRE
ACTION ROTATE
ACTION REBOOTAVATAR
ACTION DROP
ACTION DROPALL
ACTION DROPTOP
ACTION BAGSHAKE
ACTION BAGSWAPTOP
ACTION BREAK
ACTION BREAKTOP
ACTION INSPECT
ACTION QUAFF
ACTION QUAFFTOP
ACTION EAT
ACTION EATTOP
ACTION SUICIDE
ACTION MEDITATE
ACTION SEARCH
ACTION WAIT
ACTION WAITUNTIL
ACTION STOPWAITING
ACTION EXAMINE
ACTION SAVE
ACTION SHUTDOWN
ACTION CREATEITEM
ACTION CAST
ACTION THROW
ACTION THROWTOP
ACTION WEAR
ACTION WEARTOP
ACTION CLIMB
ACTION PICKUP
ACTION TRANSMUTE
ACTION ORDER
ACTION MARK_QUEUE_EMPTY
ACTION GHOSTMOVE
ACTION GHOSTMOVEABS
ACTION GHOSTRECENTER

DEFINE GOSSIP
{
    CST		name		"none"
}

GOSSIP INTRO
{
    name	"intro"
}

GOSSIP MEDITATE
{
    name	"meditate"
}

GOSSIP EQUIP
{
    name	"equip"
}

DEFINE ATTR
{
    U8		bg_r		0
    U8		bg_g		0
    U8		bg_b		0
    U8		fg_r		255
    U8		fg_g		255
    U8		fg_b		255
    BOOL	pulse		false
}

ATTR NONE
{
}

ATTR TERMINAL
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		255
    fg_g		196
    fg_b		64
}

ATTR HEALTH
{
    bg_r		255
    bg_g		0
    bg_b		0
    fg_r		0
    fg_g		0
    fg_b		0
}

ATTR MANA
{
    bg_r		0
    bg_g		128
    bg_b		0
    fg_r		255
    fg_g		255
    fg_b		255
}

ATTR FOOD
{
    bg_r		255
    bg_g		192
    bg_b		128
    fg_r		0
    fg_g		0
    fg_b		0
}

ATTR POWERBAR
{
    bg_r		16
    bg_g		96
    bg_b		16
    fg_r		192
    fg_g		192
    fg_b		192
}

ATTR BORDER
{
    bg_r		255
    bg_g		196
    bg_b		64
    fg_r		255
    fg_g		255
    fg_b		255
}

ATTR VICTORYBORDER
{
    bg_r		128
    bg_g		128
    bg_b		0
    fg_r		255
    fg_g		255
    fg_b		255
}

ATTR DEATHBORDER
{
    bg_r		64
    bg_g		64
    bg_b		64
    fg_r		255
    fg_g		255
    fg_b		255
}

ATTR DEATHBAR
{
    bg_r		96
    bg_g		32
    bg_b		32
    fg_r		192
    fg_g		192
    fg_b		192
}

ATTR WAITBAR
{
    bg_r		96
    bg_g		32
    bg_b		32
    fg_r		192
    fg_g		192
    fg_b		192
}

ATTR INVULNERABLE
{
    bg_r		196
    bg_g		196
    bg_b		196
    fg_r		0
    fg_g		0
    fg_b		0

}

ATTR HILITE
{
    bg_r		255
    bg_g		255
    bg_b		255
    fg_r		0
    fg_g		0
    fg_b		0

}
ATTR DKHILITE
{
    bg_r		128
    bg_g		128
    bg_b		128
    fg_r		0
    fg_g		0
    fg_b		0

}


ATTR AVATARMEDITATE
{
    bg_r		20
    bg_g		40
    bg_b		196
    fg_r		0
    fg_g		0
    fg_b		0

}

ATTR WAYPOINT
{
    bg_r		196
    bg_g		64
    bg_b		196
    fg_r		0
    fg_g		0
    fg_b		0
}

ATTR LTWAYPOINT
{
    bg_r		255
    bg_g		128
    bg_b		255
    fg_r		0
    fg_g		0
    fg_b		0
}


ATTR ELECTRICBLUE
{
    bg_r		0
    bg_g		16
    bg_b		32
    fg_r		32
    fg_g		128
    fg_b		255

}

ATTR METAL
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		32
    fg_g		128
    fg_b		196

}

ATTR BLUEPORTAL
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		20
    fg_g		30
    fg_b		128

    pulse		true
}

ATTR ORANGEPORTAL
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		128
    fg_g		96
    fg_b		32

    pulse		true
}

ATTR FIRE
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		192
    fg_g		128
    fg_b		64

    pulse		true
}

ATTR SEARCH
{
    bg_r		196
    bg_g		196
    bg_b		0
    fg_r		0
    fg_g		0
    fg_b		0
}

ATTR GOLD
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		255
    fg_g		255
    fg_b		0

}

ATTR YELLOW
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		255
    fg_g		255
    fg_b		0
}

ATTR INV_YELLOW
{
    bg_r		255
    bg_g		255
    bg_b		0
    fg_r		0
    fg_g		0
    fg_b		0
}

ATTR SHOUT
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		128
    fg_g		255
    fg_b		128
}

ATTR EMOTE
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		255
    fg_g		196
    fg_b		128

}

ATTR PINK
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		255
    fg_g		128
    fg_b		128
}

ATTR PURPLE
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		255
    fg_g		128
    fg_b		255
}

ATTR KOBOLD_ARCHER
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		153
    fg_g		51
    fg_b		0
}

ATTR KOBOLD_MAGE
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		102
    fg_g		0
    fg_b		255
}

ATTR KOBOLD_GUARD
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		220
    fg_g		196
    fg_b		255
}

ATTR KOBOLD_BAKER
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		204
    fg_g		153
    fg_b		0
}

ATTR NORMAL
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		192
    fg_g		192
    fg_b		192

}

ATTR LIGHTBLACK
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		96
    fg_g		96
    fg_b		96

}

ATTR OUTOFFOV
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		96
    fg_g		96
    fg_b		96

}

ATTR WHITE
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		255
    fg_g		255
    fg_b		255

}

ATTR INV_WHITE
{
    bg_r		255
    bg_g		255
    bg_b		255
    fg_r		0
    fg_g		0
    fg_b		0

}

ATTR ORANGE
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		255
    fg_g		192
    fg_b		64
}
ATTR DKORANGE
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		192
    fg_g		128
    fg_b		64
}

ATTR INV_ORANGE
{
    bg_r		255
    bg_g		192
    bg_b		64
    fg_r		0
    fg_g		0
    fg_b		0

}

ATTR LIGHTBROWN
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		255
    fg_g		192
    fg_b		128

}

ATTR BROWN
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		192
    fg_g		128
    fg_b		64

}

ATTR RED
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		255
    fg_g		32
    fg_b		32

}

ATTR INV_RED
{
    bg_r		255
    bg_g		32
    bg_b		32
    fg_r		0
    fg_g		0
    fg_b		0
}

ATTR DKRED
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		196
    fg_g		32
    fg_b		32

}

ATTR GREEN
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		0
    fg_g		255
    fg_b		0

}
ATTR INV_GREEN
{
    bg_r		0
    bg_g		255
    bg_b		0
    fg_r		0
    fg_g		0
    fg_b		0

}

ATTR GREEN_ISLE
{
    bg_r		0
    bg_g		0
    bg_b		192
    fg_r		0
    fg_g		255
    fg_b		0

}

ATTR DKGREEN
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		0
    fg_g		196
    fg_b		0

}
ATTR DKRGREEN
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		0
    fg_g		128
    fg_b		0

}

ATTR BLUE
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		64
    fg_g		64
    fg_b		255

}
ATTR INV_BLUE
{
    bg_r		64
    bg_g		64
    bg_b		255
    fg_r		0
    fg_g		0
    fg_b		0
}

ATTR LIGHTBLUE
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		128
    fg_g		128
    fg_b		255
}

ATTR TEAL
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		64
    fg_g		128
    fg_b		128

}

ATTR CYAN
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		64
    fg_g		255
    fg_b		255

}

ATTR DKCYAN
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		64
    fg_g		192
    fg_b		192

}

ATTR DKGREY
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		128
    fg_g		128
    fg_b		128

}

ATTR GREY
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		196
    fg_g		196
    fg_b		196

}

ATTR LTGREY
{
    bg_r		0
    bg_g		0
    bg_b		0
    fg_r		220
    fg_g		220
    fg_b		220

}

ATTR PERCENT_SELECT
{
    bg_r		196
    bg_g		196
    bg_b		196
    fg_r		0
    fg_g		0
    fg_b		0
}

ATTR PERCENT_HILIGHT
{
    bg_r		128
    bg_g		128
    bg_b		128
    fg_r		0
    fg_g		0
    fg_b		0
}

ATTR PERCENT_SELECTHILIGHT
{
    bg_r		255
    bg_g		255
    bg_b		255
    fg_r		0
    fg_g		0
    fg_b		0
}

DEFINE MAPFLAG
{
}

DEFINE TRAP
{
    U8		sym 	'^'
    ENM		attr	ATTR		NORMAL

    ENM		element	ELEMENT		PHYSICAL

    CST		name	"no-trap"
    ENM		item	ITEM		NONE
}

TRAP NONE


MAPFLAG NONE 0
MAPFLAG FOV 1
MAPFLAG FOVCACHE 2
MAPFLAG PORTAL 4
MAPFLAG TRAP 8
MAPFLAG SEEN_PUSHER 16
MAPFLAG MOB 32
MAPFLAG ITEM 64

DEFINE EVENTTYPE
{
}

EVENTTYPE NONE 0
EVENTTYPE FORE 1
EVENTTYPE BACK 2
EVENTTYPE SYM 4
EVENTTYPE FORESYM 5
EVENTTYPE FOREBACK 3
EVENTTYPE ALL 7
EVENTTYPE SHOUT 8

EVENTTYPE LONG 128

DEFINE TILE
{
    U8		symbol		'&'
    ENM		attr		ATTR		NORMAL
    CST		legend		"none"

    BOOL	ispassable	true
    BOOL	istransparent	true
    BOOL	isphaseable	true
    BOOL	isdiggable	false
    BOOL	describe	false
    BOOL	semitransparent	false
    BOOL	forbidrandomwander	false
    BOOL	roomcolor	false
    BOOL	roomsymbol	false
}

TILE INVALID
{
    symbol	'#'
    attr	BROWN
    legend	"wall"
    ispassable		false
    istransparent	false
    isphaseable		false
}

TILE NONE
{
}

TILE PUSHER
{
    symbol	'X'
    attr	INV_RED
    legend	"engraved monolith"
    describe	true
    istransparent true
    ispassable	false
    roomcolor		true
    roomsymbol		true
}

TILE STATUE
{
    symbol	'K'
    attr	RED
    legend	"large kobold statue"
    ispassable	true
    istransparent	true
    describe	true
}

TILE ALTAR
{
    symbol	'_'
    attr	RED
    legend	"blood-stained stone altar"
    ispassable	true
    istransparent	true
    describe	true
}

TILE FLOOR
{
    symbol	'.'
    attr	NORMAL
    legend	"floor"
    ispassable		true
    istransparent	true
}

TILE CAVEFLOOR
{
    symbol	'.'
    attr	NORMAL
    legend	"cave floor"
    ispassable		true
    istransparent	true
}

TILE MAZEFLOOR
{
    symbol	'.'
    attr	NORMAL
    legend	"floor"
    ispassable		true
    istransparent	true
}

TILE DARKCAVEFLOOR
{
    symbol	'.'
    attr	NORMAL
    legend	"cave floor"
    ispassable		true
    istransparent	false
    semitransparent	true
}

TILE CHAIR
{
    symbol	'h'
    attr	BROWN
    legend	"wooden chair"
    ispassable		true
    istransparent	true
    describe	true
}

TILE TABLE
{
    symbol	'O'
    attr	LIGHTBROWN
    legend	"wooden table"
    ispassable		false
    istransparent	true
    describe	true
}

TILE DOWNSTAIRS
{
    symbol	'>'
    attr	WHITE
    legend	"downstairs"
    ispassable		true
    istransparent 	true
    describe	true
}

TILE UPSTAIRS
{
    symbol	'<'
    attr	WHITE
    legend	"upstairs"
    ispassable		true
    istransparent 	true
    describe	true
}

TILE SNOWYPATH
{
    symbol	'.'
    attr	WHITE
    legend	"snow covered ground"
    ispassable	true
    istransparent true
}

TILE PATH
{
    symbol	'.'
    attr	BROWN
    legend	"path"
    ispassable		true
    istransparent	false
    semitransparent	true
}

TILE GRASS
{
    symbol	'.'
    attr	GREEN
    legend	"grass"
    ispassable		true
    istransparent	true
}

TILE DIRT
{
    symbol	'.'
    attr	BROWN
    legend	"dirt"
    ispassable		true
    istransparent	true
}

TILE MEDITATIONSPOT
{
    symbol	'^'
    attr	GREEN_ISLE
    legend	"sacred isle"
    ispassable		true
    istransparent	true
}

TILE FIELD
{
    symbol	'"'
    attr	BROWN
    legend	"field"
    ispassable		true
    istransparent	true
}

TILE FROZENFIELD
{
    symbol	'"'
    attr	LIGHTBLACK
    legend	"frost-killed field"
    ispassable		true
    istransparent	true
}

TILE FIRE
{
    symbol	'&'
    attr	FIRE
    legend	"cooking fire"
    ispassable	false
    istransparent true
    describe	true
}

TILE TUNNELWALL
{
    symbol	' '
    attr	NORMAL
    legend	"tunnel wall"

    ispassable		false
    istransparent	false
    isdiggable		true
}

TILE WALL
{
    symbol	'#'
    attr	NORMAL
    legend	"wall"

    ispassable		false
    istransparent	false
    isdiggable		true
}

TILE MAZEWALL
{
    symbol	'#'
    attr	NORMAL
    legend	"maze wall"

    ispassable		false
    istransparent	false
    isdiggable		true
}

TILE CAVEWALL
{
    symbol	'#'
    attr	NORMAL
    legend	"cave wall"

    ispassable		false
    istransparent	false
    isdiggable		true
}

TILE FUTURE_FORGE
{
    symbol	'#'
    attr	NORMAL
    legend	"wall"

    ispassable		false
    istransparent	false
    isdiggable		false
}

TILE WOODWALL
{
    symbol	'#'
    attr	BROWN
    legend	"wooden wall"

    ispassable		false
    istransparent	false
    isdiggable		true
}

TILE SOLIDWALL
{
    symbol	'#'
    attr	BROWN
    legend	"wall"

    ispassable		false
    istransparent	false
    isdiggable		false
}

TILE PORTAL
{
    symbol	'*'
    attr	PURPLE
    legend	"portal"

    ispassable		true
    istransparent	true
    isdiggable		false
}

TILE ORANGEPORTAL
{
    symbol	'*'
    attr	ORANGEPORTAL
    legend	"orange portal"

    ispassable		true
    istransparent	true
    isdiggable		false
}

TILE BLUEPORTAL
{
    symbol	'*'
    attr	BLUEPORTAL
    legend	"blue portal"

    ispassable		true
    istransparent	true
    isdiggable		false
}

TILE MOUNTAINPROTOPORTAL
{
    symbol	'^'
    attr	NORMAL
    legend	"mountain"

    ispassable		false
    istransparent	false
    isdiggable		false
}

TILE PROTOPORTAL
{
    symbol	'#'
    attr	NORMAL
    legend	"wall"

    ispassable		false
    istransparent	false
    isdiggable		false
}

TILE USERPROTOPORTAL
{
    symbol	'^'
    attr	NORMAL
    legend	"mountain"

    ispassable		false
    istransparent	false
    isdiggable		false
}

TILE BROKENWALL
{
    symbol	'%'
    attr	NORMAL
    legend	"broken wall"

    ispassable		false
    istransparent	false
    isdiggable		true
}

TILE DOOR
{
    symbol	'+'
    attr	BROWN
    legend	"door"

    ispassable		true
    istransparent	false
    describe	true
}

TILE MAZEDOOR
{
    symbol	'+'
    attr	BROWN
    legend	"door"

    ispassable		true
    istransparent	false
    describe	true
}

TILE SECRETDOOR
{
    symbol	'#'
    attr	WHITE
    legend	"wall"

    ispassable		false
    istransparent	false
}

TILE MOUNTAIN
{
    symbol	'^'
    attr	NORMAL
    legend	"mountain"
    ispassable		false
    istransparent	false
}

TILE ICEMOUNTAIN
{
    symbol	'^'
    attr	WHITE
    legend	"icy mountain"
    ispassable		false
    istransparent	false
}

TILE SNOWYPASS
{
    symbol	'W'
    attr	WHITE
    legend	"snowy pass"
    ispassable		true
    istransparent	true
}

TILE BRIDGE
{
    symbol	'='
    attr	BROWN
    legend	"bridge"

    ispassable		true
    istransparent	true
    describe	true
}

TILE WATER
{
    symbol	'~'
    attr	BLUE
    legend	"water"
    ispassable		false
    istransparent	true
}

TILE ICE
{
    symbol	'~'
    attr	CYAN
    legend	"ice"
    ispassable		true
    istransparent	true
    forbidrandomwander	true
}

TILE BUSH
{
    symbol	'+'
    attr	DKGREEN
    legend	"bushes"

    ispassable		true
    istransparent	true
}

TILE FOREST
{
    symbol	'&'
    attr	DKRGREEN
    legend	"forest"

    ispassable		true
    istransparent	true
}

TILE BAREFOREST
{
    symbol	'&'
    attr	LIGHTBLACK
    legend	"leafless trees"

    ispassable		true
    istransparent	true
}

DEFINE TERRAIN
{
    ENM		tile	TILE 	NONE

    u8		grass	0
    u8		dirt	0
    u8		bush	0
    u8		tree	0
    int		sightrange	30
    int		armyrange	500
}

TERRAIN NONE
{
}

TERRAIN PLAINS
{
    tile	GRASS

    grass	90
    bush	10
    sightrange	100
    armyrange	500
}

TERRAIN BUSHES
{
    tile	BUSH

    grass	10
    bush	90
    sightrange	40
    armyrange	300
}

TERRAIN FOREST
{
    tile	FOREST

    tree	90
    bush	10
    sightrange	15
    armyrange	100
}

TERRAIN WASTE
{
    tile	DIRT

    dirt	90
    grass	10
    sightrange	130
    armyrange	600
}


DEFINE AI
{
    CST		name	"brainless"
    CST		descr	"They are known to wander aimlessly about."
}

AI NONE
{
    name	"Do Nothing"
    descr	"They stand still doing nothing all day.  Much like your brother John."
}

AI SOLDIER
{
    name	"Soldier"
    descr	"They kill enemies and set fire to stuff when bored."
}

AI OFFICER
{
    name	"Officer"
    descr	"They tell soldiers what to kill and try to stop them setting fires."
}

AI STAYHOME
{
    name	"Stay at Home"
    descr	"They stay at their home and do not wander off."
}

AI HOME
{
    name	"Hang around Home"
    descr	"They keep near their home territory."
}

AI CHARGE
{
    name	"Charge on Sight"
    descr	"They charge at any foes as soon as they see them."
}

AI RAT
{
    name	"Attack with Friends"
    descr	"They wait to form a pack before attacking."
}

AI STRAIGHTLINE
{
    name	"Move in Straight Lines"
    descr	"They like to run straight and avoid turning."
}

AI PATHTO
{
    name	"Tracker"
    descr	"They can track a foe across a trackless wasteland."
}

AI ORTHO
{
    name	"Avoids Diagonals"
    descr	"They avoid taking any shortcuts."
}

AI FLANK
{
    name	"Flanks"
    descr	"They dance around to attack from the flanks."
}

AI RANGECOWARD
{
    name	"Attacks from Afar"
    descr	"They keep their distance to attack from afar."
}

AI COWARD
{
    name	"Runs Away"
    descr	"They flee any danger."
}

AI MOUSE
{
    name	"Hugs Walls"
    descr	"They keep close to walls."
}

AI PEACEFUL
{
    name	"Peaceful"
    descr	"They do not seek any battle."
}

AI ADVENTURER
{
    name	"Commits Genocide for Profit"
    descr	"They kill any and all, even if it nets them naught but a dirty rag."
}

AI ORC
{
    name	"Peacefully Inhabits Dungeons"
    descr	"They form the backbone of properly civilized dungeons."
}

DEFINE DISTRIBUTION
{
    CST		name	"none"
    CST		descr	"none"
}

DISTRIBUTION CONSTANT
{
    name	"Always Same"
    descr	"exactly"
}

DISTRIBUTION GAUSSIAN
{
    name	"Usually Similar"
    descr	"about"
}

DISTRIBUTION UNIFORM
{
    name	"Widely Spread"
    descr	"a variable"
}

DISTRIBUTION BIMODAL
{
    name	"Either BIG or small"
    descr	"a highly variable"
}

DEFINE ATTACK
{
    CST		verb	"attack"
    CST		noun	"attack"

    ENM		effect	EFFECT	NONE
    ENM		element	ELEMENT	PHYSICAL
    int		damage		1
    int		chancebonus	0
    ENM		distribution	DISTRIBUTION	UNIFORM
}

ATTACK NONE

ATTACK AVATAR
{
    verb	"punch"
    noun	"fists"

    damage	3
    distribution UNIFORM
}

ATTACK BAYONET
{
    verb	"stab"
    noun	"bayonet"

    damage		1
    distribution	CONSTANT
}

ATTACK SWORD
{
    verb	"slash"
    noun	"sword"

    damage	2
    distribution	CONSTANT
}

ATTACK BROKEN
{
    verb	"bash"
    noun	"broken weapon"

    damage	5
    chancebonus	-3
    distribution BIMODAL
}

ATTACK EDGE
{
    verb	"slash"
    noun	"sword"

    damage		10
    distribution	GAUSSIAN
}

ATTACK EDGE_WOOD
{
    verb	"slash"
    noun	"sword"

    damage		5
    distribution	GAUSSIAN
}

ATTACK EDGE_METAL
{
    verb	"slash"
    noun	"sword"

    damage		15
    distribution	GAUSSIAN
}

ATTACK EDGE_LIGHTMETAL
{
    verb	"slash"
    noun	"sword"

    damage		15
    chancebonus		5
    distribution	GAUSSIAN
}

ATTACK BLUNT
{
    verb	"crush"
    noun	"club"

    damage		10
    distribution	UNIFORM
}

ATTACK BLUNT_METAL
{
    verb	"crush"
    noun	"club"

    damage		15
    distribution	UNIFORM
}

ATTACK BLUNT_LIGHTMETAL
{
    verb	"crush"
    noun	"club"

    damage		5
    chancebonus		5
    distribution	GAUSSIAN
}

ATTACK BLUNT_HEAVYMETAL
{
    verb	"crush"
    noun	"club"

    damage		20
    distribution	GAUSSIAN
}

ATTACK BLUNT_TI
{
    verb	"crush"
    noun	"club"

    damage		15
    chancebonus		5
    distribution	GAUSSIAN
}


ATTACK POINT
{
    verb	"stab"
    noun	"spear"

    damage		10
    distribution	BIMODAL
}

ATTACK POINT_METAL
{
    verb	"stab"
    noun	"spear"

    damage		15
    distribution	BIMODAL
}

ATTACK POINT_HEAVYMETAL
{
    verb	"stab"
    noun	"spear"

    damage		10
    chancebonus		-5
    distribution	BIMODAL
}

ATTACK POINT_LIGHTMETAL
{
    verb	"stab"
    noun	"spear"

    damage		15
    chancebonus		5
    distribution	BIMODAL
}

DEFINE MOB
{
    U8		symbol		'?'
    ENM		attr		ATTR		NORMAL

    CST		name		"unnamed"
    CST		descr		""
    BOOL	isfriendly	false

    ENM		melee_attack	ATTACK	NONE

    bool	range_valid	false
    ENM		range_attack	ATTACK	NONE
    int		range_range	0
    int		range_recharge	4
    U8		range_symbol	'*'
    ENM		range_attr	ATTR	NORMAL

    int		max_hp		1
    int		max_mp		0

    int		damagereduction		0
    int		dodgebonus	0

    int		depth		0
    U8		rarity		100

    ENM		ai		AI		CHARGE

    U8		corpsechance	100
    ENM		corpse_effect	EFFECT	NONE

    int		loot		-1

    ENM		vulnerability	ELEMENT	NONE
    ENM		resistance	ELEMENT NONE
    BOOL	isslow		false
    BOOL	isfast		false
    BOOL	isvampire	false
    BOOL	hidefromlos	false
    BOOL	isregenerate	false
    BOOL	passwall	false
    BOOL	candig		false
    BOOL	swallows	false
    BOOL	breeder		false
    BOOL	isthief		false
    BOOL	canleap		false
    U8		sightrange	100
    BOOL	corrosiveblood	false

    INT		totalkillsever	0
}

MOB NONE
{
    symbol	'!'
    attr	WHITE
    name	"program error"

    rarity	0
}

MOB AVATAR
{
    symbol	'@'
    attr	NORMAL
    isfriendly	true

    ai		NONE

    damagereduction	0
    dodgebonus		0

    melee_attack	SWORD

    max_hp	5
    max_mp	50

    name	"You"
    isslow	true
}

MOB CYAN_OFFICER
{
    symbol	'@'
    attr	CYAN
    ai		OFFICER
    name	"cyan officer"

    depth	1

    max_hp	2
    melee_attack	SWORD
    isfriendly	true
    isslow	true
}

MOB CYAN_SOLDIER
{
    symbol	'@'
    attr	DKCYAN
    ai		SOLDIER
    name	"cyan soldier"

    depth	1

    max_hp	2
    melee_attack	BAYONET
    isfriendly	true
    isslow	true
}

MOB ORANGE_OFFICER
{
    symbol	'@'
    attr	ORANGE
    ai		OFFICER
    name	"orange officer"

    depth	1

    melee_attack	SWORD
    max_hp	2
    isslow	true
}

MOB ORANGE_SOLDIER
{
    symbol	'@'
    attr	DKORANGE
    ai		SOLDIER
    name	"orange soldier"

    depth	1

    melee_attack	BAYONET
    max_hp	2
    isslow	true
}
DEFINE ARMOURSLOT
{
    CST		name		"body"
    INT		coverage	50
}

ARMOURSLOT NONE

DEFINE ITEMCLASS
{
    CST		name	"no class"
    U8		symbol	'~'
}

ITEMCLASS NONE
{
    name	"miscellaneous"
}

ITEMCLASS MELEEWEAPON
{
    name	"melee weapon"
    symbol	'('
}

ITEMCLASS RANGEWEAPON
{
    name	"range weapon"
}

ITEMCLASS ARMOUR
{
    name	"armour"
    symbol	'['
}

ITEMCLASS POTION
{
    name	"potion"
    symbol	'!'
}

ITEMCLASS SPELLBOOK
{
    name	"spellbook"
    symbol	'='
}

ITEMCLASS RING
{
    name	"ring"
}

ITEMCLASS FOOD
{
    name	"food"
    symbol	'%'
}

ITEMCLASS FURNITURE
{
    name	"furniture"
    symbol	'O'
}

DEFINE ITEM
{
    CST		name		"unnamed"
    INT		timer		-1
    INT		rarity		100
    INT		depth		0
    BOOL	thesaurus	false

    BOOL	isflag		false

    U8		symbol		'&'
    ENM		attr	ATTR	CYAN
    
    BOOL	exclusive	false

    BOOL	needsmaterial	false
    BOOL	gildable	false
    U8		mass		1

    ENM		itemclass	ITEMCLASS	NONE

    ENM		spell		SPELL		NONE

    CST		gaintxt		0
    CST		losetxt		0
    BOOL	needtarget	false
    BOOL	unstackable	false    
    int		startstack	1

    ENM		melee_attack	ATTACK	NONE

    int		damagereduction	0
    enm		armourslot	ARMOURSLOT	NONE

    U8		range_range	0
    U8		range_power	0
    U8		range_consistency	0
    U8		range_area	1
    CST		range_verb	"shoot"
    U8		range_symbol	'*'
    ENM		range_attr	ATTR	NORMAL
    ENM		ammo		ITEM	NONE

    BOOL	startsbroken	false
    BOOL	discardextra	false
}

ITEM NONE
{
    name	"Programming Error"
    symbol	'!'
    attr	WHITE
    rarity	0
}

ITEM SLASH_WEAPON
{
    name	"sword"
    symbol	')'
    attr	CYAN
    depth	1
    itemclass	MELEEWEAPON
    needsmaterial	true
    unstackable	true
    melee_attack	EDGE
}

ITEM PIERCE_WEAPON
{
    name	"dagger"
    symbol	')'
    attr	CYAN
    depth	1
    itemclass	MELEEWEAPON
    needsmaterial	true
    melee_attack	POINT
}

ITEM BLUNT_WEAPON
{
    name	"club"
    symbol	')'
    attr	CYAN
    depth	1
    itemclass	MELEEWEAPON
    needsmaterial	true
    unstackable	true
    melee_attack	BLUNT
}

ITEM CHAIR
{
    name	"chair"
    symbol	'h'
    attr	BROWN
    depth	1
    itemclass	FURNITURE
    needsmaterial	true
    gildable	true
    unstackable	true
    mass	2
    thesaurus	true
}

ITEM TABLE
{
    name	"table"
    symbol	'O'
    attr	BROWN
    depth	1
    itemclass	FURNITURE
    needsmaterial	true
    gildable	true
    unstackable	true
    mass	4
    thesaurus	true
}

ITEM SHELF
{
    name	"shelf"
    symbol	'?'
    attr	BROWN
    depth	1
    itemclass	FURNITURE
    needsmaterial	true
    gildable	true
    unstackable	true
    mass	2
    thesaurus	true
}

ITEM BED
{
    name	"bed"
    symbol	'='
    attr	BROWN
    depth	1
    itemclass	FURNITURE
    needsmaterial	true
    gildable	true
    unstackable	true
    mass	2
    thesaurus	true
}

ITEM STATUE
{
    name	"statue"
    symbol	'@'
    attr	BROWN
    depth	1
    itemclass	FURNITURE
    needsmaterial	true
    gildable	true
    unstackable	true
    mass	3
    thesaurus	true
}

ITEM MACGUFFIN
{
    name	"MacGuffin"
    symbol	'*'
    attr	YELLOW
    rarity	0
}

ITEM CORPSE
{
    name	"corpse"
    symbol	'%'
    attr	DKRED
    rarity	0
    itemclass	FOOD
}

ITEM COIN
{
    symbol	'$'
    attr	GOLD
    rarity	0
    name	"coin"
}

ITEM QUICKBOOST
{
    symbol	'!'
    attr	GREEN

    isflag	true

    name	"Running"
    timer	-1
    rarity	0
}

ITEM HASTED
{
    symbol	'!'
    attr	GREEN

    isflag	true

    name	"Hasted"
    timer	10
    rarity	0
    gaintxt	"%S <be> sped up!"
    losetxt	"%S <slow> down!"
}

ITEM BLIND
{
    name	"Blinded"
    timer	10
    rarity	0
    isflag	true
    exclusive	true
    gaintxt	"%S <be> blinded!"
    losetxt	"%S can see!"
}

ITEM ENRAGED
{
    name	"Enraged"
    rarity	0
    isflag	true
    exclusive	true
    gaintxt	"%S <be> enraged!"
    losetxt	"%S <calm> down."
}

ITEM POISON
{
    name	"Poisoned"
    timer	10
    rarity	0
    isflag	true
    gaintxt	"%S <be> poisoned!"
    losetxt	"%S <be> cured."
}

ITEM RESIST
{
    name	"Resist"
    timer	10
    rarity	0
    isflag	true
    gaintxt	"%S <resist> %E!"
    losetxt	"%S no longer <resist> %E."
}

ITEM VULNERABLE
{
    name	"Vulnerable"
    timer	10
    rarity	0
    isflag	true
    gaintxt	"%S <be> vulnerable to %E!"
    losetxt	"%S <be> no longer vulnerable to %E."
}

ITEM PLAGUE
{
    name	"Sick"
    rarity	0
    isflag	true
    exclusive	true
    gaintxt	"%S <fall> sick."
    losetxt	"%S <get> well."
}

ITEM SLOW
{
    name	"Slow"
    timer	4
    rarity	0
    isflag	true
    exclusive	true
    gaintxt	"%r muscles slow."
    losetxt	"%S <regain> normal movement."
}

ITEM INVULNERABLE
{
    name	"Invulnerability"
    timer	50
    isflag	true
    rarity	0
    gaintxt	"%S <become> invulnerable."
    losetxt	"%S <feel> vulnerable."
}


DEFINE SPELL
{
    CST		name		"unnamed"
    CST		verb		"zap"
    CST		runes		"~~~"
    CST		descr		"Does nothing."
    U8		symbol		'*'
    ENM		attr		ATTR		FIRE
    int		mana		0
    BOOL	needsdir	true
    BOOL	piercing	false
    int		radius		1
    int		range		10
    ENM		effect		EFFECT		NONE
    ENM		item		ITEM		NONE
}

SPELL NONE
{
}

DEFINE RING
{
    CST		name		"none"

    ENM		resist		ELEMENT		NONE
    INT		resist_amt	0

    INT		deflect		0
}

RING NONE
{
    name	"plain ring"
}

ITEM SPELLBOOK_RED
{
    name	"red book"
    symbol	'='
    attr	RED
    itemclass	SPELLBOOK
    depth	1
}

ITEM SPELLBOOK_GREEN
{
    name	"green tome"
    symbol	'='
    attr	GREEN
    itemclass	SPELLBOOK
    depth	2
}

ITEM SPELLBOOK_ORANGE
{
    name	"orange novel"
    symbol	'='
    attr	ORANGE
    itemclass	SPELLBOOK
    depth	3
}

ITEM SPELLBOOK_YELLOW
{
    name	"yellow grimoire"
    symbol	'='
    attr	YELLOW
    itemclass	SPELLBOOK
    depth	4
}

ITEM SPELLBOOK_WHITE
{
    name	"white text"
    symbol	'='
    attr	WHITE
    itemclass	SPELLBOOK
    depth	5
}

ITEM SPELLBOOK_GLOWING
{
    name	"glowing scroll"
    symbol	'='
    attr	FIRE
    itemclass	SPELLBOOK
    depth	6
}

ITEM SPELLBOOK_CYAN
{
    name	"poisonous pages"
    symbol	'='
    attr	CYAN
    itemclass	SPELLBOOK
    depth	7
}

ITEM SPELLBOOK_GREY
{
    name	"mundane writings"
    symbol	'='
    attr	GREY
    itemclass	SPELLBOOK
    depth	8
}

ITEM SPELLBOOK_PURPLE
{
    name	"penultimate poetry"
    symbol	'='
    attr	PURPLE
    itemclass	SPELLBOOK
    depth	9
}

ITEM POTION_RED
{
    name	"red potion"
    symbol	'!'
    attr	RED
    itemclass	POTION
    depth	1
}

ITEM POTION_YELLOW
{
    name	"yellow potion"
    symbol	'!'
    attr	YELLOW
    itemclass	POTION
    depth	1
}

ITEM POTION_GREEN
{
    name	"green potion"
    symbol	'!'
    attr	GREEN
    itemclass	POTION
    depth	1
}

ITEM POTION_BLUE
{
    name	"blue potion"
    symbol	'!'
    attr	BLUE
    itemclass	POTION
    depth	1
}

ITEM POTION_PURPLE
{
    name	"purple potion"
    symbol	'!'
    attr	PURPLE
    itemclass	POTION
    depth	1
}

ITEM POTION_WHITE
{
    name	"white potion"
    symbol	'!'
    attr	WHITE
    itemclass	POTION
    depth	1
}

ITEM POTION_GLOWING
{
    name	"glowing potion"
    symbol	'!'
    attr	BLUEPORTAL
    itemclass	POTION
    depth	1
}

ITEM POTION_CYAN
{
    name	"cyan potion"
    symbol	'!'
    attr	CYAN
    itemclass	POTION
    depth	1
}

DEFINE POTION
{
    CST		name		"none"
    ENM		effect		EFFECT		NONE
}

POTION NONE
{
    name		"water"
}

EFFECT POTION_SPEED
{
    type	GAINITEM
    duration	10
    itemflag	HASTED
    amount	10
}

POTION SPEED
{
    name		"potion of speed"
    effect		POTION_SPEED
}

EFFECT POTION_HEAL
{
    type	HEAL
    amount	10
}

POTION HEAL
{
    name		"healing potion"
    effect		POTION_HEAL
}

EFFECT POTION_GREATERHEAL
{
    type	HEAL
    amount	20
}

EFFECT POTION_FULLHEAL
{
    type	HEAL
    amount	50
}

POTION GREATERHEAL
{
    name		"greater healing potion"
    effect		POTION_GREATERHEAL
}

POTION ACIDVULN
{
    name		"vial of acid vulnerability"
    effect		POTION_ACIDVULN
}

EFFECT POTION_ACIDVULN
{
    type	VULNERABLE
    element	ACID
    amount	10
    duration	15
    distribution	GAUSSIAN
}

POTION ACIDRESIST
{
    name		"oil of acid resistance"
    effect		POTION_ACIDRESIST
}

EFFECT POTION_ACIDRESIST
{
    type	RESIST
    element	ACID
    amount	10
    duration	15
    distribution	GAUSSIAN
}

EFFECT POTION_ACID
{
    type	DAMAGE
    element	ACID
    amount	15
    distribution	BIMODAL
}

POTION ACID
{
    name		"bottle of acid"
    effect		POTION_ACID
}

EFFECT POTION_POISON
{
    type	POISON
    element	POISON
    amount	5
    duration	10
    distribution	GAUSSIAN
}

POTION POISON
{
    name		"poison potion"
    effect		POTION_POISON
}

EFFECT POTION_CURE
{
    type	CURE
}

POTION CURE
{
    name		"cure potion"
    effect		POTION_CURE
}

DEFINE MATERIAL
{
    CST		name		"ether"
    CST		adjname		"ether"

    BOOL	gildable	false
    U8		depth		0
    ENM		attr		ATTR		WHITE
    BOOL	burnable	false
    BOOL	corrodable	false
}

MATERIAL NONE
{
    name	"plogiston"
}

MATERIAL WOOD
{
    name	"wood"
    adjname	"wooden"
    depth	0
    attr	BROWN
    burnable	true
}

MATERIAL STONE
{
    name	"stone"
    adjname	"stone"
    depth	2
    attr	DKGREY
}

MATERIAL IRON
{
    name	"iron"
    adjname	"iron"
    depth	3
    gildable	true
    attr	GREY
    corrodable	true
}

MATERIAL SILVER
{
    name	"silver"
    adjname	"silver"
    depth	3
    gildable	true
    attr	WHITE
}

MATERIAL STEEL
{
    name	"steel"
    adjname	"steel"
    depth	4
    gildable	true
    attr	CYAN
    corrodable	true
}

MATERIAL GOLD
{
    name	"gold"
    adjname	"gold"
    depth	4
    gildable	true
    attr	GOLD
}

MATERIAL ALUMINUM
{
    name	"aluminum"
    adjname	"aluminum"
    depth	5
    gildable	true
    attr	LTGREY
}

MATERIAL TITANIUM
{
    name	"titanium"
    adjname	"titanium"
    depth	5
    gildable	true
    attr	LIGHTBLUE
}

EFFECT SPELL_HEAL
{
    type	HEAL
    amount	5
}
EFFECT SPELL_HEAL_TI
{
    type	HEAL
    amount	20
}

EFFECT SPELL_CREATEFOOD
{
    type 	GAINFOOD
    amount	100
}

EFFECT SPELL_SMASH
{
    type	DAMAGE
    element	PHYSICAL
    amount	10
    distribution	GAUSSIAN
}
EFFECT SPELL_SMASH_TI
{
    type	DAMAGE
    element	PHYSICAL
    amount	30
}

EFFECT SPELL_BURN
{
    type	DAMAGE
    element	FIRE
    amount	10
    distribution	GAUSSIAN
}
EFFECT SPELL_BURN_TI
{
    type	DAMAGE
    element	FIRE
    amount	30
    distribution	GAUSSIAN
}

EFFECT SPELL_ZAP
{
    type	DAMAGE
    element	ELECTRICITY
    amount	15
    distribution	BIMODAL
}
EFFECT SPELL_ZAP_TI
{
    type	DAMAGE
    element	ELECTRICITY
    amount	35
    distribution	BIMODAL
}

EFFECT SPELL_POISON
{
    type	POISON
    amount	10
    duration	10
    distribution	GAUSSIAN
}
EFFECT SPELL_POISON_TI
{
    type	POISON
    duration	50
    amount	50
    distribution	GAUSSIAN
}


EFFECT SPELL_VULNFIRE
{
    type	VULNERABLE
    element	FIRE
    duration	10
}
EFFECT SPELL_VULNFIRE_TI
{
    type	VULNERABLE
    element	FIRE
    duration	50
}

EFFECT SPELL_VULNZAP
{
    type	VULNERABLE
    element	ELECTRICITY
    duration	10
}
EFFECT SPELL_VULNZAP_TI
{
    type	VULNERABLE
    element	ELECTRICITY
    duration	50
}

EFFECT SPELL_CURE
{
    type	CURE
}

EFFECT SPELL_RESISTFIRE
{
    type	RESIST
    element	FIRE
    duration	10
}
EFFECT SPELL_RESISTFIRE_TI
{
    type	RESIST
    element	FIRE
    duration	50
}

EFFECT SPELL_RESISTZAP
{
    type	RESIST
    element	ELECTRICITY
    duration	10
}
EFFECT SPELL_RESISTZAP_TI
{
    type	RESIST
    element	ELECTRICITY
    duration	50
}

EFFECT SPELL_SPEED
{
    type	GAINITEM
    itemflag	HASTED
    duration	10
}
EFFECT SPELL_SPEED_TI
{
    type	GAINITEM
    itemflag	HASTED
    duration	50
}

EFFECT SPELL_SLOW
{
    type	GAINITEM
    itemflag	SLOW
    duration	10
}
EFFECT SPELL_SLOW_TI
{
    type	GAINITEM
    itemflag	SLOW
    duration	50
}

DEFINE KEY
{
    u8		val	' '
}

KEY MOVE_N
{
    val		'k'
}
KEY MOVE_NE
{
    val		'u'
}
KEY MOVE_NW
{
    val		'y'
}
KEY MOVE_S
{
    val		'j'
}
KEY MOVE_SE
{
    val		'n'
}
KEY MOVE_SW
{
    val		'b'
}
KEY MOVE_STAY
{
    val		'w'
}
KEY MOVE_E
{
    val		'l'
}
KEY MOVE_W
{
    val		'h'
}
KEY OVERMAPTOGGLE
{
    val		'o'
}
KEY SIMULATETOGGLE
{
    val		's'
}
KEY WAYPOINT
{
    val		'c'
}
KEY TELESCOPE
{
    val		't'
}
KEY RECENTER
{
    val		'r'
}
KEY SWITCHSIDE
{
    val		'z'
}
