Quoted from "Damson;344165"
I get the error [string '?']:207: attempt to call global 'AbsHp' (a nil value)
not sure what is wrong any help appreciated.
|
|
Source code |
1 2 3 |
i=i+1; Skill[i] = { ['name'] = "Earth Arrow", ['use'] = (not friendly) }
i=i+1; Skill[i] = { ['name'] = "Camellia Flower", ['use'] = (friendly) }
i=i+1; Skill[i] = { ['name'] = "Weakening Seed", ['use'] = ((not friendly) and (ChkBuff(tgt,"Weakening Seed"))) }
|

Quoted from "Damson;344211"
well i wanted to use the engine to help with healing better cause a macro is to much i guess..but was having problems with getting it set up..finally got it but then got the error in game so yeah..i can try and change it around butt not sure on how to do so...casue i copied the code from another druidscout that it worked on for him
Quoted from "mrowka;345791"
Now to the topic
I got a problem with scout/warden
i=i+1; Skill = { name = "Snipe", use = ((not friendly) and (focus >= 30) and string.find(pbuffs, "Hidden Peril")) }
i=i+1; Skill[i] = { name = "Hidden Peril", use = ((not friendly) and (focus >= 30) and (not string.find(pbuffs, "Hidden Peril"))) }
This is a part of macro that i got works greate for first strike and for each 2nd rounds of entire macro but ther problem is that snipe got 15 sec cd and hidden peril 10 sec, now buff that hidden peril provide give snipe 1 sec cast time, but this buff last only 5 secounds that leave me 0 sec in secound turn of skill rotation to use snipe :/
Now is ther any way for hidden peril part to wait for snipe cd ?
|
|
Source code |
1 |
i=i+1; Skill[i] = { name = "Hidden Peril", use = ((not friendly) and (focus >= 30) and CD("Snipe") and (not string.find(pbuffs, "Hidden Peril"))) }
|
Quoted from "Durelsh;349094"
After searching thread for knight/warrior functions and reading threw all 112 replys , again i want to say this , there is no working k/w macro in this entire thread. If Tigsman or anyone else could post a working k/w "threaten" with working mana return that would be awesome.

|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
function KnightWarrior(arg1, potslot)
local Skill = {}
local i = 0
local combat = GetPlayerCombatState()
local friendly = (not UnitCanAttack("player", "target"))
local enemy = (UnitCanAttack("player","target"))
local rage = UnitMana("player")
local energy = UnitSkill("player")
local tbuffs = BuffList("target")
local pbuffs = BuffList("player")
local front = UnitIsUnit("player", "targettarget")
local tDead = UnitIsDeadOrGhost("target")
local melee = GetActionUsable(32)
local LockedOn = UnitExists("target")
local _1,potcd
if potslot ~= nil then
_1,potcd=GetActionCooldown(potslot)
end
if (PctM("player")<.80) and (CD("Mana Return")) and (potcd == 0) then
UseAction(potslot)
return
end
i=i+1; Skill[i] = { name = "Holy Shield", use = (PctH("player") <= .25) }
i=i+1; Skill[i] = { name = "Resolution", use = (PctH("player") <= .45) }
i=i+1; Skill[i] = { name = "Berserk", use = ((not friendly) and (PctH("player") <= .70) and (not string.find(pbuffs,"Defensive Formation")) and (not CD("Defensive Formation"))) }
i=i+1; Skill[i] = { name = "Defensive Formation", use = ((not friendly) and (PctH("player") <= .70)) }
i=i+1; Skill[i] = { name = "Enhanced Armor", use = ((not string.find(pbuffs,"Enhanced Armor")) and (rage >= 120)) }
i=i+1; Skill[i] = { name = "Holy Seal", use = ((not string.find(pbuffs,"Holy Seal")) and (rage >= 30)) }
i=i+1; Skill[i] = { name = "Shock", use = ((not friendly) and (rage >= 30) and (not melee) and (not CD("Charge"))) }
i=i+1; Skill[i] = { name = "Charge", use = ((not friendly) and (not melee)) }
i=i+1; Skill[i] = { name = "Hatred Strike", use = ((not friendly) and (rage >= 320) and (melee)) }
i=i+1; Skill[i] = { name = "Disarmament", use = ((not friendly) and (rage >= 150) and (melee) and (not string.find(tbuffs,"Disarmament IV"))) }
i=i+1; Skill[i] = { name = "Whirlwind Shield", use = ((not friendly) and (melee) and (rage >= 150)) }
i=i+1; Skill[i] = { name = "Shield of Atonement", use = ((not friendly) and (melee) and (rage >= 30)) }
i=i+1; Skill[i] = { name = "Holy Strike", use = ((not friendly) and (rage >= 110) and (not string.find(tbuffs,"Light Seal III"))) }
i=i+1; Skill[i] = { name = "Threaten", use = ((not friendly) and (rage >= 200) and (string.find(tbuffs,"Holy Seals 3")) and (not string.find(pbuffs,"Threaten"))) }
i=i+1; Skill[i] = { name = "Mana Return", use = ((not friendly) and (string.find(tbuffs,"Holy Seals 3")) and (PctM("player")<.90)) }
i=i+1; Skill[i] = { name = "Enraged", use = (energy < 50) }
i=i+1; Skill[i] = { name = "Whirlwind", use = ((not friendly) and (energy >= 40)) }
i=i+1; Skill[i] = { name = "Slash", use = ((not friendly) and (energy >= 25) and (not string.find(tbuffs,"/Bleed/"))) }
i=i+1; Skill[i] = { name = "Attack", use = ((not friendly) and (PctH("target") == 1)) }
i=i+1; Skill[i] = { name = "Slash", use = ((not friendly) and (energy >= 40)) }
i=i+1; Skill[i] = { name = "Attack", use = (tDead or (not combat and not enemy)) }
MyCombat(Skill,arg1)
if tDead then
TargetNearestEnemy()
end
if (not LockedOn) then
TargetNearestEnemy()
end
if LockedOn and (not enemy) then
TargetNearestEnemy()
end
end
function KWSolo(arg1, potslot, potslot2)
local Skill = {}
local i = 0
local combat = GetPlayerCombatState()
local friendly = (not UnitCanAttack("player", "target"))
local enemy = (UnitCanAttack("player","target"))
local rage = UnitMana("player")
local energy = UnitSkill("player")
local tbuffs = BuffList("target")
local pbuffs = BuffList("player")
local front = UnitIsUnit("player", "targettarget")
local tDead = UnitIsDeadOrGhost("target")
local melee = GetActionUsable(32)
local LockedOn = UnitExists("target")
local _1,potcd
if potslot ~= nil then
_1,potcd=GetActionCooldown(potslot)
end
if (PctH("player")<.70) and (potcd == 0) then
UseAction(potslot)
return
end
if potslot2 ~= nil then
_1,potcd=GetActionCooldown(potslot2)
end
if (PctM("player")<.80) and (CD("Mana Return")) and (potcd == 0) then
UseAction(potslot2)
return
end
i=i+1; Skill[i] = { name = "Holy Shield", use = (PctH("player") <= .25) }
i=i+1; Skill[i] = { name = "Resolution", use = ((PctH("player") <= .45) and (rage >= 120)) }
i=i+1; Skill[i] = { name = "Berserk", use = ((not friendly) and (PctH("player") <= .70) and (not string.find(pbuffs,"Defensive Formation")) and (not CD("Defensive Formation"))) }
i=i+1; Skill[i] = { name = "Defensive Formation", use = ((not friendly) and (PctH("player") <= .70)) }
i=i+1; Skill[i] = { name = "Enhanced Armor", use = ((not string.find(pbuffs,"Enhanced Armor")) and (rage >= 120)) }
i=i+1; Skill[i] = { name = "Holy Seal", use = ((not string.find(pbuffs,"Holy Seal")) and (rage >= 30)) }
i=i+1; Skill[i] = { name = "Shock", use = ((not friendly) and (rage >= 30) and (not melee) and (not CD("Charge"))) }
i=i+1; Skill[i] = { name = "Charge", use = ((not friendly) and (not melee)) }
i=i+1; Skill[i] = { name = "Whirlwind Shield", use = ((not friendly) and (melee) and (rage >= 150)) }
i=i+1; Skill[i] = { name = "Shield of Atonement", use = ((not friendly) and (melee) and (rage >= 30)) }
i=i+1; Skill[i] = { name = "Holy Strike", use = ((not friendly) and (rage >= 110) and (not string.find(tbuffs,"Light Seal III"))) }
i=i+1; Skill[i] = { name = "Mana Return", use = ((not friendly) and (string.find(tbuffs,"Holy Seals 3")) and (PctM("player")<.80)) }
i=i+1; Skill[i] = { name = "Punishment", use = ((not friendly) and (rage >= 110) and (string.find(tbuffs,"Light Seal III"))) }
i=i+1; Skill[i] = { name = "Enraged", use = (energy < 50) }
i=i+1; Skill[i] = { name = "Whirlwind", use = ((not friendly) and (energy >= 40)) }
i=i+1; Skill[i] = { name = "Slash", use = ((not friendly) and (energy >= 25) and (not string.find(tbuffs,"/Bleed/"))) }
i=i+1; Skill[i] = { name = "Attack", use = ((not friendly) and (PctH("target") == 1)) }
i=i+1; Skill[i] = { name = "Slash", use = ((not friendly) and (energy >= 40)) }
i=i+1; Skill[i] = { name = "Attack", use = (tDead or (not combat and not enemy)) }
MyCombat(Skill,arg1)
if tDead then
TargetNearestEnemy()
end
if (not LockedOn) then
TargetNearestEnemy()
end
if LockedOn and (not enemy) then
TargetNearestEnemy()
end
end
|
what is the name of skill in your slot 32?
Quoted from "ghostwolf82;342832"
Ok, so as I said, I have been working with this code for quite some time now, and here is the list of functions that I have created, and found to be the best way for each one to maximize the DPS output. Hope this helps someone out if they are making one of these class combos.
![]()
Source code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54function WarriorRogue(arg1, potslot) local Skill = {} local i = 0 local combat = GetPlayerCombatState() local friendly = (not UnitCanAttack("player", "target")) local enemy = (UnitCanAttack("player","target")) local rage = UnitMana("player") local energy = UnitSkill("player") local tbuffs = BuffList("target") local pbuffs = BuffList("player") local front = UnitIsUnit("player", "targettarget") local tDead = UnitIsDeadOrGhost("target") [B]local melee = GetActionUsable(32)[/B] local LockedOn = UnitExists("target") local _1,potcd if potslot ~= nil then _1,potcd=GetActionCooldown(potslot) end if (PctH("player")<.70) and (potcd == 0) then UseAction(potslot) return end i=i+1; Skill[i] = { name = "Survival Instinct", use = (PctH("player") < .33) } i=i+1; Skill[i] = { name = "Throw", use = ((not friendly) and (not melee) and (not CD("Shadow Step")) and (not CD("Surprise Attack"))) } i=i+1; Skill[i] = { name = "Shadow Step", use = ((not friendly) and (not melee) and not CD("Surprise Attack")) } i=i+1; Skill[i] = { name = "Surprise Attack", use = ((not friendly) and (not melee)) } i=i+1; Skill[i] = { name = "Blind Stab", use = (front and (not friendly) and (not string.find(tbuffs,"Blind"))) } i=i+1; Skill[i] = { name = "Shadowstab", use = ((not friendly) and (not string.find(tbuffs,"Excessive Bleeding"))and (not CD("Probing Attack"))) } i=i+1; Skill[i] = { name = "Enraged", use = (rage < 50) } i=i+1; Skill[i] = { name = "Slash", use = ((not friendly) and (rage >= 25) and (not string.find(tbuffs,"/Bleed/"))) } i=i+1; Skill[i] = { name = "Splitting Chop", use = ((not friendly) and (rage >= 15) and (string.find(tbuffs,"Weakened"))) } i=i+1; Skill[i] = { name = "Thunder", use = ((not friendly) and (rage >= 15) and (string.find(tbuffs,"Weakened"))) } i=i+1; Skill[i] = { name = "Open Flank", use = ((not friendly) and (rage >= 10) and (string.find(tbuffs,"Vulnerable"))) } i=i+1; Skill[i] = { name = "Keen Attack", use = ((not friendly) and (energy >= 20) and (string.find(tbuffs,"Vulnerable"))) } i=i+1; Skill[i] = { name = "Probing Attack", use = ((not friendly) and (rage >= 20)) } i=i+1; Skill[i] = { name = "Blood Dance", use = ((not friendly) and (PctH("player") >= 0.8)) } i=i+1; Skill[i] = { name = "Attack", use = ((not friendly) and (PctH("target") == 1)) } i=i+1; Skill[i] = { name = "Slash", use = ((not friendly) and (rage >= 40)) } i=i+1; Skill[i] = { name = "Shadowstab", use = (not friendly) } i=i+1; Skill[i] = { name = "Attack", use = tDead } MyCombat(Skill,arg1) if tDead then TargetNearestEnemy() end if (not LockedOn) then TargetNearestEnemy() end end
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
if potslot ~= nil then
_1,potcd=GetActionCooldown(potslot)
end
if (PctM("player")<.50) and (potcd == 0) then
UseAction(potslot)
return
end
if potslot2 ~= nil then
_1,potcd=GetActionCooldown(potslot2)
end
if (PctH("player")<.80) and (potcd == 0) then
UseAction(potslot2)
return
end
|
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
i=i+1; Skill[i] = { name = "Holy Shield", use = (PctH("player") <= .25) }
i=i+1; Skill[i] = { name = "Resolution", use = (PctH("player") <= .45) }
i=i+1; Skill[i] = { name = "Berserk", use = ((not friendly) and (PctH("player") <= .70) and (not string.find(pbuffs,"Defensive Formation")) and (not CD("Defensive Formation"))) }
i=i+1; Skill[i] = { name = "Defensive Formation", use = ((not friendly) and (PctH("player") <= .70)) }
i=i+1; Skill[i] = { name = "Enhanced Armor", use = (not string.find(pbuffs,"Enhanced Armor")) }
i=i+1; Skill[i] = { name = "Holy Seal", use = (not string.find(pbuffs,"Holy Seal")) }
i=i+1; Skill[i] = { name = "Shock", use = ((not friendly) and (not melee) and (not CD("Charge"))) }
i=i+1; Skill[i] = { name = "Charge", use = ((not friendly) and (not melee)) }
i=i+1; Skill[i] = { name = "Whirlwind Shield", use = ((not friendly) and (melee)) }
i=i+1; Skill[i] = { name = "Shield of Atonement", use = ((not friendly) and (melee)) }
i=i+1; Skill[i] = { name = "Holy Strike", use = ((not friendly) and (not string.find(tbuffs,"Light Seal III"))) }
i=i+1; Skill[i] = { name = "Mana Return", use = ((not friendly) and (string.find(tbuffs,"Holy Seals 3")) and (PctM("player")<.80)) }
i=i+1; Skill[i] = { name = "Punishment", use = ((not friendly) and (string.find(tbuffs,"Light Seal III"))) }
i=i+1; Skill[i] = { name = "Enraged", use = (rage < 50) }
i=i+1; Skill[i] = { name = "Whirlwind", use = ((not friendly) and (energy >= 40)) }
i=i+1; Skill[i] = { name = "Slash", use = ((not friendly) and (energy >= 25) and (not string.find(tbuffs,"/Bleed/"))) }
i=i+1; Skill[i] = { name = "Attack", use = ((not friendly) and (PctH("target") == 1)) }
i=i+1; Skill[i] = { name = "Slash", use = ((not friendly) and (energy >= 40)) }
i=i+1; Skill[i] = { name = "Attack", use = (tDead or (not combat and not enemy)) }
|
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
g_skill = {}
function Msg(outstr,a1,a2,a3)
DEFAULT_CHAT_FRAME:AddMessage(tostring(outstr),a1,a2,a3)
end
function ReadSkills()
g_skill = {}
local skillname,slot
Msg("- Reading Class Skills")
for page = 2,4 do
slot = 1
skillname = GetSkillDetail(page,slot)
repeat
local a1,a2,a3,a4,a5,a6,a7,a8,skillusable = GetSkillDetail(page,slot)
if skillusable then
g_skill[skillname] = { ['page'] = page, ['slot'] = slot }
end
slot = slot + 1
skillname = GetSkillDetail(page,slot)
until skillname == nil
end
end
ReadSkills() -- Read skills into g_skill table at login
function PctH(tgt)
return (UnitHealth(tgt)/UnitMaxHealth(tgt))
end
function ChkBuff(tgt,buffname)
local cnt = 1
local buffcmd = UnitBuff
if UnitCanAttack("player",tgt) then
buffcmd = UnitDebuff
end
local buff = buffcmd(tgt,cnt)
while buff ~= nil do
if string.gsub(buff, "(%()(.)(%))", "%2") == buffname then
return true
end
cnt = cnt + 1
buff = buffcmd(tgt,cnt)
end
return false
end
function BuffList(tgt)
local cnt = 1
local buffcmd = UnitBuff
local buffstr = "/"
if UnitCanAttack("player",tgt) then
buffcmd = UnitDebuff
end
local buff, icon, count, ID = buffcmd(tgt,cnt)
while buff ~= nil do
buffstr = buffstr..buff.."/"..ID.."/"
cnt = cnt + 1
buff, icon, count, ID = buffcmd(tgt,cnt)
end
return string.gsub(buffstr, "(%()(.)(%))", "%2")
end
function CD(skillname)
local firstskill = GetSkillDetail(2,1)
if (g_skill[firstskill] == nil) or (g_skill[firstskill].page ~= 2) then
ReadSkills()
end
if g_skill[skillname] ~= nil then
local tt,cd = GetSkillCooldown(g_skill[skillname].page,g_skill[skillname].slot)
return cd==0
else
Msg("Skill not available: "..skillname)
return false
end
end
function MyCombat(Skill,arg1)
local spell_name = UnitCastingTime("player")
local talktome = false
if (arg1 == "v1") or (arg1 == "v2") then
talktome = true
end
if spell_name ~= nil then
if (arg1 == "v2") then Msg("- ['..spell_name..']",0,1,1) end
return false
end
for x,tbl in ipairs(Skill) do
if CD(Skill[x].name) and Skill[x].use then
if talktome then Msg("- "..Skill[x].name) end
CastSpellByName(Skill[x].name)
return true
end
end
if (arg1 == "v2") then Msg("- IDLE") end
return false
end
function MyCombatRW(Skill,arg1)
local spell_name = UnitCastingTime("player")
local talktome = false
local _,_,mainhandname = GetInventoryItemDurable("player", 15)
if (arg1 == "v1") or (arg1 == "v2") then
talktome = true
end
if spell_name ~= nil then
if (arg1 == "v2") then Msg("- ['..spell_name..']",0,1,1) end
return false
end
--Msg("MH: ".. mainhandname);
--Msg("Axe: ".. axename);
for x,tbl in ipairs(Skill) do
if CD(Skill[x].name) and Skill[x].use then
if ((Skill[x].name == "Shadowstab") and (mainhandname == axename)) then
PickupEquipmentItem(16) PickupEquipmentItem(15)
if (arg1 == "v2") then Msg("- Swap to Dagger") end
return
elseif (Skill[x].name == "Shadowstab") then
CastSpellByName(Skill[x].name)
if talktome then Msg("- "..Skill[x].name) end
return true
end
if (mainhandname ~= axename) then
PickupEquipmentItem(16) PickupEquipmentItem(15)
if (arg1 == "v2") then Msg("- Swap to Axe") end
return
else
CastSpellByName(Skill[x].name)
if talktome then Msg("- "..Skill[x].name) end
return true
end
end
end
if (arg1 == "v2") then Msg("- IDLE") end
return false
end
function RogueWar(arg1,arg2)
local Skill = {}
local i = 0
local combat = GetPlayerCombatState()
local energy = UnitMana("player")
local rage = UnitSkill("player")
local friendly = (not UnitCanAttack("player","target"))
local pbuffs = BuffList("player")
local tbuffs = BuffList("target")
local Shadowstab_Bleed = "500654" -- Slash/Shadowstab bleeds share the same exact name
--Msg(tbuffs);
i=i+1; Skill[i] = { ['name'] = "Poison", ['use'] = ((not string.find(pbuffs, "Poisonous") and (not combat))) }
i=i+1; Skill[i] = { ['name'] = "Premeditation", ['use'] = ((not string.find(pbuffs,"Premeditation")) and (not combat))}
--i=i+1; Skill[i] = { ['name'] = "Blind Stab", ['use'] = ((not friendly) and (not string.find(tbuffs,"Blind")) and (energy >=75) and (string.find(tbuffs,Shadowstab_Bleed)))}
--i=i+1; Skill[i] = { ['name'] = "Enraged", ['use'] = ((rage < 50) and (string.find(tbuffs,Shadowstab_Bleed))) }
i=i+1; Skill[i] = { ['name'] = "Death's Touch", ['use'] = ((not friendly) and (not string.find(pbuffs,"Grim Reaper's Blessing")) and (string.find(tbuffs,Shadowstab_Bleed))) }
i=i+1; Skill[i] = { ['name'] = "Wound Attack", ['use'] = ((not friendly) and (energy >=35) and (string.find(tbuffs,Shadowstab_Bleed) and (string.find(tbuffs,"Grievous Wound")))) }
i=i+1; Skill[i] = { ['name'] = "Low Blow", ['use'] = ((not friendly) and (energy >=30) and (string.find(tbuffs,Shadowstab_Bleed))) }
i=i+1; Skill[i] = { ['name'] = "Poisonous Infection", ['use'] = ((not friendly) and (rage >=20) and string.find(pbuffs,"Poisonous") and string.find(tbuffs,"Bleed") and (not string.find(tbuffs,"Poisonous Infection"))) }
i=i+1; Skill[i] = { ['name'] = "Shadowstab", ['use'] = ((not friendly) and (energy >=75)) }
i=i+1; Skill[i] = { ['name'] = "Slash", ['use'] = ((not friendly) and (rage >=25)) }
MyCombatRW(Skill,arg1)
end
|
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
function WarriorRogue(arg1, potslot)
local Skill = {}
local i = 0
local combat = GetPlayerCombatState()
local friendly = (not UnitCanAttack("player", "target"))
local enemy = (UnitCanAttack("player","target"))
local rage = UnitMana("player")
local energy = UnitSkill("player")
local tbuffs = BuffList("target")
local pbuffs = BuffList("player")
local front = UnitIsUnit("player", "targettarget")
local tDead = UnitIsDeadOrGhost("target")
local melee = GetActionUsable(32)
local LockedOn = UnitExists("target")
local _1,potcd
if potslot ~= nil then
_1,potcd=GetActionCooldown(potslot)
end
if (PctH("player")<.70) and (potcd == 0) then
UseAction(potslot)
return
end
i=i+1; Skill[i] = { name = "Survival Instinct", use = (PctH("player") < .33) }
i=i+1; Skill[i] = { name = "Throw", use = ((not friendly) and (not melee) and (not CD("Shadow Step")) and (not CD("Surprise Attack"))) }
i=i+1; Skill[i] = { name = "Shadow Step", use = ((not friendly) and (not melee) and not CD("Surprise Attack")) }
i=i+1; Skill[i] = { name = "Surprise Attack", use = ((not friendly) and (not melee)) }
i=i+1; Skill[i] = { name = "Blind Stab", use = (front and (not friendly) and (not string.find(tbuffs,"Blind"))) }
i=i+1; Skill[i] = { name = "Shadowstab", use = ((not friendly) and (not string.find(tbuffs,"Excessive Bleeding"))and (not CD("Probing Attack"))) }
i=i+1; Skill[i] = { name = "Enraged", use = (rage < 50) }
i=i+1; Skill[i] = { name = "Slash", use = ((not friendly) and (rage >= 25) and (not string.find(tbuffs,"/Bleed/"))) }
i=i+1; Skill[i] = { name = "Splitting Chop", use = ((not friendly) and (rage >= 15) and (string.find(tbuffs,"Weakened"))) }
i=i+1; Skill[i] = { name = "Thunder", use = ((not friendly) and (rage >= 15) and (string.find(tbuffs,"Weakened"))) }
i=i+1; Skill[i] = { name = "Open Flank", use = ((not friendly) and (rage >= 10) and (string.find(tbuffs,"Vulnerable"))) }
i=i+1; Skill[i] = { name = "Keen Attack", use = ((not friendly) and (energy >= 20) and (string.find(tbuffs,"Vulnerable"))) }
i=i+1; Skill[i] = { name = "Probing Attack", use = ((not friendly) and (rage >= 20)) }
i=i+1; Skill[i] = { name = "Blood Dance", use = ((not friendly) and (PctH("player") >= 0.8)) }
i=i+1; Skill[i] = { name = "Attack", use = ((not friendly) and (PctH("target") == 1)) }
i=i+1; Skill[i] = { name = "Slash", use = ((not friendly) and (rage >= 40)) }
i=i+1; Skill[i] = { name = "Shadowstab", use = (not friendly) }
i=i+1; Skill[i] = { name = "Attack", use = tDead }
MyCombat(Skill,arg1)
if tDead then
TargetNearestEnemy()
end
if (not LockedOn) then
TargetNearestEnemy()
end
end
|
