if (getLastStep().getMovementType()==STEP_CHARGE) { return getSecondLastStep().isLegal(); }
    public boolean isMoveLegal() {        // Moves which end up off of the board are not legal.        if (!game.getBoard().contains(getFinalCoords())) {            return false;        }        if (getLastStep() == null) {            return true;        }        return getLastStep().isLegal();    }