IL2HorusTeam/il2fb-game-log-parser

View on GitHub
il2fb/parsers/game_log/events.py

Summary

Maintainability
F
2 mos
Test Coverage

File events.py has 2976 lines of code (exceeds 250 allowed). Consider refactoring.
Open

# coding: utf-8
"""
Data structures for events.

"""
Severity: Major
Found in il2fb/parsers/game_log/events.py - About 1 wk to fix

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

    class AIAircraftWasShotDownByHumanAircraftAndAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 shot down by User0:Bf-109G-2 and r01001 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 872..898
    il2fb/parsers/game_log/events.py on lines 902..928
    il2fb/parsers/game_log/events.py on lines 932..958
    il2fb/parsers/game_log/events.py on lines 962..988
    il2fb/parsers/game_log/events.py on lines 2911..2937
    il2fb/parsers/game_log/events.py on lines 2971..2997
    il2fb/parsers/game_log/events.py on lines 3001..3027

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

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

    class AIAircraftWasShotDownByAIAircraftAndAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 shot down by r01001 and r01002 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 872..898
    il2fb/parsers/game_log/events.py on lines 902..928
    il2fb/parsers/game_log/events.py on lines 932..958
    il2fb/parsers/game_log/events.py on lines 962..988
    il2fb/parsers/game_log/events.py on lines 2941..2967
    il2fb/parsers/game_log/events.py on lines 2971..2997
    il2fb/parsers/game_log/events.py on lines 3001..3027

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

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

    class HumanAircraftWasShotDownByHumanAircraftAndAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 shot down by User1:Bf-109G-2 and r01000 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 872..898
    il2fb/parsers/game_log/events.py on lines 932..958
    il2fb/parsers/game_log/events.py on lines 962..988
    il2fb/parsers/game_log/events.py on lines 2911..2937
    il2fb/parsers/game_log/events.py on lines 2941..2967
    il2fb/parsers/game_log/events.py on lines 2971..2997
    il2fb/parsers/game_log/events.py on lines 3001..3027

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

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

    class HumanAircraftWasShotDownByAIAircraftAndHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 shot down by r01000 and User1:Bf-109G-2 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 872..898
    il2fb/parsers/game_log/events.py on lines 902..928
    il2fb/parsers/game_log/events.py on lines 962..988
    il2fb/parsers/game_log/events.py on lines 2911..2937
    il2fb/parsers/game_log/events.py on lines 2941..2967
    il2fb/parsers/game_log/events.py on lines 2971..2997
    il2fb/parsers/game_log/events.py on lines 3001..3027

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

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

    class HumanAircraftWasShotDownByHumanAircraftAndHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 shot down by User1:Bf-109G-2 and User2:Bf-109G-2 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 902..928
    il2fb/parsers/game_log/events.py on lines 932..958
    il2fb/parsers/game_log/events.py on lines 962..988
    il2fb/parsers/game_log/events.py on lines 2911..2937
    il2fb/parsers/game_log/events.py on lines 2941..2967
    il2fb/parsers/game_log/events.py on lines 2971..2997
    il2fb/parsers/game_log/events.py on lines 3001..3027

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

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

    class AIAircraftWasShotDownByHumanAircraftAndHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 shot down by User0:Bf-109G-2 and User1:Bf-109G-2 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 872..898
    il2fb/parsers/game_log/events.py on lines 902..928
    il2fb/parsers/game_log/events.py on lines 932..958
    il2fb/parsers/game_log/events.py on lines 962..988
    il2fb/parsers/game_log/events.py on lines 2911..2937
    il2fb/parsers/game_log/events.py on lines 2941..2967
    il2fb/parsers/game_log/events.py on lines 2971..2997

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

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

    class HumanAircraftWasShotDownByAIAircraftAndAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 shot down by r01000 and r01001 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 872..898
    il2fb/parsers/game_log/events.py on lines 902..928
    il2fb/parsers/game_log/events.py on lines 932..958
    il2fb/parsers/game_log/events.py on lines 2911..2937
    il2fb/parsers/game_log/events.py on lines 2941..2967
    il2fb/parsers/game_log/events.py on lines 2971..2997
    il2fb/parsers/game_log/events.py on lines 3001..3027

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

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

    class AIAircraftWasShotDownByAIAircraftAndHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 shot down by r01001 and User0:Bf-109G-2 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 872..898
    il2fb/parsers/game_log/events.py on lines 902..928
    il2fb/parsers/game_log/events.py on lines 932..958
    il2fb/parsers/game_log/events.py on lines 962..988
    il2fb/parsers/game_log/events.py on lines 2911..2937
    il2fb/parsers/game_log/events.py on lines 2941..2967
    il2fb/parsers/game_log/events.py on lines 3001..3027

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

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

    class HumanAircraftCrewMemberWasKilledByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) was killed by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftCrewMemberParachuteWasDestroyedByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) has chute destroyed by r01000 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class MovingUnitMemberWasDestroyedByMovingUnitMember(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Chief0 destroyed by 1_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftWasDamagedByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 damaged by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberWasKilledInParachuteByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was killed in his chute by r01001 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class BridgeWasDestroyedByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM]  Bridge0 destroyed by r01000 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class MovingUnitWasDestroyedByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Chief destroyed by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class MovingUnitWasDestroyedByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Chief destroyed by r01000 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftWasDamagedByMovingUnitMember(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 damaged by 0_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberWasKilledByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was killed by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberParachuteWasDestroyedByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) has chute destroyed by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftWasShotDownByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 shot down by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class BuildingWasDestroyedByHumanAircraft(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] 3do/Buildings/Finland/CenterHouse1_w/live.sim destroyed by User0:Pe-8 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class BridgeWasDestroyedByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM]  Bridge0 destroyed by User0:Pe-8 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftWasDamagedByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 damaged by r01001 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberParachuteWasDestroyedByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) has chute destroyed by r01001 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftWasShotDownByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 shot down by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftCrewMemberWasKilledInParachuteByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) was killed in his chute by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftCrewMemberParachuteWasDestroyedByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) has chute destroyed by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftWasShotDownByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 shot down by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftWasShotDownByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 shot down by User1:Bf-109G-6_Late at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftCrewMemberWasKilledByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) was killed by r01000 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftCrewMemberWasKilledInParachuteByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) was killed in his chute by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class StationaryUnitWasDestroyedByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Static destroyed by r01000 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class MovingUnitWasDestroyedByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Chief destroyed by User0:Pe-8 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftWasDamagedByMovingUnitMember(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 damaged by 0_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftCrewMemberWasKilledByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) was killed by User1:Bf-109G-6_Late at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftCrewMemberParachuteWasDestroyedByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) has chute destroyed by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberWasKilledInParachuteByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was killed in his chute by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftWasDamagedByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 damaged by User1:Bf-109G-6_Late at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class BuildingWasDestroyedByMovingUnitMember(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] 3do/Buildings/Finland/CenterHouse1_w/live.sim destroyed by 0_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberWasKilledByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was killed by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftWasShotDownByMovingUnitMember(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 shot down by 0_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftCrewMemberWasKilledByMovingUnitMember(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) was killed by 0_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class StationaryUnitWasDestroyedByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Static destroyed by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftCrewMemberParachuteWasDestroyedByMovingUnitMember(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) has chute destroyed by 0_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftCrewMemberParachuteWasDestroyedByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) has chute destroyed by User1:Bf-109G-2 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class StationaryUnitWasDestroyedByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Static destroyed by 1_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class BridgeWasDestroyedByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM]  Bridge0 destroyed by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class StationaryUnitWasDestroyedByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Static destroyed by User0:Pe-8 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberWasKilledByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was killed by User1:Bf-109G-6_Late at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class BridgeWasDestroyedByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM]  Bridge0 destroyed by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class BridgeWasDestroyedByMovingUnitMember(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM]  Bridge0 destroyed by 0_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftWasDamagedByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 damaged by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftWasShotDownByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 shot down by User1:Bf-109G-6_Late at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftWasShotDownByMovingUnitMember(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 shot down by 0_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftWasDamagedByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 damaged by r01000 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class BuildingWasDestroyedByMovingUnit(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] 3do/Buildings/Finland/CenterHouse1_w/live.sim destroyed by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class BuildingWasDestroyedByAIAircraft(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] 3do/Buildings/Finland/CenterHouse1_w/live.sim destroyed by r01000 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftWasShotDownByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 shot down by r01001 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberWasKilledByMovingUnitMember(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was killed by 0_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberWasKilledInParachuteByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was killed in his chute by User0:Pe-8 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftWasDamagedByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 damaged by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftCrewMemberWasKilledByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) was killed by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftCrewMemberWasKilledInParachuteByMovingUnitMember(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) was killed in his chute by 0_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class MovingUnitMemberWasDestroyedByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Chief0 destroyed by User0:Pe-8 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftWasDamagedByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 damaged by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftCrewMemberWasKilledInParachuteByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) was killed in his chute by User1:Bf-109G-2 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class MovingUnitMemberWasDestroyedByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Chief0 destroyed by 1_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftCrewMemberWasKilledInParachuteByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) was killed in his chute by r01000 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class StationaryUnitWasDestroyedByMovingUnitMember(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Static destroyed by 0_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftWasShotDownByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 shot down by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class MovingUnitWasDestroyedByMovingUnitMember(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Chief destroyed by 1_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class MovingUnitMemberWasDestroyedByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Chief0 destroyed by r01000 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class MovingUnitMemberWasDestroyedByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Chief0 destroyed by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberWasKilledInParachuteByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was killed in his chute by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftWasDamagedByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 damaged by User1:Bf-109G-6_Late at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberParachuteWasDestroyedByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) has chute destroyed by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberParachuteWasDestroyedByMovingUnitMember(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) has chute destroyed by 0_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberParachuteWasDestroyedByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) has chute destroyed by User0:Bf-109G-2 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445

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

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

    class HumanHasSelectedAirfield(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0 selected army Red at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class BuildingWasDestroyedByStationaryUnit(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] 3do/Buildings/Finland/CenterHouse1_w/live.sim destroyed by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class HumanAircraftWasShotDownByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 shot down by r01000 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class MovingUnitWasDestroyedByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Chief destroyed by 1_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberWasKilledByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was killed by r01001 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberWasKilledInParachuteByMovingUnitMember(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was killed in his chute by 0_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

    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

    class HumanHasToggledWingtipSmokes(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 turned wingtip smokes off at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 1 other location - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 324..347

    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

    class HumanHasToggledLandingLights(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 turned landing lights off at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 1 other location - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 351..374

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

    class TreeWasDestroyedByMovingUnit(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] 3do/Tree/Line_W/live.sim destroyed by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 10 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 378..401
    il2fb/parsers/game_log/events.py on lines 405..428
    il2fb/parsers/game_log/events.py on lines 510..534
    il2fb/parsers/game_log/events.py on lines 538..562
    il2fb/parsers/game_log/events.py on lines 1713..1738
    il2fb/parsers/game_log/events.py on lines 1742..1767
    il2fb/parsers/game_log/events.py on lines 1771..1796
    il2fb/parsers/game_log/events.py on lines 1800..1825
    il2fb/parsers/game_log/events.py on lines 2663..2687
    il2fb/parsers/game_log/events.py on lines 2691..2715

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

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

    class HumanIsTryingToTakeSeat(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0 is trying to occupy seat USN_VF_51A020(0)"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 10 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 378..401
    il2fb/parsers/game_log/events.py on lines 510..534
    il2fb/parsers/game_log/events.py on lines 538..562
    il2fb/parsers/game_log/events.py on lines 1713..1738
    il2fb/parsers/game_log/events.py on lines 1742..1767
    il2fb/parsers/game_log/events.py on lines 1771..1796
    il2fb/parsers/game_log/events.py on lines 1800..1825
    il2fb/parsers/game_log/events.py on lines 1829..1854
    il2fb/parsers/game_log/events.py on lines 2663..2687
    il2fb/parsers/game_log/events.py on lines 2691..2715

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

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

    class HumanHasDamagedOwnAircraft(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] User0:Pe-8 damaged by landscape at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 10 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 378..401
    il2fb/parsers/game_log/events.py on lines 405..428
    il2fb/parsers/game_log/events.py on lines 510..534
    il2fb/parsers/game_log/events.py on lines 1713..1738
    il2fb/parsers/game_log/events.py on lines 1742..1767
    il2fb/parsers/game_log/events.py on lines 1771..1796
    il2fb/parsers/game_log/events.py on lines 1800..1825
    il2fb/parsers/game_log/events.py on lines 1829..1854
    il2fb/parsers/game_log/events.py on lines 2663..2687
    il2fb/parsers/game_log/events.py on lines 2691..2715

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

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

    class TreeWasDestroyedByAIAircraft(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] 3do/Tree/Line_W/live.sim destroyed by r01000 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 10 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 378..401
    il2fb/parsers/game_log/events.py on lines 405..428
    il2fb/parsers/game_log/events.py on lines 510..534
    il2fb/parsers/game_log/events.py on lines 538..562
    il2fb/parsers/game_log/events.py on lines 1713..1738
    il2fb/parsers/game_log/events.py on lines 1742..1767
    il2fb/parsers/game_log/events.py on lines 1800..1825
    il2fb/parsers/game_log/events.py on lines 1829..1854
    il2fb/parsers/game_log/events.py on lines 2663..2687
    il2fb/parsers/game_log/events.py on lines 2691..2715

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

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

    class HumanHasChangedSeat(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) seat occupied by User0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 10 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 405..428
    il2fb/parsers/game_log/events.py on lines 510..534
    il2fb/parsers/game_log/events.py on lines 538..562
    il2fb/parsers/game_log/events.py on lines 1713..1738
    il2fb/parsers/game_log/events.py on lines 1742..1767
    il2fb/parsers/game_log/events.py on lines 1771..1796
    il2fb/parsers/game_log/events.py on lines 1800..1825
    il2fb/parsers/game_log/events.py on lines 1829..1854
    il2fb/parsers/game_log/events.py on lines 2663..2687
    il2fb/parsers/game_log/events.py on lines 2691..2715

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

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

    class AIHasDamagedOwnAircraft(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] r01000 damaged by landscape at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 10 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 378..401
    il2fb/parsers/game_log/events.py on lines 405..428
    il2fb/parsers/game_log/events.py on lines 510..534
    il2fb/parsers/game_log/events.py on lines 538..562
    il2fb/parsers/game_log/events.py on lines 1713..1738
    il2fb/parsers/game_log/events.py on lines 1742..1767
    il2fb/parsers/game_log/events.py on lines 1771..1796
    il2fb/parsers/game_log/events.py on lines 1800..1825
    il2fb/parsers/game_log/events.py on lines 1829..1854
    il2fb/parsers/game_log/events.py on lines 2691..2715

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

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

    class TreeWasDestroyedByHumanAircraft(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] 3do/Tree/Line_W/live.sim destroyed by User0:Pe-8 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 10 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 378..401
    il2fb/parsers/game_log/events.py on lines 405..428
    il2fb/parsers/game_log/events.py on lines 510..534
    il2fb/parsers/game_log/events.py on lines 538..562
    il2fb/parsers/game_log/events.py on lines 1742..1767
    il2fb/parsers/game_log/events.py on lines 1771..1796
    il2fb/parsers/game_log/events.py on lines 1800..1825
    il2fb/parsers/game_log/events.py on lines 1829..1854
    il2fb/parsers/game_log/events.py on lines 2663..2687
    il2fb/parsers/game_log/events.py on lines 2691..2715

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

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

    class TreeWasDestroyedByMovingUnitMember(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] 3do/Tree/Line_W/live.sim destroyed by 0_Chief0 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 10 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 378..401
    il2fb/parsers/game_log/events.py on lines 405..428
    il2fb/parsers/game_log/events.py on lines 510..534
    il2fb/parsers/game_log/events.py on lines 538..562
    il2fb/parsers/game_log/events.py on lines 1713..1738
    il2fb/parsers/game_log/events.py on lines 1742..1767
    il2fb/parsers/game_log/events.py on lines 1771..1796
    il2fb/parsers/game_log/events.py on lines 1829..1854
    il2fb/parsers/game_log/events.py on lines 2663..2687
    il2fb/parsers/game_log/events.py on lines 2691..2715

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

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

    class HumanHasDestroyedOwnAircraft(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] User0:Pe-8 shot down by landscape at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 10 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 378..401
    il2fb/parsers/game_log/events.py on lines 405..428
    il2fb/parsers/game_log/events.py on lines 538..562
    il2fb/parsers/game_log/events.py on lines 1713..1738
    il2fb/parsers/game_log/events.py on lines 1742..1767
    il2fb/parsers/game_log/events.py on lines 1771..1796
    il2fb/parsers/game_log/events.py on lines 1800..1825
    il2fb/parsers/game_log/events.py on lines 1829..1854
    il2fb/parsers/game_log/events.py on lines 2663..2687
    il2fb/parsers/game_log/events.py on lines 2691..2715

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

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

    class TreeWasDestroyedByStationaryUnit(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] 3do/Tree/Line_W/live.sim destroyed by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 10 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 378..401
    il2fb/parsers/game_log/events.py on lines 405..428
    il2fb/parsers/game_log/events.py on lines 510..534
    il2fb/parsers/game_log/events.py on lines 538..562
    il2fb/parsers/game_log/events.py on lines 1713..1738
    il2fb/parsers/game_log/events.py on lines 1771..1796
    il2fb/parsers/game_log/events.py on lines 1800..1825
    il2fb/parsers/game_log/events.py on lines 1829..1854
    il2fb/parsers/game_log/events.py on lines 2663..2687
    il2fb/parsers/game_log/events.py on lines 2691..2715

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

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

    class AIHasDestroyedOwnAircraft(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] r01000 shot down by landscape at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 10 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 378..401
    il2fb/parsers/game_log/events.py on lines 405..428
    il2fb/parsers/game_log/events.py on lines 510..534
    il2fb/parsers/game_log/events.py on lines 538..562
    il2fb/parsers/game_log/events.py on lines 1713..1738
    il2fb/parsers/game_log/events.py on lines 1742..1767
    il2fb/parsers/game_log/events.py on lines 1771..1796
    il2fb/parsers/game_log/events.py on lines 1800..1825
    il2fb/parsers/game_log/events.py on lines 1829..1854
    il2fb/parsers/game_log/events.py on lines 2663..2687

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

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

    class HumanAircraftWasDamagedOnGround(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 damaged on the ground at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class AIAircraftCrewMemberWasWounded(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was wounded at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class AIAircraftCrewMemberHasLanded(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) successfully bailed out at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603

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

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

    class HumanAircraftCrewMemberWasKilled(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) was killed at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class AIAircraftCrewMemberWasHeavilyWounded(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was heavily wounded at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class AIAircraftHasDespawned(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 removed at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class HumanAircraftHasLanded(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 landed at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class HumanAircraftCrewMemberWasCaptured(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) was captured at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class HumanAircraftCrewMemberHasBailedOut(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) bailed out at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class AIAircraftCrewMemberParachuteWasDestroyed(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) has chute destroyed at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class MissionWasWon(ParsableEvent):
        """
        Example:
    
            "[Sep 15, 2013 8:33:05 PM] Mission: RED WON"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class HumanAircraftCrewMemberHasLanded(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) successfully bailed out at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class AIAircraftWasDamagedOnGround(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 damaged on the ground at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class HumanAircraftCrewMemberWasWounded(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) was wounded at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class AIAircraftHasLanded(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 landed at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class AIAircraftCrewMemberHasBailedOut(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) bailed out at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class HumanAircraftHasTookOff(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 in flight at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class StationaryUnitWasDestroyed(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Static crashed at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class HumanAircraftHasCrashed(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 crashed at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class AIAircraftCrewMemberWasKilled(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was killed at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class HumanAircraftCrewMemberWasHeavilyWounded(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8(0) was heavily wounded at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class AIAircraftHasCrashed(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 crashed at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3555..3577
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

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

    class AIAircraftCrewMemberWasCaptured(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was captured at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 22 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 140..162
    il2fb/parsers/game_log/events.py on lines 432..454
    il2fb/parsers/game_log/events.py on lines 458..480
    il2fb/parsers/game_log/events.py on lines 484..506
    il2fb/parsers/game_log/events.py on lines 566..588
    il2fb/parsers/game_log/events.py on lines 992..1014
    il2fb/parsers/game_log/events.py on lines 1018..1040
    il2fb/parsers/game_log/events.py on lines 1044..1066
    il2fb/parsers/game_log/events.py on lines 1070..1092
    il2fb/parsers/game_log/events.py on lines 1096..1118
    il2fb/parsers/game_log/events.py on lines 1122..1144
    il2fb/parsers/game_log/events.py on lines 1885..1907
    il2fb/parsers/game_log/events.py on lines 2471..2493
    il2fb/parsers/game_log/events.py on lines 2497..2519
    il2fb/parsers/game_log/events.py on lines 2719..2741
    il2fb/parsers/game_log/events.py on lines 2745..2767
    il2fb/parsers/game_log/events.py on lines 3031..3053
    il2fb/parsers/game_log/events.py on lines 3477..3499
    il2fb/parsers/game_log/events.py on lines 3503..3525
    il2fb/parsers/game_log/events.py on lines 3529..3551
    il2fb/parsers/game_log/events.py on lines 3581..3603
    il2fb/parsers/game_log/events.py on lines 3607..3629

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

    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

    class HumanHasWentToBriefing(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0 entered refly menu"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 3 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 193..214
    il2fb/parsers/game_log/events.py on lines 218..239
    il2fb/parsers/game_log/events.py on lines 1858..1881

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

    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

    class TreeWasDestroyed(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] 3do/Tree/Line_W/live.sim destroyed by at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 3 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 193..214
    il2fb/parsers/game_log/events.py on lines 218..239
    il2fb/parsers/game_log/events.py on lines 299..320

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

    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

    class HumanHasConnected(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0 has connected"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 3 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 218..239
    il2fb/parsers/game_log/events.py on lines 299..320
    il2fb/parsers/game_log/events.py on lines 1858..1881

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

    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

    class HumanHasDisconnected(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0 has disconnected"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 3 other locations - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 193..214
    il2fb/parsers/game_log/events.py on lines 299..320
    il2fb/parsers/game_log/events.py on lines 1858..1881

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

    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

    class MissionHasBegun(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] Mission BEGIN"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 1 other location - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 117..136

    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

    class MissionHasEnded(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] Mission END"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 1 other location - About 2 hrs to fix
    il2fb/parsers/game_log/events.py on lines 94..113

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 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

    There are no issues that match your filters.

    Category
    Status