bcdice/BCDice

View on GitHub

Showing 1,176 of 1,233 total issues

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

        if break_list.empty?
          "#{dice_total}[#{dice_list.join(', ')}]#{modify_number_text}"
        else
          "#{dice_total}[#{dice_list.join(', ')}]×[#{break_list.join(', ')}]#{modify_number_text}"
Severity: Minor
Found in lib/bcdice/game_system/OracleEngine.rb and 1 other location - About 25 mins to fix
lib/bcdice/game_system/OracleEngine.rb on lines 169..172

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 30.

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 4 locations. Consider refactoring.
Open

        'QPT' => DiceTable::RangeTable.new(
          '四足動物部位表',
          '1D12',
          [
            [1..2,    '異形'],
Severity: Minor
Found in lib/bcdice/game_system/KemonoNoMori.rb and 3 other locations - About 25 mins to fix
lib/bcdice/game_system/KemonoNoMori.rb on lines 296..308
lib/bcdice/game_system/KemonoNoMori.rb on lines 310..322
lib/bcdice/game_system/KemonoNoMori.rb on lines 324..336

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 30.

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

      def normal1
        table = [
          'イレブンチキン',
          'イレブンチキン',
          'イレブンチキン',
Severity: Minor
Found in lib/bcdice/game_system/GurpsFW.rb and 1 other location - About 25 mins to fix
lib/bcdice/game_system/GurpsFW.rb on lines 695..705

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 30.

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

            if hunger_botch_dice > 0
              return Result.fumble("#{result_text}:判定失敗! [Bestial Failure]")
            end
            if success_dice == 0
              return Result.fumble("#{result_text}:判定失敗! [Total Failure]")
Severity: Minor
Found in lib/bcdice/game_system/VampireTheMasquerade5th.rb and 1 other location - About 25 mins to fix
lib/bcdice/game_system/HunterTheReckoning5th.rb on lines 106..113

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 30.

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

        4 => DiceTable::RangeTable.new(
          "ナンバーワンプレミアムくじ(phase 4)",
          "1D6",
          [
            [1, "クイックユグドラポーション"],
Severity: Major
Found in lib/bcdice/game_system/filled_with/lot_tables.rb and 5 other locations - About 25 mins to fix
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 34..44
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 47..57
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 60..70
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 101..111
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 127..137

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 29.

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

        3 => DiceTable::RangeTable.new(
          "ナンバーワンノーマルくじ(phase 3)",
          "1D6",
          [
            [1, "特性HPポーション"],
Severity: Major
Found in lib/bcdice/game_system/filled_with/lot_tables.rb and 5 other locations - About 25 mins to fix
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 47..57
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 60..70
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 101..111
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 114..124
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 127..137

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 29.

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

        5 => DiceTable::RangeTable.new(
          "ナンバーワンプレミアムくじ(phase 5)",
          "1D6",
          [
            [1, "グレヴディバリウス"],
Severity: Major
Found in lib/bcdice/game_system/filled_with/lot_tables.rb and 5 other locations - About 25 mins to fix
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 34..44
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 47..57
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 60..70
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 101..111
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 114..124

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 29.

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

        5 => DiceTable::RangeTable.new(
          "ナンバーワンノーマルくじ(phase 5)",
          "1D6",
          [
            [1, "キャンディークッション"],
Severity: Major
Found in lib/bcdice/game_system/filled_with/lot_tables.rb and 5 other locations - About 25 mins to fix
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 34..44
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 47..57
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 101..111
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 114..124
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 127..137

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 29.

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

        table = [
          [1, lambda { mk_basic_decoration_table(@randomizer.roll_d66(D66SortType::ASC)) }],
          [2, lambda { mk_spooky_decoration_table(@randomizer.roll_d66(D66SortType::ASC)) }],
          [3, lambda { mk_katakana_decoration_table(@randomizer.roll_d66(D66SortType::ASC)) }],
        ]
Severity: Minor
Found in lib/bcdice/game_system/meikyu_kingdom/placename_table.rb and 1 other location - About 25 mins to fix
lib/bcdice/game_system/meikyu_kingdom/placename_table.rb on lines 39..43

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 29.

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 3 locations. Consider refactoring.
Open

      def get_scene_production_table(roc)
        name = "シーン演出表"
        table = [
          [1, '相談。君は相手に相談したいことがあった。'],
          [2, '遊び。君は相手と遊びたかった。'],
Severity: Minor
Found in lib/bcdice/game_system/AlterRaise.rb and 2 other locations - About 25 mins to fix
lib/bcdice/game_system/AlterRaise.rb on lines 114..124
lib/bcdice/game_system/AlterRaise.rb on lines 216..226

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 29.

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

        table = [
          [1, lambda { mk_passage_placename_table(@randomizer.roll_d66(D66SortType::ASC)) }],
          [2, lambda { mk_natural_placename_table(@randomizer.roll_d66(D66SortType::ASC)) }],
          [3, lambda { mk_artifact_placename_table(@randomizer.roll_d66(D66SortType::ASC)) }],
        ]
Severity: Minor
Found in lib/bcdice/game_system/meikyu_kingdom/placename_table.rb and 1 other location - About 25 mins to fix
lib/bcdice/game_system/meikyu_kingdom/placename_table.rb on lines 29..33

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 29.

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 3 locations. Consider refactoring.
Open

      def get_stance_table(roc)
        name = "スタンス表"
        table = [
          [1, '友人'],
          [2, '恋愛'],
Severity: Minor
Found in lib/bcdice/game_system/AlterRaise.rb and 2 other locations - About 25 mins to fix
lib/bcdice/game_system/AlterRaise.rb on lines 114..124
lib/bcdice/game_system/AlterRaise.rb on lines 203..213

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 29.

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

        4 => DiceTable::RangeTable.new(
          "ナンバーワンノーマルくじ(phase 4)",
          "1D6",
          [
            [1, "特性スタミナポーション"],
Severity: Major
Found in lib/bcdice/game_system/filled_with/lot_tables.rb and 5 other locations - About 25 mins to fix
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 34..44
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 60..70
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 101..111
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 114..124
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 127..137

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 29.

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 3 locations. Consider refactoring.
Open

      def get_personality_table(roc)
        name = "性格傾向表"
        table = [
          [1, '挑戦'],
          [2, '調和'],
Severity: Minor
Found in lib/bcdice/game_system/AlterRaise.rb and 2 other locations - About 25 mins to fix
lib/bcdice/game_system/AlterRaise.rb on lines 203..213
lib/bcdice/game_system/AlterRaise.rb on lines 216..226

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 29.

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

        3 => DiceTable::RangeTable.new(
          "ナンバーワンプレミアムくじ(phase 3)",
          "1D6",
          [
            [1, "特性クイックHPポーション"],
Severity: Major
Found in lib/bcdice/game_system/filled_with/lot_tables.rb and 5 other locations - About 25 mins to fix
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 34..44
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 47..57
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 60..70
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 114..124
lib/bcdice/game_system/filled_with/lot_tables.rb on lines 127..137

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 29.

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

              when RE_COUNT_SATZ_BATZ
                # サツバツ!カウント
                check_result = check_difficulty(roll_result.last_dice_list, s_to_i(Regexp.last_match[1], 6), ">=", "サツバツ!")
                output_text += ", #{check_result[0]}"
                success_num += check_result[1]
Severity: Minor
Found in lib/bcdice/game_system/NinjaSlayer2.rb and 1 other location - About 25 mins to fix
lib/bcdice/game_system/NinjaSlayer2.rb on lines 137..142

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 29.

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

              when RE_COUNT_CRITICAL
                # クリティカル!カウント
                check_result = check_difficulty(roll_result.last_dice_list, s_to_i(Regexp.last_match[1], 6), ">=", "クリティカル!")
                output_text += ", #{check_result[0]}"
                success_num += check_result[1]
Severity: Minor
Found in lib/bcdice/game_system/NinjaSlayer2.rb and 1 other location - About 25 mins to fix
lib/bcdice/game_system/NinjaSlayer2.rb on lines 132..137

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 29.

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 4 locations. Consider refactoring.
Open

      def initialize(name, type, items)
        @name = name
        @items = items.freeze

        m = /(\d+)D(\d+)/i.match(type)
Severity: Minor
Found in lib/bcdice/dice_table/chain_table.rb and 3 other locations - About 20 mins to fix
lib/bcdice/dice_table/table.rb on lines 18..28
lib/bcdice/game_system/beginning_idol/chain_table.rb on lines 10..20
lib/bcdice/game_system/one_way_heroics/random_event_table.rb on lines 7..17

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 28.

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 4 locations. Consider refactoring.
Open

        if /(\w)DPT([+\-\d]*)/i =~ string
          ttype = 'ダメージペナルティー'
          head = Regexp.last_match(1)
          mod = ArithmeticEvaluator.eval(Regexp.last_match(2)) if Regexp.last_match(2)

Severity: Minor
Found in lib/bcdice/game_system/GundogRevised.rb and 3 other locations - About 20 mins to fix
lib/bcdice/game_system/GundogRevised.rb on lines 81..87
lib/bcdice/game_system/GundogZero.rb on lines 40..46
lib/bcdice/game_system/GundogZero.rb on lines 49..55

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 28.

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 4 locations. Consider refactoring.
Open

        def initialize(name, type, items)
          @name = name
          @items = items.freeze

          m = /(\d+)D(\d+)/i.match(type)
Severity: Minor
Found in lib/bcdice/game_system/one_way_heroics/random_event_table.rb and 3 other locations - About 20 mins to fix
lib/bcdice/dice_table/chain_table.rb on lines 9..19
lib/bcdice/dice_table/table.rb on lines 18..28
lib/bcdice/game_system/beginning_idol/chain_table.rb on lines 10..20

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 28.

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

Severity
Category
Status
Source
Language