英雄是道士与战士的第二战力:白虎与月灵的等级决定合击的威力。herolevelup 触发在英雄升级的节点,英雄的成长结算、技能解锁与主人的联动都在这一下。
---herolevelup: 英雄升级触发 play:主人对象
function herolevelup(play)
local player = class(play)
if not player then return end
local lv = Hero.levelOf(play)
-- 英雄每级成长:攻击与防御的成长值
setplayvar(play, 2, "HeroAtkUp", lv * 3, 1)
-- 每 10 级的英雄技能解锁
local skill = HERO_SKILLS[lv]
if skill then
local sid = getskillindex(skill.name)
addskill(play, sid)
sendmsg(play, 1, "英雄领悟 " .. skill.name .. "!")
end
end
---英雄技能表:等级与职业的解锁
HERO_SKILLS = {
[15] = { name = "白虎啸" },
[25] = { name = "月灵护主" },
[35] = { name = "合击·雷霆一击" },
}
英雄的升级联动主人的结算:每级的成长值落库进英雄的属性快照,10 级一档的英雄技能自动入栏——白虎啸、月灵护主到 35 级的合击技,英雄的技能树是道士后期的玩法主线。英雄的经验来源与主人共享:主人杀怪英雄分得七成经验,英雄的等级不会超过主人的等级——主从的等级差是英雄系统的边界。
---合击技能:主人与英雄的协同
function Hero.comboSkill(actor, targetId)
local player = class(actor)
if not player then return false end
local heroLv = Hero.levelOf(actor)
if heroLv < 35 then
sendmsg(actor, 1, "英雄 35 级解锁合击")
return false
end
-- 合击的冷却 30 秒,威力按双方攻击之和
local cd = tonumber(getplayvar(actor, 2, "ComboCD")) or 0
if os.time() - cd < 30 then
sendmsg(actor, 1, "合击冷却中")
return false
end
setplayvar(actor, "HUMAN", "ComboCD", os.time(), 0)
local dmg = Hero.comboDamage(actor, targetId)
sendmsg(actor, 1, "合击·雷霆一击造成 " .. dmg .. " 伤害!")
return true
end
合击是英雄系统的招牌:主人与英雄的协同大招,35 级解锁、30 秒冷却,威力按双方的攻击之和折算——人宠合一的爆发是合击的爽点。英雄的培养材料(英雄经验丹)由行会副本与活动产出,培养的投入与合击的收益形成循环。英雄的状态回传:英雄的血量、状态、目标在主人的面板常驻,英雄阵亡的冷却 60 秒后由主人召回,英雄的生死管理是道士的操作纵深。
英雄的等级分布与主人的等级差的监控,等级贴顶的比例验证经验分配的合理性;合击的使用频次与冷却的命中统计,技能的利用率反映培养的渗透。
英雄的经验曾经独立结算,双倍经验的活动只加了主人的,经验的同源分配修复。技能的解锁曾经不区分职业,战士的英雄学了道士的英雄技,职业的解锁表按英雄类型分列。合击的伤害曾经不校验目标的存活,打在尸体上的空刀进了战报,目标的有效性前置校验。
英雄的成长曲线与技能表进配置,英雄的养成是版本数值的常客。合击的特效与音效按技能档位区分,大招的仪式感全量给足。英雄的召回与解散的指令在面板直供,英雄的管理不进二级菜单。
本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 行会活动集中在攻城战,日常缺乏轻量社交场景。行会篝火答题做行会固定社交活动:每周三、周日晚在行会驻地点燃…
实战应用:用在哪里 全服答题活动办过几期,参与的人不少但黏性不足,答完就散。科举答题把答题做成两段式:每天晚八点的乡试答题筛…
n n n 实战应用:用在哪里 n战斗中打字沟通慢且危险,队伍协作靠喊话效率太低。快捷短语栏在屏幕底部提供八条可自定义的战斗…
n n n 实战应用:用在哪里 n龙脉区域的野外宝箱是散人玩家的每日福利:每逢整点在龙脉区域随机刷新十五个宝箱,分三档给不同…
实战应用:用在哪里 同一玩家的两条消息走了不同的处理路径,先发的后到,装备穿上的消息比脱下的消息晚处理,面板状态错乱。消息有…
实战应用:用在哪里 战斗日志全量打印,一天写满一块硬盘,翻日志像大海捞针。日志采样按类别分策略:错误日志全量保留、行为日志按…