目前团本宠物DPS一哥还是豹子,这点不多做讨论,下面针对豹子的输出技能撕咬及爪击进行讨论及测试,以及给出如何提高宠物技能输出的办法。
1.17.2补丁对宠物技能做了如下修改
撕咬:冷却时间从 10 秒减少到 6 秒。
撕咬:每 20 点攻击强度造成 1 点额外伤害。
爪击:每 42 点攻击强度造成 1 点额外伤害。
撕咬消耗35能量,8级撕咬伤害为81-99,撕咬每点能量对应伤害为(81+99)/2/35 = 2.57伤害/能
爪击消耗25能量,8级爪击伤害为43-59,爪击每点能量对应伤害为(43+59)/2/25 = 2.04伤害/能
初始的伤害/能,撕咬已经是爪击的125%了,再加上撕咬吃攻强加成是爪击的2倍,撕咬CD降低。推测撕咬将代替爪击成为猫科的主要输出技能。下面进行测试:宠物攻击63级团本木桩5分钟,分别测试单独开爪击,单独开撕咬,以及用宏保证的主撕咬补爪击防止能量溢出的三种场景。因为咬63级木桩会有格挡偏斜未命中,故测试5分钟来减小误差。结果如下
5分钟 只开爪击 只开撕咬(提升百分比) 主撕咬补爪击避免能量溢出(提升百分比)
63木桩 2785 3300(18%) 3300 + 412=3712(33%)
可以看到,单撕咬比单爪击提升了18%的DPS,而第三种方法主撕咬补爪击,则比单爪击提升33%的DPS,这可谓是巨大提升了。下面讲下主撕咬补爪击这种方法如何实现,将撕咬爪击都开成自动施法是做不到的,这种方法只会开始打一次撕咬,然后就全打爪击了,实际DPS跟单开爪击差不多。
首先需要做个超级宏,这个超级宏命名为claw,作者是乌龟猎人群主来啦坐
/script local t,m,f,a,b,c,d=GetTime(),UnitMana("pet"),function(i,b) if ({GetPetActionInfo(i)})[7]~=b then TogglePetAutocast(i) end end; for i=1,10 do c=GetPetActionInfo(i) or ''; if c=='撕咬' then a=i elseif c=='爪击' then b=i end end if a and b then f(a,1)f(b) d=GetPetActionCooldown(a) if m >=70 or (t-d<2 and m >=45) then CastPetAction(b) end end
效果就是在保证下一发撕咬能量足够的前提下,打爪击保证能量不会溢出,且保证撕咬的卡CD释放。
然后这个超级宏绑到你常用技能宏里面。
手动党,推荐绑到稳固多重宏里面,示例:
#showtooltip 稳固射击
/cast 稳固射击
/script RunSuperMacro("claw")
#showtooltip 多重射击
/script if nil then CastSpellByName("多重射击") end
/cast [@mouseover,nodead,harm] 多重射击;多重射击
/script UIErrorsFrame:Clear()
/script RunSuperMacro("claw")
一键宏党,就绑到一键宏下面,如:
/hbbshot
/script RunSuperMacro("claw")
--------------------------------------------------------
修改记录
2024-11-16:
将撕咬爪击宏替换为更优化的版本,无需前置适配
提升宠物技能输出的方法及测试
Re: 提升宠物技能输出的方法及测试
升级超级宏插件后的字符似乎报错了(没有升级插件,不会报错可以不用修改),我优化了楼主的宏,需要把猫科宝宝的爪击关闭自动释放 按照楼主的命名放在基本宏里使用就行
/run local t,m=GetTime(),UnitMana("pet");for i=1,10 do if GetPetActionInfo(i)=="撕咬"then a=i elseif GetPetActionInfo(i)=="爪击"then b=i end end;if a and b then d=GetPetActionCooldown(a);if m>=70 or (t-d<2 and m>=45) then CastPetAction(b) end end
/run local t,m=GetTime(),UnitMana("pet");for i=1,10 do if GetPetActionInfo(i)=="撕咬"then a=i elseif GetPetActionInfo(i)=="爪击"then b=i end end;if a and b then d=GetPetActionCooldown(a);if m>=70 or (t-d<2 and m>=45) then CastPetAction(b) end end