Banner and Crosspost

January 29, 2019

Bug Hunt

Bug hunt

This post will look at several interesting bugs and bugs people should be aware of. Some of them have been in-game for a very long time, so let's hope they will get fixed eventually.

I'm by no means an expert, but it's fun to dig into the editor, try to find what's the causing those bugs, replicate them and sometimes even come up with a fix. Let's start with mutator bugs, follow with few Dehaka's bugs, then we will find out why is the bonus objective on Void Launch not landing, and finally what's up with missions not ending.


Update (Feb 19, 2019): Many of these bugs were fixed just 3 weeks after posting this article. This is a good development since many has been in-game for very long. A note is added to each bug that was fixed.


Polarity Each enemy unit is immune to either your units or your ally's units.

Update: This issue has been fixed in patch 4.8.3

Next week we should get a weekly mutation with Polarity ("Together Forever" Just Die! + Polarity on Chain of Ascension). So this bug will be relevant soon.

Polarity icons used to mark which units are immune to your damage. However, now they are above all units and structures. So it's impossible to tell by looking which units can be damaged.

What's the point of these icons?

This is likely due to a change in patch 4.7.0

This was added to the icon actors:

<Inherits index="Visibility" value="1"/>

It's set to inherit visibility from the enemy unit. That does fix the problem with Bunkers—units inside won't show the icon. However, now the icon is visible to everyone who can see the unit, which defeats the purpose of these icons.

An alternative fix would be to disable Polarity behavior for hidden units (units in Bunkers, transports,...). You can't kill them before destroying the Bunker anyway. This line would have to be added to polarity behaviors:

<DisableValidatorArray value="NotHidden"/>


Note: The only way to tell which units can be damaged is to individually select enemy units or hover your mouse over them—if the circle around the enemy unit is red, it can be damaged; if it's yellow, it can't.


Diffusion Damage dealt to enemies is split evenly across all nearby units, including your own.

Update: This issue has been fixed in patch 4.8.?

This one is pretty interesting. Diffusion in combination with Talis' Ricochet Glaive can deal a lot of damage. Usually, Diffusion spreads damage to surrounding units or structures in small amounts which are not diffused further. Any unit affected by Talis' Ricochet Glaive will take additional 5 damage if the unit takes damage from another source. The important part is that this additional damage from Ricochet Glaive can get diffused.

This can create a loop where the initial damage is diffused to nearby units, these units take bonus damage from Talis' Ricochet Glaive, and this bonus damage is again diffused around (image above). This triggers bonus damage from Talis' Ricochet Glaive and so on.

(On left are shown damage effects that are being diffused)

This is the original video showcasing this bug on Oblivion Express.


Double-edgedYour units also receive all the damage they deal, but they are healed over time. & Black Death Some enemy units carry a plague that deals damage over time and spreads to other nearby units. The plague spreads to your units when the enemy unit is killed.

Update: This issue has been fixed in patch 4.8.3

It's interesting how these two mutators interact with Tychus' Cannonball and Alarak's Ascendants. With Double-edged and Black Death mutators, the affected unit is dealing damage to itself. However, both Cannonball and Ascendants have skills that amplify all damage they deal – Cannonball with M.A.L.I.C.E. Ammunition, and Ascendants with Power Overwhelming stacks. So Cannonball will critically hit himself with Black Death, and Ascendants will take up to +250% additional damage.

Cannonball critically hitting himself


Outbreak Enemy Infested Terrans spawn continuously around the map.

Update: This issue has been fixed in patch 4.8.3

Most players will likely not notice this bug, but when the Outbreak mutator is active, Infested Medics will spawn after 15 minutes. They will not attack your base with other infested units, and instead they will stay where they spawned.

Infested Medics are just chilling
Fear Player units will occasionally stop attacking and run around in fear upon taking damage.

Update: This issue has been fixed in patch 4.8.3

Have you played a mutation with Fear and wondered why all your units are feared when nothing is hitting them? This might be the reason. Disruptor's Purification Nova deals 0 damage in 10 radius the moment it's casted. This is intentional, it will notify the player that his units are in danger, and will give him a better chance to react.

