ItemDefine.lua 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. local HeroExcel = require("excel.hero").hero
  2. local ItemExcel = require("excel.item").item
  3. local EquipExcel = require("excel.equip").equip
  4. local FuwenExcel = require("excel.fuwen").fuwen
  5. local LogDefine = require("common.LogDefine")
  6. local ItemColorExcel = require("excel.paoma").itemColor
  7. -- 道具品质
  8. ITEM_RARE_COLOR_1 = 1 -- 白
  9. ITEM_RARE_COLOR_2 = 2 -- 绿
  10. ITEM_RARE_COLOR_3 = 3 -- 蓝
  11. ITEM_RARE_COLOR_4 = 4 -- 紫
  12. ITEM_RARE_COLOR_5 = 5 -- 橙
  13. ITEM_RARE_COLOR_6 = 6 -- 红
  14. -- 主类型
  15. MAINTYPE_ITEM = 1 -- 道具
  16. MAINTYPE_EQUIP = 2 -- 装备
  17. MAINTYPE_FUWEN = 3 -- 符文
  18. -- 武器子类型
  19. EQUIP_SUBTYPE_WEAPON = 1 -- 武器
  20. EQUIP_SUBTYPE_CLOTH = 2 -- 衣服
  21. EQUIP_SUBTYPE_SHIPIN = 3 -- 饰品
  22. EQUIP_SUBTYPE_SHOES = 4 -- 鞋子
  23. EQUIP_SUBTYPE_RING = 5 -- 戒指
  24. EQUIP_SUBTYPE_AMULET = 6 -- 护符
  25. EQUIP_SUBTYPE_SHUIJIN = -1 -- 水晶(弃用)
  26. EQUIP_SUBTYPE_SHENQI = -2 -- 神器(弃用)
  27. EQUIP_MAX_CNT = 6 -- 装备最大部位数量
  28. -- 道具子类型
  29. ITEM_SUBTYPE_SPOBJ = 0 -- 自动使用
  30. ITEM_SUBTYPE_COMMON = 1 -- 普通道具
  31. ITEM_SUBTYPE_SUIPIAN = 2 -- 普通碎片
  32. ITEM_SUBTYPE_SUIPIAN_SKIN = 3 -- 皮肤碎片
  33. ITEM_SUBTYPE_TALISMAM = 4 -- 秘宝
  34. ITEM_SUBTYPE_SUIPIAN_TALISMAM = 5 -- 秘宝碎片
  35. ITEM_SUBTYPE_RELIC=6 -- 遗物
  36. ITEM_SUBTYPE_SUIPIAN_RELIC =7 -- 遗物碎片
  37. ITEM_SUBTYPE_ELF = 8 -- 精灵
  38. ITEM_SUBTYPE_SUIPIAN_ELF = 9 -- 精灵碎片
  39. -- 道具可操作类型
  40. ITEM_OP_USE = 1 -- 使用
  41. ITEM_OP_YULAN = 2 -- 预览
  42. ITEM_OP_DETAIL = 3 -- 详情
  43. ITEM_OP_USE_BATCH = 4 -- 批量使用
  44. ITEM_OP_SOURCE = 5 -- 来源
  45. ITEM_OP_SELL = 6 -- 出售
  46. ITEM_OP_USE_BOX = 7 -- 箱子的使用
  47. ITEM_OP_HECHENG = 8 -- 合成
  48. ITEM_OP_EQUIP = 9 -- 能否穿戴
  49. ITEM_OP_CZHU = 10 -- 能否重铸
  50. ITEM_OP_FJIE = 11 -- 能否分解
  51. ITEM_OP_DUIHUAN = 12 -- 能否兑换
  52. PAGE_LIST_COUNT = 30 --游戏背包每次发送的数量
  53. BAG_ITEM_MAX_CNT = 2100000000 -- 背包道具叠加上限
  54. BAG_ITEM_MAX_JINBI = 999999999999 -- 携带金币上限
  55. ITEM_JINBI_ID = 101 -- 金币
  56. ITEM_ZUANSHI_ID = 102 -- 钻石
  57. ITEM_EXP_ID = 103 -- 经验
  58. ITEM_VIP_EXP_ID = 104 -- VIP经验
  59. ITEM_SOUL_SUIPIAN_ID = 105 -- 灵魂碎片
  60. ITEM_DRILL_COIN_ID = 107 -- 勇者印记
  61. ITEM_LUCK_ID = 108 -- 幸运币 (许愿池商店货币)
  62. ITEM_UNION_COIN_ID = 109 -- 公会币
  63. ITEM_GREEN_EXP_ID = 111 -- 英魂 英雄升级道具
  64. ITEM_HERO_UPGRADE_ID = 112 -- 进阶果 英雄进阶道具
  65. ITEM_QINGBAO_ID = 113 -- 情报
  66. ITEM_JJC_TICKET_ID = 115 -- 竞技场挑战卷
  67. ITME_HUOYUE_ID = 116 -- 日常任务活跃度
  68. ITEM_HERO_UPGRADE_BOOK = 114 -- 进阶书
  69. ITEM_DRAWCARD_GAOCHOU_ID = 118 -- 高级召唤卷抽
  70. ITEM_FRIEND_ID = 119 -- 友情值
  71. ITEM_BASE_QIYUANZHU_ID = 120 -- 祈愿珠,基础许愿池
  72. ITEM_BASE_QIYUANBAOZHU_ID = 121 -- 祈愿宝珠,高级许愿池
  73. ITEM_BASE_JUANZHOU_ID = 122 -- 悬赏任务 刷新卷
  74. ITEM_XIANZHI_BAOZHU_ID = 124 -- 先知宝珠[召唤用]
  75. ITEM_XIANZHI_ZHUFU_ID = 125 -- 先知祝福[置换用]
  76. ITEM_XIANZHI_DUIHUAN_ID = 126 -- 先知转轴[英雄兑换用]
  77. ITEM_HERO_CHONGSHENG_ID = 132 -- 重生果实
  78. ITEM_HERO_HUITUI_ID = 133 -- 英雄回退用的道具
  79. ITEM_FUWEN_JINGHUA = 134 -- 符文精华
  80. ITEM_WEEKTASK_ID = 181 -- 周任务积分
  81. ITEM_HONOR_ID = 182 -- 荣耀积分
  82. ITEM_MANGHE_ID = 535 -- 盲盒钥匙
  83. ITEM_DRAWCARD_JINGYING_ID = 538 -- 精英召唤卷轴
  84. ITEM_XINGYAOGONGMING_ID = 168 -- 星耀共鸣
  85. ITEM_LONGHUNSHI_ID = 127 -- 龙魂石
  86. ITEM_MOLONGJING_ID = 128 -- 魔龙晶
  87. ITEM_MOSHENJINGLIANSHI_ID = 129 -- 魔神精炼石
  88. ITEM_MOSHENHUNJING_ID = 130 -- 魔神魂晶
  89. ITEM_SHENGYINGMOSHI_ID = 131 -- 圣印魔石
  90. ITEM_LONGXUE_ID = 170 -- 龙之血
  91. -- 判断是否为道具
  92. function isItem(id)
  93. local itemConfig = ItemExcel[id]
  94. if not itemConfig then return end
  95. return id and ItemExcel[id]
  96. end
  97. -- 判断是否为装备
  98. function isEquip(id)
  99. local equipConfig = EquipExcel[id]
  100. if not equipConfig then return end
  101. return id and EquipExcel[id]
  102. end
  103. -- 判断是否为符文
  104. function isFuwen(id)
  105. local itemConfig = FuwenExcel[id]
  106. if not itemConfig then return end
  107. return id and FuwenExcel[id]
  108. end
  109. -- 获得配置
  110. function getConfig(id)
  111. if not id then return end
  112. return ItemExcel[id] or EquipExcel[id] or FuwenExcel[id]
  113. end
  114. -- 获取道具参数
  115. function getValue(id, key)
  116. local config = getConfig(id)
  117. if not config then return end
  118. return config[key]
  119. end
  120. -- 获取色值
  121. function getItemColor(id)
  122. local config = getConfig(id)
  123. local str = "#028d19"
  124. if not config then
  125. return str
  126. end
  127. local colorConfig = ItemColorExcel[config.rare]
  128. if not colorConfig then
  129. return str
  130. end
  131. return colorConfig.color
  132. end
  133. -- 检测是否需要飘窗
  134. function checkIsWave(log)
  135. if not log then
  136. return false
  137. end
  138. if WAVE_DEFINE[log] and WAVE_DEFINE[log] == true then
  139. return true
  140. end
  141. return false
  142. end
  143. -- 根据道具名获取道具id
  144. local tempItemList = {ItemExcel, EquipExcel, FuwenExcel}
  145. function getIdByName(name)
  146. if type(name) ~= "string" then
  147. return
  148. end
  149. if #name < 1 then return end
  150. for _, itemsConfig in ipairs(tempItemList) do
  151. for id, cf in pairs(itemsConfig) do
  152. if cf.name == name then
  153. return id
  154. end
  155. end
  156. end
  157. for _, itemsConfig in ipairs(tempItemList) do
  158. for id, cf in pairs(itemsConfig) do
  159. if string.find(cf.name, name, 1, true) then
  160. return id
  161. end
  162. end
  163. end
  164. end
  165. -- 道具获得时浮动提示
  166. WAVE_DEFINE = {
  167. [LogDefine.DEFINE.gm] = true ,
  168. [LogDefine.DEFINE.jjc_worship] = true,
  169. [LogDefine.DEFINE.war_report] = true,
  170. [LogDefine.DEFINE.yj_treasure_kaowen] = true,
  171. }