乌龟服猎人相关插件和宏命令的经验总结(基于1.17.1)
醉夢溪
编辑于 2024年03月02日 21:42

以下总结基于个人的研究,欢迎联系本人交流。猎人 Howdareu @霍格。

稳固射击

稳固射击的描述与实际不符,施法时间实为1.5秒,享受加速加成,打断自动射击的前摇。施法成功后带出自动射击(开始前摇)。

自动射击

前摇时间为0.65秒,享受加速加成。

攻击速度

攻击速度是乌龟服新加的属性,生效方式和官服的急速基本一致。但装备的攻击速度对法系来说效果双倍(最近更新)。猎人的射击技能均受攻击速度加成,公式是

实际速度 = 原始速度 / (1 + 箭袋加速) / (1 + 装备加速) / (1 + 雄鹰快速射击) / (1 + 急速射击) / ...

如果仅考虑装备的加速,其他属性不变,加速理论上是线性收益,直到把1:1循环的时间压缩进1.5秒,但此加速水平当前装备水平下无法达到(只考虑猎人通常使用的攻速 2.8+,如果触发比较多的急速效果的话可能达到)。另外人的操作无法做到特别精确,加速的实际收益会降低。

受到GCD的限制,连续打两发稳固,第一发实际上无法得到加速的提升(特别针对于狗弩的 2: 1 循环)。

猎人装备上若能达到10%+的加速效果,会极大的提升慢速武器的1:1循环的主观体验。以目前装备的水平来看,达到这个加速水平可以选择替换掉头腿的附魔,手套附魔,拿到一些极品散件(梦之心,马鞭,翡翠锁甲手,大金链子,世界BOSS的项链,戒指等),要求还是比较高的。如果大家有机会凑齐装备,可以尝试一下堆加速的打法。但输出能力上和原始打法的对比还没有经过大量测试验证。

ClassicMacros

插件提供的 /shootattack 有两个特点,一是当前没有目标的话,自动选择一个敌对目标,这貌似对于远程来说没有特别大的必要。二是距离目标过近过远都会切换成近战攻击。我自己是新加入了两个射击命令,不会切换成近战攻击,区别只在于会不会主动选择敌对目标。

插件会把自动射击和自动攻击分别放到技能栏的23和24两个位置。应该是考虑这两个栏位基本不会用到。技能放入技能栏的原因就是系统API获取技能施法情况、CD等信息都是通过某一个栏位的 SlotId 来获取。

我自己是把放入技能栏的这个操作开放给宏命令,让宏决定技能都放在什么位置上,比较灵活。

YaHT

这个插件很厉害,是猎人输出的标配插件了,在实际使用中也发现了几个坑点。

  1. 稳固,多重等读条不显示(打开了插件设置后)这是因为玩家只使用宏命令,但没有将稳固,多重等技能放入技能栏,上边解释过插件要通过向技能栏里放入技能来获取技能释放信息。我的解决方法是把稳固和多重分别放入21和22两个技能栏位。

  2. 稳固,多重等技能的读条莫名消失这是因为技能释放过快的话,客户端会回调释放失败等错误消息,插件收到这些的消息后没有及时重置内部状态变量导致计时错误。

  3. 技能施法时间不准确稳固射击的读条默认为1秒而不是1.5秒,使用起来感觉总是在卡GCD,很奇怪。且所有技能都没有考虑加速的效果。导致时间计算的不是很准。我自己在插件里新增了两个命令,分别设置箭袋的加速和全身装备提供的加速,实际使用感受非常顺滑。

  4. BOSS战的时候如果被控制,插件计时和相关宏命令失效这点应该最让人疑惑,我花了很长时间测试才搞明白。最直接的原因是我们调用的这样一条系统API (假设动作条栏位23是自动射击技能):if IsAutoRepeatAction(23) == nil then UseAction(23) end意思是如果自动射击没有激活,则激活自动射击。这个调用可以来自玩家自己创建的宏命令,也可以来自 ClassicMacros 的开始射击命令。正常自动射击激活的情况下,玩家被控制会停止自动射击。但如果我们在被晕的时间点疯狂的调用这句代码,则存在一个很小的时间窗口期,被控制的角色依然可以激活自动射击。这样就造成了一个异常现象,即自动射击激活,但是无法进行任何射击动作,即使角色从控制中脱离也无法恢复。恢复的方法也很简单。如果有预知的控制技能,停止按宏则不会导致插件失效。如果一旦被控制失效了,手动关掉自动射击也可以恢复。插件如果想自动恢复则比较麻烦。调查发现BOSS的控制技能只能通过系统战斗日志消息来获取。YaHT 需要监听 CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE 这个事件,并从事件消息中搜索到诸如 "你受到了XX的践踏效果&#​34; 类似的字眼,然后关掉自动射击。这个解决方案需要搜集到所有的和控制相关的消息格式,并切还要耦合自动射击的栏位。后续遇到再一点点总结吧。