ItemDefine.lua 5.8 KB

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