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

Spamming 'Create Slate' with multiple normal slates can break spawns #196

Closed
nvs opened this issue Aug 16, 2016 · 0 comments
Closed

Spamming 'Create Slate' with multiple normal slates can break spawns #196

nvs opened this issue Aug 16, 2016 · 0 comments

Comments

@nvs
Copy link
Owner

nvs commented Aug 16, 2016

Basically, multiple spawns are started for the current level concurrently. And due to how Gem is currently designed, this causes the next round to be skipped, assuming all the creeps are killed. Most likely another issue related to TriggerSleepAction ().

The fix should be simple. In fact, I think I had the fix applied previously when dealing with #160. Which was then reverted in #170. And, the part related to slate creation, in fact, was just fine. Go figure. I fixed this bug already, without even knowing it, and then removed the fix (although for a good reason).

@nvs nvs added this to the Gem TD+ 1.3 milestone Aug 16, 2016
@nvs nvs self-assigned this Aug 16, 2016
nvs added a commit that referenced this issue Aug 17, 2016
Issues: #191, #196

This issue only happens when both the following conditions are met:

- There are multiple possible choices that have the 'Create Slate' ability.
  For example, multiple Amethyst that can create an Air Slate.
- These gems are selected at the same time, and the 'Create Slate' ability is
  spammed rapidly.

The result is that multiple of the same round are started concurrently,
causing extra units to be spawned. Killing said units, due to the current
design of Gem, can cause multiple rounds to be skipped.

The cause of the problem is, yet again, `TriggerSleepAction ()`. The fix for
this exact issue was unknowingly committed when dealing with #160. However,
the initial commit was reverted, and the changes were never applied. Realize
that I was simply removing a bunch of `TriggerSleepAction ()` calls that ran
into, for no other reason than to remove them. I didn't realize this bug even
existed then.

Anyways, this commit removes them, and nothing else.
@nvs nvs closed this as completed Aug 17, 2016
nvs added a commit that referenced this issue Aug 17, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant