if (src.equals(dest) || srcHex.getElevation() < destHex.getElevation()) {
if (src.equals(dest) || srcHex.floor() < destHex.floor()) {
    private void doSkillCheckWhileMoving(Entity entity, Coords src, Coords dest,                                         PilotingRollData reason) {        final PilotingRollData roll = Compute.getBasePilotingRoll(game, entity.getId());        final Hex srcHex = game.board.getHex(src);        final Hex destHex = game.board.getHex(dest);        boolean fallsInPlace;        int fallElevation;        // append the reason modifier        roll.append(reason);        // will the entity fall in the source or destination hex?        if (src.equals(dest) || srcHex.getElevation() < destHex.getElevation()) {            fallsInPlace = true;        } else {            fallsInPlace = false;        }        // how far down did it fall?        fallElevation = Math.abs(destHex.getElevation() - srcHex.getElevation());                // okay, print the info        phaseReport.append("\n" + entity.getDisplayName()                + " must make a piloting skill check"                + " while moving from hex " + src.getBoardNum()                + " to hex " + dest.getBoardNum()                + " (" + reason.getPlainDesc() + ")" + ".\n");        // roll        final int diceRoll = Compute.d6(2);        phaseReport.append("Needs " + roll.getValue()                + " [" + roll.getDesc() + "]"                + ", rolls " + diceRoll + " : ");        if (diceRoll < roll.getValue()) {            phaseReport.append("falls.\n");            doEntityFallsInto(entity, (fallsInPlace ? dest : src), (fallsInPlace ? src : dest), roll);        } else {            phaseReport.append("succeeds.\n");        }    }