%name feat
%prefix TILE
%startvalue TILE_WALL_MAX tiledef-wall.h

%sdir dc-dngn/trees
tree1 DNGN_TREE
tree2

%variation DNGN_TREE yellow
tree1_yellow DNGN_TREE_YELLOW
tree2_yellow

%variation DNGN_TREE lightred
tree1_lightred DNGN_TREE_LIGHTRED
tree2_lightred

%variation DNGN_TREE red
tree1_red DNGN_TREE_RED
tree2_red

# this may need to change, but it should make things a bit simpler
%variation DNGN_TREE darkgray
tree1_dead DNGN_TREE_DEAD
tree2_dead

%weight 10
mangrove1 DNGN_SWAMP_TREE
%weight 8
mangrove2
%weight 5
mangrove3

## doors
%sdir dc-dngn
dngn_detected_secret_door DNGN_DETECTED_SECRET_DOOR
dngn_closed_door DNGN_CLOSED_DOOR
gate_closed_left DNGN_GATE_CLOSED_LEFT
gate_closed_middle DNGN_GATE_CLOSED_MIDDLE
gate_closed_right DNGN_GATE_CLOSED_RIGHT
dngn_open_door DNGN_OPEN_DOOR
gate_open_left DNGN_GATE_OPEN_LEFT
gate_open_middle DNGN_GATE_OPEN_MIDDLE
gate_open_right DNGN_GATE_OPEN_RIGHT

## Alternate doors for vaults, etc. Should be in the order listed above for
## doors which also provide gateways; otherwise detected, closed, open, or
## closed, open.
%sdir dc-dngn/gateways
fleshy_orifice_closed DNGN_FLESHY_ORIFICE
fleshy_orifice_open

%sdir dc-dngn/gateways
dngn_stone_arch DNGN_STONE_ARCH

%sdir dc-dngn/statues
dngn_orcish_idol DNGN_ORCISH_IDOL
# dungeon statues
%weight 5
dngn_statue_dwarf_axe DNGN_GRANITE_STATUE
%weight 3
dngn_statue_dwarf_mace
%weight 2
dngn_statue_dwarf_sword
%weight 5
dngn_statue_centaur
%syn DNGN_STATUE_CENTAUR
%weight 3
dngn_statue_centaur2
%weight 8
dngn_statue_mermaid
%syn DNGN_STATUE_MERMAID
dngn_statue_naga
%syn DNGN_STATUE_NAGA
dngn_statue_dragon
%syn DNGN_STATUE_DRAGON
dngn_statue_head
dngn_statue_eye
%weight 5
dngn_statue_snail
dngn_statue_troll
%syn DNGN_STATUE_TROLL
dngn_statue_cat
%syn DNGN_STATUE_CAT
%weight 3
dngn_statue_skull
%syn DNGN_STATUE_SKULL
dngn_statue_elephant
%syn DNGN_STATUE_ELEPHANT
%weight 1
dngn_statue_ancient_hero
%syn DNGN_STATUE_ANCIENT_HERO
# damaged statues
dngn_crumbled_column DNGN_CRUMBLED_COLUMN
dngn_granite_stump DNGN_GRANITE_STUMP

## Features only used in certain minivaults
%sdir dc-dngn/vaults

## Reworked statues for Zonguldrok Wizlab: gravestones
gravestone_blank DNGN_GRAVESTONE
gravestone_writing1
gravestone_writing2
gravestone_ornate DNGN_GRAVESTONE_ORNATE

## strange machine for Tukima's Wizlab
machine_tukima DNGN_MACHINE_TUKIMA

## tiles for the_teleporter vaults
the_teleporter_vaults DNGN_THE_TELEPORTER_VAULTS
the_teleporter_ice_cave DNGN_THE_TELEPORTER_ICE_CAVE

# A couple of placeholders in case we absolutely need
# to add some more tiles for vault design.
# (In response to error messages, basically.)
dc-misc/error PLACEHOLDER1
dc-misc/error PLACEHOLDER2
dc-misc/error PLACEHOLDER3
dc-misc/error PLACEHOLDER4
dc-misc/error PLACEHOLDER5
dc-misc/error PLACEHOLDER6
dc-misc/error PLACEHOLDER7
dc-misc/error PLACEHOLDER8

%sdir dc-dngn/traps
## traps
dart DNGN_TRAP_DART
arrow DNGN_TRAP_ARROW
needle DNGN_TRAP_NEEDLE
bolt DNGN_TRAP_BOLT
spear DNGN_TRAP_SPEAR
axe DNGN_TRAP_AXE
blade DNGN_TRAP_BLADE
net DNGN_TRAP_NET
alarm DNGN_TRAP_ALARM
shaft DNGN_TRAP_SHAFT
teleport DNGN_TRAP_TELEPORT
zot DNGN_TRAP_ZOT
pressure_plate DNGN_TRAP_PLATE

