MonthActLogic.lua 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. local MonthactExcel = require("excel.monthAct")
  2. local Msg = require("core.Msg")
  3. local Grid = require("bag.Grid")
  4. local MonthDrunkery = require("monthAct.MonthDrunkery")
  5. local MonthHecJuex = require("monthAct.MonthHecJuex")
  6. local MonthHzz = require("monthAct.MonthHzz")
  7. local MonthSummon = require("monthAct.MonthSummon")
  8. MONTH_ACT_TYPE_1 = 1 -- 好战者活动 龙争虎斗 竞技高手
  9. MONTH_ACT_TYPE_2 = 2 -- 酒馆达标 悬赏大师
  10. MONTH_ACT_TYPE_3 = 3 -- 合成与觉醒 百炼成神
  11. MONTH_ACT_TYPE_6 = 6 -- 转盘高抽 猛将如虎 招贤纳士
  12. -- 检查月度活动是否到期(创角开始每30天一轮)
  13. function checkActEndTime(human)
  14. local now = os.time()
  15. if human.db.actMonthEndTime and now < human.db.actMonthEndTime then
  16. return
  17. end
  18. local initTime = human.db.actMonthEndTime or human.db.createTime
  19. local subTime = now - initTime + 1
  20. local subMonth = math.ceil(subTime/2592000) -- 86400 * 30 30天秒数
  21. local addTime = 2592000 * subMonth
  22. human.db.actMonthEndTime = initTime + addTime
  23. -- 清空任务进度等
  24. human.db.actMonthTask = nil
  25. end
  26. function getActLeftTime(human)
  27. checkActEndTime(human)
  28. return human.db.actMonthEndTime - os.time()
  29. end
  30. -- 查询指定月度活动数据
  31. function query(human, actType)
  32. checkActEndTime(human)
  33. if actType == MONTH_ACT_TYPE_1 then
  34. MonthHzz.query(human)
  35. elseif actType == MONTH_ACT_TYPE_2 then
  36. MonthDrunkery.query(human)
  37. elseif actType == MONTH_ACT_TYPE_3 then
  38. MonthHecJuex.query(human)
  39. elseif actType == MONTH_ACT_TYPE_6 then
  40. MonthSummon.query(human)
  41. end
  42. end