Skip to content

Use new format for the balance snippets - #7204

Merged
BlackYps merged 8 commits into
developfrom
fix/balance-snippets
Aug 6, 2026
Merged

Use new format for the balance snippets#7204
BlackYps merged 8 commits into
developfrom
fix/balance-snippets

Conversation

@lL1l1

@lL1l1 lL1l1 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Description of the proposed changes

Migrates the snippets to the new format.
I didn't change the content of the snippets although I think the SACU snippet could be written better.

Testing done on the proposed changes

I don't know how to preview the generated changelog html.

Additional context

Requested from #7202
The commit descriptions include the regex I used, so I suggest reviewing by commit and checking the regex. It may also be interesting to process old changelogs with that regex.

Checklist

- [ ] Changes are annotated, including comments where useful
- [ ] Changes are documented in a changelog snippet according to the guidelines.

Summary by CodeRabbit

  • Balance Changes

    • Rebalanced SACU and Quantum Gateway costs, build times, production, upgrades, abilities, and prerequisites across all factions.
    • Adjusted several unit statistics, including Fire Beetle, Scathis, Tractor Claws, strategic bomber lift, and UEF bubble shields.
    • Added Seraphim Resource Allocation System and updated unit equipment.
  • Bug Fixes

    • Fixed weapon blueprint assignment, silo-progress exploits, target priorities, unit transfers, mod version handling, projectile attribution, and replay termination issues.
  • Documentation

    • Improved changelog formatting, clarity, and consistency across balance, fix, and tooling entries.

lL1l1 added 5 commits August 6, 2026 03:21
Regex replace:

(?<=^-)( \(.*?\))(.*?)\.?$

with

$2$1.

in

