act_timelineの扱うタイムラインは、テキストファイルで記述されています。テキストファイルを自分で追加することで、様々なレイドボスに対応することができます。
もし新しいタイムラインを作成したら、ぜひプルリクエストをお送りください。こちらのgithubで一緒に頒布したいと思います。githubの使い方がわからなければ、issuesにご登録いただくだけでも結構です。
展開したフォルダの中のresources/timeline以下にあります。このフォルダはACTのPlugin->ACT Timelineタブにある[Open Folder]ボタンをクリックしても開くことができます。
このフォルダに新しい.txtファイルを追加すると、タイムライン一覧に追加され、プラグインから利用することができます。
既存のタイムラインファイルをコピーして、それをベースに新しいタイムラインを作ると楽かもしれません。
タイムラインファイルの文字エンコードは、UTF-8のCRLF改行のものを想定しています。作者はSakura EditorやVimで作成しています。
タイムラインファイルでは、主に2種類の情報が記述されます:
- アクティビティ: どの時刻にどの攻撃がくるのかという情報
- 警告音の定義
シャープから始まる行や空行はコメント行として取り扱われます。その行に記述された内容は無視されます。
アクティビティは、タイムライン上の1項目をさします。ボスの行動やフェーズ移行のタイミングなどは、このアクティビティとして記述できます。
アクティビティは、以下の書式で定義されます:
キャスト開始時の戦闘開始からの秒数 "アクティビティの名前" [duration キャストタイム] [sync /ログ正規表現/ [window 有効時間]]
[]は省略可能な項目をさします。
例: 戦闘開始90秒後にくるディフュージョンレイ
90 "ディフュージョンレイ"
例: 戦闘開始164秒後にキャストが開始されるバリスティックミサイル、キャストタイムは3秒間
164 "バリスティックミサイル" duration 3
アクティビティと戦闘ログを紐づけることで、タイムライン時間と実際の戦闘進行のズレを、あるていど解消することができます。これは、パーティのDPSに依存してフェーズ進行タイミングが異なるようなボスに対して有効です。
act_timelineはACTから戦闘ログのデータを受け取っています。アクティビティに正規表現を記述しておくと、対応するログデータを受け取った時に、タイムライン時間を補正することができます。
例: 戦闘開始124秒後にくる地雷散布。"地雷が散布された"という戦闘ログをうけとると、タイムライン時間を124秒に補正する。
124 "地雷散布" sync /地雷が散布された/
この正規表現による同期には、デフォルトでは5秒の有効時間(window)が設定されています。 戦闘ログを受け取って、時刻同期が行われるのは±window/2秒間の間です。 たとえば、上の例だとタイムラインの現在時間が122秒だったときには、ズレが2秒 < 5/2 = 2.5秒以下のため同期が実行されますが、 130秒だったときには、ズレが6秒>2.5秒のため時刻同期は行われません。
心核破壊など、めったに流れないログに対しては長い有効時間を、気化爆弾など、頻繁に流れるログに対しては短い有効時間を設定することをお勧めします。
有効時間にアクティビティ前後で別々の値を指定するには、以下の書式を用いてください:
window [前window], [後window]
例:63秒地点でレイヴェンズクロウ。予定時刻7秒前(56秒地点)から予定時刻12秒後(75秒地点)までの間に正規表現 /ネール・デウス・ダーナスの「レイヴェンズクロウ」/ に適合するログを受け取った場合、現在時間を63秒に補正。
63 レイヴェンズクロウ sync /ネール・デウス・ダーナスの「レイヴェンズクロウ」/ window 7, 12
プレイするロールによっては、必要以上にアクティビティが画面上に表示され、邪魔に感じる場合もあります。
その場合、hideall文を用いると、特定のアクティビティの表示を隠すことができます:
hideall "アクティビティ名"
例: 凶鳥毒気アクティビティをタイムライン表示に乗せないようにする
hideall 凶鳥毒気
act_timelineでは、アクティビティの発生する前に、注意を促す警告音を鳴らすことができます。
警告音の設定は、以下の書式で行われます:
alertall "アクティビティの名前" before アクティビティキャストの何秒前に警告音を鳴らすか sound "警告音名"
警告音名は、resources/wavフォルダ以下にあるwavファイルの名称を直接入力するか、事前に定義した別名で指定することができます。
例:"防衛反応"の3秒前にse_maoudamasii_chime10.wavを鳴らす
alertall "防衛反応" before 3 sound "se_maoudamasii_chime10.wav"
警告音には、別名を設定することができます。
例: se_maoudamasii_onepoint07.wavに対して"怪しい"という別名を付ける。
define alertsound "怪しい" "se_maoudamashii_onepoint07.wav"
これで設定した別名は、alertallでアクティビティの警告音を設定する際に利用できます。
例:防衛反応の10秒前に"怪しい"という別名がつけられているse_maoudamashii_onepoint07.wavを鳴らす。
alertall "防衛反応" before 10 sound "怪しい"