魔兽世界怀旧服法师宏令大全
法师宏命令(2.1及更高版本无效)
我仅提供几个我自己编写的宏(其中一个是oblind编写的),其他宏命令不在本文的讨论范围之内。
`/script local c,i,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"ManaB") then f=1;break;end;end;if f or ((UnitMana("player")/UnitManaMax("player"))>0.1) then c("冰锥术");else c("冰锥术(等级 1)");end`
作用:如果处于节能状态或法力大于 10%,则施放顶级冰锥术,否则施放 1 级冰锥术。缺点是无法在宏命令上显示冷却时间。
奥术爆炸
`/script local c,i,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"ManaB") then f=1;break;end;end;if f or ((UnitMana("player")/UnitManaMax("player"))>0.4) then c("魔爆术");else c("魔爆术(等级 1)");end`
作用:与上面类似,仅当法力小于 40% 时改用 1 级魔爆术。
刷公主
`/script local c,_,d,i,b,f=CastSpellByName,GetActionCooldown(你气定动作条的编号);for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"antAr") then f=1;break;end;end;if f then c("炎爆术");elseif d>0 then c("火焰冲击");else c("气定神闲");end;`
作用:适用于气定火法,一键刷公主,同样无法在宏命令上显示冷却时间。
需要 supermacro 支持的宏命令
寒冰屏障
左窗口:
`/script Iceblock();`
右窗口:
function Iceblock()
local c,i,b,f=CastSpellByName;s,d=GetActionCooldown(你冰箱的动作条编号);r=GetTime()-s;
for i=1,16 do
b=UnitBuff("player",i);
if b and strsub(b,29)=="Frost" then f=1; break; end
end
if not f then
if d>2 then c("急速冷却");else c("寒冰屏障");end
elseif ((d>2 and r>0.5) or IsAltKeyDown()) then c("寒冰屏障");
end
end
作用:与市面上大多数寒冰屏障宏的不同之处在于,狂按寒冰屏障时不会不小心按多了而出屏障。
宏中的 0.5 是时间限制。在进入寒冰屏障不到 0.5 秒时,再次按这个宏是不会出屏障的。
如果想在这段时间强制出屏障,可以按下 alt 键。
其它的功能与大多数寒冰屏障宏类似,缺点是宏图标无法显示寒冰屏障冷却时间。
刷鳄鱼专用懒人宏
`/script LazyMage();`
代码:
function LazyMage()
local c,s,d,r,i,b,f=CastSpellByName;
s,d=GetActionCooldown(你coc的动作条编号);
r=d+s-GetTime();
if b and strfind(b,"ManaB") then f=1;break;
if (d>2 and r>1.5) then
if f or ((UnitMana("player")/UnitManaMax("player"))>0.4) then
c("魔爆术");
else
c("魔爆术(等级 1)");
end
else
if f or ((UnitMana("player")/UnitManaMax("player"))>0.1) then
c("冰锥术");
else
c("冰锥术(等级 1)");
end
end
end
作用:相当于将 coc 宏和奥爆宏结合在一起。
如果 coc 不在冷却时间中,则释放 coc;如果 coc 在冷却时间中且冷却时间大于 1.5 秒,就释放奥爆。
一键制造各种法力宝石(oblind 编写)
`/script ConjureManaStone();`
函数:
function ConjureManaStone()
local x,j,b,s,l,f={"红宝石","黄水晶","翡翠","玛瑙"},1;
while j<5 do
f=nil;
for b=0,4 do
for s=1,18 do
l=GetContainerItemLink(b,s);
if l and strfind(l,"法力"..x[j]) then
f=j;break;
end
end
if f then break;end
end
if f then j=j+1;else CastSpellByName("制造魔法"..x[j]);break;end
end
end
由于有 supermacro 支持,吃法力宝石可以这样写:
/use 法力红宝石
/use 法力黄水晶
/use 法力翡翠
/use 法力玛瑙