snippets/*.md

excluding

balance.*.md
Regex replace

^.*?\*\*(.*)\s\((\w{3}\d{4}).*

with

{% unit $2 %}
$1
{% endunit %}

in

snippets/*.md
Simple = didn't handle multiline like the big SACU change snippet
regex replace

^- (.*)(?:.*\n){0,3}?(\{(?:.*\n){0,3}?.*endunit %\})

with

$2
$1

in

snippets/*.md
didn't regex it because it requires variable number of replacements which vscode/regex doesn't handle
@lL1l1
lL1l1 requested a review from BlackYps August 6, 2026 10:25
@lL1l1
lL1l1 marked this pull request as ready for review August 6, 2026 10:25
@github-actions
github-actions Bot marked this pull request as draft August 6, 2026 10:26
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The PR updates changelog snippets for SACU and unit balance changes, issue fixes, maintenance changes, and standardized formatting.

Changes

Changelog updates

Layer / File(s) Summary
SACU balance changelog
changelog/snippets/balance.7141.md
The entry documents Quantum Gateway and faction-specific SACU cost, build, production, targeting, shield, and upgrade changes.
Unit balance changelog
changelog/snippets/balance.7143.md, changelog/snippets/balance.7146.md, changelog/snippets/balance.7147.md, changelog/snippets/balance.7165.md, changelog/snippets/balance.7167.md, changelog/snippets/balance.7196.md
The snippets add or reformat Fire Beetle, Galactic Colossus, Scathis, T3 sniper bot, and unit directive entries.
Fix changelog entries
changelog/snippets/fix.*
The snippets revise descriptions for blueprint, transfer, parsing, construction, version, replay, and projectile fixes.
Maintenance changelog entries
changelog/snippets/other.*
The snippets revise entries for warnings, annotations, engine behavior, API checks, file naming, and plugin diagnostics.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested labels: area: changelog management

Suggested reviewers: blackyps, rhaelya

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly states that the pull request migrates balance snippets to a new format.
Description check ✅ Passed The description covers the changes, testing status, context, and reviewer checklist, although testing details are limited.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/balance-snippets

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@lL1l1
lL1l1 marked this pull request as ready for review August 6, 2026 10:32

@coderabbitai coderabbitai Bot left a comment

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.

Actionable comments posted: 3

🤖 Prompt for all review comments with 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.

Inline comments:
In `@changelog/snippets/balance.7141.md`:
- Line 11: Update the wording in the Combatant and Rambo preset description by
replacing “high energy cost difference” with “a large difference in energy
cost,” while leaving the rest of the changelog text unchanged.
- Around line 159-163: Adjust the explanatory paragraph under “Added Resource
Allocation System” to use the same two-space list-item indentation as the
corresponding paragraph at Line 39, avoiding four leading spaces that may render
it as a code block; leave the surrounding list content unchanged.

In `@changelog/snippets/balance.7143.md`:
- Line 4: Update the changelog sentence in balance.7143.md to replace “outside
of later T3 stage” with a direct timing phrase such as “before T3 or during ACU
fights,” while preserving the rest of the Fire Beetle rebalance description.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 55b68eb4-9f93-41b5-9df0-d5a0c9cf118e

📥 Commits

Reviewing files that changed from the base of the PR and between e3add24 and e2927d5.

📒 Files selected for processing (24)
  • changelog/snippets/balance.7141.md
  • changelog/snippets/balance.7143.md
  • changelog/snippets/balance.7146.md
  • changelog/snippets/balance.7147.md
  • changelog/snippets/balance.7165.md
  • changelog/snippets/balance.7167.md
  • changelog/snippets/balance.7196.md
  • changelog/snippets/fix.6882.md
  • changelog/snippets/fix.7051.md
  • changelog/snippets/fix.7057.md
  • changelog/snippets/fix.7136.md
  • changelog/snippets/fix.7138.md
  • changelog/snippets/fix.7153.md
  • changelog/snippets/fix.7159.md
  • changelog/snippets/fix.7162.md
  • changelog/snippets/fix.7177.md
  • changelog/snippets/fix.7178.md
  • changelog/snippets/other.6882.md
  • changelog/snippets/other.7012.md
  • changelog/snippets/other.7045.md
  • changelog/snippets/other.7052.md
  • changelog/snippets/other.7155.md
  • changelog/snippets/other.7166.md
  • changelog/snippets/other.7176.md


Due to costing less, the buildpower of non-UEF SACUs is reduced (engi presets keep their buildpower). UEF keeps their buildpower because they have a weaker engineer preset, the most expensive base SACU, a T4 that struggles with pushing, and unique ravagers.

Combatant and Rambo presets are separated by a high energy cost difference and Rambos get a mass cost reduction. This allows combatants to help with a faction's early issues, while Rambos play a role in the late game by being efficient but high infrastructure cost combat units, and highly versatile engineering units that can mitigate the dominance of air and the risk of reclaim donations.

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Use a clear phrase for the energy-cost difference.

Line 11 uses high energy cost difference, which is ambiguous. Replace it with a large difference in energy cost.

Proposed wording
-Combatant and Rambo presets are separated by a high energy cost difference and Rambos get a mass cost reduction. This allows combatants to help with a faction's early issues, while Rambos play a role in the late game by being efficient but high infrastructure cost combat units, and highly versatile engineering units that can mitigate the dominance of air and the risk of reclaim donations.
+Combatant and Rambo presets have a large difference in energy cost, and Rambo presets receive a mass cost reduction. This allows combatants to help with a faction's early issues, while Rambo presets play a role in the late game by being efficient but high-infrastructure-cost combat units, and highly versatile engineering units that can mitigate the dominance of air and the risk of reclaim donations.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Combatant and Rambo presets are separated by a high energy cost difference and Rambos get a mass cost reduction. This allows combatants to help with a faction's early issues, while Rambos play a role in the late game by being efficient but high infrastructure cost combat units, and highly versatile engineering units that can mitigate the dominance of air and the risk of reclaim donations.
Combatant and Rambo presets have a large difference in energy cost, and Rambo presets receive a mass cost reduction. This allows combatants to help with a faction's early issues, while Rambo presets play a role in the late game by being efficient but high-infrastructure-cost combat units, and highly versatile engineering units that can mitigate the dominance of air and the risk of reclaim donations.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...nt and Rambo presets are separated by a high energy cost difference and Rambos get a mass c...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

🤖 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.7141.md` at line 11, Update the wording in the
Combatant and Rambo preset description by replacing “high energy cost
difference” with “a large difference in energy cost,” while leaving the rest of
the changelog text unchanged.

Source: Linters/SAST tools

Comment on lines +159 to +163
- Added Resource Allocation System:

Seraphim players have continued to struggle with the ability to build a mobile economy because the stats were balanced around the high buildpower of Seraphim SACU spam compared to other factions' RAS SACUs. Since players aren't using this, the RAS upgrade is replacing the SACU's increased base production and base cost.

- Slot: Right arm (teleport and overcharge arm)

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.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Keep the explanatory paragraph at list-item indentation.

Line 161 uses four leading spaces after a blank line. Markdown can render it as a code block instead of normal prose. Use the same two-space indentation as the explanatory paragraph at Line 39.

Proposed indentation fix
-    Seraphim players have continued to struggle with the ability to build a mobile economy because the stats were balanced around the high buildpower of Seraphim SACU spam compared to other factions' RAS SACUs. Since players aren't using this, the RAS upgrade is replacing the SACU's increased base production and base cost.
+  Seraphim players have continued to struggle with the ability to build a mobile economy because the stats were balanced around the high buildpower of Seraphim SACU spam compared to other factions' RAS SACUs. Since players aren't using this, the RAS upgrade is replacing the SACU's increased base production and base cost.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Added Resource Allocation System:
Seraphim players have continued to struggle with the ability to build a mobile economy because the stats were balanced around the high buildpower of Seraphim SACU spam compared to other factions' RAS SACUs. Since players aren't using this, the RAS upgrade is replacing the SACU's increased base production and base cost.
- Slot: Right arm (teleport and overcharge arm)
- Added Resource Allocation System:
Seraphim players have continued to struggle with the ability to build a mobile economy because the stats were balanced around the high buildpower of Seraphim SACU spam compared to other factions' RAS SACUs. Since players aren't using this, the RAS upgrade is replacing the SACU's increased base production and base cost.
- Slot: Right arm (teleport and overcharge arm)
🤖 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.7141.md` around lines 159 - 163, Adjust the
explanatory paragraph under “Added Resource Allocation System” to use the same
two-space list-item indentation as the corresponding paragraph at Line 39,
avoiding four leading spaces that may render it as a code block; leave the
surrounding list content unchanged.

{% unit XRL0302 %}
Fire Beetle: T2 Mobile Bomb
{% endunit %}
Rebalance Fire Beetle with removed cloak to make it interactable outside of later T3 stage or in ACU fights (#7143).

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Clarify the Fire Beetle timing description.

Line 4 uses outside of later T3 stage. Replace it with a direct phrase such as before T3 or during ACU fights.

Proposed wording
-Rebalance Fire Beetle with removed cloak to make it interactable outside of later T3 stage or in ACU fights (`#7143`).
+Rebalance Fire Beetle after removing its cloak so it remains interactable before T3 or during ACU fights (`#7143`).
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Rebalance Fire Beetle with removed cloak to make it interactable outside of later T3 stage or in ACU fights (#7143).
Rebalance Fire Beetle after removing its cloak so it remains interactable before T3 or during ACU fights (`#7143`).
🧰 Tools
🪛 LanguageTool

[style] ~4-~4: This phrase is redundant. Consider using “outside”.
Context: ...h removed cloak to make it interactable outside of later T3 stage or in ACU fights (#7143)...

(OUTSIDE_OF)

🤖 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.7143.md` at line 4, Update the changelog sentence
in balance.7143.md to replace “outside of later T3 stage” with a direct timing
phrase such as “before T3 or during ACU fights,” while preserving the rest of
the Fire Beetle rebalance description.

Source: Linters/SAST tools

@BlackYps

BlackYps commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

You can run the documentation website locally as explained here: https://faforever.github.io/fa/documentation
You then also have to manually copy the snippets to for example the fafdevelop changelog to preview the snippet. You will then not have hyperlinks on the PR numbers, but everything else should look like on production.
Running the regex to insert icons sounds worthwhile on some of the more recent releases. I don't think it is necessary to change the location of the PR number. The changelogs have evolved over time and it's not too bad if that is visible.

@BlackYps
BlackYps merged commit 74419dc into develop Aug 6, 2026
5 checks passed
@BlackYps
BlackYps deleted the fix/balance-snippets branch August 6, 2026 11:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants