I tested this by going up to a troll, setting it to be stunned for 10000 turns. Then I changed it's physical save to 100 and hit it with Stunning Blow. It was no longer stunned.
Not really sure if this is a bug or intended behavior. I really don't like it, though.
The fix seems really simple: In engine/interface/ActorTemporaryEffects, on line 110, change:
Code: Select all
if p.dur <= 0 then return self:removeEffect(eff_id) endCode: Select all
if p.dur <= 0 then return end