Skip to content

Add v1.10 campaign balance mod#4853

Open
KJeff01 wants to merge 1 commit intoWarzone2100:masterfrom
KJeff01:pump2
Open

Add v1.10 campaign balance mod#4853
KJeff01 wants to merge 1 commit intoWarzone2100:masterfrom
KJeff01:pump2

Conversation

@KJeff01
Copy link
Member

@KJeff01 KJeff01 commented Feb 28, 2026

This is stat mod of Classic, the stats are all the same aside from the research file and the tweaks to get it working are very minimal elsewhere. So far I have it named as Pumpkin balance due to no other ideas. Everything was observed during my pc release run in January.

Custom tweak options can now be set as editable which I used to create a permanently hidden tweak option to identify this mod as a proof of concept. AFAIK, the source doesn't support custom descriptions for built-in original campaign, just the hardcoded description, so that's something pastdue should fix eventually.

This PR seems to work but it's possible I missed something in the source since adding original campaign mods isn't as easy as dropping in addon campaigns.


The main differences are:

  • reloadTime research actually had zero effect due to the source code only considering a weapon's base value. So this means Slow Rockets and Missiles are running at base values all the time. Plus whatever else uses reloadTime (such as the Cyclone).
  • ROF starts getting increasingly and randomly soft capped above values of 120 (by means of random delays) in the design menu and hard capped at 300. Mainly affects some MGs, MG AA weapons, MRP weapons, and some bombs. I attempted to calculate the average ROF considering the worst delay streaks on a per tick basis and added a small positive offset, which kept them within the v1.10 reality very well.
  • Slow Rockets (Lancer, Bunker Buster, Tank Killer, Ripple Rockets and the like) essentially don't have any research applied to them aside from accuracy because the damage upgrades do nothing for them as well.
  • Armor, Damage, and ROF is more accurate than Classic for tanks and VTOLs (cyborgs and structures can not be observed for their values--so will remain slightly inaccurate). So much so that only a single rounding error on VTOL HVC damage is present for a few missions that I wasn't able to get rid of.
  • Trying to be as accurate as possible, the Beta 6 power upgrade will now once again downgrade your power gain rate by half of what you got from the Alpha 2 power module upgrade topic.

There is a rumor I saw on the forums that the game was patched and released with a broken set of rocket stats after some patch, so that may explain why Slow Rockets basically get no upgrades at all to damage. Just a rumor mind you--if that's not the case then yet another campaign mode can be added later. The reloadTime bug is definitely from the source code only looking at the base value instead of the upgraded values (there is a commit fixing this around the very end of 2007).

Accurate to v1.10, this campaign stat mod is more accurate than Classic in regards to:
Armor, damage, and ROF by the end of every mission. Many research topics tweak rewards to correct off-by-one issues (or greater) per component.

I was not able to see structure or cyborg related stats, so they will have to potentially live with small differences.

The main differences are:
- reloadTime research changes never had any effect since the source itself only considered the base value (in effect, no ROF upgrades for rockets/missiles and anything that uses reloadTime).
- All Rockets (including their artillery variants) are generally much weaker due to damage upgrades having zero to barely any effect. Curiously, Missiles benefit from damage upgrades.
- Any weapon that goes above 120 ROF would randomly fail to fire due to intentional delays, with the max ROF actually being 300 as a result (5 bullets per second).
- As per the above, that means MGs, MRP, AA machineguns, HEAP bomb, and Phosphor bomb fire at an unstable rate past 120. So, an average ROF target was calculated and then increased by an offset to recreate v1.10 in-game behavior more closely while staying under 5 bullets per second.

To further increase the accuracy of this mod the following can be followed up on:
- 3.2.x changed HP calculations so some designs are either accurate enough or hundreds of points different.
- Speed related properties appear to be very different.
- See if previous v1.x releases have differences compared to this.
@KJeff01 KJeff01 added this to the 4.6.4 milestone Feb 28, 2026
@aubergineagain
Copy link
Contributor

Is this .in filename extension intentional? data/mods/campaign/wz2100_campumpkin/mod-info.json.in

Comment on lines +6 to +7
"minVersionSupported": "@MODINFO_LATEST_VERSION@",
"maxVersionTested": "@MODINFO_LATEST_VERSION@",
Copy link
Contributor

Choose a reason for hiding this comment

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

Are these @ values intentional?

@KJeff01
Copy link
Member Author

KJeff01 commented Mar 1, 2026

It's like that as the cmake files in data/mods treats those .json.in mod files as an input template to auto-generate a new mod file automatically updated with the latest supported version when building. At least that's what I understand at a glance. You can ask pastdue about it more if you want.

@past-due
Copy link
Member

past-due commented Mar 1, 2026

It's like that as the cmake files in data/mods treats those .json.in mod files as an input template to auto-generate a new mod file automatically updated with the latest supported version when building. At least that's what I understand at a glance. You can ask pastdue about it more if you want.

Yep - to avoid having to remember to manually update certain version fields for these bundled campaign mods, we use template files plus the CMake scripts to properly set certain values when building the WZ packages.

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