final IHex curHex = game.getBoard().getHex(en.getPosition());  if (null != curHex && !curHex.containsTerrain(Terrains.FIRE) && (curHex.containsTerrain(Terrains.WOODS) || curHex.containsTerrain(Terrains.JUNGLE))) { curHex.addTerrain(Terrains.getTerrainFactory().createTerrain(Terrains.FIRE, 1)); r = new Report(6170, Report.PUBLIC); r.subject = en.getId(); r.indent(2); r.add(en.getPosition().getBoardNum()); vDesc.addElement(r); sendChangedHex(en.getPosition());
if(game.getOptions().booleanOption("fire")) {  final IHex curHex = game.getBoard().getHex(en.getPosition());  if (null != curHex && !curHex.containsTerrain(Terrains.FIRE) && (curHex.containsTerrain(Terrains.WOODS) || curHex.containsTerrain(Terrains.JUNGLE))) { curHex.addTerrain(Terrains.getTerrainFactory().createTerrain(Terrains.FIRE, 1)); r = new Report(6170, Report.PUBLIC); r.subject = en.getId(); r.indent(2); r.add(en.getPosition().getBoardNum()); vDesc.addElement(r); sendChangedHex(en.getPosition()); }
    private boolean checkEngineExplosion(Entity en, Vector vDesc, int hits) {        if (!(en instanceof Mech)                && !(en instanceof QuadMech)                && !(en instanceof BipedMech)) {            return false;        }        if(en.isDestroyed())            return false;        Mech mech = (Mech)en;        if(en.rolledForEngineExplosion)            return false;        //ICE can always explode and roll every time hit        if (mech.getEngine().isFusion()                && (!game.getOptions().booleanOption("engine_explosions")                    || en.engineHitsThisRound < 2) )            return false;        int explosionBTH = 12;        if(!mech.getEngine().isFusion()) {            switch (hits) {                case 0:                    return false;                case 1:                    explosionBTH = 10;                    break;                case 2:                    explosionBTH = 7;                    break;                case 3:                default:                    explosionBTH = 4;                    break;            }        }        int explosionRoll = Compute.d6(2);        boolean didExplode = explosionRoll >= explosionBTH;        Report r;        r = new Report(6150);        r.subject = en.getId();        r.indent(2);        r.addDesc(en);        r.add(en.engineHitsThisRound);        vDesc.addElement(r);        r = new Report(6155);        r.subject = en.getId();        r.indent(2);        r.add(explosionBTH);        r.add(explosionRoll);        vDesc.addElement(r);        if ( !didExplode ) {            //whew!            if (mech.getEngine().isFusion())                en.rolledForEngineExplosion = true;            //fusion engines only roll 1/phase but ICE roll every time damaged            r = new Report(6160);            r.subject = en.getId();            r.indent(2);            vDesc.addElement(r);        } else {            en.rolledForEngineExplosion = true;            r = new Report(6165, Report.PUBLIC);            r.subject = en.getId();            r.indent(2);            vDesc.addElement(r);            vDesc.addAll( destroyEntity(en, "engine explosion", false, false));            //kill the crew            en.getCrew().setDoomed(true);            //This is a hack so MM.NET marks the mech as not salvageable            if (en instanceof Mech)                destroyLocation(en, Mech.LOC_CT);            //Light our hex on fire            final IHex curHex = game.getBoard().getHex(en.getPosition());            if (null != curHex                    && !curHex.containsTerrain(Terrains.FIRE)                    && (curHex.containsTerrain(Terrains.WOODS)                    || curHex.containsTerrain(Terrains.JUNGLE))) {                curHex.addTerrain(Terrains.getTerrainFactory().createTerrain(Terrains.FIRE, 1));                r = new Report(6170, Report.PUBLIC);                r.subject = en.getId();                r.indent(2);                r.add(en.getPosition().getBoardNum());                vDesc.addElement(r);                sendChangedHex(en.getPosition());            }            //ICE explosions don't hurt anyone else, but fusion do            if (mech.getEngine().isFusion()) {                int engineRating = en.getEngine().getRating();                doFusionEngineExplosion(engineRating, en.getPosition(), vDesc, null);            }        }        return didExplode;    }