<commit_before>'use strict';

[{
  zoneRegex: {
    en: /^The Second Coil Of Bahamut - Turn \(2\)$/,
    cn: /^巴哈姆特大迷宫 \(入侵之章2\)$/,
  },
  timelineFile: 't7.txt',
  triggers: [
    {
      id: 'T7 Ram',
      regex: Regexes.startsUsing({ id: '860', source: 'Proto-Chimera', capture: false }),
      regexDe: Regexes.startsUsing({ id: '860', source: 'Proto-Chimära', capture: false }),
      regexFr: Regexes.startsUsing({ id: '860', source: 'Protochimère', capture: false }),
      regexJa: Regexes.startsUsing({ id: '860', source: 'プロトキマイラ', capture: false }),
      regexCn: Regexes.startsUsing({ id: '860', source: '原型奇美拉', capture: false }),
      regexKo: Regexes.startsUsing({ id: '860', source: '프로토 키마이라', capture: false }),
      condition: function(data) {
        // TODO: is this silenceable in 5.0?
        return data.CanStun() || data.CanSilence();
      },
      infoText: {
        en: 'Silence Ram\'s Voice',
        de: 'Verstumme Stimme des Widders',
        fr: 'Interrompez Voix du bélier',
        cn: '沉默寒冰咆哮',
      },
    },
    {
      id: 'T7 Dragon',
      regex: Regexes.startsUsing({ id: '861', source: 'Proto-Chimera', capture: false }),
      regexDe: Regexes.startsUsing({ id: '861', source: 'Proto-Chimära', capture: false }),
      regexFr: Regexes.startsUsing({ id: '861', source: 'Protochimère', capture: false }),
      regexJa: Regexes.startsUsing({ id: '861', source: 'プロトキマイラ', capture: false }),
      regexCn: Regexes.startsUsing({ id: '861', source: '原型奇美拉', capture: false }),
      regexKo: Regexes.startsUsing({ id: '861', source: '프로토 키마이라', capture: false }),
      condition: function(data) {
        // TODO: is this silenceable in 5.0?
        return data.CanStun() || data.CanSilence();
      },
      infoText: {
        en: 'Silence Dragon\'s Voice',
        de: 'Verstumme Stimme des Drachens',
        fr: 'Interrompez Voix du dragon',
        cn: '沉默雷电咆哮',
      },
    },
    {
      id: 'T7 Tail Slap',
      regex: Regexes.ability({ id: '7A8', source: 'Melusine' }),
      regexDe: Regexes.ability({ id: '7A8', source: 'Melusine' }),
      regexFr: Regexes.ability({ id: '7A8', source: 'Mélusine' }),
      regexJa: Regexes.ability({ id: '7A8', source: 'メリュジーヌ' }),
      regexCn: Regexes.ability({ id: '7A8', source: '美瑠姬奴' }),
      regexKo: Regexes.ability({ id: '7A8', source: '멜뤼진' }),
      condition: function(data, matches) {
        return data.me == matches.target && data.job == 'BLU';
      },
      delaySeconds: 6,
      suppressSeconds: 5,
      infoText: {
        en: 'Tail Slap in 10',
        de: 'Schweifklapser in 10',
        fr: 'Gifle caudale dans 10s',
        cn: '10秒内死刑',
      },
    },
    {
      id: 'T7 Renaud',
      regex: Regexes.addedCombatant({ name: 'Renaud', capture: false }),
      regexDe: Regexes.addedCombatant({ name: 'Renaud', capture: false }),
      regexFr: Regexes.addedCombatant({ name: 'Renaud', capture: false }),
      regexJa: Regexes.addedCombatant({ name: 'ルノー', capture: false }),
      regexCn: Regexes.addedCombatant({ name: '雷诺', capture: false }),
      regexKo: Regexes.addedCombatant({ name: '르노', capture: false }),
      infoText: {
        en: 'Renaud Add',
        de: 'Renaud Add',
        fr: 'Add Renaud',
        cn: '雷诺出现',
      },
    },
    {
      id: 'T7 Voice',
      regex: Regexes.gainsEffect({ effect: 'Cursed Voice' }),
      regexDe: Regexes.gainsEffect({ effect: 'Stimme Der Verwünschung' }),
      regexFr: Regexes.gainsEffect({ effect: 'Voix Du Maléfice' }),
      regexJa: Regexes.gainsEffect({ effect: '呪詛の声' }),
      regexCn: Regexes.gainsEffect({ effect: '诅咒之声' }),
      regexKo: Regexes.gainsEffect({ effect: '저주의 목소리' }),
      condition: function(data, matches) {
        return data.me == matches.target;
      },
      delaySeconds: function(data, matches) {
        return matches.duration - 3;
      },
      alertText: {
        en: 'Voice Soon',
        de: 'Stimme Der Verwünschung bald',
        fr: 'Voix du maléfice bientôt',
        cn: '诅咒之声即将判定',
      },
    },
    {
      id: 'T7 Shriek',
      regex: Regexes.gainsEffect({ effect: 'Cursed Shriek' }),
      regexDe: Regexes.gainsEffect({ effect: 'Schrei Der Verwünschung' }),
      regexFr: Regexes.gainsEffect({ effect: 'Cri Du Maléfice' }),
      regexJa: Regexes.gainsEffect({ effect: '呪詛の叫声' }),
      regexCn: Regexes.gainsEffect({ effect: '诅咒之嚎' }),
      regexKo: Regexes.gainsEffect({ effect: '저주의 외침' }),
      durationSeconds: 3,
      alarmText: function(data, matches) {
        if (data.me == matches.target) {
          return {
            en: 'Shriek on YOU',
            de: 'Schrei Der Verwünschung auf DIR',
            fr: 'Cri du maléfice sur VOUS',
            cn: '诅咒之嚎点名',
          };
        }
      },
      infoText: function(data, matches) {
        if (data.me != matches.target) {
          return {
            en: 'Shriek on ' + data.ShortName(matches.target),
            de: 'Schrei Der Verwünschung auf ' + data.ShortName(matches.target),
            fr: 'Cri du maléfice sur ' + data.ShortName(matches.target),
            cn: '诅咒之嚎点' + data.ShortName(matches.target),
          };
        }
      },
    },
    {
      id: 'T<NAME>',
      regex: Regexes.gainsEffect({ effect: 'Cursed Shriek' }),
      regexDe: Regexes.gainsEffect({ effect: 'Schrei Der Verwünschung' }),
      regexFr: Regexes.gainsEffect({ effect: 'Cri Du Maléfice' }),
      regexJa: Regexes.gainsEffect({ effect: '呪詛の叫声' }),
      regexCn: Regexes.gainsEffect({ effect: '诅咒之嚎' }),
      regexKo: Regexes.gainsEffect({ effect: '저주의 외침' }),
      delaySeconds: 7,
      durationSeconds: 3,
      infoText: function(data, matches) {
        if (data.me == matches.target) {
          return {
            en: 'Shriek Soon',
            de: 'Schrei Der Verwünschung bald',
            fr: 'Cri du maléfice bientôt',
            cn: '诅咒之嚎即将判定',
          };
        }
        return {
          en: 'Dodge Shriek',
          de: 'Schrei Der Verwünschung ausweichen',
          fr: 'Esquivez le cri maudit',
          cn: '躲避诅咒之嚎',
        };
      },
    },
    {
      id: 'T7 Phase 2',<commit_msg>Raidboss: t7 Change regex to netRegex  (#1458)<commit_after>'use strict';

[{
  zoneRegex: {
    en: /^The Second Coil Of Bahamut - Turn \(2\)$/,
    cn: /^巴哈姆特大迷宫 \(入侵之章2\)$/,
  },
  timelineFile: 't7.txt',
  triggers: [
    {
      id: 'T7 Ram',
      regex: Regexes.startsUsing({ id: '860', source: 'Proto-Chimera', capture: false }),
      regexDe: Regexes.startsUsing({ id: '860', source: 'Proto-Chimära', capture: false }),
      regexFr: Regexes.startsUsing({ id: '860', source: 'Protochimère', capture: false }),
      regexJa: Regexes.startsUsing({ id: '860', source: 'プロトキマイラ', capture: false }),
      regexCn: Regexes.startsUsing({ id: '860', source: '原型奇美拉', capture: false }),
      regexKo: Regexes.startsUsing({ id: '860', source: '프로토 키마이라', capture: false }),
      condition: function(data) {
        // TODO: is this silenceable in 5.0?
        return data.CanStun() || data.CanSilence();
      },
      infoText: {
        en: 'Silence Ram\'s Voice',
        de: 'Verstumme Stimme des Widders',
        fr: 'Interrompez Voix du bélier',
        cn: '沉默寒冰咆哮',
      },
    },
    {
      id: 'T7 Dragon',
      regex: Regexes.startsUsing({ id: '861', source: 'Proto-Chimera', capture: false }),
      regexDe: Regexes.startsUsing({ id: '861', source: 'Proto-Chimära', capture: false }),
      regexFr: Regexes.startsUsing({ id: '861', source: 'Protochimère', capture: false }),
      regexJa: Regexes.startsUsing({ id: '861', source: 'プロトキマイラ', capture: false }),
      regexCn: Regexes.startsUsing({ id: '861', source: '原型奇美拉', capture: false }),
      regexKo: Regexes.startsUsing({ id: '861', source: '프로토 키마이라', capture: false }),
      condition: function(data) {
        // TODO: is this silenceable in 5.0?
        return data.CanStun() || data.CanSilence();
      },
      infoText: {
        en: 'Silence Dragon\'s Voice',
        de: 'Verstumme Stimme des Drachens',
        fr: 'Interrompez Voix du dragon',
        cn: '沉默雷电咆哮',
      },
    },
    {
      id: 'T7 Tail Slap',
      regex: Regexes.ability({ id: '7A8', source: 'Melusine' }),
      regexDe: Regexes.ability({ id: '7A8', source: 'Melusine' }),
      regexFr: Regexes.ability({ id: '7A8', source: 'Mélusine' }),
      regexJa: Regexes.ability({ id: '7A8', source: 'メリュジーヌ' }),
      regexCn: Regexes.ability({ id: '7A8', source: '美瑠姬奴' }),
      regexKo: Regexes.ability({ id: '7A8', source: '멜뤼진' }),
      condition: function(data, matches) {
        return data.me == matches.target && data.job == 'BLU';
      },
      delaySeconds: 6,
      suppressSeconds: 5,
      infoText: {
        en: 'Tail Slap in 10',
        de: 'Schweifklapser in 10',
        fr: 'Gifle caudale dans 10s',
        cn: '10秒内死刑',
      },
    },
    {
      id: 'T7 Renaud',
      regex: Regexes.addedCombatant({ name: 'Renaud', capture: false }),
      regexDe: Regexes.addedCombatant({ name: 'Renaud', capture: false }),
      regexFr: Regexes.addedCombatant({ name: 'Renaud', capture: false }),
      regexJa: Regexes.addedCombatant({ name: 'ルノー', capture: false }),
      regexCn: Regexes.addedCombatant({ name: '雷诺', capture: false }),
      regexKo: Regexes.addedCombatant({ name: '르노', capture: false }),
      infoText: {
        en: 'Renaud Add',
        de: 'Renaud Add',
        fr: 'Add Renaud',
        cn: '雷诺出现',
      },
    },
    {
      id: 'T7 Cursed Voice',
      netRegex: NetRegexes.gainsEffect({ effectId: '1C3' }),
      netRegexDe: NetRegexes.gainsEffect({ effectId: '1C3' }),
      netRegexFr: NetRegexes.gainsEffect({ effectId: '1C3' }),
      netRegexJa: NetRegexes.gainsEffect({ effectId: '1C3' }),
      netRegexCn: NetRegexes.gainsEffect({ effectId: '1C3' }),
      netRegexKo: NetRegexes.gainsEffect({ effectId: '1C3' }),
      condition: function(data, matches) {
        return data.me == matches.target;
      },
      delaySeconds: function(data, matches) {
        return matches.duration - 3;
      },
      alertText: {
        en: 'Voice Soon',
        de: 'Stimme Der Verwünschung bald',
        fr: 'Voix du maléfice bientôt',
        cn: '诅咒之声即将判定',
      },
    },
    {
      id: 'T7 Cursed Shriek',
      netRegex: NetRegexes.gainsEffect({ effectId: '1C4' }),
      netRegexDe: NetRegexes.gainsEffect({ effectId: '1C4' }),
      netRegexFr: NetRegexes.gainsEffect({ effectId: '1C4' }),
      netRegexJa: NetRegexes.gainsEffect({ effectId: '1C4' }),
      netRegexCn: NetRegexes.gainsEffect({ effectId: '1C4' }),
      netRegexKo: NetRegexes.gainsEffect({ effectId: '1C4' }),
      durationSeconds: 3,
      alarmText: function(data, matches) {
        if (data.me == matches.target) {
          return {
            en: 'Shriek on YOU',
            de: 'Schrei Der Verwünschung auf DIR',
            fr: 'Cri du maléfice sur VOUS',
            cn: '诅咒之嚎点名',
          };
        }
      },
      infoText: function(data, matches) {
        if (data.me != matches.target) {
          return {
            en: 'Shriek on ' + data.ShortName(matches.target),
            de: 'Schrei Der Verwünschung auf ' + data.ShortName(matches.target),
            fr: 'Cri du maléfice sur ' + data.ShortName(matches.target),
            cn: '诅咒之嚎点' + data.ShortName(matches.target),
          };
        }
      },
    },
    {
      id: 'T7 Cursed Shriek Reminder',
      netRegex: NetRegexes.gainsEffect({ effectId: '1C4' }),
      netRegexDe: NetRegexes.gainsEffect({ effectId: '1C4' }),
      netRegexFr: NetRegexes.gainsEffect({ effectId: '1C4' }),
      netRegexJa: NetRegexes.gainsEffect({ effectId: '1C4' }),
      netRegexCn: NetRegexes.gainsEffect({ effectId: '1C4' }),
      netRegexKo: NetRegexes.gainsEffect({ effectId: '1C4' }),
      delaySeconds: 7,
      durationSeconds: 3,
      infoText: function(data, matches) {
        if (data.me == matches.target) {
          return {
            en: 'Shriek Soon',
            de: 'Schrei Der Verwünschung bald',
            fr: 'Cri du maléfice bientôt',
            cn: '诅咒之嚎即将判定',
          };
        }
        return {
          en: 'Dodge Shriek',
          de: 'Schrei Der Verwünschung ausweichen',
          fr: 'Esquivez le cri maudit',
          cn: '躲避诅咒之嚎',
        };
      },
    },
    {
      id: 'T7 Phase 2',
{'fraction_non_alphanumeric': 0.15661770672725797, 'fraction_numerical': 0.015905217885255212, 'mean_word_length': 2.394106306802534, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '651280', 'n_tokens_mistral': 4752, 'n_tokens_neox': 4714, 'n_words': 1036}