if (mounted.isHotLoaded()) { wn.append(Messages.getString("MechDisplay.isHotLoaded")); }
        public void displayMech(Entity en) {            // Grab a copy of the game.            IGame game = client.getClient().game;            // update pointer to weapons            this.entity = en;            int currentHeatBuildup = en.heat // heat from last round                    + en.getEngineCritHeat() // heat engine crits will add                    + en.heatBuildup; // heat we're building up this round            if (en instanceof Mech) {                if (en.infernos.isStillBurning()) { // hit with inferno ammo                    currentHeatBuildup += en.infernos.getHeat();                }                if (!((Mech) en).hasLaserHeatSinks()) {                    // extreme temperatures.                    if (game.getOptions().intOption("temperature") > 0) {                        currentHeatBuildup += game.getTemperatureDifference();                    } else {                        currentHeatBuildup -= game.getTemperatureDifference();                    }                }            }            Coords position = entity.getPosition();            if (!en.isOffBoard() && position != null) {                IHex hex = game.getBoard().getHex(position);                if (hex.terrainLevel(Terrains.FIRE) == 2) {                    currentHeatBuildup += 5; // standing in fire                }                if (hex.terrainLevel(Terrains.MAGMA) == 1) {                    currentHeatBuildup += 5;                } else if (hex.terrainLevel(Terrains.MAGMA) == 2) {                    currentHeatBuildup += 10;                }            }            if (en instanceof Mech && en.isStealthActive()) {                currentHeatBuildup += 10; // active stealth heat            }            // update weapon list            weaponList.removeAll();            m_chAmmo.removeAll();            m_chAmmo.setEnabled(false);            for (int i = 0; i < entity.getWeaponList().size(); i++) {                Mounted mounted = entity.getWeaponList().get(i);                WeaponType wtype = (WeaponType) mounted.getType();                StringBuffer wn = new StringBuffer(mounted.getDesc());                wn.append(" ["); //$NON-NLS-1$                wn.append(en.getLocationAbbr(mounted.getLocation()));                if (mounted.isSplit()) {                    wn.append("/"); //$NON-NLS-1$                    wn.append(en.getLocationAbbr(mounted.getSecondLocation()));                }                wn.append("]"); //$NON-NLS-1$                // determine shots left & total shots left                if (wtype.getAmmoType() != AmmoType.T_NA                        && !wtype.hasFlag(WeaponType.F_ONESHOT)) {                    int shotsLeft = 0;                    if (mounted.getLinked() != null                            && !mounted.getLinked().isDumping()) {                        shotsLeft = mounted.getLinked().getShotsLeft();                    }                    EquipmentType typeUsed = null;                    if (null != mounted.getLinked()) {                        typeUsed = mounted.getLinked().getType();                    }                    int totalShotsLeft = entity.getTotalMunitionsOfType(typeUsed);                    wn.append(" ("); //$NON-NLS-1$                    wn.append(shotsLeft);                    wn.append("/"); //$NON-NLS-1$                    wn.append(totalShotsLeft);                    wn.append(")"); //$NON-NLS-1$                }                // MG rapidfire                if (mounted.isRapidfire()) {                    wn.append(Messages.getString("MechDisplay.rapidFire")); //$NON-NLS-1$                }                // Fire Mode - lots of things have variable modes                if (wtype.hasModes()) {                    wn.append(" ");                    wn.append(mounted.curMode().getDisplayableName()); //$NON-NLS-1$                }                weaponList.add(wn.toString());                if (mounted.isUsedThisRound() && game.getPhase() == mounted.usedInPhase()                        && game.getPhase() == IGame.PHASE_FIRING) {                    // add heat from weapons fire to heat tracker                    currentHeatBuildup += wtype.getHeat() * mounted.howManyShots();                }            }            // This code block copied from the MovementPanel class,            //  bad coding practice (duplicate code).            int heatCap = en.getHeatCapacity();            int heatCapWater = en.getHeatCapacityWithWater();            String heatCapacityStr = Integer.toString(heatCap);            if (heatCap < heatCapWater) {                heatCapacityStr = heatCap + " [" + heatCapWater + "]"; //$NON-NLS-1$ //$NON-NLS-2$            }            // end duplicate block            String heatText = Integer.toString(currentHeatBuildup);            if (currentHeatBuildup > en.getHeatCapacityWithWater()) {                heatText += "*"; // overheat indication //$NON-NLS-1$            }            // check for negative values due to extreme temp            if (currentHeatBuildup < 0) {                currentHeatBuildup = 0;            }            this.currentHeatBuildupR.setText(heatText + " (" + heatCapacityStr + ")"); //$NON-NLS-1$ //$NON-NLS-2$            // If MaxTech range rules are in play, display the extreme range.            if (game.getOptions().booleanOption("maxtech_range")) { //$NON-NLS-1$                wExtL.setVisible(true);                wExtR.setVisible(true);            } else {                wExtL.setVisible(false);                wExtR.setVisible(false);            }        }