However, with this mutator any damage can fear units. (The chance of getting feared depends only on the target's max vitals and difficulty.) Disruptors deal 0 damage in a huge area, and so they are likely fear a lot of units.

Too scary for Swarmlings
Void Rifts Void Rifts periodically appear in random locations and spawn enemy units until destroyed.

Update: This issue has been fixed in patch 4.11.0

This bug is already well known. Minimap icons for Void Rifts have different size depending on your texture quality setting. This makes dealing with Void Rifts a lot harder if you are not using the highest setting, and on low they are almost invisible on the minimap.

One way of fixing this would be using a texture without generated MIP maps.

Different Void Rift minimap icons depending on your texture quality setting

Greater Primal Wurm

Update: This issue has been fixed in patch 4.8.3

This bug has been in-game since Dehaka was released (~September 2017). When the first Greater Primal Wurm is about to become available, it will often go on cooldown again.

Exploring this bug was particularly funny. I went meticulously through everything related to this ability while leaving triggers for the last. And when I got to them, it was just one typo. Bummer.

Incorrectly set player (underlined) in CM_DehakaPackLeaderGlevigBuilt

If you are player 1, you are lucky and it will work just fine. However, if you are player 2, your first Greater Primal Wurms will fail. So if you are in a party, I would recommend to make Dehaka a party leader. This way he spawns as player 1 and gets his first Greater Primal Wurm.

Dehaka & Psionic explosion

Update: This issue has been fixed in patch 4.8.3

This one was again in-game since Dehaka was released. If the first unit Dehaka devours after he spawns or respawns is psionic, Psionic Explosion will deal 0 damage.

It's an interesting bug. "CM_DehakaConsumeUpdatePsiExplodeDamage” action definition has trouble getting info about his weapon when Dehaka is spawning. I haven't looked into why the weapon isn't reporting the damage correctly. But the result is that until the damage is updated again (Dehaka devours something or levels up), Psionic Explosion will deal no damage.

An easy fix would be to use his weapon damage (DehakaAttackDamageResult)—which was just calculated—as a parameter, and don’t go asking about his weapon unnecessary.

Inside its parent action definition CM_Dehaka_LevelUp (which would now provide calculated weapon damage)
New CM_DehakaConsumeUpdatePsiExplodeDamage using additional parameter (WeaponDamage)

Primal Hosts & Burrowed Units

Update: This issue has been fixed in patch 4.8.3

Primal Hosts and Creeper Hosts won’t spawn their Locusts against any burrowed units or structures even if they see them, but they will try to attack them with their fake weapon. This results in Hosts getting stuck when A-moved.

Considering they won't attack even Lurkers, changing autocast filter for their Locust ability to allow burrowed targets might be the best change.

Staring contest begins

Void launch bonus objective

Update: This issue has been fixed in patch 4.8.3

Another interesting bug. Research Vessels on Void Launch occasionally fail to land. It's relatively easy to replicate if you move any player units near the landing location.

If there are any allied units nearby when the Research Vessel is nearing close to the landing location, it will create a blocker that is supposed to reserve space for the vessel. However, the blocker itself will prevent the vessel from landing.

The vessel checks for nearby units in two second intervals. This creates a time window when the vessel can successfully land even if units are around. But this time window is shifted for different landing locations. So the first bonus objective will often land, while the second will usually get blocked.

Research Vessel created a pathing blocker (EnemyPathingBlocker4x4)
Research Vessel can't land even if there are no allied units blocking

Missions not ending?

Occasionally the mission won't end. This one remains a mystery for me partly because the bug is so rare. I have looked at two replays (both with Zeratul), and in both a transmission got stuck in the action queue preventing other transmissions to be played and the mission from ending.

Both times it happened in an instance of ConversationDataRun function. However, this function and its trigger are used for all transmissions, and transmissions that were played were just ordinary ones. The function is native, so I can't look at it.

I tried to replicate it, but without any success. It would be easy to add a fix that would let the mission end no matter what in case something gets stuck in the action queue (probably a good idea). But without addressing the bug itself, normal mission transmissions won't play after the bug occurs.

It's an interesting bug. It might have been in the game before Zeratul, but it seems more common now. Takeaway is that if you stop receiving mission transmissions, you might not be able to finish the mission.

CM_TransmissionSend trigger waiting for a conversation and blocking the action queue
CM_TransmissionSend trigger is waiting at this instance of ConversationDataRun function

FINAL NOTE

There are a more bugs in Co-op and some of them listed in my document. However, most bugs aren't very impactful or interesting. If you encounter any bugs yourself, report them on the official bug report forum.

For more info on mutators check my mutator compendium.

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