Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog/snippets/balance.7102.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- (#7102) Increase Sparky Field Engineer build distance from 5->6 (matching other t2 engineers).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

# First, find the changelog directory and list snippet files
find . -type d -name "changelog" | head -20

Repository: FAForever/fa

Length of output: 110


🏁 Script executed:

# Look at the structure and naming pattern of changelog snippets
if [ -d "changelog/snippets" ]; then
  echo "=== Changelog snippets directory found ==="
  ls -la changelog/snippets/ | head -30
  echo ""
  echo "=== Sample of snippet filenames ==="
  ls changelog/snippets/*.md | head -20
fi

Repository: FAForever/fa

Length of output: 1120


🏁 Script executed:

# Search for any documentation or README about changelog naming
find . -type f \( -name "*.md" -o -name "*.txt" \) | xargs grep -l "changelog.*snippet" -i | head -10

Repository: FAForever/fa

Length of output: 844


🏁 Script executed:

# Check the actual file in question
if [ -f "changelog/snippets/balance.7102.md" ]; then
  cat changelog/snippets/balance.7102.md
fi

Repository: FAForever/fa

Length of output: 153


🏁 Script executed:

# Check the documentation about changelog snippet naming
cat docs/development-changelog/balance-snippet.md

Repository: FAForever/fa

Length of output: 1453


🏁 Script executed:

# Check if there's a pull request template or issue template that clarifies this
cat .github/pull_request_template.md

Repository: FAForever/fa

Length of output: 1207


🏁 Script executed:

# Search for any README or documentation that explains the changelog structure
find . -maxdepth 3 -type f -name "README*" -o -name "CHANGELOG*" | xargs cat 2>/dev/null | grep -A 5 -B 5 "snippet\|7102\|7103" -i | head -50

Repository: FAForever/fa

Length of output: 2123


🏁 Script executed:

# Look for a git history or commit that might reference the PR number
# Check if this relates to issue vs PR
git log --oneline --all | grep -i "7102\|7103\|sparky\|field engineer" | head -20

Repository: FAForever/fa

Length of output: 427


The changelog snippet filename and PR reference must match the correct PR number per FAF's naming convention.

The FAF documentation specifies that changelog snippet files should be named balance.<PR Number>.md with content referencing (#<PR Number>). The current file is named balance.7102.md with (#7102) in the content. If this PR is #7103, both the filename and the content reference must be updated to balance.7103.md and (#7103) respectively.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@changelog/snippets/balance.7102.md` at line 1, The changelog snippet filename
and PR reference are inconsistent with the actual PR number; rename the file
from balance.7102.md to balance.7103.md and update the snippet content to
replace "(`#7102`)" with "(`#7103`)" so both the filename and the internal PR
reference match PR `#7103` (ensure the header and any in-file references use
7103).

31 changes: 16 additions & 15 deletions units/XEL0209/XEL0209_unit.bp
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
UnitBlueprint{
UnitBlueprint {
Description = "<LOC uel0209_desc>Field Engineer",
AI = { GuardScanRadius = 8 },
Audio = {
AmbientMove = Sound { Bank = 'XEL', Cue = 'XEL0209_Move_Loop', LodCutoff = 'UnitMove_LodCutoff' },
CaptureLoop = Sound { Bank = 'XEL', Cue = 'XEL0209_Capture_Loop', LodCutoff = 'UnitMove_LodCutoff' },
Construct = Sound { Bank = 'XEL', Cue = 'XEL0209_Construct_Start', LodCutoff = 'UnitMove_LodCutoff' },
ConstructLoop = Sound { Bank = 'XEL', Cue = 'XEL0209_Construct_Loop', LodCutoff = 'UnitMove_LodCutoff' },
Destroyed = Sound { Bank = 'UELDestroy', Cue = 'UEL_Destroy_Sml_Land', LodCutoff = 'UnitMove_LodCutoff' },
HoverKilledOnWater = Sound { Bank = 'Explosions', Cue = 'Expl_Water_Lrg_01', LodCutoff = 'UnitMove_LodCutoff' },
ReclaimLoop = Sound { Bank = 'XEL', Cue = 'XEL0209_Reclaim_Loop', LodCutoff = 'UnitMove_LodCutoff' },
StartCapture = Sound { Bank = 'XEL', Cue = 'XEL0209_Capture_Start', LodCutoff = 'UnitMove_LodCutoff' },
StartMove = Sound { Bank = 'XEL', Cue = 'XEL0209_Move_Start', LodCutoff = 'UnitMove_LodCutoff' },
StartReclaim = Sound { Bank = 'XEL', Cue = 'XEL0209_Reclaim_Start', LodCutoff = 'UnitMove_LodCutoff' },
StopMove = Sound { Bank = 'XEL', Cue = 'XEL0209_Move_Stop', LodCutoff = 'UnitMove_LodCutoff' },
UISelection = Sound { Bank = 'Interface', Cue = 'UEF_Select_Vehicle', LodCutoff = 'UnitMove_LodCutoff' },
AmbientMove = Sound { Bank = 'XEL', Cue = 'XEL0209_Move_Loop', LodCutoff = 'UnitMove_LodCutoff' },
CaptureLoop = Sound { Bank = 'XEL', Cue = 'XEL0209_Capture_Loop', LodCutoff = 'UnitMove_LodCutoff' },
Construct = Sound { Bank = 'XEL', Cue = 'XEL0209_Construct_Start', LodCutoff = 'UnitMove_LodCutoff' },
ConstructLoop = Sound { Bank = 'XEL', Cue = 'XEL0209_Construct_Loop', LodCutoff = 'UnitMove_LodCutoff' },
Destroyed = Sound { Bank = 'UELDestroy', Cue = 'UEL_Destroy_Sml_Land', LodCutoff = 'UnitMove_LodCutoff' },
HoverKilledOnWater = Sound { Bank = 'Explosions', Cue = 'Expl_Water_Lrg_01', LodCutoff = 'UnitMove_LodCutoff' },
ReclaimLoop = Sound { Bank = 'XEL', Cue = 'XEL0209_Reclaim_Loop', LodCutoff = 'UnitMove_LodCutoff' },
StartCapture = Sound { Bank = 'XEL', Cue = 'XEL0209_Capture_Start', LodCutoff = 'UnitMove_LodCutoff' },
StartMove = Sound { Bank = 'XEL', Cue = 'XEL0209_Move_Start', LodCutoff = 'UnitMove_LodCutoff' },
StartReclaim = Sound { Bank = 'XEL', Cue = 'XEL0209_Reclaim_Start', LodCutoff = 'UnitMove_LodCutoff' },
StopMove = Sound { Bank = 'XEL', Cue = 'XEL0209_Move_Stop', LodCutoff = 'UnitMove_LodCutoff' },
UISelection = Sound { Bank = 'Interface', Cue = 'UEF_Select_Vehicle', LodCutoff = 'UnitMove_LodCutoff' },
},
AverageDensity = 1040,
BuildIconSortPriority = 15,
Expand Down Expand Up @@ -139,6 +139,7 @@ UnitBlueprint{
"BUILTBYTIER2ENGINEER INTELLIGENCE UEF",
"BUILTBYTIER1ENGINEER FACTORY UEF",
},
MaxBuildDistance = 6,
MaintenanceConsumptionPerSecondEnergy = 15,
StorageEnergy = 200,
StorageMass = 30,
Expand Down Expand Up @@ -261,7 +262,7 @@ UnitBlueprint{
RackSalvoSize = 1,
RackSlavedToTurret = false,
RangeCategory = "UWRC_DirectFire",
RateOfFire = 10/5, --10/integer interval in ticks
RateOfFire = 10 / 5, --10/integer interval in ticks
SlavedToBody = false,
TargetPriorities = {
"MOBILE",
Expand Down Expand Up @@ -291,4 +292,4 @@ UnitBlueprint{
ReclaimTimeMultiplier = 1,
WreckageLayers = { Land = true },
},
}
}
Loading