MonsterGrid.lua 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. local monsterConfig = require("excel.monster")
  2. local RoleAttr = require("role.RoleAttr")
  3. local RoleDefine = require("role.RoleDefine")
  4. local BattleMonsterExcel = require("excel.battlemonster")
  5. local BattleMonsterExcel2 = require("excel.battlemonster2")
  6. -- 创建一个怪物grid
  7. function createMonsterObj(monsterId, attrId, refreshData, deleteData)
  8. local monsterCfg = monsterConfig.monster[monsterId] or BattleMonsterExcel.monster[monsterId] or BattleMonsterExcel2.monster[monsterId]
  9. if not monsterCfg then
  10. --assert(nil, "not monster id "..id)
  11. return
  12. end
  13. local Obj = {}
  14. --暂时加这些,后续有需要再加
  15. Obj.id = monsterId
  16. Obj.lv = 1
  17. Obj.quality = 0
  18. Obj.power = 0
  19. Obj.star = monsterCfg.star or 0
  20. Obj.icon = monsterCfg.head or 0
  21. Obj.camp = monsterCfg.camp or 0
  22. Obj.body = monsterCfg.body or 0
  23. Obj.head = monsterCfg.head or 0
  24. for k, v in pairs(refreshData or {}) do
  25. Obj[k] = v
  26. end
  27. for key in pairs(deleteData or {}) do
  28. Obj[key] = nil
  29. end
  30. local attrs = RoleAttr.calcMonsterConf(monsterId, attrId)
  31. Obj.power = attrs[RoleDefine.ZHANDOULI]
  32. return Obj
  33. end
  34. -- 根据monsterOutID创建怪物obj List
  35. function createMonsterObjListByMonsterOutID(monsterOutID)
  36. if not monsterOutID then return end
  37. local singleCfg = monsterConfig.monsterOut[monsterOutID] or BattleMonsterExcel.monsterOut[monsterOutID] or BattleMonsterExcel2.monsterOut[monsterOutID]
  38. local member = singleCfg.member
  39. local attrIds = singleCfg.attrID
  40. local objList = {}
  41. for k, v in ipairs(member) do
  42. local monsterID = v[1]
  43. local monsterLv = v[2]
  44. local attrId = attrIds[k]
  45. local refreshData = {lv = monsterLv}
  46. local obj = createMonsterObj(monsterID, attrId, refreshData)
  47. objList[k] = obj
  48. end
  49. return objList
  50. end