EQ2の謎のツールを公開

C#で作成したため、起動にはMicrosoft .NET Framework 2.0のRuntimeが必要です。ログの文字コードUTF-8でなければいけません。
起動して「File」ボタンでファイルを指定すると、まずセッションごとに開始時刻が表示されます。括弧の中はログのサイズです。loginしてからlogoutするまでが1セッションです。1つだけ選択して切り分けボタンを押すと、そのセッションだけのログを切り出すことが可能です。全ログをメモリに取り込んでしまう構造のため、巨大化したログは扱えないと思います。ログの切り分けのキーワードは"Logging toまたは"へのログを*オン*にしました"です。ログの仕様が変わってこのキーワードが変化すると対応できなくなります。
リストボックス中のセッション見出しをダブルクリックすると、新しいダイアログが開いて、そのセッション中の戦闘の総数と、戦闘ごとの時刻と秒数を表示します。"戦闘を開始した"から"戦闘を終えた"までを1戦闘と認識するため、グループ戦の場合1つの戦闘がズタズタに切れることがあります。この場合はエディタでログを加工して、不要なキーワードを削除する必要があります。
ここで「一括」ボタンを押すとそのセッションの全戦闘のログ解析が始まります。選択した戦闘だけのログを解析したい時は、リストボックスでタイトルを選択して「選択」ボタンを押します。
どちらのボタンを押してもダイアログが開いて解析が始まります。リストボックスは2つあり、その中間にYOU are YOUの文字があります。上のリストボックスにはそのログに登場した人物とMobの名前が表示され、下のリストボックスにはそのログの内容が表示されています。
EQ2のログでは、"あなたのキャラクター名"と"YOU"と"YOUR"と"あなた"があなたのキャラクターの行為を表しています。半端な日本語化の賜物ですね。で、ここで"YOU"と"YOUR"と"あなた"を表すキャラクタ名を上のリストボックスで選択します。すると、中間の文字列が "YOU are (あなたのキャラ名)"と変化します。この選択をしなかった場合、キャラクタ名とYOU系の結果が分離してしまいます。YOUには命中した分が、あなたのキャラ名には攻撃失敗した分が集まります(そういうログの構造なのです)。
「結果」ボタンを押すと結果が表示されます。上のダイアログには登場した名前ごとの解析結果を、下のダイアログにはログのその行がどのように解釈されたかを表します。行の頭の意味は以下の通りです。

  • □は無効行と判定
  • ■は攻撃成功行と判定
  • ○は攻撃失敗行と判定
  • ▲はヒール行と判定

「ログの保存」ボタンを押すと、戦闘に関係する行全て+判定結果を含んだ行全てが_logを追加ファイル名で保存されます。通常使う分にはこれを押す必要はありません。デバッグ用です。
「結果の保存」ボタンを押すと、上のダイアログに表示された整形結果+はてな用の表形式の整形結果+CSV形式の整形結果をまとめて_resultを追加したファイル名で保存されます。
結果ファイルから通りすがりの人物やMobの行を削り落とし、プライバシーに配慮した加工をすれば、解析ログの出来上がりです。
参考までに昨晩 Undead pawn(33)とBSK(32)がソロで殴り合った時のログ解析(無加工)です。BSKの驚異の回復力がなければ負けていたというギリギリの戦いです。

Name          Damage dps dph Hit Critical Miss Rate% Heal
YOU 3214 41 50 64 16 10 86%
an undead pawn 2317 29 66 35 1 1 97%

最大ダメージはYOUの274