经常有术士抱怨自己的键位不够用,术士几乎是WOW中常用技能最多的职业,没有之一。
各种DOT,各种诅咒,各种吸取,各种石头,死亡缠绕,恐惧术,暗影箭,暗影灼烧,献祭,点燃……
都是常用技能,我的天啊,这简直是动作条和快捷键地狱!
那么,来用宏吧,它能让你每个按钮代替至少两个按钮,而且还是根据不同情况自动施放相应技能!
大家可能发现这里有很多痛苦术士专用的宏,原因很简单,因为我就是那我痛苦所以要你更痛苦的痛苦术士呀~
基础知识
1. 关于一键xx宏
公共CD是WOW中的基本法律,你平时要遵守,用宏仍然要遵守,这里所说的一键xx是指:
同一个宏,你每按一下做一个动作,
同一个宏反复使用可以智能做出一系列反应,两次按键之间请自己留出公共CD时间
2. 动作条编号
下面的宏经常会要求你自己填某技能在动作条上的编号,这是因为技能/物品的冷却时间等信息只能这样得到
动作条共有6个,每条包括12个按钮,共72个,通过菜单->界面设置 可以全部显示出来
图上动作条上红色数字是每条第一个按钮和最后一个按钮的编号
实际上暴雪提供了120个按钮,不过后面73-120不显示的,通过Flexbar等插件可以全部看到
3. 技能书编号
上边动作条编号大部分时间可以用技能在法术书中的编号代替,这样可以有效减少动作条的使用
但并不是都能代替,因为使用法术书中的编号只能得到技能的冷却信息,射程等其他信息无法得到
一键3DOT宏
点一下放一个,缺啥补啥,一直按吧
注意,这是solo宏,团队中如果有其他术士的话就不好用了,因为无法判断DOT是不是你放的,比如其他术士放了痛苦诅咒,
这个宏就不会再放痛苦诅咒,直到那个术士的痛苦诅咒消失
通用版
/script local n,s,k,j,d,f={"Abomi","Sarge","Immol"},{"腐蚀术","痛苦诅咒","献祭"};for k=1,3 do f=nil;for j=1,16 do d=UnitDebuff("target",j);if d and strfind(d,n[k]) then f=1;break;end;end;if not f then CastSpellByName(s[k]);break;end;end;
痛苦术士风筝版
/script local n,s,k,j,d,f={"Abomi","Requi","Sarge"},{"腐蚀术","生命虹吸","痛苦诅咒"};for k=1,3 do f=nil;for j=1,16 do d=UnitDebuff("target",j);if d and strfind(d,n[k]) then f=1;break;end;end;if not f then CastSpellByName(s[k]);break;end;end;
献祭 宠物攻击
在使用前面一键3DOT宏之前我通常会使用这个宏作为起手,因为献祭有施法时间,这就跟猎人瞄准起手一样
/施放 献祭
/script PetAttack();
如果是痛苦术士,带小鬼而且作mana罐子的话用这个
/施放 献祭
/script if UnitCreatureFamily("pet")~="小鬼" then PetAttack();end;
RAID DOT宏
循环上DOT,如果使用间隔超过18秒则重新从第一个DOT开始放,以防止DOT序列没放完怪就死了
RAID诅咒宏
如果目标没有元素诅咒就上元素,有元素没有暗影诅咒就上暗影诅咒,都有就上痛苦诅咒
raid中的术士们,为了名额,诅咒吧!
/script local n,s,k,j,d={"lTouc","fAchi"},{"元素","暗影","痛苦"},1;while k<3 do f=nil;for j=1,16 do d=UnitDebuff("target",j);if d and strfind(d,n[k]) then f=1;break;end;end;if f then k=k 1;else break;end;end;CastSpellByName(s[k].."诅咒");
增幅疲劳 / 增幅痛苦
把诅咒增幅放到动作条上,并查出编号,查编号看上边基础知识部分
增幅疲劳
/script local c,s,d=CastSpellByName,GetActionCooldown(增幅编号);if d<2 then c("诅咒增幅");SpellStopCasting();end;c("疲劳诅咒");
法术书版
/script local c,s,d=CastSpellByName,GetSpellCooldown(增幅编号,"spell");if d<2 then c("诅咒增幅");SpellStopCasting();end;c("疲劳诅咒");
增幅痛苦
/script local c,s,d=CastSpellByName,GetActionCooldown(增幅编号);if d<2 then c("诅咒增幅");SpellStopCasting();end;c("痛苦诅咒");
法术书版
/script local c,s,d=CastSpellByName,GetSpellCooldown(增幅编号,"spell");if d<2 then c("诅咒增幅");SpellStopCasting();end;c("痛苦诅咒");
智能契约分流宏 - 痛苦术士必备
为什么要分流
可能有人觉得只要契约就好,何必还要分流,我们有魔甲术,每5秒恢复15点hp,还有生命虹吸,吸血,
各位瘾君子每3秒吸个五六十应该不在话下吧,生命长满就不会再长了。所以只用契约的话会有大量的生命浪费,
实际上这些生命变成蓝的话数量相当惊人的,所以在尽量保证自己血量的前提下使用分流可以达到最大的转换效率
而不会出现安全问题,你会发现这才是真正的永动机
而且,最大的问题…… 分流恢复mana的速度比契约快多了>"<
送给抽风手的礼物
原则:不让小鬼满蓝,不让自己满血
小鬼满mana当然先抽他的,当抽到70%时,如果你受伤小于200就分流一次,然后继续抽小鬼,
直到抽空或者你血又差200没满,为了最大化的利用嘛,
如果把小鬼抽空了你还没搞定,没办法,抽自己吧
各位如果在raid而且治疗比较关照你的话可以把受伤200安全线往下降,比如1000,
这样顶着恢复,回春,抽着小鬼,想OOM都难啊
我们唯一要做的就是……
练就一根坚韧而神经质的手指……
/script local s,h,m="生命分流";if UnitExists("pet") then h=UnitHealthMax("player")-UnitHealth("player");m=UnitMana("pet")/UnitManaMax("pet");if m>0.1 and h>200 or m>=0.7 then s="黑暗契约";end;end;CastSpellByName(s);
上边200是开始分流的安全线,0.7是停止虐待小鬼开始分流的比例,当然是自己满血情况下
计算了魔伤和强化生命分流天赋的分流宏
你魔伤和生命分流效率自己填
你分流效率:你强化生命分流的天赋,1点就换成1.1,2点换成1.2,没有加这个天赋就是1
注意,这个宏不会分到死,自杀的话单拉出来一个最高级的吧
/script local b,r,p,j,h={30,75,140,220,310,424},{0.38,0.68,0.8,0.8,0.8,0.8},"player";for j=6,1,-1 do h=b[j] r[j]*你魔伤;if UnitHealth(p)>=h and UnitManaMax(p)-UnitMana(p)>=h*你分流效率 then CastSpellByName("生命分流(等级 "..j..")");break;end;end
自身buff
自动上 魔甲术,侦测隐形,魔息术,缺啥补啥,侦测隐形用不着强效的
/script local n,s,k,j,b,f={"gScr","tInv","nBre"},{"魔甲术","侦测隐形","魔息术"};for k=1,3 do f=nil;for j=1,16 do b=UnitBuff("player",j);if b and strfind(b,n[k]) then f=1;break;end;end;if not f then CastSpellByName(s[k]);break;end;end;
死亡缠绕 恐惧
死亡缠绕 恐惧是术士最具杀伤力的连招,是术士反盘的基础,
能与之媲美的恐怕只有献祭 点燃了,什么?还有生命分流 自焚?
功能:如果死亡缠绕不在CD就放缠绕,如果CD中则施放恐惧术,连续使用就是 缠绕 恐惧
死亡缠绕的编号看图自己填
/script local s,d=GetActionCooldown(死亡缠绕编号);if d<2 then CastSpellByName("死亡缠绕");else CastSpellByName("恐惧术");end;
狗智能吞噬魔法
优先驱散自己身上的debuff,没有就驱散对方身上的buff
/script local i,d,s,t,_;for i=1,16 do d,_,t=UnitDebuff("player",i);if d and t=="Magic" then s=1;break;end;end;CastSpellByName('吞噬魔法',s);
瞬召虚空并牺牲宏 - 传说中的双胖子
功能:如果带的是虚空则牺牲,不是的话按第一下瞬召虚空,再按一下牺牲,之所以要按两下因为所谓瞬召实际还是有0.5秒时间,
当然如果你是非恶魔术士或者恶魔支配CD中,那瞬召就变成慢召了……
/script local c=CastSpellByName;if UnitCreatureFamily("pet")=="虚空行者" then c("牺牲");else c("恶魔支配");SpellStopCasting();c("召唤虚空行者");end;
宝宝打图腾
/script local t,n,i,_={"根基","战栗","地缚","灼热","清毒"};for _,i in t do n=i.."图腾";TargetByName(n,1);end;PetAttack();
拉人宏
1 小队/团队自适应版
/施放 召唤仪式
/script local s="party";if UnitInRaid("player") then s="raid";end;SendChatMessage("开始召唤>%t<,机票1G,女生半价,来点门啊",s);
2 黑体震撼版
/施放 召唤仪式
/y █ ●███◣ █
/y ██ █ █ ▉
/y █ █ █ ▊
/y █████ █ █ ▋
/y █ █ █ █ ▌
/y █████ █ █ ▍
/y ●● ●● █ ◥█ ●
,