public double getWeightWeapon() { double weight = 0.0; for (Mounted m : getEntity().getTotalWeaponList()) { if (m.isWeaponGroup()) { continue; } WeaponType wt = (WeaponType) m.getType(); if (m.isDWPMounted()){ weight += wt.getTonnage(getEntity()) * 0.75; } else { weight += wt.getTonnage(getEntity()); } } return weight; }
@Override public void setUnit(Unit u) { super.setUnit(u); if(null != unit) { weight = 0; for (Mounted m : unit.getEntity().getWeaponList()) { WeaponType wt = (WeaponType) m.getType(); if (m.getLocation() == this.loc) { weight += wt.getTonnage(unit.getEntity()) / 10.0; } } weight = Math.ceil(weight * 2) / 2; } }
@Override public StringBuffer printWeapon(StringBuffer buff, int posLoc, int posWeight) { for (Mounted m : getEntity().getWeaponList()) { WeaponType mt = (WeaponType) m.getType(); buff.append(StringUtil.makeLength(mt.getName(), 20)); buff.append( StringUtil.makeLength(getLocationAbbr(m.getLocation()), getPrintSize() - 5 - 20)) .append(TestEntity.makeWeightString(round(mt .getTonnage(getEntity()), Ceil.KILO))).append("\n"); } return buff; }
public StringBuffer printWeapon(StringBuffer buff, int posLoc, int posWeight) { for (Mounted m : getEntity().getWeaponList()) { WeaponType mt = (WeaponType) m.getType(); // Don't think this can happen, but ... if (m.getLocation() == Entity.LOC_NONE) { continue; } buff.append(StringUtil.makeLength(mt.getName(), 20)); buff.append( StringUtil.makeLength(getLocationAbbr(m.getLocation()), getPrintSize() - 5 - 20)) .append(TestEntity.makeWeightString(mt .getTonnage(getEntity()))).append("\n"); } return buff; }
weight += wt.getTonnage(getEntity()) * 0.75; } else if (m.isSquadSupportWeapon()){ if (ba.isClan()){ weight += wt.getTonnage(getEntity()) * 0.4; } else { weight += wt.getTonnage(getEntity()) * 0.5; weight += wt.getTonnage(getEntity());
@Override public double getWeightPowerAmp() { // Conventional Fighters with ICE engines may need a power amp if ((aero.hasETypeFlag(Entity.ETYPE_CONV_FIGHTER)) && aero.hasEngine() && (aero.getEngine().getEngineType() == Engine.COMBUSTION_ENGINE)) { double weight = 0; for (Mounted m : aero.getWeaponList()) { WeaponType wt = (WeaponType) m.getType(); if (wt.hasFlag(WeaponType.F_ENERGY) && !(wt instanceof CLChemicalLaserWeapon) && !(wt instanceof VehicleFlamerWeapon)) { weight += wt.getTonnage(aero); } Mounted linkedBy = m.getLinkedBy(); if ((linkedBy != null) && (linkedBy.getType() instanceof MiscType) && linkedBy.getType().hasFlag(MiscType.F_PPC_CAPACITOR)){ weight += ((MiscType)linkedBy.getType()).getTonnage(aero); } } // Power amp weighs: // energy weapon tonnage * 0.1 rounded to nearest half ton return Math.ceil(0.1 * weight*2) / 2.0; } return 0; }
/** * Computes and returns the power amplifier weight for this entity, if any. * Returns 0.0 if the entity needs no amplifiers due to engine type or not * carrying any weapons requiring them. * * @return the power amplifier weight in tons. */ public double getPowerAmplifierWeight() { // If we're fusion- or fission-powered, we need no amplifiers to begin // with. if(hasEngine() && (getEngine().isFusion() || (getEngine().getEngineType() == Engine.FISSION))) { return 0.0; } // Otherwise we need to iterate over our weapons, find out which of them // require amplification, and keep a running weight total of those. double total = 0.0; for (Mounted m : getWeaponList()) { WeaponType wt = (WeaponType) m.getType(); if ((wt.hasFlag(WeaponType.F_LASER) && (wt.getAmmoType() == AmmoType.T_NA)) || wt.hasFlag(WeaponType.F_PPC) || wt.hasFlag(WeaponType.F_PLASMA) || wt.hasFlag(WeaponType.F_PLASMA_MFUK) || (wt.hasFlag(WeaponType.F_FLAMER) && (wt.getAmmoType() == AmmoType.T_NA))) { total += wt.getTonnage(this); } } // Finally use that total to compute and return the actual power // amplifier weight. return Math.ceil(total / 5) / 2; }
WeaponType wt = (WeaponType) mo.getType(); if (wt.hasFlag(WeaponType.F_DIRECT_FIRE)) { fTons += wt.getTonnage(getEntity());
WeaponType wt = (WeaponType) mo.getType(); if (wt.hasFlag(WeaponType.F_DIRECT_FIRE)) { fTons += wt.getTonnage(entity);
@Override public double getWeightPowerAmp() { if (mech.isIndustrial() && (!mech.hasEngine() || (mech.getEngine().getEngineType() == Engine.COMBUSTION_ENGINE) || (mech.getEngine().getEngineType() == Engine.FUEL_CELL))) { double powerAmpWeight = 0; for (Mounted m : mech.getWeaponList()) { WeaponType wt = (WeaponType) m.getType(); if (wt instanceof EnergyWeapon) { powerAmpWeight += wt.getTonnage(mech); } if ((m.getLinkedBy() != null) && (m.getLinkedBy().getType() instanceof MiscType) && m.getLinkedBy().getType().hasFlag(MiscType.F_PPC_CAPACITOR)) { powerAmpWeight += ((MiscType) m.getLinkedBy().getType()) .getTonnage(mech); } } return TestEntity.ceil(powerAmpWeight / 10f, getWeightCeilingPowerAmp()); } return 0; }
@Override public double getWeightPowerAmp() { if (getEntity().isSupportVehicle() && (getEntity().getWeight() < 5)) { return 0; } if (!engine.isFusion() && (engine.getEngineType() != Engine.FISSION)) { double weight = 0; for (Mounted m : tank.getWeaponList()) { WeaponType wt = (WeaponType) m.getType(); if (wt.hasFlag(WeaponType.F_ENERGY) && !(wt instanceof CLChemicalLaserWeapon) && !(wt instanceof VehicleFlamerWeapon)) { weight += wt.getTonnage(tank); } if ((m.getLinkedBy() != null) && (m.getLinkedBy().getType() instanceof MiscType) && m.getLinkedBy().getType(). hasFlag(MiscType.F_PPC_CAPACITOR)) { weight += ((MiscType)m.getLinkedBy().getType()).getTonnage(tank); } } return TestEntity.ceil(weight / 10, getWeightCeilingPowerAmp()); } return 0; }
WeaponType wt = (WeaponType) m.getType(); if (wt.hasFlag(WeaponType.F_DIRECT_FIRE)) { fTons += wt.getTonnage(entity);
if (wt.hasFlag(WeaponType.F_LASER) || wt.hasFlag(WeaponType.F_PPC)) { sinks += wt.getHeat(); paWeight += wt.getTonnage(this) / 10.0; turretWeight += wt.getTonnage(this) / 10.0; turretWeight += wt.getTonnage(this) / 10.0;
WeaponType wt = (WeaponType) m.getType(); if (wt.hasFlag(WeaponType.F_DIRECT_FIRE)) { fTons += wt.getTonnage(entity);
if (((Infantry) ae).getShootingStrength() < Math.ceil(fieldGunWeight + wtype.getTonnage(ae))) { return "Not enough men remaining to fire this field gun";