public void advance() {
         if (location == null) {
             location = new Location(map.start[0], map.start[1]);
             grid.add(location, this);
         }else if(health <= 0) {
              kill();
         }else{

             if(step > speed) {
                 step = 0;
                 Location l = Path.findNext(Location.toPath(location), pathsNotTaken).toLocation();
                 if (grid.add(l, this)){
                     grid.remove(location);
                     Path.remove(location,pathsNotTaken);
                     location = l;
                 }

             }else{
                 step++;
             }
         }
         if(location.equals(End.location)){
             GameLogic.itsNotOver = false;
             Var.GAME_END_STRING = "HEROES WIN";
         }
     }