I got it working in mLEM! But I find that it still just mashes it too hard for KA to do anything, same as with MQ2React it mashes quickly but without any breaks the caster doesn't get a chance to do anything. Anyone know a solution to this? I tried putting in some delays but that doesn't really help.
This is what I have so far:
Lua:
local mq = require('mq')
local function condition()
return not mq.TLO.Me.Casting() and
mq.TLO.Me.PctHPs()>80 and
mq.TLO.Me.PctMana()<99 and
not mq.TLO.Me.Invis() and
mq.TLO.Group.Member(mq.TLO.Group.Leader.CleanName()).PctHPs () > 89
end
local function action()
mq.cmd('/useitem "Manastone"')
mq.delay(550)
mq.cmd('/useitem "Manastone"')
end
return {condfunc=condition, actionfunc=action}
without allowing the automation that is automating stuff to handle when/where stuff happens you're going to run into conflicts.
you can't cast more than 1 thing at a time (unless you're a weirdo bard) so kiss isn't going to try and cast while you're casting something else.
this use case is pretty niche - what i would end up doing - just spitballing, as there are a ton of different approaches to this problem - would be having a
Lua utility with a bind like "/manastone" and that would call the function with a counter, to smash the manastone 5 times (or however many)
this example is in dps, you'd need one in buffs as well for out of combat
INI:
Dpson=2
dps1=command:/manastone|99|cond1
cond1=${Me.PctHps} > 80 && ${Me.PctMana} < 99 && ${Group.MainTank.PctHPs} > 89 && !${Me.Invis}
inside the full-time running
Lua script has the bind and the bind action to spam the manastone thing for either a: a counter of times or b: a timed amount of times and then stop.
this would mean kiss would check to do this first, and fire of the
Lua aggressively for a "burst" every time it cycles to check to do it
(incoming untested likely badcode - but hopefully an idea)
Lua:
local mq = require("mq")
local function bind_manastone()
for i=0, 5 do
mq.cmd('/useitem "Manastone"')
mq.cmd('/useitem "Manastone"')
mq.delay(1000)
end
end
local function setup()
mq.bind('/manastone', bind_manastone)
end
local function main()
while true do
mq.delay(500)
end
end
-- set it the bind and such
setup()
-- run the main loop
main()