通常攻撃だけとかであれば、ダメージ計算式を下記のようにすればそれっぽくなりそう。
(ほとんどプログラミングの域に入ってますが)
a.atk * 4 * (a.hasState(33) ? Math.min(a.mhp/a.hp, 2.5) : 1) - b.def * 2
# 33番のステートを持ってる場合、攻撃力を最大HP/HP倍(最大2.5倍)する。
# (例) 最大HP150 & 現在HP100 => 攻撃力1.5倍(150/100)
全ての攻撃スキルに適用させたり、倍率計算をもっと複雑にしたいとなると、
メルサイアさんご提案のやり方の方が良さそうですね。