title.
/chars
title.
/chars
If you casted this spell less then one second ago?
so i tested. I think it has to do with how many times you casted it.
basically that line would only return true ONCE, as after the first time, you can w/e ability, then.. its casted. I tried it on REJUVENATION, and it cast it once, then... nothing, for like a solid min or two, then it cast again.
It was trash, I dont know if combat dropped, or if there is some time of cache that keeps record of your casts?
anyways, thats my theory.
( I will note, that in Tao's old MW he uses "player.spell(detox).casted < 1" as a condition for his dispells, and it seems to dispell multiple times in a fight)
..nvm I guess im still lost
You can test this on the tank dummy maybe get hit by it and go out of range, tank dummy is a pain to get out of combat with so you could use that :P
with a simple profile that just does.
{"player.spell(Rejuvination).casted < 1", { "player.health < 90"}},
{"Wrath"},
Check time of first rejuv cast and see if second is a minute later?
PS: Probably mispelled rejuvination so check that :P
You can put in the ooc part, for test it
hmm, can't quote questions in a title... grr...
From the look of it, casted checks the last 10 successfully cast spells by the player so "player.spell(xxx).casted < 1" will return true only if the spell being queried is not in that list of 10 spells. I did not see a trigger for the castCache being reset, but I suspect that might occur at combat start or stop. (Oooor... maybe it never actually wipes, but there were enough other spells being cast In Combat or OOC to push your Rejuv off the table so the conditional became true again.) As a whole, I do not see why casted would be used for a condition for dispels. A "!modifier.last" conditional seems more appropriate for a dispel so that PE does not accidentally try to stack the same dispel in the automated queue twice due to lag. The "player.spell(xxx).casted" conditional is more for setting up sequences such as double Steady Shot for Hunters or more complex spell setups that need multiple preceding spells to qualify.
Is there a way to make it check just the last three spell casts? Id like to cast combustion if it shot three pyroblasts. Or something like that. I'm trying to think of a genuine safe fallback for automating combustion.
What would be nice, is if I new actual coding.
What I would do is this:
Measure the magnitude of the ignite dot every tick, and store that in a cache or something.
Then have the bot cast combustion when that ignite magnitude Reeves l reaches a threshold.
Say it records the dot ticks ranging anywhere between 10-50, with the average tick at 22. What this data would show is that ignite is relatively low, with a few high spikes. (I think)
Now the condition would be to cast combustion when the ignite tick is in the top 20th percentile of that data range.
If the function always updated this 'cache' You will never have to update the combustion conditional, because the data range itself updates. i.e. right now it's 10-50, but with better gear it ranges more 60-80 with an average of 70.
Not sure if the additional statistics is needed, but if there was a way to collect that data, and set a custom function to cast when it's in the top 20% of that data range, would be amazing
It would prob need to clear every so often.
Or note that I think about it, would this be easier:
Since pe has the spell list of last 10 spells like you said, how about measure the ignite tick over that interval, use that data range as your sample, then return true if the current ignite tick is at last within 20% of the max.
So using the above example, 10-50 was the min and maximum input dot, if we can't do advanced statistics using interquartile data ranges, we can just say
50 minus 10=40
40/100=.4
.4x80=32
10+32= 42
So if the ignite dot reaches 42 or above, then cast.
Also, when enterring combat, use the most recent threshold from the last time you were in combat until new data is collected?
Id pay to have this I think.
If not, a conditional of the pyros back to back would be good I think. Haven't leveled my mage yet, but was wanting to build a profile to use while leveling, then possibly raiding
Last edited by Mackdaddy2887; 12-31-2014 at 04:48 AM.
This requires BOTH combat log reading & tooltip reading, both of which lack API calls from wow natively.
ProbablyEngine - Developer and Lead Support
A Powerful Rotation Bot: ProbablyEngine
the only way i can think of to cast something if the last 3 spell's are the same would be:
Code:local spell1 = false local spell2 = false local spell3 = false ProbablyEngine.listener.register("COMBAT_LOG_EVENT_UNFILTERED", function(...) local timeStamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, destRaidFlags, _ = ... if event == "SPELL_CAST_SUCCESS" then if sourceGUID == UnitGUID("player") then -- Monk MW // Soothing Mist if spellID == 115175 then if spell1 and spell2 and not spell3 then spell3 == true end if spell1 and not spell2 then spell2 == true end if not spell1 then spell1 == true end if spell3 then spell1 == false spell2 == false spell3 == false return true end end end end end)
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety.