<commit_before>import React from 'react';

import SPELLS from 'common/SPELLS';
import Events from 'parser/core/Events';
import Analyzer, { SELECTED_PLAYER } from 'parser/core/Analyzer';
import Combatants from 'parser/shared/modules/Combatants';

import ItemHealingDone from 'interface/ItemHealingDone';
import calculateEffectiveHealing from 'parser/core/calculateEffectiveHealing';

import BoringSpellValueText from 'interface/statistics/components/BoringSpellValueText';
import Statistic from 'interface/statistics/Statistic';
import STATISTIC_ORDER from 'interface/others/STATISTIC_ORDER';
import STATISTIC_CATEGORY from 'interface/others/STATISTIC_CATEGORY';

import { LIFE_COCOON_HEALING_BOOST } from '../../../constants';

/**
 * HoT Healing during Life cocoon is buffed by x% and this boost lasts for an extra 6 second after cocoon breaks or ends.
 * As an FYI from what it looks like is the boost directly effects the Life cocoon buff so we have to reverse math it for while life coocon is up
 * Then after cocoon fades/breaks the normal buff goes on them
 */
class NourishingChi extends Analyzer {
  static dependencies = {
    combatants: Combatants,
  };

  healing = 0;

  boost = 0;

  constructor(...args) {
    super(...args);
    this.active = false;
    this.boost = .15;//TODO Get from combat data when they EXPORT IT >:c
    if (!this.active) {
      return;
    }
    this.addEventListener(Events.heal.by(SELECTED_PLAYER), this.heal);
  }

  heal(event) {
    //Life Cocoon works on any HoT that has this flag checked even if they don't come from the mistweaver themselves<commit_msg>Update NourishingChi.js<commit_after>import React from 'react';

import SPELLS from 'common/SPELLS';
import Events from 'parser/core/Events';
import Analyzer from 'parser/core/Analyzer';
import Combatants from 'parser/shared/modules/Combatants';

import ItemHealingDone from 'interface/ItemHealingDone';
import calculateEffectiveHealing from 'parser/core/calculateEffectiveHealing';

import BoringSpellValueText from 'interface/statistics/components/BoringSpellValueText';
import Statistic from 'interface/statistics/Statistic';
import STATISTIC_ORDER from 'interface/others/STATISTIC_ORDER';
import STATISTIC_CATEGORY from 'interface/others/STATISTIC_CATEGORY';

import { LIFE_COCOON_HEALING_BOOST } from '../../../constants';

/**
 * HoT Healing during Life cocoon is buffed by x% and this boost lasts for an extra 6 second after cocoon breaks or ends.
 * As an FYI from what it looks like is the boost directly effects the Life cocoon buff so we have to reverse math it for while life coocon is up
 * Then after cocoon fades/breaks the normal buff goes on them
 */
class NourishingChi extends Analyzer {
  static dependencies = {
    combatants: Combatants,
  };

  healing = 0;

  boost = 0;

  constructor(...args) {
    super(...args);
    this.active = false;
    this.boost = .15;//TODO Get from combat data when they EXPORT IT >:c
    if (!this.active) {
      return;
    }
    this.addEventListener(Events.heal, this.heal);
  }

  heal(event) {
    //Life Cocoon works on any HoT that has this flag checked even if they don't come from the mistweaver themselves
{'fraction_non_alphanumeric': 0.0878740157480315, 'fraction_numerical': 0.0031496062992125984, 'mean_word_length': 4.266998341625207, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, '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': '6818067', 'n_tokens_mistral': 965, 'n_tokens_neox': 940, 'n_words': 329}