is there any way in old diyce that is to make a skill only work if another skill goes off first but the skill that goes off first has no buffs to it at all the only way i know how to do this is if there is a buff of some kind
... and numerous others Semi-retired
thats not how it works ofc. just by setting 2 skills one after the other doesnt mean they will fire in line. can give numerous examples likeis there any way in old diyce that is to make a skill only work if another skill goes off first but the skill that goes off first has no buffs to it at all the only way i know how to do this is if there is a buff of some kind
In DIYCE you set up your priority list of skills, it fires them in order if they are available to be fired and if they meet any extra criteria you may have set up. To have one skill fire after another can be as simple as placing it after the other on your list. That is what I think GW meant when he said it is a function of the GCD check. Your first skill fires, it is now on GCD so unavailable, so DIYCE moves to the next skill available which would be your second skill on the list.
That is the simplist explanation, of course it can be more complicated.
... and numerous others Semi-retired
|
|
Source code |
1 |
{ name = "Custom: Shadow Pulse", use = melee and (EnergyBar2 >= 20) and (g_lastaction ~= "Shadow Pulse") },
|
i have problems using the elite skills for warrior/champion it only cast slash but not bloody slash
--Class: Warrior/Champion
elseif mainClass == "WARRIOR" and subClass == "PSYRON" then
local SurpriseAttack = GetActionUsable(14)
--Potions and Buffs
Skill = {
{ name = "Bloody Battle", use = (phealth <= .90) and combat },
{ name = "Survival Instinct", use = (phealth <= .30) and combat },
}
--Combat
if enemy then
Skill2 = {
{ name = "Bloody Slash", use = (phealth >= 30) },
{ name = "Heavy Bash", use = (EnergyBar1 >= 20) },
{ name = "Slash", use = (phealth >= .20) },
{ name = "Attack", use = (thealth == 1) },
}
end
For an example, in DIYCE2 code it would look like this
{ name = "Custom: Shadow Pulse", use = melee and (EnergyBar2 >= 20) and (g_lastaction ~= "Shadow Pulse") },
There are plenty of examples in both this thread and in the thread for DIYCE2. Search for it, and you will find it.
As for the age of last post, in these two threads unlike anywhere else in the forums, you won't be necroing no matter how long it's been.
|
|
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 |
function RSPE(arg1)
local Skill = {}
local i = 0
local energy = UnitMana("player")
local focus = UnitSkill("player")
local friendly = (not UnitCanAttack("player", "target"))
local combat = GetPlayerCombatState()
local tspell,ttime,telapsed = UnitCastingTime("target")
local pbuffs = BuffList("player")
local tbuffs = BuffList("target")
i=i+1; Skill[i] = { name = "Throat Attack", use = ((not friendly) and (tspell ~= nil) and (ttime >= 1) and ((ttime - telapsed) > 0.5) and (focus >= 15)) }
i=i+1; Skill[i] = { name = "Wound Attack", use = ((not friendly) and (energy >= 35) and string.find(tbuffs, "Bleed") and string.find(tbuffs, "Grievous Wound")) }
i=i+1; Skill[i] = { name = "Low Blow", use = ((not friendly) and (energy >= 35) and string.find(tbuffs, "Bleed")) }
i=i+1; Skill[i] = { name = "Shadowstab", use = ((not friendly) and (energy >= 35) and (not string.find(tbuffs, "Bleed"))) }
i=i+1; Skill[i] = { name = "Vampire Arrows", use = (not friendly) }
i=i+1; Skill[i] = { name = "Shot", use = (not friendly) }
MyCombat(Skill,arg1)
--This code will auto-target "NPC(mobs)" ONLY! (including enemy's pets)
if tDead then
TargetUnit("")
return
end
if (not LockedOn) or (not enemy) then
for i=1,10 do
TargetNearestEnemy()
if not UnitIsPlayer("target") then
break
end
end
if UnitIsPlayer("target") then
TargetUnit("")
end
return
end
end
function RSPV(arg1)
local Skill = {}
local i = 0
local energy = UnitMana("player")
local focus = UnitSkill("player")
local friendly = (not UnitCanAttack("player", "target"))
local combat = GetPlayerCombatState()
local tspell,ttime,telapsed = UnitCastingTime("target")
local pbuffs = BuffList("player")
local tbuffs = BuffList("target")
i=i+1; Skill[i] = { name = "Throat Attack", use = ((not friendly) and (tspell ~= nil) and (ttime >= 1) and ((ttime - telapsed) > 0.5) and (focus >= 15)) }
i=i+1; Skill[i] = { name = "Wound Attack", use = ((not friendly) and (energy >= 35) and string.find(tbuffs, "Bleed") and string.find(tbuffs, "Grievous Wound")) }
i=i+1; Skill[i] = { name = "Low Blow", use = ((not friendly) and (energy >= 35) and string.find(tbuffs, "Bleed")) }
i=i+1; Skill[i] = { name = "Shadowstab", use = ((not friendly) and (energy >= 35) and (not string.find(tbuffs, "Bleed"))) }
i=i+1; Skill[i] = { name = "Vampire Arrows", use = (not friendly) }
i=i+1; Skill[i] = { name = "Shot", use = (not friendly) }
MyCombat(Skill,arg1)
--This code will auto-target the "players(enemies)" ONLY!
if tDead then
TargetUnit("")
return
end
if (not LockedOn) or (not enemy) then
for i=1,10 do
TargetNearestEnemy()
if UnitIsPlayer("target") then
break
end
end
if not UnitIsPlayer("target") then
TargetUnit("")
end
return
end
end
|