Starcraft selects enemy unit instead of firing yamato cannon

Steps to replicate glitch:

  1. Enable enemy unit selection in settings
  2. Build 15+ battlecruisers
  3. Click and hold Y for yamato cannon and click on many different units very quickly to fire the yamato cannon at it.

When you do this it will eventually select the enemy unit instead of firing the yamato cannon for all the battle cruisers. It will fire on only some of the units and it varies how many will fire before it selects the enemy unit. This same thing happens with liberators too so I would guess it happens with other units as well. It only happens if you’re clicking VERY fast on enemy units and moving your mouse around. It is pretty consistent but you have to have a LOT of units to notice that eventually not all of the units fired the yamato cannon. I am on Mac 10.15.7. If enemy unit selection is turned off in settings, the problem goes away. We need to have enemy unit selection enabled so that we can tell what building the opponent is making before it is finished building.

Thanks for making great games!!

Put the hotkey for Yamato on E. Makes it a lot easier to use and spam.

It’s not a bug, it’s a feature.
Holding the hotkey is equivalent to having a mouse clicking the ability icon again and again without disturbing the real mouse.
While you have BCs with yamato ready, this thus turn your cursor into the targeting cursor for the ability, and after you click something, will quickly (instantly from a human perspective most of the time) turn the cursor back into the target cursor…
BUT…
If you click an ability button while it’s on cooldown, it doesn’t turn the cursor into a targeting one, and then a click would result in a selection.
This is what you observe.

The bug if there’s one is either that holding the button work at all, or that you could have one too many attack cursor despite all abilities on cooldown, due to some timing mistake of the game.

I’m not clicking an ability button while it’s on cooldown though because like I said many of the battlecruisers I have selected haven’t even fired off yet before it selects the enemy unit. When enemy unit selection is turned off I don’t have any issues but we have to have it turned on

So it sounds like you’re trying to order multiple BCs to fire on multiple targets by holding down the Yamato key and rapidly clicking targets? If that’s the case, that’s not how you want to issue multiple commands in a short span of time. Instead, you want to “queue” the commands.

If you hold down an ability key, you’re at the mercy of your keyboard’s repetition rate. Meaning, as the key commands are being sent to the computer, there are small time intervals between each one. If you are rapidly clicking with the mouse at the same time, you will occasionally click a unit in between the key commands and thus, select the unit.

Instead, queue the commands. Press the Yamato once (and let it go) to change to targeting mode, then hold down the Shift key and start clicking on the targets (this will “queue” the Yamato commands). As you do, the game engine will execute the queue by assigning the individual BCs to individual targets. When done clicking the targets, release the Shift key and it will change back to selection mode.

In other words, holding down the Shift key will lock to targeting mode which will queue all subsequent commands. It will also prevent you from selecting anything until you let Shift go.

1 Like

Thanks for taking the time to reply! Us being at the mercy of our keyboard’s repetition rate would be the problem then. I have tried using shift before in the past, but when we use shift, it will not cancel the current command and therefore the Yamato cannon will not fire right away.

Let me give you an example of why shift won’t work. We right click to move our BCs in to kill their zealots. Suddenly we see him attack our BCs with a fleet of carriers. We then quickly shift + Y click the carriers to fire Yamato cannon. But wait, the BCs are still moving to the zealots! The BCs move instead of firing their yamato cannons right away, causing us to loose our BCs before they even fire the yamato cannons. This is why we need a way to fire yamato cannons immediately (by holding the Y key without the shift key). We are at the mercy of our keyboard repeat rate, so here comes in the software development team to save the day and make it so that holding in a key is not reliant on a key repeat value. Yes we could set key repeat to very fast on the computer, but mine is already set to the fastest it can go and am still running into the issue

Indeed, the shift key will queue the Yamato shots after the move command. In cases where you want to clear any existing commands so that you can queue up new ones, use the Stop command.

For example, you right-click toward the Zealots and the BCs start moving. Then you see the carriers coming. Press the Stop command then issue the shift-Y Yamato commands. The Stop will cancel the move command allowing you target the Carriers immediately.

Unfortunately, it’s not likely that a game which is out of development is going to receive engine changes, especially when it wasn’t something they saw fit to change in the ~10 years it was in development.

Ok got it thanks for the advice