Lines

Banner and Crosspost

November 21, 2019

Bug Hunt IX

Bug Hunt IX

This is another post that will look at some important, interesting or just funny bugs in StarCraft II Co-op. Previous bug hunts are here: #1, #2, #3, #4, #5, #6, #7, #8. I would like to thank everyone who either messaged me about bugs or reported them on the official bug report forum. Today's list is:

Choker and Sentinels

Karax's Sentinels won't die if the Reconstruction ability is researched, and they are stunned by Chokers.

Enemy units will still attack Sentinels – making this a good distraction. Even one Sentinel can significantly help with defending during nights.

What is dead may never die

This is similar to a previous bug where Kerrigan's Ultralisks and Karax's Sentinels didn't die under the effect of Moment of Silence mutator. When Sentinels are about to die, they are ordered to use their Reconstruction ability. But since they are stunned by Chokers, they stay at one life and are  unable to proceed with the Reconstruction. This doesn't affect Kerrigan's Ultralisks only because their Frenzy passive prevents them from being stunned by Chokers.

Colossus and Spear of Adun

Speaking of Karax, "Damage dealt by Spear of Adun" score is increased by Colossus' fire damage from Fire Beam upgrade (The colossus' attacks set fire to the ground, dealing 150 damage to enemy units that touch the flames over 5 seconds).

If you are wondering why you got this score so high, this might be the reason.

The same fire damage effect is used for both Solar Lance (Spear of Adun) and Thermal Lance (Colossus)

Propagators + Transmutation + Diffusion

If the Transmutation mutator is active, enemy units have a chance to evolve if they deal damage. Diffusion mutator spreads incoming damage to units around. This diffused damage is counted for Transmutation and leads to a nice synergy between these two mutator. But that's not the case for Propagators, the diffused damage forces Propagators to evolve into much less dangerous units.

This is rather rare second order mutator interaction (mutator-mutator-mutator), but I found it too funny not to share it. It won't work on map objectives and Heroes from the Storm heroes except enemy Dehaka.

Propagators + Transmutation + Diffusion

Another side-effect is that Propagator's minimap pings won't get properly removed if this happens – eventually cluttering the minimap.

It's starting to look scary

Aggressive Deployment

Aggressive Deployment mutator won't spawn units if you place army units over unpathable terrain, and don't make other army units. You can still use heroes, few other units and static defenses.

Few attacking units over unpathable terrain to stop Aggressive Deployment

Which units don't attract Aggressive Deployment?

  • Units without weapons
  • Workers
  • Kerrigan's and Zagara's Queens
  • Any unit that stays close to starting locations (<15 distance)
  • Structures
  • Units without supply cost

Which units cost no supply?

  • Hyperion, ARES bots, Tychus, Kerrigan, Zagara, Aleksander, Dehaka, Glevig, Murvar, Dakrun, Shadow Guard, Zeratul, Alarak, Zeratul's legions and avatars, Gary, Fenix, Nova

Which notable units do cost supply and attract Aggressive Deployment?

  • Dusk Wings, Outlaws apart from Tychus, Brutalisks, Leviathans, Apocalisk, infested infantry
The trigger checks 1000 times for good location and then gives up

The trigger first checks TargetCandidates group which contains all units that attract Aggressive Deployment. If there are no such units, it will fall back on choosing a random valid point. That's why there must be few units in TargetCandidates, but in invalid positions like over unpassable terrain, or in locations not connected by pathing to starting locations. The trigger will search for a valid point around a unit from TargetCandidates and then give up completely. It won't fall back on choosing a random point as you might expect.

So to take advantage of this, you send few army units over unpassable terrain, and use only units listed above and static defense. For example Dehaka with all his calldowns is plenty enough for most of the missions. This trick works for each player separately, so it's possible for one player to take advantage of it, while the other makes units – reducing drops by half.

Heroes from the Storm

Units from Heroes from the Storm mutator won't spawn with certain waves – typically those created in transports.

For example on Scythe of Amon, all attack waves spawn in transports first, and so Heroes from the Storm mutator does effectively nothing on this map. On Vermillion Problem, this leads to varying difficulty since you will not get heroes with some attack waves.

