!this.isStackingViolation && !other.isStackingViolation && !this.terrainInvalid && !other.terrainInvalid ) {
this.isLegalEndPos() && other.isLegalEndPos() ) {
    public boolean canReuseSprite(MoveStep other) {        // Assume that we *can't* reuse the sprite, and prove ourself wrong.        boolean reuse = false;        if (this.type == other.type &&            this.facing == other.facing &&            this.mpUsed == other.mpUsed &&            this.movementType == other.movementType &&            this.isProne == other.isProne &&            this.danger == other.danger &&            this.pastDanger == other.pastDanger &&            this.isUsingMASC == other.isUsingMASC &&            this.targetNumberMASC == other.targetNumberMASC &&            this.isPavementStep == other.isPavementStep &&            !this.isStackingViolation &&            !other.isStackingViolation &&            !this.terrainInvalid &&            !other.terrainInvalid ) {            reuse = true;        }        return reuse;    }