jaroslavtyc/drd-plus-tables

View on GitHub
tests/Tables/Theurgist/Spells/ModifiersTableTest.php

Summary

Maintainability
F
3 wks
Test Coverage

File ModifiersTableTest.php has 413 lines of code (exceeds 250 allowed). Consider refactoring.
Open

<?php declare(strict_types = 1);

namespace DrdPlus\Tests\Tables\Theurgist\Spells;

use DrdPlus\Codes\Theurgist\FormCode;
Severity: Minor
Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php - About 5 hrs to fix

    Function I_can_get_child_modifiers has a Cognitive Complexity of 31 (exceeds 5 allowed). Consider refactoring.
    Open

        public function I_can_get_child_modifiers()
        {
            $modifiersTable = new ModifiersTable(Tables::getIt());
            $fromChildrenMatchingProfiles = [];
            foreach (ModifierCode::getPossibleValues() as $modifierValue) {
    Severity: Minor
    Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php - About 4 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function I_can_get_parent_modifiers has a Cognitive Complexity of 31 (exceeds 5 allowed). Consider refactoring.
    Open

        public function I_can_get_parent_modifiers()
        {
            $modifiersTable = new ModifiersTable(Tables::getIt());
            $fromParentMatchingProfiles = [];
            foreach (ModifierCode::getPossibleValues() as $modifierValue) {
    Severity: Minor
    Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php - About 4 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    The class ModifiersTableTest has 11 public methods. Consider refactoring ModifiersTableTest to keep number of public methods under 10.
    Open

    class ModifiersTableTest extends AbstractTheurgistTableTest
    {
        protected function getMandatoryParameters(): array
        {
            return [ModifiersTable::REALM, ModifiersTable::DIFFICULTY_CHANGE];

    TooManyPublicMethods

    Since: 0.1

    A class with too many public methods is probably a good suspect for refactoring, in order to reduce its complexity and find a way to have more fine grained objects.

    By default it ignores methods starting with 'get' or 'set'.

    Example

    Source https://phpmd.org/rules/codesize.html#toomanypublicmethods

    The class ModifiersTableTest has an overall complexity of 67 which is very high. The configured complexity threshold is 50.
    Open

    class ModifiersTableTest extends AbstractTheurgistTableTest
    {
        protected function getMandatoryParameters(): array
        {
            return [ModifiersTable::REALM, ModifiersTable::DIFFICULTY_CHANGE];

    ModifiersTableTest has 23 functions (exceeds 20 allowed). Consider refactoring.
    Open

    class ModifiersTableTest extends AbstractTheurgistTableTest
    {
        protected function getMandatoryParameters(): array
        {
            return [ModifiersTable::REALM, ModifiersTable::DIFFICULTY_CHANGE];
    Severity: Minor
    Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php - About 2 hrs to fix

      Method I_can_get_child_modifiers has 49 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          public function I_can_get_child_modifiers()
          {
              $modifiersTable = new ModifiersTable(Tables::getIt());
              $fromChildrenMatchingProfiles = [];
              foreach (ModifierCode::getPossibleValues() as $modifierValue) {
      Severity: Minor
      Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php - About 1 hr to fix

        Method I_can_get_parent_modifiers has 49 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            public function I_can_get_parent_modifiers()
            {
                $modifiersTable = new ModifiersTable(Tables::getIt());
                $fromParentMatchingProfiles = [];
                foreach (ModifierCode::getPossibleValues() as $modifierValue) {
        Severity: Minor
        Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php - About 1 hr to fix

          Method I_can_get_formulas_for_modifier has 31 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              public function I_can_get_formulas_for_modifier()
              {
                  $modifiersTable = new ModifiersTable(Tables::getIt());
                  foreach (ModifierCode::getPossibleValues() as $modifierValue) {
                      $formulaCodes = $modifiersTable->getFormulaCodes(ModifierCode::getIt($modifierValue));
          Severity: Minor
          Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php - About 1 hr to fix

            Method I_can_get_profiles_to_modifier has 27 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                public function I_can_get_profiles_to_modifier()
                {
                    $modifiersTable = new ModifiersTable(Tables::getIt());
                    foreach (ModifierCode::getPossibleValues() as $modifierValue) {
                        $profileCodes = $modifiersTable->getProfileCodes(ModifierCode::getIt($modifierValue));
            Severity: Minor
            Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php - About 1 hr to fix

              Function getExpectedFormulaValues has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
              Open

                  private function getExpectedFormulaValues(string $modifierValue): array
                  {
                      $expectedFormulaValues = [];
                      $formulasTable = new FormulasTable(Tables::getIt());
                      foreach (FormulaCode::getPossibleValues() as $formulaValue) {
              Severity: Minor
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php - About 35 mins to fix

              Cognitive Complexity

              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

              A method's cognitive complexity is based on a few simple rules:

              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
              • Code is considered more complex for each "break in the linear flow of the code"
              • Code is considered more complex when "flow breaking structures are nested"

              Further reading

              Function getProfileValuesFromProfilesTable has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
              Open

                  private function getProfileValuesFromProfilesTable(string $modifierValue): array
                  {
                      $expectedProfileValues = [];
                      $profilesTable = new ProfilesTable();
                      foreach (ProfileCode::getPossibleValues() as $profileValue) {
              Severity: Minor
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php - About 35 mins to fix

              Cognitive Complexity

              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

              A method's cognitive complexity is based on a few simple rules:

              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
              • Code is considered more complex for each "break in the linear flow of the code"
              • Code is considered more complex when "flow breaking structures are nested"

              Further reading

              Function I_can_get_formulas_for_modifier has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
              Open

                  public function I_can_get_formulas_for_modifier()
                  {
                      $modifiersTable = new ModifiersTable(Tables::getIt());
                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {
                          $formulaCodes = $modifiersTable->getFormulaCodes(ModifierCode::getIt($modifierValue));
              Severity: Minor
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php - About 25 mins to fix

              Cognitive Complexity

              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

              A method's cognitive complexity is based on a few simple rules:

              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
              • Code is considered more complex for each "break in the linear flow of the code"
              • Code is considered more complex when "flow breaking structures are nested"

              Further reading

              The method I_can_get_child_modifiers() has a Cyclomatic Complexity of 12. The configured cyclomatic complexity threshold is 10.
              Open

                  public function I_can_get_child_modifiers()
                  {
                      $modifiersTable = new ModifiersTable(Tables::getIt());
                      $fromChildrenMatchingProfiles = [];
                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {

              CyclomaticComplexity

              Since: 0.1

              Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.

              Example

              // Cyclomatic Complexity = 11
              class Foo {
              1   public function example() {
              2       if ($a == $b) {
              3           if ($a1 == $b1) {
                              fiddle();
              4           } elseif ($a2 == $b2) {
                              fiddle();
                          } else {
                              fiddle();
                          }
              5       } elseif ($c == $d) {
              6           while ($c == $d) {
                              fiddle();
                          }
              7        } elseif ($e == $f) {
              8           for ($n = 0; $n < $h; $n++) {
                              fiddle();
                          }
                      } else {
                          switch ($z) {
              9               case 1:
                                  fiddle();
                                  break;
              10              case 2:
                                  fiddle();
                                  break;
              11              case 3:
                                  fiddle();
                                  break;
                              default:
                                  fiddle();
                                  break;
                          }
                      }
                  }
              }

              Source https://phpmd.org/rules/codesize.html#cyclomaticcomplexity

              The method I_can_get_parent_modifiers() has a Cyclomatic Complexity of 12. The configured cyclomatic complexity threshold is 10.
              Open

                  public function I_can_get_parent_modifiers()
                  {
                      $modifiersTable = new ModifiersTable(Tables::getIt());
                      $fromParentMatchingProfiles = [];
                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {

              CyclomaticComplexity

              Since: 0.1

              Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.

              Example

              // Cyclomatic Complexity = 11
              class Foo {
              1   public function example() {
              2       if ($a == $b) {
              3           if ($a1 == $b1) {
                              fiddle();
              4           } elseif ($a2 == $b2) {
                              fiddle();
                          } else {
                              fiddle();
                          }
              5       } elseif ($c == $d) {
              6           while ($c == $d) {
                              fiddle();
                          }
              7        } elseif ($e == $f) {
              8           for ($n = 0; $n < $h; $n++) {
                              fiddle();
                          }
                      } else {
                          switch ($z) {
              9               case 1:
                                  fiddle();
                                  break;
              10              case 2:
                                  fiddle();
                                  break;
              11              case 3:
                                  fiddle();
                                  break;
                              default:
                                  fiddle();
                                  break;
                          }
                      }
                  }
              }

              Source https://phpmd.org/rules/codesize.html#cyclomaticcomplexity

              The class ModifiersTableTest has a coupling between objects value of 16. Consider to reduce the number of dependencies under 13.
              Open

              class ModifiersTableTest extends AbstractTheurgistTableTest
              {
                  protected function getMandatoryParameters(): array
                  {
                      return [ModifiersTable::REALM, ModifiersTable::DIFFICULTY_CHANGE];

              CouplingBetweenObjects

              Since: 1.1.0

              A class with too many dependencies has negative impacts on several quality aspects of a class. This includes quality criteria like stability, maintainability and understandability

              Example

              class Foo {
                  /**
                   * @var \foo\bar\X
                   */
                  private $x = null;
              
                  /**
                   * @var \foo\bar\Y
                   */
                  private $y = null;
              
                  /**
                   * @var \foo\bar\Z
                   */
                  private $z = null;
              
                  public function setFoo(\Foo $foo) {}
                  public function setBar(\Bar $bar) {}
                  public function setBaz(\Baz $baz) {}
              
                  /**
                   * @return \SplObjectStorage
                   * @throws \OutOfRangeException
                   * @throws \InvalidArgumentException
                   * @throws \ErrorException
                   */
                  public function process(\Iterator $it) {}
              
                  // ...
              }

              Source https://phpmd.org/rules/design.html#couplingbetweenobjects

              Missing class import via use statement (line '396', column '39').
              Open

                                          throw new \LogicException(

              MissingImport

              Since: 2.7.0

              Importing all external classes in a file through use statements makes them clearly visible.

              Example

              function make() {
                  return new \stdClass();
              }

              Source http://phpmd.org/rules/cleancode.html#MissingImport

              Missing class import via use statement (line '413', column '31').
              Open

                                  throw new \LogicException(

              MissingImport

              Since: 2.7.0

              Importing all external classes in a file through use statements makes them clearly visible.

              Example

              function make() {
                  return new \stdClass();
              }

              Source http://phpmd.org/rules/cleancode.html#MissingImport

              Missing class import via use statement (line '464', column '31').
              Open

                                  throw new \LogicException(

              MissingImport

              Since: 2.7.0

              Importing all external classes in a file through use statements makes them clearly visible.

              Example

              function make() {
                  return new \stdClass();
              }

              Source http://phpmd.org/rules/cleancode.html#MissingImport

              Missing class import via use statement (line '452', column '39').
              Open

                                          throw new \LogicException(

              MissingImport

              Since: 2.7.0

              Importing all external classes in a file through use statements makes them clearly visible.

              Example

              function make() {
                  return new \stdClass();
              }

              Source http://phpmd.org/rules/cleancode.html#MissingImport

              Missing class import via use statement (line '408', column '31').
              Open

                                  throw new \LogicException(

              MissingImport

              Since: 2.7.0

              Importing all external classes in a file through use statements makes them clearly visible.

              Example

              function make() {
                  return new \stdClass();
              }

              Source http://phpmd.org/rules/cleancode.html#MissingImport

              Missing class import via use statement (line '469', column '31').
              Open

                                  throw new \LogicException(

              MissingImport

              Since: 2.7.0

              Importing all external classes in a file through use statements makes them clearly visible.

              Example

              function make() {
                  return new \stdClass();
              }

              Source http://phpmd.org/rules/cleancode.html#MissingImport

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\FormCode' in method 'getExpectedFormValues'.
              Open

                      return array_diff(FormCode::getPossibleValues(), $excludedFormValues);

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ModifierCode' in method 'I_can_get_spell_trait_codes'.
              Open

                          $spellTraitCodes = $modifiersTable->getSpellTraitCodes(ModifierCode::getIt($modifierValue));

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ModifierCode' in method 'I_can_get_spell_traits'.
              Open

                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ModifierCode' in method 'I_can_get_profiles_to_modifier'.
              Open

                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Tables\Tables' in method 'I_can_get_parent_modifiers'.
              Open

                      $modifiersTable = new ModifiersTable(Tables::getIt());

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ProfileCode' in method 'getProfileValuesFromProfilesTable'.
              Open

                          $modifierCodes = $profilesTable->getModifierCodes(ProfileCode::getIt($profileValue));

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ModifierCode' in method 'I_can_get_child_modifiers'.
              Open

                          $modifier = ModifierCode::getIt($modifierValue);

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Tables\Tables' in method 'I_can_get_profiles_to_modifier'.
              Open

                      $modifiersTable = new ModifiersTable(Tables::getIt());

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ProfileCode' in method 'getExpectedProfileValues'.
              Open

                      $expectedProfileValues = array_diff(ProfileCode::getPossibleValues(), self::$impossibleProfiles[$modifierValue]);

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\SpellTraitCode' in method 'getExpectedSpellTraitCodeValues'.
              Open

                      return array_diff(SpellTraitCode::getPossibleValues(), $excludedTraitValues);

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\FormulaCode' in method 'getExpectedFormulaValues'.
              Open

                          $modifierCodes = $formulasTable->getModifierCodes(FormulaCode::getIt($formulaValue));

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ModifierCode' in method 'I_can_get_spell_traits'.
              Open

                          $spellTraits = $modifiersTable->getSpellTraits(ModifierCode::getIt($modifierValue));

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Tables\Tables' in method 'I_can_not_get_profiles_to_unknown_modifiers'.
              Open

                      (new ModifiersTable(Tables::getIt()))->getProfileCodes($this->createModifierCode('magnified'));

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ModifierCode' in method 'I_can_get_parent_modifiers'.
              Open

                          $modifier = ModifierCode::getIt($modifierValue);

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ModifierCode' in method 'I_can_get_forms'.
              Open

                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Tables\Tables' in method 'I_can_get_formulas_for_modifier'.
              Open

                      $modifiersTable = new ModifiersTable(Tables::getIt());

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ModifierCode' in method 'I_can_get_profiles_to_modifier'.
              Open

                          $profileCodes = $modifiersTable->getProfileCodes(ModifierCode::getIt($modifierValue));

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              The method I_can_get_formulas_for_modifier uses an else expression. Else clauses are basically not necessary and you can simplify the code by not using them.
              Open

                          } else {
                              self::assertNotEmpty($formulaCodes, 'Expected some formulas for modifier ' . $modifierValue);
                          }

              ElseExpression

              Since: 1.4.0

              An if expression with an else branch is basically not necessary. You can rewrite the conditions in a way that the else clause is not necessary and the code becomes simpler to read. To achieve this, use early return statements, though you may need to split the code it several smaller methods. For very simple assignments you could also use the ternary operations.

              Example

              class Foo
              {
                  public function bar($flag)
                  {
                      if ($flag) {
                          // one branch
                      } else {
                          // another branch
                      }
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#elseexpression

              Avoid using static access to class '\DrdPlus\Tables\Tables' in method 'I_can_get_forms'.
              Open

                      $modifiersTable = new ModifiersTable(Tables::getIt());

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ModifierCode' in method 'I_can_get_forms'.
              Open

                          $forms = $modifiersTable->getFormCodes(ModifierCode::getIt($modifierValue));

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\SpellTraitCode' in method 'getExpectedSpellTraitCodes'.
              Open

                          $expectedSpellTraitCodes[] = SpellTraitCode::getIt($expectedSpellTraitValue);

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ModifierCode' in method 'I_can_get_formulas_for_modifier'.
              Open

                          $formulaCodes = $modifiersTable->getFormulaCodes(ModifierCode::getIt($modifierValue));

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Tables\Tables' in method 'I_can_not_get_child_modifiers_for_unknown_modifier'.
              Open

                      $modifiersTable = new ModifiersTable(Tables::getIt());

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ModifierCode' in method 'I_can_get_parent_modifiers'.
              Open

                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Tables\Tables' in method 'I_can_get_child_modifiers'.
              Open

                      $modifiersTable = new ModifiersTable(Tables::getIt());

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Tables\Tables' in method 'getExpectedSpellTraits'.
              Open

                          $expectedSpellTraits[] = new SpellTrait($expectedSpellTraitCode, Tables::getIt());

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Tables\Tables' in method 'I_can_not_get_formulas_to_unknown_modifier'.
              Open

                      (new ModifiersTable(Tables::getIt()))->getFormulaCodes($this->createModifierCode('black and white'));

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ProfileCode' in method 'getProfileValuesFromProfilesTable'.
              Open

                      foreach (ProfileCode::getPossibleValues() as $profileValue) {

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ModifierCode' in method 'I_can_get_spell_trait_codes'.
              Open

                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Tables\Tables' in method 'getExpectedFormulaValues'.
              Open

                      $formulasTable = new FormulasTable(Tables::getIt());

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Tables\Tables' in method 'I_can_get_spell_traits'.
              Open

                      $modifiersTable = new ModifiersTable(Tables::getIt());

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ModifierCode' in method 'I_can_get_child_modifiers'.
              Open

                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\ModifierCode' in method 'I_can_get_formulas_for_modifier'.
              Open

                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Codes\Theurgist\FormulaCode' in method 'getExpectedFormulaValues'.
              Open

                      foreach (FormulaCode::getPossibleValues() as $formulaValue) {

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Tables\Tables' in method 'I_can_not_get_parent_modifiers_for_unknown_modifier'.
              Open

                      $modifiersTable = new ModifiersTable(Tables::getIt());

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Avoid using static access to class '\DrdPlus\Tables\Tables' in method 'I_can_get_spell_trait_codes'.
              Open

                      $modifiersTable = new ModifiersTable(Tables::getIt());

              StaticAccess

              Since: 1.4.0

              Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

              Example

              class Foo
              {
                  public function bar()
                  {
                      Bar::baz();
                  }
              }

              Source https://phpmd.org/rules/cleancode.html#staticaccess

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                  public function I_can_get_parent_modifiers()
                  {
                      $modifiersTable = new ModifiersTable(Tables::getIt());
                      $fromParentMatchingProfiles = [];
                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 1 other location - About 1 day to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 436..487

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 371.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                  public function I_can_get_child_modifiers()
                  {
                      $modifiersTable = new ModifiersTable(Tables::getIt());
                      $fromChildrenMatchingProfiles = [];
                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 1 other location - About 1 day to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 380..431

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 371.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::THUNDER => [ProfileCode::BARRIER_VENUS, ProfileCode::BARRIER_MARS, ProfileCode::SPARK_VENUS, ProfileCode::SPARK_MARS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_VENUS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::WATCHER_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_VENUS, ProfileCode::LOOK_MARS, ProfileCode::TIME_VENUS, ProfileCode::TIME_MARS],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 5 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 314..314
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 315..315
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 317..317
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 319..319
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 322..322
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 323..323
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 324..324
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 325..325
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 327..327

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 183.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::BREACH => [ProfileCode::BARRIER_VENUS, ProfileCode::BARRIER_MARS, ProfileCode::SPARK_VENUS, ProfileCode::SPARK_MARS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_VENUS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::DISCHARGE_MARS, ProfileCode::WATCHER_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_VENUS, ProfileCode::LOOK_MARS, ProfileCode::TIME_VENUS, ProfileCode::TIME_MARS],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 5 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 314..314
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 315..315
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 316..316
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 317..317
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 319..319
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 323..323
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 324..324
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 325..325
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 327..327

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 183.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::STEP_TO_PAST => [ProfileCode::BARRIER_VENUS, ProfileCode::BARRIER_MARS, ProfileCode::SPARK_VENUS, ProfileCode::SPARK_MARS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_VENUS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::DISCHARGE_MARS, ProfileCode::WATCHER_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_VENUS, ProfileCode::LOOK_MARS, ProfileCode::TIME_VENUS,],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 5 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 314..314
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 315..315
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 316..316
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 317..317
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 319..319
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 322..322
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 323..323
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 324..324
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 327..327

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 183.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::CAMOUFLAGE => [ProfileCode::BARRIER_VENUS, ProfileCode::SPARK_VENUS, ProfileCode::SPARK_MARS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_VENUS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::DISCHARGE_MARS, ProfileCode::WATCHER_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_VENUS, ProfileCode::LOOK_MARS, ProfileCode::TIME_VENUS, ProfileCode::TIME_MARS],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 5 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 314..314
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 315..315
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 316..316
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 317..317
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 322..322
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 323..323
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 324..324
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 325..325
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 327..327

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 183.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::INTERACTIVE_ILLUSION => [ProfileCode::BARRIER_VENUS, ProfileCode::BARRIER_MARS, ProfileCode::SPARK_VENUS, ProfileCode::SPARK_MARS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::RECEPTOR_VENUS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::DISCHARGE_MARS, ProfileCode::WATCHER_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_VENUS, ProfileCode::LOOK_MARS, ProfileCode::TIME_VENUS, ProfileCode::TIME_MARS],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 5 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 314..314
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 315..315
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 316..316
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 319..319
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 322..322
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 323..323
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 324..324
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 325..325
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 327..327

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 183.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::RECEPTOR => [ProfileCode::BARRIER_VENUS, ProfileCode::BARRIER_MARS, ProfileCode::SPARK_VENUS, ProfileCode::SPARK_MARS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_VENUS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::DISCHARGE_MARS, ProfileCode::WATCHER_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_VENUS, ProfileCode::LOOK_MARS, ProfileCode::TIME_VENUS, ProfileCode::TIME_MARS],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 5 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 314..314
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 315..315
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 316..316
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 317..317
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 319..319
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 322..322
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 324..324
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 325..325
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 327..327

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 183.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::RELEASE => [ProfileCode::BARRIER_VENUS, ProfileCode::BARRIER_MARS, ProfileCode::SPARK_VENUS, ProfileCode::SPARK_MARS, ProfileCode::RELEASE_VENUS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_VENUS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::DISCHARGE_MARS, ProfileCode::WATCHER_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_VENUS, ProfileCode::LOOK_MARS, ProfileCode::TIME_VENUS, ProfileCode::TIME_MARS],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 5 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 314..314
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 315..315
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 316..316
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 317..317
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 319..319
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 322..322
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 323..323
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 324..324
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 325..325

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 183.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::FILTER => [ProfileCode::BARRIER_VENUS, ProfileCode::SPARK_VENUS, ProfileCode::SPARK_MARS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_VENUS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::DISCHARGE_MARS, ProfileCode::WATCHER_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_VENUS, ProfileCode::LOOK_MARS, ProfileCode::TIME_VENUS, ProfileCode::TIME_MARS],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 5 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 315..315
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 316..316
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 317..317
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 319..319
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 322..322
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 323..323
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 324..324
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 325..325
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 327..327

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 183.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::STEP_TO_FUTURE => [ProfileCode::BARRIER_VENUS, ProfileCode::BARRIER_MARS, ProfileCode::SPARK_VENUS, ProfileCode::SPARK_MARS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_VENUS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::DISCHARGE_MARS, ProfileCode::WATCHER_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_VENUS, ProfileCode::LOOK_MARS, ProfileCode::TIME_VENUS,],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 5 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 314..314
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 315..315
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 316..316
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 317..317
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 319..319
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 322..322
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 323..323
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 325..325
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 327..327

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 183.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::WATCHER => [ProfileCode::BARRIER_VENUS, ProfileCode::BARRIER_MARS, ProfileCode::SPARK_VENUS, ProfileCode::SPARK_MARS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_VENUS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::DISCHARGE_MARS, ProfileCode::WATCHER_VENUS, ProfileCode::LOOK_VENUS, ProfileCode::LOOK_MARS, ProfileCode::TIME_VENUS, ProfileCode::TIME_MARS],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 5 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 314..314
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 316..316
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 317..317
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 319..319
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 322..322
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 323..323
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 324..324
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 325..325
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 327..327

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 183.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 6 locations. Consider refactoring.
              Open

                      ModifierCode::COLOR => [ProfileCode::BARRIER_VENUS, ProfileCode::BARRIER_MARS, ProfileCode::SPARK_VENUS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_VENUS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::DISCHARGE_MARS, ProfileCode::WATCHER_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_VENUS, ProfileCode::TIME_VENUS, ProfileCode::TIME_MARS],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 5 other locations - About 4 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 313..313
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 318..318
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 320..320
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 321..321
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 328..328

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 177.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 6 locations. Consider refactoring.
              Open

                      ModifierCode::INVISIBILITY => [ProfileCode::BARRIER_VENUS, ProfileCode::BARRIER_MARS, ProfileCode::SPARK_VENUS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_VENUS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::DISCHARGE_MARS, ProfileCode::WATCHER_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_VENUS, ProfileCode::TIME_VENUS, ProfileCode::TIME_MARS],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 5 other locations - About 4 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 311..311
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 313..313
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 318..318
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 321..321
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 328..328

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 177.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 6 locations. Consider refactoring.
              Open

                      ModifierCode::EXPLOSION => [ProfileCode::BARRIER_VENUS, ProfileCode::BARRIER_MARS, ProfileCode::SPARK_VENUS, ProfileCode::SPARK_MARS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_VENUS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::DISCHARGE_MARS, ProfileCode::WATCHER_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_MARS, ProfileCode::TIME_VENUS, ProfileCode::TIME_MARS],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 5 other locations - About 4 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 311..311
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 318..318
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 320..320
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 321..321
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 328..328

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 177.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 6 locations. Consider refactoring.
              Open

                      ModifierCode::HAMMER => [ProfileCode::BARRIER_VENUS, ProfileCode::BARRIER_MARS, ProfileCode::SPARK_VENUS, ProfileCode::SPARK_MARS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_VENUS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_VENUS, ProfileCode::LOOK_MARS, ProfileCode::TIME_VENUS, ProfileCode::TIME_MARS],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 5 other locations - About 4 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 311..311
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 313..313
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 320..320
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 321..321
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 328..328

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 177.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 6 locations. Consider refactoring.
              Open

                      ModifierCode::FRAGRANCE => [ProfileCode::BARRIER_VENUS, ProfileCode::BARRIER_MARS, ProfileCode::SPARK_VENUS, ProfileCode::SPARK_MARS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::MOVEMENT_MARS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::DISCHARGE_MARS, ProfileCode::WATCHER_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_VENUS, ProfileCode::LOOK_MARS, ProfileCode::TIME_VENUS, ProfileCode::TIME_MARS],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 5 other locations - About 4 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 311..311
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 313..313
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 318..318
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 320..320
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 321..321

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 177.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 6 locations. Consider refactoring.
              Open

                      ModifierCode::MOVEMENT => [ProfileCode::BARRIER_VENUS, ProfileCode::BARRIER_MARS, ProfileCode::SPARK_VENUS, ProfileCode::RELEASE_VENUS, ProfileCode::RELEASE_MARS, ProfileCode::SCENT_VENUS, ProfileCode::SCENT_MARS, ProfileCode::ILLUSION_VENUS, ProfileCode::ILLUSION_MARS, ProfileCode::RECEPTOR_VENUS, ProfileCode::RECEPTOR_MARS, ProfileCode::BREACH_VENUS, ProfileCode::BREACH_MARS, ProfileCode::FIRE_VENUS, ProfileCode::FIRE_MARS, ProfileCode::GATE_VENUS, ProfileCode::GATE_MARS, ProfileCode::MOVEMENT_VENUS, ProfileCode::TRANSPOSITION_VENUS, ProfileCode::TRANSPOSITION_MARS, ProfileCode::DISCHARGE_VENUS, ProfileCode::DISCHARGE_MARS, ProfileCode::WATCHER_VENUS, ProfileCode::WATCHER_MARS, ProfileCode::LOOK_VENUS, ProfileCode::LOOK_MARS, ProfileCode::TIME_VENUS, ProfileCode::TIME_MARS],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 5 other locations - About 4 hrs to fix
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 311..311
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 313..313
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 318..318
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 320..320
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 328..328

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 177.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                  public function I_can_get_forms()
                  {
                      $modifiersTable = new ModifiersTable(Tables::getIt());
                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {
                          $forms = $modifiersTable->getFormCodes(ModifierCode::getIt($modifierValue));
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 1 other location - About 4 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 72..88

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 167.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 17 locations. Consider refactoring.
              Open

                      ModifierCode::EXPLOSION => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 16 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 150..150
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 151..151
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 152..152
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 153..153
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 154..154
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 161..161
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 164..164
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 165..165
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 166..166
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 168..168
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 170..170
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 172..172
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 173..173
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 174..174
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 176..176
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 178..178

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 129.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 17 locations. Consider refactoring.
              Open

                      ModifierCode::STEP_TO_FUTURE => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 16 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 150..150
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 151..151
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 152..152
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 153..153
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 154..154
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 161..161
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 163..163
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 164..164
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 165..165
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 166..166
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 168..168
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 170..170
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 172..172
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 173..173
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 176..176
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 178..178

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 129.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 17 locations. Consider refactoring.
              Open

                      ModifierCode::INVISIBILITY => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 16 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 150..150
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 151..151
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 152..152
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 153..153
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 154..154
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 161..161
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 163..163
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 164..164
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 165..165
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 166..166
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 168..168
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 172..172
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 173..173
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 174..174
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 176..176
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 178..178

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 129.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 17 locations. Consider refactoring.
              Open

                      ModifierCode::BREACH => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 16 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 150..150
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 151..151
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 152..152
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 153..153
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 154..154
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 161..161
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 163..163
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 164..164
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 165..165
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 166..166
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 168..168
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 170..170
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 173..173
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 174..174
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 176..176
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 178..178

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 129.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 17 locations. Consider refactoring.
              Open

                      ModifierCode::RECEPTOR => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 16 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 150..150
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 151..151
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 152..152
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 153..153
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 154..154
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 161..161
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 163..163
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 164..164
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 165..165
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 166..166
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 168..168
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 170..170
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 172..172
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 174..174
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 176..176
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 178..178

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 129.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 17 locations. Consider refactoring.
              Open

                      ModifierCode::COLOR => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 16 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 150..150
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 151..151
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 152..152
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 153..153
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 154..154
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 163..163
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 164..164
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 165..165
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 166..166
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 168..168
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 170..170
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 172..172
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 173..173
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 174..174
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 176..176
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 178..178

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 129.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 17 locations. Consider refactoring.
              Open

                      ModifierCode::THUNDER => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 16 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 150..150
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 151..151
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 152..152
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 153..153
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 154..154
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 161..161
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 163..163
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 164..164
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 165..165
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 168..168
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 170..170
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 172..172
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 173..173
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 174..174
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 176..176
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 178..178

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 129.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 17 locations. Consider refactoring.
              Open

                      ModifierCode::TRANSPOSITION => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 16 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 150..150
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 151..151
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 152..152
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 153..153
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 154..154
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 161..161
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 163..163
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 164..164
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 165..165
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 166..166
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 168..168
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 170..170
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 172..172
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 173..173
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 174..174
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 178..178

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 129.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 17 locations. Consider refactoring.
              Open

                      ModifierCode::WATCHER => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 16 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 150..150
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 151..151
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 152..152
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 153..153
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 154..154
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 161..161
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 163..163
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 164..164
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 166..166
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 168..168
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 170..170
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 172..172
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 173..173
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 174..174
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 176..176
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 178..178

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 129.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 17 locations. Consider refactoring.
              Open

                      ModifierCode::FILTER => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 16 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 150..150
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 151..151
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 152..152
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 153..153
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 154..154
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 161..161
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 163..163
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 165..165
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 166..166
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 168..168
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 170..170
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 172..172
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 173..173
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 174..174
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 176..176
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 178..178

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 129.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 17 locations. Consider refactoring.
              Open

                      ModifierCode::HAMMER => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 16 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 150..150
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 151..151
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 152..152
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 153..153
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 154..154
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 161..161
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 163..163
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 164..164
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 165..165
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 166..166
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 170..170
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 172..172
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 173..173
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 174..174
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 176..176
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 178..178

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 129.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 17 locations. Consider refactoring.
              Open

                      ModifierCode::FRAGRANCE => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 16 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 150..150
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 151..151
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 152..152
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 153..153
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 154..154
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 161..161
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 163..163
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 164..164
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 165..165
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 166..166
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 168..168
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 170..170
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 172..172
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 173..173
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 174..174
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 176..176

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 129.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::INTERACTIVE_ILLUSION => [SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 143..143
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 144..144
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 147..147
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 149..149
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 155..155
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 162..162
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 171..171
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 175..175
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 177..177

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 123.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::GATE => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 143..143
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 144..144
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 147..147
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 149..149
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 155..155
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 167..167
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 171..171
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 175..175
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 177..177

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 123.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::MOVEMENT => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 143..143
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 144..144
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 147..147
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 149..149
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 155..155
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 162..162
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 167..167
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 175..175
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 177..177

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 123.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::RELEASE => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 143..143
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 144..144
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 147..147
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 149..149
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 155..155
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 162..162
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 167..167
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 171..171
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 175..175

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 123.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 10 locations. Consider refactoring.
              Open

                      ModifierCode::STEP_TO_PAST => [SpellTraitCode::AFFECTING, SpellTraitCode::INVISIBLE, SpellTraitCode::SILENT, SpellTraitCode::ODORLESS, SpellTraitCode::CYCLIC, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 9 other locations - About 2 hrs to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 143..143
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 144..144
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 147..147
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 149..149
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 155..155
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 162..162
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 167..167
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 171..171
              tests/Tables/Theurgist/Spells/ModifiersTableTest.php on lines 177..177

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 123.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 29 locations. Consider refactoring.
              Open

                      ModifierCode::CAMOUFLAGE => [SpellTraitCode::AFFECTING, SpellTraitCode::CYCLIC, SpellTraitCode::MEMORY, SpellTraitCode::DEFORMATION, SpellTraitCode::UNIDIRECTIONAL, SpellTraitCode::BIDIRECTIONAL, SpellTraitCode::INACRID, SpellTraitCode::EVERY_SENSE, SpellTraitCode::SITUATIONAL, SpellTraitCode::SHAPESHIFT, SpellTraitCode::STATE_CHANGE, SpellTraitCode::NATURE_CHANGE, SpellTraitCode::NO_SMOKE, SpellTraitCode::TRANSPARENCY, SpellTraitCode::MULTIPLE_ENTRY, SpellTraitCode::OMNIPRESENT, SpellTraitCode::ACTIVE],
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 28 other locations - About 1 hr to fix
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 146..146
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 206..206
              tests/Tables/Theurgist/Spells/FormulasTableTest.php on lines 210..210
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 176..176
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 177..177
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 178..178
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 179..179
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 181..181
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 183..183
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 184..184
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 185..185
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 186..186
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 187..187
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 189..189
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 191..191
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 193..193
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 194..194
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 197..197
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 200..200
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 202..202
              tests/Tables/Theurgist/Spells/SpellTraitsTableTest.php on lines 58..58
              tests/Tables/Theurgist/Spells/SpellTraitsTableTest.php on lines 59..59
              tests/Tables/Theurgist/Spells/SpellTraitsTableTest.php on lines 60..60
              tests/Tables/Theurgist/Spells/SpellTraitsTableTest.php on lines 61..61
              tests/Tables/Theurgist/Spells/SpellTraitsTableTest.php on lines 62..62
              tests/Tables/Theurgist/Spells/SpellTraitsTableTest.php on lines 63..63
              tests/Tables/Theurgist/Spells/SpellTraitsTableTest.php on lines 64..64
              tests/Tables/Theurgist/Spells/SpellTraitsTableTest.php on lines 65..65

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 111.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                          self::assertEquals(
                              $expectedProfileValues,
                              $collectedProfileValues,
                              "Expected different profiles for profile '{$modifierValue}'"
                              . (($redundant = array_diff($collectedProfileValues, $expectedProfileValues)) !== []
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 1 other location - About 1 hr to fix
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 156..168

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 106.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                          self::assertEquals(
                              $expectedFormulaValues,
                              $collectedFormulaValues,
                              'Expected different formulas for modifier ' . $modifierValue
                              . (($missing = array_diff($expectedFormulaValues, $collectedFormulaValues)) !== []
              Severity: Major
              Found in tests/Tables/Theurgist/Spells/ModifiersTableTest.php and 1 other location - About 1 hr to fix
              tests/Tables/Theurgist/Spells/ProfilesTableTest.php on lines 76..88

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 106.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Avoid excessively long variable names like $fromParentMatchingProfiles. Keep variable name length under 20.
              Open

                      $fromParentMatchingProfiles = [];

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $expectedSpellTraitCodes. Keep variable name length under 20.
              Open

                          $expectedSpellTraitCodes = $this->getExpectedSpellTraitCodes($modifiersTable, $modifierValue);

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $collectedFormulaValues. Keep variable name length under 20.
              Open

                          $collectedFormulaValues = [];

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $profileValuesFromProfilesTable. Keep variable name length under 20.
              Open

                      $profileValuesFromProfilesTable = $this->getProfileValuesFromProfilesTable($modifierValue);

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $expectedSpellTraitCodes. Keep variable name length under 20.
              Open

                      $expectedSpellTraitCodes = [];

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $expectedSpellTraitCodes. Keep variable name length under 20.
              Open

                      $expectedSpellTraitCodes = $this->getExpectedSpellTraitCodes($modifiersTable, $modifierValue);

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $expectedFormulaValues. Keep variable name length under 20.
              Open

                          $expectedFormulaValues = $this->getExpectedFormulaValues($modifierValue);

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $expectedProfileValues. Keep variable name length under 20.
              Open

                      $expectedProfileValues = array_diff(ProfileCode::getPossibleValues(), self::$impossibleProfiles[$modifierValue]);

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $expectedFormulaValues. Keep variable name length under 20.
              Open

                      $expectedFormulaValues = [];

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $expectedProfileValues. Keep variable name length under 20.
              Open

                          $expectedProfileValues = $this->getExpectedProfileValues($modifierValue);

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $fromChildToModifierMatchingProfile. Keep variable name length under 20.
              Open

                          foreach ($fromChildToModifierMatchingProfiles as $fromChildToModifierMatchingProfile) {

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $fromChildToModifierMatchingProfiles. Keep variable name length under 20.
              Open

                          $fromChildToModifierMatchingProfiles = [];

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $expectedSpellTraitCode. Keep variable name length under 20.
              Open

                      foreach ($expectedSpellTraitCodes as $expectedSpellTraitCode) {

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $expectedProfileValues. Keep variable name length under 20.
              Open

                      $expectedProfileValues = [];

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $expectedSpellTraitValue. Keep variable name length under 20.
              Open

                      foreach ($expectedTraitValues as $expectedSpellTraitValue) {

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $expectedSpellTraitCodeValues. Keep variable name length under 20.
              Open

                          $expectedSpellTraitCodeValues = $this->getExpectedSpellTraitCodeValues($modifierValue);

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $fromParentToModifierMatchingProfiles. Keep variable name length under 20.
              Open

                          $fromParentToModifierMatchingProfiles = [];

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $fromParentToModifierMatchingProfile. Keep variable name length under 20.
              Open

                          foreach ($fromParentToModifierMatchingProfiles as $fromParentToModifierMatchingProfile) {

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $fromChildrenMatchingProfiles. Keep variable name length under 20.
              Open

                      $fromChildrenMatchingProfiles = [];

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              Avoid excessively long variable names like $collectedProfileValues. Keep variable name length under 20.
              Open

                          $collectedProfileValues = [];

              LongVariable

              Since: 0.2

              Detects when a field, formal or local variable is declared with a long name.

              Example

              class Something {
                  protected $reallyLongIntName = -3; // VIOLATION - Field
                  public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                      $otherReallyLongName = -5; // VIOLATION - Local
                      for ($interestingIntIndex = 0; // VIOLATION - For
                           $interestingIntIndex < 10;
                           $interestingIntIndex++ ) {
                      }
                  }
              }

              Source https://phpmd.org/rules/naming.html#longvariable

              The method I_can_get_forms is not named in camelCase.
              Open

                  public function I_can_get_forms()
                  {
                      $modifiersTable = new ModifiersTable(Tables::getIt());
                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {
                          $forms = $modifiersTable->getFormCodes(ModifierCode::getIt($modifierValue));

              CamelCaseMethodName

              Since: 0.2

              It is considered best practice to use the camelCase notation to name methods.

              Example

              class ClassName {
                  public function get_name() {
                  }
              }

              Source

              The method I_can_get_spell_trait_codes is not named in camelCase.
              Open

                  public function I_can_get_spell_trait_codes()
                  {
                      $modifiersTable = new ModifiersTable(Tables::getIt());
                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {
                          $expectedSpellTraitCodes = $this->getExpectedSpellTraitCodes($modifiersTable, $modifierValue);

              CamelCaseMethodName

              Since: 0.2

              It is considered best practice to use the camelCase notation to name methods.

              Example

              class ClassName {
                  public function get_name() {
                  }
              }

              Source

              The method I_can_get_spell_traits is not named in camelCase.
              Open

                  public function I_can_get_spell_traits()
                  {
                      $modifiersTable = new ModifiersTable(Tables::getIt());
                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {
                          $expectedSpellTraits = $this->getExpectedSpellTraits($modifiersTable, $modifierValue);

              CamelCaseMethodName

              Since: 0.2

              It is considered best practice to use the camelCase notation to name methods.

              Example

              class ClassName {
                  public function get_name() {
                  }
              }

              Source

              The method I_can_not_get_formulas_to_unknown_modifier is not named in camelCase.
              Open

                  public function I_can_not_get_formulas_to_unknown_modifier()
                  {
                      $this->expectException(\DrdPlus\Tables\Theurgist\Spells\Exceptions\UnknownModifierToGetFormulasFor::class);
                      $this->expectExceptionMessageMatches('~black and white~');
                      (new ModifiersTable(Tables::getIt()))->getFormulaCodes($this->createModifierCode('black and white'));

              CamelCaseMethodName

              Since: 0.2

              It is considered best practice to use the camelCase notation to name methods.

              Example

              class ClassName {
                  public function get_name() {
                  }
              }

              Source

              The method I_can_get_child_modifiers is not named in camelCase.
              Open

                  public function I_can_get_child_modifiers()
                  {
                      $modifiersTable = new ModifiersTable(Tables::getIt());
                      $fromChildrenMatchingProfiles = [];
                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {

              CamelCaseMethodName

              Since: 0.2

              It is considered best practice to use the camelCase notation to name methods.

              Example

              class ClassName {
                  public function get_name() {
                  }
              }

              Source

              The method I_can_not_get_parent_modifiers_for_unknown_modifier is not named in camelCase.
              Open

                  public function I_can_not_get_parent_modifiers_for_unknown_modifier()
                  {
                      $this->expectException(\DrdPlus\Tables\Theurgist\Spells\Exceptions\UnknownModifierToGetParentModifiersFor::class);
                      $this->expectExceptionMessageMatches('~dancing~');
                      $modifiersTable = new ModifiersTable(Tables::getIt());

              CamelCaseMethodName

              Since: 0.2

              It is considered best practice to use the camelCase notation to name methods.

              Example

              class ClassName {
                  public function get_name() {
                  }
              }

              Source

              The method I_can_get_profiles_to_modifier is not named in camelCase.
              Open

                  public function I_can_get_profiles_to_modifier()
                  {
                      $modifiersTable = new ModifiersTable(Tables::getIt());
                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {
                          $profileCodes = $modifiersTable->getProfileCodes(ModifierCode::getIt($modifierValue));

              CamelCaseMethodName

              Since: 0.2

              It is considered best practice to use the camelCase notation to name methods.

              Example

              class ClassName {
                  public function get_name() {
                  }
              }

              Source

              The method I_can_not_get_child_modifiers_for_unknown_modifier is not named in camelCase.
              Open

                  public function I_can_not_get_child_modifiers_for_unknown_modifier()
                  {
                      $this->expectException(\DrdPlus\Tables\Theurgist\Spells\Exceptions\UnknownModifierToGetChildModifiersFor::class);
                      $this->expectExceptionMessageMatches('~lazy~');
                      $modifiersTable = new ModifiersTable(Tables::getIt());

              CamelCaseMethodName

              Since: 0.2

              It is considered best practice to use the camelCase notation to name methods.

              Example

              class ClassName {
                  public function get_name() {
                  }
              }

              Source

              The method I_can_get_formulas_for_modifier is not named in camelCase.
              Open

                  public function I_can_get_formulas_for_modifier()
                  {
                      $modifiersTable = new ModifiersTable(Tables::getIt());
                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {
                          $formulaCodes = $modifiersTable->getFormulaCodes(ModifierCode::getIt($modifierValue));

              CamelCaseMethodName

              Since: 0.2

              It is considered best practice to use the camelCase notation to name methods.

              Example

              class ClassName {
                  public function get_name() {
                  }
              }

              Source

              The method I_can_get_parent_modifiers is not named in camelCase.
              Open

                  public function I_can_get_parent_modifiers()
                  {
                      $modifiersTable = new ModifiersTable(Tables::getIt());
                      $fromParentMatchingProfiles = [];
                      foreach (ModifierCode::getPossibleValues() as $modifierValue) {

              CamelCaseMethodName

              Since: 0.2

              It is considered best practice to use the camelCase notation to name methods.

              Example

              class ClassName {
                  public function get_name() {
                  }
              }

              Source

              The method I_can_not_get_profiles_to_unknown_modifiers is not named in camelCase.
              Open

                  public function I_can_not_get_profiles_to_unknown_modifiers()
                  {
                      $this->expectException(\DrdPlus\Tables\Theurgist\Spells\Exceptions\UnknownModifierToGetProfilesFor::class);
                      $this->expectExceptionMessageMatches('~magnified~');
                      (new ModifiersTable(Tables::getIt()))->getProfileCodes($this->createModifierCode('magnified'));

              CamelCaseMethodName

              Since: 0.2

              It is considered best practice to use the camelCase notation to name methods.

              Example

              class ClassName {
                  public function get_name() {
                  }
              }

              Source

              There are no issues that match your filters.

              Category
              Status