Repository Analysis

wesnoth/wesnoth

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

6.4 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of wesnoth/wesnoth, a C++ project with 6,774 GitHub stars. SynthScan v2.0 examined 1,063,388 lines of code across 4563 source files, recording 3635 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 6.4 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

6.4
Adjusted Score
6.4
Raw Score
100%
Time Factor
2026-07-14
Last Push
6.8K
Stars
C++
Language
1.1M
Lines of Code
4.6K
Files
3.6K
Pattern Hits
2026-07-14
Scan Date
0.00
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 6HIGH 7MEDIUM 1695LOW 1927

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 3635 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Decorative Section Separators1517 hits · 4275 pts
SeverityFileLineSnippetContext
MEDIUMdata/tools/pywmlx/state/lua_states.py258#-----------------------------------------------------------------------------COMMENT
MEDIUMdata/tools/pywmlx/state/lua_states.py260#-----------------------------------------------------------------------------COMMENT
MEDIUMdata/tools/pywmlx/state/lua_states.py264#------------------------------------------------------------------------------COMMENT
MEDIUMdata/tools/pywmlx/state/lua_states.py649#-----------------------------------------------------------------------------COMMENT
MEDIUMdata/tools/pywmlx/state/lua_states.py651#-----------------------------------------------------------------------------COMMENT
MEDIUMdata/tools/pywmlx/state/lua_states.py655#-----------------------------------------------------------------------------COMMENT
MEDIUMdata/tools/pywmlx/state/machine.py25# --------------------------------------------------------------------COMMENT
MEDIUMdata/tools/pywmlx/state/machine.py27# --------------------------------------------------------------------COMMENT
MEDIUMdata/tools/pywmlx/state/machine.py72# ----------COMMENT
MEDIUMdata/tools/pywmlx/state/machine.py78# ----------COMMENT
MEDIUMdata/tools/pywmlx/state/machine.py85# ----------COMMENT
MEDIUMdata/tools/pywmlx/state/machine.py94# --------------------------------------------------------------------COMMENT
MEDIUMdata/tools/pywmlx/state/machine.py96# --------------------------------------------------------------------COMMENT
MEDIUMdata/internal/resources/AMLAs/_main.cfg40 #--------------------COMMENT
MEDIUMdata/internal/resources/AMLAs/_main.cfg42 #--------------------COMMENT
MEDIUMdata/internal/resources/AMLAs/_main.cfg49 #--------------------COMMENT
MEDIUMdata/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 Block1714 hits · 1625 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# Lua plural will manage _ ("sentence", "plural_form", number) syntaxCOMMENT
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 # This unit test is allowed to contain invalid UTF-8. Ignore it.COMMENT
LOWdata/core/terrain.cfg1#textdomain wesnoth-libCOMMENT
LOWdata/core/terrain-graphics.cfg1#textdomain wesnothCOMMENT
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
LOWdata/core/terrain-graphics/deprecated-transitions.cfg341#enddefCOMMENT
1654 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…
Hallucination Indicators6 hits · 65 pts
SeverityFileLineSnippetContext
CRITICALdata/tools/pywmlx/state/lua_states.py493 pywmlx.state.machine._pending_luastring.plural.addline(CODE
CRITICALdata/tools/pywmlx/state/lua_states.py525 pywmlx.state.machine._pending_luastring.plural.addline(CODE
CRITICALdata/tools/pywmlx/state/lua_states.py549 pywmlx.state.machine._pending_luastring.plural.addline(CODE
CRITICALdata/tools/pywmlx/state/lua_states.py584 pywmlx.state.machine._pending_luastring.plural.addline(CODE
CRITICALdata/tools/pywmlx/state/lua_states.py631 pywmlx.state.machine._pending_luastring.plural.addline(CODE
CRITICALdata/tools/pywmlx/state/lua_states.py642 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.py51CODE
LOWdata/tools/wesnoth/campaignserver_client.py175CODE
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.py283CODE
LOWdata/tools/pywmlx/state/lua_states.py679CODE
LOWdata/tools/pywmlx/state/machine.py370CODE
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 Vocabulary15 hits · 36 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.cfg853# There are no more human castles left, so we can just use Ch* here, which makes sureCOMMENT
LOWdata/schema/units/types.cfg17 # 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.cfg70 # 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.cfg1103 # 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.cfg657 # 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.cfg244 # 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.cpp357 // 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
LOWsrc/server/wesnothd/server.cpp622 simple_wml::node& dummy_user = games_and_users_list_.root().add_child_at("user", i);CODE
LOWsrc/server/wesnothd/server.cpp623 dummy_user.set_attr_dup("available", "yes");CODE
LOWsrc/server/wesnothd/server.cpp624 dummy_user.set_attr_int("forum_id", i);CODE
LOWsrc/server/wesnothd/server.cpp625 dummy_user.set_attr_int("game_id", 0);CODE
LOWsrc/server/wesnothd/server.cpp626 dummy_user.set_attr_dup("location", "");CODE
LOWsrc/server/wesnothd/server.cpp627 dummy_user.set_attr_dup("moderator", "no");CODE
LOWsrc/server/wesnothd/server.cpp628 dummy_user.set_attr_dup("name", ("player"+std::to_string(i)).c_str());CODE
LOWsrc/server/wesnothd/server.cpp629 dummy_user.set_attr_dup("registered", "yes");CODE
LOWsrc/server/wesnothd/server.cpp630 dummy_user.set_attr_dup("status", "lobby");CODE
LOWsrc/server/wesnothd/server.cpp706 simple_wml::node* dummy_user = games_and_users_list_.root().children("user").at(size-1);CODE
LOWsrc/server/wesnothd/server.cpp709 if(make_delete_diff(games_and_users_list_.root(), nullptr, "user", dummy_user, diff)) {CODE
LOWsrc/server/wesnothd/server.cpp715 simple_wml::node& dummy_user = games_and_users_list_.root().add_child_at("user", size-1);CODE
LOWsrc/server/wesnothd/server.cpp716 dummy_user.set_attr_dup("available", "yes");CODE
LOWsrc/server/wesnothd/server.cpp717 dummy_user.set_attr_int("forum_id", size-1);CODE
LOWsrc/server/wesnothd/server.cpp718 dummy_user.set_attr_int("game_id", 0);CODE
LOWsrc/server/wesnothd/server.cpp719 dummy_user.set_attr_dup("location", "");CODE
LOWsrc/server/wesnothd/server.cpp720 dummy_user.set_attr_dup("moderator", "no");CODE
LOWsrc/server/wesnothd/server.cpp721 dummy_user.set_attr_dup("name", ("player"+std::to_string(size-1)).c_str());CODE
LOWsrc/server/wesnothd/server.cpp722 dummy_user.set_attr_dup("registered", "yes");CODE
LOWsrc/server/wesnothd/server.cpp723 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.cfg544 # 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.cpp1256 // 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.py292CODE
LOWdata/tools/wesnoth/wmltools3.py588CODE
Example Usage Blocks1 hit · 0 pts
SeverityFileLineSnippetContext
LOWutils/gdb/wesnoth_gdb.py4# Usage:STRING