There are two different functions that create attack waves. The first one function is used for normal waves and saves its "gather point' into a data table.
Saving SpawnLocation as gather point

The second function is used to create waves in transports, and doesn't save this gather point. Heroes are set to spawn at the gather point, but there is no such point saved by this function.

A naive fix would be to save the SpawnLocation the same way. However, in my tests it didn't work all that great even if you search for the nearest valid ground point. For my The Usual Suspects and Shapeshifters mutators, I wait until units are unloaded, or in case or pure air waves until the center of the attack wave is over a valid ground. Only then units are spawned.

Bad Start

Occasionally, you spawn with no units and Amon's vision. But no luck, you still can't play as Amon.

On Temple of the Past

This is a pretty rare bug that I have encountered only few times in live games. In my arcade maps I encountered this more often – especially when adding more mods. In these cases it was either conflicting scripts that needed to be fixed, or disabling trigger preloading in the map fixed it.

On Oblivion Express

Medivac Pickup

If you order Tychus' Medivac to unload and lose vision of the target location, the ability will get cancelled and you lose the ability charge. Usually, you would get an error if you don't have vision, but not in this case.

This bug can easily make you lose your outlaws if you trying to get away from a bad fight. It's a very latency sensitive bug, it practically doesn't happen during offline testing since there is no latency. But during online play, the worse latency you have, the more you will suffer from this bug.

Failed Medivac Transport

Masteries at level 1?

If your game is loading slowly, you can open mastery panel in menus for any commander at any level and assign points there, but unfortunately these masteries don't affect the commander in missions.

Masteries while Tychus is at level 1

To replicate this, you have to click the mastery button as the game is loading. Once it fully loads, you will see all masteries and have your points to distribute. However, it's just a visual bug and doesn't affect the game. The easiest way to reproduce this is to delete StarCraft II cache and limit your download speed. Once you see masteries, you can remove the limit on your download speed.

Void Thrasher

Void Thrashers do friendly fire with their Lightning ability.

Thrasher trashing Amon's Medivac

Hybrids on Chain of Ascension

In rare instances hybrids won't spawn on Chain of Ascension.

This one is a curious bug that has more to do with attack waves then hybrids. On Chain of Ascension, each group of hybrid pushers is spawned after the previous one is finished spawning. But in this case, the wave creation never finished properly – preventing following hybrids from spawning.

Waiting for all units to spawn (during DropPod/WarpIn phase)

In this function the wave is waiting for all units to finish spawning. And if we look what happened in the game, we can see that at least one Zergling wasn't either killed or finished spawning (unpaused). I'm not sure what happened to him. The function pausing and unpausing units during droppod phase looks very robust. Replay.

Zergling still paused?

Final Notes

I want to make it clear that these posts are driven by curiosity and the desire to help to make the game better. It's not a critique. I'm happy that most of the bugs I wrote about have been successfully fixed.

The only exception might be the bug with visibility of Void Rifts on different texture settings from my first Bug Hunt. My suggested change perhaps didn't fix the underlying problem, if there is one, but the bug has an impact on user experience, and so I was surprised that there wasn't a fix yet. It feels bad to watch players on Twitch.tv who can barely see Void Rifts. Some players even asked their ally to ping rifts for them.

It's interesting to work on bug hunts. You learn a lot about how things work, and I add many commands I use for debugging to my [MM] mod so anyone can use them. This style of QA reminds me of a GDC video I watched few days back about BioWare's Embedded QA. But I think the only time I brute-forced a bug with a script was when I was trying to offset starting main structure with a resource spawn with Slim Picking.

~ ~ ~

This concludes the ninth edition of bug hunt. Previous posts can be found here: #1, #2, #3, #4, #5, #6, #7, #8. As always, if you encounter any bugs yourself, report them on the official bug report forum.

Get new posts through email:

Recent posts

Recent posts

Copyright

© Blizzard Entertainment, Inc. All rights reserved. Wings of Liberty, Heart of the Swarm, Legacy of the Void, and StarCraft are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.
Powered by Blogger