I suppose I can do something to account for abbreviated numbers and added commas, but in general... all of the rounding isn't great for producing real calculations. It would be recommended to turn off the abbreviated numbers for parsing.
(1649968681)[Thu Apr 14 22:38:01 2022] Gaptia's Coordinated Wounds hits Brother Shen for a critical of 17.7B cold damage.
System.FormatException: Le format de la chaîne d'entrée est incorrect.
à System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
à ACT_Plugin.ACT_English_Parser.ExpandDamageAmount(String DamageString) dans c:\Users\david\AppData\Roaming\Advanced Combat Tracker\Plugins\ACT_English_Parser.cs:ligne 1072
à ACT_Plugin.ACT_English_Parser.DamageAndType..ctor(String UnsplitSource) dans c:\Users\david\AppData\Roaming\Advanced Combat Tracker\Plugins\ACT_English_Parser.cs:ligne 1670
à ACT_Plugin.ACT_English_Parser.EngGetDamageAndTypeArr(String damageAndType) dans c:\Users\david\AppData\Roaming\Advanced Combat Tracker\Plugins\ACT_English_Parser.cs:ligne 1263
à ACT_Plugin.ACT_English_Parser.LogExeEnglish(Match reMatch, Int32 logMatched, String logLine, Boolean isImport) dans c:\Users\david\AppData\Roaming\Advanced Combat Tracker\Plugins\ACT_English_Parser.cs:ligne 461
à ACT_Plugin.ACT_English_Parser.oFormActMain_BeforeLogLineRead(Boolean isImport, LogLineEventArgs logInfo) dans c:\Users\david\AppData\Roaming\Advanced Combat Tracker\Plugins\ACT_English_Parser.cs:ligne 379
à Advanced_Combat_Tracker.FormActMain.ParseRawLogLine(Boolean isImport, DateTime ParsedLogTime, String LogLine, String CompanionLogName)
à Advanced_Combat_Tracker.FormActMain.WriteExceptionLog(Exception ex, String MoreInfo)
à Advanced_Combat_Tracker.FormActMain.ParseRawLogLine(Boolean isImport, DateTime ParsedLogTime, String LogLine, String CompanionLogName)
à Advanced_Combat_Tracker.FormActMain.ReadLog()
à System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
So, this is the opposite of what I expected to happen. I expected the client to start using 1,23K formatting and the plugin wouldn't handle it. But instead, the plugin is inheiriting the OS locale and cannot understand 1.23K.
I can force the plugin to ignore the OS locale and use en-US... but is the EQ2 game client always going to use en-US number formatting?
Hmm, to me, it seems consistent. All of those lines would be parsed correctly in the en-US locale. Well, only the second line is actually parsed... but the numbers are valid.
Oh what i forgot to ask. Does the plugin work on abbreviated values or only the formatted ones. your last statement kinda made it sound like you don't support that format.
Comments
Can someone try out this version as a beta to see if it correctly handles formatted and/or abbreviated numbers?
https://raw.githubusercontent.com/EQAditu/AdvancedCombatTracker/master/Plugins/Standalone/ACT_English_Parser.cs
This is what my log looks like. I cycled through abbreviated, formatted and without.
Some custom triggers, depending on the regex used, may also not work for abbreviated or formatted logs.