Skip to content

bugfix: China Artillery shells can no longer destroy each other#140

Open
Stubbjax wants to merge 1 commit into
TheSuperHackers:mainfrom
Stubbjax:fix-artillery-shells-damaging-each-other
Open

bugfix: China Artillery shells can no longer destroy each other#140
Stubbjax wants to merge 1 commit into
TheSuperHackers:mainfrom
Stubbjax:fix-artillery-shells-damaging-each-other

Conversation

@Stubbjax

@Stubbjax Stubbjax commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Summary

This change prevents the shells fired by China's Artillery Barrage special power from destroying each other, which would lead to variable damage yields and unpredictable outcomes.

Damage is now always identical (and up to 20% higher) as a result, with only the individual locations of each shell impact being random. This fix reduces the likelihood of scenarios where 1 or 2 Oil Derricks survive a level 3 Artillery Barrage.

Details

Shell impact distribution is random (as defined by the WeaponErrorRadius field in the barrage OCLs) and does not follow any predefined ScatterTarget coordinates like the SCUD Storm or Rocket Pods weapons. This means that it is possible for the strike to do significantly less damage depending on how many shells simultaneously strike the same location.

The average shell loss varies with each level, and increases as more shells are fired. Damage output was measured 15 times at each level before the fix and 3 times at each level after the fix. Actual damage always equals max damage after the fix. This is represented in the table below.

Level Shells Fired Max Damage Shell Loss Actual Damage Percentage Loss
1 12 1,260 0 - 1 1,155 - 1,260 0% - 8%
2 24 2,520 0 - 2 2,310 - 2,520 0% - 8%
3 36 3,780 0 - 7 3,045 - 3,780 0% - 20%

Rationale

Ideally the better player wins a match through superior strategy and execution. Uncontrolled random elements prevent players from reliably calculating risk and reward, and can arbitrarily reward mistakes or punish optimal play, making outcomes feel unearned.

A player's Oil Derricks randomly surviving on Defcon 6 can be the difference between winning and losing. It is unsatisfying if match outcomes hinge on luck.

Testing

Before

Oil Derricks often survive from a level 3 Artillery Barrage on Defcon 6

BEFORE.mp4

After

Oil Derricks are less likely to survive a level 3 Artillery Barrage on Defcon 6

AFTER.mp4

@Stubbjax Stubbjax self-assigned this Jul 11, 2026
@Stubbjax Stubbjax added Bug Something isn't working Buff Makes a thing more powerful China Affects China faction Controversial Is controversial Minor Severity: Minor < Major < Critical < Blocker ZH Relates to Zero Hour ★ Committee 2026 ★ Approved by the 2026 elected Game Design Committee labels Jul 11, 2026

@xezon xezon left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Fix missing for Generals.

@xezon xezon added Major Severity: Minor < Major < Critical < Blocker and removed Minor Severity: Minor < Major < Critical < Blocker labels Jul 12, 2026
@Stubbjax
Stubbjax force-pushed the fix-artillery-shells-damaging-each-other branch from 98ade06 to 6269d0a Compare July 14, 2026 14:10
@xezon

xezon commented Jul 14, 2026

Copy link
Copy Markdown

INI doc would have been nice.

@Stubbjax

Copy link
Copy Markdown
Contributor Author

INI doc would have been nice.

I have added substantial doc to the PR description.

@xezon

xezon commented Jul 14, 2026

Copy link
Copy Markdown

Is substantial indeed. Percentage loss does not properly correlate with the damage value ranges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Buff Makes a thing more powerful Bug Something isn't working China Affects China faction ★ Committee 2026 ★ Approved by the 2026 elected Game Design Committee Controversial Is controversial Major Severity: Minor < Major < Critical < Blocker ZH Relates to Zero Hour

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants