-
-
Notifications
You must be signed in to change notification settings - Fork 992
/
terrain-graphics.cfg
948 lines (699 loc) · 57.4 KB
/
terrain-graphics.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
#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
# http://www.wesnoth.org/wiki/TerrainGraphicsTutorial#Cumulative_Probabilities
# NOTE the terrain _off^_usr gets its definition from the code since it's
# themable
# These are temporary rules for developing and testing a new fake map edge
# terrain
[terrain_graphics]
map="
, 2
2 , 2
, 1
2 , 2
, 2"
[tile]
pos=1
type=*^_fme
set_no_flag=fakemapedge
[/tile]
[tile]
pos=2
type=*^_fme
[/tile]
[image]
layer=1000
name=off-map/border.png
center=90,144
[/image]
[/terrain_graphics]
{NEW:TRANSITION (!,*^_fme) (*^_fme) 1000 off-map/border}
# 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}
# 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
{NEW:FOREST H*^Fp,M*^Fp (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/pine-sparse}
{NEW:FOREST *^Fp (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/pine}
{NEW:FOREST H*^Fpa,M*^Fpa (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/snow-forest-sparse}
{NEW:FOREST *^Fpa (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/snow-forest}
{NEW:FOREST H*^Ft,M*^Ft (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/tropical/jungle-sparse}
{NEW:FOREST *^Ft (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/tropical/jungle}
{NEW:FOREST H*^Ftd,M*^Ftd (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/tropical/palm-desert-sparse}
{NEW:FOREST *^Ftd (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/tropical/palm-desert}
{NEW:FOREST H*^Ftp,M*^Ftp (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/tropical/palms-sparse}
{NEW:FOREST *^Ftp (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/tropical/palms}
{NEW:FOREST *^Ftr (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/tropical/rainforest}
{NEW:FOREST H*^Fts,M*^Fts (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/tropical/savanna-sparse}
{NEW:FOREST *^Fts (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/tropical/savanna}
{NEW:FOREST H*^Fds,M*^Fds (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/deciduous-summer-sparse}
{NEW:FOREST *^Fds (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/deciduous-summer}
{NEW:FOREST H*^Fdf,M*^Fdf (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/deciduous-fall-sparse}
{NEW:FOREST *^Fdf (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/deciduous-fall}
{NEW:FOREST H*^Fdw,M*^Fdw (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/deciduous-winter-sparse}
{NEW:FOREST *^Fdw (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/deciduous-winter}
{NEW:FOREST H*^Fda,M*^Fda (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/deciduous-winter-snow-sparse}
{NEW:FOREST *^Fda (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/deciduous-winter-snow}
{NEW:FOREST H*^Fms,M*^Fms (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/mixed-summer-sparse}
{NEW:FOREST *^Fms (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/mixed-summer}
{NEW:FOREST H*^Fmf,M*^Fmf (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/mixed-fall-sparse}
{NEW:FOREST *^Fmf (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/mixed-fall}
{NEW:FOREST H*^Fmw,M*^Fmw (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/mixed-winter-sparse}
{NEW:FOREST *^Fmw (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/mixed-winter}
{NEW:FOREST H*^Fma,M*^Fma (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/mixed-winter-snow-sparse}
{NEW:FOREST *^Fma (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/mixed-winter-snow}
{NEW:FOREST *^Uf* (C*,K*,X*,Q*,W*,Ai,M*,*^V*,*^B*) forest/mushrooms}
# Great-tree
{OVERLAY_RANDOM *^Fet forest/great-tree}
{OVERLAY_RANDOM *^Fetd forest/great-tree-dead}
# Oasis
{OVERLAY_P *^Do 30 village/desert-oasis-1}
{OVERLAY_P *^Do 43 village/desert-oasis-2}
{OVERLAY_P *^Do 100 village/desert-oasis-3}
# Swamp
{OVERLAY_COMPLETE_LF Ss (!,Xv,Chs,!,C*,H*,M*,X*,Q*,A*,Ke,Kea,Kud) -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}
# Mountains
{OVERLAY_RESTRICTED3_F Mm (!,Xv,!,C*,K*,X*,Ql,Qx*,W*) base2 mountains/basic-castle-n}
{OVERLAY_ROTATION_RESTRICTED2_F Mm (!,Xv,!,C*,K*,X*,Ql,Qx*,W*) base2 mountains/basic-castle}
{OVERLAY_RESTRICTED2_F Mm (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/basic-castle-n}
{OVERLAY_ROTATION_RESTRICTED_F Mm (!,Xv,!,C*,K*,X*,Ql,Qx*,W*) base2 mountains/basic-castle}
{MOUNTAINS_2x4_NW_SE Mm 18 base2 mountains/basic_range3}
{MOUNTAINS_2x4_SW_NE Mm 26 base2 mountains/basic_range4}
{MOUNTAINS_1x3_NW_SE Mm 20 base2 mountains/basic_range1}
{MOUNTAINS_1x3_SW_NE Mm 20 base2 mountains/basic_range2}
{MOUNTAINS_2x2 Mm 40 base2 mountains/basic5}
{MOUNTAINS_2x2 Mm 30 base2 mountains/basic6}
{MOUNTAIN_SINGLE_RANDOM Mm base2 mountains/basic}
# Dry Mountains
{OVERLAY_RESTRICTED3_F Md (!,Xv,!,C*,K*,X*,Ql,Qx*,W*) base2 mountains/dry-castle-n}
{OVERLAY_ROTATION_RESTRICTED2_F Md (!,Xv,!,C*,K*,X*,Ql,Qx*,W*) base2 mountains/dry-castle}
{OVERLAY_RESTRICTED2_F Md (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/dry-castle-n}
{OVERLAY_ROTATION_RESTRICTED_F Md (!,Xv,!,C*,K*,X*,Ql,Qx*,W*) base2 mountains/dry-castle}
{MOUNTAINS_2x4_NW_SE Md 18 base2 mountains/dry_range3}
{MOUNTAINS_2x4_SW_NE Md 26 base2 mountains/dry_range4}
{MOUNTAINS_1x3_NW_SE Md 20 base2 mountains/dry_range1}
{MOUNTAINS_1x3_SW_NE Md 20 base2 mountains/dry_range2}
{MOUNTAINS_2x2 Md 40 base2 mountains/dry5}
{MOUNTAINS_2x2 Md 30 base2 mountains/dry6}
{MOUNTAIN_SINGLE_RANDOM Md base2 mountains/dry}
# Snow mountains (uncomment rules as the corresponding tiles are added)
#{OVERLAY_RESTRICTED3_F Ms (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/snow-castle-n}
#{OVERLAY_ROTATION_RESTRICTED2_F Ms (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/snow-castle}
#{OVERLAY_RESTRICTED2_F Ms (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/snow-castle-n}
#{OVERLAY_ROTATION_RESTRICTED_F Ms (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/snow-castle}
#{MOUNTAINS_2x4_NW_SE Ms 18 base2 mountains/snow_range3}
#{MOUNTAINS_2x4_SW_NE Ms 26 base2 mountains/snow_range4}
#{MOUNTAINS_1x3_NW_SE Ms 20 base2 mountains/snow_range1}
#{MOUNTAINS_1x3_SW_NE Ms 20 base2 mountains/snow_range2}
{MOUNTAINS_2x2 Ms 15 base2 mountains/snow5}
{MOUNTAINS_2x2 Ms 25 base2 mountains/snow6}
{MOUNTAIN_SINGLE_RANDOM Ms 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}
{MOUNTAINS_2x4_NW_SE Mdd 18 base2 desert_mountains/desert_range3}
{MOUNTAINS_1x3_NW_SE Mdd 20 base2 desert_mountains/desert_range1}
{MOUNTAINS_1x3_SW_NE Mdd 20 base2 desert_mountains/desert_range2}
{MOUNTAINS_2x2 Mdd 40 base2 desert_mountains/desert5}
{MOUNTAINS_2x2 Mdd 30 base2 desert_mountains/desert6}
{MOUNTAIN_SINGLE_RANDOM Mdd 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) 2 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 *^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 *^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 *^Vc village/hut}
{NEW:VILLAGE *^Vca village/hut-snow}
{NEW:VILLAGE *^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_A3 *^Vd 200 village/drake1-A}{VILLAGE_PROBABILITY 20}
{NEW:VILLAGE_A3 *^Vd 100 village/drake2-A}{VILLAGE_PROBABILITY 25}
{NEW:VILLAGE *^Vd village/drake3}{VILLAGE_PROBABILITY 33}
{NEW:VILLAGE *^Vd village/drake4}{VILLAGE_PROBABILITY 50}
{NEW:VILLAGE *^Vd village/drake5}
#Orcish villages
{NEW:VILLAGE *^Vo village/orc}
{NEW:VILLAGE *^Voa village/orc-snow}
#Elven villages
#10% 25% 25% 40%
{NEW:VILLAGE *^Ve village/elven}{VILLAGE_PROBABILITY 10}
{NEW:VILLAGE *^Ve village/elven3}{VILLAGE_PROBABILITY 28}
{NEW:VILLAGE *^Ve village/elven4}{VILLAGE_PROBABILITY 38}
{NEW:VILLAGE *^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 *^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 *^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_P *^Vm 80 village/coast}
{NEW:VILLAGE_A4 *^Vm 140 village/coast_5-A}
#
# > O V E R L A Y S <
#
# Fence
{NEW:FENCE *^Eff embellishments/fence}
# Illuminated caves
{OVERLAY_RANDOM_LF (*^Ufi,*^Ii) 1 light cave/beam}
#Farmland
{OVERLAY_RANDOM_L *^Gvs -81 embellishments/farm-veg-spring}
# 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
{OVERLAY_B *^Wm,*^Vwm ANIMATION_18_70 misc/windmill}
# campfire
{OVERLAY_B *^Ecf ANIMATION_08_140 misc/fire}
# Braziers
{OVERLAY *^Eb misc/brazier-embellishment}
{OVERLAY_B *^Ebn ANIMATION_08_140 misc/brazier }
# layer -500 is used for the flowers so they don't overlap adjacent trees,
# castles, mountains and such
{OVERLAY_RANDOM_L *^Efm -500 embellishments/flowers-mixed}
#Rubble
{OVERLAY_RANDOM_L *^Dr -1 misc/rubble}
{OVERLAY_RANDOM *^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
{OVERLAY_LF Ql*^Bs\ -80 bridge cave/chasm-lava-stone-bridge-se-nw}
{OVERLAY_LF Ql*^Bs| -80 bridge cave/chasm-lava-stone-bridge-s-n}
{OVERLAY_LF Ql*^Bs/ -80 bridge cave/chasm-lava-stone-bridge-sw-ne}
{OVERLAY_LF W*^Bs\,S*^Bs\ -80 bridge cave/chasm-water-stone-bridge-se-nw}
{OVERLAY_LF W*^Bs/,S*^Bs/ -80 bridge cave/chasm-water-stone-bridge-sw-ne}
{OVERLAY_LF *^Bs\ -80 bridge cave/chasm-stone-bridge-se-nw}
{OVERLAY_LF *^Bs| -80 bridge cave/chasm-stone-bridge-s-n}
{OVERLAY_LF *^Bs/ -80 bridge cave/chasm-stone-bridge-sw-ne}
# 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 'g' for gate or 'd' for door - so we can have a rusty door or a wooden gate
# Append an 'o' for the open version
# 'Prg' is therefore 'Portal rusty gate'
#closed (impassable)
{GATES_VERTICAL_L (*^Prg) (Xo*) 0 () portals/gate-rusty}
{GATES_VERTICAL_L (*^Pwd) (Xo*) 0 () portals/door-wooden}
{GATES_DIAGONAL_L (*^Prg) (*^Prgo,*^Pwd*) (X*) 0 () portals/gate-rusty}
{GATES_DIAGONAL_L (*^Pwd) (*^Pwdo,*^Prg*) (X*) 0 () portals/door-wooden}
#open/embellishment
{GATES_VERTICAL_L (*^Prgo) (Xo*) 0 () portals/gate-rusty-open}
{GATES_VERTICAL_L (*^Pwdo) (Xo*) 0 () portals/door-wooden-open}
{GATES_DIAGONAL_L (*^Prgo) (*^Prg,*^Pwd*) (X*) 0 () portals/gate-rusty-open}
{GATES_DIAGONAL_L (*^Pwdo) (*^Pwd,*^Prg*) (X*) 0 () portals/door-wooden-open}
#
# > B A S E T E R R A I N S <
#
# Flat base terrains
# 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 cave/path}
{NEW:BASE Urb cave/flagstones-dark}
{NEW:BASE Uh cave/hills-variation}
{TERRAIN_BASE Xu* cave/wall-rough}
{KEEP_BASE Xo* cave/stone_walls/wall-stone-base}
{NEW:BASE Qxua chasm/abyss}
{TERRAIN_BASE Qx* chasm/depths}
{ANIMATED_WATER_15 Ql,Qlf () 150 unwalkable/lava}
{OVERLAY_RANDOM_L Wwr,Wwrt,Wwrg -320 water/reef}
# 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}
{OVERLAY_RANDOM *^Esd embellishments/rocks}
{NEW:BASE Ds sand/beach}
{NEW:BASE Rd flat/desert-road}
{TERRAIN_BASE_F *^Dc overlay sand/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}
# {NEW:BASE Iwr interior/wood-regular}
# raised base to get it over the chasm images
{TERRAIN_BASE_RANDOM_LF Iwr -284 raised_base interior/wood-regular}
{TERRAIN_BASE_RANDOM_LF Ior -284 raised_base interior/wood-ruined}
# Water base terrains
{OVERLAY_RANDOM_LF Wwf -519 ford water/ford}
{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 Wo,Wog,Wot water/ocean 21}
{NEW:WATER_342_180 Ww,Wwr,Wwf,Wwg,Wwrg,Wwt,Wwrt,Chw water/water 17}
{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
{TERRAIN_BASE Ch,Cha flat/road}
{TERRAIN_BASE Chr flat/stone-path}
{KEEP_BASE Kh* castle/cobbles-keep}
{TERRAIN_BASE_LF Chw -520 sunken castle/sunken-ruin}
# swamp castle defined along with swamp above
{TERRAIN_BASE Cv castle/elven/grounds}
{KEEP_BASE Kv castle/elven/keep}
{KEEP_BASE_RANDOM Ket interior/wood-tan}
{OVERLAY_RANDOM Ket interior/wood-tan-debris}
{TERRAIN_BASE (Ce*,Ke*) flat/dirt}
{OVERLAY_RANDOM Ke castle/encampment/tent}
{OVERLAY_RANDOM Kea castle/encampment/tent-snow}
{TERRAIN_BASE Co* flat/dirt-dark}
{KEEP_BASE Ko castle/orcish/keep}
{KEEP_BASE Koa castle/winter-orcish/keep}
{TERRAIN_BASE Cud castle/dwarven-castle-floor}
{KEEP_BASE Kud castle/dwarven-keep-floor}
{OVERLAY Kud castle/dwarven-keep}
{TERRAIN_BASE Cd castle/sand/dirt}
{KEEP_BASE Kd castle/sand/cobbles}
{NEW:BASE Cdr castle/sand/ruin-dirt}
{KEEP_BASE_RANDOM Kdr castle/sand/cobbles-ruin}
{NEW:WATER_342_180 (Cm*,Km*) water/water 17}
{OVERLAY_RANDOM_L (Cm,Km) -350 castle/aquatic-castle/cobbles}
{OVERLAY_RANDOM_L (Cme) -320 castle/aquatic-camp/reef}
{OVERLAY_RANDOM_L (Kme) -310 castle/aquatic-camp/floor}
#
# > 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*,X*) X* castle/aquatic-camp/castle}
{AQUATIC:CAMPS Kme Cme castle/aquatic-camp}
# Aquatic castle
{NEW:CASTLEWALL Cm (!,C*,K*,X*) X* castle/aquatic-castle/castle}
{NEW:CASTLEWALL2 Km !,Ket,!,C*,Ke* (!,C*,K*,X*) castle/aquatic-castle/keep-castle}
{NEW:CASTLEWALL Km (!,Km,X*) X* 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*) (X*) (non_fading) (castle/aquatic-castle)}
{TRANSITION_COMPLETE_LF (Cm) (!,Km*,Cm*,W*,Ss,Q*,X*) 0 non_fading castle/aquatic-castle/castle-to-ground}
{TRANSITION_COMPLETE_LF (Km) (!,Km*,Cm*,W*,Ss,Q*,X*) 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*,X*) X* castle/elven/castle}
{NEW:CASTLEWALL2 Kv !,Ket,!,C*,Ke* (!,C*,K*,X*) castle/elven/keep-castle}
{NEW:CASTLEWALL Kv (Ke,Kea,!,K*,X*) X* castle/elven/keep}
# Orcish castles
{NEW:CASTLEWALL Co,Cv (!,C*,K*,X*) X* castle/orcish/fort}
{NEW:CASTLEWALL2 Ko,Kv !,Ket,!,C*,Ke* (!,C*,K*,X*) castle/orcish/keep-fort}
{NEW:CASTLEWALL Ko,Kv (!,K*,X*) X* castle/orcish/keep}
{NEW:CASTLEWALL (Co*,Cv) (!,C*,K*,X*) X* castle/winter-orcish/fort}
{NEW:CASTLEWALL2 (Ko*,Kv) !,Ket,!,C*,Ke* (!,C*,K*,X*) castle/winter-orcish/keep-fort}
{NEW:CASTLEWALL (Ko*,Kv) (Ke,Kea,!,K*,X*) X* castle/winter-orcish/keep}
# Desert castles
{NEW:CASTLEWALL Cd,Cv,Co* (!,C*,K*,X*) X* castle/sand/castle}
{NEW:CASTLEWALL2 Kd,Kv,Ko* !,Ket,!,C*,Ke* (!,C*,K*,X*) castle/sand/keep-castle}
{NEW:CASTLEWALL Kd,Ko*,Kv (!,K*,X*) X* castle/sand/keep}
{NEW:CASTLEWALL Cd*,Cv,Co* (!,C*,K*,X*) X* castle/sand/ruin-castle}
{NEW:CASTLEWALL2 Kdr,Kv,Ko* !,Ket,!,C*,Ke* (!,C*,K*,X*) castle/sand/ruin-keep-castle}
{NEW:CASTLEWALL Kd*,Ko*,Kv (Ke,Kea,!,K*,X*) X* castle/sand/ruin-keep}
#
# Human castles
#
{NEW:CASTLEWALL Ch,Cv,Co,Cd (!,C*,K*,X*) X* castle/castle}
{NEW:CASTLEWALL2 Kh,Kv,Ko,Kd !,Ket,!,C*,Ke* (!,C*,K*,X*) castle/keep-castle}
{NEW:CASTLEWALL Kh,Kd*,Ko,Kv (!,K*,X*) X* castle/keep}
{NEW:CASTLEWALL Ch,Cha,Coa (!,C*,K*,X*) X* castle/snowy/castle}
{NEW:CASTLEWALL2 Kh,Kha,Koa !,Ket,!,C*,Ke* (!,C*,K*,X*) castle/snowy/keep-castle}
{NEW:CASTLEWALL Kh,Kha,Kd*,Ko*,Kv (Ke,Kea,!,K*,X*) X* 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*) X* 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_P (!,Khr,!,Kh*) W*,Ss,Chw,Chs X* 75 castle/sunken-ruinkeep1}
{NEW:CASTLEWALL (!,Khr,!,Kh*) W*,Ss,Chw,Chs X* 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*,Cd*,Cv,Co* (!,C*,K*,X*) X* castle/ruin}
{NEW:CASTLEWALL2_P (Khr,Khw,Khs) (C*) (!,Ch*,Kh*,X*) 75 castle/ruinkeep1-castle}
{NEW:CASTLEWALL2 (Khr,Khw,Khs) (C*) (!,Ch*,Kh*,X*) castle/keep-castle}
{NEW:CASTLEWALL_P Kh*,Kd*,Ko*,Kv (Ke,Kea,!,K*,X*) X* 75 castle/ruinkeep1}
{NEW:CASTLEWALL Kh*,Kd*,Ko*,Kv (Ke,Kea,!,K*,X*) X* castle/keep}
# Encampment
{NEW:CASTLEWALL2 !,Ke,Kea,Kud,Kme,!,K* (Ke,Kea,C*) (!,C*,K*,X*) castle/encampment/tall-keep-castle}
{NEW:CASTLEWALL !,Ke,Kea,Kud,Kme,!,K* (Ke,Kea,!,K*,X*) X* castle/encampment/tall-keep}
{NEW:CASTLEWALL (!,Cud,Cea,Coa,Cha,Kud,Kea,Koa,Kha,Kme,!,C*,K*) (!,C*,K*,X*) X* castle/encampment/regular}
{NEW:CASTLEWALL (!,Cud,Kud,Kme,!,C*,K*) (!,C*,K*,X*) X* castle/encampment/snow}
# 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}
{TRANSITION_COMPLETE_LF !,Ket,Cd*,!,C*,Ke* Cd* -360 inside flat/desert-road}
{NEW:TRANSITION Cd* !,Ket,Cd*,!,C*,Ke* -360 flat/desert-road}
{TRANSITION_COMPLETE_LF !,Ce*,Ke*,!,C* !,Ket,!,Ce*,Ke* -370 inside flat/dirt}
{NEW:TRANSITION !,Ket,!,Ce*,Ke* !,Ce*,Ke*,!,C* -370 flat/dirt}
{TRANSITION_COMPLETE_LF !,Ket,Co*,!,C*,Ke* Co* -380 inside flat/dirt-dark}
{NEW:TRANSITION Co* !,Ket,Co*,!,C*,Ke* -380 flat/dirt-dark}
#
# Cave
# (including dwarven castle, chasm, lava)
#
# installing new wood floor transitions - need to be above this DISABLE line
{NEW:TRANSITION I*r G*,R*,D*,A*,Ur -85 interior/wood-regular}
{NEW:TRANSITION Iwr W*,S*,Qx* -85 interior/wood-chasm/wood-clean}
{NEW:TRANSITION Ior W*,S*,Qx* -85 interior/wood-chasm/wood-regular}
{NEW:TRANSITION I*r Ql* -85 interior/wood-chasm/wood-burnt}
{DISABLE_BASE_TRANSITIONS Qx*,Ql*,Xu*,Cud,Kud}
#dwarven castle transitions
{WALL_TRANSITION3 (Cud,Kud) Ql* Qx* unwalkable/dcastle-lava-chasm}
{NEW:WALL2_L (Cud,Kud) X* (!,Cud,Kud,X*) -89 castle/dwarven-castle-wall}
{NEW:WALL2_L (Cud,Kud) Ql* (!,Cud,Kud,Ql*) -89 unwalkable/dcastle-lava}
{NEW:WALL2_L (Cud,Kud) Qx* (!,Cud,Kud,Qx*) -89 unwalkable/dcastle-chasm}
{NEW:WALL (Cud,Kud) (!,Cud,Kud,X*) castle/dwarven-castle}
{NEW:WALL Xue (Qx*,Ql*) cave/earthy-wall-rough-chasm}
{NEW:WALL Xue (!,Xu*) 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 (Xo*) Xu* (!,Xu*,Xo*) cave/stone_walls/wall-mixed}
{NEW:WALL2 (Xo*) Xu* (!,Xu*,Xo*) cave/stone_walls/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*) cave/stone_walls/wall-stone-white}
{NEW:WALL_CORNER Xom,Xoi (!,Xo*,Xu*) cave/stone_walls/wall-stone-mine}
{NEW:WALL_CORNER Xo* (!,Xo*,Xu*) cave/stone_walls/wall-stone}
{NEW:WALL_A10 Xol (!,Xu*,Xo*) cave/stone_walls/lit/wall-stone-lit}
{NEW:WALL Xoi (!,Xu*,Xo*) cave/stone_walls/wall-stone-white}
{NEW:WALL Xom,Xoi (!,Xu*,Xo*) cave/stone_walls/wall-stone-mine}
{NEW:WALL Xo* (!,Xu*,Xo*) cave/stone_walls/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}
# Xo* included for now, because castle chasm looks better than regular chasm, but eventually need dedicated images
{TRANSITION_COMPLETE_LF (!,Cud,Kud,!,C*,K*,Xo*) Qx* -89 transition2 chasm/regular-castle}
{TRANSITION_COMPLETE_LF (!,Cud,Kud,!,C*,K*) Ql* -89 transition2 unwalkable/castle-lava-chasm}
# Special Mountain to Chasm Blend transition
{TRANSITION_COMPLETE_LF (Qx*,Ql*) (M*,Mv) 2 transition3 mountains/blend-from-chasm}
#chasm/lava transitions always below castles/walls
{WALL_TRANSITION2_LF Ql Qx*,Xv,_off^_usr (!,Ql,Qx*,I*r) -90 ground unwalkable/lava-chasm}
{WALL_TRANSITION2_LF Qlf Qx*,Xv,_off^_usr (!,Ql*,Qx*,I*r) -90 ground unwalkable/lava-chasm}
{WALL_TRANSITION_LF Ql (!,I*r,Ql,Xv,_off^_usr) -90 ground unwalkable/lava}
{WALL_TRANSITION_LF Qlf (!,I*r,Qlf,Xv,_off^_usr) -90 ground unwalkable/lava-high}
{WALL_TRANSITION_LF Qx* (Ai*,Aa*,Ha*,Ms*,) -90 ground chasm/regular-snow}
{WALL_TRANSITION_LF Qx* (W*,S*) -90 ground chasm/water}
{WALL_TRANSITION_LF Qxe (!,I*r,Qx*,Xv,_off^_usr) -90 ground chasm/earthy}
{WALL_TRANSITION_LF Qx* (!,I*r,Qx*,Xv,_off^_usr) -90 ground chasm/regular}
# to put these lower than wooden floor
{WALL_TRANSITION2_LF Qlf Qx*,Xv,_off^_usr (I*r) -290 ground unwalkable/lava-chasm}
{WALL_TRANSITION2_LF Ql Qx*,Xv,_off^_usr (I*r) -290 ground unwalkable/lava-chasm}
{WALL_TRANSITION_LF Ql (I*r) -290 ground unwalkable/lava}
{WALL_TRANSITION_LF Qlf (I*r) -290 ground unwalkable/lava-high}
{WALL_TRANSITION_LF Qxe (I*r) -290 ground chasm/earthy}
{WALL_TRANSITION_LF Qx* (I*r) -290 ground chasm/regular}
# 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
# TRANSITION_COMPLETE_Ls and varying layer numbers are used to make some
# special transitions to layer in more complex ways.
# Default layer ist -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
{TRANSITION_COMPLETE_LF (Hd,Hhd,Rb,Re,Rd,D*,Gd,Ha,A*,U*,Ql*) Mm 0 inside mountains/blend-from-dry}
{TRANSITION_COMPLETE_LF (Hd,Hhd,Rb,Re,Rd,D*,Gd,U*,Ql*) Ms 0 inside mountains/blend-from-dry}
{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 (Mm,Hh) (!,Hh,W*,S*) -180 hills/regular}
{NEW:TRANSITION (Hhd) (!,Hhd,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}
{TRANSITION_COMPLETE_LF Ai,W*,S* Ur -223 inside cave/floor}
{NEW:TRANSITION Urb (!,Urb) -224 cave/flagstones-dark}
{NEW:TRANSITION Ss (!,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
{TRANSITION_COMPLETE_LF *^Efm G* -240 transition4 embellishments/flowers-mixed}
# New Super-cool gradual Grass blending
{TRANSITION_COMPLETE_LF Gs Gg,Gd,Gll,Re,Rb,Rd,Rp -250 inside grass/semi-dry-long}
{TRANSITION_COMPLETE_LF Gg Gs,Gd,Gll,Re,Rb,Rd,Rp -251 inside grass/green-long}
{TRANSITION_COMPLETE_LF Gd Gg,Gs,Gll,Re,Rb,Rd,Rp -252 inside grass/dry-long}
{TRANSITION_COMPLETE_LF Gll Gg,Gs,Gd,Re,Rb,Rd,Rp -253 inside grass/leaf-litter-long}
{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) -260 grass/semi-dry-medium}
{NEW:TRANSITION Gg (R*,D*,Aa,Ur) -261 grass/green-medium}
{NEW:TRANSITION Gd (R*,D*,Aa,Ur) -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}
{TRANSITION_COMPLETE_LF *^Gvs (!,*^Gvs,C*,K*,*^F*,M*,H*,W*,Q*) -330 transition2 embellishments/farm-veg-spring}
{TRANSITION_COMPLETE_LF *^Emf (!,*^Emf,C*,K*,*^F*,M*,H*,W*,Q*) -330 transition2 embellishments/mushroom-farm}
{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
{TRANSITION_COMPLETE_LF (!,Rd,Rr*,Hh*,M*,Q*,D*) Rd -370 inside flat/desert-road}
{NEW:TRANSITION Rd (!,Rd,W*,Ai,Q*,D*) -371 flat/desert-road}
{TRANSITION_COMPLETE_LF (!,Re,Rr*,Hh*,M*,Q*,D*) Re -379 inside flat/dirt}
{NEW:TRANSITION Re (!,Re,Rr*,W*,Ai,Q*,D*) -380 flat/dirt}
{TRANSITION_COMPLETE_LF (!,Rb,Rr*,W*,Ai,Q*,D*) Rb -384 inside flat/dirt-dark}
{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
{TRANSITION_COMPLETE_LF (!,Chw,Khw,Khs,!,C*,K*) (Ai,W*) -480 non_submerged castle/castle-to-ice}
{TRANSITION_COMPLETE_LF (Mm,Hh) Ai,W*,S* -482 non_submerged hills/regular-to-water}
{TRANSITION_COMPLETE_LF (Md,Hhd,Mv) Ai,W*,S* -482 non_submerged hills/dry-to-water}
{TRANSITION_COMPLETE_LF (R*,G*,Uue) Ai,W* -483 non_submerged flat/bank-to-ice}
{TRANSITION_COMPLETE_LF (U*,Xu*,Ql*) Ai,W*,S* -486 non_submerged cave/bank}
{TRANSITION_COMPLETE_LF Aa,Ai (D*) -485 non_submerged frozen/ice}
{TRANSITION_COMPLETE_LF Aa,Ha,Ms,Ai (W*,S*) -485 non_submerged frozen/ice}
{TRANSITION_COMPLETE_LF Aa,Ha,Ms,Ai (W*,S*) -505 submerged frozen/ice-to-water}
# 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:BEACH !,D*,Hd,Chw,Khw,Khs,W*,S*,Xv,Qx*,A*,_* W* flat/shore}
# 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
{TRANSITION_COMPLETE_LF Sm (!,Sm,!,W*,D*) -556 transition3 swamp/mud-long}
{NEW:WATER_342_180_TRANSITION Wo* (!,Wo*,!,W*,Sm) -550 "~O(50%)" water/ocean 21}
{NEW:WATER_342_180_TRANSITION Ww* (!,Ww*,!,W*,Sm) -551 "~O(50%)" water/water 17}
{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 ()}
# chasm to abyss ecetera transition
{TRANSITION_COMPLETE_LF Qxu,Qxe Qxua,Xv,_off^_usr -600 depths chasm/depths}
{TRANSITION_COMPLETE_LF Qxua Xv,_off^_usr -601 depths chasm/abyss-base}
# 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
{TERRAIN_BASE * void/void}
#wmlindent: stop ignoring