- Joined
- Feb 27, 2011
- Messages
- 5,354
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