| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- -- 月度活动 合成与觉醒 百炼成神
- -- human.db.actMonthTask.hecheng
- local Util = require("common.Util")
- local Msg = require("core.Msg")
- local ObjHuman = require("core.ObjHuman")
- local MonthactExcel = require("excel.monthAct")
- local MailExcel = require("excel.mail")
- local HeroExcel = require("excel.hero").hero
- local Grid = require("bag.Grid")
- local MonthActFill = require("monthAct.MonthDataFill")
- local MonthActLogic = require("monthAct.MonthActLogic")
- local MailManager = require("mail.MailManager")
- local YunYingLogic = require("yunying.YunYingLogic")
- MONTHACT_HCJX_TYPE_1 = 1 -- 合成任务
- MONTHACT_HCJX_TYPE_2 = 2 -- 觉醒任务
- local function getNowValue(human, id)
- if not human.db.actMonthTask or
- not human.db.actMonthTask.hecheng then
- return 0
- end
- return human.db.actMonthTask.hecheng[id] or 0
- end
- local function setNowValue(human, id, value)
- human.db.actMonthTask = human.db.actMonthTask or {}
- human.db.actMonthTask.hecheng = human.db.actMonthTask.hecheng or {}
- human.db.actMonthTask.hecheng[id] = value
- end
- function query(human)
- local msgRet = Msg.gc.GC_MONTHACT_HCJX_QUERY
- msgRet.leftTime = MonthActLogic.getActLeftTime(human)
- msgRet.list[0] = #MonthactExcel.hecheng
- for id, cf in ipairs(MonthactExcel.hecheng) do
- MonthActFill.makeMonthTaskData(msgRet.list[id], cf, id)
- msgRet.list[id].cur = getNowValue(human, id)
- end
- --Msg.trace(msgRet)
- Msg.send(msgRet, human.fd)
- end
- --合成觉醒活动 计数入口 Ex 之前
- function addMonthHecheJuexCntEx(human, hcType, star, heroID)
- -- 检查任务类型是否非法
- if not hcType then return end
- MonthActLogic.checkActEndTime(human)
- star = star or 0
- for id, cf in ipairs(MonthactExcel.hecheng) do
- if cf.type == hcType and star == cf.special then
- addMonthHecheJuexCnt(human, id, heroID)
- break
- end
- end
- end
- function addMonthHecheJuexCnt(human, id, heroID)
- --检查id是否非法
- local cf = MonthactExcel.hecheng[id]
- if not cf then return end
- local oldStep = getNowValue(human, id)
- -- 已经达到完成上限
- if oldStep >= cf.taskCnt then return end
- local newStep = oldStep + 1
- setNowValue(human, id, newStep)
- ObjHuman.save(human)
- --完成一次 发放奖励一次
- local mailId = 0
- if cf.type == MONTHACT_HCJX_TYPE_1 then
- mailId = 13
- elseif cf.type == MONTHACT_HCJX_TYPE_2 then
- mailId = 14
- end
- if mailId == 0 then return end
-
- local heroConfig = HeroExcel[heroID]
- local heroName = heroConfig and heroConfig.name or ""
- local title = MailExcel.mail[mailId].title
- local content = Util.format(MailExcel.mail[mailId].content, cf.special, heroName)
- local senderName = MailExcel.mail[mailId].senderName
- MailManager.add(MailManager.SYSTEM, human.db._id, title, content, cf.reward, senderName)
-
- for k, v in pairs(funcID) do
- YunYingLogic.updateIcon(YYInfo[k], human)
- break
- end
- end
- -- GM
- function addCntByGm(human,type,heroId, num)
- if not num or not type or not heroId then
- return
- end
- local heroConfig = HeroExcel[heroId]
- if not heroConfig then return end
- for i= 1,num do
- addMonthHecheJuexCntEx(human, type, heroConfig.star , heroId)
- end
- end
- --[[
- function isRed(human)
- for id, cf in pairs(MonthactExcel.hecheng) do
- -- 已经达到完成上限
- if getNowValue(human, id) < cf.taskCnt then
- return true
- end
- end
- end
- --]]
|