沙影之路的暗之Boss是行会实力的试金石:真身与三个镜像随机分布在四个祭坛,只有击杀真身才有掉落,镜像被击杀则真身获得增益。触发设计要让行会在攻击前先花时间判断真假,判断的成本与收益构成有意义的博弈。
暗之Boss刷新时随机选择四个祭坛之一放置真身,其余三个祭坛生成镜像;镜像与真身外观一致但血量为真身的四分之一,攻击真身时真身不掉血的是镜像。示例代码如下:
-- 沙影之路:镜像刷新
local player = class(actor)
local ALTARS = {{100, 200}, {200, 300}, {300, 200}, {400, 100}}
local function spawnDarkBoss(player)
local realIdx = math.random(1, 4)
setsysvarex("DarkReal", realIdx, true)
for i = 1, 4 do
local monName = i == realIdx and "暗之魔龙教主" or "暗之魔龙幻影"
genmon("shaying", ALTARS[i][1], ALTARS[i][2], monName, 3, 1, 0)
end
sendcentermsg(player, 255, 0, "暗之魔龙降临沙影之路,四座祭坛谁是真身?", 0, 10)
end
镜像被击杀时真身获得一层攻击增益(最多三层),镜像被清完后再打真身难度大幅提升;真身被击杀则全部镜像消失并结算掉落。策略博弈在于:先试探找真身浪费输出时间,还是先清镜像避免真身增益。示例代码如下:
-- 沙影之路:真假判定
local player = class(actor)
local mirrorKilled = 0
function onDarkBossDead(actor, monName, monX, monY)
if monName ~= "暗之魔龙教主" and monName ~= "暗之魔龙幻影" then return end
local player = class(actor)
local realIdx = tonumber(getsysvar("DarkReal") or 0)
local curIdx = getAltarIndex(monX, monY)
if curIdx == realIdx then
giveitem(player, "魔龙之心", 1)
sendcentermsg(player, 255, 0, "真身被讨伐!魔龙之心已掉落。", 0, 10)
else
mirrorKilled = mirrorKilled + 1
addbuff(player, 10181, 60, mirrorKilled, player)
sendmsg(player, 1, 0, "击杀了幻影,真身获得了第 " ..
mirrorKilled .. " 层增益!")
end
end
验证三条链路:真身随机分布在四个祭坛之一、镜像击杀给真身增益且最多三层、真身被击杀后全部消失并掉落。策略监控看两个数据:真身被找到的平均耗时与错误击杀幻影的次数,平均耗时低于三分钟说明有高效的判断方法被传播,调整镜像的行为差异增加判断难度;行会参与人数是暗之Boss玩法的核心指标。
真身标记曾写在怪物名字后缀(真/假),名字显示插件直接暴露答案,标记只在服务端变量。镜像血量曾与真身一致,玩家靠血条差异判断真假,镜像血量设为真身四分之一但不显示血条差异。增益曾叠加无限层,清完三个幻影后真身攻击翻了八倍,增益上限三层封顶,boss 机制的每个数值都要有天花板。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
学员常见误区 Lua函数可返回多个值,学员用固定变量数接收时如果变量少于返回值,多余返回值被静默丢弃;如果变量多于返回值,多…
设计初衷 行会建筑的死穴是一次全解锁:会员没有逐步建设的过程感。梯度设计让每栋建筑都有前置条件和资源门槛。 数值模型 建筑分…
设计初衷 婚姻系统的属性加成是社交玩法的经济锚点:加成太弱没人结婚,太强则"为了属性被迫结婚"扭曲了社交本质。婚姻边界的设计…
设计初衷 宝箱类玩法的信任危机都源于同一句话:"概率是不是骗人的。"期望公示把概率从事后争议变成事前契约:奖池概率表全量公示…
设计初衷 流拍物(拍卖未成交的退回物品)堆积在卖家背包里成为死资产:低价值物流拍后无人问津,高价值物流拍后卖家不愿降价重拍。…
业务场景 沙巴克战功榜每周结算,玩家提交战功前不知道"再打多少能进前 10、前 10 的奖励是什么"。名次预览:输入自己的战…