AI Slop Code Risk Monitor

magefree/mage

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

XMage - Magic Another Game Engine

0.1 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for magefree/mage, a Java project with 2,399 GitHub stars. SynthScan examined 2,950,417 lines of code across 40143 source files, recording 186 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 0.1 (Low 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.

0.1
Adjusted Signal
0.1
Raw Pattern Score
100%
Time Factor
2026-11-01
Last Push
2.4K
Stars
Java
Language
3.0M
Lines of Code
40.1K
Files
186
Pattern Hits
2026-10-31
Scan Date
0.00
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 0.5/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.0/100 · LOW

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

Agent Over-Engineering Ratio 0.0/100 · LOW

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

PR Review Velocity Impact 0.5/100 · LOW

Which changes need focused human review? 186 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 2HIGH 0MEDIUM 33LOW 151

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 186 distinct pattern matches across 11 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.

AI Slop Vocabulary33 hits · 101 pts
SeverityFileLineSnippetContext
MEDIUM…/main/java/org/mage/card/arcane/RetroCardRenderer.java1202 // Absolutely mental, but the coloring for the spirals is as follows (reading from biggest box in):COMMENT
MEDIUM…main/java/org/mage/card/arcane/ModernCardRenderer.java1705 // Absolutely mental, but the coloring for the spirals is as follows (reading from biggest box in):COMMENT
MEDIUM…ge/abilities/costs/mana/ActivationManaAbilityStep.java14 AFTER(2); // convoke, delve, improviseCODE
MEDIUM…src/main/java/mage/abilities/keyword/DelveAbility.java192 // can't use mana abilities after that (delve cost must be payed after mana abilities only)COMMENT
MEDIUM…yer.AI/src/mage/player/ai/PossibleTargetsSelector.java177 // (more exiled -- more good things you get, e.g. delve's pay or search cards with same name)COMMENT
MEDIUMMage.Common/src/main/java/mage/view/GameView.java222 // has only to be set for active player with priority (e.g. pay mana by delve or Quenchable Fire special actCOMMENT
MEDIUM⚡…rds/cost/modification/PayDelveFromCommandZoneTest.java17 // Having this problem with Tasigur, the Golden Fang. I can't attempt to use delve to cast him from command zoneCOMMENT
MEDIUM⚡…rds/cost/modification/PayDelveFromCommandZoneTest.java22 addCard(Zone.GRAVEYARD, playerA, "Balduvian Bears", 5); // delveCODE
MEDIUM⚡…rds/cost/modification/PayDelveFromCommandZoneTest.java26 setChoice(playerA, "Balduvian Bears", 5); // delve payCODE
MEDIUM⚡…/org/mage/test/cards/abilities/keywords/DelveTest.java15 // no simple playable tests for delve, it's same as ConvokeTestCOMMENT
MEDIUM⚡…/org/mage/test/cards/abilities/keywords/DelveTest.java23 addCard(Zone.GRAVEYARD, playerA, "Balduvian Bears", 4); // delve payCODE
MEDIUM⚡…/org/mage/test/cards/abilities/keywords/DelveTest.java31 // delve can be payed in test only by one cardCOMMENT
MEDIUM⚡…/org/mage/test/cards/abilities/keywords/DelveTest.java33 setChoice(playerA, "Balduvian Bears"); // pay 3 as delveCODE
MEDIUM⚡…/org/mage/test/cards/abilities/keywords/DelveTest.java35 setChoice(playerA, "Balduvian Bears"); // pay 4 as delveCODE
MEDIUM⚡…/org/mage/test/cards/abilities/keywords/DelveTest.java37 setChoice(playerA, "Balduvian Bears"); // pay 5 as delveCODE
MEDIUM⚡…/org/mage/test/cards/abilities/keywords/DelveTest.java39 setChoice(playerA, "Balduvian Bears"); // pay 6 as delveCODE
MEDIUM…/org/mage/test/cards/abilities/keywords/DelveTest.java54 addCard(Zone.GRAVEYARD, playerA, "Balduvian Bears", 4); // delve payCODE
MEDIUM…/org/mage/test/cards/abilities/keywords/DelveTest.java56 // AI must use special actions to pay as delveCOMMENT
MEDIUM…/org/mage/test/cards/abilities/keywords/DelveTest.java72 addCard(Zone.GRAVEYARD, playerA, "Balduvian Bears", 4); // delve payCODE
MEDIUM⚡…/org/mage/test/cards/abilities/keywords/DelveTest.java85 // possible bug: users can start to pay delve special action with nothing (done button) and gets no mana castCOMMENT
MEDIUM⚡…/org/mage/test/cards/abilities/keywords/DelveTest.java95 addCard(Zone.GRAVEYARD, playerA, "Balduvian Bears", 7); // delve payCODE
MEDIUM⚡…/org/mage/test/cards/abilities/keywords/DelveTest.java99 // 2. Use delve as special actionCOMMENT
MEDIUM⚡…/org/mage/test/cards/abilities/keywords/DelveTest.java100 // 3. Press done without real delve payCOMMENT
MEDIUM⚡…/org/mage/test/cards/abilities/keywords/DelveTest.java105 setChoice(playerA, "Exile a card"); // delve activate (special button in UI)CODE
MEDIUM…/mage/test/cards/abilities/keywords/ImproviseTest.java52 // AI must use special actions to pay as delveCOMMENT
MEDIUM…rg/mage/test/cards/abilities/keywords/ConvokeTest.java317 addCard(Zone.GRAVEYARD, playerA, "Balduvian Bears", 5); // delveCODE
MEDIUM…rg/mage/test/cards/abilities/keywords/ConvokeTest.java321 setChoice(playerA, "Balduvian Bears", 5); // delve payCODE
MEDIUM…org/mage/test/cards/continuous/CommandersCastTest.java277 // disable auto-payment for delve testCOMMENT
MEDIUM…org/mage/test/cards/continuous/CommandersCastTest.java290 addCard(Zone.BATTLEFIELD, playerA, "Island", 5); // one from delveCODE
MEDIUM…org/mage/test/cards/continuous/CommandersCastTest.java304 // use commander as delve payCOMMENT
MEDIUM…org/mage/test/cards/continuous/CommandersCastTest.java308 setChoice(playerA, "Exile a card"); // pay delveCODE
MEDIUMMage.Sets/src/mage/cards/t/TevalArbiterOfVirtue.java55 // Spells you cast have delve.COMMENT
MEDIUMMage.Sets/src/mage/cards/s/Soulflayer.java36 // If a creature card with flying was exiled with Soulflayer's delve ability, Soulflayer has flying. The same isCOMMENT
Over-Commented Block84 hits · 84 pts
SeverityFileLineSnippetContext
LOW…nt/src/main/java/mage/client/cards/CardIconsPanel.java261 }COMMENT
LOW…rc/main/java/mage/client/dialog/PreferencesDialog.java421 }COMMENT
LOW…/java/mage/client/components/BracketLegalityLabel.java41 private static final String GROUP_GAME_CHANGES = "Game Changers";COMMENT
LOW…ient/src/main/java/org/mage/card/arcane/MageLayer.java261 double originY = height - originX;COMMENT
LOW…plugins/card/dl/sources/ScryfallImageSupportCards.java641 add("MDC"); // Darkhold Destiny CommanderCOMMENT
LOW…plugins/card/dl/sources/ScryfallImageSupportCards.java661 //COMMENT
LOW…lugins/card/dl/sources/ScryfallImageSupportTokens.java21 // direct example: https://cards.scryfall.io/large/back/d/c/dc26e13b-7a0f-4e7f-8593-4f22234f4517.jpgCOMMENT
LOWMage/src/main/resources/tokens-database.txt1# Tokens databaseCOMMENT
LOWMage/src/main/java/mage/MageIdentifier.java41 TheFourthDoctorWatcher,COMMENT
LOWMage/src/main/java/mage/util/GameLog.java121 public static String injectPopupSupport(String htmlLogs) {COMMENT
LOWMage/src/main/java/mage/players/PlayerImpl.java321COMMENT
LOWMage/src/main/java/mage/players/PlayerImpl.java5181 break;COMMENT
LOW…e/src/main/java/mage/constants/AsThoughEffectType.java41 CAST_AS_INSTANT(true, true),COMMENT
LOWMage/src/main/java/mage/cards/ExpansionSet.java761 this.numBoosterCommon += 1;COMMENT
LOW…rc/main/java/mage/cards/repository/CardRepository.java81 // TODO: implement same logic for set repository, users repository and other db sources?!COMMENT
LOWMage/src/main/java/mage/game/GameImpl.java2341 // The exiled cards return to the battlefield immediately after Grasp of Fate leaves the battlefield. NothinCOMMENT
LOWMage/src/main/java/mage/game/GameImpl.java2381 newAbility.newId();COMMENT
LOWMage/src/main/java/mage/game/GameCommanderImpl.java181 super.mulligan(playerId);COMMENT
LOWMage/src/main/java/mage/game/GameCommanderImpl.java201// }COMMENT
LOWMage/src/main/java/mage/game/GameCommanderImpl.java221// .append(numCards)COMMENT
LOWMage/src/main/java/mage/game/turn/UntapStep.java61 .getActivePlayerPrevTurnCount();COMMENT
LOW…e/src/main/java/mage/game/permanent/PermanentImpl.java1401 // 616.1aCOMMENT
LOW…e/src/main/java/mage/game/permanent/PermanentCard.java281 @OverrideCOMMENT
LOW…src/main/java/mage/abilities/TriggeredAbilityImpl.java421 }COMMENT
LOW…src/main/java/mage/abilities/TriggeredAbilityImpl.java541 // --!---------------!-------------!-----!-----------!COMMENT
LOWMage/src/main/java/mage/abilities/LoyaltyAbility.java41 // loyalty cost modification rules from Carth the LionCOMMENT
LOWMage/src/main/java/mage/abilities/AbilityImpl.java321COMMENT
LOWMage/src/main/java/mage/abilities/AbilityImpl.java401 }COMMENT
LOWMage/src/main/java/mage/abilities/AbilityImpl.java801 * @return variableManaCost for posting to log laterCOMMENT
LOWMage/src/main/java/mage/abilities/AbilityImpl.java1341 // ...COMMENT
LOW…on/PutIntoGraveFromAnywhereSourceTriggeredAbility.java21 }COMMENT
LOW…on/PutIntoGraveFromAnywhereSourceTriggeredAbility.java41// * @returnCOMMENT
LOW…ilities/effects/ContinuousRuleModifyingEffectImpl.java21 // 613.10COMMENT
LOW…/java/mage/abilities/effects/ContinuousEffectImpl.java181 // 20210112 - 611.2cCOMMENT
LOW…ge.Player.Human/src/mage/player/human/HumanPlayer.java61 * Human: server side logic to exchange game data between server app and another player's appCOMMENT
LOW…ge.Player.Human/src/mage/player/human/HumanPlayer.java81 // * it's income in async mode at any time and in any order by "CALL xxx" threadsCOMMENT
LOW…ge.Player.Human/src/mage/player/human/HumanPlayer.java201 // so if next command come too fast then wait here until game readyCOMMENT
LOW…ge.Player.Human/src/mage/player/human/HumanPlayer.java361 // async commands can be lost on two parallel answers of the same playerCOMMENT
LOW…r.AI/src/mage/player/ai/score/GameStateEvaluator2.java101 // - possible bug in wrong score: instant and sorcery on hand will be more valuable compared to other zones,COMMENT
LOW…ge.Deck.Constructed/src/mage/deck/HistoricalType2.java41 {"MIR", "VIS", "5ED", "WTH", "TMP", "STH", "EXO"},COMMENT
LOW.devcontainer/xmage-dev-tools/devcontainer.json1{COMMENT
LOW.devcontainer/xmage-dev-tools/devcontainer.json21 // Offline work mode:COMMENT
LOWMage.Server/src/main/java/mage/server/Session.java41COMMENT
LOW…/mage/test/commander/duel/MairsilThePretenderTest.java141 addCard(Zone.BATTLEFIELD, playerA, "Swamp", 1);COMMENT
LOW…rg/mage/test/commander/duel/GlimpseOfTomorrowTest.java21 // card without paying its mana cost. Put all revealed cards not cast thisCOMMENT
LOW…test/cards/triggers/dies/SacrificeDiesTriggerTest.java81 // Bug: reports of Dies trigger not triggering on sacrifice.COMMENT
LOW…test/cards/triggers/dies/SacrificeDiesTriggerTest.java121 // This pair was specifically mentionned to not trigger the Su-Chi trigger.COMMENT
LOW…test/cards/triggers/dies/SacrificeDiesTriggerTest.java161 // This pair was specifically mentionned to not trigger the Su-Chi trigger.COMMENT
LOW…test/cards/cost/modification/CostModificationTest.java401 addCard(Zone.BATTLEFIELD, playerA, "Carth the Lion", 1);COMMENT
LOW…/mage/test/cards/cost/modification/CostReduceTest.java121 testReduce("{3}{R}", -2, "{5}{R}");COMMENT
LOW…cards/cost/modification/KaradorGhostChieftainTest.java101 //COMMENT
LOW…/org/mage/test/cards/cost/splitcards/RoomCardTest.java521 // Verify that the original "Bottomless Pool" is on playerA's battlefield, and aCOMMENT
LOW…/org/mage/test/cards/cost/splitcards/RoomCardTest.java581 // Each other non-Aura enchantment is a creature in addition to its other typesCOMMENT
LOW…/org/mage/test/cards/cost/splitcards/RoomCardTest.java661 @TestCOMMENT
LOW…/org/mage/test/cards/cost/splitcards/RoomCardTest.java761 // OpalescenceCOMMENT
LOW…/org/mage/test/cards/cost/splitcards/RoomCardTest.java901 // creature to its owner's hand.COMMENT
LOW…/org/mage/test/cards/cost/splitcards/RoomCardTest.java961 setStrictChooseMode(true);COMMENT
LOW…s/cost/modaldoublefaced/ModalDoubleFacedCardsTest.java1101 // 707.8aCOMMENT
LOW…st/cards/single/one/EleshNornMotherOfMachinesTest.java41COMMENT
LOW…rg/mage/test/cards/single/c16/ArmoryAutomatonTest.java41 addTarget(playerA, "Leonin Scimitar");COMMENT
24 more matches not shown…
TODO Padding35 hits · 49 pts
SeverityFileLineSnippetContext
LOW…e.Client/src/main/java/mage/client/game/GamePanel.java2173 //TODO: implement thisCOMMENT
LOW…lient/src/main/java/org/mage/card/arcane/SvgUtils.java106 useShadow = false; // TODO: implement shadow drawingCODE
LOW…ain/java/org/mage/card/arcane/CardRendererFactory.java24 // TODO: implement split card renderer for retro cardsCOMMENT
LOW…/org/mage/plugins/card/dl/sources/ScryfallApiCard.java35 //public UUID oracle_id; // TODO: implement card hint with oracle/cr ruling texts (see Rulings bulk data)COMMENT
LOW…/collectors/services/SaveGameHistoryDataCollector.java282 // TODO: implement?COMMENT
LOW…rc/main/java/mage/cards/repository/CardRepository.java81 // TODO: implement same logic for set repository, users repository and other db sources?!COMMENT
LOWMage/src/main/java/mage/game/GameImpl.java3148 //TODO: implement the restCOMMENT
LOWMage/src/main/java/mage/game/draft/DraftImpl.java187 //TODO: implement thisCOMMENT
LOW…s/common/continuous/BecomesFaceDownCreatureEffect.java232 // TODO: implement multiple face down types?!COMMENT
LOW….Player.AI.MAD/src/mage/player/ai/ComputerPlayer6.java881 // TODO: implement choices simulation?COMMENT
LOW….Player.AI.MAD/src/mage/player/ai/util/CombatUtil.java171 // TODO: implement full game simulations of all possible combinations (e.g. multiblockers support)COMMENT
LOW….Player.AI.MAD/src/mage/player/ai/util/CombatUtil.java320 int endNonBlockingScore = startScore; // TODO: implementCODE
LOW…/Mage.Player.AI/src/mage/player/ai/ComputerPlayer.java914 //TODO: implement thisCOMMENT
LOW…/src/mage/player/ai/score/ArtificialScoringSystem.java55 // TODO: implement in the mage coreCOMMENT
LOW…/src/mage/player/ai/score/ArtificialScoringSystem.java85 // TODO: implement getOutcomeTotal for permanents and cards too (not only attachments)COMMENT
LOW…/src/mage/player/ai/score/ArtificialScoringSystem.java151 //TODO: implement thisCOMMENT
LOW…main/java/mage/utils/testers/ChoiceTestableResult.java21 return null; // TODO: implementCODE
LOW…c/main/java/mage/utils/testers/BaseTestableResult.java35 return null; // TODO: implementCODE
LOWMage.Common/src/main/java/mage/view/GameView.java44 // TODO: implement RepeatedGameView to send back ref number instead full game view on non-changeableCOMMENT
LOWMage.Common/src/main/java/mage/view/GameView.java75 // TODO: implement and support in admin toolsCOMMENT
LOWMage.Common/src/main/java/mage/view/CardView.java1141 // TODO: implement diff backface images someday and insert here (user data + card owner)COMMENT
LOWMage.Server/src/main/java/mage/server/Session.java500 // TODO: implement important in call.getMethod().getType()COMMENT
LOW…ver/src/main/java/mage/server/game/GameController.java754 // TODO: implement allow deck view for all (same as allow hand view for all)COMMENT
LOW…src/main/java/mage/server/game/GameSessionWatcher.java127 // TODO: implement shared link here (store game state, full battlefield info, history/logs, etc with shared COMMENT
LOW…/mage/test/cards/cost/additional/AdjusterCostTest.java200 // TODO: implement AI and add tests for non-mana X values (announceXCost)COMMENT
LOW…rg/mage/test/cards/single/emn/NephaliaAcademyTest.java86 //TODO: Add tests for replacement effect by abilityCOMMENT
LOW…rg/mage/test/cards/single/msh/BaronHelmutZemoTest.java123 // TODO: implement possible targets check/assertCOMMENT
LOW…java/org/mage/test/cards/single/ltr/GlamdringTest.java34 // TODO: implement possible targets check/assertCOMMENT
LOW…va/org/mage/test/cards/single/mh3/NulldrifterTest.java57 @Ignore // TODO: implement alternative cost choose by AI instead randomCODE
LOW…va/org/mage/test/cards/single/mh3/NulldrifterTest.java99 @Ignore // TODO: implement alternative cost choose by AI instead randomCODE
LOW…va/org/mage/test/cards/single/mh3/NulldrifterTest.java141 @Ignore // TODO: implement alternative cost choose by AI instead randomCODE
LOW…sts/src/test/java/org/mage/test/player/TestPlayer.java4768 // TODO: implement after takeMaxTargetsPerChoose fix/remove (targets must use while logic all the time - same as choCOMMENT
LOW…rify/src/test/java/mage/verify/VerifyCardDataTest.java3035 // TODO: implement tests result/stats by github actions to show in check message compared to prev versionCOMMENT
LOW…Sets/src/mage/sets/ShadowsOverInnistradRemastered.java25 // TODO: implement special slot with x1 card from SIS - Shadows of the PastCOMMENT
LOWMage.Sets/src/mage/sets/PioneerMasters.java24 // TODO: implement special slot with x1 card from bonus sheetCOMMENT
Slop Phrases22 hits · 33 pts
SeverityFileLineSnippetContext
LOWMage/src/main/java/mage/util/DebugUtil.java12 * WARNING, don't forget to disable it before release/commitCOMMENT
LOWMage/src/main/java/mage/util/CardUtil.java1393 * Take control under another player, use it in inner effects like Word of Commands. Don't forget to end it in same COMMENT
LOW…in/java/mage/cards/repository/ExpansionRepository.java67 * Warning, don't forget to unsubscribe due memory leak problemsCOMMENT
LOWMage/src/main/java/mage/game/GameImpl.java93 * WARNING, if you add new fields then don't forget to add it to copy constructor (deep copy, not ref).COMMENT
LOWMage/src/main/java/mage/game/stack/Spell.java850 * Warning, don't forget to call CopyStackObjectEvent and CopiedStackObjectEvent before and after copyCOMMENT
LOWMage/src/main/java/mage/game/stack/Spell.java853 * Warning, don't forget to call spell.setZone before push to stackCOMMENT
LOW…src/main/java/mage/abilities/ActivatedAbilityImpl.java105 * WARNING, don't forget to call super.canActivate on override in card's code in most cases.COMMENT
LOWMage/src/main/java/mage/abilities/ActivatedAbility.java65 * WARNING, don't forget to call super.canActivate on override in card's codeCOMMENT
LOW…/java/mage/abilities/costs/OptionalAdditionalCost.java5 * Don't forget to set up cost type for variable costsCOMMENT
LOW…age/abilities/costs/OptionalAdditionalSourceCosts.java17 * Warning, don't forget to set up cost type for costs, it can help with X announceCOMMENT
LOW…ain/java/mage/abilities/effects/ContinuousEffects.java696 * Warning, don't forget to call ability.adjustX before any cost modificationsCOMMENT
LOW…ain/java/mage/abilities/effects/ContinuousEffects.java1353 // so if you change keys or texts logic then don't forget to change auto-choose tooCOMMENT
LOW…predicate/permanent/CrewedSourceThisTurnPredicate.java10 * Warning, don't forget to add CrewedVehicleWatcher watcher to the abilityCOMMENT
LOW…Player.Human/src/mage/player/human/PlayerResponse.java28 // if you add new response type the don't forget to change hasAnswer()COMMENT
LOW…e.Common/src/main/java/mage/view/StackAbilityView.java29 // in GUI: that's view will be replaced by sourceCard, so don't forget to sync settings likeCOMMENT
LOWMage.Common/src/main/java/mage/view/CardView.java145 // warning, don't forget to hide it in face down cards (null)COMMENT
LOWMage.Server/src/main/java/mage/server/Session.java474 * Don't forget to call flushCallbacksQueue after fill completeCOMMENT
LOW…/src/main/java/mage/server/game/GameSessionPlayer.java209 // warning, don't forget to sync logci with GameSessionWatcher and GameSessionPlayerCOMMENT
LOW…src/main/java/mage/server/game/GameSessionWatcher.java152 // warning, don't forget to sync logci with GameSessionWatcher and GameSessionPlayerCOMMENT
LOW…test/java/org/mage/test/player/TestComputerPlayer.java26 * Don't forget to add new methods in another classes like TestComputerPlayer7 or TestComputerPlayerMonteCarloCOMMENT
LOW…rify/src/test/java/mage/verify/VerifyCardDataTest.java1120 // also don't forget to change names in mtg-cards-data.txtCOMMENT
LOW…rify/src/test/java/mage/verify/VerifyCardDataTest.java1537 // (also don't forget to add new set to scryfall download)COMMENT
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICAL…nt/src/main/java/mage/client/dialog/ConnectDialog.java189 cbFlag = new mage.client.util.gui.countryBox.CountryComboBox();CODE
CRITICAL…rc/main/java/mage/cards/repository/CardRepository.java704 at com.j256.ormlite.jdbc.JdbcDatabaseConnection.executeStatement(JdbcDatabaseConnection.java:141)CODE
Redundant / Tautological Comments5 hits · 8 pts
SeverityFileLineSnippetContext
LOWUtils/gen-card-test.pl136 # Check if this is a planeswalkerCOMMENT
LOWUtils/gen-card-test.pl257# Check if card is already implementedCOMMENT
LOWUtils/mtg-cards-data-scryfall.py134 # Check if file doesn't exist or is stale (older than 24 hours)COMMENT
LOWUtils/find_new_cards.pl160 # Check if name is correct if not try to fix with ' before the endings of first wordCOMMENT
LOWUtils/gen-card.pl148# Check if card is already implementedCOMMENT
Verbosity Indicators1 hit · 1 pts
SeverityFileLineSnippetContext
LOWMage/src/main/java/mage/players/PlayerImpl.java3924 if (mana.enough(avail)) { // here we need to check if spend mana as though allow to pay the mana cosCODE
Excessive Try-Catch Wrapping1 hit · 1 pts
SeverityFileLineSnippetContext
LOWUtils/gen-draft-rates-17Lands.py339 except Exception as e:CODE
Hyper-Verbose Identifiers1 hit · 1 pts
SeverityFileLineSnippetContext
LOWUtils/gen-draft-rates-17Lands.py535def is_ratings_older_than_data(code, own_ratings):CODE
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOWUtils/gen-draft-rates-17Lands.py89CODE
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWUtils/CubeCobraDownloader.py4CODE