
|
|
Source code |
1 |
i=i+1; Skill[i] = { ['name'] = "Neck Strike", ['use'] = ((not friendly) and (tspell ~= nil) and (ttime >= 1) and ((ttime - telapsed) > 0.5) and (focus >= 15)) }
|
|
|
Source code |
1 |
Skill[#Skill+1] = { ['name'] = "Neck Strike", ['use'] = ((not friendly) and (tspell ~= nil) and (ttime >= 1) and ((ttime - telapsed) > 0.5) and (focus >= 15)) }
|
|
|
Source code |
1 2 3 4 5 6 7 |
local function addSkill(tbl, tbl_entries)
assert( (type(tbl) == "table" and type(tbl_entries) == "table"), "function addSkill arguments error: arg1 = "..type(tbl)..", arg2 = "..type(tbl_entries) );
tbl[#tbl+1] = tbl_entries;
return;
end
|
|
|
Source code |
1 2 |
addSkill(Skill, { name = "Enhanced Armor", use = (not string.find(pbuffs, "Enhanced Armor") and (mana >= 120))} );
addSkill(Skill, { name = "Tactical Attack", use = ((not friendly) and (rage >=15) and string.find(tbuffs, SlashBleed))} );
|
Quoted from "Maroot;400310"
why not just use Lua's length operator (#) to get the current index of your Skills table and just increment based on that. Example(s):
Current
Modified
![]()
Source code
1i=i+1; Skill[i] = { ['name'] = "Neck Strike", ['use'] = ((not friendly) and (tspell ~= nil) and (ttime >= 1) and ((ttime - telapsed) > 0.5) and (focus >= 15)) }
![]()
Source code
1Skill[#Skill+1] = { ['name'] = "Neck Strike", ['use'] = ((not friendly) and (tspell ~= nil) and (ttime >= 1) and ((ttime - telapsed) > 0.5) and (focus >= 15)) }
|
|
Source code |
1 2 3 4 |
Skill = {
{ name = "Neck Strike", use = ((not friendly) and (tspell ~= nil) and (ttime >= 1) and ((ttime - telapsed) > 0.5) and (focus >= 15)) },
{ name = "some other ability", use = (some other condition) },
}
|
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 |
SkillTable = {}
function DoDIYCE(customFunction)
SkillTable = {}
customFunction()
MyCombat(SkillTable)
end
function DoSpell(name, condition)
SkillTable[#SkillTable + 1] = { name = actionName, use = condition == nil or condition }
end
|
|
|
Source code |
1 2 3 4 5 |
function MageScoutDps()
DoSpell("Fire Rose", BuffTimeLeft("target", "Fire Rose") < 2)
DoSpell("Fireball")
DoSpell("Flame")
end
|
|
|
Source code |
1 |
/run DoDIYCE(MageScoutDps) |
|
|
Source code |
1 2 3 4 5 6 |
local front = UnitIsUnit("player","targettarget")
local snipe = GetActionUsable(74) --Check if Snipe is usable
local shot = GetActionUsable(75) --Check if Shot is usable
local comboshot = GetActionUsable(76) --Check of Combo Shot is usable
i=i+1; Skill[i] = { name = "Combo Shot", use = (((not friendly) and ((not front) or (string.find(tbuffs, "Blind")))) and ((snipe and (not shot)) or (comboshot))) }
|
Has anyone ever made a YouTube guide about DIYCE setup? A visual representation would help greatly in my opinion.Location: That one place over there - see?
Occupation: Going places, doing things.. getting them done!
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function RogueScout(arg1)
local Skill = {}
local i = 0
local energy = UnitMana("player")
local enemy = UnitCanAttack("player","target")
i=i+1; Skill[i] = { name = "Shadowstab", use = (not ChkBuff("target","Bleed") and energy >= 20) }
i=i+1; Skill[i] = { name = "Vampire Arrows", use = (not ChkBuff("target","Vampire Arrows")) }
i=i+1; Skill[i] = { name = "Wound Attack", use = (ChkBuff("target","Bleed") and ChkBuff("target","Grievous Wound") and (energy >= 35) and not(CD("Wound Attack"))) }
i=i+1; Skill[i] = {name = "Low Blow", use = (energy >= 30) }
MyCombat(Skill,arg1)
end
|
Quoted from "scannerdarkly;405107"
Maybe I'm just dense, but the whole DIYCE thing looks extremely complicated to set up. Way more than I've ever had to do to get things like effective shot rotations while activating trinkets and on-use items at the same time.
And honestly, the written explanation kind of falls short for me. I mean I think I get it but...Has anyone ever made a YouTube guide about DIYCE setup? A visual representation would help greatly in my opinion.
I'm not trying to sound ungrateful to the mod author. People that devote time to help make games people love even better have my deepest respect. I just get confused easily since my second stroke (first stroke in my mid 20s, second in my 30s...) and I try to simplify games to as few button presses as possible. I was hoping this addon would help me make playing RoM feel less like whack-a-mole than it does now.
How much use would this be to me while leveling a scout or any other class?
Quoted
function WardenScout(arg1)
local Skill = {}
local i = 0
local mana = UnitMana("player")/UnitMaxMana("player")
local focus = UnitSkill("player")
local friendly = (not UnitCanAttack("player","target"))
local combat = GetPlayerCombatState()
local melee = GetActionUsable(6)
local phealth = PctH("player")
local pmana = PctM("player")
i=i+1; Skill = { name = "Action: 70 (h pot)", use = (phealth <= .50) and GetActionUsable(70) }
i=i+1; Skill[i] = { name = "Action: 71 (HoT Pot)", use = (phealth <= .70) and GetActionUsable(71) }
i=i+1; Skill[i] = { name = "Action: 72 (HoT Pot)", use = (phealth <= .90) and GetActionUsable(70) }
i=i+1; Skill[i] = { name = "Action: 68 (Mana pot)", use = (pmana <= .10) and GetActionUsable(6}
i=i+1; Skill[i] = { name = "Action: 69 (MOT pot)", use = (pmana <= .40) and GetActionUsable(69) }
i=i+1; Skill[i] = { name = "Anti-Magic Arrow", use = (not friendly) and (not melee) }
i=i+1; Skill[i] = { name = "Vampire Arrows", use = (not friendly) and (not melee) }
i=i+1; Skill[i] = { name = "Shot", use = (not friendly) and (not melee) }
i=i+1; Skill[i] = { name = "Thorny Vine", use = (not friendly) and (pmana >= .10) }
i=i+1; Skill[i] = { name = "Charged Chop", use = (not friendly) and (pmana >= .10) }
i=i+1; Skill[i] = { name = "Cross Chop", use = (not friendly) and (pmana >= .30) }
i=i+1; Skill[i] = { name = "Power of the Wood Spirit", use = (not friendly) and (pmana >= .25) }
i=i+1; Skill[i] = { name = "Anti-Magic Arrow", use = (not friendly) and (pmana <= .30) }
i=i+1; Skill[i] = { name = "Vampire Arrows", use = (not friendly) and (pmana <= .10) }
i=i+1; Skill[i] = { name = "Shot", use = (not friendly) and (pmana <= .10) }
MyCombat(Skill,arg1)
end
Quoted from "mwpeck;406328"
Anyone know where I can get up to date formula's for skills?
On the rom wiki (both of the halfway decent looking ones I could find), it says regenerate costs: 35 + 3.5 / level.....the problem is my warrior/priest is lvl 36/34, regenerate at level 30 currently costs 136. If we follow the above formula exactly, it should cost 35 mana (35 + 3.5 / 30 = 35.116), unless that 3.5 is suppose to be 3.5% of your max mana or something, but even then, I have 1063 mana, so lets try that again:
35 + (1063 * 3.5%) / 30 = 36....nope, still not right.
Am I just completely misunderstanding the formula's or is something really wrong with this formula's?
The reason I ask is because instead of changing the mana values in my script every time I level a skill, I would like to use the same formula's as in-game so it scales with my skill levels (if it's possible to check skill levels with DIYCE).
and (not string.find(pbuffs, "Regenerate")) and (mana >= 196)) }
But still it is something for W/K's out there. |
|
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 |
function WarriorKnight2h(arg1,arg2)
local Skill = {}
local i = 0
local friendly = (not UnitCanAttack("player","target"))
local rage = UnitMana("player")
local mana = UnitSkill("player")
local pbuffs = BuffList("player")
local tbuffs = BuffList("target")
local phealth = PctH("player")
i=i+1; Skill[i] = { ['name'] = "Enhanced Armor", ['use'] = (not string.find(pbuffs,"Enhanced Armor")) }
i=i+1; Skill[i] = { ['name'] = "Blocking Stance", ['use'] = (not string.find(pbuffs,"Blocking Stance")) }--
i=i+1; Skill[i] = { ['name'] = "Survival Instinct", ['use'] = (phealth < .40) }
i=i+1; Skill[i] = { ['name'] = "Disarmament", ['use'] = ((not friendly) and (not string.find(tbuffs,"Disarmament IV")) and (arg2 == "disarm")) }
i=i+1; Skill[i] = { ['name'] = "Enraged", ['use'] = ((not friendly) and (rage <= 50)) }
i=i+1; Skill[i] = { ['name'] = "Tactical Attack", ['use'] = ((not friendly) and (rage >= 15) and string.find(tbuffs,"Bleed")) }
i=i+1; Skill[i] = { ['name'] = "Open Flank", ['use'] = ((not friendly) and (rage >= 10) and string.find(tbuffs,"Bleed")) }
i=i+1; Skill[i] = { ['name'] = "Probing Attack", ['use'] = ((not friendly) and (rage >= 20) and string.find(tbuffs,"Bleed")) }
i=i+1; Skill[i] = { ['name'] = "Slash", ['use'] = ((not friendly) and (rage >= 25)) }
i=i+1; Skill[i] = { ['name'] = "Disarmament", ['use'] = (not friendly) }
MyCombat(Skill,arg1)
end
function WarriorKnight1h(arg1,arg2)
local Skill = {}
local i = 0
local friendly = (not UnitCanAttack("player","target"))
local rage = UnitMana("player")
local mana = UnitSkill("player")
local pbuffs = BuffList("player")
local tbuffs = BuffList("target")
local phealth = PctH("player")
i=i+1; Skill[i] = { ['name'] = "Enhanced Armor", ['use'] = (not string.find(pbuffs,"Enhanced Armor")) }
i=i+1; Skill[i] = { ['name'] = "Blocking Stance", ['use'] = (not string.find(pbuffs,"Blocking Stance")) }
i=i+1; Skill[i] = { ['name'] = "Survival Instinct", ['use'] = (phealth < .40) }
i=i+1; Skill[i] = { ['name'] = "Disarmament", ['use'] = ((not friendly) and (not string.find(tbuffs,"Disarmament IV")) and (arg2 == "disarm")) }
i=i+1; Skill[i] = { ['name'] = "Enraged", ['use'] = ((not friendly) and (rage <= 50)) }
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'] = "Probing Attack", ['use'] = ((not friendly) and (rage >= 20)) }
i=i+1; Skill[i] = { ['name'] = "Slash", ['use'] = ((not friendly) and (rage >= 25)) }
i=i+1; Skill[i] = { ['name'] = "Disarmament", ['use'] = (not friendly) }
MyCombat(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 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 |
arrowTime = 0
SlotRWB = 16 --Action Bar Slot # for Rune War Bow
SlotVLB = 17 --Action Bar Slot # for Valiant Long Bow
function ScoutWarden(arg1, potslot)
--potslot = Health potion.
local Skill = {}
local i = 0
-- Player and target status.
local combat = GetPlayerCombatState()
local enemy = UnitCanAttack("player","target")
local focus = UnitMana("player")
local pctmana = PctS("player")
local tbuffs = BuffList("target")
local pbuffs = BuffList("player")
local front = UnitIsUnit("player", "targettarget")
local tDead = UnitIsDeadOrGhost("target")
local melee = GetActionUsable(13) -- # is your melee range spell slot number
local phealth = PctH("player")
local LockedOn = UnitExists("target")
local a1,a2,a3,a4,a5,ASon = GetActionInfo(14) -- # is your Autoshot slot number
local boss = UnitSex("target") > 2
local party = GetNumPartyMembers() >= 4
local _,_,_,_,RWB,_ = GetActionInfo( SlotRWB )
local _,_,_,_,VLB,_ = GetActionInfo( SlotVLB )
--Silence Logic
local tSpell,tTime,tElapsed = UnitCastingTime("target")
local silenceList = "/Annihilation/King Bug Shock/Mana Rift/Dream of Gold/Flame/Flame Spell/Wave Bomb/Silence/Recover/Restore Life/Heal/Curing Shot/Leaves of Fire/Urgent Heal/"
local silenceThis = ((tSpell ~= nil) and (string.find(silenceList, tSpell)) and ((tTime - tElapsed) > 0.1))
--Potion Checks
potslot = potslot or 0
--Ammo Check and Equip
if GetCountInBagByName("Runic Thorn") > 0 then
UseItemByName("Runic Thorn")
return true
end
if GetInventoryItemDurable("player", 9) == 0
and GetTime() - arrowTime > 2 then
if (not RWB) then
UseAction(SlotRWB)
return
end
UseEquipmentItem(10)
arrowTime = GetTime()
return true
end
if (not VLB) then
UseAction(SlotVLB)
return
end
--Equipment and Pet Protection
if (PctH("player") <= .05111) then
SwapEquipmentItem()
for i=1,3 do
if (IsPetSummoned(i) == true) then
ReturnPet(i);
end
end
end
--Potions and buffs
i=i+1; Skill[i] = { name = "Action: "..potslot, use = (phealth < .70) }
i=i+1; Skill[i] = { name = "Frost Arrow", use = (not combat) and (focus >= 20) and ((not string.find(pbuffs,"Frost Arrow")) or (BuffTimeLeft("player","Frost Arrow") <= 45)) }
i=i+1; Skill[i] = { name = "Entling Offering", use = (pctmana >= .15) and ((not string.find(pbuffs,"Entling Offering")) or (BuffTimeLeft("player","Entling Offering") <= 45)) }
i=i+1; Skill[i] = { name = "Briar Shield", use = (pctmana >= .15) and ((not string.find(pbuffs,"Briar Shield")) or (BuffTimeLeft("player","Briar Shield") <= 45)) }
i=i+1; Skill[i] = { name = "Blood Arrow", use = ((not combat or (phealth <= .45)) and (string.find(pbuffs,"Blood Arrow"))) }
i=i+1; Skill[i] = { name = "Target Area", use = (tdead and (string.find(pbuffs,"Target Area"))) }
--Combat
if enemy then
i=i+1; Skill[i] = { name = "Throat Attack", use = melee and (silenceThis) }
if boss then
i=i+1; Skill[i] = { name = "Blood Arrow", use = (phealth >= .95) and (not string.find(pbuffs,"Blood Arrow")) }
i=i+1; Skill[i] = { name = "Target Area", use = (focus >= 40) and (not string.find(pbuffs,"Target Area")) }
i=i+1; Skill[i] = { name = "Concentration", use = (not string.find(pbuffs,"Concentration")) }
i=i+1; Skill[i] = { name = "Savage Power", use = (pctmana >= .04) }
i=i+1; Skill[i] = { name = "Arrow of Essence", use = (not string.find(pbuffs,"Arrow of Essence")) }
end
i=i+1; Skill[i] = { name = "Snipe", use = (string.find(pbuffs,"Hidden Peril")) }
i=i+1; Skill[i] = { name = "Hidden Peril", use = (focus >= 30)}
i=i+1; Skill[i] = { name = "Thorn Arrow", use = (pctmana >= .12) }
i=i+1; Skill[i] = { name = "Autoshot", use = (not ASon) }
i=i+1; Skill[i] = { name = "Combo Shot", use = true }
i=i+1; Skill[i] = { name = "Shoot", use = true }
i=i+1; Skill[i] = { name = "Wind Arrows", use = (focus >= 15) }
end
MyCombat(Skill,arg1)
if (not party) then
if (tDead) or (not LockedOn) or (not enemy) then
TargetNearestEnemy()
end
end
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 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 |
function KnightMage(arg1, potslot, potslot2)
--potslot = Health potion.
--potslot2 = Mana potion.
local Skill = {}
local i = 0
-- Player and target status.
local combat = GetPlayerCombatState()
local enemy = UnitCanAttack("player","target")
local mana = UnitMana("player")
local pctmana = PctM("player")
local tbuffs = BuffList("target")
local pbuffs = BuffList("player")
local tDead = UnitIsDeadOrGhost("target")
local melee = GetActionUsable(13) -- # is your melee range spell slot number
local LKBR = GetActionUsable(20) -- # is Lion King Battle Roar spell slot number
local phealth = PctH("player")
local LockedOn = UnitExists("target")
local boss = UnitSex("target") > 2
local party = GetNumPartyMembers() >= 2
--Silence Logic
local tSpell,tTime,tElapsed = UnitCastingTime("target")
local silenceList = "/Annihilation/King Bug Shock/Mana Rift/Dream of Gold/Flame/Flame Spell/Wave Bomb/Silence/Recover/Restore Life/Heal/Curing Shot/Leaves of Fire/Urgent Heal/"
local silenceThis = ((tSpell ~= nil) and (string.find(silenceList, tSpell)) and ((tTime - tElapsed) > 0.1))
--Potion Checks
potslot = potslot or 0
potslot2 = potslot2 or 0
--Equipment and Pet Protection
if (PctH("player") <= .04) then
SwapEquipmentItem()
for i=1,3 do
if (IsPetSummoned(i) == true) then
ReturnPet(i);
end
end
end
--Potions and buffs
i=i+1; Skill[i] = { name = "Action: "..potslot, use = (phealth <= .68) }
i=i+1; Skill[i] = { name = "Action: "..potslot2, use = (pctmana <= .40) }
i=i+1; Skill[i] = { name = "Enhanced Armor", use = (pctmana >= .05) and ((not string.find(pbuffs,"Enhanced Armor")) or (BuffTimeLeft("player","Enhanced Armor") <= 45)) }
i=i+1; Skill[i] = { name = "Holy Seal", use = (pctmana >= .05) and ((not string.find(pbuffs,"Holy Seal")) or (BuffTimeLeft("player","Holy Seal") <= 45)) }
i=i+1; Skill[i] = { name = "Lightning Armor", use = (pctmana >= .05) and ((not string.find(pbuffs,"Lightning Armor")) or (BuffTimeLeft("player","Lightning Armor") <= 45)) }
--i=i+1; Skill[i] = { name = "Fire Ward", use = (pctmana >= .05) and ((not string.find(pbuffs,"Fire Ward")) or (BuffTimeLeft("player","Fire Ward") <= 45)) }
--Mana Shield
if IsShiftKeyDown() and (string.find(pbuffs,"Mana Shield")) then
CancelBuff("Mana Shield")
end
i=i+1; Skill[i] = { name = "Mana Shield", use = (pctmana <= .25) }
--Combat
if enemy then
i=i+1; Skill[i] = { name = "Silence", use = (silenceThis) }
i=i+1; Skill[i] = { name = "Resolution", use = party and boss }
i=i+1; Skill[i] = { name = "Shield of Discipline", use = party and boss }
i=i+1; Skill[i] = { name = "Intensification", use = party and boss }
i=i+1; Skill[i] = { name = "Shield of Valor", use = party and boss }
i=i+1; Skill[i] = { name = "Hatred Strike", use = (pctmana >= .05) and party and boss }
i=i+1; Skill[i] = { name = "Threaten", use = (pctmana >= .05) and party and boss and (string.find(tbuffs,"Holy Seals 3")) }
i=i+1; Skill[i] = { name = "Action: 20", use = (pctmana >= .07) and LKBR and party and boss }
i=i+1; Skill[i] = { name = "Custom: Holy Light Domain", use = (pctmana >= .05) and (not string.find(tbuffs,"Holy Illumination")) and ((string.find(tbuffs,"Light Seal I")) or (string.find(tbuffs,"Light Seal II")) or (string.find(tbuffs,"Light Seal III"))) and (g_lastaction ~= "Holy Light Domain") }
i=i+1; Skill[i] = { name = "Mana Return", use = (pctmana <= .80) and (string.find(tbuffs,"Holy Seals 3")) }
i=i+1; Skill[i] = { name = "Whirlwind Shield", use = (pctmana >= .05) and (string.find(tbuffs,"Holy Illumination")) }
i=i+1; Skill[i] = { name = "Custom: Holy Strike", use = (pctmana >= .05) and (not string.find(tbuffs,"Light Seal III")) }
i=i+1; Skill[i] = { name = "Disarmament", use = (pctmana >= .05) and (not string.find(tbuffs,"Disarmament IV")) and (string.find(tbuffs,"Holy Illumination")) and party and boss }
i=i+1; Skill[i] = { name = "Custom: Holy Strike", use = (pctmana >= .05) }
i=i+1; Skill[i] = { name = "Attack", use = (PctH("target") == 1) }
end
-- Loot corpse, or interact with NPC.
i=i+1; Skill[i] = { name = "Attack", use = (tDead or (not combat and not enemy)) }
MyCombat(Skill,arg1)
if (tDead) or (not LockedOn) or (not enemy) then
TargetNearestEnemy()
end
end
|
Location: Dominating in 3vs3, 6vs6 and siege.
Occupation: Network Administrator for a local NBC T.V. station.
|
|
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 |
g_cnt = 0
function WardenScout(arg1, potslot, potslot2)
local Skill = {}
local i = 0
local combat = GetPlayerCombatState()
local enemy = UnitCanAttack("player","target")
local focus = UnitMana("player")
local mana = PctS("player")
local pmana = UnitSkill("player")
local tbuffs = BuffList("target")
local pbuffs = BuffList("player")
local front = UnitIsUnit("player", "targettarget")
local tDead = UnitIsDeadOrGhost("target")
local melee = GetActionUsable(9) -- # is your melee range spell slot number
local phealth = PctH("player")
local thealth = PctH("target")
local LockedOn = UnitExists("target")
local ammo = (GetEquipSlotInfo(10) ~= nil)
potslot = potslot or 0
potslot2 = potslot2 or 0
--Ammo Check and Equip
if (ammo == false) then
local HaveAmmo = false
local arrows = ""
for i=1,60 do
local x,y,name = GetBagItemInfo(i)
if ((string.find(name, " Thorn")) or (string.find(name, " Arrow"))) then
HaveAmmo = true
arrows = name
end
end
if (HaveAmmo == true) then
i=i+1; Skill[i] = { name = "Item: "..arrows, use = (not ammo) } --Equip arrows if have
elseif ((g_cnt%100) == 0) then
SendChatMessage("I'm out of arrows!! Hit your reload button!!","SAY")
end
g_cnt = g_cnt + 1
end
--Potions and buffs
i=i+1; Skill[i] = { name = "Action: "..potslot, use = (phealth < .25) }
i=i+1; Skill[i] = { name = "Action: "..potslot2, use = (mana < .50) }
i=i+1; Skill[i] = { name = "Briar Shield", use = ((not string.find(pbuffs,"Briar Shield")) and (pmana >= 120)) }
i=i+1; Skill[i] = { name = "Blood Arrow", use = ((not combat or (phealth <= .45)) and (string.find(pbuffs,"Blood Arrow"))) }
i=i+1; Skill[i] = { name = "Blood Arrow", use = (combat and (not string.find(pbuffs,"Blood Arrow") and (phealth > .99))) }
if enemy and (not melee) then
if IsShiftKeyDown() then
i=i+1; Skill[i] = { name = "Movement Restriction", use = (not combat) }
end
i=i+1; Skill[i] = { name = "Shot", use = true }
i=i+1; Skill[i] = { name = "Vampire Arrows", use = (focus >= 20) }
i=i+1; Skill[i] = { name = "Anti-Magic Arrow", use = (focus >= 30) }
i=i+1; Skill[i] = { name = "Cross Chop", use = (mana >= .35) }
-- i=i+1; Skill[i] = { name = "Piercing Arrow", use = true }
elseif enemy and melee then
if IsShiftKeyDown() then
i=i+1; Skill[i] = { name = "Elven Amulet", use = true }
i=i+1; Skill[i] = { name = "Throat Attack", use = true }
i=i+1; Skill[i] = { name = "Wrist Attack", use = true }
end
i=i+1; Skill[i] = { name = "Thorny Vine", use = true }
i=i+1; Skill[i] = { name = "Movement Restriction", use = true }
i=i+1; Skill[i] = { name = "Cross Chop", use = true }
i=i+1; Skill[i] = { name = "Power of the Wood Spirit", use = true }
i=i+1; Skill[i] = { name = "Wrist Attack", use = (focus >= 35) }
i=i+1; Skill[i] = { name = "Joint Blow", use = (not string.find(tbuffs,"Slow")) }
end
i=i+1; Skill[i] = { name = "Attack", use = (tDead or (not combat and not enemy)) }
MyCombat(Skill,arg1)
if (tDead) or (not LockedOn) or (not enemy) then
TargetNearestEnemy()
end
end
g_cnt = 0
|