Requests for new components (and features)

How do you feel about those restrictions? Are they enough to keep it UG? Technically you'd need to move a worker to the tile to figure out the partially completed builds, and you wouldn't be able to determine the improvement builds in neutral lands, but I'm hoping that's minor enough of a leak to ignore.

A player can use 'SHIFT-move-order-hover-over-build-order' with a worker to find out how long the build order would take. Removing the move order and releasing SHIFT would keep your worker where it is and you got the information for free. (I have done this before to know how many workers I want to move to a far away job.)

So the only thing you need for this information is a worker which is something that you generally have. Before you have any workers, you generally don't have any improvements partially finished. Maybe this will make you feel better of the level of UG-ness of this addition.

BTW, I have been using signs on the map to denote the number of turns until completion of tile improvements for a long time now. So this will really help me with some micromanagement. Thank you for the addition. :goodjob:

A question though: You added some code that stops workers chopping a forest and that signifies the number of turns left to complete an improvement. Does this code take into account the fact that workers can get different worker speeds throughout the game? For instance, the invention of steam power, the use of the serfdom civic and the construction and obsoletion of the Hagia Sofia wonder all change the worker speed and thus the amount of work left to finish an improvement. Also the game speed affects the amount of work needed to complete an improvement but is of course constant during a game. Is all of this taken into account? Will signs dynamically change when worker speed change, even during a turn when you capture the Hagia Sofia or steal the Steam Power technology?

Note that I do not question your programming skills, I just thought it might be tough to get all of that working without any hiccups. :)
 
A player can use 'SHIFT-move-order-hover-over-build-order' with a worker to find out how long the build order would take.
I can never seem to get these stacked orders to work. Is there a trick to it?
 
I can never seem to get these stacked orders to work. Is there a trick to it?

I have noticed that from time to time, the information is not there at first. It seems rather random.

For instance:
Hold Shift
Issue a move order for the worker towards a tile that requires a farm and has access to fresh water
Notice that for some weird reason, the farm option is not available
Issue the move order again
Notice that for some even weirder reason, the farm option is now available
Cancel the two move orders
Release Shift

I don't know why you have to give the move order multiple times in some cases. It seems totally random. As if the game engine can't get the right information in time or something like that. Really weird. But I've never been unable to get the information even tough I've had to issue the move order up to 5 times in some cases.

I think this error of the civ engine is in the same category where sometimes when you move a stack of units, some units seem to have left the stack when it has moved its distance and joyfully join the stack again while doing the Jesus thing (walking over water). Also in that case, the game engine seems to have the wrong information about the (starting) location of (some of) the units in the stack and thus they have to move to their end location from limbo land.
 
A player can use 'SHIFT-move-order-hover-over-build-order' with a worker to find out how long the build order would take.

Yes, that covers the normal case of improvements in your own land, and I use that myself. But what about land owned by your teammates (vassals don't count) and neutral lands where you cannot build improvements? This is a leak, but I figured it made sense from a game standpoint: no one is stopping you from figuring it out in neutral lands and a (human) teammate would gladly give you this information themselves.

BTW, I have been using signs on the map to denote the number of turns until completion of tile improvements for a long time now.

To clarify, I don't place any signs as Ruff had requested. This information shows up in the hover text for the plot below the terrain/yield/bonus/improvement/route information.

Does this code take into account the fact that workers can get different worker speeds throughout the game? . . . Will signs dynamically change when worker speed change, even during a turn when you capture the Hagia Sofia or steal the Steam Power technology?

I use the same function (modified to ignore workers on the plot already doing the job) that is used to tell you how long it will take in the hover text for the action button, so this is all taken into account. And since I didn't use signs, nothing needs to be updated. When you hover over a plot, all of the build orders are checked for their progress anew.

Note that I do not question your programming skills, I just thought it might be tough to get all of that working without any hiccups. :)

No worries. This game is pretty complex, so it's very helpful to have people point out things that might have been missed. I'd rather find out now than months down the road when I've forgotten how I did it. ;)

I can never seem to get these stacked orders to work. Is there a trick to it?

Voodoo works for me. :crazyeye: I get the behavior Roland describes quite often. When I'm hovering over the target plot with the goto order (mouse pressed I think), the Build a Farm icon highlights and often glows as a recommended action, but once I release the goto order and move to the farm button, it's disabled. :mad:

I think this error of the civ engine is in the same category where sometimes when you move a stack of units, some units seem to have left the stack when it has moved its distance and joyfully join the stack again while doing the Jesus thing (walking over water).

By far and away, this is probably my most favorite bug of any game I've played. I get a kick out of it every time it happens. Sometimes I'll be scrolled to a totally different area of the map and see my workers come running in from the side of the screen. I love to follow them to where they're supposed to be, running over water and peaks, through rival territory, etc. :lol:
 