## stairs
%sdir dc-dngn/gateways
dngn_exit_dungeon DNGN_EXIT_DUNGEON
stone_stairs_down DNGN_STONE_STAIRS_DOWN
stone_stairs_up DNGN_STONE_STAIRS_UP
escape_hatch_down DNGN_ESCAPE_HATCH_DOWN
escape_hatch_up DNGN_ESCAPE_HATCH_UP
dngn_enter DNGN_ENTER
%rim 1
dngn_return DNGN_RETURN
%rim 0

%sdir dc-dngn/shops
##dngn_enter_shop DNGN_ENTER_SHOP
%shrink 0
%back dngn_enter_shop
shop_general SHOP_GENERAL
shop_weapon SHOP_WEAPONS
shop_armour SHOP_ARMOUR
shop_food SHOP_FOOD
shop_books SHOP_BOOKS
shop_scrolls SHOP_SCROLLS
shop_wands SHOP_WANDS
shop_jewellery SHOP_JEWELLERY
shop_potions SHOP_POTIONS
%back none
%shrink 1
dngn_abandoned_shop DNGN_ABANDONED_SHOP
%sdir dc-dngn

## from here on multiple tile definitions are CHANGEABLE, i.e. they may
## change from turn to turn
floor/lava0 DNGN_LAVA
floor/lava1
floor/lava2
floor/lava3

## water
%sdir dc-dngn/water
%weight 3
dngn_open_sea DNGN_OPEN_SEA
%weight 1
dngn_open_sea2

%weight 2
dngn_deep_water DNGN_DEEP_WATER
%weight 1
dngn_deep_water2

%weight 3
dngn_shallow_water DNGN_SHALLOW_WATER
%weight 1
dngn_shallow_water2
dngn_shallow_water_disturbance DNGN_SHALLOW_WATER_DISTURBANCE
dngn_shallow_water_disturbance2
%weight 2
dngn_deep_water_murky DNGN_DEEP_WATER_MURKY
%weight 1
dngn_deep_water_murky2
%weight 3
dngn_shallow_water_murky DNGN_SHALLOW_WATER_MURKY
%weight 1
dngn_shallow_water_murky2
dngn_shallow_water_murky_disturbance DNGN_SHALLOW_WATER_MURKY_DISTURBANCE
dngn_shallow_water_murky_disturbance2

grey_dirt_bb SHORE_N
grey_dirt_bl SHORE_W
grey_dirt_br SHORE_E
grey_dirt_bcl SHORE_NW
grey_dirt_bcr SHORE_NE

dngn_shallow_bord_top DNGN_WAVE_N
dngn_shallow_bord_tr DNGN_WAVE_NE
dngn_shallow_bord_rgt DNGN_WAVE_E
dngn_shallow_bord_br DNGN_WAVE_SE
dngn_shallow_bord_btm DNGN_WAVE_S
dngn_shallow_bord_bl DNGN_WAVE_SW
dngn_shallow_bord_lft DNGN_WAVE_W
dngn_shallow_bord_tl DNGN_WAVE_NW

# Make all base variants equally likely, but their special ones less so.
%weight 4
dngn_shoals_deep_water1 SHOALS_DEEP_WATER
%weight 2
dngn_shoals_deep_water1_shape
%weight 4
dngn_shoals_deep_water2
%weight 1
dngn_shoals_deep_water2_shape
dngn_shoals_deep_water2_bubbles
%weight 4
dngn_shoals_deep_water3
%weight 2
dngn_shoals_deep_water3_bubbles
%weight 4
dngn_shoals_deep_water4
%weight 2
dngn_shoals_deep_water4_bubbles
%weight 1
dngn_shoals_shallow_water1 SHOALS_SHALLOW_WATER
dngn_shoals_shallow_water2
dngn_shoals_shallow_water3
dngn_shoals_shallow_water4
dngn_shoals_shallow_water_disturbance1 SHOALS_SHALLOW_WATER_DISTURBANCE
dngn_shoals_shallow_water_disturbance2
dngn_shoals_shallow_water_disturbance3

%shrink 0
## deep water waves
# corner waves (diagonals)
deep_water_wave_corner_NE WAVE_DEEP_CORNER_NE
deep_water_wave_corner_NW WAVE_DEEP_CORNER_NW
deep_water_wave_corner_SE WAVE_DEEP_CORNER_SE
deep_water_wave_corner_SW WAVE_DEEP_CORNER_SW

