Resource icon

C3X: EXE Mod including Bug Fixes, Stack Bombard, and Much More Release 23

-Defenseless units ... can be stealth bombarded, and ... die.
I forget where I first encountered this, but I've seen normal bombardment take out non-combat units too. I expect it's similar to attacking a tile where the last defender is a king unit: the battle logic cycles the workers first, but since you can't move into the tile, they're killed instead of captured. I think it was the Mesoamerica scenario I learned the hard way that stealth-attacking a civvie stack would kill whichever unit was targeted.

On a somewhat-related note, I just had an idea for a feature: ignoring tech prereqs/build availability for capturing non-combat units. Anything with a pop cost is converted into slave workers, but otherwise 0-DEF units like artillery are destroyed if the civ can't build them (lacks the tech and/or 'Available to' flag). I've been working on a scenario where one civ's UU is a worker without pop cost, and for the longest time I didn't understand why they kept dying instead of surrendering. :crazyeye:
 
:yup: ... and when attacked by a 1 MV unit, the 2 MV CCM workers can escape.

I don't know if it's been addressed yet in this thread, but does C3X prevent the sub bug against invisible hidden nationality units? In CCM, you also see workers suicide themselves against invisible HN units. Does the Flintlock patch stop this?

I forget where I first encountered this, but I've seen normal bombardment take out non-combat units too.

You probably can see it in that long forgotten game: unmodded Civ 3, where normal bombers can do this with regular bombing.
 
[...], but at present I don´t have so much time to play Civ 3, due to RL reasons, to say that this is stopped.
This is why I've said, for all these many years, that I prefer, "Surreal Reality."

:D
 
is this bug also on the list?
 
is this bug also on the list?
Have you guys had a look at https://forums.civfanatics.com/threads/fix-for-the-barbarians-sort-of.100704/ ?
 
Flintock, do you think it would be possible to start a game with units performing actions? I am thinking of units starting out on intercept missions or fortified, but I suppose this could be extrapolated to things like worker actions and such.
 
-Defenseless units like catapults and workers have hit points. Not sure if this has been verified before but I've long suspected this. They can be stealth bombarded, and will have that little percussion sound when they are hit, but of course have no hit point bar.
Good catch, I would consider this a bug. My intention was that stealth bombard would obey the same rules as regular bombardment except for allowing players to choose targets. The logic for stealth bombard is supposed to only offer up targets that could be damaged normally, so that's why it respects rules for lethal bombard and airbases, etc. I reused a function I wrote for stack bombard to determine what could be damaged so this makes me wonder if there's a bug there too regarding bombardment of defenseless units. Probably not though since someone should have noticed it by now.
is this bug also on the list?
It is. I looked into it a long time ago but didn't make any progress. It shouldn't be too difficult to solve since there isn't much barbarian AI logic to comb through, but I haven't made it a priority.
Flintock, do you think it would be possible to start a game with units performing actions? I am thinking of units starting out on intercept missions or fortified, but I suppose this could be extrapolated to things like worker actions and such.
The hard part here would be figuring out a way for modders to specify what units are supposed to start with what actions. Actually making the units do those actions would be the easy part. The game has a procedure called Unit::set_state that covers everything you mentioned: fortifying, intercepting, and working tiles. I could insert a bit of code that runs after a scenario is loaded and sets some units into whatever states they ought to be in. The problem is it would need to know what units and what states. It would be way too awkward to read that from the config file. Ideally that sort of thing could be set through the editor somehow but I wouldn't know how to do that if it's even possible.
 
I figured that if such a thing were possible, it would have to be spelled out in the text file ahead of time. But of course, the config file applies to the whole game and not just a particular mod that gets loaded up. I noticed that if you put a separate config file in the mod text folder, the game will still use the main one. The intercepting is what I would be most interested in, although I understand that it may just not be possible to set up.

As far as the stealth bombarding goes, those were just observations, just so you know I wasn't trying to add more things to the pile. As far as I'm concerned it is working fine.
 
How is everybody else implementing "resource" buildings? Say I want to add Timber as a resource, then a Lumber Mill to convert Timber into Lumber, which would then be required for later wooden ships, or a Steel Foundry that converts Coal and Iron into Steel, which in turn would be required for industrial/modern era units. I keep going back and forth between whether they should be improvements or small wonders. I am thinking as improvements, the new resource would be too prevalent. Thoughts?
 
I've been thinking how to implement it in my own projects, and my main issues are: 1) curbing oversupply, and 2) addressing logistical evolution.

For 1), an easy answer is to limit resource converters to _x number of cities by adding a dummy prereq improvement (think SAM batteries and SDI), thereby keeping production proportionate to civ size. This means, of course, that there's a minimum threshold to be able to actually build these improvements, so city-states &c. are SOL.

The alternative is to require the input resource be local, but this brushes up against 2) as modern transportation networks eliminate the need for local manufactories (and indeed, much of today's hi-tech industry requires drawing in supplies from all over the world). Now, while it's technically possible to replace localized resource converters with broader-scale city-capped plants as per 1) by making the old improvements obsolete, this would cause a disruption in the interval it takes to get the new improvements online.

Making converters small wonders à la Ironworks is a fairly clean compromise between both, though this in turn would limit every civ to a maximum set output, regardless of actual potential (and put the empire's entire supply line on a single point of failure)..

Now, if Flintlock is feeling daring, a solution to the production gap outlined in 2) is to add functionality for dynamic replacement flags like what is currently used for power plants. This would then enable 'phasing out' local converters with the geo-unrestricted improvements before they go obsolete.
 
