[terrain] 构造规则:{NEW:BEACH !,Chw,Khw,Khs,W*,S*,Xv,Qx*,A*,_* W* fl

构造规则:{NEW:BEACH !,Chw,Khw,Khs,W*,S*,Xv,Qx*,A*,_* W* flat/shore}

它用于构造海滩,此处海滩指的是浸在水中、陆上透过水能看到部分。

搜索NEW:BEACH宏定义,该宏没中间过程,直接转入最后定义。

#define NEW:BEACH TERRAINLIST ADJACENT IMAGESTEM
    [terrain_graphics]
        map="
,  2
*,   3
,  1
*,   *
,  *"
        [tile]
            pos=1
            type={ADJACENT}
            set_no_flag=beach-@R0-[@R5,@R1]
        [/tile]
        [tile]
            pos=2
            type={TERRAINLIST}
            set_no_flag=beach-@R2-@R3
        [/tile]
        [tile]
            pos=3
            type={TERRAINLIST}
            set_no_flag=beach-@R4-@R3
        [/tile]

        rotations=tr,r,br,bl,l,tl

        [image]
            # wmlscope: start ignoring
            name={IMAGESTEM}-concave-@R0-@R5.png
            # wmlscope: stop ignoring
            layer=-500
            center=90,144
            base=90,144
        [/image]
        [image]
            # wmlscope: start ignoring
            name={IMAGESTEM}-concave-@R0-@R1.png
            # wmlscope: stop ignoring
            layer=-500
            center=90,144
            base=90,144
        [/image]
    [/terrain_graphics]

    [terrain_graphics]
        map="
,  2
*,   3
,  1
*,   *
,  *"
        [tile]
            pos=1
            type={TERRAINLIST}
            set_no_flag=beach-@R0-[@R5,@R1]
        [/tile]
        [tile]
            pos=2
            type={ADJACENT}
            set_no_flag=beach-@R2-@R3
        [/tile]
        [tile]
            pos=3
            type={ADJACENT}
            set_no_flag=beach-@R4-@R3
        [/tile]

        rotations=tr,r,br,bl,l,tl

        [image]
            # wmlscope: start ignoring
            name={IMAGESTEM}-convex-@R0-@R5.png
            # wmlscope: stop ignoring
            layer=-500
            center=90,144
            base=90,144
        [/image]
        [image]
            # wmlscope: start ignoring
            name={IMAGESTEM}-convex-@R0-@R1.png
            # wmlscope: stop ignoring
            layer=-500
            center=90,144
            base=90,144
        [/image]
    [/terrain_graphics]

    [terrain_graphics]
        map="
,  2
*,   3
,  1
*,   *
,  *"
        [tile]
            pos=1
            type={TERRAINLIST}
            set_no_flag=beach-@R0-@R5
        [/tile]
        [tile]
            pos=2
            type={ADJACENT}
            set_no_flag=beach-@R2-@R3
        [/tile]
        [tile]
            pos=3
            type=!,{TERRAINLIST},{ADJACENT}
        [/tile]

        rotations=tr,r,br,bl,l,tl

        [image]
            # wmlscope: start ignoring
            name={IMAGESTEM}-convex-@R0-@R5.png
            # wmlscope: stop ignoring
            layer=-500
            center=90,144
            base=90,144
        [/image]
    [/terrain_graphics]

    [terrain_graphics]
        map="
,  2
*,   3
,  1
*,   *
,  *"
        [tile]
            pos=1
            type={TERRAINLIST}
            set_no_flag=beach-@R0-@R1
        [/tile]
        [tile]
            pos=2
            type=!,{TERRAINLIST},{ADJACENT}
        [/tile]
        [tile]
            pos=3
            type={ADJACENT}
            set_no_flag=beach-@R4-@R3
        [/tile]

        rotations=tr,r,br,bl,l,tl

        [image]
            # wmlscope: start ignoring
            name={IMAGESTEM}-convex-@R0-@R1.png
            # wmlscope: stop ignoring
            layer=-500
            center=90,144
            base=90,144
        [/image]
    [/terrain_graphics]
#enddef
  • [*]TERRAINLIST:!,Chw,Khw,Khs,W*,S*,Xv,Qx*,A*,_*(不是荒废的城堡、荒废的主楼、水类、沼泽类、Void、裂隙、冰雪地类的地形)
  • [*]ADJACENT:W*(水类地形,包括深水、浅水、浅滩、礁石)
  • [*]IMAGESTEM:flat/shore

包含四个旋转模板,每个模板产生6条,总计24条规则。

先后次序依次是6条内凹(concave)、6条外凸(convex)、6条内凹(concave)、6条外凸(convex)。

需要的文件名类似{IMAGESTEM}-concave-@[email]R0-@R1.png[/email]、{IMAGESTEM}-convex-@[email]R0-@R1.png[/email]。

层值是-500,标记类似“beach-@R0-@R5”,beach字符只有此规则有,因此只要地形满足条件,这规则都会被用上。

纯红色:shore-concave-tr-r.png

绿色:shore-concave-tr-tl.png

蓝色:shore-convex-tr-r.png

紫红色:shore-convex-tr-tl.png

全部评论: 0

    写评论: