Quoted from "garr71;280048"
Hi, i havent been able to fully test this, cuz mobs die way to fast even when a few levels above me. But can someone take a look and see if the priority etc is right on the skills or if im missing something?
Quoted from "garr71;280048"
i=i+1; Skill = { ['name'] = "Power of the Wood Spirit", ['use'] = ((not friendly) and (PctH("target") < .30) ) }
i=i+1; Skill[i] = { ['name'] = "Charged Chop", ['use'] = ((not friendly) and string.find(tbuffs,"Thorny Vine") and string.find(pbuffs,"Achilles' Heel Strike") and string.find(tbuffs,"Bleed") and string.find(tbuffs,"Gravel Attack"))}
i=i+1; Skill[i] = { ['name'] = "Gravel Attack", ['use'] = ((not friendly) and string.find(tbuffs,"Thorny Vine") and string.find(pbuffs,"Achilles' Heel Strike") and string.find(tbuffs,"Bleed"))}
i=i+1; Skill[i] = { ['name'] = "Thorny Vines", ['use'] = ((not friendly) and (not string.find(tbuffs, "Thorny Vine"))) }
i=i+1; Skill[i] = { ['name'] = "Achilles' Heel Strike", ['use'] = ((not friendly) and (not string.find(tbuffs, "Achilles' Heel Strike"))) }
i=i+1; Skill[i] = { ['name'] = "Shadowstab", ['use'] = ((not friendly) and (energy >=35)) }
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
function ChkArg(arg1,skillname)
if string.find(arg1, skillname) ~= nil then
return true
end
return false
end
...
i=i+1; Skill[i] = { name = "Charged Chop", use = ((not friendly) and ChkArg(arg2,"CChop") and ChkArg(pbuffs, "Critical Feeling") and (not ChkArg(tbuffs, "Thorny Vine"))) }
i=i+1; Skill[i] = { name = "Power of the Wood Spirit", use = ((not friendly) and ChkArg(pbuffs, "Critical Feeling")) }
i=i+1; Skill[i] = { name = "Power of the Wood Spirit", use = ((not friendly) and ChkArg(arg2, "PSpam") and (PctH("target") < .30)) }
i=i+1; Skill[i] = { name = "Blind Stab", use = ((not friendly) and (energy >=50) and ChkArg(arg2,"BStab") and (not ChkArg(tbuffs, "Blind"))) }
i=i+1; Skill[i] = { name = "Thorny Vines", use = ((not friendly) and ChkArg(arg2,"TVines")) }
i=i+1; Skill[i] = { name = "Achilles' Heel Strike", use = ((not friendly) and (energy >= 30) ) }
-- i=i+1; Skill[i] = { name = "Shadowstab", use = ((not friendly) and (energy >=35) and ChkArg(arg2, "SStab") and (not ChkArg(tbuffs, "Bleed"))) }
i=i+1; Skill[i] = { name = "Charged Chop", use = ((not friendly) and ChkArg(arg2,"CChop")) }
i=i+1; Skill[i] = { name = "Gravel Attack", use = ((not friendly) and (energy >=30) and ChkArg(arg2,"GAttack")) }
i=i+1; Skill[i] = { name = "Shadowstab", use = ((not friendly) and (energy >=35) and ChkArg(arg2, "SStab")) }
i=i+1; Skill[i] = { name = "Power of the Wood Spirit", use = ((not friendly)) }
|
Quoted from "WOLead;280284"
Now if only I can find out a way to create editable boxes with checkmarks, so that this plugin can be altered by a click, rather then a macro button edit.
Quoted from "garr71;280324"
Also, do i paste your code into mine starting where?
|
|
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 |
function ChkArg(arg1,skillname)
if string.find(arg1, skillname) ~= nil then
return true
end
return false
function WardenRogue(arg1,arg2)
local Skill = {}
local i = 0
local Mana = UnitMana("player")
local energy = UnitSkill("player")/UnitMaxSkill("player")
local friendly = (not UnitCanAttack("player","target"))
local combat = GetPlayerCombatState()
local pbuffs = BuffList("player")
local tbuffs = BuffList("target")
local petname = tostring(UnitName("playerpet"))
local thealth = PctH("target")
i=i+1; Skill[i] = { name = "Charged Chop", use = ((not friendly) and ChkArg(arg2,"CChop") and ChkArg(pbuffs, "Critical Feeling") and (not ChkArg(tbuffs, "Thorny Vine"))) }
i=i+1; Skill[i] = { name = "Power of the Wood Spirit", use = ((not friendly) and ChkArg(pbuffs, "Critical Feeling")) }
i=i+1; Skill[i] = { name = "Power of the Wood Spirit", use = ((not friendly) and ChkArg(arg2, "PSpam") and (PctH("target") < .30)) }
-- i=i+1; Skill[i] = { name = "Blind Stab", use = ((not friendly) and (energy >=50) and ChkArg(arg2,"BStab") and (not ChkArg(tbuffs, "Blind"))) }
i=i+1; Skill[i] = { name = "Thorny Vines", use = ((not friendly) and ChkArg(arg2,"TVines")) }
i=i+1; Skill[i] = { name = "Achilles' Heel Strike", use = ((not friendly) and (energy >= 30) ) }
-- i=i+1; Skill[i] = { name = "Shadowstab", use = ((not friendly) and (energy >=35) and ChkArg(arg2, "SStab") and (not ChkArg(tbuffs, "Bleed"))) }
i=i+1; Skill[i] = { name = "Charged Chop", use = ((not friendly) and ChkArg(arg2,"CChop")) }
i=i+1; Skill[i] = { name = "Gravel Attack", use = ((not friendly) and (energy >=30) and ChkArg(arg2,"GAttack")) }
i=i+1; Skill[i] = { name = "Shadowstab", use = ((not friendly) and (energy >=35) and ChkArg(arg2, "SStab")) }
i=i+1; Skill[i] = { name = "Power of the Wood Spirit", use = ((not friendly)) }
MyCombat(Skill,arg1)
end
|
Quoted from "garr71;280542"
Err im sorry, not used to deal with this... how exactly should i put it? cuz this way it gives me a string error.
|
|
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 |
function ChkArg(arg1,skillname)
if string.find(arg1, skillname) ~= nil then
return true
end
return false
[B][I]end[/I][/B]
function WardenRogue(arg1,arg2)
local Skill = {}
local i = 0
local Mana = UnitMana("player")
local energy = UnitSkill("player")/UnitMaxSkill("player")
local friendly = (not UnitCanAttack("player","target"))
local combat = GetPlayerCombatState()
local pbuffs = BuffList("player")
local tbuffs = BuffList("target")
local petname = tostring(UnitName("playerpet"))
local thealth = PctH("target")
i=i+1; Skill[i] = { name = "Charged Chop", use = ((not friendly) and ChkArg(arg2,"CChop") and ChkArg(pbuffs, "Critical Feeling") and (not ChkArg(tbuffs, "Thorny Vine"))) }
i=i+1; Skill[i] = { name = "Power of the Wood Spirit", use = ((not friendly) and ChkArg(pbuffs, "Critical Feeling")) }
i=i+1; Skill[i] = { name = "Power of the Wood Spirit", use = ((not friendly) and ChkArg(arg2, "PSpam") and (PctH("target") < .30)) }
-- i=i+1; Skill[i] = { name = "Blind Stab", use = ((not friendly) and (energy >=50) and ChkArg(arg2,"BStab") and (not ChkArg(tbuffs, "Blind"))) }
i=i+1; Skill[i] = { name = "Thorny Vines", use = ((not friendly) and ChkArg(arg2,"TVines")) }
i=i+1; Skill[i] = { name = "Achilles' Heel Strike", use = ((not friendly) and (energy >= 30) ) }
-- i=i+1; Skill[i] = { name = "Shadowstab", use = ((not friendly) and (energy >=35) and ChkArg(arg2, "SStab") and (not ChkArg(tbuffs, "Bleed"))) }
i=i+1; Skill[i] = { name = "Charged Chop", use = ((not friendly) and ChkArg(arg2,"CChop")) }
i=i+1; Skill[i] = { name = "Gravel Attack", use = ((not friendly) and (energy >=30) and ChkArg(arg2,"GAttack")) }
i=i+1; Skill[i] = { name = "Shadowstab", use = ((not friendly) and (energy >=35) and ChkArg(arg2, "SStab")) }
i=i+1; Skill[i] = { name = "Power of the Wood Spirit", use = ((not friendly)) }
MyCombat(Skill,arg1)
end
|
Quoted from "WOLead;280529"
Question though, is there already an example of Pet Skill usage called up in this add-on or shall I figure that one out myself?
|
|
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 |
function PriestScout(arg1)
local Skill = {}
local i = 0
local friendly = (not UnitCanAttack("player", "target"))
local combat = GetPlayerCombatState()
local pbuffs = BuffList("player")
local tbuffs = BuffList("target")
local health, buffs
if friendly then
health = PctH("target")
buffs = tbuffs
else
health = PctH("player")
buffs = pbuffs
end
i=i+1; Skill[i] = { ['name'] = "Amplified Attack", ['use'] = ((not combat) and (friendly and (not string.find(tbuffs,"Amplified Attack")))) }
i=i+1; Skill[i] = { ['name'] = "Magic Barrier", ['use'] = ((not combat) and (not string.find(pbuffs,"Magic Barrier"))) }
i=i+1; Skill[i] = { ['name'] = "Blessed Spring Water", ['use'] = ((not combat) and (not string.find(pbuffs,"Blessed Spring Water"))) }
i=i+1; Skill[i] = { ['name'] = "Grace of Life", ['use'] = ((not combat) and (not string.find(pbuffs,"Grace of Life"))) }
i=i+1; Skill[i] = { ['name'] = "Soul Bond", ['use'] = (not string.find(pbuffs,"Soul Bond")) }
i=i+1; Skill[i] = { ['name'] = "Embrace of the Water Spirit", ['use'] = (not string.find(pbuffs,"Embrace of the Water Spirit")) }
i=i+1; Skill[i] = { ['name'] = "Soul Source", ['use'] = (health <= .20) }
i=i+1; Skill[i] = { ['name'] = "Holy Aura", ['use'] = (PctH("player") <= .40) }
i=i+1; Skill[i] = { ['name'] = "Heal", ['use'] = (health <= .50) }
i=i+1; Skill[i] = { ['name'] = "Urgent Heal", ['use'] = (health <= .80) }
i=i+1; Skill[i] = { ['name'] = "Regenerate", ['use'] = ((not friendly) and (health <= .90) and (not string.find(pbuffs,"Regenerate"))) }
i=i+1; Skill[i] = { ['name'] = "Regenerate", ['use'] = (friendly and (health <= .90) and (not string.find(tbuffs,"Regenerate"))) }
i=i+1; Skill[i] = { name = "Vampire Arrows", use = ((not friendly) and (focus >= 20)) }
i=i+1; Skill[i] = { name = "Shot", use = (not friendly) }
i=i+1; Skill[i] = { ['name'] = "Bone Chill", ['use'] = ((not friendly) and (not string.find(tbuffs,"Bone Chill"))) }
i=i+1; Skill[i] = { ['name'] = "Rising Tide", ['use'] = (not friendly) }
MyCombat(Skill,arg1)
end
|
Quoted from "Mousekawitz;280614"
Buffs me when myself or nothing selected, buffs party members when targeted.
![]()
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 37function PriestScout(arg1) local Skill = {} local i = 0 local friendly = (not UnitCanAttack("player", "target")) local combat = GetPlayerCombatState() local pbuffs = BuffList("player") local tbuffs = BuffList("target") local health, buffs if friendly then health = PctH("target") buffs = tbuffs else health = PctH("player") buffs = pbuffs end i=i+1; Skill[i] = { ['name'] = "Amplified Attack", ['use'] = ((not combat) and (friendly and (not string.find(tbuffs,"Amplified Attack")))) } i=i+1; Skill[i] = { ['name'] = "Magic Barrier", ['use'] = ((not combat) and (not string.find(pbuffs,"Magic Barrier"))) } i=i+1; Skill[i] = { ['name'] = "Blessed Spring Water", ['use'] = ((not combat) and (not string.find(pbuffs,"Blessed Spring Water"))) } i=i+1; Skill[i] = { ['name'] = "Grace of Life", ['use'] = ((not combat) and (not string.find(pbuffs,"Grace of Life"))) } i=i+1; Skill[i] = { ['name'] = "Soul Bond", ['use'] = (not string.find(pbuffs,"Soul Bond")) } i=i+1; Skill[i] = { ['name'] = "Embrace of the Water Spirit", ['use'] = (not string.find(pbuffs,"Embrace of the Water Spirit")) } i=i+1; Skill[i] = { ['name'] = "Soul Source", ['use'] = (health <= .20) } i=i+1; Skill[i] = { ['name'] = "Holy Aura", ['use'] = (PctH("player") <= .40) } i=i+1; Skill[i] = { ['name'] = "Heal", ['use'] = (health <= .50) } i=i+1; Skill[i] = { ['name'] = "Urgent Heal", ['use'] = (health <= .80) } i=i+1; Skill[i] = { ['name'] = "Regenerate", ['use'] = ((not friendly) and (health <= .90) and (not string.find(pbuffs,"Regenerate"))) } i=i+1; Skill[i] = { ['name'] = "Regenerate", ['use'] = (friendly and (health <= .90) and (not string.find(tbuffs,"Regenerate"))) } i=i+1; Skill[i] = { name = "Vampire Arrows", use = ((not friendly) and (focus >= 20)) } i=i+1; Skill[i] = { name = "Shot", use = (not friendly) } i=i+1; Skill[i] = { ['name'] = "Bone Chill", ['use'] = ((not friendly) and (not string.find(tbuffs,"Bone Chill"))) } i=i+1; Skill[i] = { ['name'] = "Rising Tide", ['use'] = (not friendly) } MyCombat(Skill,arg1) end
Does NOTHING when enemy targeted.
Tried to just copy and paste a pre-existing one but couldn't find any...
I just need the shot/vamp shot from scout, with bone chill and rising tide on priest. And of course all the heals and buffs that go without saying
|
|
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 |
function ScoutPriest(arg1)
local Skill = {}
local i = 0
local pbuffs = BuffList("player")
local tbuffs = BuffList("target")
local focus = UnitMana("player")
local mana = UnitSkill("player")
local friendly = (not UnitCanAttack("player","target"))
i=i+1; Skill[i] = { ['name'] = "Magic Barrier", ['use'] = (not string.find(pbuffs,"Magic Barrier")) }
i=i+1; Skill[i] = { ['name'] = "Magic Barrier", ['use'] = ((friendly) and (not string.find(tbuffs,"Magic Barrier"))) }
i=i+1; Skill[i] = { ['name'] = "Frost Arrow", ['use'] = (not string.find(pbuffs,"Frost Arrow")) }
-- i=i+1; Skill[i] = { ['name'] = "Snipe", ['use'] = ((not friendly) and (not combat))}
i=i+1; Skill[i] = { ['name'] = "Regenerate", ['use'] = ((not friendly) and (PctH("player") <= .80) and (not string.find(pbuffs,"Regenerate"))) }
i=i+1; Skill[i] = { ['name'] = "Regenerate", ['use'] = (friendly and (PctH("target") <= .80) and (not string.find(tbuffs,"Regenerate"))) }
i=i+1; Skill[i] = { ['name'] = "Urgent Heal", ['use'] = (PctH("player") <= .70) }
-- i=i+1; Skill[i] = { ['name'] = "Combo Shot", ['use'] = (not friendly) }
i=i+1; Skill[i] = { ['name'] = "Shot", ['use'] = (not friendly) }
i=i+1; Skill[i] = { ['name'] = "Vampire Arrows", ['use'] = ((not friendly) and (PctH("player") <= .85) and (focus >= 20)) }
i=i+1; Skill[i] = { ['name'] = "Wind Arrows", ['use'] = ((not friendly) and (focus >= 15)) }
-- arg2 use again i=i+1; Skill[i] = { ['name'] = "Piercing Arrow", ['use'] = (not friendly) }
MyCombat(Skill,arg1)
end
function PriestScout(arg1)
local Skill = {}
local i = 0
local tgt = "player"
local friendly = false
local combat = GetPlayerCombatState()
if not UnitCanAttack("player","target") then
tgt = "target"
friendly = true
end
local health = PctH(tgt)
local pbuffs = BuffList("player")
local tbuffs = BuffList("target")
-- i=i+1; Skill[i] = { ['name'] = "Soul Bond", ['use'] = (not string.find(pbuffs,"Soul Bond")) }
i=i+1; Skill[i] = { ['name'] = "Embrace of the Water Spirit", ['use'] = (not string.find(pbuffs,"Embrace of the Water Spirit")) }
i=i+1; Skill[i] = { ['name'] = "Soul Source", ['use'] = (PctH("player") <= .20) }
i=i+1; Skill[i] = { ['name'] = "Holy Aura", ['use'] = (PctH("player") <= .40) }
i=i+1; Skill[i] = { ['name'] = "Regenerate", ['use'] = ((not friendly) and (PctH("player") <= .80) and (not string.find(pbuffs,"Regenerate"))) }
i=i+1; Skill[i] = { ['name'] = "Regenerate", ['use'] = (friendly and (PctH("target") <= .80) and (not string.find(tbuffs,"Regenerate"))) }
i=i+1; Skill[i] = { ['name'] = "Heal", ['use'] = (PctH("player") <= .50) }
i=i+1; Skill[i] = { ['name'] = "Urgent Heal", ['use'] = (PctH("player") <= .80) }
i=i+1; Skill[i] = { ['name'] = "Grace of Life", ['use'] = ((not combat) and (not string.find(pbuffs,"Grace of Life"))) }
-- i=i+1; Skill[i] = { ['name'] = "Amplified Attack", ['use'] = ((not combat) and (friendly and (not string.find(tbuffs,"Amplified Attack")))) }
i=i+1; Skill[i] = { ['name'] = "Bone Chill", ['use'] = ((not friendly) and (not string.find(tbuffs,"Bone Chill"))) }
i=i+1; Skill[i] = { ['name'] = "Rising Tide", ['use'] = (not friendly) }
i=i+1; Skill[i] = { ['name'] = "Magic Barrier", ['use'] = ((not combat) and (not string.find(pbuffs,"Magic Barrier"))) }
i=i+1; Skill[i] = { ['name'] = "Blessed Spring Water", ['use'] = ((not combat) and (not string.find(pbuffs,"Blessed Spring Water"))) }
MyCombat(Skill,arg1)
end
|
would break the script for me. I changed all the code back to the original mod's globals. For Vamp Arrow, you do not define what "focus" is; remember, the primary class skill is always considered mana and the secondary class is skill. Try adding
Quoted
local health, buffs
if friendly then
health = PctH("target")
buffs = tbuffs
else
health = PctH("player")
buffs = pbuffs
|
|
Source code |
1 2 |
local focus = UnitMana("player")
local mana = UnitSkill("player")
|
That's similar to what I was trying to do. Go back to post #538; Maybe I need to just test pieces of the code see what I can get working. In this case, that script should theoretically start casting summon when the SotO is at 40% health; 3 seconds before the cast ends it should activate the Entangle ability, then as soon as the new SotO appears it should spam it's punch.
Quoted
Thanks for catching that error of garr71's before I got back on the forums.
As to my question, I was hoping to be able to throw in something like Spirit of the Oak's Entangle into the mix for my CC macro. I guess I'll simply test and see what doesn't blow up in my face, then report back what works. Thinking it may take opening the skill page check from 2,4 to 2,5 to get the pet skills. If it works, I can purposely set the Sepal Stab to go off at the same time as a Charged Chop hopefully in case of Critical Feeling.
