Changing how armour upgrades work
Re: Changing how armour upgrades work
In the Warzone ecosystem, the only way code gets thoroughly tested is in a release version.
This might change balance, but it is the way we want the code to work. As said above, we need data.
If we have messed it up, we can fix it. Release early. Release often.
This might change balance, but it is the way we want the code to work. As said above, we need data.
If we have messed it up, we can fix it. Release early. Release often.
Re: Changing how armour upgrades work
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.crab_ wrote:Agreed.Terminator wrote:I would say - apply this patch to up coming 3.1.3.
So master relise will be far away from current balance adjustment. It will be fully chaotic.
Heretic 2.3 improver and proud of it.
Re: Changing how armour upgrades work
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?
Moving back instead of forward
Seems to me absurd
~
Metallica - Eye of the beholder
Seems to me absurd
~
Metallica - Eye of the beholder
Re: Changing how armour upgrades work
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.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?
Re: Changing how armour upgrades work
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 ?
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 ?
Heretic 2.3 improver and proud of it.
Re: Changing how armour upgrades work
I think nobody has so far claimed that this is an error. It might have been intentional, hard to tell.Iluvalar wrote:Could you point me the zone in the code where this error happen
That's certainly not what I said.Iluvalar wrote:So I figure from what you say that this loader skip bodyArmour when loading cyborgs ?
Re: Changing how armour upgrades work
I think that the game behaviour as is, is deliberate.
Re: Changing how armour upgrades work
Oh.. you didn't meant cyborg but ALL droids. Ok I get it.
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.
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.
Heretic 2.3 improver and proud of it.
Re: Changing how armour upgrades work
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.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...
Re: Changing how armour upgrades work
Allright, you're right i was reading the spaggethi code upside down.
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.
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.
Heretic 2.3 improver and proud of it.
Re: Changing how armour upgrades work
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 lolPer wrote: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.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?
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
Seems to me absurd
~
Metallica - Eye of the beholder
Re: Changing how armour upgrades work
That's it in a nutshell. It's the way we want the game to work.. but really if structure armour and weapon upgrades are applied automatically, shouldn't it be the same for tank/borg armour?
Game objects get handled consistently.
It's the future! We have nanotechnology.
It emphasized the value of research.
Re: Changing how armour upgrades work
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.
Re: Changing how armour upgrades work
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.
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.