protected void hitTarget(boolean hit, Player owner, Selectable target) {
   if (hit) damageTarget(target);
   AttackScanFilter filter = new AttackScanFilter(owner, MAX_BOUNDS_LENGTH);
   owner.getWorld().getUnitGrid().scan(filter, target.getGridX(), target.getGridY());
   Selectable s = filter.removeTarget();
   if (s != null && owner.getWorld().getRandom().nextFloat() > .5f) {
     setTarget(s);
   } else super.hitTarget(hit, owner, target);
 }