| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- local InnerMsg = require("core.InnerMsg")
- local Util = require("common.Util")
- local DrillDB = require("drill.DrillDB")
- local MiddleLogic = require("middle.MiddleLogic")
- local Lang = require("common.Lang")
- local CommonDB = require("common.CommonDB")
- local DrillExcel = require("excel.drill")
- local Util = require("common.Util")
- local DrillLogic = require("drill.DrillLogic")
- -- 加入跨服竞技场队列
- -- 防守阵容同步
- -- 根据战力获取一个相应的阵容
- function onJjcPos(fd, msg)
- local drillObj = Util.copyTable(msg.drillObj)
- DrillDB.updateDrillObj(drillObj)
- end
- function getDifficulty(quJian, diff,config)
- local str1 = ""
- local str2 = ""
- local stradd = ""
- if quJian == 2 then
- stradd = "1"
- end
- if diff == DrillLogic.DIFF_NORMAL then
- str1 = "zdlMin"
- str2 = "zdlMax"
- elseif diff == DrillLogic.DIFF_ELITE then
- str1 = "zdlMinElite"
- str2 = "zdlMaxElite"
- elseif diff == DrillLogic.DIFF_INCUBI then
- str1 = "zdlMinIncubi"
- str2 = "zdlMaxIncubi"
- end
- if stradd == "" then
- return config[str1], config[str2]
- else
- return config[str1..stradd], config[str2..stradd]
- end
- end
- -- 请求关卡
- function quest(fd, msg)
- local drillCfg = DrillExcel.drill[msg.drillId]
- if not drillCfg then return end
-
- -- 第一查找
- local minPer, maxPer = getDifficulty(1, msg.diff, drillCfg)
- local zdlMin = math.ceil(minPer / 10000 * msg.selZdl)
- local zdlMax = math.ceil(maxPer / 10000 * msg.selZdl)
- local drillObj = DrillDB.randomDrillObj(zdlMin, zdlMax, msg.ninTb)
- if not drillObj then
- -- 第二次查找
- minPer, maxPer = getDifficulty(2, msg.diff, drillCfg)
- zdlMin = math.ceil(minPer / 10000 * msg.selZdl)
- zdlMax = math.ceil(maxPer / 10000 * msg.selZdl)
- drillObj = DrillDB.randomDrillObj(zdlMin, zdlMax, msg.ninTb)
- if not drillObj then
- drillObj = DrillDB.randomDrillObj(zdlMin, zdlMax, msg.ninTb, true)
- if not drillObj then
- -- 给一个大的区间 取一个阵容
- zdlMin = 1000000
- zdlMax = 4000000
- drillObj = DrillDB.randomDrillObj(zdlMin, zdlMax, msg.ninTb, true)
- end
- end
- end
- if not drillObj then
- return MiddleLogic.sendWLBroadcast(fd, msg.uuid, Lang.DRILL_NOT_FING_DRILL)
- end
-
- local msgRet = InnerMsg.wl.WL_DRILL_QUEST
- msgRet.uuid = msg.uuid
- msgRet.drillId = msg.drillId
- msgRet.drillObj = drillObj
- InnerMsg.sendMsg(fd, msgRet)
- end
-
|