Skip to content

Releases: ravahn/FFXIV_ACT_Plugin

Release 1.3.0.7

11 Dec 15:57
Compare
Choose a tag to compare

The 2.45 version update broke a relatively unimportant memory signature so parsing overall should have been reasonable. There were some minor skill adjustments to drg and nin, though, so a new version was needed.

Support for Stoneskin 2 damage shield is there, although I haven't tested it.

I've also modified the plugin to record "Invulnerable" hits, so that if you hit a target but it cannot take any damage, it will be recorded in ACT as a NoDamage line. This may also include debuffs.

At this point, the plugin should be all set after the patch, so please email me if you run into issues.

Released v1.3.0.6

04 Dec 18:22
Compare
Choose a tag to compare

Released v1.3.0.6 with some minor bug fixes:

  • Fixed a long-term problem where ACT would occasionally end encounters due to debugging lines containing a local PC timestamp which significantly differed from the server timestamp.
  • Fixed a bug with potent poisoning potions where they were not being registered at all.

Release v1.3.0.4

03 Dec 18:14
Compare
Choose a tag to compare

There are four big changes in this release:

  • When a DoT debuff lands on a target, it turns out that the plugin was already storing some critical information I hadn’t decoded yet. The lowest 8 bits of the average DoT tick, along with the lowest 8 bits of the player’s current critical hit rate, were in the combat data stream already. This is both extremely useful and frustrating at the same time, because it is not the entire DoT amount – if the DoT ticks for more than 260 damage, then this number will be 0x05, not 0x105. However, I have modified the plugin to use this information while also simulating the DoT tick, and this allows the plugin to calculate the 2nd byte of the DoT amount. The result: the average real in-game DoT amounts are used by the plugin now.
  • The DoT tick critical hit percent is sent in units of 1/10 of a percent, so the lowest 8-bits allows for up to 25.5% crit. When buffed, bards and monks exceed this, so the plugin does a similar trick to estimate the next byte of the DoT tick crit percent. Note that the ACT FFXIV plugin’s DoT simulation will still add a fixed amount to each tick corresponding to the crit %. This can be adjusted to show the individual crit hits by selecting the “Simulate Individual DoT Crits” setting. This setting is not enabled by default because parses will be more accurate and repeatable if no additional randomness is introduced.
  • Along with the DoT data comes two interesting extra values I decoded from the existing log data – Damage Aspect Type and Elemental Affinity Type. Damage Aspect Type refers to blunt, slashing, etc. Elemental Affinity Type refers to the elemental type of the hit. Note that both magic and physical damage types can have an elemental affinity. This new data is displayed within ACT DamageType column.
    What this means is that the remaining inaccuracies in DoT amounts should be due to too many / too few DoT ticks on the target. This is a very complex issue to solve due to the various latency issues involved between client / server as well as on the server itself.
  • Modified the network processing code to handle TCP retransmits. This appears to be the cause of all the 'network errors' that people have had reported since the 2.4 launch - extra lag / lost packets cause packets to be resent, and the plugin was not handling that correctly.

In addition to the above, there are a number of other fixes included in this version:

  • Fixed Galvanize & Stoneskin damage shields so they work again.
  • Changed how the plugin determines the local ip addresses in order to access FFXIV game traffic.
  • When a target now has more than 30 buffs, the plugin will now record them and simulate any DoT ticks that were previously being lost. This should now allow fates, CT, and ST runs to show accurate DoT ticks. Previously, any buffs / DoTs exceeding the 30-buff client display limit were being lost.
  • Minor adjustments to make the plugin 64-bit compatible. This will still require changes when FFXIV is upgraded to run in a 64-bit process, though.
  • Fixed two glaring bugs with current critical hit rate calculation.
  • Changed the filename for log files to start with date/time, and removed player name from the filename. This was causing problems for HistoryDB searches, even though it was helpful for me when receiving log files.
  • Added some multithread locking to the buffs processing. I don’t know where the multiple threads are coming from, but there are two bug reports that suggest it is necessary.
  • Recoded how Contagion works, it will no longer miss DoT effects cast <1.5 seconds before Contagion is used.
  • changed OverhealPct column data type to varchar so it properly exports to ODBC
  • Renamed the “Original DoT calculation” to “Simulate Individual DoT Crits”, to more clearly indicate what the option does: instead of adding a fixed amount to each dot tick, it randomly determines whether the tick should crit or not based off the dot debuff’s critical hit rate.

Release v1.2.3.1

10 Nov 19:12
Compare
Choose a tag to compare
  • Fixed problem with parsing when using regional settings where decimal places are represented by a comma.
  • Modified exception handling for the network parsing code, so that if an error occurs while decoding the packet it will continue attempting to parse data.
  • Modified Damage type tracking for cross-job skills, so that ACT records the correct damage type for the selected job. For example, the initial hit of Fracture when used on a Dragoon is Piercing, not Slashing. This will have a small indirect effect on DoT tick calculations.
  • Modified processing of ground AOE ticks when parsing from Network so that if there are multiple simultaneous aoes and they cannot be mapped to the correct player, it is still recorded in ACT with the correct Skill ID. Memory parsing cannot do this, unfortunately.
  • Fixed a bug when testing the firewall configuration and it was disabled, it would not always properly ignore the exception.
  • Added some flexibility on DoT debuff timing. Previously, when the DoT tick debuff is detected as ending in game memory, any server DoT tick messages that arrive after that timestamp would not create a new tick. The simulation now will allow it to tick if a DoT comes in up to 1.5 seconds after the debuff disappears from client memory, so long as the DoT has not exceeded the expected number of ticks based on its total duration. It also has code to prevent multiple simultaneous DoT debuffs from the same player ID ticking on the same target ID. This should help allow for lag between client and server, while including some protection against over-ticking. I will be monitoring and adjusting this in the future.