Repository Analysis

OpenRA/OpenRA

Open Source real-time strategy game engine for early Westwood games such as Command & Conquer: Red Alert written in C# using SDL and OpenGL. Runs on Windows, Linux, *BSD and Mac OS X.

0.5 Likely human-written View on GitHub
0.5
Adjusted Score
0.5
Raw Score
100%
Time Factor
2026-05-26
Last Push
16,733
Stars
C#
Language
638,381
Lines of Code
2501
Files
126
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 19HIGH 1MEDIUM 11LOW 95

Pattern Findings

126 matches across 10 categories. Click a row to expand file-level details.

Hallucination Indicators19 hits · 190 pts
SeverityFileLineSnippet
CRITICALOpenRA.Mods.Cnc/Traits/World/JumpjetActorLayer.cs43 terrainIndex = self.World.Map.Rules.TerrainInfo.GetTerrainIndex(info.TerrainType);
CRITICALOpenRA.Mods.Cnc/Traits/SupportPowers/DropPodsPower.cs98 if (!self.World.Map.Rules.Actors.TryGetValue(unitType, out var actorInfo))
CRITICAL…A.Mods.Common/Scripting/Properties/PlayerProperties.cs93 if (!Context.World.Map.Rules.Actors.TryGetValue(type, out var ai))
CRITICAL…A.Mods.Common/Scripting/Properties/PlayerProperties.cs108 if (!Context.World.Map.Rules.Actors.ContainsKey(type))
CRITICAL…ds.Common/Scripting/Properties/ProductionProperties.cs41 if (!Self.World.Map.Rules.Actors.TryGetValue(actorType, out var actorInfo))
CRITICALOpenRA.Mods.Common/Scripting/Global/ActorGlobal.cs125 if (!Context.World.Map.Rules.Actors.TryGetValue(type, out var ai))
CRITICALOpenRA.Mods.Common/Scripting/Global/ActorGlobal.cs146 var pqueue = Context.World.Map.Rules.Actors.Values.SelectMany(a => a.TraitInfos<ProductionQueueInfo>()
CRITICALOpenRA.Mods.Common/Scripting/Global/ActorGlobal.cs156 var pqueue = Context.World.Map.Rules.Actors.Values.SelectMany(a => a.TraitInfos<ProductionQueueInfo>()
CRITICALOpenRA.Mods.Common/Scripting/Global/ActorGlobal.cs172 if (!Context.World.Map.Rules.Actors.TryGetValue(type, out var ai))
CRITICALOpenRA.Mods.Common/Scripting/Global/ActorGlobal.cs182 if (!Context.World.Map.Rules.Actors.TryGetValue(type, out var ai))
CRITICAL…A.Mods.Common/Scripting/Global/ReinforcementsGlobal.cs35 if (!Context.World.Map.Rules.Actors.TryGetValue(actorType, out var ai))
CRITICALOpenRA.Mods.Common/ServerTraits/LobbyCommands.cs537 .Concat(server.Map.Players.Players.Values.Select(p => p.Color)).ToList();
CRITICALOpenRA.Mods.Common/ServerTraits/LobbyCommands.cs1400 .Concat(server.Map.Players.Players.Values.Select(p => p.Color)).ToList();
CRITICAL…enRA.Mods.Common/Traits/Buildings/GroundLevelBridge.cs79 var terrainIndex = self.World.Map.Rules.TerrainInfo.GetTerrainIndex(Info.TerrainType);
CRITICAL…nRA.Mods.Common/Traits/World/SubterraneanActorLayer.cs42 terrainIndex = self.World.Map.Rules.TerrainInfo.GetTerrainIndex(info.TerrainType);
CRITICAL…RA.Mods.Common/Traits/BotModules/HarvesterBotModule.cs387 var minCellCost = harv.Mobile.Locomotor.Info.TerrainSpeeds.Values.Min(ti => ti.Cost);
CRITICAL….Mods.Common/Traits/SupportPowers/ParatroopersPower.cs96 if (!self.World.Map.Rules.Actors.TryGetValue(utLower, out var unitType))
CRITICAL…Commands/Documentation/ExtractZeroBraneStudioLuaAPI.cs132 Console.WriteLine($" version = \"{utility.ModData.Manifest.Metadata.Version.Split('-').LastOrDefault()}\",");
CRITICALOpenRA.Mods.Common/Widgets/ProductionTabsWidget.cs115 Groups = world.Map.Rules.Actors.Values.SelectMany(a => a.TraitInfos<ProductionQueueInfo>())
Over-Commented Block85 hits · 85 pts
SeverityFileLineSnippet
LOWpackaging/functions.sh1#!/bin/sh
LOWpackaging/functions.sh41
LOWpackaging/functions.sh81 cp -r "${SRC_PATH}/mods/${MOD_ID}-content" "${DEST_PATH}/mods/"
LOWpackaging/functions.sh121
LOWpackaging/functions.sh141 set -o errexit || exit $?
LOWpackaging/macos/apphost.c1/*
LOWpackaging/macos/buildpackage.sh1#!/bin/bash
LOWOpenRA.Mods.Common/WorldExtensions.cs201
LOWOpenRA.Mods.Common/TraitsInterfaces.cs221 DockClientManager DockClientManager { get; }
LOWOpenRA.Mods.Common/TraitsInterfaces.cs861 /// An actor can only be blocked by impassable terrain.
LOWOpenRA.Mods.Common/TraitsInterfaces.cs881 /// An actor can never be blocked by an allied actor capable of moving, even if the other actor is stationary.
LOWOpenRA.Mods.Common/TraitsInterfaces.cs961 /// Returned path is *reversed* and given target to source.
LOWOpenRA.Mods.Common/Traits/World/PathFinder.cs81 /// Returned path is *reversed* and given target to source.
LOWOpenRA.Mods.Common/Traits/World/PathFinder.cs101 bool laneBias = true)
LOWOpenRA.Mods.Common/Traits/World/PathFinder.cs241 bool laneBias = true)
LOWOpenRA.Mods.Common/Traits/World/PathFinder.cs261 /// </remarks>
LOWOpenRA.Mods.Common/Pathfinder/HierarchicalPathFinder.cs21 /// <summary>
LOWOpenRA.Mods.Common/Pathfinder/HierarchicalPathFinder.cs41 /// prioritize exploring nodes that lie closer to the target, rather than exploring nodes that take us away from
LOWOpenRA.Mods.Common/Pathfinder/HierarchicalPathFinder.cs61 /// grid. Every region will be represented by one node in the abstract graph (an abstract node, for short).</para>
LOWOpenRA.Mods.Common/Pathfinder/HierarchicalPathFinder.cs81 /// <see cref="Locomotor.CanMoveFreelyInto(Actor, CPos, SubCell, BlockedByActor, Actor, bool)"/>. It will be aware
LOWOpenRA.Mods.Common/Pathfinder/HierarchicalPathFinder.cs121 /// A lookup will fail, rather than return an empty list.
LOWOpenRA.Mods.Common/Pathfinder/HierarchicalPathFinder.cs641 /// <para>
LOWOpenRA.Mods.Common/Pathfinder/HierarchicalPathFinder.cs1221 /// of the original node to provide a better cost estimate.
LOWOpenRA.Mods.Common/Pathfinder/Grid.cs21 /// <remarks>
LOWOpenRA.Mods.Common/Pathfinder/PathSearch.cs121 return search;
LOWOpenRA.Mods.Common/Pathfinder/PathSearch.cs161 }
LOWOpenRA.Mods.Common/EditorBrushes/EditorBlit.cs141 // - Its a sparse blit; and
LOWOpenRA.Mods.Common/UpdateRules/UpdatePath.cs21 //
LOWOpenRA.Mods.Common/Activities/Enter.cs41 moveCooldownHelper = new MoveCooldownHelper(self.World, move as Mobile) { RetryIfDestinationBlocked = true };
LOW…enRA.Mods.Common/Activities/Move/MoveCooldownHelper.cs1using OpenRA.Activities;
LOW…enRA.Mods.Common/Activities/Move/MoveCooldownHelper.cs41 /// <summary>
LOW…/UtilityCommands/Documentation/DocumentationHelpers.cs141 typesPerFile[filePath] = list = [];
LOWOpenRA.Mods.Common/MapGenerator/MatrixUtils.cs41 public enum GraphMode
LOWOpenRA.Mods.Common/MapGenerator/MatrixUtils.cs301 GraphMode mode = GraphMode.Identifier)
LOWOpenRA.Mods.Common/MapGenerator/MatrixUtils.cs321 /// filler should capture and manipulate any necessary input and output
LOWOpenRA.Mods.Common/MapGenerator/MatrixUtils.cs421 return output;
LOWOpenRA.Mods.Common/MapGenerator/MatrixUtils.cs741
LOWOpenRA.Mods.Common/MapGenerator/MatrixUtils.cs1041 /// counter-clockwise (as defined in MapGenerator.Direction).
LOWOpenRA.Mods.Common/MapGenerator/MatrixUtils.cs1121 /// Trace the borders between true and false regions of an input matrix, returning an array
LOWOpenRA.Mods.Common/MapGenerator/MatrixUtils.cs1261 /// <para>
LOWOpenRA.Mods.Common/MapGenerator/MatrixUtils.cs1361 return changesAcc;
LOWOpenRA.Mods.Common/MapGenerator/MatrixUtils.cs1621 links[point] = 0;
LOWOpenRA.Mods.Common/MapGenerator/MatrixUtils.cs1681 while (i != startAt);
LOWOpenRA.Mods.Common/MapGenerator/Direction.cs261 return best;
LOWOpenRA.Mods.Common/MapGenerator/Direction.cs281 /// Supplying a zero-offset will throw. Assumes that CVec(1, 0)
LOWOpenRA.Mods.Common/MapGenerator/Terraformer.cs821 /// and then projects, places, and dezones for them.
LOWOpenRA.Mods.Common/MapGenerator/Terraformer.cs881 }
LOWOpenRA.Mods.Common/MapGenerator/Terraformer.cs1121 pattern[mpos] = uniformity + 1024 * pattern[mpos] / max;
LOWOpenRA.Mods.Common/MapGenerator/Terraformer.cs1201 var closestI = distances.IndexOf(furthest);
LOWOpenRA.Mods.Common/MapGenerator/Terraformer.cs1221 /// If greater than zero, sub-paths are only allowed to change over in straight sections
LOWOpenRA.Mods.Common/MapGenerator/Terraformer.cs1641 /// the result to the map. If tiling fails, returns null without modifying the map.
LOWOpenRA.Mods.Common/MapGenerator/Terraformer.cs2221 Map.Resources[cpos].Type,
LOWOpenRA.Mods.Common/MapGenerator/Terraformer.cs2341
LOWOpenRA.Mods.Common/MapGenerator/NoiseUtils.cs41 /// <summary>
LOWOpenRA.Mods.Common/MapGenerator/LatTiler.cs61
LOWOpenRA.Mods.Common/MapGenerator/TilingPath.cs161 }
LOWOpenRA.Mods.Common/MapGenerator/TilingPath.cs181 /// </summary>
LOWOpenRA.Mods.Common/MapGenerator/TilingPath.cs201 /// <summary>
LOWOpenRA.Mods.Common/MapGenerator/TilingPath.cs321
LOWOpenRA.Mods.Common/MapGenerator/TilingPath.cs341 // There is a matrix for each possible connection type, and each matrix stores the
25 more matches not shown…
Decorative Section Separators8 hits · 24 pts
SeverityFileLineSnippet
MEDIUMmods/ts/chrome.yaml49# ----------------------------------------------------------------------
MEDIUMmods/ts/chrome.yaml51# ----------------------------------------------------------------------
MEDIUMmods/ts/chrome.yaml251# ----------------------------------------------------------------------
MEDIUMmods/ts/chrome.yaml253# ----------------------------------------------------------------------
MEDIUMmods/ts/chrome.yaml454# ----------------------------------------------------------------------
MEDIUMmods/ts/chrome.yaml456# ----------------------------------------------------------------------
MEDIUMmods/ts/chrome.yaml521# ----------------------------------------------------------------------
MEDIUMmods/ts/chrome.yaml523# ----------------------------------------------------------------------
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippet
MEDIUMpackaging/format-docs.py3# This file is part of OpenRA, which is free software. It is made
MEDIUMpackaging/macos/buildpackage.sh242 # Create a temporary read-only dmg for submission (notarization service rejects read/write images)
MEDIUMpackaging/windows/fixlauncher.py2# This file is part of OpenRA, which is free software. It is made
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippet
HIGHOpenRA.Mods.D2k/UtilityCommands/D2kMapImporter.cs511 // Just get a template that contains a tile with the same ID as requested
Hyper-Verbose Identifiers6 hits · 6 pts
SeverityFileLineSnippet
LOW…s/cnc/maps/the-tiberium-strain/the-tiberium-strain.lua228local function ReinforceVillageFlameTank()
LOW…s/cnc/maps/the-tiberium-strain/the-tiberium-strain.lua283local function ReinforceVillageHelicopter()
LOWmods/ra/maps/proving-grounds/proving-grounds.lua495local function ReinforceCrateParatroopers()
LOWmods/ra/maps/allies-07/allies07.lua66local function CompleteObjectiveWithSpeech(objective, speech, markDelay, speechDelay)
LOWmods/ra/maps/allies-07/allies07.lua87local function InitialAlliedReinforcements()
LOWmods/ra/maps/allies-07/allies07.lua317local function ClearSubActivityCompleted()
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippet
LOWlaunch-dedicated.sh4# Usage:
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippet
LOWlaunch-dedicated.sh7# Read the file to see which settings you can override
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippet
LOWOpenRA.Game/Server/OrderBuffer.cs99 // We need to check if we have a connection slower than our baseline and then use that as our offset.
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippet
LOWpackaging/format-docs.py29