So master relise will be far away from current balance adjustment. It will be fully chaotic.

Master is unbalanceable as is. Not just 'far away'. We cannot viably balance via damage because of the armor system. The only design lever were the rate of fire and the accuracy. And accuracy is gone in master, so expect the heavy cannon and the twin assault gun to have the same rate of fire in master once it is balanced.

Rommel wrote:So let me get this straight, tank armour and cyborg armour upgrades are not applied automatically to existing units? Do you need to recycle and remake to take advantage of armour upgrades?

Yes. From a quick look at some older code, it seems this is how it has always been, but maybe some old timers can chime in and verify.

Could you point me the zone in the code where this error happen ?
in 2.3
in stat.c bodyArmour() is using the upgrade and is designed to account for all bodytype
in combat.c objDamage() use a preloaded armor doe.

So I figure from what you say that this loader skip bodyArmour when loading cyborgs ?

So I think your wrong. the armour is calculated once because you need to load the propulsion, body and weapon object to make the equation. So it's save that way in the droid object.

But when bodyArmour() is called, to get the right armor for the right type of weapon, the asBodyUpgrade[player][bodyType] array is used so the upgrade is added at the last second. At least, you asked me to check in old versions...

Edit : for what I can tell, it's an error because that's what distinguish a body from a body upgrade.

Iluvalar wrote:So I think your wrong. the armour is calculated once because you need to load the propulsion, body and weapon object to make the equation. So it's save that way in the droid object.

But when bodyArmour() is called, to get the right armor for the right type of weapon, the asBodyUpgrade[player][bodyType] array is used so the upgrade is added at the last second. At least, you asked me to check in old versions...

I looked at both 2.1 and 2.3 - the bodyArmour() call is in buildDroid(), so only called on droid construction. In combat.c, where it is actually used for damage calculations, it just checks the cached value in the droid structure. On structure armour upgrade research, it upgrades each building separately, but this is not done for droid armour upgrades.

I was confused because I remembered clearly seeing the damage upgrades in the damage calculation.

On the logical side, there is no reason not to make all upgrades work the same way.
On the design side, we already have new bodies, which are visible and force the player to recycle if it was the objective.
On the balance side, I think you're ok for this change, the armor upgrades are not right now a priority. Giving it that extra buff shouldn't make it OP.

Rommel wrote:So let me get this straight, tank armour and cyborg armour upgrades are not applied automatically to existing units? Do you need to recycle and remake to take advantage of armour upgrades?

Yes. From a quick look at some older code, it seems this is how it has always been, but maybe some old timers can chime in and verify.

Wow I didn't know that - I always presumed that it was like weapon damage/rate of fire upgrades (applied to existing units). It seems strange that the invisible gremlins can't upgrade the armour the same way they do weapons lol

What about stuff like building strength and wall strength I am guessing you don't have to demolish them and then rebuild to take advantage of upgrades.

Would be nice if at least you could upgrade tank / cyborg armour by visiting a repair facility... but really if structure armour and weapon upgrades are applied automatically, shouldn't it be the same for tank/borg armour?

Moving back instead of forward
Seems to me absurd
~
Metallica - Eye of the beholder

FYI, the change to how armour works has already been applied to git master (see 01510e4dda3de00f3164b7f6722a55401f8d39cb). I looked into porting it to 3.1, as well, but the change didn't apply cleanly, and so I decided not to muck around with something that is about to release.

I just tested this in debug mode, armor upgrades are applied automatically after a unit is produced, both tank and cyborg.

To test in singleplayer, type "cheat on" then ctrl+o to place a bunch of cyborgs of your choice and time how long it takes for a twin assault gun tank to kill it. Then use alt+a to unlock everything, ctrl+o to place 5 research centers and ctrl+x to instantly finish all of the armor upgrades. Then time again how long it takes. It takes much longer after the armor upgrades even though the unit was placed before the upgrades.