wesnoth/data/core/terrain-graphics.cfg
Steve Cotton f6c48953f6
Overlay deprecated terrains in the editor with a magenta "D" (#4374)
The image is a fully opaque letter, but leaving many completely transparent
pixels to see the underlying hex. When replacing the old mushroom overlay, it's
helpful to be able to easily recognise the base terrain.
2019-09-27 22:55:11 +02:00

996 lines
61 KiB
INI

#textdomain wesnoth
#wmlindent: start ignoring
# This file needs to be processed *after* all others in this directory
#
# The following flags are defined to have a meaning
#
# * base : the corresponding tile has already graphics for the terrain
# base. No other one should be added.
# * transition-$direction : the corresponding tile already has the transition
# in the given direction (or should not have one). No other one should be
# added.
#
# when adding new probabilities update the commented line
# the proper way to calculate the propabilities is described here
# https://www.wesnoth.org/wiki/TerrainGraphicsTutorial#Cumulative_Probabilities
# NOTE the terrain _off^_usr gets its definition from the code since it's
# themable
# Editor overlays - for overlays that should only be visible in the editor
{EDITOR_OVERLAY *^Xo impassable-editor}
{EDITOR_OVERLAY *^Qov unwalkable-editor}
{EDITOR_OVERLAY *^Vov village/village-overlay-editor}
{EDITOR_OVERLAY *^Cov castle/castle-overlay-editor}
{EDITOR_OVERLAY *^Kov castle/keep-overlay-editor}
{EDITOR_OVERLAY *^_s fake-shroud-editor}
# Deprecated terrains, shown normally in-game but visible in the editor
{EDITOR_DEPRECATED *^Uf*}
{EDITOR_DEPRECATED Xol}
{EDITOR_DEPRECATED Xuce}
# Tracks and bridges
# basic stone bridge
{BRIDGE:STRAIGHTS Bsb\ Bsb| Bsb/ * * * stonebridge -80 bridge/stonebridge}
{BRIDGE:ENDS Bsb\ Bsb| Bsb/ * (Co*,Cu*,Ko*,Ku*) * stonebridge -80 bridge/stonebridge-castle}
{BRIDGE:ENDS Bsb\ Bsb| Bsb/ * (C*,K*) * stonebridge -80 bridge/stonebridge-castle}
{BRIDGE:ENDS Bsb\ Bsb| Bsb/ * (C*,K*) * stonebridge -80 bridge/stonebridge-short}
{BRIDGE:ENDS Bsb\ Bsb| Bsb/ * (W*,S*) * stonebridge -80 bridge/stonebridge-water}
{BRIDGE:ENDS Bsb\ Bsb| Bsb/ * * * stonebridge -80 bridge/stonebridge}
# hanging bridge
{BRIDGE:STRAIGHTS Bh\ Bh| Bh/ Q* Q* * hanging -80 bridge/hanging-xx}
{BRIDGE:STRAIGHTS Bh\ Bh| Bh/ Q* * * hanging -80 bridge/hanging-x}
{BRIDGE:STRAIGHTS Bh\ Bh| Bh/ * * * hanging -80 bridge/hanging}
{BRIDGE:ENDS Bh\ Bh| Bh/ Q* (W*,S*) * hanging -80 bridge/hanging-wx}
{BRIDGE:ENDS Bh\ Bh| Bh/ Q* (C*,K*) * hanging -80 bridge/hanging-cx}
{BRIDGE:ENDS Bh\ Bh| Bh/ Q* * * hanging -80 bridge/hanging-x}
{BRIDGE:ENDS Bh\ Bh| Bh/ * (W*,S*) * hanging -80 bridge/hanging-w}
{BRIDGE:ENDS Bh\ Bh| Bh/ * (C*,K*) * hanging -80 bridge/hanging-c}
{BRIDGE:ENDS Bh\ Bh| Bh/ * * * hanging -80 bridge/hanging}
# chasm stone bridge
{BRIDGE:STRAIGHTS Bcx\ Bcx| Bcx/ * Ql* Ql* chasm -80 bridge/chasm-ll}
{BRIDGE:STRAIGHTS Bcx\ Bcx| Bcx/ * Ql* Q* chasm -80 bridge/chasm-lx}
{BRIDGE:STRAIGHTS Bcx\ Bcx| Bcx/ * Q* Ql* chasm -80 bridge/chasm-xl}
{BRIDGE:STRAIGHTS Bcx\ Bcx| Bcx/ * Q* Q* chasm -80 bridge/chasm-xx}
{BRIDGE:STRAIGHTS Bcx\ Bcx| Bcx/ * * * chasm -80 bridge/chasm}
{BRIDGE:ENDS Bcx\ Bcx| Bcx/ Ql* Ql* Ql* chasm -80 bridge/chasm-dock-ll}
{BRIDGE:ENDS Bcx\ Bcx| Bcx/ Ql* Ql* Q* chasm -80 bridge/chasm-dock-lx}
{BRIDGE:ENDS Bcx\ Bcx| Bcx/ Qx* Qx* Ql* chasm -80 bridge/chasm-dock-xl}
{BRIDGE:ENDS Bcx\ Bcx| Bcx/ Qx* Qx* Qx* chasm -80 bridge/chasm-dock-xx}
{BRIDGE:ENDS Bcx\ Bcx| Bcx/ Ql* Q* Ql* chasm -80 bridge/chasm-dock-ll}
{BRIDGE:ENDS Bcx\ Bcx| Bcx/ Ql* Q* Q* chasm -80 bridge/chasm-dock-lx}
{BRIDGE:ENDS Bcx\ Bcx| Bcx/ Q* Q* Ql* chasm -80 bridge/chasm-dock-xl}
{BRIDGE:ENDS Bcx\ Bcx| Bcx/ Q* Q* Q* chasm -80 bridge/chasm-dock-xx}
{BRIDGE:ENDS Bcx\ Bcx| Bcx/ * Ql* * chasm -80 bridge/chasm-dock-l}
{BRIDGE:ENDS Bcx\ Bcx| Bcx/ * Q* * chasm -80 bridge/chasm-dock}
{BRIDGE:ENDS Bcx\ Bcx| Bcx/ * * Qx* chasm -80 bridge/chasm-x}
{BRIDGE:ENDS Bcx\ Bcx| Bcx/ * * Ql* chasm -80 bridge/chasm-l}
{BRIDGE:ENDS Bcx\ Bcx| Bcx/ * * * chasm -80 bridge/chasm}
# plank bridge
{BRIDGE:JOINTS Bp\ Bp| Bp/ * Q* planks -80 bridge/planks}
{BRIDGE:JOINTS Bp\ Bp| Bp/ * * planks -80 bridge/planks-short}
{BRIDGE:CORNERS Bp\ Bp| Bp/ * Q* planks -80 bridge/planks}
{BRIDGE:CORNERS Bp\ Bp| Bp/ * * planks -80 bridge/planks-short}
{BRIDGE:STRAIGHTS Bp\ Bp| Bp/ * * Q* planks -80 bridge/planks}
{BRIDGE:STRAIGHTS Bp\ Bp| Bp/ * * * planks -80 bridge/planks-short}
{BRIDGE:ENDS Bp\ Bp| Bp/ * Q* Q* planks -80 bridge/planks-dock}
{BRIDGE:ENDS Bp\ Bp| Bp/ * Q* * planks -80 bridge/planks-short-dock}
{BRIDGE:ENDS Bp\ Bp| Bp/ * * Q* planks -80 bridge/planks}
{BRIDGE:ENDS Bp\ Bp| Bp/ * * * planks -80 bridge/planks-short}
# TRACK LAYOUT MUST STAY ON TOP
# they set flags that will be used by other macros later.
# they don't set any image by themselves.
{LAYOUT_TRACKS_F *^Bw\* *^Bw|* *^Bw/* track_wood}
{LAYOUT_TRACKS_F *^Br\ *^Br| *^Br/ track_rail}
# Mine rail tracks
{TRACK_COMPLETE *^Br\ *^Br| *^Br/ track_rail misc/rails}
# add transition rail<->rail wherever images are missing
{TRACK_BORDER_RESTRICTED_PLF (*^Br/,*^Br\) *^Br| 100 -80 track_rail misc/rails-switch-ns}
{TRACK_BORDER_RESTRICTED_PLF (*^Br|,*^Br/) *^Br\ 100 -80 track_rail misc/rails-switch-nwse}
{TRACK_BORDER_RESTRICTED_PLF (*^Br|,*^Br\) *^Br/ 100 -80 track_rail misc/rails-switch-nesw}
#add transitions at rail end
{TRACK_BORDER_RESTRICTED_PLF (*^Br|,*^Br/,*^Br\) (!,C*,K*) 100 -80 track_rail misc/rails-end}
# basic images for the bridge
{TRACK_COMPLETE *^Bw\ *^Bw| *^Bw/ track_wood bridge/wood}
{TRACK_COMPLETE *^Bw\r *^Bw|r *^Bw/r track_wood bridge/wood-rotting}
# add transition bridges<->bridges wherever images are missing
{TRACK_BORDER_RESTRICTED_PLF (*^Bw|*,*^Bw/*,*^Bw\*) (*^Bw|*,*^Bw/*,*^Bw/*) 100 -80 track_wood bridge/wood-end}
# add dock-style ends to bridges ending in water
{TRACK_BORDER_RESTRICTED_PLF (*^Bw|*,*^Bw/*,*^Bw\*) (W*^,Ss^,Ai^) 100 -80 track_wood bridge/wood-dock}
# add ramps where straight bridges end on land
{TRACK_BORDER_RESTRICTED_PLF (*^Bw|*,*^Bw/*,*^Bw\*) (!,C*,K*) 100 -80 track_wood bridge/wood-end}
# Forests
#define SMALL_FOREST_FILTER
C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*,_off^_usr#enddef
{NEW:FOREST H*^Fp,M*^Fp {SMALL_FOREST_FILTER} forest/pine-sparse}
{NEW:FOREST *^Fp {SMALL_FOREST_FILTER} forest/pine}
{NEW:FOREST H*^Fpa,M*^Fpa {SMALL_FOREST_FILTER} forest/snow-forest-sparse}
{NEW:FOREST *^Fpa {SMALL_FOREST_FILTER} forest/snow-forest}
{NEW:FOREST H*^Ft,M*^Ft {SMALL_FOREST_FILTER} forest/tropical/jungle-sparse}
{NEW:FOREST *^Ft {SMALL_FOREST_FILTER} forest/tropical/jungle}
{NEW:FOREST H*^Ftd,M*^Ftd {SMALL_FOREST_FILTER} forest/tropical/palm-desert-sparse}
{NEW:FOREST *^Ftd {SMALL_FOREST_FILTER} forest/tropical/palm-desert}
{NEW:FOREST H*^Ftp,M*^Ftp {SMALL_FOREST_FILTER} forest/tropical/palms-sparse}
{NEW:FOREST *^Ftp {SMALL_FOREST_FILTER} forest/tropical/palms}
{NEW:FOREST *^Ftr {SMALL_FOREST_FILTER} forest/tropical/rainforest}
{NEW:FOREST H*^Fts,M*^Fts {SMALL_FOREST_FILTER} forest/tropical/savanna-sparse}
{NEW:FOREST *^Fts {SMALL_FOREST_FILTER} forest/tropical/savanna}
{NEW:FOREST H*^Fds,M*^Fds {SMALL_FOREST_FILTER} forest/deciduous-summer-sparse}
{NEW:FOREST *^Fds {SMALL_FOREST_FILTER} forest/deciduous-summer}
{NEW:FOREST H*^Fdf,M*^Fdf {SMALL_FOREST_FILTER} forest/deciduous-fall-sparse}
{NEW:FOREST *^Fdf {SMALL_FOREST_FILTER} forest/deciduous-fall}
{NEW:FOREST H*^Fdw,M*^Fdw {SMALL_FOREST_FILTER} forest/deciduous-winter-sparse}
{NEW:FOREST *^Fdw {SMALL_FOREST_FILTER} forest/deciduous-winter}
{NEW:FOREST H*^Fda,M*^Fda {SMALL_FOREST_FILTER} forest/deciduous-winter-snow-sparse}
{NEW:FOREST *^Fda {SMALL_FOREST_FILTER} forest/deciduous-winter-snow}
{NEW:FOREST H*^Fms,M*^Fms {SMALL_FOREST_FILTER} forest/mixed-summer-sparse}
{NEW:FOREST *^Fms {SMALL_FOREST_FILTER} forest/mixed-summer}
{NEW:FOREST H*^Fmf,M*^Fmf {SMALL_FOREST_FILTER} forest/mixed-fall-sparse}
{NEW:FOREST *^Fmf {SMALL_FOREST_FILTER} forest/mixed-fall}
{NEW:FOREST H*^Fmw,M*^Fmw {SMALL_FOREST_FILTER} forest/mixed-winter-sparse}
{NEW:FOREST *^Fmw {SMALL_FOREST_FILTER} forest/mixed-winter}
{NEW:FOREST H*^Fma,M*^Fma {SMALL_FOREST_FILTER} forest/mixed-winter-snow-sparse}
{NEW:FOREST *^Fma {SMALL_FOREST_FILTER} forest/mixed-winter-snow}
{NEW:FOREST (*^Uf*,*^Tf*) {SMALL_FOREST_FILTER} forest/mushrooms}
#undef SMALL_FOREST_FILTER
# Great-tree
{NEW:OVERLAY *^Fet forest/great-tree}
{NEW:OVERLAY *^Fetd forest/great-tree-dead}
# Oasis
{NEW:OVERLAY *^Do village/desert-oasis-1 PROB=30}
{NEW:OVERLAY *^Do village/desert-oasis-2 PROB=43}
{NEW:OVERLAY *^Do village/desert-oasis-3}
# Swamp
{OVERLAY_COMPLETE_LF Ss (!,Xv,Chs,!,C*,H*,M*,X*,Q*,A*,Ke,Kea,Kud,I*) -85 base2 swamp/reed}
{OVERLAY_COMPLETE_LF Chs (!,C*,K*,Ss) -85 base2 swamp/reed}
# Large volcano
{VOLCANO_2x2 Mv Mm,Md 100 base2 mountains/volcano6}
# Single-hex volcano
{OVERLAY_COMPLETE_F Mv (!,Xv,Mv,!,C*,K*,X*,Q*) base2 mountains/volcano}
{NEW:OVERLAY Mv misc/smoke-A CENTER=90,108 ANIM=[01~12] TIME=100}
# Mountains
{MOUNTAIN_RESTRICTED Mm (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/basic-castle}
{MOUNTAINS_2x4_NW_SE Mm 18 base,base2 mountains/basic_range3}
{MOUNTAINS_2x4_SW_NE Mm 26 base,base2 mountains/basic_range4}
{MOUNTAINS_1x3_NW_SE Mm 20 base,base2 mountains/basic_range1}
{MOUNTAINS_1x3_SW_NE Mm 20 base,base2 mountains/basic_range2}
{MOUNTAINS_2x2 Mm 40 base,base2 mountains/basic5}
{MOUNTAINS_2x2 Mm 30 base,base2 mountains/basic6}
{MOUNTAIN_SMALL Mm (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/basic-castle-n}
{MOUNTAIN_SINGLE_RANDOM Mm base,base2 mountains/basic}
# Dry Mountains
{MOUNTAIN_RESTRICTED Md (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/dry-castle}
{MOUNTAINS_2x4_NW_SE Md 18 base,base2 mountains/dry_range3}
{MOUNTAINS_2x4_SW_NE Md 26 base,base2 mountains/dry_range4}
{MOUNTAINS_1x3_NW_SE Md 20 base,base2 mountains/dry_range1}
{MOUNTAINS_1x3_SW_NE Md 20 base,base2 mountains/dry_range2}
{MOUNTAINS_2x2 Md 40 base,base2 mountains/dry5}
{MOUNTAINS_2x2 Md 30 base,base2 mountains/dry6}
{MOUNTAIN_SMALL Md (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/dry-castle-n}
{MOUNTAIN_SINGLE_RANDOM Md base,base2 mountains/dry}
# Snow mountains (uncomment rules as the corresponding tiles are added)
#{MOUNTAIN_RESTRICTED Ms (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/snow-castle}
#{MOUNTAINS_2x4_NW_SE Ms 18 base,base2 mountains/snow_range3}
#{MOUNTAINS_2x4_SW_NE Ms 26 base,base2 mountains/snow_range4}
#{MOUNTAINS_1x3_NW_SE Ms 20 base,base2 mountains/snow_range1}
#{MOUNTAINS_1x3_SW_NE Ms 20 base,base2 mountains/snow_range2}
{MOUNTAINS_2x2 Ms 15 base,base2 mountains/snow5}
{MOUNTAINS_2x2 Ms 25 base,base2 mountains/snow6}
{MOUNTAIN_SMALL Ms (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/snow-castle-n}
{MOUNTAIN_SINGLE_RANDOM Ms base,base2 mountains/snow}
#This one is to fill any "gaps" there might be when next to castles or walls
{NEW:BASE Mm hills/regular}
{NEW:BASE Md hills/dry}
{NEW:BASE Ms hills/snow}
# Desert Mountains
{OVERLAY_ROTATION_RESTRICTED2_F Mdd (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 desert_mountains/desert-castle}
{OVERLAY_ROTATION_RESTRICTED_F Mdd (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 desert_mountains/desert-castle@V}
{MOUNTAINS_2x4_NW_SE Mdd 18 base,base2 desert_mountains/desert_range3}
{MOUNTAINS_1x3_NW_SE Mdd 20 base,base2 desert_mountains/desert_range1}
{MOUNTAINS_1x3_SW_NE Mdd 20 base,base2 desert_mountains/desert_range2}
{MOUNTAINS_2x2 Mdd 40 base,base2 desert_mountains/desert5}
{MOUNTAINS_2x2 Mdd 30 base,base2 desert_mountains/desert6}
{MOUNTAIN_SINGLE_RANDOM Mdd base,base2 desert_mountains/desert}
#This one is to fill any "gaps" there might be when next to castles or walls
{NEW:BASE Mdd hills/dry}
{NEW:TRANSITION (Mdd,Mdd^Xm) (!,Md*,Mv,S*,X*) -166 desert_mountains/desert}
# Special Desert Mountain to Chasm Blend transition - the default mountain-chasm transition is white, looks terrible.
{TRANSITION_COMPLETE_LF (Qx*,Ql*) (Mdd,Mdd^Xm) 0 transition3 desert_mountains/blend-from-chasm}
{TRANSITION_COMPLETE_LF (Mdd,Mdd^Xm) Ai,W*,S* -165 non_submerged desert_mountains/desert-to-water}
# Impassable peaks
{OVERLAY_LF Mdd^Xm 1 clouds mountains/cloud@V}
{PEAKS_1x2_SW_NE Mdd^Xm 15 peaks desert_mountains/peak_range1}
{PEAKS_LARGE Mdd^Xm 25 peaks desert_mountains/peak_large1}
{PEAKS_LARGE Mdd^Xm 33 peaks desert_mountains/peak_large2}
{OVERLAY_RANDOM_LF Mdd^Xm 2 peaks desert_mountains/peak}
{OVERLAY_LF *^Xm 1 clouds mountains/cloud@V}
{PEAKS_1x2_SW_NE *^Xm 15 peaks mountains/peak_range1}
{PEAKS_LARGE *^Xm 25 peaks mountains/peak_large1}
{PEAKS_LARGE *^Xm 33 peaks mountains/peak_large2}
{OVERLAY_RANDOM_LF *^Xm 2 peaks mountains/peak}
#
# > V I L L A G E B U I L D I N G S <
# Flagged as 'village' so they can be placed on
# top of both 'base' and 'overlay'
#Human villages
{NEW:VILLAGE_TOD *^Vh village/human}
{NEW:VILLAGE *^Vha village/human-snow}
{NEW:VILLAGE *^Vhr village/human-cottage-ruin}
{NEW:VILLAGE *^Vhh village/human-hills}
{NEW:VILLAGE *^Vhha village/human-snow-hills}
{NEW:VILLAGE *^Vhhr village/human-hills-ruin}
{NEW:VILLAGE_TOD *^Vhc village/human-city}
{NEW:VILLAGE *^Vhca village/human-city-snow}
{NEW:VILLAGE *^Vhcr village/human-city-ruin}
#tropical village
{NEW:VILLAGE *^Vht village/tropical-forest}
#Crude villages (grassland)
{NEW:VILLAGE_TOD *^Vc village/hut}
{NEW:VILLAGE *^Vca village/hut-snow}
{NEW:VILLAGE_TOD *^Vl village/log-cabin}
{NEW:VILLAGE *^Vla village/log-cabin-snow}
{NEW:VILLAGE *^Vct village/camp}
#igloo
{NEW:VILLAGE *^Vaa village/igloo}
#Drake villages
#20% 20% 20% 20% 20%
{NEW:VILLAGE *^Vd village/drake1-A PROB=20 ANIM=[01~03] TIME=200}
{NEW:VILLAGE *^Vd village/drake2-A PROB=25 ANIM=[01~03] TIME=100}
{NEW:VILLAGE *^Vd village/drake3 PROB=33}
{NEW:VILLAGE *^Vd village/drake4 PROB=50}
{NEW:VILLAGE *^Vd village/drake5}
#Orcish villages
{NEW:VILLAGE_TOD *^Vo village/orc}
{NEW:VILLAGE *^Voa village/orc-snow}
#Elven villages
{NEW:VILLAGE_TOD *^Ve village/elven PROB=10 VARIATIONS=""}
{NEW:VILLAGE_TOD *^Ve village/elven3 PROB=28}
{NEW:VILLAGE_TOD *^Ve village/elven4 PROB=38}
{NEW:VILLAGE_TOD *^Ve village/elven2}
#10% 25% 25% 40%
{NEW:VILLAGE *^Vea village/elven-snow}{VILLAGE_PROBABILITY 10}
{NEW:VILLAGE *^Vea village/elven-snow3}{VILLAGE_PROBABILITY 28}
{NEW:VILLAGE *^Vea village/elven-snow4}{VILLAGE_PROBABILITY 38}
{NEW:VILLAGE *^Vea village/elven-snow2}
#Desert villages
{NEW:VILLAGE_TOD *^Vda village/desert}
{NEW:VILLAGE *^Vdr village/desert-ruin}
{NEW:VILLAGE *^Vdt village/desert-camp}
#Cave villages
{NEW:VILLAGE *^Vu village/cave}
{NEW:VILLAGE *^Vud village/dwarven}
#Swamp village
{NEW:VILLAGE_TOD *^Vhs village/swampwater}
#Merfolk village
# {NEW:VILLAGE *^Vm village/coast}{VILLAGE_PROBABILITY 20}
# {NEW:VILLAGE *^Vm village/coast2}{VILLAGE_PROBABILITY 24}
# {NEW:VILLAGE *^Vm village/coast3}{VILLAGE_PROBABILITY 29}
# {NEW:VILLAGE *^Vm village/coast4}{VILLAGE_PROBABILITY 35}
{NEW:VILLAGE_TOD *^Vm village/coast PROB=80}
{NEW:VILLAGE *^Vm village/coast_5-A ANIM=[01~04] TIME=140}
#
# > O V E R L A Y S <
#
# Fence
{NEW:FENCE *^Eff embellishments/fence}
# Illuminated caves
{NEW:OVERLAY (*^Ufi,*^Ii,*^Tfi) cave/beam FLAG=light LAYER=1}
# Wall sconces or torches
{NEW:WALL_FLAMES_OVERLAY (X*^Efs) walls/stone/flames/sconce}
{NEW:TORCH_FLAMES_OVERLAY (!,X*^Efs,!,*^Efs) walls/stone/flames/torch}
#Farmland
{NEW:OVERLAY *^Gvs embellishments/farm-veg-spring LAYER=-81}
# Water Lillies
{OVERLAY_COMPLETE_L *^Ewl (C*,K*,X*,Ql*,Qx*,G*,M*,*^V*,R*,A*,D*,U*,H*) -86 embellishments/water-lilies}
{OVERLAY_COMPLETE_L *^Ewf (C*,K*,X*,Ql*,Qx*,G*,M*,*^V*,R*,A*,D*,U*,H*) -86 embellishments/water-lilies-flower}
# Windmill decoration
{NEW:OVERLAY *^Wm,*^Vwm misc/windmill-A ANIM=[01~18] TIME=70}
# campfire
{NEW:OVERLAY *^Ecf misc/fire-A ANIM=[01~08] TIME=140}
# Braziers
{NEW:OVERLAY *^Eb misc/brazier-embellishment}
{NEW:OVERLAY *^Ebn misc/brazier-A ANIM=[01~08] TIME=140}
# layer -500 is used for the flowers so they don't overlap adjacent trees,
# castles, mountains and such
{NEW:OVERLAY *^Efm embellishments/flowers-mixed LAYER=-500}
#Rubble
{NEW:OVERLAY *^Dr misc/rubble FLAG=rubble LAYER=-1}
{NEW:OVERLAY *^Es embellishments/stones-small}
{OVERLAY_RANDOM *^Em embellishments/mushroom}
{OVERLAY_COMPLETE *^Emf (C*,K*,X*,Ql*,Qx*,W*,M*,*^V*) embellishments/mushroom-farm}
# Chasm bridges - for now they don't tile
{NEW:OVERLAY Ql*^Bs\ cave/chasm-lava-stone-bridge-se-nw FLAG=bridge LAYER=-80}
{NEW:OVERLAY Ql*^Bs| cave/chasm-lava-stone-bridge-s-n FLAG=bridge LAYER=-80}
{NEW:OVERLAY Ql*^Bs/ cave/chasm-lava-stone-bridge-sw-ne FLAG=bridge LAYER=-80}
{NEW:OVERLAY W*^Bs\,S*^Bs\ cave/chasm-water-stone-bridge-se-nw FLAG=bridge LAYER=-80}
{NEW:OVERLAY W*^Bs/,S*^Bs/ cave/chasm-water-stone-bridge-sw-ne FLAG=bridge LAYER=-80}
{NEW:OVERLAY *^Bs\ cave/chasm-stone-bridge-se-nw FLAG=bridge LAYER=-80}
{NEW:OVERLAY *^Bs| cave/chasm-stone-bridge-s-n FLAG=bridge LAYER=-80}
{NEW:OVERLAY *^Bs/ cave/chasm-stone-bridge-sw-ne FLAG=bridge LAYER=-80}
# Trash/remains
{TRASH_A *^Edt 33 misc/detritus/trashA}
{TRASH_A *^Edb 33 misc/detritus/detritusA}
{LITTER_BASE *^Edb,*^Edt misc/detritus/liter}
{TRASH_B *^Edt trash_medium 70 "1;2;3;4;5;6;7;8;9;10" misc/detritus/trashB}
{TRASH_B *^Edb detritus_medium 70 "1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16" misc/detritus/detritusB}
{TRASH_C *^Edt trash_big trash_medium 30 "1;2;3;4" misc/detritus/trashC}
{TRASH_C *^Edb detritus_big detritus_medium 50 "1;2;3;4;5;6;7" misc/detritus/detritusC}
# Gates and doors - 'P' is for portal, next letter is descriptor, third letter is '\,|,/' for direction, just like bridges
# Append an 'o' at fourth letter for the open version
# the fourth argument is for IPFs
#closed (impassable)
{GATES_VERTICAL_NS_L (*^Pr|) (X*) 0 () portals/gate-rusty}
{GATES_DIAGONAL_SW_L (*^Pr\) (X*) 0 () portals/gate-rusty}
{GATES_DIAGONAL_SE_L (*^Pr/) (X*) 0 () portals/gate-rusty}
{GATES_VERTICAL_NS_L (*^Pw|) (X*) 0 () portals/door-wooden}
{GATES_DIAGONAL_SW_L (*^Pw\) (X*) 0 () portals/door-wooden}
{GATES_DIAGONAL_SE_L (*^Pw/) (X*) 0 () portals/door-wooden}
#open/embellishment
{GATES_VERTICAL_NS_L (*^Pr|o) (X*) 0 () portals/gate-rusty-open}
{GATES_DIAGONAL_SW_L (*^Pr\o) (X*) 0 () portals/gate-rusty-open}
{GATES_DIAGONAL_SE_L (*^Pr/o) (X*) 0 () portals/gate-rusty-open}
{GATES_VERTICAL_NS_L (*^Pw|o) (X*) 0 () portals/door-wooden-open}
{GATES_DIAGONAL_SW_L (*^Pw\o) (X*) 0 () portals/door-wooden-open}
{GATES_DIAGONAL_SE_L (*^Pw/o) (X*) 0 () portals/door-wooden-open}
#
# > B A S E T E R R A I N S <
#
# Flat base terrains
{NEW:BASE Tb forest/mushroom-base LAYER=-319}
# The first grass tile of each kind is the most standard and generic one, thus it appears more frequently to space out the rest
{NEW:BASE_P Gg 20 grass/green}
{NEW:BASE Gg grass/green}
{NEW:BASE_P Gs 25 grass/semi-dry}
{NEW:BASE Gs grass/semi-dry}
{NEW:BASE_P Gd 25 grass/dry}
{NEW:BASE Gd grass/dry}
{NEW:BASE Gll grass/leaf-litter}
{NEW:BASE Re flat/dirt}
{NEW:BASE Rb flat/dirt-dark}
{NEW:BASE Rr flat/road}
{NEW:BASE Rrc flat/road-clean}
{NEW:BASE Rp flat/stone-path}
# Hills base terrain
{NEW:BASE Hh hills/regular}
{NEW:BASE Hhd hills/dry}
# Cave base terrains
{NEW:BASE Uu cave/floor}
{NEW:BASE Uue cave/earthy-floor}
{NEW:BASE Ur,Urc cave/path}
{NEW:BASE Urb cave/flagstones-dark}
{NEW:BASE Uh cave/hills-variation}
{NEW:BASE Xu* cave/wall-rough}
{NEW:BASE Xo* walls/stone/wall-stone-base}
{NEW:BASE Qxua chasm/abyss}
{NEW:BASE Qx* chasm/depths}
{NEW:OVERLAY Wwr,Wwrt,Wwrg water/reef FLAG=reef LAYER=-320}
# Desert base terrains
{NEW:BASE Dd sand/desert}
# only use the smaller plant tiles when adjacent to castles, chasms etc
{OVERLAY_RESTRICTED_P *^Edp,*^Edpp (C*,K*,Q*) 33 embellishments/desert-plant}
{OVERLAY_RESTRICTED_P *^Edp,*^Edpp (C*,K*,Q*) 50 embellishments/desert-plant2}
{OVERLAY_RESTRICTED_P *^Edp,*^Edpp (C*,K*,Q*) 100 embellishments/desert-plant3}
# and then any plant tile elsewhere
{OVERLAY_P *^Edp,*^Edpp 9 embellishments/desert-plant}
{OVERLAY_P *^Edp,*^Edpp 10 embellishments/desert-plant2}
{OVERLAY_P *^Edp,*^Edpp 11 embellishments/desert-plant3}
{OVERLAY_P *^Edp,*^Edpp 12 embellishments/desert-plant4}
{OVERLAY_P *^Edp 14 embellishments/desert-plant5} # This one contains bones
{OVERLAY_P *^Edp,*^Edpp 16 embellishments/desert-plant6}
{OVERLAY_P *^Edp 20 embellishments/desert-plant7} # This one contains bones
{OVERLAY_P *^Edp,*^Edpp 24 embellishments/desert-plant8}
{OVERLAY_P *^Edp,*^Edpp 32 embellishments/desert-plant9}
{OVERLAY_P *^Edp,*^Edpp 48 embellishments/desert-plant10}
{OVERLAY_P *^Edp,*^Edpp 100 embellishments/desert-plant11}
{NEW:OVERLAY *^Esd embellishments/rocks}
{NEW:BASE Ds sand/beach}
{NEW:BASE Rd flat/desert-road}
{NEW:BASE *^Dc sand/crater FLAG=crater}
{NEW:BASE Hd hills/desert}
# Frozen base terrain
{NEW:BASE Aa frozen/snow}
#10% 10% 10% 10% 25% 35%
{NEW:BASE_P Ai 10 frozen/ice2}
{NEW:BASE_P Ai 11 frozen/ice3}
{NEW:BASE_P Ai 13 frozen/ice5}
{NEW:BASE_P Ai 14 frozen/ice6}
{NEW:BASE_P Ai 42 frozen/ice4}
{NEW:BASE_P Ai 100 frozen/ice}
{NEW:BASE Ha hills/snow}
# raised base to get it over the chasm images (LAYER=-284), then raised even higher to get over chasm-castle transition images (LAYER=-186)
{NEW:BASE Iwr,Icn interior/wood-regular LAYER=-284 FLAG=raised_base}
{NEW:BASE Ior interior/wood-ruined LAYER=-284 FLAG=raised_base}
{NEW:BASE Irs,Icr interior/stone-regular LAYER=-284 FLAG=raised_base}
# Water base terrains
{NEW:OVERLAY Wwf water/ford FLAG=ford LAYER=-519}
{NEW:BASE Sm swamp/mud}
{NEW:BASE_P Ss 33 swamp/water-plant@V}
{NEW:BASE Ss,Chs swamp/water}
#ANIMATED
{NEW:WATER_342_180_TILE_FLAGS}
{NEW:WATER_342_180 Ql,Qlf,Mv unwalkable/lava 16 DURATION=125 RANDOM_START=125}
{NEW:WATER_342_180 Wo,Wog,Wot water/ocean 21 DURATION=125 RANDOM_START=125}
{NEW:WATER_342_180 Ww,Wwr,Wwf,Wwg,Wwrg,Wwt,Wwrt,Chw,Cm*,Km* water/water 17 DURATION=125 RANDOM_START=125}
{NEW:WATER_342_180_OVERLAY Wog,Wwg,Wwrg water/overlay-gray -502}
{NEW:WATER_342_180_OVERLAY Wot,Wwt,Wwrt water/overlay-tropical -504}
# Castle base terrains
# Most bases get a special -2 layer to get them over the chasm images
{NEW:BASE Ch,Cha flat/road}
{NEW:BASE Chr flat/stone-path}
{NEW:BASE Kh* castle/cobbles-keep LAYER=-2}
{NEW:BASE Chw castle/aquatic-castle/cobbles LAYER=-520 FLAG=sunken}
# swamp castle defined along with swamp above
{NEW:BASE Cv castle/elven/grounds}
{NEW:BASE Kv castle/elven/keep LAYER=-2}
{NEW:BASE Cvr castle/elven-ruin/grounds}
{NEW:BASE Kvr castle/elven-ruin/keep LAYER=-2}
{NEW:BASE Ket interior/wood-tan LAYER=-2}
{NEW:OVERLAY Ket interior/wood-tan-debris}
{NEW:BASE (Cer,Ker) flat/dirt-dark}
{NEW:OVERLAY Ker castle/encampment-ruin/tent}
{NEW:BASE (Ce*,Ke*) flat/dirt}
{NEW:OVERLAY Ke castle/encampment/tent}
{NEW:OVERLAY Kea castle/encampment/tent-snow}
{NEW:BASE Co* flat/dirt-dark}
{NEW:BASE Ko castle/orcish/keep LAYER=-2}
{NEW:BASE Koa castle/winter-orcish/keep LAYER=-2}
{NEW:BASE Cud castle/dwarven-castle-floor LAYER=-2}
{NEW:BASE Kud castle/dwarven-keep-floor LAYER=-2}
{NEW:OVERLAY Kud castle/dwarven-keep}
{NEW:BASE Cd castle/sand/dirt}
{NEW:BASE Kd castle/sand/cobbles LAYER=-2}
{NEW:BASE Cdr castle/sand/ruin-dirt}
{NEW:BASE Kdr castle/sand/cobbles-ruin LAYER=-2}
{NEW:OVERLAY (Cm,Km) castle/aquatic-castle/cobbles FLAG=cobbles LAYER=-350}
{NEW:OVERLAY (Cme) castle/aquatic-camp/reef FLAG=reef LAYER=-320}
{NEW:OVERLAY (Kme) castle/aquatic-camp/floor FLAG=floor LAYER=-310}
{NEW:BASE (Cte) flat/dirt-dark}
{NEW:BASE (Kte) flat/stone-path}
#
# > T R A N S I T I O N S B E T W E E N T E R R A I N S <
#
# Aquatic camp
{NEW:CASTLEWALL (Kme,Cme) (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/aquatic-camp/castle}
{AQUATIC:CAMPS Kme Cme,Cm,Km castle/aquatic-camp}
# Troll camp
{NEW:CASTLEWALL (Kte) (!,C*,K*,Xu*,Xo*) C* castle/troll/keep}
{NEW:CASTLEWALL (Kte,Cte) (!,C*,K*,Xu*,Xo*) C* castle/troll/regular}
{AQUATIC:CAMPS Kte Cm*,Ct* castle/troll}
# Aquatic castle
{NEW:CASTLEWALL Cm (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/aquatic-castle/castle}
{NEW:CASTLEWALL2 Km !,Ket,!,C*,Ke* (!,C*,K*,Xu*,Xo*) castle/aquatic-castle/keep-castle}
{NEW:CASTLEWALL Km (!,Km,Xu*,Xo*) K* castle/aquatic-castle/keep}
# disable the next line to get the brown bank transition. It adds more images to the hex though.
{DISABLE_BASE_TRANSITIONS_F (Km,Cm) non_submerged}
{DISABLE_BASE_TRANSITIONS (Km,Cm)}
{AQUATIC:KEEP_CORNER_TRANSITION (Km) (Cm) (W*,Ss,Q*) (Xu*,Xo*) (non_fading) (castle/aquatic-castle)}
{TRANSITION_COMPLETE_LF (Cm) (!,K*,C*,W*,Ss,Q*,Xu*,Xo*) 0 non_fading castle/aquatic-castle/castle-to-ground}
{TRANSITION_COMPLETE_LF (Km) (!,K*,C*,W*,Ss,Q*,Xu*,Xo*) 0 non_fading castle/aquatic-castle/keep-to-ground}
{TRANSITION_COMPLETE_LF (Km) (W*,Ss) 0 non_fading castle/aquatic-castle/keep-to-water}
# Elven castle
{NEW:CASTLEWALL Cv (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/elven/castle}
{NEW:CASTLEWALL2 Kv !,Ket,!,C*,Ke* (!,C*,K*,Xu*,Xo*) castle/elven/keep-castle}
{NEW:CASTLEWALL Kv (!,K*,Xu*,Xo*) K* castle/elven/keep}
{NEW:CASTLEWALL Cvr (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/elven-ruin/castle}
{NEW:CASTLEWALL2 Kvr !,Ket,!,C*,Ke* (!,C*,K*,Xu*,Xo*) castle/elven-ruin/keep-castle}
{NEW:CASTLEWALL Kvr (!,K*,Xu*,Xo*) K* castle/elven-ruin/keep}
# Orcish castles
{NEW:CASTLEWALL Co (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/orcish/fort}
{NEW:CASTLEWALL2 Ko !,Ket,!,C*,Ke* (!,C*,K*,Xu*,Xo*) castle/orcish/keep-fort}
{NEW:CASTLEWALL Ko (!,K*,Xu*,Xo*) K* castle/orcish/keep}
{NEW:CASTLEWALL Coa (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/winter-orcish/fort}
{NEW:CASTLEWALL2 Koa !,Ket,!,C*,Ke* (!,C*,K*,Xu*,Xo*) castle/winter-orcish/keep-fort}
{NEW:CASTLEWALL Koa (Ke,Kea,!,K*,Xu*,Xo*) K* castle/winter-orcish/keep}
# Desert castles
{NEW:CASTLEWALL Cd (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/sand/castle}
{NEW:CASTLEWALL2 Kd !,Ket,!,C*,Ke* (!,C*,K*,Xu*,Xo*) castle/sand/keep-castle}
{NEW:CASTLEWALL Kd (!,K*,Xu*,Xo*) K* castle/sand/keep}
{NEW:CASTLEWALL Cdr (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/sand/ruin-castle}
{NEW:CASTLEWALL2 Kdr !,Ket,!,C*,Ke* (!,C*,K*,Xu*,Xo*) castle/sand/ruin-keep-castle}
{NEW:CASTLEWALL Kdr (Ke,Kea,!,K*,Xu*,Xo*) K* castle/sand/ruin-keep}
#
# Human castles
#
{NEW:CASTLEWALL Ch (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/castle}
{NEW:CASTLEWALL2 Kh !,Ket,!,C*,Ke* (!,C*,K*,Xu*,Xo*) castle/keep-castle}
{NEW:CASTLEWALL Kh (!,K*,Xu*,Xo*) K* castle/keep}
{NEW:CASTLEWALL Cha (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/snowy/castle}
{NEW:CASTLEWALL2 Kha !,Ket,!,C*,Ke* (!,C*,K*,Xu*,Xo*) castle/snowy/keep-castle}
{NEW:CASTLEWALL Kha (Ke,Kea,!,K*,Xu*,Xo*) K* castle/snowy/keep}
# sunken/swamp ruins (submerged part)
# Show sunken graphics for sunken castle only when next to water terrain
# Show sunken graphics for sunken/swamp keep also when next to swamp
# (!,Chr,Chs,!,Ch*) is used to catch convex transitions between Chw and Ch*
# without lots of additional rules
{NEW:CASTLEWALL (!,Chr,Chs,Ce*,Ke*,!,Ch*) (W*) !,Ket,!,C*,Ke* castle/sunken-ruin}
{NEW:CASTLEWALL2_P Khw,Khs Ch* W*,Ss 75 castle/sunken-ruinkeep1-castle}
{NEW:CASTLEWALL2 Khw,Khs Ch* W*,Ss castle/sunkenkeep-castle}
{NEW:CASTLEWALL (!,Khr,!,Kh*) W*,Ss,Chw,Chs K* castle/sunken-ruinkeep1 PROB=75}
{NEW:CASTLEWALL (!,Khr,!,Kh*) W*,Ss,Chw,Chs K* castle/sunkenkeep}
# ruined castle and non-submerged parts of sunken/swamp ruins
# There are no more human castles left, so we can just use Ch* here, which makes sure
# that all ruin<->non-ruin transitions are drawn
{NEW:CASTLEWALL Ch* (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/ruin}
{NEW:CASTLEWALL2_P (Khr,Khw,Khs) (C*) (!,Ch*,Kh*,Xu*,Xo*) 75 castle/ruinkeep1-castle}
{NEW:CASTLEWALL2 (Khr,Khw,Khs) (C*) (!,Ch*,Kh*,Xu*,Xo*) castle/keep-castle}
{NEW:CASTLEWALL Kh* (Ke,Kea,!,K*,Xu*,Xo*) K* castle/ruinkeep1 PROB=75}
{NEW:CASTLEWALL Kh* (Ke,Kea,!,K*,Xu*,Xo*) K* castle/keep}
# Encampment
{NEW:CASTLEWALL Ce,Ke (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/encampment/regular}
{NEW:CASTLEWALL Cer,Ker (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/encampment-ruin/regular}
{NEW:CASTLEWALL Cea,Kea (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/encampment/snow}
{NEW:CASTLEWALL2 Ket (C*) (!,C*,K*,Xu*,Xo*) castle/encampment/tall-keep-castle}
{NEW:CASTLEWALL Ket (!,K*,Xu*,Xo*) K* castle/encampment/tall-keep}
# Castle & Encampment Base Transtions
{NEW:TRANSITION Chs !,S*,W*,H*,M*,A*,Chs,K* -230 swamp/water}
{NEW:TRANSITION Ch,Chr,Cha !,Ch,Chr,Cha,Ket,!,Ke*,C* -300 flat/road}
{NEW:TRANSITION !,Ket,Cd*,!,C*,Ke* Cd* -360 flat/desert-road FLAG=inside}
{NEW:TRANSITION Cd* !,Ket,Cd*,!,C*,Ke* -360 flat/desert-road}
{NEW:TRANSITION Cvr !,Ket,!,Ce*,Ke*,Cv,Cte -369 flat/stone-path FLAG=inside}
{NEW:TRANSITION !,Ce*,Ke*,!,C* !,Ket,!,Ce*,Ke* -370 flat/dirt FLAG=inside}
{NEW:TRANSITION !,Ket,!,Ce*,Ke* !,Ce*,Ke*,!,C* -370 flat/dirt}
{NEW:TRANSITION !,Ket,Co*,Ker,Cer,!,C*,Ke* Co*,Ker,Cer -380 flat/dirt-dark FLAG=inside}
{NEW:TRANSITION Ker,Cer,Co* !,Ket,Co*,Ker,Cer,!,C*,Ke* -380 flat/dirt-dark}
# Base transitions between various water castles
# 33% is an arbitrary magic number with which the transparency looks good
{NEW:GENERIC_CORNER_TRANSITION Cme (Cm,Km,Chw) -330 castle/aquatic-camp/reef masks/long "~O(33%)" FLAG=aquaticbasetrans}
{NEW:GENERIC_CORNER_TRANSITION Cm,Km,Chw (Cme) -321 castle/aquatic-castle/cobbles masks/long "~O(33%)" FLAG=aquaticbasetrans}
# this is to keep sand, snow, etc. from flowing in under the castle walls. It may need to be adjusted for when such behavior is needed.
# There should also be a pattern available for UMC, not sure what it would be though
{NEW:DISABLE_TRANSITION (K*,C*) (!,K*,C*) }
#
# Cave
# (including dwarven castle, chasm, lava)
#
# carpet graphics are defined here, because we want the basic interior terrain graphics to fill in the gaps afterwards.
{NEW:TRANSITION_INVERTED Icr !,Icr -221 interior/royal-rug/rug FLAG=royal_rug}
{NEW:TRANSITION_INVERTED Icn !,Icn -223 interior/regular-rug/rug FLAG=regular_rug}
# this one uses the Ur underlayer
{NEW:DISABLE_TRANSITION (Urc) (Uu*) }
{NEW:TRANSITION_INVERTED Urc !,Urc -222 interior/cave-rug/rug FLAG=cave_rug}
# installing new wood floor transitions - need to be above this DISABLE line
# be careful with wild-card filters: "I*r" includes "Irs"
{NEW:THREE_TERRAIN_TRANSITION Irs,Icr Q* G*,R*,D*,A*,W*,Uu,Ur,Urc,S* -282 interior/stone-chasm/stone-regular}
{NEW:TRANSITION_CROWDED Irs,Icr Q* -282 interior/stone-chasm/stone-regular}
{NEW:TRANSITION_CROWDED Irs,Icr W*,G*,R*,D*,A*,Uu,Ur,Urc,S* -282 interior/stone-regular}
{NEW:TRANSITION Irs,Icr Q* -282 interior/stone-chasm/stone-regular}
{NEW:TRANSITION Irs,Icr !,Irs,Irr,!,I*r,Q*,W*,G*,R*,D*,A*,Uu,Ur,Urc,S* -282 interior/stone-regular}
{NEW:TRANSITION Iwr,Ior,Icn G*,R*,D*,A*,Ur,Urc -283 interior/wood-regular}
{NEW:TRANSITION Iwr,Icn W*,S*,Qx* -283 interior/wood-chasm/wood-clean}
{NEW:TRANSITION Ior W*,S*,Qx* -283 interior/wood-chasm/wood-regular}
{NEW:TRANSITION Iwr,Ior,Icn Ql* -283 interior/wood-chasm/wood-burnt}
{DISABLE_BASE_TRANSITIONS Qx*,Ql*,Xu*,Xo*,Cud,Kud}
#dwarven castle transitions
{WALL_TRANSITION3 (Cud,Kud) Ql* Qx* unwalkable/dcastle-lava-chasm}
# Custom flag used to allow stone walls to still get drawn over these
{NEW:WALL2 (Cud,Kud) X* (!,Cud,Kud,X*) castle/dwarven-castle-wall FLAG=castlewall}
{NEW:WALL2 (Cud,Kud) Ql* (!,Cud,Kud,Ql*) unwalkable/dcastle-lava FLAG=castlewall}
{NEW:WALL2 (Cud,Kud) Qx* (!,Cud,Kud,Qx*) unwalkable/dcastle-chasm FLAG=castlewall}
{NEW:WALL (Cud,Kud) (!,Cud,Kud,X*) castle/dwarven-castle}
{NEW:WALL Xue (Qx*,Ql*) cave/earthy-wall-rough-chasm}
{NEW:WALL Xue (!,Xu*,Xo*) cave/earthy-wall-rough}
{NEW:WALL Xuc,Xuce (Qx*,Ql*) walls/wall-mine-chasm}
{NEW:WALL Xuc,Xuce (!,Xu*,Xo*) walls/wall-mine}
{NEW:WALL Xu* (Qx*,Ql*) cave/wall-rough-chasm}
#{NEW:WALL Xu* (!,Xu*) cave/wall-rough}
{NEW:WALL2_CORNER (Xom,Xoi) Xu* (!,Xu*,Xo*) walls/stone/wall-mine-mixed}
{NEW:WALL2 (Xom,Xoi) Xu* (!,Xu*,Xo*) walls/stone/wall-mine-mixed}
{NEW:WALL2_CORNER (Xo*) Xu* (!,Xu*,Xo*) walls/stone/wall-mixed}
{NEW:WALL2 (Xo*) Xu* (!,Xu*,Xo*) walls/stone/wall-mixed}
{NEW:WALL Xu* (!,Xu*,Xo*) cave/wall-rough}
# Xoi and Xom both have wooden trim, so "white" wall images are only needed for walls with visible faces.
{NEW:WALL_CORNER Xoi (!,Xo*,Xu*) walls/stone/wall-stone-white}
{NEW:WALL_CORNER Xom,Xoi (!,Xo*,Xu*) walls/stone/wall-stone-mine}
{NEW:WALL_CORNER Xoc (!,Xo*,Xu*) walls/stone/clean/wall-stone}
{NEW:WALL_CORNER Xo* (!,Xo*,Xu*) walls/stone/wall-stone}
{NEW:WALL_A10 Xol (!,Xu*,Xo*) walls/stone/lit/wall-stone-lit}
{NEW:WALL Xoi (!,Xu*,Xo*) walls/stone/wall-stone-white}
{NEW:WALL Xom,Xoi (!,Xu*,Xo*) walls/stone/wall-stone-mine}
{NEW:WALL Xoc (!,Xu*,Xo*) walls/stone/clean/wall-stone}
{NEW:WALL Xo* (!,Xu*,Xo*) walls/stone/wall-stone}
# New Generic Castle-to Chasm transition
{TRANSITION_COMPLETE_LF (Cha,Kha,Coa,Koa,Cea,Kea) Qx* -89 transition2 chasm/regular-snow-castle}
{TRANSITION_COMPLETE_LF (!,Cud,Kud,!,C*,K*) Qxe -89 transition2 chasm/earthy-castle}
{TRANSITION_COMPLETE_LF (!,Cud,Kud,!,C*,K*) Qx* -89 transition2 chasm/regular-castle}
{TRANSITION_COMPLETE_LF (!,Cud,Kud,!,C*,K*,Xo*) Ql* -89 transition2 unwalkable/castle-lava-chasm}
# Special Mountain to Chasm Blend transition
{TRANSITION_COMPLETE_LF (Qx*,Ql*) (M*,Mv) 0 transition3 mountains/blend-from-chasm}
#chasm/lava transitions always below castles/walls
# these have been moved lower, layer=-290 from -90
{WALL_TRANSITION2_LF Ql Qx*,Xv,_off^_usr (!,Ql,Qx*) -290 ground unwalkable/lava-chasm}
{WALL_TRANSITION2_LF Qlf Qx*,Xv,_off^_usr (!,Ql*,Qx*) -290 ground unwalkable/lava-chasm}
{WALL_TRANSITION_LF Ql (!,Ql,Xv,_off^_usr) -290 ground unwalkable/lava}
{WALL_TRANSITION_LF Qlf (!,Qlf,Xv,_off^_usr) -290 ground unwalkable/lava-high}
{WALL_TRANSITION_LF Qx* (Ai*,Aa*,Ha*,Ms*,) -290 ground chasm/regular-snow}
{WALL_TRANSITION_LF Qx* (W*,S*) -290 ground chasm/water}
{WALL_TRANSITION_LF Qxe (!,Qx*,Xv,_off^_usr) -290 ground chasm/earthy}
{WALL_TRANSITION_LF Qx* (!,Qx*,Xv,_off^_usr) -290 ground chasm/regular}
{TRANSITION_COMPLETE_LF (Xo*) Qx* -289 transition2 chasm/regular-castle}
# Stone wall transitions
# the doubled comma is to improve transitions with the map edge
# {WALL_ADJACENT_TRANSITION Xol (!,,Xo*,Xu*) ANIMATION_10 walls/wall-stone-lit}
# {WALL_ADJACENT_TRANSITION Xo* (!,,Xo*,Xu*) IMAGE_SINGLE walls/wall-stone}
#
# > B A S E T R A N S I T I O N S. <
#
# The order mostly controls which overlap which, some special flags and varying
# layer numbers are used to make some special transitions to layer in more
# complex ways.
# Default layer is -500, so anything layering above should be higher.
{NEW:TRANSITION (Md,Mv) (!,Md,Hhd,Mv,W*,S*) -166 mountains/dry}
# Special mountain to dry/desert terrain trans
{NEW:TRANSITION (Hd,Hhd,Rb,Re,Rd,D*,Gd,Ha,A*,U*,Ql*) Mm 0 mountains/blend-from-dry FLAG=inside}
{NEW:TRANSITION (Hd,Hhd,Rb,Re,Rd,D*,Gd,U*,Ql*) Ms 0 mountains/blend-from-dry FLAG=inside}
{NEW:TRANSITION (Mm) (Hd,Hhd,Rb,Re,Rd,D*,Gd,Ha,A*,U*,Ql*) -166 hills/dry}
{NEW:TRANSITION (Ms) (Hd,Hhd,Rb,Re,Rd,D*,Gd,U*,Ql*) -166 hills/dry}
{NEW:TRANSITION (Ms,Ha) Hh* -170 hills/snow-to-hills}
{NEW:TRANSITION (Ms,Ha) (W*,S*) -171 hills/snow-to-water}
{NEW:TRANSITION (Ms,Ha) (!,Ha,Qx*,Mm,Ms,Md) -172 hills/snow}
{NEW:TRANSITION (Tb) (!,M*,Tb) -184 forest/mushroom-base}
{NEW:DISABLE_TRANSITION (R*,G*,H*,U*,A*) (*^Uf*,*^Tf*)}
{NEW:DISABLE_TRANSITION (R*,G*,H*,U*,A*) (*^Uf*,*^Tf*) FLAG=inside}
{NEW:TRANSITION (Mm,Hh) (!,M*,Hh,Ai,W*,S*) -180 hills/regular}
{NEW:TRANSITION (Md,Hhd) (!,M*,Hhd,Ai,W*,S*) -183 hills/dry}
{NEW:TRANSITION Hd (!,Hd,Qx*,W*) -184 hills/desert}
{NEW:TRANSITION Uh (!,Uh,W*,Ai) -200 cave/hills}
{NEW:TRANSITION (Uu,Uh) (!,Uu,Uh,W*,Ai) -220 cave/floor}
{NEW:TRANSITION (Uue) (!,Uue,W*,Ai) -221 cave/earthy-floor}
{NEW:TRANSITION Ai,W*,S* Ur -223 cave/floor FLAG=inside}
{NEW:TRANSITION Urb (!,Urb) -224 cave/flagstones-dark}
{NEW:TRANSITION Ss (!,I*,Ss,H*,M*,A*,Chs,K*,Q*) -230 swamp/water}
#{NEW:TRANSITION Iwr G*,R*,W*,S*,D*,A*,Ur -230 interior/wood-regular}
# need to move this up higher to get over chasm walls
{NEW:TRANSITION *^Efm G* -240 embellishments/flowers-mixed FLAG=transition4}
# New Super-cool gradual Grass blending
{NEW:TRANSITION Gs Gg,Gd,Gll,Re,Rb,Rd,Rp -250 grass/semi-dry-long FLAG=inside}
{NEW:TRANSITION Gg Gs,Gd,Gll,Re,Rb,Rd,Rp -251 grass/green-long FLAG=inside}
{NEW:TRANSITION Gd Gg,Gs,Gll,Re,Rb,Rd,Rp -252 grass/dry-long FLAG=inside}
{NEW:TRANSITION Gll Gg,Gs,Gd,Re,Rb,Rd,Rp -253 grass/leaf-litter-long FLAG=inside}
{NEW:TRANSITION Gll Gg,Gs,Gd -254 grass/leaf-litter-long}
{NEW:TRANSITION Gd Gg,Gs,Gll -255 grass/dry-long}
{NEW:TRANSITION Gg Gs,Gd,Gll -256 grass/green-long}
{NEW:TRANSITION Gs Gg,Gd,Gll -257 grass/semi-dry-long}
{NEW:TRANSITION Gs (R*,D*,Aa,Ur,Urc) -260 grass/semi-dry-medium}
{NEW:TRANSITION Gg (R*,D*,Aa,Ur,Urc) -261 grass/green-medium}
{NEW:TRANSITION Gd (R*,D*,Aa,Ur,Urc) -262 grass/dry-medium}
{NEW:TRANSITION Gll (!,Gll,Q*,W*,Ai,C*,K*) -270 grass/leaf-litter}
{NEW:TRANSITION (Gg*,Qx*) (!,Gg*,Q*,Mm,Ms,Hh,C*,K*) -271 grass/green-abrupt}
{NEW:TRANSITION Gs (!,Gs,Q*,C*,K*) -272 grass/semi-dry-abrupt}
{NEW:TRANSITION Gd (!,Gd,Q*,C*,K*) -273 grass/dry-abrupt}
{NEW:TRANSITION Aa (W*,Ss) -280 frozen/snow-to-water}
{NEW:TRANSITION Aa (!,Aa,Q*,G*) -281 frozen/snow}
# This transitions from bank to flat terrains.
{NEW:TRANSITION (W*,Ai) (R*,Gll) -300 flat/bank}
{NEW:TRANSITION (Sm) (R*,D*) -310 swamp/mud-to-land}
# To make everything layer properly, these transitions for sand to R* occur higher than most of the desert transitions
{NEW:TRANSITION Dd R* -319 sand/desert}
{NEW:TRANSITION Ds R* -319 sand/beach}
# A rule for corner-based beach waves...
{NEW:WAVES D*,Hd W* -499 water/waves}
{NEW:TRANSITION Rr (!,Rr,W*,Ai,Q*) -320 flat/road}
{NEW:TRANSITION Rrc (!,Rrc,W*,Ai,Q*) -321 flat/road-clean}
{NEW:TRANSITION Rp (!,Rp,W*,Ai,Q*) -322 flat/stone-path}
{NEW:TRANSITION *^Gvs (!,*^Gvs,C*,K*,*^F*,M*,H*,W*,Q*) -330 embellishments/farm-veg-spring FLAG=transition2}
{NEW:TRANSITION *^Emf (!,*^Emf,C*,K*,*^F*,M*,H*,W*,Q*) -330 embellishments/mushroom-farm FLAG=transition2}
{NEW:TRANSITION Ds (!,Ds,W*,S*,Ai,Q*) -510 sand/beach}
{NEW:TRANSITION Dd (!,R*,Dd,W*,S*,Ai,Q*) -510 sand/desert}
# Dirt transitions are double sided
{NEW:TRANSITION (!,Rd,Rr*,Hh*,M*,Q*,D*) Rd -370 flat/desert-road FLAG=inside}
{NEW:TRANSITION Rd (!,Rd,W*,Ai,Q*,D*) -371 flat/desert-road}
{NEW:TRANSITION (!,Re,Rr*,Hh*,M*,Q*,D*) Re -379 flat/dirt FLAG=inside}
{NEW:TRANSITION Re (!,Re,Rr*,W*,Ai,Q*,D*) -380 flat/dirt}
{NEW:TRANSITION (!,Rb,Rr*,W*,Ai,Q*,D*) Rb -384 flat/dirt-dark FLAG=inside}
{NEW:TRANSITION Rb (!,Rb,Rr*,W*,Ai,Q*,D*) -388 flat/dirt-dark}
# This complicated part keeps the submerged part of ice or a bank from drawing over the above-water parts of banks or ice
{NEW:TRANSITION (!,Chw,Khw,Khs,!,C*,K*) (Ai,W*) -480 castle/castle-to-ice FLAG=non_submerged}
{NEW:TRANSITION (Mm,Hh) Ai,W*,S* -482 hills/regular-to-water FLAG=non_submerged}
{NEW:TRANSITION (Md,Hhd,Mv) Ai,W*,S* -482 hills/dry-to-water FLAG=non_submerged}
{NEW:TRANSITION (R*,G*,Uue) Ai,W* -483 flat/bank-to-ice FLAG=non_submerged}
{NEW:TRANSITION (U*,Xu*,Ql*) Ai,W*,S* -486 cave/bank FLAG=non_submerged}
{NEW:TRANSITION Aa,Ai (D*) -485 frozen/ice FLAG=non_submerged}
{NEW:TRANSITION Aa,Ha,Ms,Ai (W*,S*) -485 frozen/ice FLAG=non_submerged}
{NEW:TRANSITION Aa,Ha,Ms,Ai (W*,S*) -505 frozen/ice-to-water FLAG=submerged}
# we just draw this again (invisible below the base layer) to set the transition flags
{NEW:TRANSITION Aa,Ha,Ms,Ai (W*,Ss) -1001 frozen/ice-to-water}
# Beaches
{NEW:GENERIC_CORNER_TRANSITION !,D*,Hd,Chw,Khw,Khs,W*,S*,Xv,Qx*,A*,_* W* -500 water/bottom masks/long ""}
# Water Transitions below everything else
{NEW:GENERIC_CORNER_TRANSITION Wwf (!,Wwf,!,W*,Sm) -515 water/ford masks/long "~O(0.48)"}
# Double-sided animated transitions for water-to-water and sand-to-water
{NEW:TRANSITION Sm (!,Sm,!,W*,D*) -556 swamp/mud-long FLAG=transition3}
{NEW:WATER_342_180_TRANSITION Wo* (!,Wo*,!,W*,Sm) -550 "~O(50%)" water/ocean 21 DURATION=125 RANDOM_START=no}
{NEW:WATER_342_180_TRANSITION Ww* (!,Ww*,!,W*,Sm) -551 "~O(50%)" water/water 17 DURATION=125 RANDOM_START=no}
{NEW:WATER_342_180_OVERLAY_TRANSITION Wog,Wwg,Wwrg (!,Wog,Wwg,Wwrg,!,W*,Sm) -503 water/overlay-gray 0.20}
{NEW:WATER_342_180_OVERLAY_TRANSITION Wot,Wwt,Wwrt (!,Wot,Wwt,Wwrt,!,W*,Sm) -505 water/overlay-tropical 0.16}
# We currently can't afford these extra rules to make the water transition nicely onto void and off-map, so
# instead we make void and off-map transition over water.
#{NEW:WATER_342_180_TRANSITION Wog Xv,_off^_usr -550 "~CS(20,0,-10)" water/ocean 21}
#{NEW:WATER_342_180_TRANSITION Wo Xv,_off^_usr -551 "" water/ocean 21}
#{NEW:WATER_342_180_TRANSITION Wot Xv,_off^_usr -552 "~CS(-5,15,10)" water/ocean 21}
#{NEW:WATER_342_180_TRANSITION Wwg,Wwrg Xv,_off^_usr -553 "~CS(10,-5,-10)" water/water 17}
#{NEW:WATER_342_180_TRANSITION Ww,Wwf,Wwr Xv,_off^_usr -554 "" water/water 17}
#{NEW:WATER_342_180_TRANSITION Wwt,Wwrt Xv,_off^_usr -555 "~CS(5,20,10)" water/water 17}
{NEW:GENERIC_CORNER_TRANSITION Xv W*,Sm -513 void/void masks/long ()}
{NEW:GENERIC_CORNER_TRANSITION _off^_usr W*,Sm -514 off-map/border masks/long "~NO_TOD_SHIFT()"}
# chasm to abyss ecetera transition
{NEW:TRANSITION Qxu,Qxe Qxua,Xv,_off^_usr -600 chasm/depths FLAG=depths}
{NEW:TRANSITION Qxua Xv,_off^_usr -601 chasm/abyss-base FLAG=depths}
# fake shroud
{OVERLAY_L *^_s 1 void/void }
{TRANSITION_RESTRICTED_LF *^_s (!,*^_s) 1 overlay void/void }
# ugly fillups for missing transitions
{TRANSITION_COMPLETE_L Ai Xv,_off^_usr -800 frozen/ice}
{TRANSITION_COMPLETE_L Xv _off^_usr -810 void/void}
# Default terrain
{NEW:BASE * void/void}
#wmlindent: stop ignoring