まぁなにがいいたいかというと
部分的にはそういう処理で正しく動くけど

アイテムで回復する、敵の攻撃でダメージうける、自然に回復する
毒などの効果でダメージうける・・・・

っていう風に、その都度更新処理を書くと
同じようなコードがたくさんプログラムの中にちりばめられてしまうだろ

ソースは長くなり、読みにくくなり、仕様変更に弱く、バグりやすい

そういう作り方になってしまう