bcdice/BCDice

View on GitHub

Showing 809 of 1,233 total issues

Method roll_judge has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
Open

      def roll_judge(command)
        m = /^TN(6|10)([CSBYA]*)$/.match(command)
        unless m
          return nil
        end
Severity: Minor
Found in lib/bcdice/game_system/TensaiGunshiNiNaro.rb - About 2 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

Method resolute_attacking has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
Open

      def resolute_attacking(command)
        m = /^([-+]\d+)?AA<=(\d+)$/.match(command)
        return nil unless m

        num_bonus = m[1].to_i
Severity: Minor
Found in lib/bcdice/game_system/AniMalus.rb - About 2 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

Method eval_game_system_specific_command has 56 lines of code (exceeds 25 allowed). Consider refactoring.
Open

      def eval_game_system_specific_command(command)
        difficulty = 6
        auto_success = 0
        enabled_reroll = false
        enabled_reroll_with_botch = false
Severity: Major
Found in lib/bcdice/game_system/WorldOfDarkness.rb - About 2 hrs to fix

    File FutariSousa.rb has 259 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    module BCDice
      module GameSystem
        class FutariSousa < Base
          # ゲームシステムの識別子
          ID = 'FutariSousa'
    Severity: Minor
    Found in lib/bcdice/game_system/FutariSousa.rb - About 2 hrs to fix

      File RuinBreakers.rb has 258 lines of code (exceeds 250 allowed). Consider refactoring.
      Open

      require 'bcdice/arithmetic_evaluator'
      require 'bcdice/dice_table/table'
      require 'bcdice/dice_table/range_table'
      
      module BCDice
      Severity: Minor
      Found in lib/bcdice/game_system/RuinBreakers.rb - About 2 hrs to fix

        Class Cthulhu7th_Korean has 21 methods (exceeds 20 allowed). Consider refactoring.
        Open

            class Cthulhu7th_Korean < Base
              # ゲームシステムの識別子
              ID = 'Cthulhu7th:Korean'
        
              # ゲームシステム名
        Severity: Minor
        Found in lib/bcdice/game_system/Cthulhu7th_Korean.rb - About 2 hrs to fix

          Class Cthulhu7th_ChineseTraditional has 21 methods (exceeds 20 allowed). Consider refactoring.
          Open

              class Cthulhu7th_ChineseTraditional < Base
                # ゲームシステムの識別子
                ID = 'Cthulhu7th:ChineseTraditional'
          
                # ゲームシステム名
          Severity: Minor
          Found in lib/bcdice/game_system/Cthulhu7th_ChineseTraditional.rb - About 2 hrs to fix

            Method getStructureEncounter has 54 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                  def getStructureEncounter(number)
                    debug("getStructureEncounter number", number)
            
                    tables = [[1, ['船から降りてきた', '魚を売っている', '仕事で忙しそうな', '異国から来た', 'おもしろおかしい', '汗水流している']],
                              [2, ['おかしな格好をした', '歌を歌っている', 'ステキな笑顔をした', '日なたぼっこをしている', '悩んでいる', '旅をしている']],
            Severity: Major
            Found in lib/bcdice/game_system/WitchQuest.rb - About 2 hrs to fix

              Method roll_judge has 54 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                    def roll_judge(command)
                      m = /^TN(6|10)([CSBYA]*)$/.match(command)
                      unless m
                        return nil
                      end
              Severity: Major
              Found in lib/bcdice/game_system/TensaiGunshiNiNaro.rb - About 2 hrs to fix

                Method getUpRollDiceCommandResult has 54 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                      def getUpRollDiceCommandResult(command)
                        debug("Torg Eternity Dice Roll ( UP ) Command ? ", command)
                        m = /^UP(\d*)$/i.match(command)
                        unless m
                          return nil
                Severity: Major
                Found in lib/bcdice/game_system/TorgEternity.rb - About 2 hrs to fix

                  Method roll_basic_battle has 54 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                        def roll_basic_battle(command)
                          m = /^BB(M)?([-+][-+\d]+)?(>([-+\d]+))?/.match(command)
                          return nil unless m
                  
                          mob = m[1]
                  Severity: Major
                  Found in lib/bcdice/game_system/GundamSentinel.rb - About 2 hrs to fix

                    File SajinsenkiAGuS2E.rb has 256 lines of code (exceeds 250 allowed). Consider refactoring.
                    Open

                    require 'bcdice/game_system/SajinsenkiAGuS'
                    
                    module BCDice
                      module GameSystem
                        class SajinsenkiAGuS2E < SajinsenkiAGuS
                    Severity: Minor
                    Found in lib/bcdice/game_system/SajinsenkiAGuS2E.rb - About 2 hrs to fix

                      Method eval_game_system_specific_command has 53 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                            def eval_game_system_specific_command(command)
                              text =
                                case command.upcase
                      
                                when %r{([AS])R(\d+)(([*/]\d+)*)?(((@|A|L)\d+)*)(!M)?$}i
                      Severity: Major
                      Found in lib/bcdice/game_system/MetalHeadExtream.rb - About 2 hrs to fix

                        Method get_horidasibukuro_table has 53 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                              def get_horidasibukuro_table(dice)
                                output = '1'
                        
                                material_kind = [ # 2D6
                                  "蟲甲",     # 5
                        Severity: Major
                        Found in lib/bcdice/game_system/DarkBlaze.rb - About 2 hrs to fix

                          Method getResultText has 53 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                                def getResultText(rating_total, command, diceResults, diceResultTotals,
                                                  rateResults, dice_total, round)
                                  sequence = []
                          
                                  sequence.push("2D:[#{diceResults.join(' ')}]=#{diceResultTotals.join(',')}")
                          Severity: Major
                          Found in lib/bcdice/game_system/SwordWorld.rb - About 2 hrs to fix

                            Method judgeDice has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
                            Open

                                  def judgeDice(command)
                                    fumble_match = /,(\d+)$/.match(command)
                            
                                    parser = Command::Parser.new(/JD\d+/, round_type: round_type)
                                                            .enable_critical
                            Severity: Minor
                            Found in lib/bcdice/game_system/KillDeathBusiness.rb - About 2 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

                            Method roll_barna_kronika has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
                            Open

                                  def roll_barna_kronika(dice_n, criticalCallDice)
                                    dice_n = dice_n.to_i
                            
                                    output = ''
                                    suc = 0
                            Severity: Minor
                            Found in lib/bcdice/game_system/BarnaKronika.rb - About 2 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

                            Method roll_attack has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
                            Open

                                  def roll_attack(power_expression, dice_count_expression, border_expression, modification_operator, modification_expression)
                                    power = Arithmetic.eval(power_expression, RoundType::CEIL)
                                    dice_count = Arithmetic.eval(dice_count_expression, RoundType::CEIL)
                                    border = Arithmetic.eval(border_expression, RoundType::CEIL)
                                    modification_value = modification_expression.nil? ? nil : Arithmetic.eval(modification_expression, RoundType::CEIL)
                            Severity: Minor
                            Found in lib/bcdice/game_system/Irisbane.rb - About 2 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

                            Method roll_action has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
                            Open

                                  def roll_action(command)
                                    m = /^(\d+)?(AI|CA)$/.match(command)
                                    return nil unless m
                            
                                    is_senpai = m[2] == "AI"
                            Severity: Minor
                            Found in lib/bcdice/game_system/Ainecadette.rb - About 2 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

                            Method checkRoll has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
                            Open

                                  def checkRoll(diceCount, modify, type, target)
                                    diceArray = @randomizer.roll_barabara(diceCount, 6).sort
                                    dice = diceArray.sum()
                                    diceText = diceArray.join(",")
                            
                            
                            Severity: Minor
                            Found in lib/bcdice/game_system/Postman.rb - About 2 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

                            Severity
                            Category
                            Status
                            Source
                            Language