[BUG] Bombarding defenses is having no effect?

Mithris

Chieftain
Joined
Sep 2, 2006
Messages
23
I was playing a game of this modmod (no other modmods) and enjoying the speeds and improvements quite a bit. This was until everyone in the game started going on a warpath, and I realized that bombarding the enemies cities was not reducing their fortifications.

In the screenshot below you can see several of my units bombarding the city with +190% city defense. After all of my units have bombarded it still has 190% defense. This happened a few time earlier in the game, and I go so frustrated that I entered the world builder and deleted the 3 defenders holding off my army.

Any idea what is causing this? I also noticed that if I mouseover terrain and look for who controls it, it is always 99% vs 0%, with the 99% having about a million more influence of the square than they should.

This bug is not only effecting me, as you can see that city I captured Yue-Chi didn't lose any defense (still at +140%) after being bombarded by my enemy.

Screenshot:
buggeddefense.jpg
 
I've seen it in my game too. I managed to low the Novgorod defense when it was 80%, but Moscow I couldn't, it is iced in 210%.
 
I was able to knock Tenochtitlan down to 164% from 260ish%, but then was unable to lower it any further. It actually regained defense str at a rate of ~20% per turn.

I tried to enter WB to look into the city, but had a MAF, and decided to take a break.

I haven't played RoM in a while, and am very pleased with the increased speed and stability of this modmod. Great job.

Hroth
 
I was able to knock Tenochtitlan down to 164% from 260ish%, but then was unable to lower it any further. It actually regained defense str at a rate of ~20% per turn.

I tried to enter WB to look into the city, but had a MAF, and decided to take a break.

I haven't played RoM in a while, and am very pleased with the increased speed and stability of this modmod. Great job.

Hroth
Hmm, never had that issue. Is everything you're using standard issue with RoM and AND?
 
It's a known bug and the best solution(I hate to say) is to get an extra large amount of siege units and do a straight on attack with them, then using the rest of your units to finish off the survivors. Sadly that is the best that could be done(for now).

I did it and had no result. All my catapults failed. The defenses were still in 210%.
 
It's a known bug and the best solution(I hate to say) is to get an extra large amount of siege units and do a straight on attack with them, then using the rest of your units to finish off the survivors. Sadly that is the best that could be done(for now).

No, the best solution is to get a spy and attack when the city is in a revolt incited by the spy. Might be hard to do so if a city is very big and has lots of anti-spy buildings but I think building 10 spies is easier and cheaper than building 10 siege units because they don't need a siege workshop to be built. So you can produce them in smaller cities asap. A superspy with several detection evasion promotions might also help a lot.


Btw. I have an idea about the "Bug" -

If a city has all the castle buildings - which one alone gives -50% siege damage for example - and you add up the bonusses of these, maybe at one point a castle can only be penetrated by bombards, not with catapults or trebuchets anymore, as their given damage -or their bombardment value- is not sufficient enough to outdo the bonusses of the castle improvements.

Historically, we see that during the siege of Constantinople which was only won after a huge bombard was in place, destroying the very big walls after some time. So, I see it as feature, not a bug.
 
An Update here,

I have tweaked several buildings, including my castles, and dramatically lowered their bombard defense, this bug will not occur in later releases.
 
An Update here,

I have tweaked several buildings, including my castles, and dramatically lowered their bombard defense, this bug will not occur in later releases.

So, was I right with my explanation of the "bug"?

I think of it as a nice sideeffect, as bombards ignore most of the old defensive value.
But I understand it maybe very annoying.
 
had civ running in the background causing some delays here...
 
nice double post DRJ
 
An Update here,

I have tweaked several buildings, including my castles, and dramatically lowered their bombard defense, this bug will not occur in later releases.

hmm, wouldn't it make more sense to change the 'bombard defense' behavior? i still don't see why civ simply adds all procentual values together. it's plainly stupid and incorrect! make this value an asorbtion factor - and factors multiply therefore you can never have 100% absorbtion! and independent factors alway multiply, so if you have 4 buildings with 25% bombardment damage absorbtion, so each leaves 75% of the initial damage this would be: 0.75*0.75*0.75*0.75 = 0.316... = 32% damage left over (so 68% absorbed) insted of silly 0.25+0.25+0.25+0.25 = 1 = 100% absorbtion!

i have a simular problem with the calculation of withdraw propabilities. but it seems all such values are calculated wrong in whole civ.
 
hmm, wouldn't it make more sense to change the 'bombard defense' behavior? i still don't see why civ simply adds all procentual values together. it's plainly stupid and incorrect! make this value an asorbtion factor - and factors multiply therefore you can never have 100% absorbtion! and independent factors alway multiply, so if you have 4 buildings with 25% bombardment damage absorbtion, so each leaves 75% of the initial damage this would be: 0.75*0.75*0.75*0.75 = 0.316... = 32% damage left over (so 68% absorbed) insted of silly 0.25+0.25+0.25+0.25 = 1 = 100% absorbtion!

i have a simular problem with the calculation of withdraw propabilities. but it seems all such values are calculated wrong in whole civ.

No. This has two problems. One, I don't want to change the way Firaxis modifier works, lots of things depend on them. Two, the name is BombardDefense. Not Bombard Defense Modifier. Therefore, it SHOULD be added, and is functioning correctly.
 
On point two I agree. Though looking at the original BtS code the value is called modifier internally...
Code:
pXML->GetChildXmlValByName(&m_iBombardDefenseModifier, "iBombardDefense");

On your first point: i looked through the BtS dll code and the dependency on getBombardDefenseModifier() and getBuildingBombardDefense() is rather small (checks for >0 or !=0 not counted): AI weighting a buildings value and while calculating 'changeDefenseModifier' during bombardments. so only the values siege units (iBombardRate) and defense buildings (iBombardDefense) use are affected by a modification. considering that the formulas (additive and multiplicative) should yield the same result in case that there is only a single building with a BombardDefense Modifier means only the buildings with iBombardDefense values would need a review.
the main problem to change calculation to multiplicative would be rounding errors. but with some small tricks one could avoid those.

Hmm, thinking about it it would be quite some work to do. So maybe you are right if there is no intention to add further buildings using iBombarDefense value the problem is more easily solved by just adapting the affected buildings.
 
On point two I agree. Though looking at the original BtS code the value is called modifier internally...
Code:
pXML->GetChildXmlValByName(&m_iBombardDefenseModifier, "iBombardDefense");
On your first point: i looked through the BtS dll code and the dependency on getBombardDefenseModifier() and getBuildingBombardDefense() is rather small (checks for >0 or !=0 not counted): AI weighting a buildings value and while calculating 'changeDefenseModifier' during bombardments. so only the values siege units (iBombardRate) and defense buildings (iBombardDefense) use are affected by a modification. considering that the formulas (additive and multiplicative) should yield the same result in case that there is only a single building with a BombardDefense Modifier means only the buildings with iBombardDefense values would need a review.
the main problem to change calculation to multiplicative would be rounding errors. but with some small tricks one could avoid those.

Hmm, thinking about it it would be quite some work to do. So maybe you are right if there is no intention to add further buildings using iBombarDefense value the problem is more easily solved by just adapting the affected buildings.

Yeah, I looked at the code and saw that it was named BombardDefenseModifier internally right after I posted that. :mischief:

Adapting the buildings is much simpler than re-writing Firaxis tags, which is generally considered taboo.
 
I deleted Castles because of that bug discussed above.

But it seems like it isn't Castles fault or maybe not entirely because I still get this:
 
Back
Top Bottom