Problem with Air Strike

Lord N.

Chieftain
Joined
Nov 1, 2006
Messages
87
Location
In front of the computer screen
Hello!

It looks like I have a great problems with Air strikes, with all types of air units.
Sometimes I just can't attack enemy units.

The strangest thing was, I was conducting a series of air strikes against the Indian city garrisoned by a few mech infantry and 1 worker. After 3 or 4 strikes, the worker appeared on top of a city and I couldn't attack with any air unit (the infantry units were still alive). Next turn - the same story. After a few attacks, the worker comes, and no more attacks :confused:

Could this be a bug, or just a corrupted game?
I have Civ 4 with the latest patch.
 
Lord N. said:
Hello!

It looks like I have a great problems with Air strikes, with all types of air units.
Sometimes I just can't attack enemy units.

The strangest thing was, I was conducting a series of air strikes against the Indian city garrisoned by a few mech infantry and 1 worker. After 3 or 4 strikes, the worker appeared on top of a city and I couldn't attack with any air unit (the infantry units were still alive). Next turn - the same story. After a few attacks, the worker comes, and no more attacks :confused:

Could this be a bug, or just a corrupted game?
I have Civ 4 with the latest patch.
you cant get it below a certain percent i think its 50%
 
That makes air strike missions pretty much useless, if you can't sink anything with your airplanes :sad:

I agree. It's easily modded to change this though.

If you're interested let me know and I'll provide more details.
 
Not really useless, methinks. You bomb the defense % down, bomb the defenders, then send in the gunships to wipe them out! :ar15:
 
Alulim of Eridu said:
Not really useless, methinks. You bomb the defense % down, bomb the defenders, then send in the gunships to wipe them out! :ar15:
It is OK if we are talking about striking a land unit, but it is not very realistic that an airplane (or a group of them) cannot sink a ship!
 
That makes some sense. A group of fighter-bombers (thinking WW2 era) cannot really 'wipe out' an infantry unit, although they can supress them and degrade there ability to move and fight to a limited degree. And in history we rarely saw airpower used against animal-mounted cavalry, as the two 'technologies' eclipsed each other for the most part.

However, airpower has a much greater effect on vehicular units such as armored units and mech infantry - the targets are larger and thus more difficult to hide, and easier to hit. Each hit has a much greater effect on the combat worthiness of the unit (compared to leg infantry). And since an armored unit's mobility is at least as important as it's weapons systems, attacking such a unit with airpower can be very effective.

Naval targets follow the same idea, but even more so. There is no place to run or hide. Airpower has and should be able to interdict and sink ships. You cannot play a 'Battle of Midway' in CivIV because of the above-mentioned game mechanic regarding airpower.

The way Civ limits the effect of airpower is making it not possible to attack a ground or naval unit after that unit has been damaged below a certain pre-set level (as also mentioned above). From the game designer point of view, that's a clever mechanic and not at all unrealistic - although the 'damage level limit' needs to be adjusted for various types of targets.

What would be a nice, realistic fix would be to have this limit set high for foot units, a bit lower for horse units, even lower still for armored units, and to zero for naval unit (so that ships could be sunk). I haven't got into Civ modding (yet - although I may as I get deeper into the game), is there a way to set this 'damage level limit' by type of target?
 
Chazcon said:
What would be a nice, realistic fix would be to have this limit set high for foot units, a bit lower for horse units, even lower still for armored units, and to zero for naval unit (so that ships could be sunk). I haven't got into Civ modding (yet - although I may as I get deeper into the game), is there a way to set this 'damage level limit' by type of target?
Good idea!
 
Chazcon said:
What would be a nice, realistic fix would be to have this limit set high for foot units, a bit lower for horse units, even lower still for armored units, and to zero for naval unit (so that ships could be sunk). I haven't got into Civ modding (yet - although I may as I get deeper into the game), is there a way to set this 'damage level limit' by type of target?

