Using hitpoints for IN RANGE

I thought it would be very cool if you could use expressions to see what happened to people after they dropped below 30% health, until they either died or were healed back up over 50%. Here’s my first attempt at creating an expression filter, which doesn’t work.

IN RANGE WHEN resources.hitPoints > 0 FROM resources.hpPercent < 30 TO resources.hpPercent > 50 GROUP BY target END

The idea being, the range starts when the target drops below 30%, and ends after going back above 50%.

If the start/end conditions are the same, I can just do something like this which is much simpler,
target.disposition = 'friendly' AND (type = 'heal' OR type = 'damage') AND resources.hpPercent < 30
but I was curious about whether something like the first try is possible.

This might be three years too late. But found your topic through google.
And I think this would work.
IN RANGE WHEN resources.hitPoints > 0 FROM ((resources.hitPoints - effectiveHealing) < resources.maxHitPoints/3) TO ((resources.hitPoints - effectiveHealing) > resources.maxHitPoints/2) GROUP BY target END

You just have to find the hitpoint before effective healing instead of using the hpPercent.

After looking at my own pin. I think it might be something like this
IN RANGE WHEN resources.hitPoints > 0 AND type = “heal” FROM ((resources.hitPoints - effectiveHealing) < resources.maxHitPoints/3) TO ((resources.hitPoints - effectiveHealing) > resources.maxHitPoints/2) GROUP BY source ON target END

Might have to GROUP BY source ON target.

I’m still new with this IN RANGE thingy still not very sure.