hoge()の最後でretの中身に応じて必要な回復処理すればいいだけじゃねーの?