Quite possibly yes. It is possible to set the damage limit by domain (it's an SDK mod though), so ships can be sunk but land units not destroyed (it's part of the mod I'm running).

I'm still a relative novice to SDK modding but thanks to PeteT who helped with my mod idea I've learnt a lot more. I'll do my best to try to explain some of the changes needed.

Lord N,

I notice from your first post you're running Civ4 vanilla, I'm running Warlords so unfortunately my SDK code will be different. Do you have any experience with modding Civ4 using the SDK? I'll see if I can still download the old SDK.
 
What Lord Olleus is suggesting is the best way as this would allow the values to be changed easily, I'm still only learning so the changes in my game are still hard coded into the SDK.

As some background info the values of interest which limit air units damage are:

in XML:

CIV4UnitInfos.XML -> iAirCombatLimit; this number is the total max damage an air unit can do, the default is 50, ie 50% damage limit.

GlobalDefines.XML -> AIR_COMBAT_DAMAGE; this number seems to limit the amount of damage air units do per turn, the default is 30, I assume this means they are only doing 30% of their max possible damage per turn.

in SDK:

CvUnit.cpp; CvPlot.cpp; CvUnitAI.cpp

these file all have references to airCombatLimit(), which is the iAirCombatLimit number from the XML files.

By changing the iAirCombatLimit number (in XML) to 100, air units can destroy all units.

My current game has the following lines added to CvPlot.cpp:

Code:
if (pLoopUnit->getDomainType() == DOMAIN_SEA)
{
    iAirLimit = pAttacker->airCombatLimit()+50;
what this does is add 50 to iAirCombatLimit if the unit being attacked is a sea unit, this allow the unit to be destroyed. It's not quite as sophisticated as what Lord Olleus is suggesting but serves my purposes.
 
It should be possible to make it call the XML for the values, thereby making it easily tweakable later. you could also just have it check against individual units if you wanted even more flexibility, though defining the values for all the units would be a bit of a hassle.
 
cf_nz said:
Lord N,

I notice from your first post you're running Civ4 vanilla, I'm running Warlords so unfortunately my SDK code will be different. Do you have any experience with modding Civ4 using the SDK? I'll see if I can still download the old SDK.
No, unfortunately I don't have any SDK modding experience, but I am familiar with C (and the code posted above looks like C to me :cool: ).
But I'd rather try to change the xml than messing with SDK!
 
Lord N. said:
No, unfortunately I don't have any SDK modding experience, but I am familiar with C (and the code posted above looks like C to me :cool: ).
But I'd rather try to change the xml than messing with SDK!

In which case you're limited to all or nothing.

Change the value for iAirCombatLimit in CIV4UnitInfos.XML from 50 to 100 for each of the air units, they will then be able to destroy all units.

Messing with the SDk is fun :).
 
cf_nz said:
In which case you're limited to all or nothing.

Change the value for iAirCombatLimit in CIV4UnitInfos.XML from 50 to 100 for each of the air units, they will then be able to destroy all units.

I think I'll just do that. And while I'm modding, I could lower Transporter's strenght to, say, 2 or 3. I almost fell from my chair laughing when I saw an enemy transporter going after my damaged destroyer (and sunk her!).
Messing with the SDk is fun :).
I agree, all programing is fun - if you have plenty of time :cool:
 
Lord N. said:
I think I'll just do that. And while I'm modding, I could lower Transporter's strenght to, say, 2 or 3. I almost fell from my chair laughing when I saw an enemy transporter going after my damaged destroyer (and sunk her!).

You could change the bOnlyDefensive tag in CIV4UnitInfos.XML, make them defensive only like machine guns, at least that way they won't get killed by caravels.
 
cf_nz said:
You could change the bOnlyDefensive tag in CIV4UnitInfos.XML, make them defensive only like machine guns, at least that way they won't get killed by caravels.
Thanks for the advice, I appreciate it!

But don't you think that a caravel would sink a modern day transport if they met in the real world? :D

Seriously now, I'm considering making transport defend only, with strength lowered to 8. That way the only wooden ship able to sink it would be a frigate. What do you think?
 
Lord N. said:
Thanks for the advice, I appreciate it!

But don't you think that a caravel would sink a modern day transport if they met in the real world? :D

Interesting point, never thought about it, I guess it might.
 
Back
Top Bottom