Yes, that covers the normal case of improvements in your own land, and I use that myself. But what about land owned by your teammates (vassals don't count) and neutral lands where you cannot build improvements? This is a leak, but I figured it made sense from a game standpoint: no one is stopping you from figuring it out in neutral lands and a (human) teammate would gladly give you this information themselves.

I guess the partial build improvements in neutral lands could be improvements that were partially finished when they were still being controlled by another player and then became neutral due to a war. In that case, you're getting slightly altered gameplay information. I'll have to make up weird scenarios where this might help you in some way because I don't think it will in general. You must decide whether you want to test your modding skills further by hiding this information again. I don't think it's important.

To clarify, I don't place any signs as Ruff had requested. This information shows up in the hover text for the plot below the terrain/yield/bonus/improvement/route information.

Hover texts are better in a way as they don't clutter the map. They are worse in a way that they don't really remind you that you were planning to build an improvement in that area as they are mostly invisible unless you ask for the information of a specific tile.

It would be nice to have a planning layer where you can decide which improvements you want to get in certain tiles, similar to the city planning layer. Then you could hide it when you want a clean map and show it when you're controlling your workers and want to see what you were planning to do in the area.

Voodoo works for me. :crazyeye: I get the behavior Roland describes quite often. When I'm hovering over the target plot with the goto order (mouse pressed I think), the Build a Farm icon highlights and often glows as a recommended action, but once I release the goto order and move to the farm button, it's disabled. :mad:

Yes, I also get that exact behaviour. In all cases where it gave me wrong information, the information was based on the options available in the tile where the worker originated. So a worker with a goto order from A to B would get the information from A instead of B.

By far and away, this is probably my most favorite bug of any game I've played. I get a kick out of it every time it happens. Sometimes I'll be scrolled to a totally different area of the map and see my workers come running in from the side of the screen. I love to follow them to where they're supposed to be, running over water and peaks, through rival territory, etc. :lol:

:lol: Maybe Firaxis should have claimed it was an Easter egg or somthing like that.
 
You must decide whether you want to test your modding skills further by hiding this information again.

I agree that it doesn't seem like it could ever be useful. I can't imagine basing my decision of where to found a city on which tiles had partial improvements built. However, we haven't based our UG decisions on the usefulness factor yet, and I believe I can detect it using the same method that the game detects whether or not you can build/route outside your borders.

The real question is whether this is acceptable for team-controlled plots.

It would be nice to have a planning layer where you can decide which improvements you want to get in certain tiles, similar to the city planning layer.

Yes, this would be ideal. That's a lot of work, and I don't see having the time to tackle it any time soon. Maybe Del69 can step up to the plate again and get us started? :D

In all cases where it gave me wrong information, the information was based on the options available in the tile where the worker originated.

Yup, that's what I found. Highly annoying having to click-click-click until it shows you the correct information. Maybe I'll poke around and see if I can fix it.
 
With build queues, I think it is currently impossible to queue a building followed by one it leads to. e.g. a factory followed by power plant, or a wall followed by castle, or a lighthouse followed by the GLH. Does anyone know a possible solution to this?
 
With build queues, I think it is currently impossible to queue a building followed by one it leads to. e.g. a factory followed by power plant, or a wall followed by castle, or a lighthouse followed by the GLH. Does anyone know a possible solution to this?

Y'know, that annoys the hell out of me as well. Given the bTestVisible parameter to show a grayed-out Coal Plant button for cities that don't have a Factory, I suspect it would be possible to allow the item to be queued.

Solution 1: Have the buttons check if the prerequisite buildings are built or in the queue. When you add the Factory, the Coal Plant button would become enabled. Adding an item to the queue for a building does a dirty bit--hopefully the one that causes the build buttons to be redrawn.

Solution 2: Leave buttons enabled for buildings with prereqs. This is less elegant, but it would allow you to queue up the buildings. It wouldn't stop you from queueing out of order, but even with solution 1 you can queue the Factory and Coal Plant and then remove the Factory.

No matter what solution is followed, you'd need to make sure that the preqes are checked when the building actually gets built. This could cause a city to forgo its production for a turn if the Coal Plant were left in the queue after removing the Factory before it. You could also scan the queue for buildings that are no longer valid and remove them whenever an item that they require is removed.
 
I believe I can detect it using the same method that the game detects whether or not you can build/route outside your borders.

I have changed the check to use the test function the game uses when enabling the build buttons.

Side note: looking at the code it seems that you can chop forests/jungles in rival territory as long as you are at war! :eek: I haven't tried it yet, but that's kinda cool. Deforestation as an offensive tactic. :p
 
I agree that it doesn't seem like it could ever be useful. I can't imagine basing my decision of where to found a city on which tiles had partial improvements built. However, we haven't based our UG decisions on the usefulness factor yet, and I believe I can detect it using the same method that the game detects whether or not you can build/route outside your borders.

The real question is whether this is acceptable for team-controlled plots.

I have changed the check to use the test function the game uses when enabling the build buttons.

Sounds good.

Yes, this would be ideal. That's a lot of work, and I don't see having the time to tackle it any time soon. Maybe Del69 can step up to the plate again and get us started? :D

I kinda thought it would be a lot of work. I just hope that you can find some time later when current projects are slowing down a little.

Yup, that's what I found. Highly annoying having to click-click-click until it shows you the correct information. Maybe I'll poke around and see if I can fix it.

It's always tough to fix inconsistent bugs. Maybe you'll find it with some luck.

With build queues, I think it is currently impossible to queue a building followed by one it leads to. e.g. a factory followed by power plant, or a wall followed by castle, or a lighthouse followed by the GLH. Does anyone know a possible solution to this?

Wasn't this once possible?

Y'know, that annoys the hell out of me as well. Given the bTestVisible parameter to show a grayed-out Coal Plant button for cities that don't have a Factory, I suspect it would be possible to allow the item to be queued.

Yes, another game element that increases micro management. I have a vague recollection that it was once possible, so I guess there were problems with it. Maybe those that you mention later with lost turns of production. For instance, what would happen if the factory would be destroyed in the turn it was finished (random event, spies). Hmm, what happens in general with a turn's worth of production when a prerequisite is removed?

Solution 1: Have the buttons check if the prerequisite buildings are built or in the queue. When you add the Factory, the Coal Plant button would become enabled. Adding an item to the queue for a building does a dirty bit--hopefully the one that causes the build buttons to be redrawn.

Solution 2: Leave buttons enabled for buildings with prereqs. This is less elegant, but it would allow you to queue up the buildings. It wouldn't stop you from queueing out of order, but even with solution 1 you can queue the Factory and Coal Plant and then remove the Factory.

Solution 2 would mostly be less beginner friendly. Someone who hasn't played the game a lot might not know the prerequisites well enough. What happens when you try to build something without the prerequisites? You get a warning to build something else next turn? What happens to that turn's worth of hammers?

No matter what solution is followed, you'd need to make sure that the preqes are checked when the building actually gets built. This could cause a city to forgo its production for a turn if the Coal Plant were left in the queue after removing the Factory before it. You could also scan the queue for buildings that are no longer valid and remove them whenever an item that they require is removed.

Is it possible to change the turn worth of production into gold with the same exchange rate as build gold?

BTW, while I like all of this, how UG is it?
 
For instance, what would happen if the factory would be destroyed in the turn it was finished (random event, spies). Hmm, what happens in general with a turn's worth of production when a prerequisite is removed?

Spies would have to operate during another player's turn, so you wouldn't lost anything beyond your Factory. I don't know when random events occur, but I doubt it's during your turn. I'd guess that random events occur during the single "game turn" that comes after all players have had their turns. Again, that case would be okay.

Is it possible to change the turn worth of production into gold with the same exchange rate as build gold?

That's a much better solution than wasting the :hammers:. I still think the best solution is to detect when this will happen while the player is taking their turn and removing invalid items from the queue. Of course, that blocks you from being able to insert dependent items at the beginning of the queue using CTRL.

For example, you acquire Engineering and want to build a Castle in your capital that has five items in its queue. You can CTRL + click the Walls, but how do you put the Castle after the Walls but before the other items? You cannot insert the Castle first because it will check for the Walls and fail. :confused:

BTW, while I like all of this, how UG is it?

I don't think it violates the UG mantra as the effect is entirely in the interface. It merely removes some ugly MM, unless I'm missing something here.
 
That's a much better solution than wasting the :hammers:. I still think the best solution is to detect when this will happen while the player is taking their turn and removing invalid items from the queue. Of course, that blocks you from being able to insert dependent items at the beginning of the queue using CTRL.

For example, you acquire Engineering and want to build a Castle in your capital that has five items in its queue. You can CTRL + click the Walls, but how do you put the Castle after the Walls but before the other items? You cannot insert the Castle first because it will check for the Walls and fail. :confused:

Oh, so in that case, you'd have to rebuild your queue from the ground up.

When exactly will invalid items be removed from the queue in your setup? In the instant that you remove the building that they depend on?

If it happened when you exited the city build list, then you'd be able to do illegal stuff while in the city build list but once you exit the city build list, it would be re-evaluated.

Note that when the program removes illegal buildings from the build list, it could leave it empty which should be avoided. You shouldn't be able to leave an empty build list. That isn't possible now either.

I don't think it violates the UG mantra as the effect is entirely in the interface. It merely removes some ugly MM, unless I'm missing something here.

The suggestion that I did with gold for lost production due to a lost construction turn would be kinda UG. It would effectively give you the build gold option before you've researched currency if you exploit the mechanism with some wonders dependant on buildings.
 
When exactly will invalid items be removed from the queue in your setup? In the instant that you remove the building that they depend on?

I was planning to do it whenever you removed an item from the queue because . . .

If it happened when you exited the city build list, then you'd be able to do illegal stuff while in the city build list but once you exit the city build list, it would be re-evaluated.

. . . this would be better, but I'm not sure that there's an event or hook for this. During the update loop I can see which cities are selected, and I could possibly check all those cities when I detect that the list is different, but it would be error prone in my opinion. You can add/remove cities to/from the selection list individually.

Note that when the program removes illegal buildings from the build list, it could leave it empty which should be avoided.

I'm hoping that the normal game mechanism (a popup to select an item) will be triggered if we empty the build list. If not, I bet I can trigger it myself.

The suggestion that I did with gold for lost production due to a lost construction turn would be kinda UG. It would effectively give you the build gold option before you've researched currency.

Ah, I had assumed you meant to do that only once it was a normal game option. Before that I'd use Research, and before that wasted :hammers:. Also, this trick would only be necessary if we didn't fix the build queue before the player ended their turn.
 
Sounds like you have things largely figured out. Good luck with getting things exactly as you want them.
 
Request for an alert when border tiles change hands.

Background of request: Often when I'm playing on a huge map, several cities will be under cultural pressure and I'll do everything to push the borders back. However, the AI on the highest levels is also quite capable at pushing my borders back. So sometimes the borders go back and forth which influences the tiles which are being used by these border cities. Sometimes, I do not notice winning or losing a tile and the citizens in these border cities are not using the tiles that I would have wanted them to use.

Is it possible to set an alert when the borders move so that I can then inspect these cities?

Note: this is different from the normal border expansion alert which just reminds you that your borders have expanded which often times is not interesting at all. This new alert would tell you whether you actually acquired new tiles which is independent and mostly unrelated to the moment of reaching a new cultural level in a city.
 
That is certainly possible. Would you want to know every tile that changes hands or just the ones that one of your cities can work? If the latter, it makes the alert more informative:

London lost/gained control of 1 tile​

It would probably trigger for cities during their first border pop, too, but this could be helpful because it would tell you how many tiles of the possible 12 it gained.
 
That is certainly possible. Would you want to know every tile that changes hands or just the ones that one of your cities can work? If the latter, it makes the alert more informative:

London lost/gained control of 1 tile​

It would probably trigger for cities during their first border pop, too, but this could be helpful because it would tell you how many tiles of the possible 12 it gained.

Glad to hear that it is possible.

It's probably more useful to only mention it when a city tile was gained. Does this also work when someone mods the game so that cities can use more than the standard 21 tiles or when multiple cities could use the tile?

It might also be useful to mention it when a resource outside of the various city radii was gained.
 
Is it possible to automatic hide the sliders when hovering the mouse over a stack of units? Plus, I think it would be a good idea if we could easily see the exact constitution of the individual stack (e.g. 5 swords, 7 axes, 6 cats). Maybe have it so if you hover the mouse over the stack for a certain amount of time you can get that information.
 
Is it possible to automatic hide the sliders when hovering the mouse over a stack of units?

I don't see how this would be possible. I can tell when possible that text is shown (though there are other cases where I will think it's being shown but it's not), but I cannot tell when the text is hidden.

Plus, I think it would be a good idea if we could easily see the exact constitution of the individual stack (e.g. 5 swords, 7 axes, 6 cats).

I've been wanting a stack screen for a while now and just haven't had the time to make one. I envision a shortcut/button that activates a plot-picker (like the sign tool) so you can click a plot and get a full screen sortable list of all the units on the stack with filters for types/promotions/etc similar to how the F5 screen works. The list would be multi-column with one column for each promotion as well so you can easily see how many City Raiding units they have, etc.

I don't think it would be too hard for a beginning modder to tackle, too.
 
Does this also work when someone mods the game so that cities can use more than the standard 21 tiles or when multiple cities could use the tile?

I believe yes to both.

It might also be useful to mention it when a resource outside of the various city radii was gained.

Yes, that would be helpful too.

BTW, are you saying you don't care about tiles/resources lost--only gained?
 
Back
Top Bottom