4b660a1f3a292df57a0c8134b1315c6035a87349.png

5e43c3dbb6fd526637d41935a618972bd5073699.png


DoTimer是一款老牌的debuff时间监视插件。

此版本是由国人chaoxigege魔改,60addons汉化的版本。

魔改的地方有:
1:RAID中同名怪监视优化
2:添加了左键选目标,右键快速补腐蚀和痛苦诅咒的功能,即有团队标记准确选中目标补DOT,无团队标记的32码范围内所有非满血同名怪(即不破羊不ADD)依次上DOT(如MC老十下地,火元素DEBUFF上无限右键就是附近所有火元素挨个上DOT)


60addons汉化了插件所有的GUI视图设置和修改了部分核心法术汉化。

-----------------------------------------------------------------------------------------------



插件对最多10个唯一目标和每个目标20次debuff的检测支持。一旦达到此限制,插件将删除最旧的显示条目,以节省屏幕空间和处理时间。为了更新屏幕上的计时器以及任何已完成的计时器,插件每秒检查所有插件计时器几次。

你可以将屏幕上的计时器改为图标或条。


DoTimer定义了几个专门为宏编写的函数。其中一个为Dot-Ispspell(“法术名”)。它的作用是让你测试你当前的目标是否有指定的debuff,如果debuff在你的怪物上,它将返回true,如果不是,它将返回false并为你强制转换执行。这与其他函数的不同之处在于,它只关注你自己的debuff,而不关注其他人的debuff!假如目标上有15个腐蚀术,但是如果没有你的腐蚀术,它就会返回false。有关使用此命令的示例宏,请参见下面~,请注意,它的判断基于是否运行了插件计时器,也就是你一定要装有这个插件!

另一个函数是 Dot-Isspell(“法术名”)。它测试任何debuff是否在目标上(对于暗影诅咒、元素诅咒等更好的表现,只能应用一次),如果找不到,则强制转换执行。

还有一个是 DoT_DetermineSpell("法术1","法术2").它遵循这样的逻辑:如果法术1不在怪物身上,则施放它并返回“false”。否则,如果法术2不在怪物上并且你还没有施放法术1,就施放法法2并返回“false”。否则,返回“true”。

还有两个次要函数是 DoT_OwnSpellOnTarget(法术) 和 DoT_SpellOnTarget(法术).  他们的工作方式与 DoT_IsPSpell / DoT_IsSpell 相同, 如果找不到相关debuff查询,则不强制转换。

另一个是 DoT_ReturnRemaining(法术), 重新运行检测你的目标还有多长时间的法术;如果没有,就施放最长持续时间法术. DoT_ReturnElapsed(法术) 返回目标的法术持续时间,如果不存在,则返回0。

所有这些函数都有一个可选的2nd(如果是Dot_Determinespell,则为3rd)参数:UnitID。显然,默认值是“target”,但是想要将这些函数用于RAID目标的人可能会发现这个参数很有用。注意,如果你用函数施法,它将根据这个参数自动瞄准正确的单位!当然,除非你已经有了一个可以接受的目标。


对于非术士:作者增加了对牧师、德鲁伊和猎人的支持。


## 样本宏 ##
--如果你的目标没有腐蚀就施放腐蚀,否则就施放暗影箭
/script if DoT_IsPSpell("腐蚀术") then CastSpellByName("暗影箭()") end

--同上,如果你的目标没有腐蚀和献祭,就施放腐蚀和献祭,然后施放暗影箭
/script if DoT_IsPSpell("腐蚀术") then if DoT_IsPSpell("献祭") then CastSpellByName("暗影箭()") end end

--同上,如果你的目标没有暗影诅咒,就施放暗影诅咒,然后施放暗影箭
/script if DoT_IsSpell("暗影诅咒") then CastSpellByName("暗影箭()") end

--施放暗影诅咒或者痛苦诅咒,然后施放暗影箭 
/script if DoT_DetermineSpell("暗影诅咒","痛苦诅咒") then CastSpellByName("暗影箭()") end

--如果献祭已经运行了至少13秒,就施放燃烧
/script if DoT_ReturnElapsed("献祭") >= 13 then CastSpellByName("燃烧") end

--如果上次放逐时间还剩少于2秒,就施放放逐
/script if DoT_ReturnRemaining("放逐术") <= 2 then CastSpellByName("放逐术") end

--casts 如果能施放迅捷治愈就施放迅捷治愈,否则就施放回春术
/script local r,s,c="回春术",DoT_SpellOnTarget,CastSpellByName if (s(r) or s("愈合")) then c("迅捷治愈") else c(r) end

命令:/dot 或者 /dotimer

链接: https://pan.baidu.com/s/1Zn4otNxIgPmOYT20li8xmw 提取码: wipn