AI Slop Code Risk Monitor

wesnoth/wesnoth

SlopCodeMonitor badge for wesnoth/wesnoth Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

An open source, turn-based strategy game with a high fantasy theme.

6.4 Moderate pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for wesnoth/wesnoth, a C++ project with 6,970 GitHub stars. SynthScan examined 1,068,607 lines of code across 4576 source files, recording 3658 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 6.4 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

6.4
Adjusted Signal
6.4
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
7.0K
Stars
C++
Language
1.1M
Lines of Code
4.6K
Files
3.7K
Pattern Hits
2026-10-31
Scan Date
0.01
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 10.3/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 2032 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.8/100 · LOW

Are imports declared and package/API names verified? 91 finding(s).

Agent Over-Engineering Ratio 18.5/100 · LOW

Are wrappers, guards, and repeated structures necessary? 1551 finding(s).

PR Review Velocity Impact 28.6/100 · MEDIUM

Which changes need focused human review? 3658 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 6HIGH 21MEDIUM 1695LOW 1936

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 3658 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Decorative Section Separators1517 hits · 4272 pts
SeverityFileLineSnippetContext
MEDIUM⚡data/tools/pywmlx/state/lua_states.py260#-----------------------------------------------------------------------------COMMENT
MEDIUM⚡data/tools/pywmlx/state/lua_states.py262#-----------------------------------------------------------------------------COMMENT
MEDIUM⚡data/tools/pywmlx/state/lua_states.py266#------------------------------------------------------------------------------COMMENT
MEDIUM⚡data/tools/pywmlx/state/lua_states.py651#-----------------------------------------------------------------------------COMMENT
MEDIUM⚡data/tools/pywmlx/state/lua_states.py653#-----------------------------------------------------------------------------COMMENT
MEDIUM⚡data/tools/pywmlx/state/lua_states.py657#-----------------------------------------------------------------------------COMMENT
MEDIUMdata/tools/pywmlx/state/machine.py25# --------------------------------------------------------------------COMMENT
MEDIUMdata/tools/pywmlx/state/machine.py27# --------------------------------------------------------------------COMMENT
MEDIUM⚡data/tools/pywmlx/state/machine.py72# ----------COMMENT
MEDIUM⚡data/tools/pywmlx/state/machine.py78# ----------COMMENT
MEDIUM⚡data/tools/pywmlx/state/machine.py85# ----------COMMENT
MEDIUM⚡data/tools/pywmlx/state/machine.py94# --------------------------------------------------------------------COMMENT
MEDIUM⚡data/tools/pywmlx/state/machine.py96# --------------------------------------------------------------------COMMENT
MEDIUM⚡data/internal/resources/AMLAs/_main.cfg40 #--------------------COMMENT
MEDIUM⚡data/internal/resources/AMLAs/_main.cfg42 #--------------------COMMENT
MEDIUM⚡data/internal/resources/AMLAs/_main.cfg49 #--------------------COMMENT
MEDIUM⚡data/internal/resources/AMLAs/_main.cfg51 #--------------------COMMENT
MEDIUMdata/internal/resources/AMLAs/_main.cfg65 #--------------------COMMENT
MEDIUMdata/internal/resources/AMLAs/_main.cfg67 #--------------------COMMENT
MEDIUMdata/internal/resources/AMLAs/_main.cfg89 #--------------------COMMENT
MEDIUMdata/internal/resources/AMLAs/_main.cfg91 #--------------------COMMENT
MEDIUMdata/internal/resources/AMLAs/_main.cfg115 #--------------------COMMENT
MEDIUMdata/internal/resources/AMLAs/_main.cfg117 #--------------------COMMENT
MEDIUMdata/internal/resources/AMLAs/_main.cfg211 #--------------------COMMENT
MEDIUMdata/internal/resources/AMLAs/_main.cfg213 #--------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/utils/side_ai.cfg29#--------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/utils/side_ai.cfg31#--------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/utils/side_ai.cfg121#--------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/utils/side_ai.cfg123#--------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/utils/side_ai.cfg145#--------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/utils/side_ai.cfg147#--------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/utils/side_ai.cfg253#--------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/utils/side_ai.cfg255#--------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/utils/savescumming.cfg10#-------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/utils/savescumming.cfg12#-------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/utils/savescumming.cfg62#-------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/utils/savescumming.cfg64#-------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/gui/display_tip.cfg29 #-----------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/gui/display_tip.cfg31 #-----------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/gui/display_tip.cfg76 #-----------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/gui/display_tip.cfg78 #-----------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/gui/display_tip.cfg147 #------------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/gui/display_tip.cfg149 #------------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/gui/choose_companion.cfg29 #-----------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/gui/choose_companion.cfg31 #-----------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/gui/choose_companion.cfg76 #-----------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/gui/choose_companion.cfg78 #-----------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/gui/choose_companion.cfg158 #------------------------COMMENT
MEDIUMdata/campaigns/The_South_Guard/gui/choose_companion.cfg160 #------------------------COMMENT
MEDIUM…igns/The_South_Guard/scenarios/05c_Into_the_Depths.cfg485 #------------------------COMMENT
MEDIUM…igns/The_South_Guard/scenarios/05c_Into_the_Depths.cfg487 #------------------------COMMENT
MEDIUM…The_South_Guard/scenarios/05b_Pebbles_in_the_Flood.cfg605 #------------------------COMMENT
MEDIUM…The_South_Guard/scenarios/05b_Pebbles_in_the_Flood.cfg607 #------------------------COMMENT
MEDIUM…s/The_South_Guard/scenarios/02_Proven_by_the_Sword.cfg595 #------------------------COMMENT
MEDIUM…s/The_South_Guard/scenarios/02_Proven_by_the_Sword.cfg597 #------------------------COMMENT
MEDIUM…s/The_South_Guard/scenarios/02_Proven_by_the_Sword.cfg611 #------------------------COMMENT
MEDIUM…s/The_South_Guard/scenarios/02_Proven_by_the_Sword.cfg613 #------------------------COMMENT
MEDIUM…a/campaigns/The_South_Guard/scenarios/06x_Epilogue.cfg197 #--------------------COMMENT
MEDIUM…a/campaigns/The_South_Guard/scenarios/06x_Epilogue.cfg199 #--------------------COMMENT
MEDIUM…gns/The_South_Guard/scenarios/04_Choice_in_the_Fog.cfg883 #--------------------COMMENT
1457 more matches not shown…
Over-Commented Block1721 hits · 1632 pts
SeverityFileLineSnippetContext
LOWCONTRIBUTING.md41// Includes should also be sorted alphabetically.COMMENT
LOW…roid/app/src/main/java/org/libsdl/app/SDLActivity.java1461 if (source == InputDevice.SOURCE_UNKNOWN) {COMMENT
LOWutils/compare_images.py1#!/usr/bin/env python3COMMENT
LOWutils/autorevision.sh501EOFCOMMENT
LOWutils/autorevision.sh541#define VCS_BASENAME ${VCS_BASENAME}COMMENT
LOWutils/pofix.py1#!/usr/bin/env python3COMMENT
LOWutils/pofix.py21# This script will emit a report line for each file it modifies,COMMENT
LOWutils/pofix.py41#COMMENT
LOWutils/wesnoth-attack-sim.c1/* Simulate Wesnoth combat. */COMMENT
LOWutils/woptipng.py1#!/usr/bin/env python3COMMENT
LOWutils/CI/check_wml_images.sh1#!/bin/shCOMMENT
LOWutils/ai_test/ai_test.cfg21# This is the number of tests whenCOMMENT
LOWutils/ai_test/ai_test.cfg61log_file = ai_test__%Y_%m_%d__%H-%M__myAI_vs_default.logCOMMENT
LOWpo/wesnoth-manpages/wesnoth-manpages.cfg1#COMMENT
LOWattic/castle-transitions.cfg1#textdomain wesnothCOMMENT
LOWattic/terrain-graphics.cfg1#COMMENT
LOWdata/achievements.cfg1#textdomain wesnothCOMMENT
LOWdata/achievements.cfg21#endifCOMMENT
LOWdata/achievements.cfg41{campaigns/Son_Of_The_Black_Eye/achievements.cfg}COMMENT
LOWdata/achievements.cfg61#ifhave campaigns/Winds_of_FateCOMMENT
LOWdata/tools/expand-terrain-macros.py1#!/usr/bin/env python3COMMENT
LOWdata/tools/expand-terrain-macros.py21# NORMAL_PARAM: Macro parameter that will be passed unmodified to the baseCOMMENT
LOWdata/tools/unit_tree/__init__.py1#!/usr/bin/env python3COMMENT
LOWdata/tools/wesnoth/__init__.py1# When Python looks for a package, it considers all directories withCOMMENT
LOWdata/tools/addon_manager/__init__.py1#!/usr/bin/env python3COMMENT
LOWdata/tools/pywmlx/postring.py81# WmlNodeSentence use PoCommentedStringPL for 'plural' parameterCOMMENT
LOWdata/tools/pywmlx/postring.py181 mystr += kCOMMENT
LOWdata/tools/pywmlx/autof.py21 value = value.replace("\\", "/")COMMENT
LOWdata/tools/pywmlx/state/lua_states.py261# 2. LUA PLURALCOMMENT
LOWdata/tools/pywmlx/state/wml_states.py81# In this way the WmlStr01 state (wich is placed after) can be reached and theCOMMENT
LOWdata/tools/pywmlx/state/wml_states.py261# It can happen that WML uses the '<<' symbol in a very different contextCOMMENT
LOWdata/tools/pywmlx/state/machine.py41_initialdomain = NoneCOMMENT
LOWdata/tools/pywmlx/state/machine.py441 cs_debug = cs.iffailCOMMENT
LOWdata/core/terrain.cfg1#textdomain wesnoth-libCOMMENT
LOWdata/core/terrain-graphics.cfg1#textdomain wesnothCOMMENT
LOWdata/core/terrain-graphics.cfg1201COMMENT
LOWdata/core/team-colors.cfg321COMMENT
LOWdata/core/terrain-graphics/deprecated-walls.cfg21#define WALL_TRANSITION3_PLFB TERRAINLIST1 TERRAINLIST2 TERRAINLIST3 PROB LAYER FLAG BUILDER IMAGESTEMCOMMENT
LOWdata/core/terrain-graphics/deprecated-walls.cfg41 {WALL_TRANSITION_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) overlay ({BUILDER}) ({IMAGESTEM})}COMMENT
LOWdata/core/terrain-graphics/deprecated-walls.cfg61#define WALL_TRANSITION_F TERRAINLIST ADJACENT FLAG IMAGESTEMCOMMENT
LOWdata/core/terrain-graphics/deprecated-walls.cfg81 {WALL_TRANSITION2_PLFB ({TERRAINLIST1}) ({TERRAINLIST2}) ({ADJACENT}) 100 ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEMCOMMENT
LOWdata/core/terrain-graphics/deprecated-walls.cfg101#define WALL_TRANSITION2_PLF TERRAINLIST1 TERRAINLIST2 ADJACENT PROB LAYER FLAG IMAGESTEMCOMMENT
LOWdata/core/terrain-graphics/deprecated-walls.cfg121#enddefCOMMENT
LOWdata/core/terrain-graphics/deprecated-walls.cfg141#define WALL_TRANSITION3_LB TERRAINLIST1 TERRAINLIST2 TERRAINLIST3 LAYER BUILDER IMAGESTEMCOMMENT
LOWdata/core/terrain-graphics/deprecated-walls.cfg161#enddefCOMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg21#define DISABLE_BASE_TRANSITIONS TERRAINLISTCOMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg61# Needs one neighbour #COMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg81# Needs two neighbour #COMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg101# Needs three neighbour #COMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg121# Needs four neighbour #COMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg141# Needs five neighbour #COMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg161# Needs six neighbour #COMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg181# Combination of the above #COMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg201#define TRANSITION_RESTRICTED_PFB TERRAINLIST ADJACENT PROB FLAG BUILDER IMAGESTEMCOMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg221#enddefCOMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg241 {TRANSITION_RESTRICTED_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -500 transition IMAGE_SINGLE ({IMAGESTEM})}COMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg261#enddefCOMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg281#define TRANSITION_RESTRICTED2_PLB TERRAINLIST ADJACENT PROB LAYER BUILDER IMAGESTEMCOMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg301#enddefCOMMENT
LOWdata/core/terrain-graphics/deprecated-transitions.cfg321#define TRANSITION_RESTRICTED2_RANDOM_FB TERRAINLIST ADJACENT FLAG BUILDER IMAGESTEMCOMMENT
1661 more matches not shown…
Self-Referential Comments160 hits · 474 pts
SeverityFileLineSnippetContext
MEDIUMutils/graphincludes/project/wesnoth.pm1# This file is part of the graph-includes packageCOMMENT
MEDIUMattic/terrain-graphics.cfg2# This file contains terrain--graphics macros that are not currently used inCOMMENT
MEDIUMdata/tools/expand-terrain-macros.py69 if line.strip() == "#The following code is autogenerated\CODE
MEDIUMdata/tools/expand-terrain-macros.py98 result.append("#The following code is autogenerated\CODE
MEDIUMdata/tools/terrain2wiki.py62 # Create a dictionary of key and valuesSTRING
MEDIUMdata/tools/wesnoth/wescamp.py562 # Create a new temp dir for every upload.COMMENT
MEDIUMdata/tools/wesnoth/libgithub.py436 # Create the repositoryCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-walls.cfg28#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-walls.cfg77#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-walls.cfg126#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-transitions.cfg195#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-transitions.cfg244#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-transitions.cfg269#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-transitions.cfg318#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-transitions.cfg343#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-transitions.cfg392#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-transitions.cfg417#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-transitions.cfg466#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-transitions.cfg491#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-transitions.cfg540#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-transitions.cfg565#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-transitions.cfg614#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-transitions.cfg639#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/automatic-borders.cfg3# This file contains rules responsible for drawing both the standard map borderCOMMENT
MEDIUMdata/core/terrain-graphics/enduring-tracks.cfg2# This file handles transitions involving bridgesCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg135#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg184#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg209#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg258#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg283#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg332#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg357#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg406#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg431#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg480#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg505#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg554#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg579#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg628#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-keep.cfg653#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/new-macros.cfg3# This file contains a WIP set of terrain graphics macros, intended to be asCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg158#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg207#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg232#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg281#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg330#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg355#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg404#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg429#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg478#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg503#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg552#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg577#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg626#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg651#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg700#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-base.cfg725#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-overlay.cfg135#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-overlay.cfg184#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
MEDIUMdata/core/terrain-graphics/deprecated-overlay.cfg209#The following code is autogenerated by expand-terrain-macros.pyCOMMENT
100 more matches not shown…
Empty Error Handlers14 hits · 70 pts
SeverityFileLineSnippetContext
HIGHscons/boost.py49except:CODE
HIGHscons/sdl.py30except OSError:CODE
HIGHscons/scanreplace.py10except ImportError:CODE
HIGHdata/tools/unit_tree/html_output.py856except TypeError:CODE
HIGHdata/tools/unit_tree/helpers.py140except FileExistsError:CODE
HIGHdata/tools/wesnoth/campaignserver_client.py193except socket.error:CODE
HIGHdata/tools/wesnoth/campaignserver_client.py195except AttributeError:CODE
HIGHdata/tools/wesnoth/campaignserver_client.py517except OSError:CODE
HIGHdata/tools/wesnoth/wmltools3.py1110except UnicodeDecodeError as e:CODE
HIGHdata/tools/wesnoth/wescamp.py79except:CODE
HIGHdata/tools/wesnoth/trackplacer3/cfgfileformat.py137except:CODE
HIGHdata/tools/addon_manager/html.py230except OSError:CODE
HIGHdata/tools/addon_manager/html.py320except OSError:CODE
HIGHdata/tools/pywmlx/wmlerr.py138except OSError:CODE
Hallucination Indicators6 hits · 65 pts
SeverityFileLineSnippetContext
CRITICALdata/tools/pywmlx/state/lua_states.py495 pywmlx.state.machine._pending_luastring.plural.addline(CODE
CRITICALdata/tools/pywmlx/state/lua_states.py527 pywmlx.state.machine._pending_luastring.plural.addline(CODE
CRITICALdata/tools/pywmlx/state/lua_states.py551 pywmlx.state.machine._pending_luastring.plural.addline(CODE
CRITICALdata/tools/pywmlx/state/lua_states.py586 pywmlx.state.machine._pending_luastring.plural.addline(CODE
CRITICALdata/tools/pywmlx/state/lua_states.py633 pywmlx.state.machine._pending_luastring.plural.addline(CODE
CRITICAL⚡data/tools/pywmlx/state/lua_states.py644 pywmlx.state.machine._pending_luastring.plural.addline(xline)CODE
Deep Nesting60 hits · 60 pts
SeverityFileLineSnippetContext
LOWscons/lua.py14CODE
LOWscons/cross_compile.py4CODE
LOWscons/boost.py9CODE
LOWscons/install.py10CODE
LOWscons/install.py16CODE
LOWutils/po_stat.py105CODE
LOWutils/pofix.py284CODE
LOWutils/gdb/wesnoth_pretty_printers.py132CODE
LOWdata/tools/unit_tree/html_output.py1470CODE
LOWdata/tools/unit_tree/html_output.py370CODE
LOWdata/tools/unit_tree/html_output.py477CODE
LOWdata/tools/unit_tree/html_output.py711CODE
LOWdata/tools/unit_tree/html_output.py754CODE
LOWdata/tools/unit_tree/html_output.py814CODE
LOWdata/tools/unit_tree/html_output.py1021CODE
LOWdata/tools/unit_tree/overview.py57CODE
LOWdata/tools/unit_tree/wiki_output.py7CODE
LOWdata/tools/unit_tree/helpers.py135CODE
LOWdata/tools/unit_tree/helpers.py273CODE
LOWdata/tools/unit_tree/helpers.py380CODE
LOWdata/tools/wesnoth/campaignserver_client.py52CODE
LOWdata/tools/wesnoth/campaignserver_client.py176CODE
LOWdata/tools/wesnoth/wmltools3.py52CODE
LOWdata/tools/wesnoth/wmltools3.py72CODE
LOWdata/tools/wesnoth/wmltools3.py313CODE
LOWdata/tools/wesnoth/wmltools3.py447CODE
LOWdata/tools/wesnoth/wmltools3.py496CODE
LOWdata/tools/wesnoth/wmltools3.py534CODE
LOWdata/tools/wesnoth/wmltools3.py191CODE
LOWdata/tools/wesnoth/wmltools3.py714CODE
LOWdata/tools/wesnoth/wmltools3.py918CODE
LOWdata/tools/wesnoth/wmltools3.py1119CODE
LOWdata/tools/wesnoth/wmlparser3.py209CODE
LOWdata/tools/wesnoth/wmlparser3.py508CODE
LOWdata/tools/wesnoth/libgithub.py68CODE
LOWdata/tools/wesnoth/libgithub.py171CODE
LOWdata/tools/wesnoth/wmlparser.py261CODE
LOWdata/tools/wesnoth/wmlparser.py321CODE
LOWdata/tools/wesnoth/wmlparser.py338CODE
LOWdata/tools/wesnoth/wmlparser.py532CODE
LOWdata/tools/wesnoth/wmlparser.py554CODE
LOWdata/tools/wesnoth/wmlparser.py661CODE
LOWdata/tools/wesnoth/wmldata.py188CODE
LOWdata/tools/wesnoth/wmldata.py402CODE
LOWdata/tools/wesnoth/wmldata.py427CODE
LOWdata/tools/wesnoth/wmliterator3.py44CODE
LOWdata/tools/wesnoth/wmliterator3.py129CODE
LOWdata/tools/wesnoth/wmliterator3.py144CODE
LOWdata/tools/wesnoth/wmliterator3.py187CODE
LOWdata/tools/wesnoth/wmliterator3.py221CODE
LOWdata/tools/wesnoth/trackplacer3/datatypes.py54CODE
LOWdata/tools/wesnoth/trackplacer3/cfgfileformat.py56CODE
LOWdata/tools/wesnoth/trackplacer3/cfgfileformat.py125CODE
LOWdata/tools/addon_manager/html.py226CODE
LOWdata/tools/pywmlx/postring.py131CODE
LOWdata/tools/pywmlx/postring.py167CODE
LOWdata/tools/pywmlx/autof.py6CODE
LOWdata/tools/pywmlx/state/lua_states.py285CODE
LOWdata/tools/pywmlx/state/lua_states.py681CODE
LOWdata/tools/pywmlx/state/machine.py376CODE
Unused Imports57 hits · 57 pts
SeverityFileLineSnippetContext
LOW…android/build-android-dependencies/setup-toolchains.py3CODE
LOWscons/lua.py2CODE
LOWscons/metasconf.py2CODE
LOWscons/pango.py2CODE
LOWscons/pango.py2CODE
LOWscons/pango.py3CODE
LOWscons/pango.py4CODE
LOWscons/pango.py5CODE
LOWscons/boost.py7CODE
LOWscons/gettext_tool.py6CODE
LOWscons/pkgconfig.py3CODE
LOWscons/pkgconfig.py3CODE
LOWscons/cairo.py1CODE
LOWscons/cairo.py2CODE
LOWscons/cairo.py3CODE
LOWscons/cairo.py4CODE
LOWscons/install.py4CODE
LOWscons/install.py7CODE
LOWscons/install.py7CODE
LOWscons/install.py7CODE
LOWscons/sdl.py4CODE
LOWscons/sdl.py5CODE
LOWutils/pofix.py271CODE
LOWutils/gdb/register_wesnoth_pretty_printers.py11CODE
LOWutils/gdb/register_wesnoth_pretty_printers.py12CODE
LOWutils/gdb/wesnoth_pretty_printers.py6CODE
LOWutils/gdb/wesnoth_gdb.py31CODE
LOWutils/ai_test/ai_test.py3CODE
LOWutils/ai_test/ai_test.py7CODE
LOWutils/ai_test/ai_test.py8CODE
LOWdata/tools/unit_tree/helpers.py6CODE
LOWdata/tools/unit_tree/helpers.py6CODE
LOWdata/tools/wesnoth/base64url.py1CODE
LOWdata/tools/wesnoth/wmlparser3.py46CODE
LOWdata/tools/wesnoth/wmlparser3.py46CODE
LOWdata/tools/wesnoth/trackplacer3/__init__.py6CODE
LOWdata/tools/wesnoth/trackplacer3/__init__.py7CODE
LOWdata/tools/wesnoth/trackplacer3/__init__.py8CODE
LOWdata/tools/wesnoth/trackplacer3/__init__.py10CODE
LOWdata/tools/wesnoth/trackplacer3/__init__.py11CODE
LOWdata/tools/wesnoth/trackplacer3/tmxfileformat.py11CODE
LOWdata/tools/wesnoth/trackplacer3/cfgfileformat.py33CODE
LOWdata/tools/pywmlx/__init__.py1CODE
LOWdata/tools/pywmlx/__init__.py2CODE
LOWdata/tools/pywmlx/__init__.py3CODE
LOWdata/tools/pywmlx/__init__.py4CODE
LOWdata/tools/pywmlx/__init__.py5CODE
LOWdata/tools/pywmlx/__init__.py7CODE
LOWdata/tools/pywmlx/__init__.py8CODE
LOWdata/tools/pywmlx/__init__.py9CODE
LOWdata/tools/pywmlx/__init__.py11CODE
LOWdata/tools/pywmlx/__init__.py13CODE
LOWdata/tools/pywmlx/autof.py2CODE
LOWdata/tools/pywmlx/state/__init__.py1CODE
LOWdata/tools/pywmlx/state/__init__.py2CODE
LOWdata/tools/pywmlx/state/machine.py9CODE
LOWdata/tools/pywmlx/state/machine.py14CODE
Redundant / Tautological Comments32 hits · 50 pts
SeverityFileLineSnippetContext
LOWutils/CI/mp_test_executor.sh46 # Check if clients still runningCOMMENT
LOWdata/tools/wesnoth/wmltools3.py1023 # Set args to None if the call doesn'tCOMMENT
LOWdata/tools/wesnoth/wescamp.py132 # Check if build system version in add-on is up-to-dateCOMMENT
LOW…sts/ScenarioWML/EventWML/events-test_priority_wml2.cfg6# Set X to 1 in the prestart event.COMMENT
LOW…sts/ScenarioWML/EventWML/events-test_priority_wml1.cfg6# Set X to 1 in the prestart event.COMMENT
LOW⚡…_tests/ScenarioWML/EventWML/order_of_nested_events.cfg9# Set X to 1 in the prestart event.COMMENT
LOW⚡…_tests/ScenarioWML/EventWML/order_of_nested_events.cfg10# Set X to 0 in a nested start event.COMMENT
LOW⚡…_tests/ScenarioWML/EventWML/order_of_nested_events.cfg11# Check if X is 1 in a non-nested start event.COMMENT
LOW…sWML/harm_unit_kill_split_experience_attack_defend.cfg8# Set Bob to a known but higher number of hitpoints.COMMENT
LOW…onsWML/harm_unit_kill_split_experience_defend_kill.cfg8# Set Bob to a known but higher number of hitpoints.COMMENT
LOW…ctActionsWML/harm_unit_kill_split_experience_unset.cfg8# Set Bob to a known but higher number of hitpoints.COMMENT
LOW…irectActionsWML/harm_unit_kill_split_experience_no.cfg8# Set Bob to a known but higher number of hitpoints.COMMENT
LOW…entWML/ActionWML/DirectActionsWML/test_modify_unit.cfg22# Assign Charlie to side 2.COMMENT
LOW…tActionsWML/harm_unit_kill_split_experience_defend.cfg8# Set Bob to a known but higher number of hitpoints.COMMENT
LOW…m_unit_kill_split_experience_no_attack_defend_kill.cfg8# Set Bob to a known but higher number of hitpoints.COMMENT
LOW…rectActionsWML/harm_unit_kill_split_experience_yes.cfg8# Set Bob to a known but higher number of hitpoints.COMMENT
LOW…onsWML/harm_unit_kill_split_experience_attack_kill.cfg8# Set Bob to a known but higher number of hitpoints.COMMENT
LOW…ectActionsWML/harm_unit_kill_split_experience_kill.cfg8# Set Bob to a known but higher number of hitpoints.COMMENT
LOW…ctActionsWML/harm_unit_kill_split_experience_fight.cfg8# Set Bob to a known but higher number of hitpoints.COMMENT
LOW…ctionWML/DirectActionsWML/put_to_recall_and_modify.cfg13# Assign Charlie to side 2.COMMENT
LOW…tActionsWML/harm_unit_kill_split_experience_attack.cfg8# Set Bob to a known but higher number of hitpoints.COMMENT
LOW…cenarios/wml_tests/UnitsWML/traits_exclude_include.cfg31 # Check if the first randomly generated trait is the excluded one, then theCOMMENT
LOW…cenarios/wml_tests/UnitsWML/traits_exclude_include.cfg73 # Check if the second randomly generated trait is the one requiring the other oneCOMMENT
LOW…s/wml_tests/UnitsWML/AbilitiesWML/reflexive_drains.cfg9# Set everyone to 20 hp, so that drains will show but no-one will die.COMMENT
LOW…s/UnitsWML/AbilitiesWML/firststrike_and_laststrike.cfg9# Set everyone to 1 hp, so that a single hit will kill.COMMENT
LOW…aigns/Sceptre_of_Fire/scenarios/9_Caverns_of_Flame.cfg955 # Check if the player had a Gryphon Rider or Gryphon Master before all units were killed.COMMENT
LOW…/campaigns/Northern_Rebirth/scenarios/13a_Showdown.cfg359 # Check if Krash is alive, if yes place him at helm of side 7,COMMENT
LOW…/campaigns/Northern_Rebirth/scenarios/13a_Showdown.cfg410 # Check if Eryssa is alive. If yes place her at the helm of side 9;COMMENT
LOW…ir_To_The_Throne_Classic/scenarios/20a_North_Elves.cfg754 # Check if Konrad is inside forest, loosely defined -- but includeCOMMENT
LOW…ir_To_The_Throne_Classic/scenarios/20a_North_Elves.cfg784 # Check if Konrad is inside forest, loosely defined -- but includeCOMMENT
LOW…er_the_Burning_Suns/scenarios/01_The_Morning_After.cfg1037 # Check if it's lower than a threshold ofCOMMENT
LOW…paigns/Winds_of_Fate/scenarios/10_Fire_Meets_Steel.cfg677 # Check if no empty spots within Thurdakor’s reach. If so, get empty ones outside of it. This should only fail iCOMMENT
AI Slop Vocabulary17 hits · 39 pts
SeverityFileLineSnippetContext
MEDIUM…droid/app/src/main/java/org/libsdl/app/SDLSurface.java263 // if we are. We'll leverage our existing mouse motion listenerCOMMENT
LOWdata/core/terrain-graphics.cfg864# There are no more human castles left, so we can just use Ch* here, which makes sureCOMMENT
LOWdata/test/scenarios/manual_tests/scenario-test.cfg159 # TODO: just use value=-100 instead?COMMENT
LOWdata/test/scenarios/manual_tests/scenario-test.cfg570 # TODO: just use value=-100 instead?COMMENT
LOWdata/schema/units/types.cfg18 # TODO: This is undocumented. Verify it actually works! (Easily done, just create a wolf or something and verify it hasCOMMENT
MEDIUMdata/campaigns/Dead_Water/scenarios/05_Tirigaz.cfg322 # Count the undead because it's more robust than hardcodingCOMMENT
LOW…mpaigns/Secrets_of_the_Ancients/utils/zombie-utils.cfg17 # TODO: Most of the sota_variation strings could probably reuse race names from core and just add the parentheseCOMMENT
LOW…ammer_of_Thursagan/units/Dwarvish_Masked_Berserker.cfg71 # right now the masked berserker's laugh animation isn't implemented, so just use the typical attack animatiCOMMENT
LOW…er_the_Burning_Suns/scenarios/01_The_Morning_After.cfg148 # We could just use [have_unit], but if Garak or Zhul dies and the playerCOMMENT
LOW⚡…/campaigns/The_Deceivers_Gambit/utils/spellcasting.cfg1106 # not sure how to detect objects with lua, so just set a variable instead (which spellcasting.lua can read)COMMENT
MEDIUM⚡…gns/The_Deceivers_Gambit/scenarios/05_The_Deceiver.cfg662 # this cutscene is an excuse to get rid of most of Delfador's troops (not Garard's; his carry over), so thatCOMMENT
MEDIUM…s/The_Deceivers_Gambit/scenarios/06_Ring_of_Swords.cfg260 # to make the transition from S05 more seamless, start at the same timeCOMMENT
MEDIUM…mpaigns/The_Deceivers_Gambit/scenarios/09_Omaranth.cfg379 variable=s09_tod # to make the transition more seamless, start at the same ToDCODE
MEDIUMsrc/gui/core/canvas.cpp718// But for now this works and should be both general and robust.COMMENT
MEDIUMsrc/gui/dialogs/preferences_dialog.cpp362 // Set up the toggle. We utilize field_bool's callback-on-changed mechanism insteadCOMMENT
MEDIUMsrc/actions/vision.cpp657 // Definitely use viewer as the second unit.COMMENT
MEDIUMsrc/editor/map/editor_map.cpp248 // villages on the map border. Essentially, it's possible to simply remove all membersCOMMENT
Fake / Example Data24 hits · 34 pts
SeverityFileLineSnippetContext
LOWdata/gui/themes/default/dialogs/file_progress.cfg92 id = "placeholder"CODE
LOWsrc/tests/gui/test_gui2.cpp783 std::string license_terms = R"(Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ante nibh, dignissim ullamCODE
LOWsrc/tests/gui/test_gui2.cpp783 std::string license_terms = R"(Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ante nibh, dignissim ullamCODE
LOW⚡src/server/wesnothd/server.cpp625 simple_wml::node& dummy_user = games_and_users_list_.root().add_child_at("user", i);CODE
LOW⚡src/server/wesnothd/server.cpp626 dummy_user.set_attr_dup("available", "yes");CODE
LOW⚡src/server/wesnothd/server.cpp627 dummy_user.set_attr_int("forum_id", i);CODE
LOW⚡src/server/wesnothd/server.cpp628 dummy_user.set_attr_int("game_id", 0);CODE
LOW⚡src/server/wesnothd/server.cpp629 dummy_user.set_attr_dup("location", "");CODE
LOW⚡src/server/wesnothd/server.cpp630 dummy_user.set_attr_dup("moderator", "no");CODE
LOW⚡src/server/wesnothd/server.cpp631 dummy_user.set_attr_dup("name", ("player"+std::to_string(i)).c_str());CODE
LOW⚡src/server/wesnothd/server.cpp632 dummy_user.set_attr_dup("registered", "yes");CODE
LOW⚡src/server/wesnothd/server.cpp633 dummy_user.set_attr_dup("status", "lobby");CODE
LOW⚡src/server/wesnothd/server.cpp709 simple_wml::node* dummy_user = games_and_users_list_.root().children("user").at(size-1);CODE
LOW⚡src/server/wesnothd/server.cpp712 if(make_delete_diff(games_and_users_list_.root(), nullptr, "user", dummy_user, diff)) {CODE
LOW⚡src/server/wesnothd/server.cpp718 simple_wml::node& dummy_user = games_and_users_list_.root().add_child_at("user", size-1);CODE
LOW⚡src/server/wesnothd/server.cpp719 dummy_user.set_attr_dup("available", "yes");CODE
LOW⚡src/server/wesnothd/server.cpp720 dummy_user.set_attr_int("forum_id", size-1);CODE
LOW⚡src/server/wesnothd/server.cpp721 dummy_user.set_attr_int("game_id", 0);CODE
LOW⚡src/server/wesnothd/server.cpp722 dummy_user.set_attr_dup("location", "");CODE
LOW⚡src/server/wesnothd/server.cpp723 dummy_user.set_attr_dup("moderator", "no");CODE
LOW⚡src/server/wesnothd/server.cpp724 dummy_user.set_attr_dup("name", ("player"+std::to_string(size-1)).c_str());CODE
LOW⚡src/server/wesnothd/server.cpp725 dummy_user.set_attr_dup("registered", "yes");CODE
LOW⚡src/server/wesnothd/server.cpp726 dummy_user.set_attr_dup("status", "lobby");CODE
LOWsrc/gui/dialogs/file_progress.cpp51 find_widget<button>("placeholder").set_active(false);CODE
Slop Phrases12 hits · 24 pts
SeverityFileLineSnippetContext
LOWutils/pofix.py51# Please do make sure to add a comment before any new blocks of conversionsCOMMENT
MEDIUMdata/core/macros/utils.cfg504 # of units at the beginning of a scenario, you can use this to ensure thatCOMMENT
MEDIUMdata/ai/micro_ais/scenarios/animals.cfg369Note that there is no end to this scenario. For demonstration purposes, any unit that is killed is replaced by another uCODE
MEDIUMdata/gui/themes/default/dialogs/statistics_dialog.cfg231 width=10 # TODO: Wild guess. Feel free to adjustCODE
LOW…mpaigns/The_South_Guard/scenarios/03_Vale_of_Tears.cfg17 current_time=2 # if I change this, make sure to also change the "The sun is our ally!" lineCODE
MEDIUMdata/campaigns/Dead_Water/scenarios/07_Bilheld.cfg4# can do lots of damage to the other. Here's where you can use all theCOMMENT
LOW…a/campaigns/Descent_Into_Darkness/utils/characters.cfg40 # NOTE: if you change these, make sure you don't break theCOMMENT
LOW…/The_Deceivers_Gambit/scenarios/07_The_Great_River.cfg546 # this is an anti-frustration feature, to make sure you don't lose if you happen to get unluckyCOMMENT
MEDIUM…eir_To_The_Throne/scenarios/30_The_Sceptre_of_Fire.cfg763 #po: If translating a dynamic string like this is difficult or impossible in your language, you can replace COMMENT
MEDIUM…gns/Eastern_Invasion/scenarios/01_Eastern_Invasion.cfg488 #po: Gender neutral pronouns or plural pronouns implying multiple entities are preferred, but you can use laCOMMENT
LOWsrc/commandline_options.cpp183 // When adding items don't forget to update doc/man/wesnoth.6COMMENT
LOWsrc/gui/dialogs/loading_screen.hpp35 * When adding new entries here, don't forget to update the stage_namesCOMMENT
AI Response Leakage3 hits · 22 pts
SeverityFileLineSnippetContext
HIGHdata/tools/wesnoth/wmltools3.py354 # In this example, close_token("}") will implicitly close theCOMMENT
HIGHdata/core/macros/traits.cfg381 # I've implemented this as a trait instead of an ability because our UI makes it hard to read names when units have COMMENT
HIGHdata/core/macros/traits.cfg410 # I've implemented this as a trait instead of an ability because our UI makes it hard to read names when units have COMMENT
Cross-Language Confusion4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHscons/boost.py159 filter.push(boost::iostreams::gzip_compressor(boost::iostreams::gzip_params()));CODE
HIGHscons/boost.py190 filter.push(boost::iostreams::bzip2_compressor(boost::iostreams::bzip2_params()));CODE
HIGHdata/tools/wesnoth/trackplacer3/tmxfileformat.py201 return trueCODE
HIGHdata/tools/addon_manager/html.py64 return function(a, b) { const [ c1, c2 ] = getCells(a, b, asc, idx); return c1.toString().localeCompare(CODE
Hyper-Verbose Identifiers14 hits · 11 pts
SeverityFileLineSnippetContext
LOWutils/gdb/register_wesnoth_pretty_printers.py31def create_wesnoth_lookup_function(pretty_printers_dict):CODE
LOWdata/tools/unit_tree/html_output.py201def resistance_rating_color_class(resistance):STRING
LOWdata/tools/unit_tree/html_output.py212def defense_rating_color_class(defense):STRING
LOWdata/tools/unit_tree/html_output.py223def mvtcost_rating_color_class(str_mvtcost, str_moves):STRING
LOWdata/tools/unit_tree/html_output.py1470def generate_single_unit_reports(addon, isocode, wesnoth):STRING
LOWdata/tools/wesnoth/wmlparser3.py434 def parse_line_without_commands_loop(self, line: str) -> str:STRING
LOWdata/tools/wesnoth/wmlparser3.py502 def parse_line_without_commands(self, line):STRING
LOWdata/tools/wesnoth/libgithub.py521 def _github_have_authorization(self):CODE
LOWdata/tools/wesnoth/wmlparser.py118 def set_macro_not_found_callback(self, callback):CODE
LOWdata/tools/wesnoth/wmlparser.py255 def skip_whitespace_and_newlines(self):CODE
LOWdata/tools/wesnoth/wmlparser.py321 def skip_whitespace_inside_statement(self):CODE
LOWdata/tools/wesnoth/wmldata.py427 def get_or_create_sub_with_attributes(self, name, **kw):CODE
LOWdata/tools/pywmlx/postring.py40 def update_with_commented_string(self, commented_string):CODE
LOWdata/tools/pywmlx/postring.py188 def nodesentence_to_posentence(self, nodesentence):CODE
Excessive Try-Catch Wrapping4 hits · 7 pts
SeverityFileLineSnippetContext
MEDIUMutils/optiwebp.py190 print("Error writing summary output files!")CODE
MEDIUMdata/tools/expand-terrain-macros.py90 print("Error in line:\n" + line)CODE
MEDIUMdata/tools/unit_tree/team_colorizer.py206 print("Error: Conversion command exited with error "\CODE
LOWdata/tools/wesnoth/wmliterator3.py138 except Exception:CODE
Verbosity Indicators4 hits · 6 pts
SeverityFileLineSnippetContext
LOW…droid/app/src/main/java/org/libsdl/app/SDLSurface.java262 // We need to check if we're in relative mouse mode and get the axis offset rather than the x/y valuesCOMMENT
LOWsrc/menu_events.cpp434 // we need to check if unit has a specific recall costCOMMENT
LOWsrc/mouse_handler_base.cpp93 // thus, we need to check if the LMB/MMB is still downCOMMENT
LOWsrc/units/animation.cpp1265 // so we need to check if this particular frame is due to be shown at this timeCOMMENT
TODO Padding4 hits · 6 pts
SeverityFileLineSnippetContext
LOWsrc/sdl/utils.hpp49 // TODO: implement proper transparent blending using the above formulaCOMMENT
LOWsrc/formula/variant_value.hpp322 return true; // TODO: implementCODE
LOWsrc/gui/dialogs/end_credits.cpp88 // TODO: implement showing all available images as the credits scrollCOMMENT
LOWsrc/gui/widgets/tree_view_node.hpp156 // TODO: implement if different expand modes become necessaryCOMMENT
Structural Annotation Overuse2 hits · 3 pts
SeverityFileLineSnippetContext
LOWdata/tools/pywmlx/state/wml_states.py83# WARNING: This also means that it is impossible to capture any wmlinfo whichCOMMENT
LOW…s/Under_the_Burning_Suns/units/monsters/Alien_Body.cfg68 # NOTE: The following attack filter deliberately matches both ranged and melee.COMMENT
AI Structural Patterns2 hits · 2 pts
SeverityFileLineSnippetContext
LOWdata/tools/wesnoth/campaignserver_client.py293CODE
LOWdata/tools/wesnoth/wmltools3.py588CODE
Example Usage Blocks1 hit · 0 pts
SeverityFileLineSnippetContext
LOWutils/gdb/wesnoth_gdb.py4# Usage:STRING