// reset shortest path algorithm when the cursor moves @Override public void mouseMoved(MouseEvent e) { // set relative position of the cell that cursor points to base on actual map GameMap temp = (GameMap) panel; mainHero = panel.getFacade().getMainHero(); Cell rangeCell = new Cell(); Point curPos = e.getPoint(); int x = (curPos.x + panel.getScrollX()) / Utilizer.TILE_SIZE; rangeCell.setColPos(x); x = x * Utilizer.TILE_SIZE; rangeCell.setX(x); int y = (curPos.y + panel.getScrollY()) / Utilizer.TILE_SIZE; rangeCell.setRowPos(y); y = y * Utilizer.TILE_SIZE; rangeCell.setY(y); if (rangeCell.getRowPos() >= 0 && rangeCell.getRowPos() <= 39 && rangeCell.getColPos() >= 0 && rangeCell.getColPos() <= 39) temp.setRangedCell(rangeCell); else return; // set hero movement if (panel.getFacade().getMainHero().getIsChosen() // && // inRange(selectCell,panel.getHero().calculateRange(panel.getHero().getRow(),panel.getHero().getCol(),(panel.getHero().getAP()/2) +1 )) ) { mainHero.calculateShortestPath(rangeCell); } panel.repaint(); }