No? You can't just appy flag to anything. Their values are important.Any chance we can get ClassJobType enums flagged so I can use bitwise with them?
We return Exactly what the game function returns, it would be impossible to make it anymore accurate.On a separate note, it would be awesome if you could make doaction return values more accurate
I thought you defined the enums and could edit the values to allow bitwise | between class and job (which would be awesome for multiple behaviors with priority levels) I'm sure i can jerry rig something else.No? You can't just appy flag to anything. Their values are important.
That's too bad, I had assumed you used your own check.We return Exactly what the game function returns, it would be impossible to make it anymore accurate.
Sorry that documentation needs to be redone. Cancast has nothing todo with the queue anymore. If cancast is true you can cast the spell, if its not then you cant. Not going to take time to reverse stuff that isnt really needed when there are high priority targets atm.I thought you defined the enums and could edit the values to allow bitwise | between class and job (which would be awesome for multiple behaviors with priority levels) I'm sure i can jerry rig something else.
Good to know, just would have been nice.
That's too bad, I had assumed you used your own check.
Thanks for enlightening me about both of those issues. It's nice to know.
btw, any chance I can get a response on whether that Spell In Queue check would be possible? I wasn't sure what you meant regarding the check it's self when you said cancast no longer queues spells. Since the api description says it checks if a spell is in queue, I assumed you meant the call exists privately but was removed from cancast due to other reasons. Would be a real comfort to know if that one's not gonna happen. While it's a possibility, I can't help but consider approaches for my cr which require it to be executed properly. Which causes me to anxiously await a response from you :S
Sorry that documentation needs to be redone. Cancast has nothing todo with the queue anymore. If cancast is true you can cast the spell, if its not then you cant. Not going to take time to reverse stuff that isnt really needed when there are high priority targets atm.
Version 179
Code:Updated for latest version of ff14. Changes: Logic behind Actionmanager.CanCast has drastically changed. Previously we ignored the ability to queue spells in order make development of CR's easier but now we are reaching a point where that advanced functionality is required. Now spells will use ff14's internal queue system. Psuedo code for new cancast: if (!spellqueued) if (!groundtargeting) if (spelltype = ability,weaponskill,spell) if (spell.cooldown < 500 ms) return true return false; What this means is that we will queue spells up up to 500ms before the spells cooldown ends. A good example to test this logic with is a low level arcanist. You can start casting ruin and almost immeditaly after that cancast("aetherflow") and it will now return true allowing you to queue up aetherflow to be cast directly after ruin is done casting. This does have a sideffect of making groundtargeting spells less likely to be cast as they cannot be queued. To counter this I have implemented Actionmanager.CanCastLocation which should be used now for ground targeting spells. This version of cancast has very loose checks inorder to provide a chance for groundtargeting spells to be selected. useitem and useobject tags now have shortcircuit logic in their waits making the bot appear more human. Fixes: Fix issue where some spellcastinfo information wasn't being fetched properly. Throw an exception if teleport tag requests a aetheryte that we do not currently have pvpbot dispose of connection handler on stop