If you're interested in how the game mechanics work in detail or like reading about game testing, read on. If you aren't, skip to the TL;DR at the very end for the punch line.
@BrianGrant recently posted a video where he tested the effects of Angela's new sig ability to reduce the duration of damaging debuffs. He was exploring the idea of what would happen if you reduced duration to a very tiny amount: could you get Willpower healing ticks without getting any damage ticks. Interestingly he discovered something unexpected: that when you reduce the duration of a damaging debuff to less than one "tick" the actual damage of that tick drops. For those interested in the test, or who just like learning about the inside ball of the game engine, I recommend watching the video here:
https://www.youtube.com/watch?v=uxLYh67GVAwI watched this video very carefully and I was able to generalize his conclusions to determine, at least in the Angela tests, what's going on. Here's what I believe is actually happening.
So you'd think that if you reduce the duration of a damaging debuff you would reduce the number of ticks of damage you take. And this is true. But there's also another effect that occurs, and it occurs specifically on the last damage tick. In Brian's video Caltrops is dealing about 208 damage per tick and ticking over 6 seconds. Because damage over time debuffs tick every half second, the normal Caltrops debuff would deal 12 ticks of 208 damage, one tick every half second. In Brian's first test he takes Angela to sig 154 which means Angela reduces damage over time debuffs by 30.59% per buff. The interesting thing is to see Brian's first "failed" test where he triggers Caltrops while Angela has only two buffs. This would reduce Caltrops duration by 61.18%. This would take a 6s debuff down to 6 x 0.3882 = 2.3292s.~ 2.33s. 2.33s means a damage over time debuff should tick four times, and then there's 0.33s left. If the game really did apply debuffs every half second, that would be it: there's not enough time to trigger the next tick. But that's not what happens in Brian's test. If you watch very carefully, Angela takes four ticks of 208 damage and one last tick of 138 damage. Why 138?
The best explanation is that when the game has "left over time" it amortizes the last damage tick. It knows the player should take 0.33 seconds of damage, but the next tick is 0.5 seconds away. So it assumes the player should take a fraction of that last tick, in this case 0.33/0.5 = 0.66x the normal damage tick. And 208 x 0.66 = 137.28, which rounds to 137 on screen.
Let's see if this theory can predict the results of Brian's sig180 test. He takes Angela to sig 180, which means Angela now reduces damaging debuffs by 33.15% per buff, or 99.45% with three buffs. If the theory is right, then this should reduce the duration of Caltrops from 6s to 6 x 0.0055 = 0.033 seconds. If I do the math the same way I get 0.033/0.5 x 208 = 13.7 ~ 14. This is slightly lower than the visual result of the test which was a tick of 15 (actually the game ticked 15 for one debuff and 16 for another this is probably game engine clock quantum aliasing). If instead of 0.066 x 208 I round to 0.07 x 208 I get 14.56 which would round off to 15, a better agreement with the visual result.
It seems that in some cases the game rounds numbers to the nearest 0.01; doing that sort of round off at the right place generated results that agreed with Brian's test for sig 154 and again for sig 180. This is not the only instance in which this seems to have been the case in testing the game.
So it seems based on this test that the game engine doesn't just blindly tick damage over time at half second intervals. It does that so long as the duration of the debuff is a whole multiple of 0.5 seconds. If it is not, the game ticks off as many whole ticks of 0.5 seconds as it can, and then whatever left over time is remaining the game determines what portion of half a second that is, and ticks one last tick of damage that is a percentage of the normal tick.
For those that are confused by the math, here's a simple example to illustrate what's going on. Suppose you have a damage debuff that lasts 2 seconds and deals 400 damage. It will tick 4 times, every half second for 100 damage. If you reduce that duration by 50% somehow, it will tick for one second so you'd get two ticks, all still 100 damage. But let's say that you manage to reduce the duration down to 1.25 seconds instead. You'd get 2 ticks during that first second, and then since there's a quarter of a second to go, and that is half of a normal "tick" of half a second, your last damage tick will be cut in half. You'd get three ticks: two ticks of 100 damage and one tick of 50 damage.
TL;DR: If you reduce the duration of a damaging debuff you get less damage ticks, and you also can get a smaller last damage tick. If you reduce a damaging debuff to less than 0.5 seconds you'll only get one damage tick, and it will be smaller than normal based on how short it is. The only way to take zero damage is to reduce the duration to zero, but you can reduce the damage of a damage over time debuff to less than one full tick of damage.
Credit to Brian Grant for taking the time to conduct this test and sharing the full video of the test failures, which produced the data that allowed me to figure this out.
Note: one last thing. I did some of my own testing here, and it seems if you reduce the duration of a damage over time debuff low enough, you don't get Willpower healing ticks. You might get a very tiny damage tick, but it seems likely a DoT debuff must last a certain minimum amount of time to trigger Willpower. Maybe at least one animation frame (1/30 seconds).