MonsterGrid.lua 1.7 KB

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