terrainViewPatterns.json 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. // Defines terrain view/types patterns.
  2. // The following table shows the rules for the 3x3 pattern of all terrain types:
  3. // I) normal(e.g. grass, lava, ...):
  4. // N: Native type
  5. // D: Dirt border
  6. // S: Sand border
  7. // T: Sand OR dirt border(all Ts in the pattern are replaced by dirt OR sand)
  8. // ?: D,S or N
  9. // II) dirt:
  10. // N: Native type or normal type(grass, lava, ...)
  11. // S: Sand border
  12. // ?: Any border
  13. // III) sand:
  14. // No rules
  15. // IV) water, rock:
  16. // N: Native type
  17. // S: Sand border
  18. // ?: Any border
  19. // Additional rule for validiting terrain type:
  20. // N!: Native type always(unlike N for dirt)
  21. // The order of the patterns is important, do not change!
  22. {
  23. "terrainView" :
  24. [
  25. // Extended mixed transitions
  26. {
  27. "id" : "x1",
  28. "data" :
  29. [
  30. "T", "N", "N",
  31. "N", "N", "T",
  32. "N", "T", "T"
  33. ],
  34. "mapping" : { "normal" : "73,74", "dirt" : "45", "hota" : "118,119" }
  35. },
  36. {
  37. "id" : "x2",
  38. "data" :
  39. [
  40. "D", "D", "N",
  41. "D", "N", "N",
  42. "N", "N", "S"
  43. ],
  44. "mapping" : { "normal" : "75", "hota" : "120" }
  45. },
  46. {
  47. "id" : "x3",
  48. "data" :
  49. [
  50. "S", "S", "N",
  51. "S", "N", "N",
  52. "N", "N", "D"
  53. ],
  54. "mapping" : { "normal" : "76", "hota" : "121" }
  55. },
  56. {
  57. "id" : "x4",
  58. "data" :
  59. [
  60. "N", "N", "S",
  61. "N", "N", "D",
  62. "S", "D", "D"
  63. ],
  64. "mapping" : { "normal" : "77", "hota" : "122" }
  65. },
  66. {
  67. "id" : "x5",
  68. "data" :
  69. [
  70. "N", "N", "D",
  71. "N", "N", "D",
  72. "D", "D", "S"
  73. ],
  74. "mapping" : { "normal" : "78", "hota" : "123" }
  75. },
  76. // No transition
  77. {
  78. "id" : "n1",
  79. "data" :
  80. [
  81. "N", "N", "N",
  82. "N", "N", "N",
  83. "N", "N", "N"
  84. ],
  85. "decoration" : true,
  86. "mapping" : { "normal" : "49-56,57-72", "dirt" : "21-28,29-44", "sand" : "0-11,12-23", "water" : "20-32", "rock": "0-7", "hota" : "77-101,102-117" }
  87. },
  88. // Mixed transitions
  89. {
  90. "id" : "m1",
  91. "data" :
  92. [
  93. "T", "N", "N",
  94. "N", "N", "N",
  95. "N", "N", "T"
  96. ],
  97. "mapping" : { "normal" : "40, 42", "dirt" : "20", "hota" : "68, 70" }
  98. },
  99. {
  100. "id" : "m2",
  101. "data" :
  102. [
  103. "D", "N", "N",
  104. "N", "N", "N",
  105. "N", "N", "S"
  106. ],
  107. "mapping" : { "normal" : "41", "hota" : "69" }
  108. },
  109. {
  110. "id" : "m3",
  111. "data" :
  112. [
  113. "N", "N", "D,N",
  114. "N", "N", "D",
  115. "S", "D,N", "D,N"
  116. ],
  117. "mapping" : { "normal" : "43", "hota" : "71" }
  118. },
  119. {
  120. "id" : "m4",
  121. "data" :
  122. [
  123. "N", "N", "S",
  124. "N", "N", "D",
  125. "D,N", "D", "D,N"
  126. ],
  127. "mapping" : { "normal" : "44", "hota" : "72" }
  128. },
  129. {
  130. "id" : "m5",
  131. "data" :
  132. [
  133. "N", "N", "D",
  134. "N", "N", "D",
  135. "N", "N", "S"
  136. ],
  137. "mapping" : { "normal" : "45", "hota" : "73" }
  138. },
  139. {
  140. "id" : "m6",
  141. "data" :
  142. [
  143. "N", "N", "N",
  144. "N", "N", "N",
  145. "D,N", "D", "S"
  146. ],
  147. "mapping" : { "normal" : "46", "hota" : "74" }
  148. },
  149. {
  150. "id" : "m7",
  151. "data" :
  152. [
  153. "N", "N", "?",
  154. "N", "N", "S",
  155. "D-1,N", "D-1,N", "?"
  156. ],
  157. "minPoints" : 1,
  158. "mapping" : { "normal" : "47", "hota" : "75" }
  159. },
  160. {
  161. "id" : "m8",
  162. "data" :
  163. [
  164. "N", "N", "D-1,N",
  165. "N", "N", "D-1,N",
  166. "?", "S", "?"
  167. ],
  168. "minPoints" : 1,
  169. "mapping" : { "normal" : "48", "hota" : "76" }
  170. },
  171. // Standard transitions
  172. {
  173. "id" : "s2",
  174. "data" :
  175. [
  176. "?", "N", "N",
  177. "T", "N", "N",
  178. "?", "N", "N"
  179. ],
  180. "mapping" : { "normal" : "4-7, 24-27", "dirt" : "4-7", "water" : "4-7", "rock": "2D:16-19", "hota" : "6-13, 40-47" }
  181. },
  182. {
  183. "id" : "s3",
  184. "data" :
  185. [
  186. "?", "T", "?",
  187. "N", "N", "N",
  188. "N", "N", "N"
  189. ],
  190. "mapping" : { "normal" : "8-11, 28-31", "dirt" : "8-11", "water" : "8-11", "rock": "2D:20-23", "hota" : "14-21,48-55" }
  191. },
  192. {
  193. "id" : "s4",
  194. "data" :
  195. [
  196. "N", "N", "N",
  197. "N", "N", "s3-1,m7-1,m8-1",
  198. "N", "s2-1,m7-1,m8-1", "T"
  199. ],
  200. "minPoints" : 2,
  201. "mapping" : { "normal" : "12-15, 32-35", "dirt" : "12-15", "water" : "12-15", "rock": "4D:24-31", "hota" : "22-27,56-61" }
  202. },
  203. {
  204. "id" : "s5",
  205. "data" :
  206. [
  207. "T", "T", "?",
  208. "T", "N", "s6-1,m1-1,m2-1,N",
  209. "?,x1-1,s1-1", "s6-1,m1-1,m2-1,N", "N"
  210. ],
  211. "minPoints" : 1,
  212. "mapping" : { "normal" : "16-17, 36-37", "dirt" : "16-17", "water" : "16-17", "rock": "4D:32-39", "hota" : "28-30,62-64" }
  213. },
  214. {
  215. "id" : "s6",
  216. "data" :
  217. [
  218. "N", "N", "N",
  219. "N", "N", "s5-1,N",
  220. "N", "s5-1,N", "T"
  221. ],
  222. "minPoints" : 1,
  223. "mapping" : { "normal" : "18-19, 38-39", "dirt" : "18-19", "water" : "18-19", "rock": "4D:40-47", "hota" : "31-33,65-67" }
  224. },
  225. {
  226. "id" : "s1",
  227. "data" :
  228. [
  229. "?", "?", "?",
  230. "?", "N", "N",
  231. "T", "N", "N"
  232. ],
  233. "mapping" : { "normal" : "0-3, 20-23", "dirt" : "0-3", "water" : "0-3", "rock": "4D:8-15", "hota" : "0-5,34-39" }
  234. }
  235. ],
  236. "terrainType" :
  237. [
  238. {
  239. "id" : "n1",
  240. "data" :
  241. [
  242. "N!", "N!", "?",
  243. "N!", "N!", "?",
  244. "?", "?", "?"
  245. ]
  246. },
  247. {
  248. "id" : "n2",
  249. "data" :
  250. [
  251. "N!", "N!", "D,S",
  252. "D,S", "N!", "N!",
  253. "D,S", "D,S", "N!"
  254. ]
  255. },
  256. {
  257. "id" : "n3",
  258. "data" :
  259. [
  260. "D,S", "D,S", "N!",
  261. "D,S", "N!", "N!",
  262. "N!", "N!", "D,S"
  263. ]
  264. },
  265. {
  266. "id" : "s1",
  267. "data" :
  268. [
  269. "T", "N", "N",
  270. "N", "N", "N,T",
  271. "N", "N", "T"
  272. ]
  273. },
  274. {
  275. "id" : "s2",
  276. "data" :
  277. [
  278. "N", "N,T", "T",
  279. "N", "N", "N",
  280. "T", "N", "N"
  281. ]
  282. }
  283. ]
  284. }