Truth be told, there are several issues with poison, but this will talk about the largest one.
How Regeneration Works
Monsters and players alike have the ability to regenerate their health over time. We’ll focus on the monster side. Once a monster takes damage for the first time, it can begin regenerating its health, unless it has been specifically coded to have 0 regeneration (meaning it simply does not gain life over time). Regeneration happens on every game tick (frame) using bit health values.
Whenever a monster takes damage, its health regeneration is ignored for that frame. This is how bitrate skills like poison damage and pyre skills like Fire Wall are able to prevent monster regeneration. Since bitrate skills apply damage on every frame, they prevent regeneration on every frame too. Open Wounds does something similar, but it is coded differently. More on that below. This is how strategies employing Fire Wall or reviving Arach monsters for their poison to disable Uber Boss health regeneration works. For as long as the monster is taking the damage, they will not regenerate. The moment they stop taking that damage, they begin to regenerate again.
The Problem With Poison
Why do we care about regeneration? Well, that’s because poison damage is coded as negative regeneration. This means that while a monster is poisoned, if they take damage from any other source, the poison damage is also ignored for that frame. This is the issue.
In most cases, it’s difficult to notice this effect. But imagine you’re a Plague Javelin Amazon, Rabies Druid, or Poison Nova Necromancer and you’re playing with your friend who is a Meteor and Fire Wall Sorceress. For every monster that your friend is damaging, your poison damage is entirely ignored.
How Open Wounds Works
But Warren, Open Wounds exists! Does it run into the same issue as poison damage? Does Open Wounds also cause poison damage to be ignored? The answer to both is no. Open Wounds is coded as an entirely separate function. It neither prevents poison from dealing damage nor can it be ignored in the same way poison can. But it does still prevent health regeneration! Strange.
The Solution
Re-implement poison damage similarly to Open Wounds. Of course, you can’t just slap poison damage onto the Open Wounds function and call it a day. Open Wounds has other special interactions that should not apply to poison damage (such as reduced damage against specific monsters and dealing less damage in some scenarios when applied by ranged attacks). Open Wounds is also pure damage. There is no way for you to stop it or lower its damage output. There is no resistance for it. So, naturally, poison damage cannot simply hop onto the Open Wounds function. But if poison damage was re-implemented not using negative regeneration and functioned similarly to Open Wounds but did poison damage, factored in poison resistance, poison length reduction, etc, then it would no longer have this bug.
Notable Instances of the Bug
A Necromancer having an army and using any poison skill. If the army are all hitting one monster (happens most against bosses), the Necromancer’s poison damage will be ignored on more frames than not, heavily reducing damage output. This means a Poison Necro cannot have an army without penalizing poison damage heavily.
Large group play or being partied with someone else who does bitrate damage. So you’re a Poison Necromancer and you’ve realized you must forsake your fantasy of having an army to be able to deal poison damage. Now you must also forsake playing with another Necromancer who has an army as well or face the same issue. Additionally, you must avoid playing with bitrate skill users. Your friend running a Fire Wall Sorceress will render your entire damage output worthless.
So you’re a Rabies Druid, wanting to step away from the meta. Your friend sees the cool, new Fire Trap Assassin after its massive buffs and wants to play it. Unfortunately, Wake of Fire when all 5 traps are up and attacking is also a bitrate skill, and massively area-of-effect, so your cool Rabies infections simply get to sit on the sidelines and watch as the fire kills the monsters since you cannot deal any damage.
The list goes on. Even something like a Martial Arts Assassin with many projectiles can apply damage very often, causing poison damage to be cancelled more often than not.
Another Noteworthy Poison Issue
This one may not technically be a bug, but it is extremely detrimental. Venom, from the Assassin, overrides item poison length and sets it to 10 frames. Poison does x damage every frame for y frames. So if you have a charm that does 100 poison damage over 10 seconds, you effectively do 0.4 damage every frame for 250 frames. However, Venom sets this to 10 frames. Now you do 0.4 damage every frame for 10 frames. Meaning after 0.4 seconds have transpired, you will have done 4 poison damage and then the poison damage ends.
This bug only involves item/weapon poison damage, and does not apply to any poison skills at all. Poison Dagger, Poison Javelin, and Plague Javelin actually have beneficial interactions with Venom. But it ruins item poison damage. Do you have a bunch of poison damage charms in your inventory but also use Treachery? Venom will prevent you from doing any poison damage. Are you an Assassin using Venom and not sure if you should have poison damage charms or not? Don’t bother, Venom ruins it. You would either have to pick Venom (which only lasts for 0.4 seconds but does notable damage in that short time period) or poison damage from items (which you can stack a lot of and applies over notable durations), as you cannot have both.