ocadotechnology/rapid-router

View on GitHub
game/migrations/0001_squashed_0025_levels_ordering_pt1.py

Summary

Maintainability
F
2 mos
Test Coverage

File 0001_squashed_0025_levels_ordering_pt1.py has 4781 lines of code (exceeds 250 allowed). Consider refactoring.
Open

from __future__ import unicode_literals

from builtins import range
from django.db import models, migrations
from django.conf import settings
Severity: Major
Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py - About 1 wk to fix

    Function add_and_reorder_levels has 252 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    def add_and_reorder_levels(apps, schema_editor):
    
        Level = apps.get_model("game", "Level")
        Character = apps.get_model("game", "Character")
        Theme = apps.get_model("game", "Theme")
    Severity: Major
    Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py - About 1 day to fix

      Function add_levels has 203 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      def add_levels(apps, schema_editor):
      
          Level = apps.get_model("game", "Level")
          Theme = apps.get_model("game", "Theme")
          Character = apps.get_model("game", "Character")
      Severity: Major
      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py - About 1 day to fix

        Function add_levels_80_to_107 has 91 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        def add_levels_80_to_107(apps, schema_editor):
        
            Level = apps.get_model("game", "Level")
            Episode = apps.get_model("game", "Episode")
            Theme = apps.get_model("game", "Theme")
        Severity: Major
        Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py - About 3 hrs to fix

          Function add_theme_and_decor has 67 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

          def add_theme_and_decor(apps, schema_editor):
          
              Theme = apps.get_model("game", "Theme")
              Decor = apps.get_model("game", "Decor")
          
          
          Severity: Major
          Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py - About 2 hrs to fix

            Function add_leveldecor has 53 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

            def add_leveldecor(apps, schema_editor):
            
                Level = apps.get_model("game", "Level")
                LevelDecor = apps.get_model("game", "LevelDecor")
            
            
            Severity: Major
            Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py - About 2 hrs to fix

              Function add_episode_7_to_9 has 47 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

              def add_episode_7_to_9(apps, schema_editor):
                  def set_decor(level, decor):
                      set_decor_inner(level, decor, LevelDecor)
              
                  def set_blocks(level, blocks):
              Severity: Minor
              Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py - About 1 hr to fix

                Function add_blocks has 35 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                def add_blocks(apps, schema_editor):
                
                    Block = apps.get_model("game", "Block")
                
                    block1 = Block(type="move_forwards")
                Severity: Minor
                Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py - About 1 hr to fix

                  Function add_episodes_1_to_6 has 33 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                  def add_episodes_1_to_6(apps, schema_editor):
                  
                      Level = apps.get_model("game", "Level")
                      Episode = apps.get_model("game", "Episode")
                      Block = apps.get_model("game", "Block")
                  Severity: Minor
                  Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py - About 1 hr to fix

                    Function set_next_episode has 33 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                    def set_next_episode(apps, schema_editor):
                    
                        Episode = apps.get_model("game", "Episode")
                    
                        getting_started_episode = Episode.objects.get(name="Getting Started")
                    Severity: Minor
                    Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py - About 1 hr to fix

                      Function setup_blocks has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                      Open

                      def setup_blocks(apps, schema_editor):
                          def add_levelBlock(level, blocks):
                              for block in blocks:
                                  newBlock = LevelBlock(type=block, number=None, level=level)
                                  newBlock.save()
                      Severity: Minor
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py - About 45 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 add_levels_80_to_107 has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                      Open

                      def add_levels_80_to_107(apps, schema_editor):
                      
                          Level = apps.get_model("game", "Level")
                          Episode = apps.get_model("game", "Episode")
                          Theme = apps.get_model("game", "Theme")
                      Severity: Minor
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py - 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

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

                                  '[{"coordinate":[1,4],"connectedNodes":[1]},'
                                  + '{"coordinate":[2,4],"connectedNodes":[0,2]},'
                                  + '{"coordinate":[2,5],"connectedNodes":[3,1]},'
                                  + '{"coordinate":[3,5],"connectedNodes":[2,4,20]},'
                                  + '{"coordinate":[4,5],"connectedNodes":[3,5]},'
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 1 other location - About 2 days to fix
                      game/migrations/0026_levels_pt2.py on lines 37..80

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

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

                          def create_level56():
                              level56 = Level(
                                  name="56",
                                  default=True,
                                  path='[{"coordinate":[1,6],"connectedNodes":[25]},{"coordinate":[3,5],"connectedNodes":[26,2]},{"coordinate":[4,5],"connectedNodes":[1,3]},{"coordinate":[4,6],"connectedNodes":[4,2]},{"coordinate":[4,7],"connectedNodes":[5,3]},{"coordinate":[5,7],"connectedNodes":[4,6]},{"coordinate":[6,7],"connectedNodes":[5,7]},{"coordinate":[7,7],"connectedNodes":[6,8]},{"coordinate":[7,6],"connectedNodes":[7,9]},{"coordinate":[7,5],"connectedNodes":[8,10]},{"coordinate":[7,4],"connectedNodes":[9,11]},{"coordinate":[7,3],"connectedNodes":[12,10]},{"coordinate":[6,3],"connectedNodes":[13,11]},{"coordinate":[5,3],"connectedNodes":[14,12]},{"coordinate":[4,3],"connectedNodes":[15,13]},{"coordinate":[3,3],"connectedNodes":[16,14]},{"coordinate":[2,3],"connectedNodes":[15,17]},{"coordinate":[2,2],"connectedNodes":[16,18]},{"coordinate":[2,1],"connectedNodes":[17,19]},{"coordinate":[3,1],"connectedNodes":[18,20]},{"coordinate":[4,1],"connectedNodes":[19,21]},{"coordinate":[5,1],"connectedNodes":[20,22]},{"coordinate":[6,1],"connectedNodes":[21,23]},{"coordinate":[7,1],"connectedNodes":[22,24]},{"coordinate":[7,2],"connectedNodes":[23]},{"coordinate":[2,6],"connectedNodes":[0,26]},{"coordinate":[2,5],"connectedNodes":[25,1]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3698..3726
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3728..3756
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3758..3786
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3788..3816
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3848..3876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3878..3906
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3908..3936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3938..3966
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3968..3996
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3998..4026
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4028..4056
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4058..4086
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4088..4116
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4118..4141

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

                          def create_level57():
                              level57 = Level(
                                  name="57",
                                  default=True,
                                  path='[{"coordinate":[1,6],"connectedNodes":[1]},{"coordinate":[2,6],"connectedNodes":[0,2]},{"coordinate":[2,5],"connectedNodes":[1,3]},{"coordinate":[2,4],"connectedNodes":[2,4]},{"coordinate":[3,4],"connectedNodes":[3,5]},{"coordinate":[4,4],"connectedNodes":[4,6]},{"coordinate":[4,5],"connectedNodes":[7,5]},{"coordinate":[4,6],"connectedNodes":[8,6]},{"coordinate":[4,7],"connectedNodes":[9,7]},{"coordinate":[5,7],"connectedNodes":[8,10]},{"coordinate":[5,6],"connectedNodes":[9,11]},{"coordinate":[5,5],"connectedNodes":[10,12]},{"coordinate":[6,5],"connectedNodes":[11,13]},{"coordinate":[6,6],"connectedNodes":[14,12]},{"coordinate":[7,6],"connectedNodes":[13,15]},{"coordinate":[7,5],"connectedNodes":[14,16]},{"coordinate":[8,5],"connectedNodes":[15,17]},{"coordinate":[8,4],"connectedNodes":[18,16]},{"coordinate":[7,4],"connectedNodes":[17,19]},{"coordinate":[7,3],"connectedNodes":[20,18]},{"coordinate":[6,3],"connectedNodes":[21,19]},{"coordinate":[5,3],"connectedNodes":[20,22]},{"coordinate":[5,2],"connectedNodes":[23,21]},{"coordinate":[4,2],"connectedNodes":[24,22]},{"coordinate":[3,2],"connectedNodes":[23]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3698..3726
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3728..3756
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3758..3786
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3788..3816
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3818..3846
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3878..3906
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3908..3936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3938..3966
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3968..3996
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3998..4026
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4028..4056
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4058..4086
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4088..4116
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4118..4141

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

                          def create_level58():
                              level58 = Level(
                                  name="58",
                                  default=True,
                                  path='[{"coordinate":[6,6],"connectedNodes":[1]},{"coordinate":[5,6],"connectedNodes":[2,0]},{"coordinate":[4,6],"connectedNodes":[3,1]},{"coordinate":[3,6],"connectedNodes":[4,2]},{"coordinate":[2,6],"connectedNodes":[5,3]},{"coordinate":[1,6],"connectedNodes":[4,6]},{"coordinate":[1,5],"connectedNodes":[5,7]},{"coordinate":[2,5],"connectedNodes":[6,8]},{"coordinate":[3,5],"connectedNodes":[7,9]},{"coordinate":[4,5],"connectedNodes":[8,10]},{"coordinate":[5,5],"connectedNodes":[9,11]},{"coordinate":[6,5],"connectedNodes":[10,12]},{"coordinate":[6,4],"connectedNodes":[13,11]},{"coordinate":[5,4],"connectedNodes":[14,12]},{"coordinate":[4,4],"connectedNodes":[15,13]},{"coordinate":[3,4],"connectedNodes":[16,14]},{"coordinate":[2,4],"connectedNodes":[17,15]},{"coordinate":[1,4],"connectedNodes":[16,18]},{"coordinate":[1,3],"connectedNodes":[17,19]},{"coordinate":[2,3],"connectedNodes":[18,20]},{"coordinate":[3,3],"connectedNodes":[19,21]},{"coordinate":[4,3],"connectedNodes":[20,22]},{"coordinate":[5,3],"connectedNodes":[21,23]},{"coordinate":[6,3],"connectedNodes":[22,24]},{"coordinate":[6,2],"connectedNodes":[25,23]},{"coordinate":[5,2],"connectedNodes":[24]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3698..3726
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3728..3756
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3758..3786
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3788..3816
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3818..3846
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3848..3876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3908..3936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3938..3966
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3968..3996
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3998..4026
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4028..4056
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4058..4086
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4088..4116
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4118..4141

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

                          def create_level79():
                              level79 = Level(
                                  name="79",
                                  default=True,
                                  path='[{"coordinate":[9,0],"connectedNodes":[76]},{"coordinate":[2,5],"connectedNodes":[77,2]},{"coordinate":[2,4],"connectedNodes":[1,5]},{"coordinate":[1,4],"connectedNodes":[15,4]},{"coordinate":[1,3],"connectedNodes":[3,5]},{"coordinate":[2,3],"connectedNodes":[4,2,6]},{"coordinate":[3,3],"connectedNodes":[5,7]},{"coordinate":[3,4],"connectedNodes":[8,6]},{"coordinate":[3,5],"connectedNodes":[10,22,7]},{"coordinate":[2,6],"connectedNodes":[11,10]},{"coordinate":[3,6],"connectedNodes":[9,8]},{"coordinate":[1,6],"connectedNodes":[12,9]},{"coordinate":[1,7],"connectedNodes":[13,18,11]},{"coordinate":[0,7],"connectedNodes":[12,14]},{"coordinate":[0,6],"connectedNodes":[13,17]},{"coordinate":[0,4],"connectedNodes":[3,16]},{"coordinate":[0,3],"connectedNodes":[15,73]},{"coordinate":[0,5],"connectedNodes":[14,77]},{"coordinate":[2,7],"connectedNodes":[12,19]},{"coordinate":[3,7],"connectedNodes":[18,20]},{"coordinate":[4,7],"connectedNodes":[19,21]},{"coordinate":[4,6],"connectedNodes":[20,24]},{"coordinate":[4,5],"connectedNodes":[8,23]},{"coordinate":[5,5],"connectedNodes":[22,28,43]},{"coordinate":[5,6],"connectedNodes":[21,25]},{"coordinate":[5,7],"connectedNodes":[26,24]},{"coordinate":[6,7],"connectedNodes":[25,27]},{"coordinate":[6,6],"connectedNodes":[26,30]},{"coordinate":[6,5],"connectedNodes":[23,29]},{"coordinate":[6,4],"connectedNodes":[28,39]},{"coordinate":[7,6],"connectedNodes":[27,31]},{"coordinate":[8,6],"connectedNodes":[30,35]},{"coordinate":[8,7],"connectedNodes":[33,34]},{"coordinate":[7,7],"connectedNodes":[32]},{"coordinate":[9,7],"connectedNodes":[32,35]},{"coordinate":[9,6],"connectedNodes":[31,34,36]},{"coordinate":[9,5],"connectedNodes":[35,37]},{"coordinate":[9,4],"connectedNodes":[38,36,49]},{"coordinate":[8,4],"connectedNodes":[39,41,37]},{"coordinate":[7,4],"connectedNodes":[29,38]},{"coordinate":[7,5],"connectedNodes":[41]},{"coordinate":[8,5],"connectedNodes":[40,38]},{"coordinate":[4,4],"connectedNodes":[43,45]},{"coordinate":[5,4],"connectedNodes":[42,23]},{"coordinate":[5,3],"connectedNodes":[45,46,54]},{"coordinate":[4,3],"connectedNodes":[42,44]},{"coordinate":[6,3],"connectedNodes":[44,47,53]},{"coordinate":[7,3],"connectedNodes":[46,48]},{"coordinate":[8,3],"connectedNodes":[47,49]},{"coordinate":[9,3],"connectedNodes":[48,37,50]},{"coordinate":[9,2],"connectedNodes":[51,49,76]},{"coordinate":[8,2],"connectedNodes":[50]},{"coordinate":[7,2],"connectedNodes":[53]},{"coordinate":[6,2],"connectedNodes":[46,52]},{"coordinate":[5,2],"connectedNodes":[55,44]},{"coordinate":[4,2],"connectedNodes":[54]},{"coordinate":[3,2],"connectedNodes":[69,57]},{"coordinate":[3,1],"connectedNodes":[56,58]},{"coordinate":[4,1],"connectedNodes":[57,59]},{"coordinate":[5,1],"connectedNodes":[58,60]},{"coordinate":[6,1],"connectedNodes":[59,63]},{"coordinate":[7,1],"connectedNodes":[78,62]},{"coordinate":[7,0],"connectedNodes":[63,61]},{"coordinate":[6,0],"connectedNodes":[64,60,62]},{"coordinate":[5,0],"connectedNodes":[65,63]},{"coordinate":[4,0],"connectedNodes":[66,64]},{"coordinate":[3,0],"connectedNodes":[68,65]},{"coordinate":[2,1],"connectedNodes":[68]},{"coordinate":[2,0],"connectedNodes":[75,67,66]},{"coordinate":[2,2],"connectedNodes":[70,56]},{"coordinate":[1,2],"connectedNodes":[73,69,71]},{"coordinate":[1,1],"connectedNodes":[72,70]},{"coordinate":[0,1],"connectedNodes":[71,74]},{"coordinate":[0,2],"connectedNodes":[16,70]},{"coordinate":[0,0],"connectedNodes":[72,75]},{"coordinate":[1,0],"connectedNodes":[74,68]},{"coordinate":[9,1],"connectedNodes":[50,0]},{"coordinate":[1,5],"connectedNodes":[17,1]},{"coordinate":[8,1],"connectedNodes":[61,79]},{"coordinate":[8,0],"connectedNodes":[78]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3698..3726
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3728..3756
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3758..3786
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3788..3816
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3818..3846
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3848..3876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3878..3906
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3908..3936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3938..3966
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3968..3996
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3998..4026
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4028..4056
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4058..4086
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4088..4116

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

                          def create_level74():
                              level74 = Level(
                                  name="74",
                                  default=True,
                                  path='[{"coordinate":[9,2],"connectedNodes":[1]},{"coordinate":[8,2],"connectedNodes":[2,18,0]},{"coordinate":[7,2],"connectedNodes":[1,3]},{"coordinate":[7,1],"connectedNodes":[4,2]},{"coordinate":[6,1],"connectedNodes":[5,3,6]},{"coordinate":[5,1],"connectedNodes":[16,7,4]},{"coordinate":[6,0],"connectedNodes":[4]},{"coordinate":[5,2],"connectedNodes":[8,10,5]},{"coordinate":[4,2],"connectedNodes":[15,9,7,16]},{"coordinate":[4,3],"connectedNodes":[12,10,8]},{"coordinate":[5,3],"connectedNodes":[9,11,7]},{"coordinate":[5,4],"connectedNodes":[12,10]},{"coordinate":[4,4],"connectedNodes":[13,11,9]},{"coordinate":[3,4],"connectedNodes":[42,12,14]},{"coordinate":[3,3],"connectedNodes":[13,15]},{"coordinate":[3,2],"connectedNodes":[37,14,8]},{"coordinate":[4,1],"connectedNodes":[8,5,17]},{"coordinate":[4,0],"connectedNodes":[16]},{"coordinate":[8,3],"connectedNodes":[19,1]},{"coordinate":[8,4],"connectedNodes":[20,18]},{"coordinate":[8,5],"connectedNodes":[21,43,19]},{"coordinate":[8,6],"connectedNodes":[22,20]},{"coordinate":[7,6],"connectedNodes":[23,21]},{"coordinate":[6,6],"connectedNodes":[24,22]},{"coordinate":[5,6],"connectedNodes":[25,23,38]},{"coordinate":[4,6],"connectedNodes":[26,24]},{"coordinate":[3,6],"connectedNodes":[27,25]},{"coordinate":[2,6],"connectedNodes":[28,39,26]},{"coordinate":[1,6],"connectedNodes":[29,27]},{"coordinate":[0,6],"connectedNodes":[28,30]},{"coordinate":[0,5],"connectedNodes":[29,31]},{"coordinate":[0,4],"connectedNodes":[30,40,32]},{"coordinate":[0,3],"connectedNodes":[31,33]},{"coordinate":[0,2],"connectedNodes":[32,34]},{"coordinate":[0,1],"connectedNodes":[33,35]},{"coordinate":[1,1],"connectedNodes":[34,36,41]},{"coordinate":[2,1],"connectedNodes":[35,37]},{"coordinate":[2,2],"connectedNodes":[15,36]},{"coordinate":[5,5],"connectedNodes":[24]},{"coordinate":[2,7],"connectedNodes":[27]},{"coordinate":[1,4],"connectedNodes":[31]},{"coordinate":[1,0],"connectedNodes":[35]},{"coordinate":[3,5],"connectedNodes":[13]},{"coordinate":[9,5],"connectedNodes":[20]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3698..3726
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3728..3756
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3758..3786
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3788..3816
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3818..3846
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3848..3876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3878..3906
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3908..3936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3938..3966
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3968..3996
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3998..4026
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4028..4056
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4088..4116
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4118..4141

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

                          def create_level75():
                              level75 = Level(
                                  name="75",
                                  default=True,
                                  path='[{"coordinate":[1,6],"connectedNodes":[18]},{"coordinate":[2,5],"connectedNodes":[18,2]},{"coordinate":[2,6],"connectedNodes":[3,1]},{"coordinate":[3,6],"connectedNodes":[2,4]},{"coordinate":[3,5],"connectedNodes":[3,5]},{"coordinate":[3,4],"connectedNodes":[4,6]},{"coordinate":[3,3],"connectedNodes":[5,7]},{"coordinate":[3,2],"connectedNodes":[6,8]},{"coordinate":[4,2],"connectedNodes":[7,9]},{"coordinate":[4,3],"connectedNodes":[10,8]},{"coordinate":[4,4],"connectedNodes":[11,9]},{"coordinate":[4,5],"connectedNodes":[12,10]},{"coordinate":[4,6],"connectedNodes":[13,11]},{"coordinate":[5,6],"connectedNodes":[12,14]},{"coordinate":[5,5],"connectedNodes":[13,15]},{"coordinate":[5,4],"connectedNodes":[14,16]},{"coordinate":[5,3],"connectedNodes":[15,17]},{"coordinate":[5,2],"connectedNodes":[16]},{"coordinate":[1,5],"connectedNodes":[0,1]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3698..3726
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3728..3756
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3758..3786
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3788..3816
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3818..3846
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3848..3876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3878..3906
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3908..3936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3938..3966
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3968..3996
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3998..4026
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4028..4056
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4058..4086
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4118..4141

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

                          def create_level55():
                              level55 = Level(
                                  name="55",
                                  default=True,
                                  path='[{"coordinate":[2,6],"connectedNodes":[18]},{"coordinate":[3,6],"connectedNodes":[2,19]},{"coordinate":[4,6],"connectedNodes":[1,3]},{"coordinate":[4,7],"connectedNodes":[4,2]},{"coordinate":[5,7],"connectedNodes":[3,5]},{"coordinate":[5,6],"connectedNodes":[4,6]},{"coordinate":[6,6],"connectedNodes":[5,7]},{"coordinate":[6,5],"connectedNodes":[6,8]},{"coordinate":[7,5],"connectedNodes":[7,9]},{"coordinate":[7,4],"connectedNodes":[10,8]},{"coordinate":[6,4],"connectedNodes":[9,11]},{"coordinate":[6,3],"connectedNodes":[12,10]},{"coordinate":[5,3],"connectedNodes":[11,13]},{"coordinate":[5,2],"connectedNodes":[14,12]},{"coordinate":[4,2],"connectedNodes":[15,13]},{"coordinate":[4,3],"connectedNodes":[16,14]},{"coordinate":[3,3],"connectedNodes":[17,15]},{"coordinate":[3,4],"connectedNodes":[20,16]},{"coordinate":[2,5],"connectedNodes":[0,19]},{"coordinate":[3,5],"connectedNodes":[18,1]},{"coordinate":[2,4],"connectedNodes":[17,21]},{"coordinate":[2,3],"connectedNodes":[20]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3698..3726
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3728..3756
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3758..3786
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3818..3846
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3848..3876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3878..3906
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3908..3936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3938..3966
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3968..3996
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3998..4026
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4028..4056
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4058..4086
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4088..4116
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4118..4141

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

                          def create_level53():
                              level53 = Level(
                                  name="53",
                                  default=True,
                                  path='[{"coordinate":[1,3],"connectedNodes":[1]},{"coordinate":[2,3],"connectedNodes":[0,17,12,2]},{"coordinate":[2,2],"connectedNodes":[1,3]},{"coordinate":[2,1],"connectedNodes":[2,4]},{"coordinate":[3,1],"connectedNodes":[3,5]},{"coordinate":[4,1],"connectedNodes":[4,6]},{"coordinate":[5,1],"connectedNodes":[5,7]},{"coordinate":[6,1],"connectedNodes":[6,8]},{"coordinate":[6,2],"connectedNodes":[9,29,7]},{"coordinate":[6,3],"connectedNodes":[16,10,8]},{"coordinate":[6,4],"connectedNodes":[11,9]},{"coordinate":[6,5],"connectedNodes":[23,24,10]},{"coordinate":[3,3],"connectedNodes":[1,13]},{"coordinate":[4,3],"connectedNodes":[12,14]},{"coordinate":[4,4],"connectedNodes":[15,13]},{"coordinate":[5,4],"connectedNodes":[14,16]},{"coordinate":[5,3],"connectedNodes":[15,9]},{"coordinate":[2,4],"connectedNodes":[18,1]},{"coordinate":[2,5],"connectedNodes":[19,17]},{"coordinate":[2,6],"connectedNodes":[20,18]},{"coordinate":[3,6],"connectedNodes":[19,21]},{"coordinate":[4,6],"connectedNodes":[20,22]},{"coordinate":[5,6],"connectedNodes":[21,23]},{"coordinate":[6,6],"connectedNodes":[22,11]},{"coordinate":[7,5],"connectedNodes":[11,25]},{"coordinate":[8,5],"connectedNodes":[24,26]},{"coordinate":[8,4],"connectedNodes":[25,27]},{"coordinate":[8,3],"connectedNodes":[26,28]},{"coordinate":[8,2],"connectedNodes":[29,27]},{"coordinate":[7,2],"connectedNodes":[8,28]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3698..3726
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3758..3786
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3788..3816
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3818..3846
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3848..3876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3878..3906
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3908..3936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3938..3966
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3968..3996
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3998..4026
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4028..4056
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4058..4086
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4088..4116
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4118..4141

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

                          def create_level61():
                              level61 = Level(
                                  name="61",
                                  default=True,
                                  path='[{"coordinate":[0,5],"connectedNodes":[1]},{"coordinate":[1,5],"connectedNodes":[0,2]},{"coordinate":[2,5],"connectedNodes":[1,3]},{"coordinate":[2,6],"connectedNodes":[4,2]},{"coordinate":[3,6],"connectedNodes":[3,5]},{"coordinate":[3,5],"connectedNodes":[4,6]},{"coordinate":[4,5],"connectedNodes":[5,7]},{"coordinate":[5,5],"connectedNodes":[6,8]},{"coordinate":[6,5],"connectedNodes":[7,9]},{"coordinate":[6,6],"connectedNodes":[10,8]},{"coordinate":[7,6],"connectedNodes":[9,11]},{"coordinate":[7,5],"connectedNodes":[10,12]},{"coordinate":[8,5],"connectedNodes":[11]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3698..3726
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3728..3756
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3758..3786
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3788..3816
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3818..3846
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3848..3876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3878..3906
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3938..3966
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3968..3996
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3998..4026
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4028..4056
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4058..4086
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4088..4116
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4118..4141

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

                          def create_level72():
                              level72 = Level(
                                  name="72",
                                  default=True,
                                  path='[{"coordinate":[1,5],"connectedNodes":[1]},{"coordinate":[2,5],"connectedNodes":[0,2]},{"coordinate":[3,5],"connectedNodes":[1,3]},{"coordinate":[4,5],"connectedNodes":[2,17,4]},{"coordinate":[5,5],"connectedNodes":[3,5]},{"coordinate":[6,5],"connectedNodes":[4,28,19,6]},{"coordinate":[6,4],"connectedNodes":[5,7]},{"coordinate":[6,3],"connectedNodes":[6,8]},{"coordinate":[6,2],"connectedNodes":[7,9]},{"coordinate":[6,1],"connectedNodes":[10,8,25]},{"coordinate":[5,1],"connectedNodes":[11,9]},{"coordinate":[4,1],"connectedNodes":[12,10]},{"coordinate":[3,1],"connectedNodes":[13,11]},{"coordinate":[2,1],"connectedNodes":[14,12]},{"coordinate":[1,1],"connectedNodes":[29,15,13]},{"coordinate":[1,2],"connectedNodes":[35,16,14]},{"coordinate":[2,2],"connectedNodes":[15]},{"coordinate":[4,6],"connectedNodes":[18,3]},{"coordinate":[4,7],"connectedNodes":[26,17]},{"coordinate":[7,5],"connectedNodes":[5,20]},{"coordinate":[8,5],"connectedNodes":[19,21]},{"coordinate":[8,4],"connectedNodes":[20,22]},{"coordinate":[8,3],"connectedNodes":[21,23]},{"coordinate":[8,2],"connectedNodes":[22,24]},{"coordinate":[8,1],"connectedNodes":[25,23]},{"coordinate":[7,1],"connectedNodes":[9,24]},{"coordinate":[5,7],"connectedNodes":[18,27]},{"coordinate":[6,7],"connectedNodes":[26,28]},{"coordinate":[6,6],"connectedNodes":[27,5]},{"coordinate":[0,1],"connectedNodes":[14,30]},{"coordinate":[0,0],"connectedNodes":[29,31]},{"coordinate":[1,0],"connectedNodes":[30,32]},{"coordinate":[2,0],"connectedNodes":[31,33]},{"coordinate":[3,0],"connectedNodes":[32,34]},{"coordinate":[4,0],"connectedNodes":[33]},{"coordinate":[1,3],"connectedNodes":[36,15]},{"coordinate":[2,3],"connectedNodes":[35,37]},{"coordinate":[3,3],"connectedNodes":[36,38]},{"coordinate":[4,3],"connectedNodes":[37,39]},{"coordinate":[5,3],"connectedNodes":[38]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3698..3726
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3728..3756
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3758..3786
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3788..3816
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3818..3846
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3848..3876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3878..3906
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3908..3936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3938..3966
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3968..3996
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4028..4056
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4058..4086
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4088..4116
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4118..4141

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

                          def create_level73():
                              level73 = Level(
                                  name="73",
                                  default=True,
                                  path='[{"coordinate":[8,1],"connectedNodes":[47]},{"coordinate":[5,5],"connectedNodes":[2,12]},{"coordinate":[4,5],"connectedNodes":[3,1,48]},{"coordinate":[3,5],"connectedNodes":[2,4]},{"coordinate":[3,4],"connectedNodes":[3,5]},{"coordinate":[3,3],"connectedNodes":[4,6]},{"coordinate":[4,3],"connectedNodes":[5,7,21]},{"coordinate":[5,3],"connectedNodes":[6,8]},{"coordinate":[6,3],"connectedNodes":[7,9]},{"coordinate":[6,4],"connectedNodes":[10,8]},{"coordinate":[6,5],"connectedNodes":[11,9]},{"coordinate":[6,6],"connectedNodes":[12,10]},{"coordinate":[5,6],"connectedNodes":[13,11,1]},{"coordinate":[4,6],"connectedNodes":[14,12]},{"coordinate":[3,6],"connectedNodes":[15,13]},{"coordinate":[2,6],"connectedNodes":[14,16]},{"coordinate":[2,5],"connectedNodes":[15,17]},{"coordinate":[2,4],"connectedNodes":[16,18]},{"coordinate":[2,3],"connectedNodes":[39,17,19]},{"coordinate":[2,2],"connectedNodes":[18,20]},{"coordinate":[3,2],"connectedNodes":[19,21]},{"coordinate":[4,2],"connectedNodes":[20,6,22]},{"coordinate":[5,2],"connectedNodes":[21,23]},{"coordinate":[6,2],"connectedNodes":[22,24]},{"coordinate":[7,2],"connectedNodes":[23,25]},{"coordinate":[7,3],"connectedNodes":[26,24]},{"coordinate":[7,4],"connectedNodes":[27,25]},{"coordinate":[7,5],"connectedNodes":[28,26]},{"coordinate":[7,6],"connectedNodes":[29,27]},{"coordinate":[7,7],"connectedNodes":[30,28]},{"coordinate":[6,7],"connectedNodes":[31,29]},{"coordinate":[5,7],"connectedNodes":[32,30]},{"coordinate":[4,7],"connectedNodes":[33,31]},{"coordinate":[3,7],"connectedNodes":[34,32]},{"coordinate":[2,7],"connectedNodes":[35,33]},{"coordinate":[1,7],"connectedNodes":[34,36]},{"coordinate":[1,6],"connectedNodes":[35,37]},{"coordinate":[1,5],"connectedNodes":[36,38]},{"coordinate":[1,4],"connectedNodes":[37,39]},{"coordinate":[1,3],"connectedNodes":[38,18,40]},{"coordinate":[1,2],"connectedNodes":[39,41]},{"coordinate":[1,1],"connectedNodes":[40,42]},{"coordinate":[2,1],"connectedNodes":[41,43]},{"coordinate":[3,1],"connectedNodes":[42,44]},{"coordinate":[4,1],"connectedNodes":[43,45]},{"coordinate":[5,1],"connectedNodes":[44,46]},{"coordinate":[6,1],"connectedNodes":[45,47]},{"coordinate":[7,1],"connectedNodes":[46,0]},{"coordinate":[4,4],"connectedNodes":[2,49]},{"coordinate":[5,4],"connectedNodes":[48]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3698..3726
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3728..3756
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3758..3786
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3788..3816
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3818..3846
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3848..3876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3878..3906
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3908..3936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3938..3966
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3968..3996
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3998..4026
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4058..4086
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4088..4116
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4118..4141

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

                          def create_level54():
                              level54 = Level(
                                  name="54",
                                  default=True,
                                  path='[{"coordinate":[0,3],"connectedNodes":[1]},{"coordinate":[1,3],"connectedNodes":[0,9,2,18]},{"coordinate":[2,3],"connectedNodes":[1,10,3,19]},{"coordinate":[3,3],"connectedNodes":[2,11,4,20]},{"coordinate":[4,3],"connectedNodes":[3,12,5,21]},{"coordinate":[5,3],"connectedNodes":[4,13,6,22]},{"coordinate":[6,3],"connectedNodes":[5,14,7,23]},{"coordinate":[7,3],"connectedNodes":[6,15,8,24]},{"coordinate":[8,3],"connectedNodes":[7,16,17,25]},{"coordinate":[1,4],"connectedNodes":[10,1]},{"coordinate":[2,4],"connectedNodes":[9,2]},{"coordinate":[3,4],"connectedNodes":[12,3]},{"coordinate":[4,4],"connectedNodes":[11,4]},{"coordinate":[5,4],"connectedNodes":[14,5]},{"coordinate":[6,4],"connectedNodes":[13,6]},{"coordinate":[7,4],"connectedNodes":[16,7]},{"coordinate":[8,4],"connectedNodes":[15,8]},{"coordinate":[9,3],"connectedNodes":[8]},{"coordinate":[1,2],"connectedNodes":[1,19]},{"coordinate":[2,2],"connectedNodes":[18,2]},{"coordinate":[3,2],"connectedNodes":[3,21]},{"coordinate":[4,2],"connectedNodes":[20,4]},{"coordinate":[5,2],"connectedNodes":[5,23]},{"coordinate":[6,2],"connectedNodes":[22,6]},{"coordinate":[7,2],"connectedNodes":[7,25]},{"coordinate":[8,2],"connectedNodes":[24,8]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3698..3726
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3728..3756
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3788..3816
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3818..3846
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3848..3876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3878..3906
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3908..3936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3938..3966
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3968..3996
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3998..4026
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4028..4056
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4058..4086
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4088..4116
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4118..4141

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

                          def create_level64():
                              level64 = Level(
                                  name="64",
                                  default=True,
                                  path='[{"coordinate":[1,4],"connectedNodes":[1]},{"coordinate":[2,4],"connectedNodes":[0,2]},{"coordinate":[2,5],"connectedNodes":[3,1]},{"coordinate":[3,5],"connectedNodes":[2,4]},{"coordinate":[4,5],"connectedNodes":[3,5]},{"coordinate":[4,4],"connectedNodes":[4,6]},{"coordinate":[5,4],"connectedNodes":[5,7]},{"coordinate":[6,4],"connectedNodes":[6,8]},{"coordinate":[6,5],"connectedNodes":[9,7]},{"coordinate":[7,5],"connectedNodes":[8,10]},{"coordinate":[8,5],"connectedNodes":[9,11]},{"coordinate":[8,4],"connectedNodes":[10,12]},{"coordinate":[9,4],"connectedNodes":[11,13]},{"coordinate":[9,3],"connectedNodes":[12,14]},{"coordinate":[9,2],"connectedNodes":[15,13]},{"coordinate":[8,2],"connectedNodes":[16,14]},{"coordinate":[7,2],"connectedNodes":[17,15]},{"coordinate":[7,3],"connectedNodes":[18,16]},{"coordinate":[6,3],"connectedNodes":[17,19]},{"coordinate":[6,2],"connectedNodes":[20,18]},{"coordinate":[5,2],"connectedNodes":[19,21]},{"coordinate":[5,1],"connectedNodes":[22,20]},{"coordinate":[4,1],"connectedNodes":[23,21]},{"coordinate":[3,1],"connectedNodes":[24,22]},{"coordinate":[3,2],"connectedNodes":[25,23]},{"coordinate":[2,2],"connectedNodes":[26,24]},{"coordinate":[2,3],"connectedNodes":[27,25]},{"coordinate":[1,3],"connectedNodes":[26,28]},{"coordinate":[1,2],"connectedNodes":[29,27]},{"coordinate":[0,2],"connectedNodes":[28]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3698..3726
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3728..3756
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3758..3786
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3788..3816
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3818..3846
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3848..3876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3878..3906
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3908..3936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3968..3996
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3998..4026
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4028..4056
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4058..4086
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4088..4116
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4118..4141

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

                          def create_level52():
                              level52 = Level(
                                  name="52",
                                  default=True,
                                  path='[{"coordinate":[0,3],"connectedNodes":[1]},{"coordinate":[1,3],"connectedNodes":[0,8,2,18]},{"coordinate":[2,3],"connectedNodes":[1,3]},{"coordinate":[3,3],"connectedNodes":[2,4]},{"coordinate":[4,3],"connectedNodes":[3,5]},{"coordinate":[5,3],"connectedNodes":[4,6]},{"coordinate":[6,3],"connectedNodes":[5,17,7,25]},{"coordinate":[7,3],"connectedNodes":[6]},{"coordinate":[1,4],"connectedNodes":[9,1]},{"coordinate":[2,4],"connectedNodes":[8,10]},{"coordinate":[2,5],"connectedNodes":[11,9]},{"coordinate":[3,5],"connectedNodes":[10,12]},{"coordinate":[3,6],"connectedNodes":[13,11]},{"coordinate":[4,6],"connectedNodes":[12,14]},{"coordinate":[4,5],"connectedNodes":[13,15]},{"coordinate":[5,5],"connectedNodes":[14,16]},{"coordinate":[5,4],"connectedNodes":[15,17]},{"coordinate":[6,4],"connectedNodes":[16,6]},{"coordinate":[1,2],"connectedNodes":[1,19]},{"coordinate":[2,2],"connectedNodes":[18,20]},{"coordinate":[3,2],"connectedNodes":[19,21]},{"coordinate":[3,1],"connectedNodes":[20,22]},{"coordinate":[4,1],"connectedNodes":[21,23]},{"coordinate":[5,1],"connectedNodes":[22,24]},{"coordinate":[6,1],"connectedNodes":[23,25]},{"coordinate":[6,2],"connectedNodes":[6,24]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3728..3756
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3758..3786
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3788..3816
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3818..3846
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3848..3876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3878..3906
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3908..3936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3938..3966
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3968..3996
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3998..4026
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4028..4056
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4058..4086
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4088..4116
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4118..4141

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

                          def create_level66():
                              level66 = Level(
                                  name="66",
                                  default=True,
                                  path='[{"coordinate":[1,5],"connectedNodes":[1]},{"coordinate":[2,5],"connectedNodes":[0,2]},{"coordinate":[3,5],"connectedNodes":[1,3]},{"coordinate":[4,5],"connectedNodes":[2,4]},{"coordinate":[4,4],"connectedNodes":[3,5]},{"coordinate":[5,4],"connectedNodes":[4,6]},{"coordinate":[6,4],"connectedNodes":[5,7]},{"coordinate":[7,4],"connectedNodes":[6,8]},{"coordinate":[8,4],"connectedNodes":[7,9]},{"coordinate":[8,3],"connectedNodes":[8,10]},{"coordinate":[8,2],"connectedNodes":[9,11]},{"coordinate":[8,1],"connectedNodes":[12,10]},{"coordinate":[7,1],"connectedNodes":[13,11]},{"coordinate":[6,1],"connectedNodes":[14,12]},{"coordinate":[5,1],"connectedNodes":[15,13]},{"coordinate":[4,1],"connectedNodes":[16,14]},{"coordinate":[4,2],"connectedNodes":[17,15]},{"coordinate":[3,2],"connectedNodes":[18,16]},{"coordinate":[2,2],"connectedNodes":[19,17]},{"coordinate":[1,2],"connectedNodes":[20,18]},{"coordinate":[1,3],"connectedNodes":[19]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3698..3726
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3728..3756
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3758..3786
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3788..3816
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3818..3846
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3848..3876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3878..3906
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3908..3936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3938..3966
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3998..4026
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4028..4056
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4058..4086
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4088..4116
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4118..4141

                      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

                          def create_level71():
                              level71 = Level(
                                  name="71",
                                  default=True,
                                  path='[{"coordinate":[1,2],"connectedNodes":[2]},{"coordinate":[2,4],"connectedNodes":[3,4,12]},{"coordinate":[1,3],"connectedNodes":[3,0]},{"coordinate":[1,4],"connectedNodes":[1,2]},{"coordinate":[2,5],"connectedNodes":[5,1]},{"coordinate":[2,6],"connectedNodes":[11,6,4]},{"coordinate":[3,6],"connectedNodes":[5,7]},{"coordinate":[4,6],"connectedNodes":[6,8]},{"coordinate":[4,5],"connectedNodes":[7,9]},{"coordinate":[4,4],"connectedNodes":[10,8]},{"coordinate":[3,4],"connectedNodes":[9]},{"coordinate":[1,6],"connectedNodes":[5]},{"coordinate":[2,3],"connectedNodes":[1]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 1 other location - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2700..2728

                      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

                          def create_level60():
                              level60 = Level(
                                  name="60",
                                  default=True,
                                  path='[{"coordinate":[0,2],"connectedNodes":[18]},{"coordinate":[5,3],"connectedNodes":[16,2]},{"coordinate":[5,2],"connectedNodes":[5,1,12]},{"coordinate":[2,2],"connectedNodes":[18,4]},{"coordinate":[3,2],"connectedNodes":[3,5]},{"coordinate":[4,2],"connectedNodes":[4,2]},{"coordinate":[5,5],"connectedNodes":[7,16]},{"coordinate":[5,6],"connectedNodes":[9,8,6]},{"coordinate":[6,6],"connectedNodes":[7]},{"coordinate":[4,6],"connectedNodes":[10,7]},{"coordinate":[3,6],"connectedNodes":[11,9]},{"coordinate":[2,6],"connectedNodes":[14,10]},{"coordinate":[5,1],"connectedNodes":[2]},{"coordinate":[1,7],"connectedNodes":[14]},{"coordinate":[1,6],"connectedNodes":[13,11,15]},{"coordinate":[1,5],"connectedNodes":[14,17]},{"coordinate":[5,4],"connectedNodes":[6,1]},{"coordinate":[1,4],"connectedNodes":[15]},{"coordinate":[1,2],"connectedNodes":[0,3]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 1 other location - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2826..2854

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

                          def create_level91():
                              level91 = Level(
                                  name="91",
                                  default=True,
                                  path='[{"coordinate":[1,6],"connectedNodes":[1]},{"coordinate":[2,6],"connectedNodes":[0,2]},{"coordinate":[3,6],"connectedNodes":[1,3]},{"coordinate":[3,5],"connectedNodes":[2,4]},{"coordinate":[3,4],"connectedNodes":[3,5]},{"coordinate":[3,3],"connectedNodes":[6,4]},{"coordinate":[2,3],"connectedNodes":[5,7]},{"coordinate":[2,2],"connectedNodes":[6,8]},{"coordinate":[3,2],"connectedNodes":[7,9]},{"coordinate":[4,2],"connectedNodes":[8,10]},{"coordinate":[5,2],"connectedNodes":[9,11]},{"coordinate":[5,1],"connectedNodes":[10,12]},{"coordinate":[6,1],"connectedNodes":[11,13]},{"coordinate":[6,2],"connectedNodes":[14,12]},{"coordinate":[6,3],"connectedNodes":[15,13]},{"coordinate":[6,4],"connectedNodes":[16,14]},{"coordinate":[6,5],"connectedNodes":[17,15]},{"coordinate":[7,5],"connectedNodes":[16,18]},{"coordinate":[7,6],"connectedNodes":[19,17]},{"coordinate":[6,6],"connectedNodes":[20,18]},{"coordinate":[5,6],"connectedNodes":[21,19]},{"coordinate":[4,6],"connectedNodes":[22,20]},{"coordinate":[4,7],"connectedNodes":[21]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 4 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4143..4170
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4172..4199
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4201..4228
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4230..4257

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

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

                          def create_level80():
                              level80 = Level(
                                  name="80",
                                  default=True,
                                  path='[{"coordinate":[1,3],"connectedNodes":[1]},{"coordinate":[2,3],"connectedNodes":[0,2]},{"coordinate":[3,3],"connectedNodes":[1,3]},{"coordinate":[3,4],"connectedNodes":[4,2]},{"coordinate":[3,5],"connectedNodes":[5,3]},{"coordinate":[4,5],"connectedNodes":[4,6]},{"coordinate":[5,5],"connectedNodes":[5]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 4 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4172..4199
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4201..4228
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4230..4257
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4259..4286

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

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

                          def create_level88():
                              level88 = Level(
                                  name="88",
                                  default=True,
                                  path='[{"coordinate":[2,6],"connectedNodes":[1]},{"coordinate":[2,5],"connectedNodes":[0,2]},{"coordinate":[2,4],"connectedNodes":[10,1,3]},{"coordinate":[2,3],"connectedNodes":[2,4]},{"coordinate":[3,3],"connectedNodes":[3,5]},{"coordinate":[4,3],"connectedNodes":[4,6]},{"coordinate":[4,2],"connectedNodes":[5,14,7]},{"coordinate":[4,1],"connectedNodes":[8,6]},{"coordinate":[3,1],"connectedNodes":[9,7]},{"coordinate":[2,1],"connectedNodes":[8]},{"coordinate":[1,4],"connectedNodes":[11,2]},{"coordinate":[0,4],"connectedNodes":[10,12]},{"coordinate":[0,3],"connectedNodes":[11,13]},{"coordinate":[0,2],"connectedNodes":[12]},{"coordinate":[5,2],"connectedNodes":[6,15]},{"coordinate":[6,2],"connectedNodes":[14,16]},{"coordinate":[6,3],"connectedNodes":[17,15]},{"coordinate":[6,4],"connectedNodes":[18,20,16]},{"coordinate":[5,4],"connectedNodes":[19,17]},{"coordinate":[5,5],"connectedNodes":[18]},{"coordinate":[7,4],"connectedNodes":[17,21]},{"coordinate":[8,4],"connectedNodes":[20,22]},{"coordinate":[8,5],"connectedNodes":[23,21]},{"coordinate":[8,6],"connectedNodes":[22]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 4 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4143..4170
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4172..4199
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4230..4257
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4259..4286

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

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

                          def create_level84():
                              level84 = Level(
                                  name="84",
                                  default=True,
                                  path='[{"coordinate":[0,3],"connectedNodes":[1]},{"coordinate":[1,3],"connectedNodes":[0,2]},{"coordinate":[1,4],"connectedNodes":[3,1]},{"coordinate":[2,4],"connectedNodes":[2,4]},{"coordinate":[2,3],"connectedNodes":[3,5]},{"coordinate":[3,3],"connectedNodes":[4,6]},{"coordinate":[3,4],"connectedNodes":[7,5]},{"coordinate":[4,4],"connectedNodes":[6,8]},{"coordinate":[4,3],"connectedNodes":[7,9]},{"coordinate":[5,3],"connectedNodes":[8,10]},{"coordinate":[5,4],"connectedNodes":[11,9]},{"coordinate":[6,4],"connectedNodes":[10,12]},{"coordinate":[6,3],"connectedNodes":[11,13]},{"coordinate":[7,3],"connectedNodes":[12,14]},{"coordinate":[7,4],"connectedNodes":[15,13]},{"coordinate":[8,4],"connectedNodes":[14,16]},{"coordinate":[8,3],"connectedNodes":[15,17]},{"coordinate":[9,3],"connectedNodes":[16]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 4 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4143..4170
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4201..4228
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4230..4257
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4259..4286

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

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

                          def create_level90():
                              level90 = Level(
                                  name="90",
                                  default=True,
                                  path='[{"coordinate":[1,6],"connectedNodes":[1]},{"coordinate":[2,6],"connectedNodes":[0,2]},{"coordinate":[2,5],"connectedNodes":[1,3]},{"coordinate":[3,5],"connectedNodes":[2,4]},{"coordinate":[4,5],"connectedNodes":[3,5]},{"coordinate":[4,4],"connectedNodes":[4,6]},{"coordinate":[5,4],"connectedNodes":[5,7]},{"coordinate":[5,3],"connectedNodes":[6,8]},{"coordinate":[6,3],"connectedNodes":[7,9]},{"coordinate":[7,3],"connectedNodes":[8,10]},{"coordinate":[7,2],"connectedNodes":[9,11]},{"coordinate":[8,2],"connectedNodes":[10,12]},{"coordinate":[8,1],"connectedNodes":[13,11]},{"coordinate":[7,1],"connectedNodes":[14,12]},{"coordinate":[6,1],"connectedNodes":[15,13]},{"coordinate":[5,1],"connectedNodes":[16,14]},{"coordinate":[4,1],"connectedNodes":[17,15]},{"coordinate":[3,1],"connectedNodes":[18,16]},{"coordinate":[3,2],"connectedNodes":[19,17]},{"coordinate":[2,2],"connectedNodes":[20,18]},{"coordinate":[2,3],"connectedNodes":[21,19]},{"coordinate":[1,3],"connectedNodes":[20]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 4 other locations - About 6 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4143..4170
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4172..4199
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4201..4228
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4259..4286

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

                      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 create_level61():
                              level61 = Level(
                                  name="61",
                                  blocklyEnabled=True,
                                  character=van,
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 3 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2668..2698
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2730..2760
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2794..2824

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

                      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 create_level70():
                              level70 = Level(
                                  name="70",
                                  blocklyEnabled=True,
                                  character=van,
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 3 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2668..2698
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2730..2760
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2762..2792

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

                      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 create_level59():
                              level59 = Level(
                                  name="59",
                                  blocklyEnabled=True,
                                  character=van,
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 3 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2730..2760
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2762..2792
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2794..2824

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

                      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 create_level68():
                              level68 = Level(
                                  name="68",
                                  blocklyEnabled=True,
                                  character=van,
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 3 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2668..2698
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2762..2792
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2794..2824

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

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

                          def create_level103():
                              level103 = Level(
                                  name="103",
                                  default=True,
                                  path='[{"coordinate":[1,5],"connectedNodes":[1]},{"coordinate":[2,5],"connectedNodes":[0,2]},{"coordinate":[3,5],"connectedNodes":[1,3]},{"coordinate":[3,6],"connectedNodes":[4,2]},{"coordinate":[3,7],"connectedNodes":[5,3]},{"coordinate":[4,7],"connectedNodes":[4,6]},{"coordinate":[5,7],"connectedNodes":[5,7]},{"coordinate":[5,6],"connectedNodes":[6,26,8]},{"coordinate":[5,5],"connectedNodes":[7,9]},{"coordinate":[5,4],"connectedNodes":[8,10]},{"coordinate":[6,4],"connectedNodes":[9,11]},{"coordinate":[7,4],"connectedNodes":[10,12]},{"coordinate":[7,3],"connectedNodes":[11,13]},{"coordinate":[7,2],"connectedNodes":[14,12]},{"coordinate":[6,2],"connectedNodes":[15,13]},{"coordinate":[5,2],"connectedNodes":[14,16]},{"coordinate":[5,1],"connectedNodes":[15,17]},{"coordinate":[5,0],"connectedNodes":[18,16]},{"coordinate":[4,0],"connectedNodes":[19,17]},{"coordinate":[3,0],"connectedNodes":[20,18]},{"coordinate":[2,0],"connectedNodes":[21,19]},{"coordinate":[2,1],"connectedNodes":[22,20]},{"coordinate":[2,2],"connectedNodes":[23,21]},{"coordinate":[2,3],"connectedNodes":[25,24,22]},{"coordinate":[3,3],"connectedNodes":[23,28]},{"coordinate":[1,3],"connectedNodes":[23]},{"coordinate":[6,6],"connectedNodes":[7,27]},{"coordinate":[7,6],"connectedNodes":[26]},{"coordinate":[4,3],"connectedNodes":[24,29]},{"coordinate":[4,4],"connectedNodes":[28]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 11 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4288..4309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4311..4332
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4334..4355
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4357..4378
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4380..4401
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4426..4447
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4449..4470
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4472..4493
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4495..4516
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4518..4539
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4541..4562

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

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

                          def create_level109():
                              level109 = Level(
                                  name="109",
                                  default=True,
                                  path='[{"coordinate":[2,5],"connectedNodes":[1]},{"coordinate":[3,5],"connectedNodes":[0,2]},{"coordinate":[3,4],"connectedNodes":[3,1]},{"coordinate":[2,4],"connectedNodes":[4,2]},{"coordinate":[1,4],"connectedNodes":[5,3]},{"coordinate":[1,5],"connectedNodes":[6,4]},{"coordinate":[1,6],"connectedNodes":[7,5]},{"coordinate":[1,7],"connectedNodes":[8,6]},{"coordinate":[2,7],"connectedNodes":[7,9]},{"coordinate":[3,7],"connectedNodes":[8,10]},{"coordinate":[4,7],"connectedNodes":[9,11]},{"coordinate":[5,7],"connectedNodes":[10,12]},{"coordinate":[5,6],"connectedNodes":[11,13]},{"coordinate":[5,5],"connectedNodes":[12,14]},{"coordinate":[5,4],"connectedNodes":[13,15]},{"coordinate":[5,3],"connectedNodes":[14,16]},{"coordinate":[5,2],"connectedNodes":[15,17]},{"coordinate":[6,2],"connectedNodes":[16,18]},{"coordinate":[7,2],"connectedNodes":[17,19]},{"coordinate":[8,2],"connectedNodes":[18,20]},{"coordinate":[8,3],"connectedNodes":[21,19]},{"coordinate":[8,4],"connectedNodes":[22,20]},{"coordinate":[7,4],"connectedNodes":[21]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 11 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4288..4309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4311..4332
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4334..4355
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4357..4378
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4380..4401
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4403..4424
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4426..4447
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4449..4470
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4472..4493
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4495..4516
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4518..4539

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

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

                          def create_level97():
                              level97 = Level(
                                  name="97",
                                  default=True,
                                  path='[{"coordinate":[1,6],"connectedNodes":[1]},{"coordinate":[1,5],"connectedNodes":[0,2]},{"coordinate":[1,4],"connectedNodes":[1,3]},{"coordinate":[1,3],"connectedNodes":[2,4]},{"coordinate":[1,2],"connectedNodes":[3,5]},{"coordinate":[1,1],"connectedNodes":[4,6]},{"coordinate":[2,1],"connectedNodes":[5,7]},{"coordinate":[2,2],"connectedNodes":[8,6]},{"coordinate":[2,3],"connectedNodes":[9,7]},{"coordinate":[2,4],"connectedNodes":[10,8]},{"coordinate":[2,5],"connectedNodes":[11,9]},{"coordinate":[2,6],"connectedNodes":[12,10]},{"coordinate":[3,6],"connectedNodes":[11,17]},{"coordinate":[3,1],"connectedNodes":[14,18]},{"coordinate":[3,2],"connectedNodes":[15,13]},{"coordinate":[3,3],"connectedNodes":[16,14]},{"coordinate":[3,4],"connectedNodes":[17,15]},{"coordinate":[3,5],"connectedNodes":[12,16]},{"coordinate":[4,1],"connectedNodes":[13,19]},{"coordinate":[4,2],"connectedNodes":[20,18]},{"coordinate":[4,3],"connectedNodes":[21,19]},{"coordinate":[4,4],"connectedNodes":[22,20]},{"coordinate":[4,5],"connectedNodes":[23,21]},{"coordinate":[4,6],"connectedNodes":[24,22]},{"coordinate":[5,6],"connectedNodes":[23,25]},{"coordinate":[5,5],"connectedNodes":[24,26]},{"coordinate":[5,4],"connectedNodes":[25,27]},{"coordinate":[5,3],"connectedNodes":[26,28]},{"coordinate":[5,2],"connectedNodes":[27,29]},{"coordinate":[5,1],"connectedNodes":[28,30]},{"coordinate":[6,1],"connectedNodes":[29,31]},{"coordinate":[6,2],"connectedNodes":[32,30]},{"coordinate":[6,3],"connectedNodes":[33,31]},{"coordinate":[6,4],"connectedNodes":[34,32]},{"coordinate":[6,5],"connectedNodes":[35,33]},{"coordinate":[6,6],"connectedNodes":[36,34]},{"coordinate":[7,6],"connectedNodes":[35,37]},{"coordinate":[7,5],"connectedNodes":[36]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 11 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4288..4309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4334..4355
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4357..4378
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4380..4401
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4403..4424
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4426..4447
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4449..4470
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4472..4493
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4495..4516
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4518..4539
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4541..4562

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

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

                          def create_level102():
                              level102 = Level(
                                  name="102",
                                  default=True,
                                  path='[{"coordinate":[1,4],"connectedNodes":[1]},{"coordinate":[2,4],"connectedNodes":[0,2]},{"coordinate":[2,5],"connectedNodes":[3,1]},{"coordinate":[3,5],"connectedNodes":[2,4]},{"coordinate":[3,6],"connectedNodes":[5,3]},{"coordinate":[4,6],"connectedNodes":[4,6]},{"coordinate":[4,5],"connectedNodes":[5,7]},{"coordinate":[5,5],"connectedNodes":[6,8]},{"coordinate":[5,4],"connectedNodes":[7,9]},{"coordinate":[6,4],"connectedNodes":[8,10]},{"coordinate":[7,4],"connectedNodes":[9,11]},{"coordinate":[7,3],"connectedNodes":[10,12]},{"coordinate":[7,2],"connectedNodes":[11,13]},{"coordinate":[7,1],"connectedNodes":[14,12]},{"coordinate":[6,1],"connectedNodes":[15,13]},{"coordinate":[6,2],"connectedNodes":[16,14]},{"coordinate":[5,2],"connectedNodes":[17,15]},{"coordinate":[5,3],"connectedNodes":[18,16]},{"coordinate":[4,3],"connectedNodes":[17,19]},{"coordinate":[4,2],"connectedNodes":[20,18]},{"coordinate":[3,2],"connectedNodes":[19,21]},{"coordinate":[3,1],"connectedNodes":[22,20]},{"coordinate":[2,1],"connectedNodes":[23,21]},{"coordinate":[1,1],"connectedNodes":[22]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 11 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4288..4309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4311..4332
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4334..4355
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4357..4378
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4403..4424
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4426..4447
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4449..4470
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4472..4493
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4495..4516
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4518..4539
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4541..4562

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

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

                          def create_level108():
                              level108 = Level(
                                  name="108",
                                  default=True,
                                  path='[{"coordinate":[8,6],"connectedNodes":[7]},{"coordinate":[6,6],"connectedNodes":[2,7]},{"coordinate":[5,6],"connectedNodes":[3,1]},{"coordinate":[4,6],"connectedNodes":[4,2]},{"coordinate":[3,6],"connectedNodes":[5,3]},{"coordinate":[2,6],"connectedNodes":[6,4]},{"coordinate":[1,6],"connectedNodes":[5,8]},{"coordinate":[7,6],"connectedNodes":[1,0]},{"coordinate":[1,5],"connectedNodes":[6,9]},{"coordinate":[1,4],"connectedNodes":[8,10]},{"coordinate":[1,3],"connectedNodes":[9,11]},{"coordinate":[1,2],"connectedNodes":[10,12]},{"coordinate":[1,1],"connectedNodes":[11,13]},{"coordinate":[2,1],"connectedNodes":[12,14]},{"coordinate":[3,1],"connectedNodes":[13,15]},{"coordinate":[4,1],"connectedNodes":[14,16]},{"coordinate":[4,2],"connectedNodes":[17,15]},{"coordinate":[3,2],"connectedNodes":[16]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 11 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4288..4309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4311..4332
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4334..4355
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4357..4378
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4380..4401
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4403..4424
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4426..4447
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4449..4470
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4472..4493
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4495..4516
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4541..4562

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

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

                          def create_level106():
                              level106 = Level(
                                  name="106",
                                  default=True,
                                  path='[{"coordinate":[3,4],"connectedNodes":[1]},{"coordinate":[4,4],"connectedNodes":[0,2]},{"coordinate":[4,3],"connectedNodes":[1,3]},{"coordinate":[4,2],"connectedNodes":[4,2]},{"coordinate":[3,2],"connectedNodes":[5,3]},{"coordinate":[2,2],"connectedNodes":[6,4]},{"coordinate":[1,2],"connectedNodes":[7,5]},{"coordinate":[1,3],"connectedNodes":[8,6]},{"coordinate":[1,4],"connectedNodes":[9,7]},{"coordinate":[1,5],"connectedNodes":[10,8]},{"coordinate":[1,6],"connectedNodes":[11,9]},{"coordinate":[2,6],"connectedNodes":[10,12]},{"coordinate":[3,6],"connectedNodes":[11,13]},{"coordinate":[4,6],"connectedNodes":[12,14]},{"coordinate":[5,6],"connectedNodes":[13,15]},{"coordinate":[6,6],"connectedNodes":[14,16]},{"coordinate":[6,5],"connectedNodes":[15,17]},{"coordinate":[6,4],"connectedNodes":[16,18]},{"coordinate":[6,3],"connectedNodes":[17,19]},{"coordinate":[6,2],"connectedNodes":[18,20]},{"coordinate":[6,1],"connectedNodes":[19,21]},{"coordinate":[6,0],"connectedNodes":[20]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 11 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4288..4309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4311..4332
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4334..4355
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4357..4378
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4380..4401
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4403..4424
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4426..4447
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4449..4470
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4495..4516
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4518..4539
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4541..4562

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

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

                          def create_level92():
                              level92 = Level(
                                  name="92",
                                  default=True,
                                  path='[{"coordinate":[3,6],"connectedNodes":[1]},{"coordinate":[3,5],"connectedNodes":[0,2]},{"coordinate":[3,4],"connectedNodes":[3,1]},{"coordinate":[2,4],"connectedNodes":[2,4]},{"coordinate":[2,3],"connectedNodes":[3,5]},{"coordinate":[2,2],"connectedNodes":[4]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 11 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4311..4332
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4334..4355
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4357..4378
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4380..4401
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4403..4424
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4426..4447
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4449..4470
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4472..4493
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4495..4516
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4518..4539
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4541..4562

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

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

                          def create_level104():
                              level104 = Level(
                                  name="104",
                                  default=True,
                                  path='[{"coordinate":[0,3],"connectedNodes":[1]},{"coordinate":[1,3],"connectedNodes":[0,2]},{"coordinate":[2,3],"connectedNodes":[1,3]},{"coordinate":[2,4],"connectedNodes":[4,2]},{"coordinate":[2,5],"connectedNodes":[5,3]},{"coordinate":[1,5],"connectedNodes":[6,4]},{"coordinate":[0,5],"connectedNodes":[7,5]},{"coordinate":[0,6],"connectedNodes":[8,6]},{"coordinate":[0,7],"connectedNodes":[9,7]},{"coordinate":[1,7],"connectedNodes":[8,10]},{"coordinate":[2,7],"connectedNodes":[9,11]},{"coordinate":[3,7],"connectedNodes":[10,12]},{"coordinate":[4,7],"connectedNodes":[11,13]},{"coordinate":[5,7],"connectedNodes":[12,14]},{"coordinate":[6,7],"connectedNodes":[13,15]},{"coordinate":[6,6],"connectedNodes":[14,16]},{"coordinate":[6,5],"connectedNodes":[17,15]},{"coordinate":[5,5],"connectedNodes":[18,16]},{"coordinate":[4,5],"connectedNodes":[17,19]},{"coordinate":[4,4],"connectedNodes":[18,20]},{"coordinate":[4,3],"connectedNodes":[19,21]},{"coordinate":[5,3],"connectedNodes":[20,22]},{"coordinate":[6,3],"connectedNodes":[21,23]},{"coordinate":[6,2],"connectedNodes":[22,24]},{"coordinate":[6,1],"connectedNodes":[25,23]},{"coordinate":[5,1],"connectedNodes":[26,24]},{"coordinate":[4,1],"connectedNodes":[27,25]},{"coordinate":[3,1],"connectedNodes":[28,26]},{"coordinate":[2,1],"connectedNodes":[29,27]},{"coordinate":[2,2],"connectedNodes":[30,28]},{"coordinate":[1,2],"connectedNodes":[31,29]},{"coordinate":[0,2],"connectedNodes":[30,32]},{"coordinate":[0,1],"connectedNodes":[31,33]},{"coordinate":[0,0],"connectedNodes":[32,34]},{"coordinate":[1,0],"connectedNodes":[33,35]},{"coordinate":[2,0],"connectedNodes":[34]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 11 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4288..4309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4311..4332
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4334..4355
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4357..4378
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4380..4401
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4403..4424
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4449..4470
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4472..4493
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4495..4516
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4518..4539
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4541..4562

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

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

                          def create_level100():
                              level100 = Level(
                                  name="100",
                                  default=True,
                                  path='[{"coordinate":[8,6],"connectedNodes":[1]},{"coordinate":[7,6],"connectedNodes":[2,0]},{"coordinate":[6,6],"connectedNodes":[1,3]},{"coordinate":[6,5],"connectedNodes":[2,4]},{"coordinate":[7,5],"connectedNodes":[3,5]},{"coordinate":[7,4],"connectedNodes":[6,4]},{"coordinate":[6,4],"connectedNodes":[7,5]},{"coordinate":[5,4],"connectedNodes":[8,6]},{"coordinate":[5,5],"connectedNodes":[9,7]},{"coordinate":[5,6],"connectedNodes":[10,8]},{"coordinate":[4,6],"connectedNodes":[11,9]},{"coordinate":[3,6],"connectedNodes":[12,10]},{"coordinate":[2,6],"connectedNodes":[11,13]},{"coordinate":[2,5],"connectedNodes":[12,14]},{"coordinate":[3,5],"connectedNodes":[13,15]},{"coordinate":[3,4],"connectedNodes":[16,14]},{"coordinate":[2,4],"connectedNodes":[17,15]},{"coordinate":[1,4],"connectedNodes":[18,16]},{"coordinate":[1,5],"connectedNodes":[19,17]},{"coordinate":[1,6],"connectedNodes":[20,18]},{"coordinate":[0,6],"connectedNodes":[19,21]},{"coordinate":[0,5],"connectedNodes":[20,22]},{"coordinate":[0,4],"connectedNodes":[21,23]},{"coordinate":[0,3],"connectedNodes":[22,24]},{"coordinate":[0,2],"connectedNodes":[23,25]},{"coordinate":[0,1],"connectedNodes":[24,26]},{"coordinate":[1,1],"connectedNodes":[25,27]},{"coordinate":[2,1],"connectedNodes":[26,28]},{"coordinate":[3,1],"connectedNodes":[27,29]},{"coordinate":[4,1],"connectedNodes":[28,30]},{"coordinate":[5,1],"connectedNodes":[29,33]},{"coordinate":[6,3],"connectedNodes":[32]},{"coordinate":[6,2],"connectedNodes":[31,33]},{"coordinate":[6,1],"connectedNodes":[30,32,34]},{"coordinate":[7,1],"connectedNodes":[33,35]},{"coordinate":[8,1],"connectedNodes":[34]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 11 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4288..4309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4311..4332
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4357..4378
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4380..4401
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4403..4424
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4426..4447
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4449..4470
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4472..4493
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4495..4516
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4518..4539
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4541..4562

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

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

                          def create_level101():
                              level101 = Level(
                                  name="101",
                                  default=True,
                                  path='[{"coordinate":[1,6],"connectedNodes":[1]},{"coordinate":[2,6],"connectedNodes":[0,2]},{"coordinate":[2,5],"connectedNodes":[1,3,19]},{"coordinate":[3,5],"connectedNodes":[2,4]},{"coordinate":[4,5],"connectedNodes":[3,5]},{"coordinate":[4,4],"connectedNodes":[4,6]},{"coordinate":[5,4],"connectedNodes":[5,7]},{"coordinate":[6,4],"connectedNodes":[6,14,8]},{"coordinate":[7,4],"connectedNodes":[7,9]},{"coordinate":[7,3],"connectedNodes":[8,10]},{"coordinate":[8,3],"connectedNodes":[9,18,11]},{"coordinate":[8,2],"connectedNodes":[12,10]},{"coordinate":[7,2],"connectedNodes":[11,13]},{"coordinate":[7,1],"connectedNodes":[26,12]},{"coordinate":[6,5],"connectedNodes":[15,7]},{"coordinate":[6,6],"connectedNodes":[16,14]},{"coordinate":[7,6],"connectedNodes":[15,17]},{"coordinate":[8,6],"connectedNodes":[16]},{"coordinate":[9,3],"connectedNodes":[10]},{"coordinate":[2,4],"connectedNodes":[20,2]},{"coordinate":[1,4],"connectedNodes":[19,21]},{"coordinate":[1,3],"connectedNodes":[24,20,22]},{"coordinate":[2,3],"connectedNodes":[21,23]},{"coordinate":[3,3],"connectedNodes":[22]},{"coordinate":[0,3],"connectedNodes":[21,25]},{"coordinate":[0,2],"connectedNodes":[24]},{"coordinate":[6,1],"connectedNodes":[27,13]},{"coordinate":[5,1],"connectedNodes":[26]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 11 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4288..4309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4311..4332
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4334..4355
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4380..4401
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4403..4424
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4426..4447
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4449..4470
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4472..4493
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4495..4516
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4518..4539
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4541..4562

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

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

                          def create_level105():
                              level105 = Level(
                                  name="105",
                                  default=True,
                                  path='[{"coordinate":[6,7],"connectedNodes":[1]},{"coordinate":[6,6],"connectedNodes":[0,2]},{"coordinate":[6,5],"connectedNodes":[3,1]},{"coordinate":[5,5],"connectedNodes":[4,2]},{"coordinate":[4,5],"connectedNodes":[5,3]},{"coordinate":[3,5],"connectedNodes":[8,4,6]},{"coordinate":[3,4],"connectedNodes":[5,7]},{"coordinate":[3,3],"connectedNodes":[19,6,9]},{"coordinate":[2,5],"connectedNodes":[14,5]},{"coordinate":[3,2],"connectedNodes":[7,10]},{"coordinate":[4,2],"connectedNodes":[9,11]},{"coordinate":[5,2],"connectedNodes":[10,12]},{"coordinate":[6,2],"connectedNodes":[11,13]},{"coordinate":[6,3],"connectedNodes":[21,12]},{"coordinate":[1,5],"connectedNodes":[16,15,8]},{"coordinate":[1,6],"connectedNodes":[23,14]},{"coordinate":[0,5],"connectedNodes":[14,17]},{"coordinate":[0,4],"connectedNodes":[16,18]},{"coordinate":[0,3],"connectedNodes":[17]},{"coordinate":[2,3],"connectedNodes":[7,20]},{"coordinate":[2,2],"connectedNodes":[19]},{"coordinate":[7,3],"connectedNodes":[13,22]},{"coordinate":[7,4],"connectedNodes":[21]},{"coordinate":[1,7],"connectedNodes":[15]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 11 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4288..4309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4311..4332
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4334..4355
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4357..4378
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4380..4401
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4403..4424
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4426..4447
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4472..4493
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4495..4516
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4518..4539
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4541..4562

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

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

                          def create_level107():
                              level107 = Level(
                                  name="107",
                                  default=True,
                                  path='[{"coordinate":[2,4],"connectedNodes":[19]},{"coordinate":[8,1],"connectedNodes":[2,20]},{"coordinate":[7,1],"connectedNodes":[3,1]},{"coordinate":[6,1],"connectedNodes":[4,2]},{"coordinate":[5,1],"connectedNodes":[5,3]},{"coordinate":[4,1],"connectedNodes":[6,4]},{"coordinate":[3,1],"connectedNodes":[7,5]},{"coordinate":[2,1],"connectedNodes":[8,6]},{"coordinate":[1,1],"connectedNodes":[9,7]},{"coordinate":[0,1],"connectedNodes":[10,8]},{"coordinate":[0,2],"connectedNodes":[11,9]},{"coordinate":[0,3],"connectedNodes":[12,10]},{"coordinate":[0,4],"connectedNodes":[13,11]},{"coordinate":[0,5],"connectedNodes":[14,12]},{"coordinate":[0,6],"connectedNodes":[15,13]},{"coordinate":[1,6],"connectedNodes":[14,16]},{"coordinate":[2,6],"connectedNodes":[15,17]},{"coordinate":[3,6],"connectedNodes":[16,18]},{"coordinate":[3,5],"connectedNodes":[17,19]},{"coordinate":[3,4],"connectedNodes":[0,18]},{"coordinate":[9,1],"connectedNodes":[1]}]',
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 11 other locations - About 5 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4288..4309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4311..4332
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4334..4355
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4357..4378
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4380..4401
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4403..4424
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4426..4447
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4449..4470
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4472..4493
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4518..4539
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 4541..4562

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

                      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

                              level67 = Level(
                                  name="67",
                                  default=True,
                                  path=path,
                                  traffic_lights="[]",
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 1 other location - About 3 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3111..3120

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

                      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

                              level65 = Level(
                                  name="65",
                                  default=True,
                                  path=path,
                                  traffic_lights="[]",
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 1 other location - About 3 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3023..3032

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

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

                          level4 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level8 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level6 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level11 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level23 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level45 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level34 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level26 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          testLevel = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240

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

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

                          level10 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level16 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level5 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level19 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level15 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level22 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level39 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level24 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level25 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level29 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level30 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level44 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level49 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level7 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level13 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level17 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level43 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level27 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level50 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level3 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level31 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level36 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level46 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level47 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level1 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level35 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level32 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level33 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level48 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level12 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level28 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level40 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level42 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level2 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level9 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level37 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level14 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level38 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level41 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level20 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 689..689
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level21 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 49 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 309..309
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 328..328
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 347..347
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 366..366
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 385..385
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 404..404
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 423..423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 442..442
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 461..461
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 480..480
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 499..499
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 518..518
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 537..537
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 556..556
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 575..575
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 594..594
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 613..613
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 651..651
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 670..670
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 708..708
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 727..727
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 746..746
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 765..765
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 784..784
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 803..803
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 822..822
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 841..841
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 860..860
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 879..879
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 898..898
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 917..917
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 936..936
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 955..955
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 974..974
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 993..993
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1012..1012
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1031..1031
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1050..1050
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1069..1069
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1088..1088
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1107..1107
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1126..1126
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1145..1145
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1164..1164
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1183..1183
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1202..1202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1221..1221
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1240..1240
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2479..2479

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

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

                          level82 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3182..3182
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3202..3202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3242..3242
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3262..3262
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3282..3282
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3302..3302
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3343..3343
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3363..3363
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3383..3383
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3403..3403
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3423..3423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3443..3443
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3463..3463
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3483..3483

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

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

                          level86 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3182..3182
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3202..3202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3222..3222
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3242..3242
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3262..3262
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3282..3282
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3343..3343
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3363..3363
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3383..3383
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3403..3403
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3423..3423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3443..3443
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3463..3463
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3483..3483

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

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

                          level104 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3182..3182
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3202..3202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3222..3222
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3242..3242
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3262..3262
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3282..3282
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3302..3302
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3343..3343
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3363..3363
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3383..3383
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3403..3403
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3443..3443
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3463..3463
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3483..3483

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

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

                          level103 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3182..3182
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3202..3202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3222..3222
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3242..3242
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3262..3262
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3282..3282
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3302..3302
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3343..3343
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3363..3363
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3383..3383
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3423..3423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3443..3443
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3463..3463
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3483..3483

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

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

                          level84 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3182..3182
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3202..3202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3222..3222
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3242..3242
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3282..3282
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3302..3302
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3343..3343
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3363..3363
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3383..3383
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3403..3403
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3423..3423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3443..3443
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3463..3463
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3483..3483

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

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

                          level101 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3182..3182
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3202..3202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3222..3222
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3242..3242
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3262..3262
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3282..3282
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3302..3302
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3343..3343
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3383..3383
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3403..3403
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3423..3423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3443..3443
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3463..3463
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3483..3483

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

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

                          level83 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3182..3182
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3202..3202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3222..3222
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3262..3262
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3282..3282
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3302..3302
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3343..3343
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3363..3363
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3383..3383
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3403..3403
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3423..3423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3443..3443
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3463..3463
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3483..3483

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

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

                          level81 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3182..3182
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3222..3222
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3242..3242
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3262..3262
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3282..3282
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3302..3302
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3343..3343
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3363..3363
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3383..3383
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3403..3403
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3423..3423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3443..3443
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3463..3463
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3483..3483

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

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

                          level107 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3182..3182
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3202..3202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3222..3222
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3242..3242
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3262..3262
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3282..3282
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3302..3302
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3343..3343
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3363..3363
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3383..3383
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3403..3403
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3423..3423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3443..3443
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3463..3463

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

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

                          level105 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3182..3182
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3202..3202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3222..3222
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3242..3242
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3262..3262
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3282..3282
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3302..3302
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3343..3343
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3363..3363
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3383..3383
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3403..3403
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3423..3423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3463..3463
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3483..3483

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

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

                          level106 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3182..3182
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3202..3202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3222..3222
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3242..3242
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3262..3262
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3282..3282
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3302..3302
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3343..3343
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3363..3363
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3383..3383
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3403..3403
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3423..3423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3443..3443
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3483..3483

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

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

                          level80 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3202..3202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3222..3222
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3242..3242
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3262..3262
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3282..3282
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3302..3302
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3343..3343
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3363..3363
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3383..3383
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3403..3403
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3423..3423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3443..3443
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3463..3463
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3483..3483

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

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

                          level85 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3182..3182
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3202..3202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3222..3222
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3242..3242
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3262..3262
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3302..3302
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3343..3343
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3363..3363
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3383..3383
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3403..3403
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3423..3423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3443..3443
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3463..3463
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3483..3483

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

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

                          level100 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3182..3182
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3202..3202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3222..3222
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3242..3242
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3262..3262
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3282..3282
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3302..3302
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3363..3363
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3383..3383
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3403..3403
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3423..3423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3443..3443
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3463..3463
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3483..3483

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

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

                          level102 = Level(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 14 other locations - About 2 hrs to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3182..3182
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3202..3202
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3222..3222
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3242..3242
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3262..3262
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3282..3282
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3302..3302
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3343..3343
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3363..3363
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3403..3403
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3423..3423
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3443..3443
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3463..3463
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3483..3483

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

                      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

                          episode7 = Episode(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 1 other location - About 1 hr to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2646..2646

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

                      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

                          episode8 = Episode(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 1 other location - About 1 hr to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2631..2631

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

                      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

                          episode1 = Episode(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 5 other locations - About 1 hr to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1602..1602
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1618..1618
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1634..1634
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1650..1650
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1666..1666

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

                      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

                          episode2 = Episode(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 5 other locations - About 1 hr to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1586..1586
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1618..1618
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1634..1634
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1650..1650
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1666..1666

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

                      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

                          episode5 = Episode(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 5 other locations - About 1 hr to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1586..1586
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1602..1602
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1618..1618
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1634..1634
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1666..1666

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

                      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

                          episode6 = Episode(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 5 other locations - About 1 hr to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1586..1586
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1602..1602
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1618..1618
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1634..1634
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1650..1650

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

                      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

                          episode3 = Episode(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 5 other locations - About 1 hr to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1586..1586
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1602..1602
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1634..1634
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1650..1650
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1666..1666

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

                      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

                          episode4 = Episode(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 5 other locations - About 1 hr to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1586..1586
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1602..1602
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1618..1618
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1650..1650
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 1666..1666

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

                      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

                          episode9 = Episode(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 2 other locations - About 1 hr to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3557..3557
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3571..3571

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

                      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

                          blocklyAndPythonEpisode = Episode(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 2 other locations - About 1 hr to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2876..2876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3571..3571

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

                      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

                          pythonOnlyEpisode = Episode(
                      Severity: Major
                      Found in game/migrations/0001_squashed_0025_levels_ordering_pt1.py and 2 other locations - About 1 hr to fix
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 2876..2876
                      game/migrations/0001_squashed_0025_levels_ordering_pt1.py on lines 3557..3557

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

                      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

                      There are no issues that match your filters.

                      Category
                      Status