在魔兽世界UI开发Discord的一次更新中,暴雪公布了新的插件API限制方案,允许玩家更自由地控制施法条、单位框架治疗量显示,并开放部分法术的白名单机制!
魔兽世界
即时, PK, 副本, 动作, 冒险, 开放世界, 海外, 怀旧
或许魔兽就是这样一款游戏,你说不清它哪里好,但是总有些什么让它替代不了..
查看更多 立即下载
虽然部分技术细节仅涉及插件开发者,但简而言之,开发团队正在放宽限制,为玩家提供更多操作施法条及直接预览单位框架治疗与吸收量的工具。这些改进均源自玩家反馈,整体而言是非常积极的调整。
灵魂碎片与漩涡武器的白名单机制 最关键的更新在于对特定法术开放白名单,允许插件以当前UI无法实现的方式追踪其状态、充能次数或冷却时间。此举旨在让未持有战斗复活技能的玩家更直观地了解可用复活次数,同时新增驭龙术技能显示,使玩家能清晰掌握共享冷却的充能情况。
此外,这些改动将允许插件直接追踪漩涡能量,无需再依赖临时解决方案。虽然这两项改动对实战影响有限,但意外之举是新增了增强萨满的漩涡武器与噬魂者恶魔猎手的灵魂碎片追踪——这两种缺乏原生UI显示的重要次级资源。白名单机制极大改善了专精玩家管理核心资源的能力,但也与暴雪此前"避免插件带来玩法优势"的立场相悖。尽管可能存在滑坡效应,但玩家早已通过自制方案实现了类似插件追踪器的功能。虽然不应期待所有职业/专精/法术都能获得同等宽容,但开发团队已展现出个案评估的意愿。
即将到来的插件API改动 (通过WoWUIDev Discord发布) 暴雪再次发声!以下是我们未来数周内对插件限制API的调整计划。这些并非全部改动,仅是已确定纳入下个测试版本的更新。
注:Beta 5将是本年最后测试版本。假日期间我们仍会处理插件开发需求,但Beta 6需待一月发布。另请注意,Beta 4的改动超出预期,而Beta 5因构建时序调整(Beta 4构建晚于预期)内容较少。
提醒:测试版本已切换至12.0.1版本号(原为12.0.0)。因12.0.0将用于"午夜"预补丁,12.0.1用于正式上线。后续测试版均为12.0.1,而PTR(届时开放)将采用12.0.0。在预补丁候选版本(RC)确定前,我们将持续对12.0.0进行插件相关调整。
关键点在于:我们计划在预补丁(12.0.0)而非12.0.1中激活这些新限制,旨在让玩家在正式上线前适应新环境。当前尚未进入12.0.0 RC阶段,插件作者可继续测试,但一旦确定RC版本(将另行通知),建议转向PTR测试。
12.0.0 RC确定后,工程师将主要针对12.0.1进行插件调整(极高优先级除外)。我们将持续优化12.0.1直至正式发布(及后续版本),逐步实现更多玩家要求的品质改进。
Beta 5更新内容(预计12/17) 单位框架治疗吸收与预测 新增UnitHealPredictionCalculator Lua对象(通过CreateUnitHealPredictionCalculator API创建)及配套API UnitGetDetailedHealPrediction。
插件可使用这些API计算治疗预测与吸收数据,并直接传递给其他API。该对象提供多项选项,如将伤害吸收限制为:缺失生命值、计入治疗后的缺失生命值或最大生命值。
简易示例: local calculator = CreateUnitHealPredictionCalculator(); UnitGetDetailedHealPrediction(unit, unitDoingTheHealing, calculator); -- 调用后更新calculator数据 local incomingHeals, incomingHealsFromHealer, incomingHealsFromOthers, incomingHealsClamped = calculator:GetIncomingHeals(); myStatusBar:SetValue(incomingHealsFromHealer);
施法条
为StatusBar:SetTimerDuration新增可选方向参数,允许状态条根据剩余而非流逝时间计算填充(主要针对引导法术)。
队伍击杀事件
新增PARTY_KILL事件,在队员击杀单位时触发。 payload包含2个unitGUID(攻击者与目标),身份保密时均加密。
开发中功能 选择性法术白名单 为冷却/光环保密机制新增多项法术白名单:驭龙术、公共冷却、漩涡武器、噬魂者DH资源法术、战斗复活法术。持续接收白名单建议,我们将逐案评估。
旧版持续时间API移除 淘汰C_UnitAuras、C_Spell和C_ActionBar中多余的API(因持续时间对象已实现功能)。
通用布尔值转颜色API 新增2个API(C_CurveUtil.EvaluateColorFromBoolean与C_CurveUtil.EvaluateColorValueFromBoolean),用于将加密布尔值转换为颜色。优先于单独添加SetStatusBarColorFromBoolean等方法。
施法条功能扩展 为施法事件及UnitCastingInfo/UnitChannelInfo API新增施法条法术序列ID。该ID仅对需显示施法条的事件有效,随每次新施法递增且永不加密。
解除敌方强化施法显示限制(阶段数与各阶段施法时间占比)。 新增将强化施法满蓄时间纳入持续时间对象的方法。
加密时间格式化 新增SecondsFormatter Lua对象,允许插件将加密时间值格式化为字符串。 同时开发其他数字格式化方案,包括处理施法持续时间差异(如法术推进)。
受限环境问题修复 误从受限环境移除的函数(strsplit、strjoin、strconcat)已重新添加。
重载UI与加密数据 修复重载界面后加密值解密的问题。