Skip to content
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

Closed
obrakmann opened this issue May 9, 2015 · 11 comments · Fixed by #11951
Closed

Disabled production when a factory gets captured #8122

obrakmann opened this issue May 9, 2015 · 11 comments · Fixed by #11951
Assignees

Comments

@obrakmann
Copy link
Contributor

obrakmann commented May 9, 2015

Introduced in #6766. The problematic parts are lines 56-58 in ClassicProductionQueue.cs.

The real problem is that both Transform and ExternalCapture lock the building and so are indistinguishable to other code and aren't treated differently.

@obrakmann obrakmann added this to the Next Release milestone May 9, 2015
@obrakmann obrakmann modified the milestones: Next release, release-20150614 Jun 15, 2015
@pchote
Copy link
Member

pchote commented Aug 2, 2015

Do we need to associate the lock with a particular object, like we do for upgrades?

@abcdefg30
Copy link
Member

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.

@GraionDilach
Copy link
Contributor

Why does ExternalCapture need to lock a building?

@pchote
Copy link
Member

pchote commented Jul 13, 2016

See the referenced #6766.

@cjshmyr
Copy link
Member

cjshmyr commented Jul 13, 2016

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.

@pchote
Copy link
Member

pchote commented Jul 13, 2016

So lets revert that original pr and fix this and #8146 properly (by disabling the Production trait instead). If people want to recreate the current bugged behaviour then they can do that as a new feature that gets reviewed on its own merits.

@GraionDilach
Copy link
Contributor

Locks are implemented so players could not Sell or Undeploy a building being captured.

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.

@cjshmyr
Copy link
Member

cjshmyr commented Jul 13, 2016

@pchote / @GraionDilach: 👍

@pchote
Copy link
Member

pchote commented Jul 13, 2016

The best fix would be to take a step towards #7035. We'd only need the make-animation upgrade granting and upgrade support on Production to remove the locking here.

@ChristianDK
Copy link

ChristianDK commented Aug 27, 2016

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.

  • Flame towers are completely useless as their fireballs are too slow so it will only be possible to counter it if it’s really poorly executed.
  • Pillboxes: It can sometimes be countered with a pillbox but it depends on a few factors, if it’s perfectly timed then it can’t be countered if the engineer jumps out from the right direction (which is random) from the ranger/APC since the delay between each shot is too long.

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).

@pchote
Copy link
Member

pchote commented Aug 27, 2016

This has become a big talking point recently, so promoting to the next release milestone.

@pchote pchote modified the milestones: Next release, Future Aug 27, 2016
@pchote pchote self-assigned this Sep 3, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants