| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- -- ABS 积分召唤活动
- local Config = require("Config")
- local AbsActExcel = require("excel.absAct")
- local Lang = require("common.Lang")
- local Util = require("common.Util")
- local Msg = require("core.Msg")
- local AbsActDefine = require("absAct.AbsActDefine")
- local ObjHuman = require("core.ObjHuman")
- local Broadcast = require("broadcast.Broadcast")
- local MangHeLogic = require("absAct.MangHeLogic")
- local MailExcel = require("excel.mail")
- local MailManager = require("mail.MailManager")
- local CommonDB = require("common.CommonDB")
- local AbsActLogic = require("absAct.AbsActLogic")
- local HeroGrid = require("hero.HeroGrid")
- local DrawCardLogic = require("drawCard.DrawCardLogic")
- local Log = require("common.Log")
- local HeroBook = require("hero.HeroBook")
- local HeroExcel = require("excel.hero")
- local HeroLogic = require("hero.HeroLogic")
- local ChatPaoMaLogic = require("chat.ChatPaoMaLogic")
- function isOpen(human, YYInfo, funcConfig)
- return AbsActLogic.isStarted(human, funcConfig.funcID)
- end
- function isActive(human, YYInfo, funcConfig)
- return not isOpen(human, YYInfo, funcConfig)
- end
- function isRed(human, YYInfo, funcConfig)
- return false
- end
- function getAndSendMsg(human, id, config)
- local absAct = human.db.absAct[id]
- if not absAct then
- print("not found human.db.absAct")
- return
- end
- local actId = config.actId
- local msgRet = Msg.gc.GC_ABS_ACT_JIFEN_DRAW_QUERY
- local jifenDrawConfig = AbsActExcel.absJifenDraw[actId]
- if not jifenDrawConfig then
- print("not found jifenDrawConfig",actId)
- return
- end
- local len = 0
- for k, config in ipairs(jifenDrawConfig.heroList) do
- len = len + 1
- if len > #msgRet.list then
- break
- end
- local net = msgRet.list[len]
- if net then
- net.id = k
- net.cur = absAct[k] or 0
- net.max = config[3]
- net.cost = config[2]
- HeroGrid.makeHeroSimpleByID(net.hero, config[1])
- end
- end
- msgRet.list[0] = len
- msgRet.randomCost = DrawCardLogic.MAX_JIFEN
- msgRet.curJifen = DrawCardLogic.getJifen(human)
- Msg.send(msgRet, human.fd)
- end
- -- 积分购买
- function buy(human, id, actID)
- local state,endTime, starTime = AbsActLogic.isStarted(human, actID)
- if not state then return end
- local config = AbsActExcel.absActivity[actID]
- if not config then return end
- local jifenDrawConfig = AbsActExcel.absJifenDraw[config.actId]
- if not jifenDrawConfig then return end
- local absAct = human.db.absAct[actID]
- if not absAct then
- return
- end
- local heroConfig = jifenDrawConfig.heroList[id]
- if not heroConfig then return end
- -- 扣除积分
- if DrawCardLogic.getJifen(human) < heroConfig[2] then
- return Broadcast.sendErr(human, Lang.DRAWCARD_ERR_NOJIFEN)
- end
-
- absAct[id] = absAct[id] or 0
- if absAct[id] >= heroConfig[3] then
- return
- end
- DrawCardLogic.updateJifen(human, -heroConfig[2])
- absAct[id] = absAct[id] + 1
- local heroID = heroConfig[1]
- local drawConfig = HeroExcel.hero[heroID]
- ChatPaoMaLogic.broadcast(human, ChatPaoMaLogic.PAOMA_TYPE_BROAD_TYPE4, drawConfig.grade, heroID)
- local isNew = not HeroBook.isGet(human, drawConfig.id, drawConfig.star)
- local heroIndex, fenjielist = HeroLogic.addHero(human, heroID, nil, 1, "abs_jifenDraw")
- Log.write(Log.LOGID_OSS_DRAWCARD, human.db._id, human.db.account, human.db.name, human.db.lv, DrawCardLogic.DRAWCARD_ID4, heroID, 0, 0, 0, DrawCardLogic.getJifen(human))
- DrawCardLogic.sendDrawOp(human, DrawCardLogic.DRAWCARD_ID4, 0, {heroID}, fenjielist, {isNew}, {heroIndex}, AbsActDefine.ABS_ACT_TYPE_7)
- end
|