>>272
ダメージ受ける処理を damege() メソッドを定義するのは、あらゆる行為がフック対象になるカードゲームでは設計ミス

DamageAction クラスを作って、その exec() メソッドにダメージを減らす処理を書くのが望ましい

そうすれば、「ダメージを全て倍にする」みたいな特殊なカードも、後からどんどん追加していける。