/Script local c,s,i,f,n,a,_=CastSpellByName,"巨熊形态";for i=1,GetNumShapeshiftForms() do _,n,a=GetShapeshiftFormInfo(i);if n==s then break;end;end;if a==1 then if IsActionInRange (34) then c("野性冲锋");else c("低吼");end;else c(s);end;
注:红字:34是技能栏编号,使用这个宏前要先把野性冲锋放在一个技能栏位上(放在一些少用的键位上)。
(2)基本相同,但是不低吼。
/script local c,s,i,f,n,a,_=CastSpellByName,"巨熊形态";for i=1,GetNumShapeshiftForms() do _,n,a=GetShapeshiftFormInfo(i);if n==s then break;end;end;if a==1 then c("野性冲锋");else c(s);end;
(3)这个在被击飞或者紧急情况时用比较有效,野性冲锋的同时低吼,如果怒气还大于35就使用
挥击挥霍怒气拉住仇恨。
/cast 低吼
/cast 野性冲锋
/Script if (UnitMana("layer")>35) then CastSpellByName("挥击");end
/script local class, c = UnitClass("targettarget"), CastSpellByName; if class ~= "德鲁伊" and class ~= "战士" then c("低吼"); else c("槌击"); c("挥击"); end; ) then CastSpellByName("低吼");end
3、攻击+槌击:
( 发挥 补充)当怒气小于10时使用普通攻击,否则使用槌击。
/script if (UnitMana("player")<10) then CastSpellByName("攻击");else CastSpellByName("槌击")end
/script local c,s,i,f,n,a,_=CastSpellByName,"巨熊形态";for i=1,GetNumShapeshiftForms() do _,n,a=GetShapeshiftFormInfo(i);if n==s then break;end;end;if a==1 then UseContainerItem(0,1);else c(s);end;
(二)猫形态
1、猫形态常用攻击宏:
通常情况下使用爪击,当连击点数大等于3点时(即“3星”),使用凶猛撕咬。
/script if ( GetComboPoints() >= 3 ) then CastSpellByName("凶猛撕咬"); else CastSpellByName
/script local c,s,i,f,n,a,_=CastSpellByName,"猎豹形态";for i=1,GetNumShapeshiftForms() do _,n,a,s=GetShapeshiftFormInfo(i);if n==s then break;end;end;if a==1 then UseContainerItem(0,2);else c(s);end;
(三)任何形态通用
1、人形宏:
判断如果不是人形态,则恢复人形态。可在任何形态下使用。
/script local i,a,_;for i=1,GetNumShapeshiftForms() do _,_,a=GetShapeshiftFormInfo(i);if a then CastShapeshiftForm(i);break;end;end;
/script x=UnitClass("target");if (not UnitIsFriend("player","target") or (UnitManaMax
("target")<200 and x~="Druid")) then TargetUnit("player");end;CastSpellByName("激
活");TargetLastTarget();
/cast 治疗之触
/script if UnitIsFriend("layer","target") then if UnitAffectingCombat("target") then if
((UnitHealthMax("target"))-(UnitHealth("target"))<1200) then CastSpellByName("治疗之触(等级 4)");end;end;elseif SpellIsTargeting() then TargetUnit("layer");end
(2)根据目标血量判断使用哪个等级的治疗之触。
/script H=UnitHealthMax("target")-UnitHealth("target");S= {41,98,213,394,617,799,1004,1285,1621,2010,2496};
/script for j=11,1,-1 do if (H>=S[j]) then CastSpellByName("治疗之触(等级 "..j..")"); break;end;end;
6、回春术:
根据目标等级判断使用哪个等级的回春术。
/script r=10;l={4,10,16,22,28,34,40,46,52,58};t=UnitLevel("target");for j=r,1,-1 do if (t>=l[j]-10) then CastSpellByName("回春术(等级 "..j..")");break;end;end
7、愈合:
根据目标等级判断使用哪个等级的愈合。
/script r=7;l={12,18,24,30,36,42,48,54,60};t=UnitLevel("target");for j=r,1,-1 do if (t>=l[j]-10) then CastSpellByName("愈合(等级 "..j..")");break;end;end
8、驱毒:
在任何形态下变回人形,并给目标上驱毒。
/script local i,a,_;for i=1,GetNumShapeshiftForms() do _,_,a=GetShapeshiftFormInfo(i);if a then CastShapeshiftForm(i);break;end;end;
/cast 驱毒术
9、解除自身DEBUFF:
(妖术师金度制作)可解除自己身上的诅咒和中毒效果。
/script dbk={'Poison','Curse'}; spl={''驱毒术'',''解除诅咒''}; for m=0,31,1 do for n=1,2,1 do if GetPlayerBuffDispelType(GetPlayerBuff(m,'HARMFUL'))==dbk[n] then TargetUnit('player');CastSpellByName(spl[n]);TargetLastTarget();break;end;end;end;
/script local i,j,b,f,p;for i=1,40 do f=nil;p="raid"..i;if UnitIsVisible(p) then for j=1,16 do b=UnitBuff(p,j);if b and strfind(b,"Regen") then f=1;break;end;end;if not f then TargetUnit(p);CastSpellByName("野性印记");break;end;end;end;
2、荆棘术:
根据目标等级判断使用哪个等级的荆棘。
/script r=6;l={6,14,24,34,44,54};if not UnitIsFriend("player","target")then TargetUnit
("player");end;t=UnitLevel("target");for j=r,1,-1 do if (t>=l[j]-10) then CastSpellByName("荆棘术(等级 "..j..")");break;end;end
特殊篇:
1、技能CD时间公告:
可以显示任意技能的剩下的冷却时间(自己调整):注:红字:8是技能栏编号,使用这个宏前要先把想要显示CD的技能放在一个技能栏位上。
/script a,d,e=GetActionCooldown(8);s=d-(GetTime()-a);q=string.format("%.f",s);
/script m=q/60;n=string.format("%d",m)
/script o=q-n60
/Script if a~=0 then SendChatMessage("技能名 CD时间:"..n.."分"..o.."秒","yell"); end