You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

832 line
52 KiB

  1. local designSize = cc.size(1280,720)
  2. local config = {}
  3. config.HANDCARD_VIEW = "mj.luaScript.Common.3d.Mahjong3DHandCard"
  4. config.MAHJONG_CARD = "mj.luaScript.Common.3d.Mahjong3DCard"
  5. config.OUTCARD_VIEW = "mj.luaScript.Common.3d.Mahjong3DOutCardView"
  6. config.HU_CARD_VIEW = "mj.luaScript.Common.3d.Mahjong3DHuCardView"
  7. config.GROUP_CHI = "mj.luaScript.Common.3d.Mahjong3DGroupChi"
  8. config.GROUP_PENG = "mj.luaScript.Common.3d.Mahjong3DGroupPeng"
  9. config.GROUP_GANG = "mj.luaScript.Common.3d.Mahjong3DGroupGang"
  10. config.GROUP_ANGANG = "mj.luaScript.Common.3d.Mahjong3DGroupAnGang"
  11. config.GROUP_BAGANG = "mj.luaScript.Common.3d.Mahjong3DGroupBaGang"
  12. -- 麻将牌类型
  13. config.MJType = {
  14. Stand = 1, -- 标准牌
  15. Out = 2, -- 出去的牌
  16. OutBlack = 3, -- 出去盖着的牌
  17. Operate = 4, -- 操作的牌 吃碰杠
  18. OperateBlack = 5, -- 操作的牌背面,伪3d需要
  19. Hu = 6, -- 胡牌正面,伪3d需要
  20. HuBlack = 7, -- 胡牌背面,伪3d需要
  21. Open = 8, -- 摊牌正面,伪3d需要
  22. OpenBlack = 9, -- 摊牌背面,伪3d需要
  23. }
  24. -- 手牌起始位置
  25. config.HandCardStartPos = {
  26. [1] = {x = (designSize.width -105)*g_radio_x, y = 212*g_radio_y},
  27. [2] = {x = (designSize.width - 430)*g_radio_x, y = (designSize.height/2 + 316)*g_radio_y},
  28. [3] = {x = 185*g_radio_x, y = (designSize.height - 155)*g_radio_y},
  29. [4] = {x = 80+(designSize.width*g_radio_x-designSize.width)/2, y = 60},
  30. }
  31. config.HandCardStartPosOfCardNum = {
  32. [7] = {
  33. [1] = {x = (designSize.width - 160) * g_radio_x, y = 250 * g_radio_y},
  34. [2] = {x = (designSize.width / 2 + 290) * g_radio_x - 150, y = (designSize.height - 45)*g_radio_y},
  35. [3] = {x = 180 * g_radio_x, y = (designSize.height - 150)*g_radio_y},
  36. [4] = {x = 350+(designSize.width*g_radio_x-designSize.width)/2, y = 60},
  37. },
  38. [10] = {
  39. [1] = {x = (designSize.width - 160)*g_radio_x, y = (170-10)*g_radio_y},
  40. [2] = {x = (designSize.width / 2 + 290)*g_radio_x - 130, y = (designSize.height - 45)*g_radio_y},
  41. [3] = {x = 160*g_radio_x, y = (designSize.height - 90)*g_radio_y},
  42. [4] = {x = 200+(designSize.width*g_radio_x-designSize.width)/2, y = 60},
  43. },
  44. [13] = {
  45. [1] = {x = (designSize.width -105)*g_radio_x, y = 212*g_radio_y},
  46. [2] = {x = (designSize.width - 430)*g_radio_x, y = (designSize.height/2 + 316)*g_radio_y},
  47. [3] = {x = 185*g_radio_x, y = (designSize.height - 155)*g_radio_y},
  48. [4] = {x = 80+(designSize.width*g_radio_x-designSize.width)/2, y = 60},
  49. },
  50. }
  51. -- 手牌每个麻将子偏移量
  52. -- HandCardOffsetPos[viewId].x[cardIndex]
  53. -- [15] todo lwq 先加15的index,xueliu改好再删掉
  54. config.HandCardOffsetPos = {
  55. [1] = {
  56. [1] = {x = 0, y = 0}, [2] = {x = -7, y = -6}, [3] = {x = -15, y = -12}, [4] = {x = -22, y = -19},
  57. [5] = {x = -29, y = -26}, [6] = {x = -36, y = -34}, [7] = {x = -42, y = -43}, [8] = {x = -49, y = -53},
  58. [9] = {x = -55, y = -63}, [10] = {x = -61, y = -75}, [11] = {x = -68, y = -87}, [12] = {x = -73, y = -100},
  59. [13] = {x = -79, y = -113}, [14] = {x = -87, y = -118},-- [15] = {x = -87, y = -118},
  60. },
  61. [2] = {
  62. [1] = {x = 0, y = 0}, [2] = {x = 3, y = 0}, [3] = {x = 8, y = 0}, [4] = {x = 12, y = 0},
  63. [5] = {x = 16, y = 0}, [6] = {x = 21, y = 0}, [7] = {x = 25, y = 0}, [8] = {x = 29, y = 0},
  64. [9] = {x = 33, y = 0}, [10] = {x = 38, y = 0}, [11] = {x = 42, y = 0}, [12] = {x = 47, y = 0},
  65. [13] = {x = 51, y = 0}, [14] = {x = 40, y = 0},-- [15] = {x = 40, y = 0},
  66. },
  67. [3] = {
  68. [1] = {x = 0, y = 0}, [2] = {x = -6, y = 14}, [3] = {x = -11, y = 28}, [4] = {x = -17, y = 42},
  69. [5] = {x = -23, y = 54}, [6] = {x = -29, y = 66}, [7] = {x = -36, y = 77}, [8] = {x = -42, y = 87},
  70. [9] = {x = -49, y = 96}, [10] = {x = -56, y = 105}, [11] = {x = -63, y = 112}, [12] = {x = -71, y = 119},
  71. [13] = {x = -78, y = 124}, [14] = {x = -90, y = 112}, --[15] = {x = -90, y = 112},
  72. },
  73. [4] = {
  74. [1] = {x = 0, y = 0}, [2] = {x = -1, y = 0}, [3] = {x = -2, y = 0}, [4] = {x = -3, y = 0},
  75. [5] = {x = -4, y = 0}, [6] = {x = -5, y = 0}, [7] = {x = -6, y = 0}, [8] = {x = -7, y = 0},
  76. [9] = {x = -8, y = 0}, [10] = {x = -9, y = 0}, [11] = {x = -10, y = 0}, [12] = {x = -11, y = 0},
  77. [13] = {x = -12, y = 0}, [14] = {x = 13, y = 0},-- [15] = {x = 13, y = 0},
  78. },
  79. }
  80. -- 组合牌坐标调整
  81. -- GroupOffsetConfig[viewId].x[groupIndex]
  82. config.GroupOffsetConfig = {
  83. [1] = {
  84. [1] = {x = 11, y = -65}, [2] = {x = -13, y = 45},
  85. [3] = {x = -34, y = 148}, [4] = {x = -55, y = 245}
  86. },
  87. [2] = {
  88. [1] = {x = 67, y = -10}, [2] = {x = -48, y = -10},
  89. [3] = {x = -162, y = -10}, [4] = {x = -275, y = -10},
  90. },
  91. [3] = {
  92. [1] = {x = 10, y = 30}, [2] = {x = -6, y = -55},
  93. [3] = {x = -26, y = -147}, [4] = {x = -46, y = -242},
  94. },
  95. [4] = {
  96. [1] = {x = 85, y = -10}, [2] = {x = 235, y = -10},
  97. [3] = {x = 385, y = -10}, [4] = {x = 538, y = -12},
  98. },
  99. }
  100. -- 组合牌每张牌偏移量(除了杠牌上面那张)
  101. -- GroupCardOffsetConfig[viewId].x[cardIndex]
  102. config.GroupCardOffsetConfig = {
  103. [1] = {
  104. [1] = {x = 0, y = 0}, [2] = {x = -8, y = 35}, [3] = {x = -15, y = 70},
  105. [4] = {x = 0, y = 0}, [5] = {x = -7, y = 33}, [6] = {x = -14, y = 65},
  106. [7] = {x = 0, y = 0}, [8] = {x = -7, y = 31}, [9] = {x = -13, y = 61},
  107. [10] = {x = 0, y = 0}, [11] = {x = -6, y = 29}, [12] = {x = -12, y = 56},
  108. },
  109. [2] = {
  110. [1] = {x = 0, y = 0}, [2] = {x = -35, y = 0}, [3] = {x = -70, y = 0},
  111. [4] = {x = 0, y = 0}, [5] = {x = -35, y = 0}, [6] = {x = -70, y = 0},
  112. [7] = {x = 0, y = 0}, [8] = {x = -35, y = 0}, [9] = {x = -70, y = 0},
  113. [10] = {x = 0, y = 0}, [11] = {x = -35, y = 0}, [12] = {x = -70, y = 0},
  114. },
  115. [3] = {
  116. [1] = {x = 0, y = 0}, [2] = {x = -5, y = -26}, [3] = {x = -10, y = -52},
  117. [4] = {x = 0, y = 0}, [5] = {x = -6, y = -28}, [6] = {x = -12, y = -56},
  118. [7] = {x = 0, y = 0}, [8] = {x = -6, y = -29}, [9] = {x = -12, y = -58},
  119. [10] = {x = 0, y = 0}, [11] = {x = -7, y = -32}, [12] = {x = -14, y = -64},
  120. },
  121. [4] = {
  122. [1] = {x = 0, y = 0}, [2] = {x = 46, y = 0}, [3] = {x = 93, y = 0},
  123. [4] = {x = 0, y = 0}, [5] = {x = 46, y = 0}, [6] = {x = 92, y = 0},
  124. [7] = {x = 0, y = 0}, [8] = {x = 46, y = 0}, [9] = {x = 93, y = 0},
  125. [10] = {x = 0, y = 0}, [11] = {x = 46, y = 0}, [12] = {x = 93, y = 0},
  126. },
  127. }
  128. -- 杠牌上面那张牌的偏移量,分别对应四组杠牌
  129. -- GroupGangCardOffsetConfig[viewId].x[groupIndex]
  130. config.GroupGangCardOffsetConfig = {
  131. [1] = {
  132. x = {4, 4, 4, 4},
  133. y = {16, 16, 16, 16},
  134. },
  135. [2] = {
  136. x = {2, 1, 1, 0},
  137. y = {18, 18, 18, 18},
  138. },
  139. [3] = {
  140. x = {-3, -3, -4, -4},
  141. y = {16, 16, 16, 16},
  142. },
  143. [4] = {
  144. x = {-5, -3, -2, 0},
  145. y = {19, 19, 19, 19},
  146. },
  147. }
  148. -- 出牌区其实位置,每个玩家视角左上角第一颗麻将子的位置
  149. config.OutCardStartPos = {
  150. [1] = {x = (designSize.width / 2 + 264)*g_radio_x, y = (designSize.height / 2 - 110)*g_radio_y},
  151. [2] = {x = (designSize.width / 2 + 188)*g_radio_x, y = (designSize.height / 2 + 134)*g_radio_y},
  152. [3] = {x = (designSize.width / 2 - 230)*g_radio_x, y = (designSize.height / 2 + 182)*g_radio_y},
  153. [4] = {x = (designSize.width / 2 - 204)*g_radio_x, y = (designSize.height / 2 - 58)*g_radio_y},
  154. }
  155. config.OutCardStartPos2 = {
  156. [2] = {x = (designSize.width / 2 + 345)*g_radio_x, y = (designSize.height / 2 + 134)*g_radio_y},
  157. [4] = {x = (designSize.width / 2 - 374)*g_radio_x, y = (designSize.height / 2 - 58)*g_radio_y},
  158. }
  159. -- 血流 todo lwq
  160. config.XueliuHuCardStartPos = {
  161. [1] = {x = (designSize.width / 2 + 264 + 66 * 2)*g_radio_x, y = (designSize.height / 2 - 110)*g_radio_y},
  162. [2] = {x = (designSize.width / 2 + 188)*g_radio_x, y = (designSize.height / 2 + 134 + 66 * 2 - 12)*g_radio_y},
  163. [3] = {x = (designSize.width / 2 - 230 - 66 * 2)*g_radio_x, y = (designSize.height / 2 + 182)*g_radio_y},
  164. [4] = {x = (designSize.width / 2 - 204)*g_radio_x, y = (designSize.height / 2 - 58 - 66 * 2)*g_radio_y},
  165. }
  166. config.XueliuHuCardStartPos2 = {
  167. -- [2] = {x = (designSize.width / 2 + 345)*g_radio_x, y = (designSize.height / 2 + 134 + 66* 2 - 12)*g_radio_y},
  168. -- [4] = {x = (designSize.width / 2 - 374)*g_radio_x, y = (designSize.height / 2 - 58 - 66 * 2)*g_radio_y},
  169. [2] = {x = (designSize.width / 2 + 188)*g_radio_x, y = (designSize.height / 2 + 134 + 66* 2 - 12)*g_radio_y},
  170. [4] = {x = (designSize.width / 2 - 204)*g_radio_x, y = (designSize.height / 2 - 58 - 66 * 2)*g_radio_y},
  171. }
  172. -- 出牌区每颗麻将子的位置
  173. -- 对应的x、y
  174. config.OutCardOffsetConfig = {
  175. [1] = {
  176. [1] = {
  177. [1] = {x = 0, y = 0}, [2] = {x = -3, y = 32}, [3] = {x = -7, y = 64}, [4] = {x = -10, y = 95},
  178. [5] = {x = -13, y = 125}, [6] = {x = -17, y = 155}, [7] = {x = -19, y = 183}, [8] = {x = -23, y = 210},
  179. [9] = {x = -26, y = 238}, [10] = {x = -28, y = 264}, [11] = {x = -32, y = 290},
  180. },
  181. [2] = {
  182. [1] = {x = 59, y = 0}, [2] = {x = 54, y = 32}, [3] = {x = 50, y = 64}, [4] = {x = 46, y = 95},
  183. [5] = {x = 42, y = 125}, [6] = {x = 38, y = 155}, [7] = {x = 34, y = 183}, [8] = {x = 31, y = 210},
  184. [9] = {x = 27, y = 238}, [10] = {x = 23, y = 264}, [11] = {x = 20, y = 290},
  185. },
  186. [3] = {
  187. [1] = {x = 117, y = 0}, [2] = {x = 112, y = 32}, [3] = {x = 107, y = 64}, [4] = {x = 102, y = 95},
  188. [5] = {x = 97, y = 125}, [6] = {x = 93, y = 155}, [7] = {x = 88, y = 183}, [8] = {x = 84, y = 210},
  189. [9] = {x = 80, y = 238}, [10] = {x = 75, y = 264}, [11] = {x = 71, y = 290},
  190. },
  191. [4] = {
  192. [1] = {x = 176, y = 0}, [2] = {x = 170, y = 32}, [3] = {x = 164, y = 64}, [4] = {x = 158, y = 95},
  193. [5] = {x = 152, y = 125}, [6] = {x = 147, y = 155}, [7] = {x = 142, y = 183}, [8] = {x = 137, y = 210},
  194. [9] = {x = 132, y = 238}, [10] = {x = 127, y = 264}, [11] = {x = 122, y = 290},
  195. },
  196. },
  197. [2] = {
  198. [1] = {
  199. [1] = {x = 0, y = 0}, [2] = {x = -37, y = 0}, [3] = {x = -74, y = 0}, [4] = {x = -112, y = 0},
  200. [5] = {x = -149, y = 0}, [6] = {x = -187, y = 0}, [7] = {x = -224, y = 0}, [8] = {x = -263, y = 0},
  201. [9] = {x = -299, y = 0}, [10] = {x = -337, y = 0}, [11] = {x = -375, y = 0},
  202. },
  203. [2] = {
  204. [1] = {x = -3, y = 36}, [2] = {x = -39, y = 36}, [3] = {x = -77, y = 36}, [4] = {x = -113, y = 36},
  205. [5] = {x = -150, y = 36}, [6] = {x = -187, y = 36}, [7] = {x = -224, y = 36}, [8] = {x = -261, y = 36},
  206. [9] = {x = -298, y = 36}, [10] = {x = -335, y = 36}, [11] = {x = -372, y = 36},
  207. },
  208. [3] = {
  209. [1] = {x = -6, y = 70}, [2] = {x = -42, y = 70}, [3] = {x = -78, y = 70}, [4] = {x = -114, y = 70},
  210. [5] = {x = -151, y = 70}, [6] = {x = -187, y = 70}, [7] = {x = -224, y = 70}, [8] = {x = -260, y = 70},
  211. [9] = {x = -296, y = 70}, [10] = {x = -333, y = 70}, [11] = {x = -369, y = 71},
  212. },
  213. [4] = {
  214. [1] = {x = -9, y = 104}, [2] = {x = -45, y = 104}, [3] = {x = -79, y = 104}, [4] = {x = -115, y = 104},
  215. [5] = {x = -152, y = 104}, [6] = {x = -187, y = 104}, [7] = {x = -224, y = 104}, [8] = {x = -259, y = 104},
  216. [9] = {x = -294, y = 104}, [10] = {x = -331, y = 104}, [11] = {x = -366, y = 105},
  217. },
  218. },
  219. [3] = {
  220. [1] = {
  221. [1] = {x = 0, y = 0}, [2] = {x = -3, y = -26}, [3] = {x = -6, y = -52}, [4] = {x = -9, y = -80},
  222. [5] = {x = -11, y = -108}, [6] = {x = -15, y = -136}, [7] = {x = -18, y = -165}, [8] = {x = -21, y = -195},
  223. [9] = {x = -24, y = -225}, [10] = {x = -27, y = -257}, [11] = {x = -31, y = -289},
  224. },
  225. [2] = {
  226. [1] = {x = -51, y = 0}, [2] = {x = -55, y = -26}, [3] = {x = -58, y = -52}, [4] = {x = -62, y = -80},
  227. [5] = {x = -66, y = -108}, [6] = {x = -69, y = -136}, [7] = {x = -73, y = -165}, [8] = {x = -77, y = -195},
  228. [9] = {x = -81, y = -225}, [10] = {x = -85, y = -256}, [11] = {x = -89, y = -289},
  229. },
  230. [3] = {
  231. [1] = {x = -103, y = 0}, [2] = {x = -107, y = -26}, [3] = {x = -111, y = -52}, [4] = {x = -115, y = -80},
  232. [5] = {x = -119, y = -108}, [6] = {x = -124, y = -136}, [7] = {x = -128, y = -165}, [8] = {x = -133, y = -195},
  233. [9] = {x = -138, y = -225}, [10] = {x = -143, y = -256}, [11] = {x = -148, y = -289},
  234. },
  235. [4] = {
  236. [1] = {x = -154, y = 0}, [2] = {x = -159, y = -26}, [3] = {x = -164, y = -52}, [4] = {x = -168, y = -80},
  237. [5] = {x = -173, y = -108}, [6] = {x = -179, y = -136}, [7] = {x = -183, y = -165}, [8] = {x = -189, y = -195},
  238. [9] = {x = -195, y = -225}, [10] = {x = -200, y = -256}, [11] = {x = -205, y = -289},
  239. },
  240. },
  241. [4] = {
  242. [1] = {
  243. [1] = {x = 0, y = 0}, [2] = {x = 40, y = 0}, [3] = {x = 81, y = 0}, [4] = {x = 122, y = 0},
  244. [5] = {x = 163, y = 0}, [6] = {x = 204, y = 0}, [7] = {x = 245, y = 0}, [8] = {x = 286, y = 0},
  245. [9] = {x = 327, y = 0}, [10] = {x = 368, y = -1}, [11] = {x = 409, y = -1},
  246. },
  247. [2] = {
  248. [1] = {x = -4, y = -45}, [2] = {x = 37, y = -45}, [3] = {x = 79, y = -45}, [4] = {x = 120, y = -45},
  249. [5] = {x = 162, y = -45}, [6] = {x = 204, y = -45}, [7] = {x = 246, y = -45}, [8] = {x = 288, y = -45},
  250. [9] = {x = 329, y = -45}, [10] = {x = 371, y = -45}, [11] = {x = 413, y = -45},
  251. },
  252. [3] = {
  253. [1] = {x = -8, y = -92}, [2] = {x = 34, y = -92}, [3] = {x = 77, y = -92}, [4] = {x = 119, y = -92},
  254. [5] = {x = 161, y = -92}, [6] = {x = 204, y = -92}, [7] = {x = 247, y = -92}, [8] = {x = 289, y = -92},
  255. [9] = {x = 332, y = -92}, [10] = {x = 374, y = -92}, [11] = {x = 417, y = -92},
  256. },
  257. [4] = {
  258. [1] = {x = -12, y = -140}, [2] = {x = 31, y = -140}, [3] = {x = 75, y = -140}, [4] = {x = 117, y = -140},
  259. [5] = {x = 160, y = -140}, [6] = {x = 204, y = -140}, [7] = {x = 248, y = -140}, [8] = {x = 290, y = -140},
  260. [9] = {x = 335, y = -140}, [10] = {x = 377, y = -140}, [11] = {x = 421, y = -140},
  261. },
  262. },
  263. }
  264. config.OpenCardOffsetConfig = {
  265. [1] = {
  266. [1] = {x = 0, y = 0}, [2] = {x = -7, y = -22}, [3] = {x = -15, y = -43}, [4] = {x = -22, y = -66}, [5] = {x = -29, y = -90},
  267. [6] = {x = -36, y = -115}, [7] = {x = -43, y = -140}, [8] = {x = -49, y = -165}, [9] = {x = -55, y = -192}, [10] = {x = -61, y = -219},
  268. [11] = {x = -67, y = -246}, [12] = {x = -73, y = -275}, [13] = {x = -78, y = -304}, [14] = {x = -86, y = -320},
  269. },
  270. [2] = {
  271. [1] = {x = 0, y = -12}, [2] = {x = 12, y = -12}, [3] = {x = 23, y = -12}, [4] = {x = 34, y = -12}, [5] = {x = 45, y = -12},
  272. [6] = {x = 55, y = -12}, [7] = {x = 66, y = -12}, [8] = {x = 77, y = -12}, [9] = {x = 88, y = -12}, [10] = {x = 98, y = -11},
  273. [11] = {x = 108, y = -11}, [12] = {x = 119, y = -11}, [13] = {x = 129, y = -11}, [14] = {x = 120, y = -11},
  274. },
  275. [3] = {
  276. [1] = {x = 4, y = -4}, [2] = {x = -2, y = 27}, [3] = {x = -8, y = 57}, [4] = {x = -14, y = 85}, [5] = {x = -20, y = 114},
  277. [6] = {x = -26, y = 142}, [7] = {x = -32, y = 170}, [8] = {x = -38, y = 198}, [9] = {x = -44, y = 226}, [10] = {x = -50, y = 254},
  278. [11] = {x = -56, y = 282}, [12] = {x = -63, y = 310}, [13] = {x = -69, y = 338}, [14] = {x = -78, y = 350},
  279. },
  280. [4] = {
  281. [1] = {x = 0, y = 0}, [2] = {x = 0, y = 0}, [3] = {x = 0, y = 0}, [4] = {x = 0, y = 0}, [5] = {x = 0, y = 0},
  282. [6] = {x = 0, y = 0}, [7] = {x = 0, y = 0}, [8] = {x = 0, y = 0}, [9] = {x = 0, y = 0}, [10] = {x = 0, y = 0},
  283. [11] = {x = 0, y = 0}, [12] = {x = 0, y = 0}, [13] = {x = 0, y = 0}, [14] = {x = 0, y = 0},
  284. },
  285. }
  286. config.OpenBlackCardOffsetConfig = {
  287. [1] = {
  288. [1] = {x = 2, y = 0}, [2] = {x = -5, y = -22}, [3] = {x = -13, y = -45}, [4] = {x = -20, y = -68}, [5] = {x = -27, y = -93},
  289. [6] = {x = -33, y = -118}, [7] = {x = -40, y = -144}, [8] = {x = -46, y = -171}, [9] = {x = -53, y = -198}, [10] = {x = -59, y = -226},
  290. [11] = {x = -65, y = -255}, [12] = {x = -70, y = -284}, [13] = {x = -76, y = -314}, [14] = {x = -84, y = -330},
  291. },
  292. [2] = {
  293. [1] = {x = 0, y = -12}, [2] = {x = 12, y = -12}, [3] = {x = 23, y = -12}, [4] = {x = 34, y = -12}, [5] = {x = 44, y = -12},
  294. [6] = {x = 55, y = -12}, [7] = {x = 66, y = -12}, [8] = {x = 77, y = -12}, [9] = {x = 88, y = -11}, [10] = {x = 98, y = -11},
  295. [11] = {x = 109, y = -11}, [12] = {x = 119, y = -11}, [13] = {x = 129, y = -11}, [14] = {x = 120, y = -11},
  296. },
  297. [3] = {
  298. [1] = {x = 8, y = 0}, [2] = {x = 2, y = 33}, [3] = {x = -4, y = 65}, [4] = {x = -10, y = 95}, [5] = {x = -16, y = 126},
  299. [6] = {x = -22, y = 155}, [7] = {x = -28, y = 183}, [8] = {x = -34, y = 211}, [9] = {x = -41, y = 239}, [10] = {x = -48, y = 265},
  300. [11] = {x = -55, y = 291}, [12] = {x = -63, y = 315}, [13] = {x = -70, y = 338}, [14] = {x = -78, y = 350},
  301. },
  302. [4] = {
  303. [1] = {x = 0, y = 0}, [2] = {x = 0, y = 0}, [3] = {x = 0, y = 0}, [4] = {x = 0, y = 0}, [5] = {x = 0, y = 0},
  304. [6] = {x = 0, y = 0}, [7] = {x = 0, y = 0}, [8] = {x = 0, y = 0}, [9] = {x = 0, y = 0}, [10] = {x = 0, y = 0},
  305. [11] = {x = 0, y = 0}, [12] = {x = 0, y = 0}, [13] = {x = 0, y = 0}, [14] = {x = 0, y = 0},
  306. },
  307. }
  308. config.OutCardRowFaceScaleConfig = {
  309. }
  310. config.OpenCardColFaceScaleConfig = {
  311. [1] = {0.980, 0.970, 0.960, 0.950, 0.940, 0.930, 0.920, 0.910, 0.890, 0.870, 0.860, 0.850, 0.830, 0.820,},
  312. [2] = {0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800,},
  313. [3] = {0.820, 0.830, 0.840, 0.850, 0.860, 0.870, 0.880, 0.890, 0.900, 0.910, 0.920, 0.930, 0.940, 0.950,},
  314. [4] = {1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,},
  315. }
  316. config.OpenCardFaceOffsetConfig = {
  317. [1] = {
  318. [1] = {x = 1, y = 8}, [2] = {x = 1, y = 8}, [3] = {x = 1, y = 8}, [4] = {x = 1, y = 8},
  319. [5] = {x = 1, y = 8}, [6] = {x = 1, y = 8}, [7] = {x = 1, y = 8}, [8] = {x = 1, y = 8},
  320. [9] = {x = 1, y = 8}, [10] = {x = 1, y = 8}, [11] = {x = 1, y = 8}, [12] = {x = 1, y = 8},
  321. [13] = {x = 1, y = 8}, [14] = {x = 1, y = 9},
  322. },
  323. [2] = {
  324. [1] = {x = 0, y = 10}, [2] = {x = -1, y = 10}, [3] = {x = -1, y = 10}, [4] = {x = 0, y = 10},
  325. [5] = {x = 0, y = 10}, [6] = {x = 0, y = 10}, [7] = {x = 0, y = 10}, [8] = {x = 0, y = 10},
  326. [9] = {x = -1, y = 10}, [10] = {x = -1, y = 10}, [11] = {x = -1, y = 10}, [12] = {x = -1, y = 10},
  327. [13] = {x = -1, y = 10}, [14] = {x = -1, y = 10},
  328. },
  329. [3] = {
  330. [1] = {x = -2, y = 8}, [2] = {x = -2, y = 8}, [3] = {x = -2, y = 8}, [4] = {x = -2, y = 8},
  331. [5] = {x = -2, y = 8}, [6] = {x = -2, y = 8}, [7] = {x = -2, y = 8}, [8] = {x = -2, y = 8},
  332. [9] = {x = -2, y = 10}, [10] = {x = -2, y = 10}, [11] = {x = -2, y = 10}, [12] = {x = -2, y = 10},
  333. [13] = {x = -2, y = 8}, [14] = {x = -2, y = 8},
  334. },
  335. [4] = {
  336. [1] = {x = 0, y = 0}, [2] = {x = 0, y = 0}, [3] = {x = 0, y = 0}, [4] = {x = 0, y = 0},
  337. [5] = {x = 0, y = 0}, [6] = {x = 0, y = 0}, [7] = {x = 0, y = 0}, [8] = {x = 0, y = 0},
  338. [9] = {x = 0, y = 0}, [10] = {x = 0, y = 0}, [11] = {x = 0, y = 0}, [12] = {x = 0, y = 0},
  339. [13] = {x = 0, y = 0}, [14] = {x = 0, y = 0},
  340. },
  341. }
  342. config.OpenCardFaceRotationConfig = {
  343. [1] = {
  344. [1] = {x = 45, y = -10, z = 98}, [2] = {x = 45, y = -10, z = 98}, [3] = {x = 45, y = -10, z = 98}, [4] = {x = 45, y = -10, z = 98},
  345. [5] = {x = 45, y = -10, z = 98}, [6] = {x = 45, y = -10, z = 98}, [7] = {x = 45, y = -10, z = 98}, [8] = {x = 45, y = -10, z = 98},
  346. [9] = {x = 45, y = -10, z = 98}, [10] = {x = 45, y = -10, z = 99}, [11] = {x = 45, y = -10, z = 99}, [12] = {x = 45, y = -10, z = 99},
  347. [13] = {x = 45, y = -10, z = 99}, [14] = {x = 45, y = -10, z = 99},
  348. },
  349. [2] = {
  350. [1] = {x = 50, y = -4, z = 4}, [2] = {x = 50, y = -4, z = 4}, [3] = {x = 50, y = -4, z = 4}, [4] = {x = 50, y = -2, z = 2},
  351. [5] = {x = 50, y = 0, z = 0}, [6] = {x = 50, y = 0, z = 0}, [7] = {x = 50, y = 0, z = 0}, [8] = {x = 50, y = 0, z = 0},
  352. [9] = {x = 50, y = 2, z = -2}, [10] = {x = 50, y = 2, z = -2}, [11] = {x = 50, y = 2, z = -2}, [12] = {x = 50, y = 4, z = -4},
  353. [13] = {x = 50, y = 4, z = -4}, [14] = {x = 50, y = 4, z = -4},
  354. },
  355. [3] = {
  356. [1] = {x = 45, y = 12, z = -102}, [2] = {x = 45, y = 12, z = -102}, [3] = {x = 45, y = 12, z = -102}, [4] = {x = 45, y = 12, z = -102},
  357. [5] = {x = 45, y = 12, z = -102}, [6] = {x = 45, y = 12, z = -102}, [7] = {x = 45, y = 12, z = -102}, [8] = {x = 45, y = 12, z = -102},
  358. [9] = {x = 45, y = 12, z = -102}, [10] = {x = 45, y = 12, z = -102}, [11] = {x = 45, y = 12, z = -102}, [12] = {x = 45, y = 12, z = -102},
  359. [13] = {x = 45, y = 12, z = -102}, [14] = {x = 45, y = 12, z = -102},
  360. },
  361. [4] = {
  362. [1] = {x = 0, y = 0, z = 0}, [2] = {x = 0, y = 0, z = 0}, [3] = {x = 0, y = 0, z = 0}, [4] = {x = 0, y = 0, z = 0},
  363. [5] = {x = 0, y = 0, z = 0}, [6] = {x = 0, y = 0, z = 0}, [7] = {x = 0, y = 0, z = 0}, [8] = {x = 0, y = 0, z = 0},
  364. [9] = {x = 0, y = 0, z = 0}, [10] = {x = 0, y = 0, z = 0}, [11] = {x = 0, y = 0, z = 0}, [12] = {x = 0, y = 0, z = 0},
  365. [13] = {x = 0, y = 0, z = 0}, [14] = {x = 0, y = 0, z = 0},
  366. },
  367. }
  368. -- 出牌区每颗麻将子的位置
  369. -- 对应的x、y
  370. config.OutCardOffsetConfig2 = {
  371. [2] = {
  372. [1] = {
  373. [1] = {x = 0, y = 0}, [2] = {x = -38, y = 0}, [3] = {x = -76, y = 0}, [4] = {x = -114, y = 0}, [5] = {x = -153, y = 0},
  374. [6] = {x = -190, y = 0}, [7] = {x = -228, y = 0}, [8] = {x = -266, y = 0}, [9] = {x = -304, y = 0}, [10] = {x = -342, y = 1},
  375. [11] = {x = -381, y = 1}, [12] = {x = -419, y = 1}, [13] = {x = -457, y = 1}, [14] = {x = -496, y = 1}, [15] = {x = -534, y = 1},
  376. [16] = {x = -572, y = 1}, [17] = {x = -610, y = 1}, [18] = {x = -648, y = 1}, [19] = {x = -687, y = 1},
  377. },
  378. [2] = {
  379. [1] = {x = -6, y = 36}, [2] = {x = -44, y = 36}, [3] = {x = -81, y = 36}, [4] = {x = -118, y = 36}, [5] = {x = -156, y = 36},
  380. [6] = {x = -193, y = 36}, [7] = {x = -230, y = 36}, [8] = {x = -267, y = 36}, [9] = {x = -305, y = 36}, [10] = {x = -342, y = 36},
  381. [11] = {x = -380, y = 36}, [12] = {x = -418, y = 36}, [13] = {x = -455, y = 36}, [14] = {x = -493, y = 36}, [15] = {x = -530, y = 36},
  382. [16] = {x = -568, y = 36}, [17] = {x = -606, y = 36}, [18] = {x = -643, y = 36}, [19] = {x = -681, y = 36},
  383. },
  384. [3] = {
  385. [1] = {x = -12, y = 70}, [2] = {x = -49, y = 70}, [3] = {x = -85, y = 70}, [4] = {x = -122, y = 70}, [5] = {x = -159, y = 70},
  386. [6] = {x = -196, y = 70}, [7] = {x = -232, y = 70}, [8] = {x = -268, y = 70}, [9] = {x = -305, y = 70}, [10] = {x = -342, y = 70},
  387. [11] = {x = -379, y = 70}, [12] = {x = -416, y = 70}, [13] = {x = -453, y = 70}, [14] = {x = -490, y = 70}, [15] = {x = -527, y = 70},
  388. [16] = {x = -564, y = 70}, [17] = {x = -601, y = 70}, [18] = {x = -638, y = 70}, [19] = {x = -675, y = 71},
  389. },
  390. [4] = {
  391. [1] = {x = -18, y = 104}, [2] = {x = -54, y = 104}, [3] = {x = -89, y = 104}, [4] = {x = -126, y = 104}, [5] = {x = -162, y = 104},
  392. [6] = {x = -198, y = 104}, [7] = {x = -234, y = 104}, [8] = {x = -270, y = 104}, [9] = {x = -306, y = 104}, [10] = {x = -343, y = 104},
  393. [11] = {x = -379, y = 104}, [12] = {x = -415, y = 104}, [13] = {x = -451, y = 104}, [14] = {x = -488, y = 104}, [15] = {x = -524, y = 104},
  394. [16] = {x = -560, y = 104}, [17] = {x = -596, y = 104}, [18] = {x = -633, y = 104}, [19] = {x = -670, y = 104},
  395. },
  396. },
  397. [4] = {
  398. [1] = {
  399. [1] = {x = 0, y = 0}, [2] = {x = 42, y = 0}, [3] = {x = 84, y = 0}, [4] = {x = 127, y = 0}, [5] = {x = 169, y = 0},
  400. [6] = {x = 211, y = 0}, [7] = {x = 253, y = 0}, [8] = {x = 295, y = 0}, [9] = {x = 337, y = 0}, [10] = {x = 379, y = 0},
  401. [11] = {x = 421, y = 0}, [12] = {x = 463, y = 0}, [13] = {x = 506, y = 0}, [14] = {x = 548, y = 0}, [15] = {x = 590, y = -1},
  402. [16] = {x = 632, y = -1}, [17] = {x = 675, y = -1}, [18] = {x = 717, y = -1}, [19] = {x = 759, y = -1},
  403. },
  404. [2] = {
  405. [1] = {x = -8, y = -45}, [2] = {x = 36, y = -45}, [3] = {x = 78, y = -45}, [4] = {x = 122, y = -45}, [5] = {x = 165, y = -45},
  406. [6] = {x = 208, y = -45}, [7] = {x = 250, y = -45}, [8] = {x = 294, y = -45}, [9] = {x = 336, y = -45}, [10] = {x = 380, y = -45},
  407. [11] = {x = 422, y = -45}, [12] = {x = 465, y = -45}, [13] = {x = 509, y = -45}, [14] = {x = 551, y = -45}, [15] = {x = 594, y = -45},
  408. [16] = {x = 638, y = -45}, [17] = {x = 681, y = -45}, [18] = {x = 724, y = -45}, [19] = {x = 766, y = -45},
  409. },
  410. [3] = {
  411. [1] = {x = -16, y = -92}, [2] = {x = 29, y = -92}, [3] = {x = 73, y = -92}, [4] = {x = 117, y = -92}, [5] = {x = 161, y = -92},
  412. [6] = {x = 205, y = -92}, [7] = {x = 249, y = -92}, [8] = {x = 292, y = -92}, [9] = {x = 335, y = -92}, [10] = {x = 379, y = -92},
  413. [11] = {x = 423, y = -92}, [12] = {x = 467, y = -92}, [13] = {x = 511, y = -92}, [14] = {x = 555, y = -92}, [15] = {x = 599, y = -92},
  414. [16] = {x = 643, y = -92}, [17] = {x = 687, y = -92}, [18] = {x = 730, y = -92}, [19] = {x = 773, y = -92},
  415. },
  416. [4] = {
  417. [1] = {x = -24, y = -140}, [2] = {x = 22, y = -140}, [3] = {x = 68, y = -140}, [4] = {x = 112, y = -140}, [5] = {x = 157, y = -140},
  418. [6] = {x = 202, y = -140}, [7] = {x = 246, y = -140}, [8] = {x = 290, y = -140}, [9] = {x = 335, y = -140}, [10] = {x = 379, y = -140},
  419. [11] = {x = 424, y = -140}, [12] = {x = 469, y = -140}, [13] = {x = 514, y = -140}, [14] = {x = 559, y = -140}, [15] = {x = 604, y = -140},
  420. [16] = {x = 650, y = -140}, [17] = {x = 693, y = -140}, [18] = {x = 738, y = -140}, [19] = {x = 782, y = -140},
  421. },
  422. },
  423. }
  424. -- 胡牌区每个玩家开始位置
  425. config.HuCardStartPos = {
  426. [1] = {x = (designSize.width / 2 + 370)*g_radio_x, y = (designSize.height / 2 + 260)*g_radio_y},
  427. [2] = {x = (designSize.width / 2 - 285)*g_radio_x, y = (designSize.height / 2 + 260)*g_radio_y},
  428. [3] = {x = (designSize.width / 2 - 463)*g_radio_x, y = (designSize.height / 2 - 210)*g_radio_y},
  429. [4] = {x = (designSize.width / 2 + 340)*g_radio_x, y = 150*g_radio_y},
  430. }
  431. -- 胡牌区明牌坐标,序号:1-40
  432. -- 本家:从右往左,从下往上顺序
  433. -- 右边:从上往下,从右往左顺序
  434. -- 上家:从左往右,从上往下顺序
  435. -- 左边:从下往上,从左往右顺序
  436. config.HuCardCoorConfig = {
  437. [1] = {
  438. [1] = {x = 0, y = 0}, [2] = {x = 4, y = -21}, [3] = {x = 8, y = -41}, [4] = {x = 12, y = -62}, [5] = {x = 16, y = -84},
  439. [6] = {x = 20, y = -106}, [7] = {x = 24, y = -128}, [8] = {x = 28, y = -151}, [9] = {x = 33, y = -174}, [10] = {x = 37, y = -197},
  440. [11] = {x = 42, y = -221}, [12] = {x = 46, y = -247}, [13] = {x = 51, y = -273}, [14] = {x = 56, y = -298}, [15] = {x = 61, y = -324},
  441. [16] = {x = 66, y = -352}, [17] = {x = 71, y = -380}, [18] = {x = 76, y = -408}, [19] = {x = 82, y = -437}, [20] = {x = 87, y = -467},
  442. [21] = {x = -42, y = -1}, [22] = {x = -38, y = -21}, [23] = {x = -35, y = -41}, [24] = {x = -32, y = -63}, [25] = {x = -28, y = -85},
  443. [26] = {x = -24, y = -106}, [27] = {x = -21, y = -129}, [28] = {x = -17, y = -151}, [29] = {x = -13, y = -174}, [30] = {x = -9, y = -197},
  444. [31] = {x = -5, y = -221}, [32] = {x = -1, y = -247}, [33] = {x = 3, y = -273}, [34] = {x = 7, y = -298}, [35] = {x = 12, y = -325},
  445. [36] = {x = 16, y = -352}, [37] = {x = 20, y = -381}, [38] = {x = 25, y = -409}, [39] = {x = 30, y = -438}, [40] = {x = 35, y = -468},
  446. [41] = {x = -84, y = -1}, [42] = {x = -80, y = -21}, [43] = {x = -77, y = -41}, [44] = {x = -74, y = -63}, [45] = {x = -70, y = -85},
  447. [46] = {x = -67, y = -106}, [47] = {x = -65, y = -129}, [48] = {x = -61, y = -151}, [49] = {x = -58, y = -174}, [50] = {x = -54, y = -197},
  448. [51] = {x = -50, y = -221}, [52] = {x = -46, y = -247}, [53] = {x = -43, y = -273}, [54] = {x = -40, y = -298}, [55] = {x = -36, y = -325},
  449. [56] = {x = -32, y = -352}, [57] = {x = -29, y = -381}, [58] = {x = -25, y = -409}, [59] = {x = -20, y = -438}, [60] = {x = -15, y = -468},
  450. },
  451. [2] = {
  452. [1] = {x = 0, y = 0}, [2] = {x = 30, y = 0}, [3] = {x = 59, y = 0}, [4] = {x = 89, y = 0}, [5] = {x = 119, y = 0},
  453. [6] = {x = 148, y = 0}, [7] = {x = 178, y = 0}, [8] = {x = 207, y = 0}, [9] = {x = 237, y = 0}, [10] = {x = 266, y = 0},
  454. [11] = {x = 296, y = 0}, [12] = {x = 326, y = 0}, [13] = {x = 355, y = 0}, [14] = {x = 385, y = 0}, [15] = {x = 415, y = 0},
  455. [16] = {x = 445, y = 0}, [17] = {x = 476, y = 0}, [18] = {x = 506, y = 0}, [19] = {x = 537, y = 0}, [20] = {x = 567, y = 0},
  456. [21] = {x = -4, y = -28}, [22] = {x = 26, y = -28}, [23] = {x = 56, y = -28}, [24] = {x = 86, y = -28}, [25] = {x = 116, y = -28},
  457. [26] = {x = 147, y = -28}, [27] = {x = 176, y = -28}, [28] = {x = 206, y = -28}, [29] = {x = 236, y = -28}, [30] = {x = 266, y = -28},
  458. [31] = {x = 296, y = -28}, [32] = {x = 326, y = -28}, [33] = {x = 357, y = -29}, [34] = {x = 387, y = -29}, [35] = {x = 417, y = -29},
  459. [36] = {x = 447, y = -29}, [37] = {x = 479, y = -29}, [38] = {x = 510, y = -29}, [39] = {x = 540, y = -29}, [40] = {x = 571, y = -29},
  460. [41] = {x = -8, y = -56}, [42] = {x = 22, y = -56}, [43] = {x = 52, y = -56}, [44] = {x = 83, y = -56}, [45] = {x = 114, y = -56},
  461. [46] = {x = 145, y = -56}, [47] = {x = 174, y = -56}, [48] = {x = 205, y = -56}, [49] = {x = 235, y = -56}, [50] = {x = 266, y = -56},
  462. [51] = {x = 296, y = -56}, [52] = {x = 327, y = -56}, [53] = {x = 358, y = -57}, [54] = {x = 389, y = -57}, [55] = {x = 420, y = -57},
  463. [56] = {x = 450, y = -57}, [57] = {x = 482, y = -57}, [58] = {x = 513, y = -57}, [59] = {x = 544, y = -57}, [60] = {x = 575, y = -57},
  464. },
  465. [3] = {
  466. [1] = {x = 0, y = 0}, [2] = {x = 6, y = 30}, [3] = {x = 11, y = 60}, [4] = {x = 16, y = 89}, [5] = {x = 21, y = 116},
  467. [6] = {x = 26, y = 144}, [7] = {x = 31, y = 170}, [8] = {x = 36, y = 196}, [9] = {x = 40, y = 221}, [10] = {x = 45, y = 246},
  468. [11] = {x = 50, y = 270}, [12] = {x = 54, y = 294}, [13] = {x = 58, y = 319}, [14] = {x = 63, y = 342}, [15] = {x = 66, y = 365},
  469. [16] = {x = 70, y = 387}, [17] = {x = 75, y = 410}, [18] = {x = 78, y = 432}, [19] = {x = 82, y = 453}, [20] = {x = 86, y = 473},
  470. [21] = {x = 52, y = -1}, [22] = {x = 57, y = 29}, [23] = {x = 62, y = 59}, [24] = {x = 66, y = 88}, [25] = {x = 71, y = 116},
  471. [26] = {x = 75, y = 144}, [27] = {x = 79, y = 170}, [28] = {x = 83, y = 196}, [29] = {x = 88, y = 221}, [30] = {x = 91, y = 246},
  472. [31] = {x = 96, y = 270}, [32] = {x = 100, y = 294}, [33] = {x = 103, y = 319}, [34] = {x = 107, y = 342}, [35] = {x = 111, y = 365},
  473. [36] = {x = 114, y = 387}, [37] = {x = 118, y = 410}, [38] = {x = 122, y = 432}, [39] = {x = 125, y = 453}, [40] = {x = 128, y = 473},
  474. [41] = {x = 103, y = -1}, [42] = {x = 107, y = 29}, [43] = {x = 112, y = 59}, [44] = {x = 116, y = 88}, [45] = {x = 121, y = 116},
  475. [46] = {x = 124, y = 144}, [47] = {x = 127, y = 170}, [48] = {x = 131, y = 196}, [49] = {x = 135, y = 221}, [50] = {x = 137, y = 246},
  476. [51] = {x = 142, y = 270}, [52] = {x = 146, y = 294}, [53] = {x = 148, y = 319}, [54] = {x = 152, y = 342}, [55] = {x = 155, y = 365},
  477. [56] = {x = 158, y = 387}, [57] = {x = 162, y = 410}, [58] = {x = 166, y = 432}, [59] = {x = 168, y = 453}, [60] = {x = 171, y = 473},
  478. },
  479. [4] = {
  480. [1] = {x = 0, y = 0}, [2] = {x = -36, y = 0}, [3] = {x = -72, y = 0}, [4] = {x = -108, y = 0}, [5] = {x = -144, y = 0},
  481. [6] = {x = -180, y = 0}, [7] = {x = -216, y = 0}, [8] = {x = -252, y = 0}, [9] = {x = -288, y = 1}, [10] = {x = -324, y = 1},
  482. [11] = {x = -360, y = 1}, [12] = {x = -396, y = 1}, [13] = {x = -432, y = 1}, [14] = {x = -468, y = 1}, [15] = {x = -504, y = 1},
  483. [16] = {x = -540, y = 1}, [17] = {x = -576, y = 1}, [18] = {x = -612, y = 1}, [19] = {x = -648, y = 1}, [20] = {x = -684, y = 1},
  484. [21] = {x = -5, y = 41}, [22] = {x = -41, y = 41}, [23] = {x = -76, y = 41}, [24] = {x = -112, y = 41}, [25] = {x = -147, y = 41},
  485. [26] = {x = -183, y = 41}, [27] = {x = -219, y = 41}, [28] = {x = -254, y = 42}, [29] = {x = -289, y = 42}, [30] = {x = -325, y = 42},
  486. [31] = {x = -360, y = 42}, [32] = {x = -395, y = 42}, [33] = {x = -430, y = 42}, [34] = {x = -467, y = 42}, [35] = {x = -501, y = 42},
  487. [36] = {x = -537, y = 42}, [37] = {x = -572, y = 42}, [38] = {x = -607, y = 42}, [39] = {x = -642, y = 42}, [40] = {x = -678, y = 42},
  488. [41] = {x = -11, y = 81}, [42] = {x = -47, y = 81}, [43] = {x = -81, y = 81}, [44] = {x = -115, y = 81}, [45] = {x = -150, y = 81},
  489. [46] = {x = -186, y = 81}, [47] = {x = -222, y = 81}, [48] = {x = -256, y = 82}, [49] = {x = -290, y = 82}, [50] = {x = -325, y = 82},
  490. [51] = {x = -359, y = 82}, [52] = {x = -393, y = 82}, [53] = {x = -428, y = 82}, [54] = {x = -465, y = 82}, [55] = {x = -499, y = 82},
  491. [56] = {x = -533, y = 82}, [57] = {x = -568, y = 82}, [58] = {x = -603, y = 82}, [59] = {x = -637, y = 82}, [60] = {x = -672, y = 82},
  492. },
  493. }
  494. -- 出牌区牌面缩放比例
  495. config.OutCardRowFaceScaleConfig = {
  496. [2] = {0.72, 0.70, 0.68},
  497. [4] = {0.86, 0.88, 0.90},
  498. }
  499. config.OutCardColFaceScaleConfig = {
  500. [1] = {0.99, 0.98, 0.97, 0.96, 0.95, 0.94, 0.93, 0.92, 0.91, 0.90, 0.89, 0.88},
  501. [3] = {0.88, 0.89, 0.90, 0.91, 0.92, 0.93, 0.94, 0.95, 0.96, 0.97, 0.98, 0.99},
  502. }
  503. -- 出牌区牌面缩放比例
  504. config.OutCardRowFaceScaleConfig2 = {
  505. [2] = {0.72, 0.70, 0.68},
  506. [4] = {0.86, 0.88, 0.90},
  507. }
  508. config.OutCardColFaceScaleConfig2 = {
  509. }
  510. -- 出牌区牌面偏移量配置
  511. config.OutCardFaceOffsetConfig = {
  512. [1] = {
  513. {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8},
  514. {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8},
  515. },
  516. [2] = {
  517. {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8},
  518. {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8},
  519. },
  520. [3] = {
  521. {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8},
  522. {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8},
  523. },
  524. [4] = {
  525. {x = -1, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7},
  526. {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7},
  527. },
  528. }
  529. -- 出牌区牌面偏移量配置
  530. config.OutCardFaceOffsetConfig2 = {
  531. [2] = {
  532. {x = 1, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8},
  533. {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8},
  534. {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8},
  535. {x = 0, y = 8},
  536. },
  537. [4] = {
  538. {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = -1, y = 8}, {x = 0, y = 8}, {x = 0, y = 8},
  539. {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8},
  540. {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8},
  541. {x = 2, y = 8},
  542. },
  543. }
  544. -- 出牌区牌面旋转配置
  545. config.OutCardRotationConfig = {
  546. [1] = {
  547. {x = 32, y = -10, z = 96}, {x = 32, y = -10, z = 96}, {x = 34, y = -8, z = 96},
  548. {x = 36, y = -8, z = 96}, {x = 38, y = -6, z = 96}, {x = 40, y = -6, z = 96},
  549. {x = 42, y = -6, z = 96}, {x = 44, y = -6, z = 96}, {x = 46, y = -4, z = 96},
  550. {x = 48, y = -4, z = 96}, {x = 50, y = -4, z = 96},
  551. },
  552. [2] = {
  553. {x = 30, y = -8, z = 5}, {x = 30, y = -8, z = 5}, {x = 30, y = -8, z = 4},
  554. {x = 30, y = -8, z = 4}, {x = 30, y = -4, z = 3}, {x = 30, y = 0, z = 0},
  555. {x = -30, y = -6, z = -2}, {x = -30, y = -6, z = -3}, {x = -30, y = -6, z = -3},
  556. {x = -30, y = -6, z = -3}, {x = -30, y = -6, z = -3},
  557. },
  558. [3] = {
  559. {x = 50, y = 4, z = -96}, {x = 48, y = 4, z = -96}, {x = 46, y = 4, z = -96},
  560. {x = 44, y = 6, z = -96}, {x = 42, y = 6, z = -96}, {x = 40, y = 6, z = -96},
  561. {x = 38, y = 6, z = -96}, {x = 36, y = 8, z = -96}, {x = 34, y = 8, z = -96},
  562. {x = 32, y = 10, z = -96}, {x = 32, y = 10, z = -96},
  563. },
  564. [4] = {
  565. {x = 14, y = 12, z = -4}, {x = 14, y = 12, z = -4}, {x = 14, y = 12, z = -4.0},
  566. {x = 10, y = 12, z = -2.5}, {x = 10, y = 12, z = -1.5}, {x = 0, y = 12, z = 0},
  567. {x = -8, y = 12, z = 2.0}, {x = -8, y = 12, z = 2.5}, {x = -8, y = 12, z = 3.0},
  568. {x = -8, y = 12, z = 3.0}, {x = -8, y = 12, z = 4},
  569. },
  570. }
  571. -- 出牌区牌面旋转配置
  572. config.OutCardRotationConfig2 = {
  573. [2] = {
  574. {x = 30, y = -12, z = 7}, {x = 30, y = -10, z = 6}, {x = 30, y = -8, z = 6},
  575. {x = 30, y = -4, z = 4}, {x = 30, y = -2, z = 3}, {x = 30, y = -2, z = 3},
  576. {x = 30, y = -2, z = 2}, {x = 30, y = 2, z = 0}, {x = 30, y = 2, z = 0},
  577. {x = -30, y = -6, z = -2}, {x = -30, y = -6, z = -3}, {x = -30, y = -8, z = -3},
  578. {x = -30, y = -8, z = -5}, {x = -30, y = -12, z = -5}, {x = -30, y = -12, z = -7},
  579. {x = -30, y = -12, z = -7}, {x = -30, y = -12, z = -7}, {x = -30, y = -12, z = -7},
  580. {x = -30, y = -12, z = -7},
  581. },
  582. [4] = {
  583. {x = 14, y = 20, z = -8}, {x = 14, y = 20, z = -8}, {x = 14, y = 20, z = -8},
  584. {x = 14, y = 20, z = -7}, {x = 14, y = 20, z = -6}, {x = 14, y = 20, z = -5},
  585. {x = 14, y = 18, z = -4}, {x = 14, y = 18, z = -4}, {x = 14, y = 8, z = -2},
  586. {x = 14, y = 6, z = -1}, {x = 14, y = -6, z = 2}, {x = 14, y = -8, z = 2},
  587. {x = 14, y = -8, z = 2}, {x = 14, y = -8, z = 2}, {x = 14, y = -8, z = 4},
  588. {x = 14, y = -8, z = 5}, {x = 14, y = -12, z = 6}, {x = 14, y = -16, z = 7},
  589. {x = 18, y = -18, z = 8},
  590. },
  591. }
  592. -- 胡牌区牌面缩放比例,序号:1-40
  593. -- 本家:从右往左,从下往上顺序
  594. -- 右边:从上往下,从右往左顺序
  595. -- 上家:从左往右,从上往下顺序
  596. -- 左边:从下往上,从左往右顺序
  597. config.HuCardColFaceScaleConfig = {
  598. [1] = {
  599. 0.710, 0.720, 0.730, 0.740, 0.750, 0.760, 0.770, 0.780, 0.790, 0.800,
  600. 0.810, 0.820, 0.830, 0.840, 0.850, 0.860, 0.870, 0.880, 0.890, 0.900,
  601. 0.710, 0.720, 0.730, 0.740, 0.750, 0.760, 0.770, 0.780, 0.790, 0.800,
  602. 0.810, 0.820, 0.830, 0.840, 0.850, 0.860, 0.870, 0.880, 0.890, 0.900,
  603. },
  604. [2] = {
  605. 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700,
  606. 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700,
  607. 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700,
  608. 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700,
  609. },
  610. [3] = {
  611. 0.900, 0.890, 0.880, 0.870, 0.860, 0.850, 0.840, 0.830, 0.820, 0.810,
  612. 0.800, 0.790, 0.780, 0.770, 0.760, 0.750, 0.740, 0.730, 0.720, 0.710,
  613. 0.900, 0.890, 0.880, 0.870, 0.860, 0.850, 0.840, 0.830, 0.820, 0.810,
  614. 0.800, 0.790, 0.780, 0.770, 0.760, 0.750, 0.740, 0.730, 0.720, 0.710,
  615. },
  616. [4] = {
  617. 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800,
  618. 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800, 0.800,
  619. 0.750, 0.750, 0.750, 0.750, 0.750, 0.750, 0.750, 0.750, 0.750, 0.750,
  620. 0.750, 0.750, 0.750, 0.750, 0.750, 0.750, 0.750, 0.750, 0.750, 0.750,
  621. },
  622. }
  623. -- 胡牌区牌面变形设置,序号:1-40
  624. -- 本家:从右往左,从下往上顺序
  625. -- 右边:从上往下,从右往左顺序
  626. -- 上家:从左往右,从上往下顺序
  627. -- 左边:从下往上,从左往右顺序
  628. config.HuCardRotationConfig = {
  629. [1] = {
  630. {x = 58, y = -6, z = 98}, {x = 56, y = -6, z = 98}, {x = 54, y = -6, z = 98}, {x = 52, y = -6, z = 98}, {x = 50, y = -6, z = 98},
  631. {x = 48, y = -6, z = 98}, {x = 46, y = -10, z = 98}, {x = 46, y = -10, z = 98}, {x = 46, y = -10, z = 98}, {x = 46, y = -10, z = 98},
  632. {x = 38, y = -10, z = 98}, {x = 36, y = -10, z = 95}, {x = 34, y = -10, z = 95}, {x = 34, y = -10, z = 96}, {x = 34, y = -10, z = 96},
  633. {x = 34, y = -10, z = 96}, {x = 34, y = -10, z = 96}, {x = 34, y = -10, z = 96}, {x = 34, y = -10, z = 96}, {x = 34, y = -10, z = 96},
  634. {x = 58, y = -6, z = 98}, {x = 56, y = -6, z = 98}, {x = 54, y = -6, z = 98}, {x = 52, y = -6, z = 98}, {x = 50, y = -6, z = 98},
  635. {x = 48, y = -6, z = 98}, {x = 46, y = -10, z = 98}, {x = 44, y = -10, z = 98}, {x = 42, y = -10, z = 98}, {x = 40, y = -10, z = 98},
  636. {x = 38, y = -10, z = 98}, {x = 36, y = -10, z = 95}, {x = 34, y = -10, z = 95}, {x = 34, y = -10, z = 96}, {x = 34, y = -10, z = 96},
  637. {x = 34, y = -10, z = 96}, {x = 34, y = -10, z = 96}, {x = 34, y = -10, z = 96}, {x = 34, y = -10, z = 96}, {x = 34, y = -10, z = 96},
  638. },
  639. [2] = {
  640. {x = 50, y = 6, z = -4}, {x = 50, y = 6, z = -4}, {x = 50, y = 6, z = -4}, {x = 50, y = 6, z = -4}, {x = 50, y = 6, z = -4},
  641. {x = 50, y = 5, z = -3}, {x = 50, y = 5, z = -3}, {x = 50, y = 5, z = -3}, {x = 50, y = 4, z = -2}, {x = 50, y = 4, z = -1},
  642. {x = 50, y = 2, z = 0}, {x = 50, y = 2, z = 0}, {x = 50, y = -3, z = 2}, {x = 50, y = -3, z = 2}, {x = 50, y = -3, z = 2},
  643. {x = 50, y = -5, z = 4}, {x = 50, y = -6, z = 5}, {x = 50, y = -6, z = 5}, {x = 50, y = -6, z = 5}, {x = 50, y = -6, z = 5},
  644. {x = 50, y = 6, z = -4}, {x = 50, y = 6, z = -4}, {x = 50, y = 6, z = -4}, {x = 50, y = 6, z = -4}, {x = 50, y = 6, z = -4},
  645. {x = 50, y = 5, z = -3}, {x = 50, y = 5, z = -3}, {x = 50, y = 5, z = -3}, {x = 50, y = 4, z = -2}, {x = 50, y = 4, z = -1},
  646. {x = 50, y = 2, z = 0}, {x = 50, y = 2, z = 0}, {x = 50, y = -3, z = 2}, {x = 50, y = -3, z = 2}, {x = 50, y = -3, z = 2},
  647. {x = 50, y = -5, z = 4}, {x = 50, y = -6, z = 5}, {x = 50, y = -6, z = 5}, {x = 50, y = -6, z = 5}, {x = 50, y = -6, z = 5},
  648. },
  649. [3] = {
  650. {x = 34, y = 10, z = -96}, {x = 34, y = 10, z = -96}, {x = 34, y = 10, z = -96}, {x = 34, y = 10, z = -96}, {x = 34, y = 10, z = -96},
  651. {x = 34, y = 10, z = -98}, {x = 34, y = 10, z = -98}, {x = 34, y = 10, z = -96}, {x = 36, y = 10, z = -98}, {x = 38, y = 10, z = -98},
  652. {x = 40, y = 10, z = -98}, {x = 42, y = 10, z = -98}, {x = 44, y = 10, z = -98}, {x = 46, y = 10, z = -98}, {x = 48, y = 8, z = -98},
  653. {x = 50, y = 8, z = -98}, {x = 52, y = 8, z = -98}, {x = 54, y = 6, z = -98}, {x = 56, y = 6, z = -98}, {x = 58, y = 6, z = -98},
  654. {x = 34, y = 10, z = -96}, {x = 34, y = 10, z = -96}, {x = 34, y = 10, z = -96}, {x = 34, y = 10, z = -96}, {x = 34, y = 10, z = -96},
  655. {x = 34, y = 10, z = -98}, {x = 34, y = 10, z = -98}, {x = 34, y = 10, z = -96}, {x = 36, y = 10, z = -98}, {x = 38, y = 10, z = -98},
  656. {x = 40, y = 10, z = -98}, {x = 42, y = 10, z = -98}, {x = 44, y = 10, z = -98}, {x = 46, y = 10, z = -98}, {x = 48, y = 8, z = -98},
  657. {x = 50, y = 8, z = -98}, {x = 52, y = 8, z = -98}, {x = 54, y = 6, z = -98}, {x = 56, y = 6, z = -98}, {x = 58, y = 6, z = -98},
  658. },
  659. [4] = {
  660. {x = 20, y = -16, z = 6}, {x = 20, y = -16, z = 6}, {x = 20, y = -14, z = 6}, {x = 20, y = -14, z = 7}, {x = 20, y = -14, z = 7},
  661. {x = 20, y = -10, z = 6}, {x = 20, y = -10, z = 5}, {x = 20, y = -10, z = 3}, {x = 20, y = -10, z = 2}, {x = 20, y = 0, z = 0},
  662. {x = 20, y = 0, z = 0}, {x = 20, y = 0, z = -0}, {x = 20, y = 0, z = -0}, {x = 20, y = 10, z = -2}, {x = 20, y = 10, z = -2},
  663. {x = 20, y = 10, z = -3}, {x = 20, y = 10, z = -3}, {x = 20, y = 10, z = -5}, {x = 20, y = 10, z = -5}, {x = 20, y = 10, z = -6},
  664. {x = 20, y = -12, z = 8}, {x = 20, y = -12, z = 8}, {x = 20, y = -10, z = 8}, {x = 20, y = -10, z = 7}, {x = 20, y = -10, z = 7},
  665. {x = 20, y = -10, z = 6}, {x = 20, y = -10, z = 5}, {x = 20, y = -10, z = 3}, {x = 20, y = -10, z = 2}, {x = 20, y = 0, z = 0},
  666. {x = 20, y = 0, z = 0}, {x = 20, y = 0, z = -0}, {x = 20, y = 0, z = -0}, {x = 20, y = 10, z = -2}, {x = 20, y = 10, z = -2},
  667. {x = 20, y = 10, z = -3}, {x = 20, y = 10, z = -3}, {x = 20, y = 10, z = -5}, {x = 20, y = 10, z = -5}, {x = 20, y = 10, z = -6},
  668. },
  669. }
  670. -- 胡牌区牌面偏移量配置,序号:1-40
  671. -- 本家:从右往左,从下往上顺序
  672. -- 右边:从上往下,从右往左顺序
  673. -- 上家:从左往右,从上往下顺序
  674. -- 左边:从下往上,从左往右顺序
  675. config.HuCardFaceOffsetConfig = {
  676. [1] = {
  677. {x = 0, y = 6}, {x = 0, y = 8}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  678. {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  679. {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  680. {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  681. {x = 0, y = 6}, {x = 0, y = 8}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  682. {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  683. {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  684. {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  685. },
  686. [2] = {
  687. {x = -1, y = 7}, {x = -1, y = 7}, {x = 0, y = 7}, {x = -1, y = 7}, {x = -1, y = 7},
  688. {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7},
  689. {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7},
  690. {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7},
  691. {x = -1, y = 7}, {x = -1, y = 7}, {x = 0, y = 7}, {x = -1, y = 7}, {x = -1, y = 7},
  692. {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7},
  693. {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7},
  694. {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7}, {x = 0, y = 7},
  695. },
  696. [3] = {
  697. {x = -2, y = 6}, {x = -2, y = 6}, {x = -2, y = 6}, {x = -1, y = 6}, {x = -1, y = 6},
  698. {x = 0, y = 6}, {x = 0, y = 7}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  699. {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 7},
  700. {x = 0, y = 7}, {x = -1, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 7},
  701. {x = -2, y = 6}, {x = -2, y = 6}, {x = -2, y = 6}, {x = -1, y = 6}, {x = -1, y = 6},
  702. {x = 0, y = 6}, {x = 0, y = 7}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  703. {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 7},
  704. {x = 0, y = 7}, {x = -1, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 7},
  705. },
  706. [4] = {
  707. {x = 2, y = 6}, {x = 1, y = 6}, {x = 1, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  708. {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  709. {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  710. {x = -1, y = 6}, {x = -1, y = 6}, {x = -1, y = 6}, {x = -1, y = 6}, {x = -2, y = 6},
  711. {x = 2, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  712. {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  713. {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6}, {x = 0, y = 6},
  714. {x = 0, y = 6}, {x = -1, y = 6}, {x = 0, y = 6}, {x = -1, y = 6}, {x = -2, y = 6},
  715. },
  716. }
  717. config.OpCardFaceScaleConfig = {
  718. [1] = {
  719. 1.000, 0.990, 0.980, 0.970, 0.960, 0.950, 0.940, 0.930, 0.920, 0.910, 0.900, 0.890,
  720. },
  721. [2] = {
  722. 0.720, 0.720, 0.720, 0.720, 0.720, 0.720, 0.720, 0.720, 0.720, 0.720, 0.720, 0.720,
  723. },
  724. [3] = {
  725. 0.890, 0.900, 0.910, 0.920, 0.930, 0.940, 0.950, 0.960, 0.970, 0.980, 0.990, 1.000,
  726. },
  727. [4] = {
  728. 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
  729. },
  730. }
  731. config.OpCardFaceOffsetConfig = {
  732. [1] = {
  733. {x = 2, y = 8}, {x = 2, y = 8}, {x = 2, y = 8}, {x = 2, y = 8}, {x = 2, y = 8}, {x = 2, y = 8},
  734. {x = 2, y = 8}, {x = 2, y = 8}, {x = 2, y = 8}, {x = 2, y = 8}, {x = 2, y = 8}, {x = 2, y = 8},
  735. },
  736. [2] = {
  737. {x = 2, y = 9}, {x = 1, y = 9}, {x = 0, y = 9}, {x = 0, y = 9}, {x = -1, y = 9}, {x = -1, y = 9},
  738. {x = 0, y = 9}, {x = -1, y = 9}, {x = 0, y = 9}, {x = 0, y = 9}, {x = 0, y = 9}, {x = -1, y = 9},
  739. },
  740. [3] = {
  741. {x = -2, y = 8}, {x = -2, y = 8}, {x = -2, y = 8}, {x = -2, y = 8}, {x = -2, y = 8}, {x = -2, y = 8},
  742. {x = -2, y = 8}, {x = -2, y = 8}, {x = -2, y = 8}, {x = -2, y = 8}, {x = -2, y = 8}, {x = -2, y = 8},
  743. },
  744. [4] = {
  745. {x = -2, y = 8}, {x = -2, y = 8}, {x = -2, y = 8}, {x = -1, y = 8}, {x = -1, y = 8}, {x = -1, y = 8},
  746. {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8}, {x = 0, y = 8},
  747. },
  748. }
  749. config.OpCardFaceRotationConfig = {
  750. [1] = {
  751. {x = 42, y = -6, z = 97}, {x = 42, y = -6, z = 97}, {x = 42, y = -6, z = 97},
  752. {x = 42, y = -6, z = 97}, {x = 42, y = -6, z = 97}, {x = 42, y = -6, z = 97},
  753. {x = 42, y = -6, z = 97}, {x = 42, y = -6, z = 97}, {x = 44, y = -6, z = 97},
  754. {x = 46, y = -6, z = 97}, {x = 48, y = -6, z = 97}, {x = 50, y = -6, z = 97},
  755. },
  756. [2] = {
  757. {x = 40, y = -8, z = 7}, {x = 40, y = -8, z = 7}, {x = 40, y = -8, z = 6},
  758. {x = 40, y = -4, z = 4}, {x = 40, y = -4, z = 3}, {x = 40, y = -4, z = 3},
  759. {x = 40, y = -2, z = 2}, {x = 40, y = 0, z = 0}, {x = 40, y = 0, z = 0},
  760. {x = 40, y = 0, z = 0}, {x = 40, y = 0, z = -2}, {x = 40, y = 6, z = -4},
  761. },
  762. [3] = {
  763. {x = 50, y = 4, z = -96}, {x = 48, y = 4, z = -96}, {x = 46, y = 4, z = -96},
  764. {x = 44, y = 4, z = -96}, {x = 42, y = 4, z = -96}, {x = 42, y = 4, z = -96},
  765. {x = 42, y = 4, z = -96}, {x = 42, y = 4, z = -96}, {x = 42, y = 4, z = -96},
  766. {x = 42, y = 4, z = -96}, {x = 42, y = 4, z = -96}, {x = 42, y = 4, z = -96},
  767. },
  768. [4] = {
  769. {x = 20, y = 30, z = -12}, {x = 20, y = 30, z = -12}, {x = 20, y = 30, z = -12},
  770. {x = 18, y = 22, z = -7}, {x = 18, y = 22, z = -7}, {x = 18, y = 22, z = -7},
  771. {x = 16, y = 16, z = -4}, {x = 16, y = 16, z = -4}, {x = 16, y = 8, z = -2},
  772. {x = 16, y = 8, z = -2}, {x = 20, y = 0, z = 0}, {x = 20, y = 0, z = 0},
  773. },
  774. }
  775. return config