add attack range; close #29