#textdomain wesnoth # 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} {EDITOR_DEPRECATED Irs} # wmllint: noconvert {EDITOR_DEPRECATED Ias} # wmllint: noconvert {EDITOR_DEPRECATED Icr} # wmllint: noconvert {EDITOR_DEPRECATED Ior} # wmllint: noconvert {EDITOR_DEPRECATED Icn} # wmllint: noconvert ############################################################# # Macros for where normal terrain code filtering doesn't work # this may not be needed at some point # this is needed for D*/Rrd/W* transitions #define TG_RSTAR_NOT_RRD Rb,Re,Rd,Rp,Rr,Rrc,Rra#enddef # wmlindent: start ignoring # deprecated codes, as of 1.17.9 #define TG_BUILT_STONE Irs,Icr#enddef # wmllint: noconvert # deprecated codes, as of 1.17.9 #define TG_BUILT_WOOD Iwr,Ior,Icn#enddef # wmllint: noconvert # wmlindent: stop ignoring ############################################################# {NEW:FLOODFILL *^_mhh *^Qhh* (*^Qhu*,Qx*,Ql*) FLAG=flood_high_alt } {NEW:FLOODFILL *^_mh *^Qhh* (*^Qhu*,Qx*,Ql*) FLAG=flood_high } {NEW:FLOODFILL *^_mll *^Qhu* *^Qhh* FLAG=flood_low_alt } {NEW:FLOODFILL *^_ml *^Qhu* *^Qhh* } {NEW:FLOODFILL_BORDER_FILL *^Qhh* flood_high_alt } {NEW:FLOODFILL_BORDER_FILL *^Qhh* flood_high } {NEW:FLOODFILL_BORDER_FILL *^Qhu* flood_low } {NEW:FLOODFILL_BORDER_FILL *^Qhu* flood_low_alt } #ifdef EDITOR {NEW:FLOODFILL_VISUAL darken IPF="~CS(10,40,140)~O(0.5)"} {NEW:FLOODFILL_VISUAL darken IPF="~CS(-80,0,220)~O(0.65)" FLAG=flood_low_alt} {NEW:FLOODFILL_VISUAL darken IPF="~CS(140,190,240)~O(0.55)" FLAG=flood_high} {NEW:FLOODFILL_VISUAL darken IPF="~CS(180,240,240)~O(0.65)" FLAG=flood_high_alt} # uncomment this to see where the floodfill has gone, if your graphics aren't behaving as expected # {NEW:FLOODFILL_VISUAL darken IPF="~CS(250,0,0)" FLAG=elevated} #endif # not the same as FLOODFILL, but similarly sets flags for spillover {NEW:SET_FLAG *^Qhhf smallforest2} {NEW:SET_FLAG *^Qhuf smallforest2} # Tracks and bridges #define BRIDGE_LAYER 0#enddef # basic stone bridge {BRIDGE:STRAIGHTS Bsb\ Bsb| Bsb/ * * * stonebridge {BRIDGE_LAYER} bridge/stonebridge} #{BRIDGE:ENDS Bsb\ Bsb| Bsb/ * (Co*,Cu*,Ko*,Ku*) * stonebridge {BRIDGE_LAYER} bridge/stonebridge-castle} {BRIDGE:ENDS Bsb\ Bsb| Bsb/ * (C*,K*) * stonebridge {BRIDGE_LAYER} bridge/stonebridge-castle} {BRIDGE:ENDS Bsb\ Bsb| Bsb/ * (C*,K*,X*) * stonebridge {BRIDGE_LAYER} bridge/stonebridge-short} {BRIDGE:ENDS Bsb\ Bsb| Bsb/ * (W*,S*,Ql*) * stonebridge {BRIDGE_LAYER} bridge/stonebridge-water} {BRIDGE:ENDS Bsb\ Bsb| Bsb/ * * * stonebridge {BRIDGE_LAYER} bridge/stonebridge} # snowy stone bridge # the N_S bridge images are not split E/W, but W is in shadow, so we let the E adjacent terrain govern the ground vs regular (hard edge vs fading supports) {BRIDGE:STRAIGHTS Bsa\ Bsa| Bsa/ * * (!,W*,Q*) stonebridge 0 bridge/snow/stonebridge-ground NS_E="!,W*,Q*"} {BRIDGE:STRAIGHTS Bsa\ Bsa| Bsa/ * * * stonebridge 0 bridge/snow/stonebridge} #{BRIDGE:ENDS Bsa\ Bsa| Bsa/ * (Co*,Cu*,Ko*,Ku*) * stonebridge {BRIDGE_LAYER} bridge/snow/stonebridge-castle} #{BRIDGE:ENDS Bsa\ Bsa| Bsa/ * (C*,K*) * stonebridge {BRIDGE_LAYER} bridge/snow/stonebridge-castle} {BRIDGE:ENDS Bsa\ Bsa| Bsa/ * (C*,K*,X*) * stonebridge {BRIDGE_LAYER} bridge/snow/stonebridge-short} {BRIDGE:ENDS Bsa\ Bsa| Bsa/ * (W*,S*,Ql*) * stonebridge {BRIDGE_LAYER} bridge/snow/stonebridge-water} {BRIDGE:ENDS Bsa\ Bsa| Bsa/ * * * stonebridge {BRIDGE_LAYER} bridge/snow/stonebridge} # hanging bridge {BRIDGE:STRAIGHTS Bh\ Bh| Bh/ Q* Q* * hanging {BRIDGE_LAYER} bridge/hanging-xx} {BRIDGE:STRAIGHTS Bh\ Bh| Bh/ Q* * * hanging {BRIDGE_LAYER} bridge/hanging-x} {BRIDGE:STRAIGHTS Bh\ Bh| Bh/ * * * hanging {BRIDGE_LAYER} bridge/hanging} {BRIDGE:ENDS Bh\ Bh| Bh/ Q* (W*,S*) * hanging {BRIDGE_LAYER} bridge/hanging-wx} {BRIDGE:ENDS Bh\ Bh| Bh/ Q* (C*,K*,X*) * hanging {BRIDGE_LAYER} bridge/hanging-cx} {BRIDGE:ENDS Bh\ Bh| Bh/ Q* * * hanging {BRIDGE_LAYER} bridge/hanging-x} {BRIDGE:ENDS Bh\ Bh| Bh/ * (W*,S*) * hanging {BRIDGE_LAYER} bridge/hanging-w} {BRIDGE:ENDS Bh\ Bh| Bh/ * (C*,K*,X*) * hanging {BRIDGE_LAYER} bridge/hanging-c} {BRIDGE:ENDS Bh\ Bh| Bh/ * * * hanging {BRIDGE_LAYER} bridge/hanging} # chasm stone bridge {BRIDGE:STRAIGHTS Bcx\ Bcx| Bcx/ * Ql* Ql* chasm {BRIDGE_LAYER} bridge/chasm-ll} {BRIDGE:STRAIGHTS Bcx\ Bcx| Bcx/ * Ql* Q* chasm {BRIDGE_LAYER} bridge/chasm-lx} {BRIDGE:STRAIGHTS Bcx\ Bcx| Bcx/ * Q* Ql* chasm {BRIDGE_LAYER} bridge/chasm-xl} {BRIDGE:STRAIGHTS Bcx\ Bcx| Bcx/ * Q* Q* chasm {BRIDGE_LAYER} bridge/chasm-xx} {BRIDGE:STRAIGHTS Bcx\ Bcx| Bcx/ * * * chasm {BRIDGE_LAYER} bridge/chasm} {BRIDGE:ENDS Bcx\ Bcx| Bcx/ Ql* Ql* Ql* chasm {BRIDGE_LAYER} bridge/chasm-dock-ll} {BRIDGE:ENDS Bcx\ Bcx| Bcx/ Ql* Ql* Q* chasm {BRIDGE_LAYER} bridge/chasm-dock-lx} {BRIDGE:ENDS Bcx\ Bcx| Bcx/ Qx* Qx* Ql* chasm {BRIDGE_LAYER} bridge/chasm-dock-xl} {BRIDGE:ENDS Bcx\ Bcx| Bcx/ Qx* Qx* Qx* chasm {BRIDGE_LAYER} bridge/chasm-dock-xx} {BRIDGE:ENDS Bcx\ Bcx| Bcx/ Ql* Q* Ql* chasm {BRIDGE_LAYER} bridge/chasm-dock-ll} {BRIDGE:ENDS Bcx\ Bcx| Bcx/ Ql* Q* Q* chasm {BRIDGE_LAYER} bridge/chasm-dock-lx} {BRIDGE:ENDS Bcx\ Bcx| Bcx/ Q* Q* Ql* chasm {BRIDGE_LAYER} bridge/chasm-dock-xl} {BRIDGE:ENDS Bcx\ Bcx| Bcx/ Q* Q* Q* chasm {BRIDGE_LAYER} bridge/chasm-dock-xx} {BRIDGE:ENDS Bcx\ Bcx| Bcx/ * Ql* * chasm {BRIDGE_LAYER} bridge/chasm-dock-l} {BRIDGE:ENDS Bcx\ Bcx| Bcx/ * Q* * chasm {BRIDGE_LAYER} bridge/chasm-dock} {BRIDGE:ENDS Bcx\ Bcx| Bcx/ * * Qx* chasm {BRIDGE_LAYER} bridge/chasm-x} {BRIDGE:ENDS Bcx\ Bcx| Bcx/ * * Ql* chasm {BRIDGE_LAYER} bridge/chasm-l} {BRIDGE:ENDS Bcx\ Bcx| Bcx/ * * * chasm {BRIDGE_LAYER} bridge/chasm} # plank bridge {BRIDGE:JOINTS Bp\ Bp| Bp/ * Q* planks {BRIDGE_LAYER} bridge/planks} {BRIDGE:JOINTS Bp\ Bp| Bp/ * * planks {BRIDGE_LAYER} bridge/planks-short} {BRIDGE:CORNERS Bp\ Bp| Bp/ * Q* planks {BRIDGE_LAYER} bridge/planks} {BRIDGE:CORNERS Bp\ Bp| Bp/ * * planks {BRIDGE_LAYER} bridge/planks-short} {BRIDGE:STRAIGHTS Bp\ Bp| Bp/ * * Q* planks {BRIDGE_LAYER} bridge/planks} {BRIDGE:STRAIGHTS Bp\ Bp| Bp/ * * * planks {BRIDGE_LAYER} bridge/planks-short} {BRIDGE:ENDS Bp\ Bp| Bp/ * Q* Q* planks {BRIDGE_LAYER} bridge/planks-dock} {BRIDGE:ENDS Bp\ Bp| Bp/ * Q* * planks {BRIDGE_LAYER} bridge/planks-short-dock} {BRIDGE:ENDS Bp\ Bp| Bp/ * * Q* planks {BRIDGE_LAYER} bridge/planks} {BRIDGE:ENDS Bp\ Bp| Bp/ * * * planks {BRIDGE_LAYER} 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 {NEW:TRACK_COMPLETE *^Br\ *^Br| *^Br/ misc/rails FLAG=track_rail} # add transition rail<->rail wherever images are missing {NEW:TRACK_BORDER_RESTRICTED (*^Br/,*^Br\) *^Br| misc/rails-switch-ns FLAG=track_rail} {NEW:TRACK_BORDER_RESTRICTED (*^Br|,*^Br/) *^Br\ misc/rails-switch-nwse FLAG=track_rail} {NEW:TRACK_BORDER_RESTRICTED (*^Br|,*^Br\) *^Br/ misc/rails-switch-nesw FLAG=track_rail} #add transitions at rail end {NEW:TRACK_BORDER_RESTRICTED (*^Br|,*^Br/,*^Br\) (!,C*,K*) misc/rails-end FLAG=track_rail} # basic images for the bridge {NEW:TRACK_COMPLETE *^Bw\ *^Bw| *^Bw/ bridge/wood FLAG=track_wood LAYER={BRIDGE_LAYER}} {NEW:TRACK_COMPLETE *^Bw\r *^Bw|r *^Bw/r bridge/wood-rotting FLAG=track_wood LAYER={BRIDGE_LAYER}} # add transition bridges<->bridges wherever images are missing {NEW:TRACK_BORDER_RESTRICTED (*^Bw|*,*^Bw/*,*^Bw\*) (*^Bw|*,*^Bw/*,*^Bw/*) bridge/wood-end FLAG=track_wood LAYER={BRIDGE_LAYER}} # add dock-style ends to bridges ending in water {NEW:TRACK_BORDER_RESTRICTED (*^Bw|*,*^Bw/*,*^Bw\*) (W*,Ss*,Ai*) bridge/wood-dock FLAG=track_wood LAYER={BRIDGE_LAYER}} # add ramps where straight bridges end on land {NEW:TRACK_BORDER_RESTRICTED (*^Bw|*,*^Bw/*,*^Bw\*) (!,C*,K*) bridge/wood-end FLAG=track_wood LAYER={BRIDGE_LAYER}} # Forests #define SMALL_FOREST_FILTER C*,K*,X*,Q*,W*,Ai,M*,*^Qh*,*^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 ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST H*^Fpa,M*^Fpa {SMALL_FOREST_FILTER} forest/snow-forest-sparse} {NEW:FOREST *^Fpa {SMALL_FOREST_FILTER} forest/snow-forest ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST H*^Ft,M*^Ft {SMALL_FOREST_FILTER} forest/tropical/jungle-sparse} {NEW:FOREST *^Ft {SMALL_FOREST_FILTER} forest/tropical/jungle ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST H*^Ftd,M*^Ftd {SMALL_FOREST_FILTER} forest/tropical/palm-desert-sparse} {NEW:FOREST *^Ftd {SMALL_FOREST_FILTER} forest/tropical/palm-desert ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST H*^Ftp,M*^Ftp {SMALL_FOREST_FILTER} forest/tropical/palms-sparse} {NEW:FOREST *^Ftp {SMALL_FOREST_FILTER} forest/tropical/palms ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST *^Ftr {SMALL_FOREST_FILTER} forest/tropical/rainforest ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST H*^Fts,M*^Fts {SMALL_FOREST_FILTER} forest/tropical/savanna-sparse} {NEW:FOREST *^Fts {SMALL_FOREST_FILTER} forest/tropical/savanna ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST H*^Fds,M*^Fds {SMALL_FOREST_FILTER} forest/deciduous-summer-sparse} {NEW:FOREST *^Fds {SMALL_FOREST_FILTER} forest/deciduous-summer ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST H*^Fdf,M*^Fdf {SMALL_FOREST_FILTER} forest/deciduous-fall-sparse} {NEW:FOREST *^Fdf {SMALL_FOREST_FILTER} forest/deciduous-fall ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST H*^Fdw,M*^Fdw {SMALL_FOREST_FILTER} forest/deciduous-winter-sparse} {NEW:FOREST *^Fdw {SMALL_FOREST_FILTER} forest/deciduous-winter ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST H*^Fda,M*^Fda {SMALL_FOREST_FILTER} forest/deciduous-winter-snow-sparse} {NEW:FOREST *^Fda {SMALL_FOREST_FILTER} forest/deciduous-winter-snow ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST H*^Fms,M*^Fms {SMALL_FOREST_FILTER} forest/mixed-summer-sparse} {NEW:FOREST *^Fms {SMALL_FOREST_FILTER} forest/mixed-summer ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST H*^Fmf,M*^Fmf {SMALL_FOREST_FILTER} forest/mixed-fall-sparse} {NEW:FOREST *^Fmf {SMALL_FOREST_FILTER} forest/mixed-fall ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST H*^Fmw,M*^Fmw {SMALL_FOREST_FILTER} forest/mixed-winter-sparse} {NEW:FOREST *^Fmw {SMALL_FOREST_FILTER} forest/mixed-winter ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST H*^Fma,M*^Fma {SMALL_FOREST_FILTER} forest/mixed-winter-snow-sparse} {NEW:FOREST *^Fma {SMALL_FOREST_FILTER} forest/mixed-winter-snow ALT_TERRAINLIST="*^Qhhf,*^Qhuf"} {NEW:FOREST (W*^Tf*) (Wo*) forest/mushrooms-water} {NEW:FOREST (*^Uf*,*^Tf*) {SMALL_FOREST_FILTER} forest/mushrooms} {NEW:FOREST (W*^Wkf) (Wwr*,!,W*) water/seaweed/kelp ANIM="-[1~4,3,2]" TIME=":[700*6]"} {NEW:FOREST (*^Wkf) {SMALL_FOREST_FILTER} water/seaweed/kelp-dead} # this will only show up if there are no trees already drawn {NEW:FOREST (A"*^Qhhf,A*^Qhuf") {SMALL_FOREST_FILTER} forest/deciduous-winter-snow} {NEW:FOREST ("*^Qhhf,*^Qhuf") {SMALL_FOREST_FILTER} forest/deciduous-winter} #undef SMALL_FOREST_FILTER # Great-tree {NEW:OVERLAY *^Fet forest/great-tree} {NEW:OVERLAY *^Feta forest/great-tree-snowy} {NEW:OVERLAY *^Fetd forest/great-tree-dead} {NEW:OVERLAY W*^Feth forest/great-oak-tree-dead-water} {NEW:OVERLAY *^Feth forest/great-oak-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 # To aid those updating terrain macros in 1.17/1.18, this next macro used to be # {OVERLAY_COMPLETE_LF Ss (!,Xv,Chs,!,C*,H*,M*,X*,Q*,A*,Ke,Kea,Kud*,I*) -85 base2 swamp/reed} {NEW:OVERLAY Ss swamp/reed LAYER=-85 FLAG=base2 ADJACENT="!,Xv,Chs,!,C*,H*,M*,X*,Q*,A*,Ke,Kea,Kud*,I*" } {NEW:OVERLAY Chs swamp/reed LAYER=-85 FLAG=base2 ADJACENT="!,C*,K*,Ss" } # Large volcano {NEW:VOLCANO_2x2 Mv Mm,Md mountains/volcano6 FLAG=base2} # Single-hex volcano {NEW:OVERLAY Mv mountains/volcano BASE=140,140 FLAG=base2 ADJACENT="!,Xv,Mv,!,C*,K*,X*,Q*"} {NEW:OVERLAY Mv misc/smoke-A CENTER=90,108 ANIM=[01~12] TIME=100} # Mountains {NEW:MOUNTAIN_RESTRICTED Mm (!,Xv,!,C*,K*,X*,Ql,Qx*) mountains/basic-castle FLAG=base2 } {NEW:MOUNTAINS_2x4_NW_SE Mm mountains/basic_range3 FLAG=base,base2 PROB=18} {NEW:MOUNTAINS_2x4_SW_NE Mm mountains/basic_range4 FLAG=base,base2 PROB=26} {NEW:MOUNTAINS_1x3_NW_SE Mm mountains/basic_range1 FLAG=base,base2 PROB=20} {NEW:MOUNTAINS_1x3_SW_NE Mm mountains/basic_range2 FLAG=base,base2 PROB=20} {NEW:MOUNTAINS_2x2 Mm mountains/basic5 FLAG=base,base2 PROB=40} {NEW:MOUNTAINS_2x2 Mm mountains/basic6 FLAG=base,base2 PROB=30} # there is a transition rule below for where the mountain graphic isn't large enough to cover up the hex edges {NEW:MOUNTAIN_SMALL Mm (!,Xv,!,C*,K*,X*,Ql,Qx*) mountains/basic-castle-n FLAG=base2 } {NEW:MOUNTAIN_SINGLE Mm mountains/basic FLAG=base,base2 } # Dry Mountains {NEW:MOUNTAIN_RESTRICTED Md (!,Xv,!,C*,K*,X*,Ql,Qx*) mountains/dry-castle FLAG=base2 } {NEW:MOUNTAINS_2x4_NW_SE Md mountains/dry_range3 FLAG=base,base2 PROB=18} {NEW:MOUNTAINS_2x4_SW_NE Md mountains/dry_range4 FLAG=base,base2 PROB=26} {NEW:MOUNTAINS_1x3_NW_SE Md mountains/dry_range1 FLAG=base,base2 PROB=20} {NEW:MOUNTAINS_1x3_SW_NE Md mountains/dry_range2 FLAG=base,base2 PROB=20} {NEW:MOUNTAINS_2x2 Md mountains/dry5 FLAG=base,base2 PROB=40} {NEW:MOUNTAINS_2x2 Md mountains/dry6 FLAG=base,base2 PROB=30} {NEW:MOUNTAIN_SMALL Md (!,Xv,!,C*,K*,X*,Ql,Qx*) mountains/dry-castle-n FLAG=base2 } {NEW:MOUNTAIN_SINGLE Md mountains/dry FLAG=base,base2 } # Snow mountains (uncomment rules as the corresponding tiles are added) #{NEW:MOUNTAIN_RESTRICTED Ms (!,Xv,!,C*,K*,X*,Ql,Qx*) mountains/snow-castle FLAG=base2 } #{NEW:MOUNTAINS_2x4_NW_SE Ms mountains/snow_range3 FLAG=base,base2 PROB=18} #{NEW:MOUNTAINS_2x4_SW_NE Ms mountains/snow_range4 FLAG=base,base2 PROB=26} #{NEW:MOUNTAINS_1x3_NW_SE Ms mountains/snow_range1 FLAG=base,base2 PROB=20} #{NEW:MOUNTAINS_1x3_SW_NE Ms mountains/snow_range2 FLAG=base,base2 PROB=20} {NEW:MOUNTAINS_2x2 Ms mountains/snow5 FLAG=base,base2 PROB=15} {NEW:MOUNTAINS_2x2 Ms mountains/snow6 FLAG=base,base2 PROB=25} {NEW:MOUNTAIN_SMALL Ms (!,Xv,!,C*,K*,X*,Ql,Qx*) mountains/snow-castle-n FLAG=base2 } {NEW:MOUNTAIN_SINGLE Ms mountains/snow FLAG=base,base2 } #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 # To aid those updating terrain macros in 1.17/1.18, this next macro used to be # {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} {NEW:OVERLAY Mdd desert_mountains/desert BASE=72,72 FLAG=base2 ADJACENT="!,Xv,!,C*,K*,X*,Ql,Qx*" } {NEW:MOUNTAINS_2x4_NW_SE Mdd desert_mountains/desert_range3 FLAG=base,base2 PROB=18} {NEW:MOUNTAINS_1x3_NW_SE Mdd desert_mountains/desert_range1 FLAG=base,base2 PROB=20} {NEW:MOUNTAINS_1x3_SW_NE Mdd desert_mountains/desert_range2 FLAG=base,base2 PROB=20} {NEW:MOUNTAINS_2x2 Mdd desert_mountains/desert5 FLAG=base,base2 PROB=40} {NEW:MOUNTAINS_2x2 Mdd desert_mountains/desert6 FLAG=base,base2 PROB=30} {NEW:MOUNTAIN_SINGLE Mdd desert_mountains/desert FLAG=base,base2 } #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. {NEW:TRANSITION_INTRA (Qx*,Ql*) 0 desert_mountains/blend-from-chasm FLAG=transition3 ADJACENT="Mdd,Mdd^Xm" BASE=90,90} # {TRANSITION_COMPLETE_LF (Qx*,Ql*) (Mdd,Mdd^Xm) 0 transition3 desert_mountains/blend-from-chasm} {NEW:TRANSITION_INTRA (Mdd,Mdd^Xm) -165 desert_mountains/desert-to-water FLAG=non_submerged ADJACENT="Ai,W*,S*"} # {TRANSITION_COMPLETE_LF (Mdd,Mdd^Xm) Ai,W*,S* -165 non_submerged desert_mountains/desert-to-water} # Impassable peaks # {NEW:OVERLAY Mdd^Xm mountains/cloud@V LAYER=1 FLAG=clouds} {NEW:PEAKS_1x2_SW_NE Mdd^Xm desert_mountains/peak_range1 FLAG=peaks PROB=15} {NEW:PEAKS_LARGE Mdd^Xm desert_mountains/peak_large1 FLAG=peaks PROB=25} {NEW:PEAKS_LARGE Mdd^Xm desert_mountains/peak_large2 FLAG=peaks PROB=33} {NEW:OVERLAY Mdd^Xm desert_mountains/peak LAYER=2 FLAG=peaks} # {OVERLAY_RANDOM_LF Mdd^Xm 2 peaks desert_mountains/peak} # To aid those updating terrain macros in 1.17/1.18, this next macro used to be # {OVERLAY_LF *^Xm 1 clouds mountains/cloud@V} {NEW:OVERLAY *^Xm mountains/cloud@V LAYER=1 FLAG=clouds} {NEW:PEAKS_1x2_SW_NE *^Xm mountains/peak_range1 FLAG=peaks PROB=15} {NEW:PEAKS_LARGE *^Xm mountains/peak_large1 FLAG=peaks PROB=25} {NEW:PEAKS_LARGE *^Xm mountains/peak_large2 FLAG=peaks PROB=33} {NEW:OVERLAY *^Xm mountains/peak LAYER=2 FLAG=peaks} # # > V I L L A G E B U I L D I N G S < #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} # Snowy Drake villages # 20% 20% 20% 20% 20% {NEW:VILLAGE *^Vka village/drake-snow1-A PROB=20 ANIM=[01~03] TIME=200} {NEW:VILLAGE *^Vka village/drake-snow2-A PROB=25 ANIM=[01~03] TIME=100} {NEW:VILLAGE *^Vka village/drake-snow3 PROB=33} {NEW:VILLAGE *^Vka village/drake-snow4 PROB=50} {NEW:VILLAGE *^Vka village/drake-snow5} #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} # Windmill Village {NEW:OVERLAY *^Vwm misc/windmill-A ANIM=[01~18] TIME=70} # # > O V E R L A Y S < # # Fence {NEW:FENCE *^Eff embellishments/fence} # Iron Fence is also a barrier, hence the 'q' - let's reserve the Eq* patterns for similar things {NEW:FENCE *^Eqf embellishments/fence-iron LAYER=0 BASE=108,144 CENTER=90,168 ALTERNATE=*^Eqp,*^P*,X*} {NEW:FENCE *^Eqp embellishments/fence-palisade LAYER=0 BASE=108,144 CENTER=90,168 ALTERNATE=*^Eqf,*^P*,X*} # {NEW:FENCE_POST *^Eqf (Q*) embellishments/fence-iron-chasm LAYER=0 BASE=108,144 CENTER=90,168 } {NEW:FENCE_POST *^Eqf (*^P*) embellishments/fence-iron-portal LAYER=0 BASE=108,144 CENTER=90,168 } {NEW:FENCE_POST *^Eqp (Q*) embellishments/fence-palisade-chasm LAYER=0 BASE=108,144 CENTER=90,168 } {NEW:FENCE_POST *^Eqp (*^P*) embellishments/fence-palisade-portal LAYER=0 BASE=108,144 CENTER=90,168 } # Illuminated caves {NEW:OVERLAY (*^Ufi,*^Ii,*^Tfi) cave/beam FLAG=light LAYER=1} # Wall sconces or torches {NEW:WALL_FLAMES_OVERLAY (Xot^Efs) walls/stone/flames/candle} {NEW:WALL_FLAMES_SIMPLE_OVERLAY (Xu*^Efs) walls/flames/sconce} {NEW:WALL_FLAMES_OVERLAY (Xo*^Efs) walls/stone/flames/sconce} {NEW:TORCH_FLAMES_OVERLAY (!,X*^Efs,!,*^Efs) walls/stone/flames/torch} # unwalkable indicator for *^Qhux {NEW:OVERLAY *^Qhux elevation/mist LAYER=-76} {NEW:OVERLAY *^Qhux elevation/chasm-overlay LAYER=-80 FLAG=overlay2} # seashells {NEW:OVERLAY *^Ewsh embellishments/seashells LAYER=-86} #Farmland {NEW:OVERLAY *^Gvs embellishments/farm-veg-spring LAYER=-81} # Water Lillies # To aid those updating terrain macros in 1.17/1.18, this next macro used to be # {OVERLAY_COMPLETE_L *^Ewl (C*,K*,X*,Ql*,Qx*,G*,M*,*^V*,R*,A*,D*,U*,H*) -86 embellishments/water-lilies} {NEW:OVERLAY *^Ewl embellishments/water-lilies LAYER=-86 ADJACENT="C*,K*,X*,Ql*,Qx*,G*,M*,*^V*,R*,A*,D*,U*,H*"} {NEW:OVERLAY *^Ewf embellishments/water-lilies-flower LAYER=-86 ADJACENT="C*,K*,X*,Ql*,Qx*,G*,M*,*^V*,R*,A*,D*,U*,H*"} # Windmill decoration {NEW:OVERLAY *^Wm misc/decorative/windmill- ANIM=[01~18] TIME=30 PROB=33} {NEW:OVERLAY *^Wm misc/decorative/windmill- ANIM=[01~18] TIME=50} # 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 # need to disable these images for some combinations {NEW:OVERLAY (!,Xof^Efm,!,*^Efm) embellishments/flowers-mixed LAYER=-500} #Rubble {NEW:OVERLAY W*^Dr misc/rubble-water FLAG=rubble LAYER=-1} {NEW:OVERLAY *^Dr misc/rubble FLAG=rubble LAYER=-1} {NEW:OVERLAY *^Es embellishments/stones-small} {NEW:OVERLAY *^Esa embellishments/snowbits-small} # not broken, but not identical - different random variations chosen, so leaving old macros in as a breadcrumb for now {NEW:OVERLAY *^Em embellishments/mushroom} # {OVERLAY_RANDOM *^Em embellishments/mushroom} {NEW:OVERLAY *^Emf embellishments/mushroom-farm ADJACENT="C*,K*,X*,Ql*,Qx*,W*,M*,*^V*"} # {OVERLAY_COMPLETE *^Emf (C*,K*,X*,Ql*,Qx*,W*,M*,*^V*) embellishments/mushroom-farm} # Chasm bridges - for now they don't tile # these are also on a different layer than the rest of bridges, maybe too low {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 - These should be moved to a new file and a more concise macro put here # but at least all the rules are self-contained within trash.cfg {TRASH_DISABLE Xo*^Edb} {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) {NEW:GATES_VERTICAL_NS (*^Pr|) (X*,*^Eq*) portals/gate-rusty} {NEW:GATES_DIAGONAL_SW (*^Pr\) (X*,*^Eq*) portals/gate-rusty} {NEW:GATES_DIAGONAL_SE (*^Pr/) (X*,*^Eq*) portals/gate-rusty} {NEW:GATES_VERTICAL_NS (*^Pw|) (X*,*^Eq*) portals/door-wooden} {NEW:GATES_DIAGONAL_SW (*^Pw\) (X*,*^Eq*) portals/door-wooden} {NEW:GATES_DIAGONAL_SE (*^Pw/) (X*,*^Eq*) portals/door-wooden} #open/embellishment {NEW:GATES_VERTICAL_NS (*^Pr|o) (X*,*^Eq*) portals/gate-rusty-open} {NEW:GATES_DIAGONAL_SW (*^Pr\o) (X*,*^Eq*) portals/gate-rusty-open} {NEW:GATES_DIAGONAL_SE (*^Pr/o) (X*,*^Eq*) portals/gate-rusty-open} {NEW:GATES_VERTICAL_NS (*^Pw|o) (X*,*^Eq*) portals/door-wooden-open} {NEW:GATES_DIAGONAL_SW (*^Pw\o) (X*,*^Eq*) portals/door-wooden-open} {NEW:GATES_DIAGONAL_SE (*^Pw/o) (X*,*^Eq*) portals/door-wooden-open} # # > B A S E T E R R A I N S < # # Flat base terrains {NEW:BASE Tb,*^Uf* 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,Exos) flat/dirt-dark} {NEW:BASE Rr flat/road} {NEW:BASE Rrd flat/sandy-path} {NEW:BASE Rrc flat/road-clean} {NEW:BASE Rp flat/stone-path} {NEW:BASE Rra flat/road-icy} # 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 Uhe cave/earthy-hills-variation} # to block out things from showing behind the walls, but not block the walls themselves {NEW:OVERLAY Xu* cave/wall-rough LAYER=0 BASE=144,144} {NEW:OVERLAY Xo* walls/stone/wall-stone-base LAYER=0 BASE=144,144} {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 {NEW:OVERLAY *^Edp embellishments/plants/desert-bones ADJACENT="C*,K*,Q*" PROB=17} {NEW:OVERLAY *^Edp,*^Edpp embellishments/plants/desert-plant ADJACENT="C*,K*,Q*"} {NEW:OVERLAY *^Esd embellishments/rocks FLAG=rocks} {NEW:BASE Ds sand/beach} {NEW:BASE Rd flat/desert-road} {NEW:BASE (R*^Dc,G*^Dc) flat/crater FLAG=crater} {NEW:BASE A*^Dc frozen/crater FLAG=crater LAYER=-999} {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} # Interior floors {NEW:BASE Isa interior/stone-ancient} # raised base to get it over the chasm images (LAYER=-284) {NEW:BASE Iwo interior/wood-ruined LAYER=-284 FLAG=raised_base} {NEW:BASE Iw* interior/wood-regular LAYER=-284 FLAG=raised_base} {NEW:BASE (Isr,Isc) interior/stone-regular LAYER=-284 FLAG=raised_base} # deprecated codes, for compatibility {NEW:BASE Ias interior/stone-ancient} # wmllint: noconvert # raised base to get it over the chasm images (LAYER=-284) {NEW:BASE Iwr,Icn interior/wood-regular LAYER=-284 FLAG=raised_base} # wmllint: noconvert {NEW:BASE Ior interior/wood-ruined LAYER=-284 FLAG=raised_base} # wmllint: noconvert {NEW:BASE Irs,Icr interior/stone-regular LAYER=-284 FLAG=raised_base} # wmllint: noconvert # # 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 water (waves) {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 Cva castle/winter-elven/grounds} {NEW:BASE Kva castle/winter-elven/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 Cfa castle/winter-dwarven/dwarven-castle-floor LAYER=-80} {NEW:OVERLAY Cfa castle/winter-dwarven/dwarven-castle-snow PROB=30} {NEW:BASE Kfa castle/winter-dwarven/dwarven-keep-floor LAYER=-80} {NEW:OVERLAY Kfa castle/winter-dwarven/dwarven-keep} {NEW:BASE Cfr castle/ruin-dwarven/dwarven-castle-floor} {NEW:OVERLAY Cfr castle/ruin-dwarven/debris PROB=30} {NEW:BASE Kfr castle/ruin-dwarven/dwarven-keep-floor} {NEW:OVERLAY Kfr castle/ruin-dwarven/dwarven-keep} {NEW:BASE Cf* castle/outside-dwarven/dwarven-castle-floor} {NEW:BASE Kf* castle/outside-dwarven/dwarven-keep-floor} {NEW:OVERLAY Kf* castle/outside-dwarven/dwarven-keep} {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 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 Cme,Cte 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} {NEW:DISABLE_TRANSITION (Km,Cm) * FLAG=non_submerged} {AQUATIC:KEEP_CORNER_TRANSITION (Km) (Cm) (W*,Ss,Q*) (Xu*,Xo*) (non_fading) (castle/aquatic-castle)} {NEW:TRANSITION (Cm) (!,K*,C*,W*,Ss,Q*,Xu*,Xo*) 0 castle/aquatic-castle/castle-to-ground FLAG=non_fading} {NEW:TRANSITION (Km) (!,K*,C*,W*,Ss,Q*,Xu*,Xo*) 0 castle/aquatic-castle/keep-to-ground FLAG=non_fading} {NEW:TRANSITION (Km) (W*,Ss) 0 castle/aquatic-castle/keep-to-water FLAG=non_fading} # 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} {NEW:CASTLEWALL Cva (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/winter-elven/castle} {NEW:CASTLEWALL2 Kva !,Ket,!,C*,Ke* (!,C*,K*,Xu*,Xo*) castle/winter-elven/keep-castle} {NEW:CASTLEWALL Kva (!,K*,Xu*,Xo*) K* castle/winter-elven/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} # Dwarf outside castles (similar appearance, but different rules and transitions than classic cave version) {NEW:CASTLEWALL Cfa,Kfa (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/winter-dwarven/dwarven-castle} {NEW:CASTLEWALL Cfr,Kfr (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/ruin-dwarven/dwarven-castle} {NEW:CASTLEWALL Cf*,Kf* (!,C*,K*,Xu*,Xo*) !,Ket,!,C*,Ke* castle/outside-dwarven/dwarven-castle} # 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 (!,Ket,!,C*,Ke*) (!,C*,K*,Xu*,Xo*) castle/encampment/tall-keep-castle} {NEW:CASTLEWALL Ket (!,Ket,!,Ke*,!,K*,Xu*,Xo*) K* castle/encampment/tall-keep} # Castle & Encampment Base Transtions {NEW:TRANSITION !,Kfa,Cfa,!,C*,K* Kfa,Cfa -79 castle/winter-dwarven/dwarven-castle-floor FLAG=inside} {NEW:TRANSITION Kfa,Cfa !,Kfa,Cfa,!,C*,K* -79 castle/winter-dwarven/dwarven-castle-floor} {NEW:TRANSITION !,Kf*,Cf*,!,C*,K* Kf*,Cf* -79 castle/outside-dwarven/dwarven-castle-floor FLAG=inside} {NEW:TRANSITION Kf*,Cf* !,Kf*,Cf*,!,C*,K* -79 castle/outside-dwarven/dwarven-castle-floor} {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*) } # Keep transitions from bleeding across the high-chasm ledges {NEW:DISABLE_TRANSITION (*^Qhu*) (*^Qhh*) } {NEW:DISABLE_TRANSITION (*^Qh*) (!,*^Qh*) FLAG1=elevated} {NEW:DISABLE_TRANSITION (*^Qh*) (*) FLAG1=flood_high_alt FLAG2=flood_high_alt} {NEW:DISABLE_TRANSITION (*^Qh*) (*) FLAG1=flood_high FLAG2=flood_high} {NEW:DISABLE_TRANSITION (*^Qh*) (*) FLAG1=flood_low FLAG2=flood_low} {NEW:DISABLE_TRANSITION (*^Qh*) (*) FLAG1=flood_low_alt FLAG2=flood_low_alt} # # 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 Isc !,Isc -221 interior/royal-rug/rug FLAG=royal_rug} {NEW:TRANSITION_INVERTED Iwc !,Iwc -223 interior/regular-rug/rug FLAG=regular_rug} # deprecated terrain codes, for compatibility {NEW:TRANSITION_INVERTED Icr !,Icr -221 interior/royal-rug/rug FLAG=royal_rug} # wmllint: noconvert {NEW:TRANSITION_INVERTED Icn !,Icn -223 interior/regular-rug/rug FLAG=regular_rug} # wmllint: noconvert # # this one uses the Ur underlayer {NEW:DISABLE_TRANSITION (Urc) (Uu*) } {NEW:TRANSITION_INVERTED Urc !,Urc -222 interior/cave-rug/rug FLAG=cave_rug} # floor transitions - need to be above the following DISABLE line {NEW:THREE_TERRAIN_TRANSITION Isr,Isc Q* G*,R*,D*,A*,Uu,Ur,Urc -222 interior/stone-chasm/stone-regular} {NEW:THREE_TERRAIN_TRANSITION Isr,Isc Q* W* -222 interior/stone-chasm/stone-dock-regular} {NEW:TRANSITION_CROWDED !,*^Qh*,!,Isr,Isc Q* -222 interior/stone-chasm/stone-regular} {NEW:TRANSITION_CROWDED !,*^Qh*,!,Isr,Isc W*,S*,G*,R*,D*,A*,Uu,Ur,Urc -222 interior/stone-regular} {NEW:TRANSITION Isr,Isc Q* -282 interior/stone-chasm/stone-regular} {NEW:TRANSITION (!,*^Qh*,!,Isr,Isc) W*,S* -222 interior/stone-dock-regular LAYER2=-221 ADJACENT2=!,Isr,Isc,W*,S*} {NEW:TRANSITION Isr,Isc (Isa,Iw*,Q*,W*,G*,R*,D*,A*,Uu,Ur,Urc,S*) -222 interior/stone-regular} {NEW:TRANSITION Iwo G*,R*,D*,A*,Ur,Urc,Isa -283 interior/wood-ruined} {NEW:TRANSITION Iw* G*,R*,D*,A*,Ur,Urc,Isa -283 interior/wood-regular} {NEW:TRANSITION Iwr,Iwc W*,S*,Qx* -283 interior/wood-chasm/wood-clean} {NEW:TRANSITION Iwo W*,S*,Qx* -283 interior/wood-chasm/wood-regular} {NEW:TRANSITION Iw* Ql* -283 interior/wood-chasm/wood-burnt} # compatibility code for deprecated terrain codes {NEW:THREE_TERRAIN_TRANSITION Irs,Icr Q* G*,R*,D*,A*,Uu,Ur,Urc -222 interior/stone-chasm/stone-regular} # wmllint: noconvert {NEW:THREE_TERRAIN_TRANSITION Irs,Icr Q* W* -222 interior/stone-chasm/stone-dock-regular} # wmllint: noconvert {NEW:TRANSITION_CROWDED !,*^Qh*,!,Irs,Icr Q* -222 interior/stone-chasm/stone-regular} # wmllint: noconvert {NEW:TRANSITION_CROWDED !,*^Qh*,!,Irs,Icr W*,S*,G*,R*,D*,A*,Uu,Ur,Urc -222 interior/stone-regular} # wmllint: noconvert {NEW:TRANSITION {TG_BUILT_STONE} Q* -282 interior/stone-chasm/stone-regular} {NEW:TRANSITION !,*^Qh*,!,{TG_BUILT_STONE} W*,S* -222 interior/stone-dock-regular LAYER2=-221 ADJACENT2=!,Irs,Icr,W*,S*} # wmllint: noconvert {NEW:TRANSITION {TG_BUILT_STONE} !,Irs,Icr,!,I*r,Q*,W*,G*,R*,D*,A*,Uu,Ur,Urc,S* -222 interior/stone-regular} # wmllint: noconvert {NEW:TRANSITION {TG_BUILT_WOOD} G*,R*,D*,A*,Ur,Urc,Ias -283 interior/wood-regular} # wmllint: noconvert {NEW:TRANSITION {TG_BUILT_WOOD} W*,S*,Qx* -283 interior/wood-chasm/wood-clean} {NEW:TRANSITION Ior W*,S*,Qx* -283 interior/wood-chasm/wood-regular} # wmllint: noconvert {NEW:TRANSITION {TG_BUILT_WOOD} Ql* -283 interior/wood-chasm/wood-burnt} # end compatibility code {NEW:DISABLE_TRANSITION (Qx*,Ql*,Xu*,Xo*,Cud*,Kud*) (*,*^*)} #{DISABLE_BASE_TRANSITIONS Qx*,Ql*,Xu*,Xo*,Cud*,Kud*} #dwarven castle transitions {NEW: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 LAYER=-1} {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:WALL2 Xuf (!,Xuf,!,Xu*) (!,Xu*,Xo*) walls/hedge/wall-hedge-edge} {NEW:WALL2 Xo* (Xuf) (!,Xu*,Xo*) walls/hedge/wall-hedge-mixed} {NEW:WALL Xuf (Qx*,Ql*) walls/hedge/wall-hedge-chasm} {NEW:WALL Xuf (!,Xu*,Xo*) walls/hedge/wall-hedge} {NEW:WALL Xu* (Qx*,Ql*) cave/wall-rough-chasm} {NEW:WALL Xur (!,Xu*,Xo*) walls/rubble/wall-rough} #{NEW:WALL Xu* (!,Xu*) cave/wall-rough} {NEW:WALL2_CORNER (Xom,Xoi) (Xos,Xot,Xoc,Xoa,Xof) (!,Xu*,Xo*) walls/stone/wall-minestone-mixed} {NEW:WALL2_CORNER (Xos,Xot,Xoc,Xoa,Xof) (Xom,Xoi) (!,Xu*,Xo*) walls/stone/wall-stonemine-mixed} {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 (Xoc) (Xos,Xot,Xoa,Xof) (!,Xu*,Xo*) walls/stone/wall-cleanstone-mixed} {NEW:WALL2_CORNER (Xoa) Xu* (!,Xu*,Xo*) walls/stone/ancient/wall-mixed} {NEW:WALL2 (Xoa) Xu* (!,Xu*,Xo*) walls/stone/ancient/wall-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} {NEW:WALL2 Exos Xor (!,Exos,Xo*) walls/stone/ruins/wall-stone-dual} {NEW:WALL_CORNER Xor (!,Xo*,Xu*) walls/stone/damaged/wall-stone ALTERNATIVE=Xo*} {NEW:WALL Xor (!,Xu*,Xo*) walls/stone/damaged/wall-stone} {NEW:WALL_CORNER Exos (!,Exos,Xo*) walls/stone/ruins/wall-stone FLAG=ruins} {NEW:WALL2 Exos Xo* (!,Exos,Xo*) walls/stone/ruins/wall-stone-edge} {NEW:WALL Exos (!,Exos,Xo*) walls/stone/ruins/wall-stone FLAG=ruins} {NEW:OVERLAY Exos walls/stone/ruins/rubble LAYER=-100} # 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 Xoa (!,Xo*,Xu*) walls/stone/ancient/wall-stone} {NEW:WALL_CORNER Xot^Edb (!,Xu*,Xo*) walls/stone/catacombs/wall-bones ALTERNATIVE=Xo*} {NEW:WALL_CORNER Xot (!,Xo*,Xu*) walls/stone/catacombs/wall-stone ALTERNATIVE=Xo*} {NEW:WALL_CORNER Xof^Efm (!,Xo*,Xu*) walls/stone/overgrown/wall-flowers ALTERNATIVE=Xof} {NEW:WALL_CORNER Xof (!,Xo*,Xu*) walls/stone/overgrown/wall-stone} {NEW:WALL_CORNER Xos (Aa,Ai,Ha) walls/stone/wall-stone-snow} {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^Exw (!,Xu*,Xo*) walls/stone/wall-stone-white OVERLAYIMAGE=terrain/walls/windows/dark-wood OVERLAYIMAGE1=terrain/walls/windows/dim-wood OVERLAYIMAGE2=terrain/walls/windows/dim-wood} {NEW:WALL Xoi (!,Xu*,Xo*) walls/stone/wall-stone-white} {NEW:WALL_MINOR_VARIANTS Xoi Xom (!,Xu*,Xo*) walls/stone/wall-stone-white} {NEW:WALL Xom^Exw (!,Xu*,Xo*) walls/stone/wall-stone-mine OVERLAYIMAGE=terrain/walls/windows/dark-wood OVERLAYIMAGE1=terrain/walls/windows/dim-wood OVERLAYIMAGE2=terrain/walls/windows/dim-wood} {NEW:WALL Xom,Xoi (!,Xu*,Xo*) walls/stone/wall-stone-mine} {NEW:WALL Xoc^Exw (!,Xu*,Xo*) walls/stone/clean/wall-stone OVERLAYIMAGE=terrain/walls/windows/glass} {NEW:WALL Xoc (!,Xu*,Xo*) walls/stone/clean/wall-stone} {NEW:WALL_MINOR_VARIANTS Xoc Xo* (!,Xu*,Xo*) walls/stone/clean/wall-stone} {NEW:WALL Xoa (!,Xu*,Xo*) walls/stone/ancient/wall-stone} # causes some bugs that need to be worked out first # {NEW:WALL_MINOR_VARIANTS Xoa Xo* (!,Xu*,Xo*) walls/stone/ancient/wall-stone} {NEW:WALL Xot^Edb (!,Xu*,Xo*) walls/stone/catacombs/wall-stone OVERLAYIMAGE=terrain/walls/stone/catacombs/wall-bones} {NEW:WALL Xot (!,Xu*,Xo*) walls/stone/catacombs/wall-stone} {NEW:WALL_MINOR_VARIANTS Xot Xo* (!,Xu*,Xo*) walls/stone/catacombs/wall-stone} {NEW:WALL Xof^Efm (!,Xu*,Xo*) walls/stone/overgrown/wall-stone OVERLAYIMAGE=terrain/walls/stone/overgrown/wall-flowers} {NEW:WALL Xof (!,Xu*,Xo*) walls/stone/overgrown/wall-stone} {NEW:WALL Xos (Aa,Ai,Ha) walls/stone/wall-stone-snow ADJACENT2=!,Xu*,Xo*} {NEW:WALL Xos^Exw (!,Xu*,Xo*) walls/stone/wall-stone OVERLAYIMAGE=terrain/walls/windows/dark-stone OVERLAYIMAGE1=terrain/walls/windows/dim-stone OVERLAYIMAGE2=terrain/walls/windows/bright-stone} {NEW:WALL Xo* (!,Xu*,Xo*) walls/stone/wall-stone} # New Generic Castle-to Chasm transition # To aid those updating terrain macros in 1.17/1.18, these next macros used to be # {TRANSITION_COMPLETE_LF (Cha,Kha,Coa,Koa,Cea,Kea,Cfa,Kfa) 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} {NEW:TRANSITION_INTRA (Cha,Kha,Coa,Koa,Cea,Kea,Cfa,Kfa) -89 chasm/regular-snow-castle FLAG=transition2 ADJACENT="Qx*"} {NEW:TRANSITION_INTRA (!,Cud*,Kud*,!,C*,K*) -89 chasm/earthy-castle FLAG=transition2 ADJACENT="Qxe"} {NEW:TRANSITION_INTRA (!,Cud*,Kud*,!,C*,K*) -89 chasm/regular-castle FLAG=transition2 ADJACENT="Qx*"} {NEW:TRANSITION_INTRA (!,Cud*,Kud*,!,C*,K*,Xo*) -89 unwalkable/castle-lava-chasm FLAG=transition2 ADJACENT="Ql*"} # Special Mountain to Chasm Blend transition {NEW:TRANSITION_INTRA (Qx*,Ql*) 0 mountains/blend-from-chasm FLAG=transition3 ADJACENT="M*"} #{NEW:FLOODFILL_DISABLE_WALL (!,Qx*,Xv,_off^_usr) *^Qhh FLAG=ground FLAG1=flood_high_alt NEGATE_FLAG=flood_high} {NEW:FLOODFILL_DISABLE_WALL (!,Qx*,Xv,_off^_usr) *^Qhh* FLAG=ground FLAG1=flood_high_alt FLAG3=flood_high_alt NEGATE_FLAG=flood_high} {NEW:FLOODFILL_DISABLE_WALL (!,Qx*,Xv,_off^_usr) *^Qhh* FLAG=ground FLAG1=flood_high FLAG3=flood_high NEGATE_FLAG=flood_high_alt} # This is a special case #################################################################### {DISABLE_CORNER_FLAGGED !,*^Qhh* *^Qhh* FLAG=ground FLAG1=flood_high FLAG2=flood_high FLAG3=flood_high_alt} {DISABLE_CORNER_FLAGGED !,*^Qhh* *^Qhh* FLAG=ground FLAG1=flood_high FLAG2=flood_high_alt FLAG3=flood_high} {DISABLE_CORNER_FLAGGED !,*^Qhu* *^Qhu* FLAG=ground FLAG1=flood_low FLAG2=flood_low FLAG3=flood_low_alt} {DISABLE_CORNER_FLAGGED !,*^Qhu* *^Qhu* FLAG=ground FLAG1=flood_low FLAG2=flood_low_alt FLAG3=flood_low} #################################################################### #{NEW:FLOODFILL_DISABLE_WALL (!,*^Qhh,Qx*,Xv,_off^_usr) *^Qhh FLAG=ground FLAG1=flood_high_alt NEGATE_FLAG=flood_high} #{NEW:FLOODFILL_DISABLE_WALL (!,*^Qhh,Qx*,Xv,_off^_usr) *^Qhh FLAG=ground FLAG1=flood_high NEGATE_FLAG=flood_high_alt} {NEW:FLOODFILL_DISABLE_WALL (!,*^Qhh*,!,*^Qh*) (!,*^Qh*,Qx*,Xv,_off^_usr) FLAG=ground FLAG2=flood_low_alt NEGATE_FLAG=flood_low} {NEW:FLOODFILL_DISABLE_WALL (!,*^Qhh*,!,*^Qh*) (!,*^Qh*,Qx*,Xv,_off^_usr) FLAG=ground FLAG2=flood_low NEGATE_FLAG=flood_low_alt} #chasm/lava transitions always below castles/walls # these have been moved lower, layer=-290 from -90 {NEW:WALL_TRANSITION2 Ql Qx*,Xv,_off^_usr (!,Ql,Qx*) unwalkable/lava-chasm LAYER=-290 FLAG=ground} {NEW:WALL_TRANSITION2 Qlf Qx*,Xv,_off^_usr (!,Ql*,Qx*) unwalkable/lava-chasm LAYER=-290 FLAG=ground} # no compatibility code for ^Qh* overlays on Irs,Ias,Icr,Ior,Icn - no stable legacy maps would have such combinations # wmllint: noconvert {NEW:WALL_TRANSITION2 (!,I*,!,*^Qhu*) (!,Ql,Qx*,Xv,_off^_usr,*^Qh*,Is*) (!,*^Qh*,!,Isa) elevation/ancient-stone/corner-stone LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION2 (!,I*,!,*^Qhu*) (!,Ql,Qx*,Xv,_off^_usr,*^Qh*,Is*) (!,*^Qh*,!,Is*) elevation/stone/corner-stone LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION2 (!,I*,!,*^Qhu*) (!,Ql,Qx*,Xv,_off^_usr,*^Qh*,Iw*) (!,*^Qh*,!,Iw*) elevation/wood/corner-wood LAYER=-90 FLAG=ground} # delete this following line once image work is complete {NEW:WALL_TRANSITION2 (!,*^Qhh*,!,*^Qh*) (!,Ql,Qx*,Xv,_off^_usr,*^Qh*,Iw*) (!,*^Qh*,!,Iw*) elevation/stone/corner-stone IPF="~CS(200,-100,-100)" LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION2 (!,*^Qhh*) (!,Is*,!,*^Qhh*) (Isa^Qhh*) elevation/ancient-stone/corner-stone LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION2 (!,*^Qhh*) (!,Is*,!,*^Qhh*) (Is*^Qhh*) elevation/stone/corner-stone LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION2 (!,*^Qhh*) (!,Iw*,!,*^Qhh*) (Iw*^Qhh*) elevation/wood/corner-wood LAYER=-90 FLAG=ground} # delete this following line once image work is complete {NEW:WALL_TRANSITION2 (!,*^Qhh*) (!,Iw*,!,*^Qhh*) (Iw*^Qhh*) elevation/wood/corner-wood LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION2 (!,*^Qhh*) (!,Iw*,!,*^Qhh*) (Iw*^Qhh*) elevation/stone/corner-stone IPF="~CS(-100,200,-100)" LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION2 I*^Qh* Ql,Qx*,Xv,_off^_usr (!,*^Qh*,Ql*,Qx*) elevation/default/corner-chasm LAYER=-290 FLAG=ground-sub} {NEW:WALL_TRANSITION2 (!,W*^Qh*,*^Qhh,!,*^Qh*) Ql,Qx*,Xv,_off^_usr (!,W*^Qh*,!,W*) elevation/water/corner-chasm-high-water LAYER=-290 FLAG=ground} {NEW:WALL_TRANSITION2 (!,*^Qhh*,!,*^Qh*) Ql,Qx*,Xv,_off^_usr (!,*^Qh*,!,A*,Ha*,Ms*,Rra*) elevation/frozen/corner-chasm-high-snow LAYER=-290 FLAG=ground IPF="~CS(-5,10,30)"} {NEW:WALL_TRANSITION2 (!,*^Qhh*,!,*^Qh*) Ql,Qx*,Xv,_off^_usr (!,*^Qh*,!,A*,Ha*,Ms*,Rra*) elevation/default/corner-chasm LAYER=-290 FLAG=ground IPF="~CS(-10,15,45)"} # for missing cases {NEW:WALL_TRANSITION2 (!,*^Qhh*,I*^Qh*,!,*^Qh*) (!,Ql,Qx*,Xv,_off^_usr,*^Qh*,A*,Ha*,Ms*,Rra*) (!,*^Qh*,!,A*,Ha*,Ms*,Rra*) elevation/frozen/corner-snow LAYER=-290 FLAG=ground} {NEW:WALL_TRANSITION2 (!,*^Qhh*,!,W*^Qh*) Ql,Qx*,Xv,_off^_usr (!,*^Qh*,Ql*,Qx*,W*) elevation/water/corner-chasm-low-water LAYER=-290 FLAG=ground} {NEW:WALL_TRANSITION2 (!,*^Qhh*,!,W*^Qh*) Ql,Qx*,Xv,_off^_usr (!,W*^Qh*,!,W*) elevation/water/corner-chasm-all-water LAYER=-290 FLAG=ground} {NEW:WALL_TRANSITION2 (!,I*^Qh*,!,*^Qh*) Ql,Qx*,Xv,_off^_usr (!,*^Qh*,Ql*,Qx*) elevation/default/corner-chasm LAYER=-290 FLAG=ground} # to test if there are mixed corners missing - can eventually be deleted #{NEW:WALL_TRANSITION2 (!,*^Qhh,!,*^Qh*) (!,Ql,Qx*,Xv,_off^_usr,*^Qh*,I*) (!,*^Qh*,!,I*) elevation/frozen/corner-snow IPF="~CS(100,100,200)" LAYER=-90 FLAG=ground} #{NEW:WALL_TRANSITION2 (!,*^Qhh,!,*^Qh*) (!,I*,!,*^Qhh) (I*^Qhh) elevation/frozen/corner-snow IPF="~CS(200,100,100)" LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION2 (!,*^Qhh*,I*,!,*^Qh*) (!,*^Qh*) (I*^Qhh) elevation/stone/corner-stone-rim LAYER=-91 FLAG=ground-rock} {NEW:WALL_TRANSITION2 (!,*^Qhh*,Isr,Isc,!,*^Qh*) (!,I*^Qh*,!,Isr,Isc) (!,I*,!,*^Qhh*) elevation/stone/corner-stone-rock LAYER=-89 FLAG=ground-rock} {NEW:WALL_TRANSITION2 (!,*^Qhh*,Iw*,!,*^Qh*) (!,I*^Qh*,!,Iw*) (!,I*,!,*^Qhh) elevation/wood/corner-wood-rock LAYER=-89 FLAG=ground-rock} {NEW:WALL_TRANSITION2 (!,*^Qhh*,!,Isr^Qh*,Isc^Qh*) (!,I*^Qh*) (!,I*,!,*^Qhh*) elevation/stone/corner-stone-highrim LAYER=-89 FLAG=ground-rock} {NEW:WALL_TRANSITION2 (!,*^Qhh*,!,*^Qh*) (!,*^Qh*) (*^Qhh*) elevation/default/corner-chasm-rock LAYER=-90 FLAG=ground-rock} {NEW:WALL_TRANSITION Ql (!,Ql,Xv,_off^_usr) unwalkable/lava LAYER=-290 FLAG=ground} {NEW:WALL_TRANSITION Qlf (!,Qlf,Xv,_off^_usr) unwalkable/lava-high LAYER=-290 FLAG=ground} {NEW:WALL_TRANSITION Qx* (Ai*,Aa*,Ha*,Ms*,Rra) chasm/regular-snow LAYER=-290 FLAG=ground} {NEW:WALL_TRANSITION Qx* (Wwf,Wwg,S*) chasm/swamp LAYER=-290 FLAG=ground} {NEW:WALL_TRANSITION Qx* (W*) chasm/water LAYER=-290 FLAG=ground} {NEW:WALL_TRANSITION Qxe (!,Qx*,Xv,_off^_usr) chasm/earthy LAYER=-290 FLAG=ground} {NEW:WALL_TRANSITION Q* (Iw*^Qh*) elevation/wood/wood-chasm LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION Q* Isa^Qh* elevation/ancient-stone/stone-chasm LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION Q* I*^Qh* elevation/stone/stone-chasm LAYER=-90 FLAG=ground} # special cases, same as the ones needing DISABLE_CORNER_FLAGGED above #################################################################### {NEW:WALL_TRANSITION (Iw*^Qhh*) (*^Qhh*) elevation/wood/wood LAYER=-90 FLAG=ground2 FLAG1=flood_high} {NEW:WALL_TRANSITION !,*^Qhh* (Iw*^Qhh*) elevation/wood/wood LAYER=-90 FLAG=ground2 FLAG1=flood_high_alt TERRAINLIST2="*^Qhh*"} {NEW:WALL_TRANSITION *^Qhh* (Iw*^Qhh*) elevation/wood/wood LAYER=-90 FLAG=ground2 FLAG1=flood_high_alt TERRAINLIST2="!,*^Qhh*"} {NEW:WALL_TRANSITION (I*^Qhh*) (*^Qhh*) elevation/stone/stone LAYER=-90 FLAG=ground2 FLAG1=flood_high} {NEW:WALL_TRANSITION !,*^Qhh* (I*^Qhh*) elevation/stone/stone LAYER=-90 FLAG=ground2 FLAG1=flood_high_alt TERRAINLIST2="*^Qhh*"} {NEW:WALL_TRANSITION *^Qhh* (I*^Qhh*) elevation/stone/stone LAYER=-90 FLAG=ground2 FLAG1=flood_high_alt TERRAINLIST2="!,*^Qhh*"} {NEW:WALL_TRANSITION *^Qhh* (*^Qhh*) elevation/default/regular LAYER=-190 FLAG=ground2 FLAG1=flood_high} {NEW:WALL_TRANSITION !,*^Qhh* (*^Qhh*) elevation/default/regular LAYER=-190 FLAG=ground2 FLAG1=flood_high_alt TERRAINLIST2="*^Qhh*"} {NEW:WALL_TRANSITION *^Qhh* (*^Qhh*) elevation/default/regular LAYER=-190 FLAG=ground2 FLAG1=flood_high_alt TERRAINLIST2="!,*^Qhh*"} {NEW:WALL_TRANSITION !,*^Qhu* (*^Qhu*) elevation/default/regular LAYER=-190 FLAG=ground2 FLAG1=flood_low TERRAINLIST2="*^Qhu*"} {NEW:WALL_TRANSITION *^Qhu* (*^Qhu*) elevation/default/regular LAYER=-190 FLAG=ground2 FLAG1=flood_low_alt } {NEW:WALL_TRANSITION *^Qhu* (*^Qhu*) elevation/default/regular LAYER=-190 FLAG=ground2 FLAG1=flood_low ADJACENT2="!,*^Qhu*"} {NEW:WALL_TRANSITION *^Qhu* (!,*^Qhu*) elevation/default/regular LAYER=-190 FLAG=ground2 FLAG1=flood_low_alt ADJACENT2="*^Qhu*"} {NEW:WALL_TRANSITION *^Qhu* (*^Qhu*) elevation/default/regular LAYER=-190 FLAG=ground2 FLAG1=flood_low_alt ADJACENT2="!,*^Qhu*"} #################################################################### {NEW:WALL_TRANSITION (!,*^Qhh*) (Iw*^Qhh*) elevation/wood/wood LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION (!,*^Qhh*) Isa^Qhh* elevation/ancient-stone/stone LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION (!,*^Qhh*) I*^Qhh* elevation/stone/stone LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION (Iw*^Qhu*) (!,*^Qhu*) elevation/wood/wood LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION (Isa^Qhu*) (!,*^Qhu*) elevation/ancient-stone/stone LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION (I*^Qhu*) (!,*^Qhu*) elevation/stone/stone LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION (!,*^Qh*) (Iw*^Qh*) elevation/wood LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION (!,*^Qh*) Isa^Qh* elevation/ancient-stone/stone LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION (!,*^Qh*) I*^Qh* elevation/stone/stone LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION (!,*^Qhh*) W*^Qhh* elevation/water/water LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION (!,*^Qhh*) A*^Qhh*,Ha*^Qhh*,Ms*^Qhh*,Rra^Qhh* elevation/frozen/snow LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION (!,*^Qhh*,Qx*,Xv,_off^_usr) *^Qhh* elevation/default/regular LAYER=-190 FLAG=ground} {NEW:WALL_TRANSITION *^Qh* (!,*^Qh*,!,Iw*^*) elevation/wood/wood LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION *^Qh* (!,*^Qh*,!,Isa) elevation/ancient-stone/stone LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION *^Qh* (!,*^Qh*,!,I*) elevation/stone/stone LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION *^Qh* (!,*^Qh*,!,W*) elevation/water/water LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION *^Qh* (!,*^Qh*,!,A*,Ha*,Ms*,Rra) elevation/frozen/snow LAYER=-90 FLAG=ground} {NEW:WALL_TRANSITION *^Qh* (!,*^Qh*,Qx*,Xv,_off^_usr) elevation/default/regular LAYER=-190 FLAG=ground} {NEW:TRANSITION *^Qhux *^Qhu -87 elevation/chasm-overlay FLAG=transition8} {NEW:WALL_TRANSITION Qx* (!,Qx*,Xv,_off^_usr) chasm/regular LAYER=-290 FLAG=ground} {NEW:TRANSITION_INTRA (Xo*) -289 chasm/regular-castle FLAG=transition2 ADJACENT="Qx*"} # 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_INTRA (!,W*^Dr,!,*^Dr) -158 misc/rubble FLAG=intra} {NEW:TRANSITION_INTRA (*^Esd) -158 embellishments/rocks FLAG=intra} {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,Rrd,D*,Gd,Ha,A*,U*,Ql*,Exos) Mm 0 mountains/blend-from-dry FLAG=inside} {NEW:TRANSITION (Hd,Hhd,Rb,Re,Rd,Rrd,D*,Gd,U*,Ql*,Exos) Ms 0 mountains/blend-from-dry FLAG=inside} {NEW:TRANSITION (Mm) (Hd,Hhd,Rb,Re,Rd,D*,Gd,Ha,A*,U*,Ql*,Exos) -166 hills/dry} {NEW:TRANSITION (Ms) (Hd,Hhd,Rb,Re,Rd,D*,Gd,U*,Ql*,Exos) -166 hills/dry} {NEW:TRANSITION (Ms) (Mm,Md) -170 hills/snow-to-hills FILTER_FLAG=mountain-small-3} {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,*^Uf*) (!,M*,Tb,*^Uf*) -184 forest/mushroom-base} {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 Uhe (!,Uhe,W*,Ai) -200 cave/earthy-hills} {NEW:TRANSITION (Uu,Uh) (!,Uu,Uh,W*,Ai) -220 cave/floor} {NEW:TRANSITION (Uue,Uhe) (!,Uue,Uhe,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*,Rra) -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,Exos -250 grass/semi-dry-long FLAG=inside} {NEW:TRANSITION Gg Gs,Gd,Gll,Re,Rb,Rd,Rp,Exos -251 grass/green-long FLAG=inside} {NEW:TRANSITION Gd Gg,Gs,Gll,Re,Rb,Rd,Rp,Exos -252 grass/dry-long FLAG=inside} {NEW:TRANSITION Gll Gg,Gs,Gd,Re,Rb,Rd,Rp,Exos -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,Isa) -260 grass/semi-dry-medium} {NEW:TRANSITION Gg (R*,D*,Aa,Ur,Urc,Isa) -261 grass/green-medium} {NEW:TRANSITION Gd (R*,D*,Aa,Ur,Urc,Isa) -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) (!,Rra,Rrd,!,R*,Gll,Isa) -300 flat/bank} {NEW:TRANSITION (Sm) (!,Rra,!,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 # Cannot use R* because we want Rrd to be like D* at the beach {NEW:TRANSITION Dd {TG_RSTAR_NOT_RRD} -319 sand/desert} {NEW:TRANSITION Ds {TG_RSTAR_NOT_RRD} -319 sand/beach} # A rule for corner-based beach waves... {NEW:WAVES D*,Hd,Rrd 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 Rrd (!,Rr*,Ai,W*,Q*) -321 flat/sandy-path} {NEW:TRANSITION Rp (!,Rp,W*,Ai,Q*) -322 flat/stone-path} {NEW:TRANSITION Rra (!,Rrc,Rra,Q*) -321 flat/road-clean} {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*,T*) Rd -370 flat/desert-road FLAG=inside} {NEW:TRANSITION Rd (!,Rd,W*,Ai,Q*,D*,T*) -371 flat/desert-road} {NEW:TRANSITION (!,Re,Rr*,Hh*,M*,Q*,D*,T*) Re -379 flat/dirt FLAG=inside} {NEW:TRANSITION Re (!,Re,Rr*,W*,Ai,Q*,D*,T*) -380 flat/dirt} {NEW:TRANSITION (!,Rb,Exos,Rr*,W*,U*,Ai,Q*,D*,T*,Isa*) Rb,Isa,Exos -384 flat/dirt-dark FLAG=inside} {NEW:TRANSITION Rb,Isa,Exos (!,Rb,Rr*,W*,U*,Ai,Q*,D*,T*,Isa*,Exos) -388 flat/dirt-dark} {NEW:TRANSITION Rb,Exos Isa -384 flat/dirt-dark FLAG=inside} {NEW:TRANSITION Isa Rb,Exos -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 (!,Rra,Rrd,!,R*,G*,Uue,Isa) 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*,Rrd) -485 frozen/ice FLAG=non_submerged} # if there were no elevations, we would use these two # {NEW:TRANSITION Aa,Ha,Ms,Ai,Rra (W*,S*) -485 frozen/ice FLAG=non_submerged} # --- # {NEW:TRANSITION Aa,Ha,Ms,Ai,Rra (W*,S*) -505 frozen/ice-to-water FLAG=submerged} # But there are ledges, so we need more rules # This might be made more concise, but the idea is to filter out ledges # The third/sixth rules have that extra filter to allow ice transitions where there are no ledges because everything is 'elevated' {NEW:TRANSITION (!,*^Qh*,!,Aa,Ha,Ms,Ai,Rra) (!,*^Qh*,!,W*,S*) -485 frozen/ice FLAG=non_submerged} {NEW:TRANSITION Aa^Qhh*,Ha^Qhh*,Ms^Qhh*,Ai^Qhh*,Rra^Qhh* (W*^Qhh*,S*^Qhh*) -485 frozen/ice FLAG=non_submerged} {NEW:TRANSITION (!,*^Qh*,!,Aa,Ha,Ms,Ai,Rra) (W*^Qhu*,S*^Qhu*) -485 frozen/ice FLAG=non_submerged FILTER_PRIMARY_FLAG=has_flag=elevated} # --- {NEW:TRANSITION (!,*^Qh*,!,Aa,Ha,Ms,Ai,Rra) (!,*^Qh*,!,W*,S*) -505 frozen/ice-to-water FLAG=submerged} {NEW:TRANSITION Aa^Qhh*,Ha^Qhh*,Ms^Qhh*,Ai^Qhh*,Rra^Qhh* (W*^Qhh*,S*^Qhh*) -505 frozen/ice-to-water FLAG=submerged} {NEW:TRANSITION (!,*^Qh*,!,Aa,Ha,Ms,Ai,Rra) (W*^Qhu*,S*^Qhu*) -505 frozen/ice-to-water FLAG=submerged FILTER_PRIMARY_FLAG=has_flag=elevated} # 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} # not needed for most core terrains, but can be useful for some UMC without transitions {NEW:TRANSITION Ur (!,Ur*) -506 cave/path} # Beaches {NEW:GENERIC_CORNER_TRANSITION (!,D*,Hd,Chw,Khw,Khs,W*,S*,Xv,Qx*,A*,Rra,Rrd,_*) 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 {NEW:OVERLAY *^_s void/void LAYER=1} {NEW:TRANSITION *^_s (!,*^_s) 1 void/void FLAG=overlay} # ugly fillups for missing transitions {NEW:TRANSITION Ai Xv,_off^_usr -800 frozen/ice} {NEW:TRANSITION Xv _off^_usr -810 void/void} # Default terrain {NEW:BASE * void/void} ############################################################# # undefine patch macros #undef TG_RSTAR_NOT_RRD #############################################################