| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- -------------------------------------------------
- -- 成神之路-英雄成长(神将辅助)
- -- db.heroGrowTask[id]
- -------------------------------------------------
- local Util = require("common.Util")
- local MailExcel = require("excel.mail")
- local HeroExcel = require("excel.hero").hero
- local PresentExcel = require("excel.present")
- local OpenActExcel = require("excel.openAct")
- local Msg = require("core.Msg")
- local ObjHuman = require("core.ObjHuman")
- local Grid = require("bag.Grid")
- local MailManager = require("mail.MailManager")
- HEROGROW_OPENTIME = 7 * 86400
- --
- local function getActLeftTime(human)
- local diffTime = os.time() - human.db.createTime
- if diffTime < HEROGROW_OPENTIME then
- return HEROGROW_OPENTIME - diffTime
- end
- return 0
- end
- function isOpen(human)
- if true then
- return
- end
- -- 创角七天
- if getActLeftTime(human) > 0 then
- return true
- end
- end
- local function getCurCnt(human, id)
- if not human.db.heroGrowTask then
- return 0
- end
- return human.db.heroGrowTask[id] or 0
- end
- -- 填充活动任务数据
- function makeTaskData(net, config, id, human)
- net.id = id
- net.desc = config.desc
- net.cur = getCurCnt(human, id)
- net.max = config.taskCnt
- net.reward[0] = #config.reward
- for i = 1, net.reward[0] do
- local itemID = config.reward[i][1]
- local itemCnt = config.reward[i][2]
- Grid.makeItem(net.reward[i], itemID, itemCnt)
- end
- end
- function query(human)
- local msgRet = Msg.gc.GC_PRESENT_HERO_GROW_QUERY
- msgRet.leftTime = getActLeftTime(human)
- msgRet.list[0] = #OpenActExcel.heroGrow
- for id, config in ipairs(OpenActExcel.heroGrow) do
- makeTaskData(msgRet.list[id], config, id, human)
- end
- --Msg.trace(msgRet)
- Msg.send(msgRet, human.fd)
- end
- local function addOpenServerHeroCnt(human, id)
- local tableConfig = OpenActExcel.heroGrow[id]
- if not tableConfig then return end
- -- 已经达到完成上限
- if getCurCnt(human, id) >= tableConfig.taskCnt then
- return
- end
- human.db.heroGrowTask = human.db.heroGrowTask or {}
- human.db.heroGrowTask[id] = (human.db.heroGrowTask[id] or 0) + 1
-
- -- 存db
- ObjHuman.save(human)
- --完成一次 发放奖励一次
- local title = MailExcel.mail[71].title
- local content = Util.format(MailExcel.mail[71].content, tableConfig.special)
- local senderName = MailExcel.mail[71].senderName
- MailManager.add(MailManager.SYSTEM, human.db._id, title, content, tableConfig.reward, senderName)
- end
- -- 回调
- function addOpenServerHeroCntEx(human, star, heroID)
- if not isOpen(human) then return end
-
- star = star or 0
- for id, tableData in ipairs(OpenActExcel.heroGrow) do
- if tableData and star == tableData.special then
- addOpenServerHeroCnt(human, id, heroID)
- end
- end
- end
|