Couldn't you do this so that the hit that would bring a limb below half would have a chance to dismember? It worked for me in testing.
if((affecting.brute_dam + I.force) >= (affecting.max_damage / 2) && affecting.state != ORGAN_REMOVED)