Closed daavko closed 2 months ago
Looks like techs are updated first, so obsoletions and so on shouldn't be affected.
I can see two options to take tech leak into account during TC:
Both cases enable a lot of gambling and micromanagement, especially in team games with a lot of info available.
Should getting techs through diplomacy also update other players' research?
Need to figure out a way to easily reproduce this event as it typically only happens on LT multiplayer games.
Should getting techs through diplomacy also update other players' research?
My thinking here is that any time a tech is "researched" even if its given in a diplomacy treaty is the same as if the player researched the old fashioned way.
Re-opening this issue. The PR doesn't do what is expected.
The following check in the server code prevents the player_research
packet from refreshing the current tech:
Any I'll effects if we remove it?
None that I could find by reading the code, but I haven't tried
Is your feature request related to a problem? Please describe. Currently, if RNGeezus wants, a player may end up in a situation where they have more bulbs stored than their current research target costs, due to tech leak. This happens due to player processing order, where a player might gain just-not-enough bulbs to research a tech, but a player processed later might have enough, causing the cost to drop due to tech leak. Sometimes you can then "force" the game to research the tech by switching to another one that's sufficiently expensive (so you don't insta-research it and lose your bulbs) and then switching back, forcing the server to process the research. This may not always be possible, forcing the player to wait until next TC.
Describe the solution you'd like Two potential solutions:
techtools.cpp
, but this is only from a cursory search. It does appear that the client sends the "switch research" packet even when the player clicks on a tech they're currently researching.Describe alternatives you've considered Leaving it as-is...
Additional context No additional context