--============================================================ -- @Author: zzm(曾昭明) -- @E-mail: 726395199@qq.com -- @Date: 2020-03-19 17:28:25 -- @Last Modified time: 2020-06-18 16:15:08 --============================================================ local pathConfigMap = {} local config = { --开关 open = true, --尝试次数 attempt = 100, --掉落概率 ratio = 1, base = 100, --掉落飞机列表 callMosterList = {5,31,32,101,102,103,104,105,106,107,108,109,110,111,112,113,114,1000,1001,1002,2000}, --怪的数量 1:刷怪阈值 场上鱼数量小于等于该值会刷怪 2:大怪上限 场上大怪数量不能超过该值 numControl = { [1] = {55,6}, [2] = {75,10}, }, --刷怪列表 spawnList = { {ratio = 1,monsterList = {{id=113,num=1,}}, path = "zhao_2",}, {ratio = 1,monsterList = {{id=113,num=1,}}, path = "zhao_6",}, {ratio = 1,monsterList = {{id=113,num=1,}}, path = "zhao_10",}, {ratio = 1,monsterList = {{id=113,num=1,}}, path = "zhao_14",}, {ratio = 1,monsterList = {{id=102,num=1,}}, path = "zhao_3",}, {ratio = 1,monsterList = {{id=102,num=1,}}, path = "zhao_7",}, {ratio = 2,monsterList = {{id=102,num=1,}}, path = "zhao_11",}, {ratio = 2,monsterList = {{id=102,num=1,}}, path = "zhao_15",}, {ratio = 2,monsterList = {{id=111,num=1,}}, path = "zhao_3",}, {ratio = 2,monsterList = {{id=111,num=1,}}, path = "zhao_8",}, {ratio = 2,monsterList = {{id=111,num=1,}}, path = "zhao_12",}, {ratio = 2,monsterList = {{id=111,num=1,}}, path = "zhao_16",}, {ratio = 2,monsterList = {{id=110,num=1,}}, path = "zhao_4",}, {ratio = 2,monsterList = {{id=110,num=1,}}, path = "zhao_9",}, {ratio = 2,monsterList = {{id=110,num=1,}}, path = "zhao_13",}, {ratio = 2,monsterList = {{id=110,num=1,}}, path = "zhao_17",}, {ratio = 2,monsterList = {{id=109,num=1,}}, path = "zhao_3",}, {ratio = 2,monsterList = {{id=109,num=1,}}, path = "zhao_6",}, {ratio = 2,monsterList = {{id=109,num=1,}}, path = "zhao_11",}, {ratio = 2,monsterList = {{id=109,num=1,}}, path = "zhao_16",}, {ratio = 2,monsterList = {{id=103,num=1,}}, path = "zhao_2",}, {ratio = 2,monsterList = {{id=103,num=1,}}, path = "zhao_8",}, {ratio = 2,monsterList = {{id=103,num=1,}}, path = "zhao_10",}, {ratio = 2,monsterList = {{id=103,num=1,}}, path = "zhao_15",}, {ratio = 2,monsterList = {{id=104,num=1,}}, path = "zhao_4",}, {ratio = 2,monsterList = {{id=104,num=1,}}, path = "zhao_7",}, {ratio = 2,monsterList = {{id=104,num=1,}}, path = "zhao_12",}, {ratio = 2,monsterList = {{id=104,num=1,}}, path = "zhao_17",}, {ratio = 10,monsterList = {{id=1,num=3,},{id=31,num=1,},{id=1,num=14,}}, path = "zhao_1",}, {ratio = 10,monsterList = {{id=1,num=3,},{id=31,num=1,},{id=1,num=14,}}, path = "zhao_18",}, {ratio = 10,monsterList = {{id=1,num=3,},{id=31,num=1,},{id=1,num=14,}}, path = "zhao_19",}, {ratio = 10,monsterList = {{id=1,num=3,},{id=31,num=1,},{id=1,num=14,}}, path = "zhao_20",}, {ratio = 10,monsterList = {{id=1,num=3,},{id=31,num=1,},{id=1,num=14,}}, path = "zhao_21",}, }, --怪物互斥 mutexList = { { ["monsterList"] = {102}, ["num"] = 1, }, -- { -- ["monsterList"] = {112}, -- ["num"] = 2, -- }, { ["monsterList"] = {113}, ["num"] = 1, }, -- { -- ["monsterList"] = {1000,2000}, -- ["num"] = 1, -- }, { ["monsterList"] = {31,32}, ["num"] = 1, }, }, --刷新冷却时间 不让召唤鱼 spawnCoolDown = 1, } local function flattenMonsterList( monsterList ) ret = {} for i,group in ipairs(monsterList) do for i=1,group.num do table.insert(ret, group.id) end end return ret end local function flattenFishPathList( pathConfig ) local delayTime = 0 local ret = {} for stepIndex,step in ipairs(pathConfig) do --第一组怪即时刷出,time不起作用 if stepIndex > 1 then delayTime = delayTime + step.time end for roadIndex,road in ipairs(step.roadList) do table.insert(ret, {dotList = road.dotList, delayTime=delayTime,stepIndex = stepIndex, roadIndex=roadIndex}) end end return ret end local function loadPathConfig( ) local rawConfig = require "path_config" for k,v in pairs(rawConfig) do pathConfigMap[k] = flattenFishPathList(v) end end function getCallMonsterConfig( ) loadPathConfig() local tmpSpawn = {} for i,spawn in ipairs(config.spawnList) do if pathConfigMap[spawn.path] == nil then error(string.format("path %s config not exist", spawn.path)) end spawn.pathList = pathConfigMap[spawn.path] spawn.monsterList = flattenMonsterList(spawn.monsterList) end return config end