# orthogonal waves
deep_water_wave_N WAVE_DEEP_N
deep_water_wave_S WAVE_DEEP_S
deep_water_wave_E WAVE_DEEP_E
deep_water_wave_W WAVE_DEEP_W

## shallow water waves
# corner waves (diagonals)
shallow_water_wave_corner_NE WAVE_CORNER_NE
shallow_water_wave_corner_NW WAVE_CORNER_NW
shallow_water_wave_corner_SE WAVE_CORNER_SE
shallow_water_wave_corner_SW WAVE_CORNER_SW

# orthogonal waves
shallow_water_wave_N WAVE_N
shallow_water_wave_S WAVE_S
shallow_water_wave_E WAVE_E
shallow_water_wave_W WAVE_W

## ink sheen
# corner waves (diagonals)
ink_wave_corner_NE WAVE_INK_CORNER_NE
ink_wave_corner_NW WAVE_INK_CORNER_NW
ink_wave_corner_SE WAVE_INK_CORNER_SE
ink_wave_corner_SW WAVE_INK_CORNER_SW

# orthogonal waves
ink_wave_N WAVE_INK_N
ink_wave_S WAVE_INK_S
ink_wave_E WAVE_INK_E
ink_wave_W WAVE_INK_W

#full
ink_full WAVE_INK_FULL
%shrink 1
liquefaction1 LIQUEFACTION
liquefaction2

%sdir dc-dngn/gateways
dngn_entrance DNGN_UNSEEN_ENTRANCE
%rim 1
dngn_enter_hell DNGN_ENTER_HELL
dngn_enter_zot_closed DNGN_ENTER_ZOT_CLOSED
dngn_enter_zot_open DNGN_ENTER_ZOT_OPEN
%rim 0
dngn_return_zot DNGN_RETURN_ZOT
dngn_enter_dis DNGN_ENTER_DIS
dngn_enter_gehenna DNGN_ENTER_GEHENNA
dngn_enter_cocytus DNGN_ENTER_COCYTUS
dngn_enter_tartarus DNGN_ENTER_TARTARUS
dngn_return_hell DNGN_RETURN_HELL

dngn_enter_abyss DNGN_ENTER_ABYSS
dngn_exit_abyss DNGN_EXIT_ABYSS
dngn_exit_abyss_flickering

dngn_enter_labyrinth DNGN_ENTER_LABYRINTH
dngn_enter_pandemonium DNGN_ENTER_PANDEMONIUM
dngn_portal DNGN_PORTAL
dngn_portal_rotated
dngn_starry_portal DNGN_STARRY_PORTAL
%rim 1
dngn_transit_pandemonium DNGN_TRANSIT_PANDEMONIUM
%rim 0

# portal vault entrances
volcano_portal DNGN_PORTAL_VOLCANO
sewer_portal DNGN_PORTAL_SEWER
sewer_portal_rusted DNGN_PORTAL_SEWER_RUSTED
ice_cave_portal DNGN_PORTAL_ICE_CAVE
wizlab_portal0 DNGN_PORTAL_WIZARD_LAB
wizlab_portal1
wizlab_portal2
wizlab_portal3
wizlab_portal4
wizlab_portal5
wizlab_portal6
wizlab_portal7
wizlab_portal8
# More placeholders for portal vault entries
dc-misc/error PLACEHOLDER9
dc-misc/error PLACEHOLDER10
dc-misc/error PLACEHOLDER11
dc-misc/error PLACEHOLDER12
dc-misc/error PLACEHOLDER13
dc-misc/error PLACEHOLDER14
dc-misc/error PLACEHOLDER15
dc-misc/error PLACEHOLDER16
dc-misc/error PLACEHOLDER17
dc-misc/error PLACEHOLDER18

