ItemDefine.lua 6.0 KB

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