Releases: ravahn/FFXIV_ACT_Plugin
Release v1.3.0.10
Minor updates for patch 2.5:
- Some mob debuffs in WoD and Garuda Extreme mode were causing problems for the DoT simulation. These have now been adjusted to match parses, and will hopefully not cause any more problems. Please continue to let me know if you find examples of the DoT ticks running wild. Generally, individual ticks will not be over 255 damage except for rare mobs with debuffs, or extremely well geared players.
- Added ActorID/TargetID ACT tags for DoT ticks to be consistent with other parse entries.
- Added zone id mappings for Chrysalis, WoD, Odin's zone, and Carteneau Flats. Please continue to send me the zone ids for Unknown Zones that were added in FFXIV patch 2.5. Still need Keeper of the Lake, WP (Hard) and AK (Hard) at least.
Release v1.3.0.9
Initial updates to support FFXIV version 2.5, along with a handful of minor feature changes.
- Updated memory locations for patch 2.5.
- Added combatant variables for ParryPct, BlockPct, and Incoming hit rate. These can be used to format the miniparser text, or for clipboard format strings.
- Added combatant variables for Last10DPS, Last30DPS, and Last60DPS to include an estimate of the last 10/30/60 seconds of DPS for both the combatant and the encounter.
- Modified unknown ground AOE ticks (i.e. ground effects cast by mobs that do continual damage) to attempt to match the effect to the mob. This will not work if there is more than one mob with the buff id in effect, in which case it only records the name of the buff that caused the damage. Currently, these effects appear as ‘Unknown DoT Tick’ in ACT.
- Included the Actor ID and Target ID in the ACT tags collection for every MasterSwing. This could be helpful when exporting data or writing plugins that reuse FFXIV plugin data.
- Fixed some multithreading code that was locking the wrong lock object. This may be the cause of the “collection was modified” errors that occur occasionally.
This version contains the updated skill and status effect names, but does not contain any of the new zone IDs. Please send me any unknown zone IDs (not including quest zones) and I'll include them in the next release.
Additionally, please email me log files so I can validate that ACT is parsing them correctly. My email is ravahn (at) Hotmail.com
Release 1.3.0.7
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
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
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
- 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.