CombatDefine.lua 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. COMBAT_FRAME_MAXCNT = 40
  2. COMBAT_ATK_TIME = 5 -- 每次攻击消耗时间
  3. -- 选方(敌方还是己方) 对应targetmode2
  4. ALL = 0
  5. FRIENDS = 1
  6. ENEMY = 2
  7. -- 对战左右双方
  8. ATTACK_SIDE = 1 -- 左方
  9. DEFEND_SIDE = 2 -- 右方
  10. --攻守站位
  11. SIDE2POS = {[0] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},[1] = {1,2,3,4,5,6,7,8,9,10},[2] = {11,12,13,14,15,16,17,18,19,20}}
  12. SIDE2HELPPOS = {[0] = {21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40},[1] = {21,22,23,24,25,26,27,28,29,30},[2] = {31,32,33,34,35,36,37,38,39,40}}
  13. -- 精灵站位
  14. SIDE2ELFPOS = {[0] = {41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60}, [1] = {41,42,43,44,45,46,47,48,49,50}, [2] = {51,52,53,54,55,56,57,58,59,60}}
  15. --前,中,后排目标选择策略 begin
  16. ROW2POS = {
  17. [1] ={
  18. [1] = {1,2,3},
  19. [2] = {4,5,6},
  20. [3] = {7,8,9},
  21. },
  22. [2] = {
  23. [1] = {11,12,13},
  24. [2] = {14,15,16},
  25. [3] = {17,18,19},
  26. }
  27. }
  28. COLUMN2POS = {
  29. [1] ={
  30. [1] = {1,4,7},
  31. [2] = {2,5,8},
  32. [3] = {3,6,9},
  33. },
  34. [2] ={
  35. [1] = {11,14,17},
  36. [2] = {12,15,18},
  37. [3] = {13,16,19},
  38. },
  39. }
  40. --前,中,后排目标选择策略 end
  41. --默认目标选择策略 begin
  42. DEFAULT_TARGET_POS = {
  43. [13] = {3,6,9,2,1,5,4,8,7},
  44. [16] = {3,6,9,2,1,5,4,8,7},
  45. [19] = {3,6,9,2,1,5,4,8,7},
  46. [12] = {2,5,8,1,3,4,6,7,9},
  47. [15] = {2,5,8,1,3,4,6,7,9},
  48. [18] = {2,5,8,1,3,4,6,7,9},
  49. [11] = {1,4,7,2,3,5,6,8,9},
  50. [14] = {1,4,7,2,3,5,6,8,9},
  51. [17] = {1,4,7,2,3,5,6,8,9},
  52. [3] = {13,16,19,12,11,15,14,18,17},
  53. [6] = {13,16,19,12,11,15,14,18,17},
  54. [9] = {13,16,19,12,11,15,14,18,17},
  55. [2] = {12,15,18,11,13,14,16,17,19},
  56. [5] = {12,15,18,11,13,14,16,17,19},
  57. [8] = {12,15,18,11,13,14,16,17,19},
  58. [1] = {11,14,17,12,13,15,16,18,19},
  59. [4] = {11,14,17,12,13,15,16,18,19},
  60. [7] = {11,14,17,12,13,15,16,18,19},
  61. }
  62. -- 选择目标范围test
  63. DEFAULT_TARGET_POS3 = {
  64. [ATTACK_SIDE] = {3,6,9,2,1,5,4,8,7},
  65. [DEFEND_SIDE] = {13,16,19,12,11,15,14,18,17},
  66. [0] = {3,6,9,2,1,5,4,8,7,9,13,16,19,12,11,15,14,18,17,19}
  67. }
  68. DEFAULT_TARGET_POS2 = {
  69. [13] = {3,2,1,6,5,4,9,8,7},
  70. [16] = {3,2,1,6,5,4,9,8,7},
  71. [19] = {3,2,1,6,5,4,9,8,7},
  72. [12] = {2,1,3,5,4,6,8,7,9},
  73. [15] = {2,1,3,5,4,6,8,7,9},
  74. [18] = {2,1,3,5,4,6,8,7,9},
  75. [11] = {1,2,3,4,5,6,7,8,9},
  76. [14] = {1,2,3,4,5,6,7,8,9},
  77. [17] = {1,2,3,4,5,6,7,8,9},
  78. [3] = {13,12,11,16,15,14,19,18,17},
  79. [6] = {13,12,11,16,15,14,19,18,17},
  80. [9] = {13,12,11,16,15,14,19,18,17},
  81. [2] = {12,11,13,15,14,16,18,17,19},
  82. [5] = {12,11,13,15,14,16,18,17,19},
  83. [8] = {12,11,13,15,14,16,18,17,19},
  84. [1] = {11,12,13,14,15,16,17,18,19},
  85. [4] = {11,12,13,14,15,16,17,18,19},
  86. [7] = {11,12,13,14,15,16,17,18,19},
  87. }
  88. --默认目标选择策略 end
  89. BACKUP_POS = {10,20}
  90. BACKUP_BUFF_REATE = {[5]=100,[6]=200,[7]=300,[8]=400,[9]=500,[10]=600,[11]=700,[12]=800,[13]=900,}
  91. -- 上阵技能
  92. BACKUP_BUFF_SKILL = {4000, 1, 0, 0}
  93. --默认大小和位移
  94. DEFAULT_POS_OFFSET = 300
  95. DEFAULT_POS_SIZE = {
  96. {220, 665 + DEFAULT_POS_OFFSET, 9600}, {220, 555 + DEFAULT_POS_OFFSET, 9100},
  97. {140, 790 + DEFAULT_POS_OFFSET, 10000}, {80, 665 + DEFAULT_POS_OFFSET, 9600},
  98. {60, 555 + DEFAULT_POS_OFFSET, 9100}, {110, 450 + DEFAULT_POS_OFFSET, 9000},
  99. {420, 665 + DEFAULT_POS_OFFSET, 9600}, {420, 555 + DEFAULT_POS_OFFSET, 9100},
  100. {500, 790 + DEFAULT_POS_OFFSET, 10000}, {560, 665 + DEFAULT_POS_OFFSET, 9600},
  101. {580, 555 + DEFAULT_POS_OFFSET, 9100}, {530, 450 + DEFAULT_POS_OFFSET, 9000},
  102. {210, 370 + DEFAULT_POS_OFFSET, 10000}, {430, 370 + DEFAULT_POS_OFFSET, 10000},
  103. {500, 790 + DEFAULT_POS_OFFSET, 10000}, {560, 665 + DEFAULT_POS_OFFSET, 9600},
  104. {580, 555 + DEFAULT_POS_OFFSET, 9100}, {530, 450 + DEFAULT_POS_OFFSET, 9000},
  105. {210, 370 + DEFAULT_POS_OFFSET, 10000}, {430, 370 + DEFAULT_POS_OFFSET, 10000},
  106. }
  107. COMBAT_ROUND_MAX = 15 -- 最大回合数
  108. COMBAT_HERO_CNT = 10 -- 单边出战英雄最大个数
  109. COMBAT_HERO_ALL_CNT = 20 -- 两边出战英雄最大个数
  110. COMBAT_HERO_ARRAY = 3 -- 最大支持3组英雄
  111. COMBAT_BACKUP_POS = 10 --援军站位
  112. COMBAT_HELP_CNT = 10 -- 单边出战辅助对象最大个数
  113. COMBAT_HELP_ALL_CNT = 20 -- 两边出战辅助对象最大个数
  114. COMBAT_ELF_NOW_CNT = 4 -- 单边出战精灵对象当前最大数量
  115. COMBAT_ELF_CNT = 10 -- 单边出战精灵对象最大数量
  116. COMBAT_ELF_ALL_CNT = 20 -- 两边出战精灵对象最大数量
  117. -- 战斗结果:0-平局 1-攻方胜利 2-守方胜利
  118. RESULT_TIE = 0
  119. RESULT_WIN = 1
  120. RESULT_FAIL = 2
  121. --技能类型
  122. SKILL_TYPE1 = 1 --普通攻击
  123. SKILL_TYPE2 = 2 --技能攻击
  124. SKILL_TYPE3 = 3 --反击攻击
  125. SKILL_TYPE4 = 4 --魔兽攻击
  126. SKILL_TYPE5 = 5 --技能包攻击(按顺序生效技能包中其中一个)
  127. SKILL_TYPE6 = 6 --技能包攻击(技能包全部生效)
  128. SKILL_TYPE7 = 7 --技能包攻击(随机生效技能包中其中一个)
  129. SKILL_TYPE77 = 77 -- 精灵技能类型
  130. --buffer时效类型
  131. BUFFER_TYPE1 = 1 -- 即时buffer
  132. BUFFER_TYPE2 = 2 -- 普通buffer
  133. BUFFER_TYPE3 = 3 -- 永久buffer
  134. BUFFER_TYPE4 = 4 -- buffer包
  135. --buffer效果类型
  136. BUFFER_CMD_TYPE1 = 1 -- 增益buffer
  137. BUFFER_CMD_TYPE2 = 2 -- 减益buffer
  138. BUFFER_OP_ADD = 1 -- 添加
  139. BUFFER_OP_HOLD = 2 -- 持续
  140. BUFFER_OP_DEL = 3 -- 删除
  141. --战斗静态属性值
  142. --状态标记
  143. FLAG_BAOJI = 1 --暴击
  144. FLAG_GEDANG = 2 --格挡
  145. FLAG_SHANBI = 3 --闪避
  146. --战斗类型
  147. COMBAT_TYPE1 = 1 --征战/战役
  148. COMBAT_TYPE2 = 2 --皇冠联赛/冠军联赛(进攻)
  149. COMBAT_TYPE3 = 3 --皇冠联赛/冠军联赛(防守)
  150. COMBAT_TYPE4 = 4 --众神之战/王者争霸
  151. COMBAT_TYPE5 = 5 --星空争霸/战神殿
  152. COMBAT_TYPE6 = 6 --通天塔/恶魔之塔
  153. COMBAT_TYPE7 = 7 --日常副本/黄金圣树
  154. COMBAT_TYPE8 = 8 --无尽之路/绝望深渊
  155. COMBAT_TYPE9 = 9 --圣树试炼/勇者试炼
  156. COMBAT_TYPE10 = 10 --遗迹探宝/遗迹探险
  157. COMBAT_TYPE11 = 11 --公会BOSS
  158. COMBAT_TYPE12 = 12 --公会战(进攻)
  159. COMBAT_TYPE13 = 13 --公会战(防守)
  160. COMBAT_TYPE14 = 14 --好友切磋
  161. COMBAT_TYPE15 = 15 --天梯(进攻)
  162. COMBAT_TYPE16 = 16 --天梯(防守)
  163. COMBAT_TYPE17 = 17 --荣耀峡谷/龙族战场
  164. COMBAT_TYPE18 = 18 --剧情动画(cs专用)
  165. COMBAT_TYPE19 = 19 --心愿试炼(gz专用)
  166. COMBAT_TYPE20 = 20 --冰龙巢穴
  167. COMBAT_TYPE21 = 21 --英雄展示
  168. COMBAT_TYPE22 = 22 --英雄展示
  169. COMABT_TYPE23 = 23 --次元魔蛛
  170. COMBAT_TYPE24 = 24 --失落神庙
  171. COMBAT_TYPE25 = 25 --种族试炼-妖族
  172. COMBAT_TYPE26 = 26 --种族试炼-人族
  173. COMBAT_TYPE27 = 27 --种族试炼-兽族
  174. COMBAT_TYPE28 = 28 --种族试炼-仙魔族
  175. COMBAT_TYPE29 = 29 --新天梯赛
  176. COMBAT_TYPE30 = 30 --主线闯关二队
  177. COMBAT_TYPE31 = 31 --幽暗禁地
  178. COMBAT_TYPE32 = 32 --诸神圣域
  179. COMBAT_TYPE33 = 33 -- 战区争霸
  180. COMBAT_TYPE34 = 34 --节日活动BOSS
  181. COMBAT_TYPE35 = 35 --异界之战进攻
  182. COMBAT_TYPE36 = 36 --异界之战防守
  183. COMBAT_TYPE37 = 37 -- 巅峰战场
  184. -- 如果新加阵容的 teamType 和 COMBAT_TYPE1的 teamType 一样, 则需要在下方增加
  185. -- 一个英雄不能同时上阵的阵容列表, 即一个英雄在key代表阵容上阵后,就不能同时在value列表中的战斗阵容里上阵
  186. COMBAT_EXCLUSION_LIST = {
  187. [COMBAT_TYPE1] = {COMBAT_TYPE30},
  188. [COMBAT_TYPE30] = {COMBAT_TYPE1, COMBAT_TYPE2, COMBAT_TYPE5, COMBAT_TYPE7, COMBAT_TYPE12, COMBAT_TYPE15},
  189. [COMBAT_TYPE2] = {COMBAT_TYPE30},
  190. [COMBAT_TYPE5] = {COMBAT_TYPE30},
  191. [COMBAT_TYPE7] = {COMBAT_TYPE30},
  192. [COMBAT_TYPE12] = {COMBAT_TYPE30},
  193. [COMBAT_TYPE15] = {COMBAT_TYPE30},
  194. }
  195. COMBAT_TYPE_MAX = 35 --阵容最大数
  196. --对象类型
  197. COMBAT_OBJ_TYPE1 = 1 --玩家
  198. COMBAT_OBJ_TYPE2 = 2 --怪物
  199. COMBAT_OBJ_TYPE3 = 3 --BOSS
  200. COMBAT_OBJ_TYPE99 = 99 --精灵
  201. --职业枚举
  202. JOB_TYPE1 = 1 --虎卫
  203. JOB_TYPE2 = 2 --猛将
  204. JOB_TYPE3 = 3 --谋士
  205. JOB_TYPE4 = 4 --方士
  206. JOB_TYPE5 = 5 --傀儡
  207. VEDIO_TYPE_NOMAL = 0
  208. VEDIO_TYPE_JJC = 1
  209. --魔兽
  210. PET_CD = 3
  211. --伤害类型
  212. PHY_HURT_TYPE = 0
  213. MAGIC_HURT_TYPE = 1
  214. --是否援军
  215. BACKUP_TYPE0 = 0--非援军
  216. BACKUP_TYPE1 = 1--未上阵的援军
  217. BACKUP_TYPE2 = 2--已经上阵的援军
  218. FIGHT_MODE0 = 0 --正常模式
  219. FIGHT_MODE1 = 1 --伤害递增模式
  220. FIGHT_MODE2 = 2 --剧情模式
  221. FIGHT_MODE3 = 3 --世界boss模式
  222. function isBackup(obj)
  223. if obj.pos == BACKUP_POS[1] or obj.pos == BACKUP_POS[2] then
  224. if obj.backupPos then
  225. return BACKUP_TYPE2
  226. else
  227. return BACKUP_TYPE1
  228. end
  229. end
  230. return BACKUP_TYPE0
  231. end
  232. --辅助对象站位
  233. HELP_TYPE0 = 0 --武将
  234. HELP_TYPE1 = 1 --魔兽
  235. HELP_TYPE2 = 2 -- 精灵
  236. function getHelpPos(side,type)
  237. return SIDE2HELPPOS[side][type]
  238. end
  239. CAMP_ALL = 6
  240. PET_ATKPOS = 21
  241. PET_DEFPOS = 31
  242. ELF_MIN_POS = 41 -- 精灵位置最小值
  243. ELF_MAX_POS = 60 -- 精灵位置最大值
  244. --阵营枚举
  245. CAMP_TYPE1 = 1 --恶魔
  246. CAMP_TYPE2 = 2 --圣堂
  247. CAMP_TYPE3 = 3 --不死
  248. CAMP_TYPE4 = 4 --神域
  249. CAMP_TYPE5 = 5 --混沌