じゃあ
if (n !== 0 && ItemControl.isItemUsable(unit, item)) {
d += n;
}
の後に耐久補正処理入れればいいんじゃね?