Fix attack

真に修正できたはず。
テストを追加して正しく動くことを検証した。

Close #192.