MonsterGrid.lua 1.5 KB

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