
local 魔龙幻境标准表 = {
    {"蛮行巨人01", "暗夜疾羽虫02"}, -- 1层
    {"蛮行巨人01", "暗夜疾羽虫02"}, -- 2层
    {"蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "暗夜疾羽虫02", "暗夜疾羽虫02"}, -- 3层
    {"蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "暗夜疾羽虫02", "暗夜疾羽虫02"}, -- 4层
    {"蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "暗夜疾羽虫02", "暗夜疾羽虫02"}, -- 5层
    {"蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "暗夜疾羽虫02", "暗夜疾羽虫02", "暗夜疾羽虫02", "暗夜疾羽虫02", "暗夜疾羽虫02"}, -- 6层
    {"蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "暗夜疾羽虫02", "暗夜疾羽虫02", "暗夜疾羽虫02", "暗夜疾羽虫02", "暗夜疾羽虫02"} -- 7层
}

local 魔龙幻境标准精英表 = {
    [7] = {"梦魇鬼将01"}
}

local 魔龙幻境进阶表 = {
    {"蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "暗夜疾羽虫02", "暗夜疾羽虫02"},-- 1层
    {"蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "暗夜疾羽虫02", "暗夜疾羽虫02", "暗夜疾羽虫02"},-- 2层
    {"蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "暗夜疾羽虫02", "暗夜疾羽虫02", "暗夜疾羽虫02", "暗夜疾羽虫02", "暗夜疾羽虫02"}-- 3层
}

local 魔龙幻境进阶精英表 = {
    [2] = {"梦魇鬼将01", "梦魇鬼将01" },
    [3] = {"梦魇鬼将01", "梦魇鬼将01", "梦魇鬼将01"}
}

local 魔龙幻境困难表 = {
    {"蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01", "蛮行巨人01"},-- 1层
    {"暗夜疾羽虫02", "暗夜疾羽虫02", "暗夜疾羽虫02", "暗夜疾羽虫02", "暗夜疾羽虫02", "暗夜疾羽虫02"}-- 2层
}

local 魔龙幻境困难精英表 = {
    [2] = {"梦魇鬼将01", "梦魇鬼将01", "梦魇鬼将01", "梦魇鬼将01", "梦魇鬼将01", "梦魇鬼将01"}
}

--梦魇鬼将01	魔龙幻境Boss	1231
--符文虫01	魔龙幻境宝物怪	1233
--暗夜裂翅者01	魔龙幻境分裂怪	1229
--暗夜侵蚀者01	魔龙幻境高伤怪	1230
--暗夜疾羽虫02	魔龙幻境高速怪	1227
--魔环蜂01	魔龙幻境光环怪	1228
--蛮行巨人01	魔龙幻境厚血怪	1226
--暗夜先锋01	魔龙幻境慢速怪	1225
--暗夜捕猎者01	魔龙幻境远程怪	1232
--恶兆之眼01	恶兆之眼01	1224

local 魔龙幻境标准层数
local 魔龙幻境进阶层数
local 魔龙幻境困难层数

 function 魔龙幻境_执行(地图)

    if 地图.数字变量[数字_魔龙幻境级别] == 0 then
        if 主程.当前时间 > 地图.节点计时 then
            地图.节点计时 = 主程.当前时间:AddSeconds(1.0)
            if 地图.玩家列表.Count == 0 then
                地图.副本节点 = 255
            end
            if 地图.副本节点 == 0 then
                地图:地图公告("恶魔的爪牙以图摧毁我的精神,控制魔龙城")
                地图.副本节点 = 地图.副本节点 + 1
                地图.节点计时 = 主程.当前时间:AddSeconds(5.0)
                刷新守卫从地图实例(7006, 地图, 游戏方向.下方, Point(1062, 508))
            elseif 地图.副本节点 == 1 then
                地图:地图公告("英雄,请你们保护我！")
                地图.副本节点 = 地图.副本节点 + 1
                地图.节点计时 = 主程.当前时间:AddSeconds(5.0)
            elseif 地图.副本节点 == 2 then
                地图:地图公告("保证梦魇中的城主不受到伤害，存活血量越高奖励越丰厚。")
                地图.副本节点 = 10
                魔龙幻境标准层数 = 1
                地图.节点计时 = 主程.当前时间:AddSeconds(5.0)
            elseif 地图.副本节点 == 255 then
                地图:关闭副本()
            elseif 地图.副本守卫.对象死亡 then
                地图:地图公告("哎还是失败了！")
                local 怪物列表 = 地图:获取怪物列表()
                for i = 0, 怪物列表.Count - 1 do
                    local 怪物 = 怪物列表[i]
                    怪物.当前体力 = 0
                    怪物:自身死亡处理(怪物, false);
                end
                地图:地图公告("副本即将关闭")
                地图.副本节点 = 255
                地图.节点计时 = 主程.当前时间:AddSeconds(20.0)
            elseif 魔龙幻境标准层数 == 8 and 地图.存活怪物总数 == 0 then
                地图:地图公告("所有梦魇怪物均已清除，感谢你帮我清除了梦魇的困扰")
                local 玩家列表 = 地图:获取玩家列表()
                for i = 0, 玩家列表.Count - 1 do
                    local 玩家 = 玩家列表[i]
                    if 玩家.角色数据.零点数字[数字_魔龙幻境标准层数记录] < 地图.副本守卫.当前体力 then
                        玩家.角色数据.零点数字[数字_魔龙幻境标准层数记录] = 地图.副本守卫.当前体力
                    end

                    -- 🆕 添加日程进度：通关标准难度获得30点活跃度
                    if not Settings.屏蔽日程 then
                        if 玩家.角色数据.零点数字[数字_魔龙幻境每日领取记录] == 0 then
                            玩家.角色数据.日程进度.V = 玩家.角色数据.日程进度.V + 30
                            玩家:发送日程详情()
                            玩家.角色数据.零点数字[数字_魔龙幻境每日领取记录] = 1
                        end
                    end
                end
                地图:地图公告("副本即将关闭")
                地图.副本节点 = 255
                地图.节点计时 = 主程.当前时间:AddSeconds(20.0)
            elseif 魔龙幻境标准层数 == 8 then
                地图.节点计时 = 主程.当前时间:AddSeconds(1.0)
            elseif 地图.副本节点 % 10 == 0 then
                地图:地图公告("恶魔的爪牙将在5秒后从城门左下`右上侵入，奋起抵御吧！")
                地图.副本节点 = 地图.副本节点 + 1
                地图.节点计时 = 主程.当前时间:AddSeconds(5.0)
            elseif 地图.副本节点 % 10 == 1 then
                地图:地图公告("第".. 魔龙幻境标准层数 .. "/7波入侵已开始，请全力守护城主！")
                地图.副本节点 = 地图.副本节点 + 1
                地图.节点计时 = 主程.当前时间:AddSeconds(1.0)
                local 刷新区域 = {
                获取副本怪物区域(地图, "魔龙幻境-右刷怪区域"):获取刷新范围(),
                获取副本怪物区域(地图, "魔龙幻境-左刷怪区域"):获取刷新范围()}
                for key, value in pairs(魔龙幻境标准表[魔龙幻境标准层数]) do   
                    范围刷新怪物从地图实例(value, 地图, 0, 刷新区域[1], true, true)
                    范围刷新怪物从地图实例(value, 地图, 0, 刷新区域[2], true, true)
                end
                if 魔龙幻境标准层数 == 7 then
                    for key, value in pairs(魔龙幻境标准精英表[魔龙幻境标准层数]) do
                        范围刷新怪物从地图实例(value, 地图, 0, 刷新区域[math.random(1, 2)], true, true)
                    end
                end
            elseif 地图.副本节点 % 10 == 2 and 地图.存活怪物总数 ~= 0 then
                local 怪物列表 = 地图:获取怪物列表()
                local 玩家列表 = 地图:获取玩家列表()
                for i = 0, 怪物列表.Count - 1 do
                 local 怪物 = 怪物列表[i]
                 怪物:清空怪物仇恨()
                 怪物:添加怪物仇恨(地图.副本守卫, 主程.当前时间:AddHours(2.0), 0)
                    for i = 0, 玩家列表.Count - 1 do
                        local 玩家 = 玩家列表[i]
                        怪物:添加怪物仇恨(玩家, 主程.当前时间:AddHours(2.0), 0)
                    end
                end
                 地图.节点计时 = 主程.当前时间:AddSeconds(10.0)
            elseif 地图.副本节点 % 10 == 2 and 地图.存活怪物总数 == 0 then
                local 玩家列表 = 地图:获取玩家列表()
                for i = 0, 玩家列表.Count - 1 do
                    local 玩家 = 玩家列表[i]
                    if 玩家.角色数据.零点数字[数字_魔龙幻境标准层数记录] < 地图.副本守卫.当前体力 then
                        玩家.角色数据.零点数字[数字_魔龙幻境标准层数记录] = 地图.副本守卫.当前体力
                    end
                end
                魔龙幻境标准层数 = 魔龙幻境标准层数 + 1
                地图.副本节点 = 魔龙幻境标准层数 * 10
            end
        end
    end

    if 地图.数字变量[数字_魔龙幻境级别] == 1 then
        if 主程.当前时间 > 地图.节点计时 then
            地图.节点计时 = 主程.当前时间:AddSeconds(1.0)
            if 地图.玩家列表.Count == 0 then
                地图.副本节点 = 255
            end
            if 地图.副本节点 == 0 then
                地图:地图公告("恶魔的爪牙以图摧毁我的精神,控制魔龙城")
                地图.副本节点 = 地图.副本节点 + 1
                地图.节点计时 = 主程.当前时间:AddSeconds(5.0)
                刷新守卫从地图实例(7006, 地图, 游戏方向.下方, Point(1062, 508))
            elseif 地图.副本节点 == 1 then
                地图:地图公告("英雄,请你们保护我！")
                地图.副本节点 = 地图.副本节点 + 1
                地图.节点计时 = 主程.当前时间:AddSeconds(5.0)
            elseif 地图.副本节点 == 2 then
                地图:地图公告("保证梦魇中的城主不受到伤害，存活血量越高奖励越丰厚。")
                地图.副本节点 = 10
                魔龙幻境进阶层数 = 1
                地图.节点计时 = 主程.当前时间:AddSeconds(5.0)
            elseif 地图.副本节点 == 255 then
                地图:关闭副本()
            elseif 地图.副本守卫.对象死亡 then
                地图:地图公告("哎还是失败了！")
                local 怪物列表 = 地图:获取怪物列表()
                for i = 0, 怪物列表.Count - 1 do
                    local 怪物 = 怪物列表[i]
                    怪物.当前体力 = 0
                    怪物:自身死亡处理(怪物, false);
                end
                地图:地图公告("副本即将关闭")
                地图.副本节点 = 255
                地图.节点计时 = 主程.当前时间:AddSeconds(20.0)
            elseif 魔龙幻境进阶层数 == 4 and 地图.存活怪物总数 == 0 then
                地图:地图公告("所有梦魇怪物均已清除，感谢你帮我清除了梦魇的困扰")
                local 玩家列表 = 地图:获取玩家列表()
                for i = 0, 玩家列表.Count - 1 do
                    local 玩家 = 玩家列表[i]
                    if 玩家.角色数据.零点数字[数字_魔龙幻境进阶层数记录] < 地图.副本守卫.当前体力 then
                        玩家.角色数据.零点数字[数字_魔龙幻境进阶层数记录] = 地图.副本守卫.当前体力
                    end

                    -- 🆕 添加日程进度：通关进阶难度获得30点活跃度
                    if not Settings.屏蔽日程 then
                        if 玩家.角色数据.零点数字[数字_魔龙幻境每日领取记录] == 0 then
                            玩家.角色数据.日程进度.V = 玩家.角色数据.日程进度.V + 30
                            玩家:发送日程详情()
                            玩家.角色数据.零点数字[数字_魔龙幻境每日领取记录] = 1
                        end
                    end
                end
                地图:地图公告("副本即将关闭")
                地图.副本节点 = 255
                地图.节点计时 = 主程.当前时间:AddSeconds(20.0)
            elseif 魔龙幻境进阶层数 == 4 then
                地图.节点计时 = 主程.当前时间:AddSeconds(1.0)
            elseif 地图.副本节点 % 10 == 0 then
                地图:地图公告("恶魔的爪牙将在5秒后从城门左下`右上`右下侵入，奋起抵御吧！")
                地图.副本节点 = 地图.副本节点 + 1
                地图.节点计时 = 主程.当前时间:AddSeconds(5.0)
            elseif 地图.副本节点 % 10 == 1 then
                地图:地图公告("第".. 魔龙幻境进阶层数 .. "/3波入侵已开始，请全力守护城主！")
                地图.副本节点 = 地图.副本节点 + 1
                地图.节点计时 = 主程.当前时间:AddSeconds(1.0)
                local 刷新区域 = {
                获取副本怪物区域(地图, "魔龙幻境-下刷怪区域"):获取刷新范围(),
                获取副本怪物区域(地图, "魔龙幻境-右刷怪区域"):获取刷新范围(),
                获取副本怪物区域(地图, "魔龙幻境-左刷怪区域"):获取刷新范围()}
                for key, value in pairs(魔龙幻境进阶表[魔龙幻境进阶层数]) do   
                    范围刷新怪物从地图实例(value, 地图, 0, 刷新区域[1], true, true)
                    范围刷新怪物从地图实例(value, 地图, 0, 刷新区域[2], true, true)
                    范围刷新怪物从地图实例(value, 地图, 0, 刷新区域[3], true, true)
                end
                if 魔龙幻境进阶层数 == 2 or 魔龙幻境进阶层数 == 3 then
                    for key, value in pairs(魔龙幻境进阶精英表[魔龙幻境进阶层数]) do
                        范围刷新怪物从地图实例(value, 地图, 0, 刷新区域[math.random(1, 3)], true, true)
                    end
                end
            elseif 地图.副本节点 % 10 == 2 and 地图.存活怪物总数 ~= 0 then
                local 怪物列表 = 地图:获取怪物列表()
                local 玩家列表 = 地图:获取玩家列表()
                for i = 0, 怪物列表.Count - 1 do
                 local 怪物 = 怪物列表[i]
                 怪物:清空怪物仇恨()
                 怪物:添加怪物仇恨(地图.副本守卫, 主程.当前时间:AddHours(2.0), 0)
                    for i = 0, 玩家列表.Count - 1 do
                        local 玩家 = 玩家列表[i]
                        怪物:添加怪物仇恨(玩家, 主程.当前时间:AddHours(2.0), 0)
                    end
                end
                 地图.节点计时 = 主程.当前时间:AddSeconds(10.0)
            elseif 地图.副本节点 % 10 == 2 and 地图.存活怪物总数 == 0 then
                local 玩家列表 = 地图:获取玩家列表()
                for i = 0, 玩家列表.Count - 1 do
                    local 玩家 = 玩家列表[i]
                    if 玩家.角色数据.零点数字[数字_魔龙幻境进阶层数记录] < 地图.副本守卫.当前体力 then
                        玩家.角色数据.零点数字[数字_魔龙幻境进阶层数记录] = 地图.副本守卫.当前体力
                    end
                end
                魔龙幻境进阶层数 = 魔龙幻境进阶层数 + 1
                地图.副本节点 = 魔龙幻境进阶层数 * 10
            end
        end
    end

    if 地图.数字变量[数字_魔龙幻境级别] == 2 then
        if 主程.当前时间 > 地图.节点计时 then
            地图.节点计时 = 主程.当前时间:AddSeconds(1.0)
            if 地图.玩家列表.Count == 0 then
                地图.副本节点 = 255
            end
            if 地图.副本节点 == 0 then
                地图:地图公告("恶魔的爪牙以图摧毁我的精神,控制魔龙城")
                地图.副本节点 = 地图.副本节点 + 1
                地图.节点计时 = 主程.当前时间:AddSeconds(5.0)
                刷新守卫从地图实例(7006, 地图, 游戏方向.下方, Point(1062, 508))
            elseif 地图.副本节点 == 1 then
                地图:地图公告("英雄,请你们保护我！")
                地图.副本节点 = 地图.副本节点 + 1
                地图.节点计时 = 主程.当前时间:AddSeconds(5.0)
            elseif 地图.副本节点 == 2 then
                地图:地图公告("保证梦魇中的城主不受到伤害，存活血量越高奖励越丰厚。")
                地图.副本节点 = 10
                魔龙幻境困难层数 = 1
                地图.节点计时 = 主程.当前时间:AddSeconds(5.0)
            elseif 地图.副本节点 == 255 then
                地图:关闭副本()
            elseif 地图.副本守卫.对象死亡 then
                地图:地图公告("哎还是失败了！")
                local 怪物列表 = 地图:获取怪物列表()
                for i = 0, 怪物列表.Count - 1 do
                    local 怪物 = 怪物列表[i]
                    怪物.当前体力 = 0
                    怪物:自身死亡处理(怪物, false);
                end
                地图:地图公告("副本即将关闭")
                地图.副本节点 = 255
                地图.节点计时 = 主程.当前时间:AddSeconds(20.0)
            elseif 魔龙幻境困难层数 == 3 and 地图.存活怪物总数 == 0 then
                地图:地图公告("所有梦魇怪物均已清除，感谢你帮我清除了梦魇的困扰")
                local 玩家列表 = 地图:获取玩家列表()
                for i = 0, 玩家列表.Count - 1 do
                    local 玩家 = 玩家列表[i]
                    if 玩家.角色数据.零点数字[数字_魔龙幻境困难层数记录] < 地图.副本守卫.当前体力 then
                        玩家.角色数据.零点数字[数字_魔龙幻境困难层数记录] = 地图.副本守卫.当前体力
                    end

                    -- 🆕 添加日程进度：通关困难难度获得30点活跃度
                    if not Settings.屏蔽日程 then
                        if 玩家.角色数据.零点数字[数字_魔龙幻境每日领取记录] == 0 then
                            玩家.角色数据.日程进度.V = 玩家.角色数据.日程进度.V + 30
                            玩家:发送日程详情()
                            玩家.角色数据.零点数字[数字_魔龙幻境每日领取记录] = 1
                        end
                    end
                end
                地图:地图公告("副本即将关闭")
                地图.副本节点 = 255
                地图.节点计时 = 主程.当前时间:AddSeconds(20.0)
            elseif 魔龙幻境困难层数 == 3 then
                地图.节点计时 = 主程.当前时间:AddSeconds(1.0)
            elseif 地图.副本节点 % 10 == 0 then
                地图:地图公告("恶魔的爪牙将在5秒后从城门左下`右上`右下侵入，奋起抵御吧！")
                地图.副本节点 = 地图.副本节点 + 1
                地图.节点计时 = 主程.当前时间:AddSeconds(5.0)
            elseif 地图.副本节点 % 10 == 1 then
                地图:地图公告("第".. 魔龙幻境困难层数 .. "/2波入侵已开始，请全力守护城主！")
                地图.副本节点 = 地图.副本节点 + 1
                地图.节点计时 = 主程.当前时间:AddSeconds(1.0)
                local 刷新区域 = {
                获取副本怪物区域(地图, "魔龙幻境-下刷怪区域"):获取刷新范围(),
                获取副本怪物区域(地图, "魔龙幻境-右刷怪区域"):获取刷新范围(),
                获取副本怪物区域(地图, "魔龙幻境-左刷怪区域"):获取刷新范围()}
                for key, value in pairs(魔龙幻境困难表[魔龙幻境困难层数]) do   
                    范围刷新怪物从地图实例(value, 地图, 0, 刷新区域[1], true, true)
                    范围刷新怪物从地图实例(value, 地图, 0, 刷新区域[2], true, true)
                    范围刷新怪物从地图实例(value, 地图, 0, 刷新区域[3], true, true)
                end
                if 魔龙幻境困难层数 == 2 then
                    for key, value in pairs(魔龙幻境困难精英表[魔龙幻境困难层数]) do
                        范围刷新怪物从地图实例(value, 地图, 0, 刷新区域[math.random(1, 3)], true, true)
                    end
                end
            elseif 地图.副本节点 % 10 == 2 and 地图.存活怪物总数 ~= 0 then
                local 怪物列表 = 地图:获取怪物列表()
                local 玩家列表 = 地图:获取玩家列表()
                for i = 0, 怪物列表.Count - 1 do
                 local 怪物 = 怪物列表[i]
                 怪物:清空怪物仇恨()
                 怪物:添加怪物仇恨(地图.副本守卫, 主程.当前时间:AddHours(2.0), 0)
                    for i = 0, 玩家列表.Count - 1 do
                        local 玩家 = 玩家列表[i]
                        怪物:添加怪物仇恨(玩家, 主程.当前时间:AddHours(2.0), 0)
                    end
                end
                 地图.节点计时 = 主程.当前时间:AddSeconds(10.0)
            elseif 地图.副本节点 % 10 == 2 and 地图.存活怪物总数 == 0 then
                local 玩家列表 = 地图:获取玩家列表()
                for i = 0, 玩家列表.Count - 1 do
                    local 玩家 = 玩家列表[i]
                    if 玩家.角色数据.零点数字[数字_魔龙幻境困难层数记录] < 地图.副本守卫.当前体力 then
                        玩家.角色数据.零点数字[数字_魔龙幻境困难层数记录] = 地图.副本守卫.当前体力
                    end
                end
                魔龙幻境困难层数 = 魔龙幻境困难层数 + 1
                地图.副本节点 = 魔龙幻境困难层数 * 10
            end
        end
    end

end


