<commit_before>import SPELLS from 'common/SPELLS';
import ITEMS from 'common/ITEMS';
import CoreAbilities from 'Parser/Core/Modules/Abilities';

class Abilities extends CoreAbilities {
  spellbook() {
    const combatant = this.combatants.selected;
    return [
      // Rotational Spells
      {
        spell: SPELLS.KEG_SMASH,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
        cooldown: haste => 8 / (1 + haste),
        enabled: !combatant.hasShoulder(ITEMS.STORMSTOUTS_LAST_GASP.id),
        castEfficiency: {
          suggestion: true,
        },
      },
      {
        spell: SPELLS.KEG_SMASH,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
        cooldown: haste => 8 / (1 + haste),
        charges: 2,
        enabled: combatant.hasShoulder(ITEMS.STORMSTOUTS_LAST_GASP.id),
        castEfficiency: {
          suggestion: true,
        },
      },
      {
        spell: SPELLS.BLACKOUT_STRIKE,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
        cooldown: 3,
        castEfficiency: {
          suggestion: true,
        },
      },
      {
        spell: SPELLS.BREATH_OF_FIRE,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
        cooldown: 15,
      },
      {
        spell: SPELLS.TIGER_PALM,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
      },
      {
        spell: SPELLS.EXPLODING_KEG,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
        cooldown: 75,
        castEfficiency: {
          suggestion: true,
        },
      },
      {
        spell: SPELLS.RUSHING_JADE_WIND_TALENT,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
        cooldown: haste => 6 / (1 + haste),
        enabled: combatant.hasTalent(SPELLS.RUSHING_JADE_WIND_TALENT.id),
      },
      {
        spell: SPELLS.CRACKLING_JADE_LIGHTNING,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
      },
      // Cooldowns
      {
        // it is possible to refer to the shared CD using *either* spell
        // id
        spell: [SPELLS.IRONSKIN_BREW, SPELLS.PURIFYING_BREW],
        category: Abilities.SPELL_CATEGORIES.COOLDOWNS,
        cooldown: haste => 21 / (1 + haste),
        charges: 3,
      },
      {
        spell: SPELLS.BLACK_OX_BREW_TALENT,
        category: Abilities.SPELL_CATEGORIES.COOLDOWNS,
        cooldown: 90,
        castEfficiency: {
          suggestion: false,
        },
        enabled: combatant.hasTalent(SPELLS.BLACK_OX_BREW_TALENT.id),
      },
      {
        spell: SPELLS.EXPEL_HARM,
        category: Abilities.SPELL_CATEGORIES.COOLDOWNS,
      },
      {
        spell: SPELLS.FORTIFYING_BREW_BRM,
        category: Abilities.SPELL_CATEGORIES.COOLDOWNS,
        cooldown: 420,
      },
      {
        spell: SPELLS.HEALING_ELIXIR_TALENT,
        category: Abilities.SPELL_CATEGORIES.COOLDOWNS,
        cooldown: 30,
        enabled: combatant.hasTalent(SPELLS.HEALING_ELIXIR_TALENT.id),
      },
      {
        spell: SPELLS.DAMPEN_HARM_TALENT,<commit_msg>Dropped BoB efficiency recommendation to account for "not wasting" requirement (and also fight sometimes fight reqs)<commit_after>import SPELLS from 'common/SPELLS';
import ITEMS from 'common/ITEMS';
import CoreAbilities from 'Parser/Core/Modules/Abilities';

class Abilities extends CoreAbilities {
  spellbook() {
    const combatant = this.combatants.selected;
    return [
      // Rotational Spells
      {
        spell: SPELLS.KEG_SMASH,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
        cooldown: haste => 8 / (1 + haste),
        enabled: !combatant.hasShoulder(ITEMS.STORMSTOUTS_LAST_GASP.id),
        castEfficiency: {
          suggestion: true,
        },
      },
      {
        spell: SPELLS.KEG_SMASH,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
        cooldown: haste => 8 / (1 + haste),
        charges: 2,
        enabled: combatant.hasShoulder(ITEMS.STORMSTOUTS_LAST_GASP.id),
        castEfficiency: {
          suggestion: true,
        },
      },
      {
        spell: SPELLS.BLACKOUT_STRIKE,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
        cooldown: 3,
        castEfficiency: {
          suggestion: true,
        },
      },
      {
        spell: SPELLS.BREATH_OF_FIRE,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
        cooldown: 15,
      },
      {
        spell: SPELLS.TIGER_PALM,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
      },
      {
        spell: SPELLS.EXPLODING_KEG,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
        cooldown: 75,
        castEfficiency: {
          suggestion: true,
        },
      },
      {
        spell: SPELLS.RUSHING_JADE_WIND_TALENT,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
        cooldown: haste => 6 / (1 + haste),
        enabled: combatant.hasTalent(SPELLS.RUSHING_JADE_WIND_TALENT.id),
      },
      {
        spell: SPELLS.CRACKLING_JADE_LIGHTNING,
        category: Abilities.SPELL_CATEGORIES.ROTATIONAL,
      },
      // Cooldowns
      {
        // it is possible to refer to the shared CD using *either* spell
        // id
        spell: [SPELLS.IRONSKIN_BREW, SPELLS.PURIFYING_BREW],
        category: Abilities.SPELL_CATEGORIES.COOLDOWNS,
        cooldown: haste => 21 / (1 + haste),
        charges: 3,
      },
      {
        spell: SPELLS.BLACK_OX_BREW_TALENT,
        category: Abilities.SPELL_CATEGORIES.COOLDOWNS,
        cooldown: 90,
        castEfficiency: {
          suggestion: false,
          recommendedEfficiency: 0.7,
        },
        enabled: combatant.hasTalent(SPELLS.BLACK_OX_BREW_TALENT.id),
      },
      {
        spell: SPELLS.EXPEL_HARM,
        category: Abilities.SPELL_CATEGORIES.COOLDOWNS,
      },
      {
        spell: SPELLS.FORTIFYING_BREW_BRM,
        category: Abilities.SPELL_CATEGORIES.COOLDOWNS,
        cooldown: 420,
      },
      {
        spell: SPELLS.HEALING_ELIXIR_TALENT,
        category: Abilities.SPELL_CATEGORIES.COOLDOWNS,
        cooldown: 30,
        enabled: combatant.hasTalent(SPELLS.HEALING_ELIXIR_TALENT.id),
      },
      {
        spell: SPELLS.DAMPEN_HARM_TALENT,
{'fraction_non_alphanumeric': 0.0953705218387044, 'fraction_numerical': 0.007852118436119744, 'mean_word_length': 2.1146204788588894, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 11, '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': '7056228', 'n_tokens_mistral': 2293, 'n_tokens_neox': 2203, 'n_words': 322}