I think this is due to an interaction between ice blocks causing immunity to new negative status effects, immunity to new status effects being added by giving the effect 0 duration, and bleak outcome applying the new duration when merging stacks (my only hesitation is that I'm not sure Bleak Outcome is magical, not other, and negative_status_effect_immune code excludes 'other' type effects):
EDIT: Was able to confirm bleak outcome is a magical effect.
From FROZEN effect in data/timed_effects/Physical.lua
Code: Select all
eff.sefid = self:addTemporaryValue("negative_status_effect_immune", 1)
Code: Select all
if e.status == "detrimental" and e.type ~= "other" and self:attr("negative_status_effect_immune") then
p.dur = 0
Code: Select all
on_merge = function(self, old_eff, new_eff)
old_eff.dur = new_eff.dur