result = new TargetRoll(3 - this.delta_distance, "mimetic armor");
result = new TargetRoll(mmod, "mimetic armor");
    public TargetRoll getStealthModifier(int range) {        TargetRoll result = null;        if (armorType != -1) {            /*            Here, in order, are the armor types used by custom Battle Armor at this point:            0: "Standard",            1: "Advanced",            2: "Prototype",            3: "Basic Stealth",            4: "Prototype Stealth",            5: "Standard Stealth",            6: "Improved Stealth",            7: "Fire Resistant",            8: "Mimetic"            */            if (armorType == 3) {                // Basic Stealth                switch (range) {                    case RangeType.RANGE_MINIMUM:                    case RangeType.RANGE_SHORT:                        // At short range, basic stealth doesn't get a mod!                        break;                    case RangeType.RANGE_MEDIUM:                        result = new TargetRoll(+1,                                                "Basic Stealth Armor");                        break;                    case RangeType.RANGE_LONG:                    case RangeType.RANGE_EXTREME: // TODO : what's the *real* modifier?                        result = new TargetRoll(+2,                                                "Basic Stealth Armor");                        break;                    default:                        throw new IllegalArgumentException                            ("Unknown range constant: " + range);                }            } else if (armorType == 4) {                // Prototype Stealth                switch (range) {                    case RangeType.RANGE_MINIMUM:                    case RangeType.RANGE_SHORT:                        // At short range, prototype stealth doesn't get a mod!                        break;                    case RangeType.RANGE_MEDIUM:                        result = new TargetRoll(+1,                                                "Prototype Stealth Armor");                        break;                    case RangeType.RANGE_LONG:                    case RangeType.RANGE_EXTREME: // TODO : what's the *real* modifier?                        result = new TargetRoll(+2,                                                "Prototype Stealth Armor");                        break;                    default:                        throw new IllegalArgumentException                            ("Unknown range constant: " + range);                }            } else if (armorType == 5) {                // Standard Stealth                switch (range) {                    case RangeType.RANGE_MINIMUM:                    case RangeType.RANGE_SHORT:                        result = new TargetRoll(+1,                                                "Standard Stealth Armor");                        break;                    case RangeType.RANGE_MEDIUM:                        result = new TargetRoll(+1,                                                "Standard Stealth Armor");                        break;                    case RangeType.RANGE_LONG:                    case RangeType.RANGE_EXTREME: // TODO : what's the *real* modifier?                        result = new TargetRoll(+2,                                                "Standard Stealth Armor");                        break;                    default:                        throw new IllegalArgumentException                            ("Unknown range constant: " + range);                }            } else if (armorType == 6) {                // Improved Stealth                switch (range) {                    case RangeType.RANGE_MINIMUM:                    case RangeType.RANGE_SHORT:                        result = new TargetRoll(+1,                                                "Improved Stealth Armor");                        break;                    case RangeType.RANGE_MEDIUM:                        result = new TargetRoll(+2,                                                "Improved Stealth Armor");                        break;                    case RangeType.RANGE_LONG:                    case RangeType.RANGE_EXTREME: // TODO : what's the *real* modifier?                        result = new TargetRoll(+3,                                                "Improved Stealth Armor");                        break;                    default:                        throw new IllegalArgumentException                            ("Unknown range constant: " + range);                }            } else if (armorType == 8) {                // Mimetic Armor                if (3 == this.delta_distance) {                    result = new TargetRoll(-1, "mimetic armor cancels movement bonus");                } else {                    result = new TargetRoll(3 - this.delta_distance, "mimetic armor");                }            }        } else {            // Mimetic armor modifier is based upon and replaces the movement            // bonus as listed below (BMRr, pg. 71):            //      0 hexes moved   +3 movement modifier            //      1 hex moved     +2 movement modifier            //      2 hexes moved   +1 movement modifier            //      3 hexes moved   +0 movement modifier            // N.B. Rather than mucking with Compute#getTargetMovementModifier,            // I decided to apply a -1 modifier here... the total works out.            if (isMimetic) {                if (3 == this.delta_distance) {                    result = new TargetRoll(-1,                                         "mimetic armor cancels movement bonus");                } else {                    result = new TargetRoll(3 - this.delta_distance,                                             "mimetic armor");                }            }                // Stealthy units alreay have their to-hit mods defined.            if (isStealthy) {                switch (range) {                    case RangeType.RANGE_MINIMUM:                    case RangeType.RANGE_SHORT:                        result = new TargetRoll(this.shortStealthMod,                                                this.stealthName);                        break;                    case RangeType.RANGE_MEDIUM:                        result = new TargetRoll(this.mediumStealthMod,                                                this.stealthName);                        break;                    case RangeType.RANGE_LONG:                    case RangeType.RANGE_EXTREME: // TODO : what's the *real* modifier?                        result = new TargetRoll(this.longStealthMod,                                                this.stealthName);                        break;                    default:                        throw new IllegalArgumentException                            ("Unknown range constant: " + range);                }            }        }        // Simple camo modifier is on top of the movement modifier        //      0 hexes moved   +2 movement modifier        //      1+ hexes moved  +1 movement modifier        // This can also be in addition to any armor except Mimetic!        if (isSimpleCamo && delta_distance < 2) {            int mod = 0;            if (0 == this.delta_distance) {                mod = 2;            } else {                mod = 1;            }            if (result == null)                result = new TargetRoll(mod, "camoflage");            else                result.append(new TargetRoll(mod, "camoflage"));        }        if (result == null)            result = new TargetRoll(0, "stealth not active");        // Return the result.        return result;    } // End public TargetRoll getStealthModifier( char )