%sdir dc-dngn/altars
dngn_altar DNGN_UNSEEN_ALTAR
dngn_altar_zin DNGN_ALTAR_ZIN
dngn_altar_shining_one DNGN_ALTAR_SHINING_ONE
dngn_altar_kikubaaqudgha DNGN_ALTAR_KIKUBAAQUDGHA
dngn_altar_yredelemnul DNGN_ALTAR_YREDELEMNUL
dngn_altar_xom0 DNGN_ALTAR_XOM
dngn_altar_xom1
dngn_altar_xom2
dngn_altar_xom3
dngn_altar_xom4
dngn_altar_xom5
dngn_altar_xom6
dngn_altar_xom7
dngn_altar_vehumet DNGN_ALTAR_VEHUMET
dngn_altar_okawaru DNGN_ALTAR_OKAWARU
dngn_altar_makhleb_flame1 DNGN_ALTAR_MAKHLEB
dngn_altar_makhleb_flame2
dngn_altar_makhleb_flame3
dngn_altar_makhleb_flame4
dngn_altar_makhleb_flame5
dngn_altar_makhleb_flame6
dngn_altar_makhleb_flame7
dngn_altar_makhleb_flame8
dngn_altar_sif_muna DNGN_ALTAR_SIF_MUNA
dngn_altar_trog DNGN_ALTAR_TROG
dngn_altar_nemelex_xobeh DNGN_ALTAR_NEMELEX_XOBEH
dngn_altar_elyvilon DNGN_ALTAR_ELYVILON
dngn_altar_lugonu DNGN_ALTAR_LUGONU
dngn_altar_beogh DNGN_ALTAR_BEOGH
dngn_altar_jiyva01 DNGN_ALTAR_JIYVA
dngn_altar_jiyva02
dngn_altar_jiyva03
dngn_altar_jiyva04
dngn_altar_jiyva05
dngn_altar_jiyva06
dngn_altar_jiyva07
dngn_altar_jiyva08
dngn_altar_jiyva09
dngn_altar_jiyva10
dngn_altar_jiyva11
%rim 1
dngn_altar_fedhas DNGN_ALTAR_FEDHAS
%rim 0
dngn_altar_cheibriados_12 DNGN_ALTAR_CHEIBRIADOS
dngn_altar_cheibriados_10
dngn_altar_cheibriados_09
dngn_altar_cheibriados_08
dngn_altar_cheibriados_06
dngn_altar_cheibriados_04
dngn_altar_cheibriados_03
dngn_altar_cheibriados_02
dngn_altar_ashenzari DNGN_ALTAR_ASHENZARI

%sdir dc-dngn
dngn_blue_fountain DNGN_FOUNTAIN DNGN_BLUE_FOUNTAIN
dngn_blue_fountain2

dngn_sparkling_fountain DNGN_SPARKLING_FOUNTAIN
dngn_sparkling_fountain2
dngn_blood_fountain DNGN_BLOOD_FOUNTAIN
dngn_blood_fountain2
dngn_dry_fountain DNGN_DRY_FOUNTAIN

%variation DNGN_DRY_FOUNTAIN white
%desat 30
%lum 30 80
%desat 0
%lum 0 45
%repeat DNGN_DRY_FOUNTAIN DNGN_DRY_FOUNTAIN_WHITE
%resetcol

## Miscellaneous entries that get drawn on the background.
## Flavour is fixed again.
%sdir dc-misc/blood
blood_red BLOOD
blood_red1
blood_red2
blood_red3
blood_red4
wall_blood1_s WALL_BLOOD_S
wall_blood2_s
wall_blood3_s
wall_blood4_s
wall_blood5_s
wall_blood6_s
wall_blood7_s
wall_blood8_s
wall_blood1_w WALL_BLOOD_W
wall_blood2_w
wall_blood3_w
wall_blood4_w
wall_blood5_w
wall_blood6_w
wall_blood7_w
wall_blood8_w
wall_blood1_n WALL_BLOOD_N
wall_blood2_n
wall_blood3_n
wall_blood4_n
wall_blood5_n
wall_blood6_n
wall_blood7_n
wall_blood8_n
wall_blood1_e WALL_BLOOD_E
wall_blood2_e
wall_blood3_e
wall_blood4_e
wall_blood5_e
wall_blood6_e
wall_blood7_e
wall_blood8_e
%sdir dc-misc
halo HALO
effect/halo_range HALO_RANGE
effect/halo_range_silenced HALO_RANGE_SILENCED
ray RAY
ray_out_of_range RAY_OUT_OF_RANGE
travel_exclusion TRAVEL_EXCLUSION_BG
travel_exclusion_centre TRAVEL_EXCLUSION_CENTRE_BG
slot ITEM_SLOT
effect/sanctuary SANCTUARY
mold_small1 MOLD
mold_small2
mold_small3
mold_small4
mold_glowing1 GLOWING_MOLD
mold_glowing2
mold_glowing3
mold_glowing4
effect/silenced SILENCED
%shrink 0
%sdir dc-mon/tentacles/kraken_corners
kraken_corner_NW KRAKEN_OVERLAY_NW
kraken_corner_NE KRAKEN_OVERLAY_NE
kraken_corner_SE KRAKEN_OVERLAY_SE
kraken_corner_SW KRAKEN_OVERLAY_SW
%sdir dc-mon/tentacles/eldritch_corners
eldritch_corner_NW ELDRITCH_OVERLAY_NW
eldritch_corner_NE ELDRITCH_OVERLAY_NE
eldritch_corner_SE ELDRITCH_OVERLAY_SE
eldritch_corner_SW ELDRITCH_OVERLAY_SW