I figured that if such a thing were possible, it would have to be spelled out in the text file ahead of time. But of course, the config file applies to the whole game and not just a particular mod that gets loaded up. I noticed that if you put a separate config file in the mod text folder, the game will still use the main one. The intercepting is what I would be most interested in, although I understand that it may just not be possible to set up.
The problem with using the config is you'd need some way to refer to units textually. Simply using an object's name works fine for building/unit types, resources, and technologies, but I'm guessing no one's going to want to give each unit a unique name so they can be referred to in the config. The best way to do this would probably be to take in some simple rules like apply some state to all units of some type, or to all units of some type on some tile, or all of some type in any city, etc. This is another place where Lua scripting would be useful. If C3X let you run a little script after the scenario loads, you do this kind of setup there and wouldn't need a bunch of knobs and dials in the mod itself.

Also, it is possible to have config files that apply only to a particular scenario. The file must be named scenario.c3x_config.ini and be placed inside the scenario's main folder (not its Text folder). The mod will load that config when the scenario is loaded and layer any options included in it on top of the ones in the default config, which was loaded before. You can verify that the scenario config has been loaded by clicking the mod info button on the top right of the preferences screen when in game.
 
I've been thinking how to implement it in my own projects, and my main issues are: 1) curbing oversupply, and 2) addressing logistical evolution.

For 1), an easy answer is to limit resource converters to _x number of cities by adding a dummy prereq improvement (think SAM batteries and SDI), thereby keeping production proportionate to civ size. This means, of course, that there's a minimum threshold to be able to actually build these improvements, so city-states &c. are SOL.

The alternative is to require the input resource be local, but this brushes up against 2) as modern transportation networks eliminate the need for local manufactories (and indeed, much of today's hi-tech industry requires drawing in supplies from all over the world). Now, while it's technically possible to replace localized resource converters with broader-scale city-capped plants as per 1) by making the old improvements obsolete, this would cause a disruption in the interval it takes to get the new improvements online.

Making converters small wonders à la Ironworks is a fairly clean compromise between both, though this in turn would limit every civ to a maximum set output, regardless of actual potential (and put the empire's entire supply line on a single point of failure)..

Now, if Flintlock is feeling daring, a solution to the production gap outlined in 2) is to add functionality for dynamic replacement flags like what is currently used for power plants. This would then enable 'phasing out' local converters with the geo-unrestricted improvements before they go obsolete.
I think one possible solution is to have a number of duplicate buildings:
One small wonder without a requirement, to allow small civs to build the resource converter and prevent big civs from putting it everywhere
And then further small wonders with a "dummy prereq improvement" as you put it in increasing intervals. I.e. the first of these requires 8 of that building, the second 20, the third 36, the fourth 56 and so on (though 5 buildings in total is probably enough). The major downside of this is of course that you clog up the building list with duplicates. :/
 
How is everybody else implementing "resource" buildings? Say I want to add Timber as a resource, then a Lumber Mill to convert Timber into Lumber, which would then be required for later wooden ships, or a Steel Foundry that converts Coal and Iron into Steel, which in turn would be required for industrial/modern era units. I keep going back and forth between whether they should be improvements or small wonders. I am thinking as improvements, the new resource would be too prevalent. Thoughts?
SW generated resource means you have to connect that SW city to have the others be able to build. That means it limits all civs to 1 source of that strat res. Improvement generated means you can theoretically build them in all your cities and not have to connect at all. But if the improvement is expensive this could confuse the AI and makes it build them redundantly.
 
The problem with using the config is you'd need some way to refer to units textually. Simply using an object's name works fine for building/unit types, resources, and technologies, but I'm guessing no one's going to want to give each unit a unique name so they can be referred to in the config. The best way to do this would probably be to take in some simple rules like apply some state to all units of some type, or to all units of some type on some tile, or all of some type in any city, etc. This is another place where Lua scripting would be useful. If C3X let you run a little script after the scenario loads, you do this kind of setup there and wouldn't need a bunch of knobs and dials in the mod itself.

Speaking for myself, I have no problem creating unique names for all units pre-placed on the map and then individually entering them in a text file. :) Although some scripting would be helpful.
 
Perhaps this has already been addressed, but when one of my cities completes a unit or improvement, the computer has a default build. In my experience, the computer rarely (never?) defaults to what I would like to produce.

Is it possible to define a default build that is different from the existing default?
 
Perhaps this has already been addressed, but when one of my cities completes a unit or improvement, the computer has a default build. In my experience, the computer rarely (never?) defaults to what I would like to produce.

Is it possible to define a default build that is different from the existing default?

There's two options which already exist in the Civ3 Preferences screen (ctrl+p)

"Ask for Build Orders After Unit Construction" in the Game section will prompt you when it has finished building a unit instead of automatically starting on whatever it decides needs building.

"Always Build Previously Built Unit" in the Units section will make the default selection after building a unit that same unit if it is still available to build, instead of deciding for itself.
 
It turns out that I can run this on my old Windows laptop. I tested it by putting all of the needed files on a flash drive and running off of that. There are some benefits, but I have not tried out the resource bug fix as yet. It will take some getting used too.
 
Back
Top Bottom