New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Disabled production when a factory gets captured #8122
Comments
Do we need to associate the lock with a particular object, like we do for upgrades? |
Actually, I don't think we should really count this as bug (anymore). It has become a valid tactic to cancel the enemies queue by using an engineer. |
Why does ExternalCapture need to lock a building? |
See the referenced #6766. |
Locks are implemented so players could not Sell or Undeploy a building being captured. The lines @obrakmann have pointed out, IMO, are abusing the Lock state and introducing logic that says the building no longer provides production while locked. The kicker is #6766 is not actually entirely fixed, and is still reproducible anyways if you have two construction yards as seen in #8146. Locks on their own do not disable production, and were also introduced to prevent engineer race/selling desyncs in standard capture. |
So lets revert that original pr and fix this and #8146 properly (by disabling the |
That should be exposed to yaml then. I planned to have a Black Lotus unit, but now I will heavily reconsider it, since this makes is absurdly OP - because selling the building was a completely valid tactic in Generals, compared to the bug here. |
@pchote / @GraionDilach: 👍 |
The best fix would be to take a step towards #7035. We'd only need the make-animation upgrade granting and upgrade support on |
I think it’s extremely important that this bug gets fixed, mainly because you can’t always defend against it and at worst it´s very game breaking too. Some maps with oil are barely playable right now. It doesn’t add depth to the game but annoyance, randomness, limitations and luck. As for defending against it: Defense structures doesn´t necessarily cut it.
Since the engineer can reset the production queue for all production facilities you need to protect both your con yard and your war factory and that’s a big problem. As for the Con yard: against a soviet player the only foolproof way to secure your con yard is to build walls around it. Spending $400 on walls is a significant expenditure and it will slow you down a lot on some maps. Take a map as Sidestep for example – there’s only 1 oil derrick on that map and if you spend $500 on an engineer as well as money on a few riflemen for scouting and protecting the engineer and want to have a defensive structure queued up, then spending $400 on walls is a lot and will slow you down. So it´s only 100% preventable at a significant cost. Now the main issue is that you can´t really secure your war factory in the same way as the con yard. Even if it was possible the expenditure would be so high that it wouldn´t be worth it. So after spending $400 on walls to protect your con yard the opponent might as well go for a reset on the war factory which can easily set you back by 1 harvester or 1 mcv. It requires very little skills to pull off and the successfulness of it depends on quite a few random factors and the impact of it varies tremendously as well (from losing nothing to +30 seconds production queue). |
This has become a big talking point recently, so promoting to the next release milestone. |
Introduced in #6766. The problematic parts are lines 56-58 in
ClassicProductionQueue.cs
.The real problem is that both
Transform
andExternalCapture
lock the building and so are indistinguishable to other code and aren't treated differently.The text was updated successfully, but these errors were encountered: