break; if (hasFlag(LARGE_ENGINE)) { cost *= 2;
|| ((engineType == XL_ENGINE) && hasFlag(CLAN_ENGINE))) { int[] slots; if (hasFlag(SUPERHEAVY_ENGINE)) { slots = new int[]{ 0 }; } else { } else if (engineType == XL_ENGINE) { int[] slots; if (hasFlag(SUPERHEAVY_ENGINE)) { slots = new int[]{ 0, 1 }; } else { } else if ((engineType == XXL_ENGINE) && hasFlag(CLAN_ENGINE)) { int[] slots; if (hasFlag(SUPERHEAVY_ENGINE)) { slots = new int[]{ 0, 1 }; } else { } else if (engineType == XXL_ENGINE) { int[] slots; if (hasFlag(SUPERHEAVY_ENGINE)) { slots = new int[]{ 0, 1, 2 }; } else {
if (engineType == COMPACT_ENGINE) { int[] slots; if (hasFlag(SUPERHEAVY_ENGINE)) { slots = new int[]{ 0, 1 }; } else { } else if (hasFlag(LARGE_ENGINE)) { if (gyroType == Mech.GYRO_COMPACT) { int[] slots; if (hasFlag(SUPERHEAVY_ENGINE)) { slots = new int[]{ 0, 1, 2, 5 }; } else { if (hasFlag(SUPERHEAVY_ENGINE)) { slots = new int[]{ 0, 1, 2, 7 }; } else { if (gyroType == Mech.GYRO_COMPACT) { int[] slots; if (hasFlag(SUPERHEAVY_ENGINE)) { slots = new int[]{ 0, 1, 2 }; } else { } else if (gyroType == Mech.GYRO_XL) { int[] slots; if (hasFlag(SUPERHEAVY_ENGINE)) { slots = new int[]{ 0, 1, 2 }; } else {
@Override public boolean isRightTechType(String skillType) { if(getEngine().hasFlag(Engine.TANK_ENGINE)) { return skillType.equals(SkillType.S_TECH_MECHANIC); } else { return skillType.equals(SkillType.S_TECH_MECH) || skillType.equals(SkillType.S_TECH_AERO); } }
/** * return the number of heatsinks that fit weight-free into the engine * @return */ public int getWeightFreeEngineHeatSinks() { // Support Vee engines never provide free heat-sinks, TM pg 133 if (hasFlag(SUPPORT_VEE_ENGINE)) { return 0; } if (isFusion()) { return 10; } else if (engineType == FISSION) { return 5; } else if (engineType == FUEL_CELL) { return 1; } else { return 0; } }
if (hasFlag(~(CLAN_ENGINE | TANK_ENGINE | LARGE_ENGINE | SUPERHEAVY_ENGINE | SUPPORT_VEE_ENGINE))) { problem.append("Flags:" + engineFlags); if (hasFlag(SUPPORT_VEE_ENGINE) && (engineType != STEAM) && (engineType != COMBUSTION_ENGINE) && (engineType != BATTERY) && (engineType != FUEL_CELL) && (engineType != SOLAR) || (engineRating < 0)) && !hasFlag(SUPPORT_VEE_ENGINE)) { problem.append("Rating:" + engineRating); return false; if ((engineRating > 400) && !hasFlag(SUPPORT_VEE_ENGINE)) { engineFlags |= LARGE_ENGINE; break; case COMPACT_ENGINE: if (hasFlag(LARGE_ENGINE)) { problem.append(Messages .getString("Engine.invalidCompactLarge")); case LIGHT_ENGINE: case FISSION: if (hasFlag(CLAN_ENGINE)) { problem.append(Messages .getString("Engine.invalidSphereOnly"));
StringBuffer sb = new StringBuffer(); sb.append(Integer.toString(engineRating)); if (hasFlag(LARGE_ENGINE)) { sb.append(Messages.getString("Engine.Large")); return problem.toString(); if (hasFlag(CLAN_ENGINE)) { sb.append(Messages.getString("Engine.Clan")); if (hasFlag(TANK_ENGINE)) { sb.append(Messages.getString("Engine.Vehicle"));
@Override protected String getSystemName(Entity entity, int index) { // Here we're only concerned with engines that take extra critical slots in the // side torso if (index == Mech.SYSTEM_ENGINE) { final StringBuilder sb = new StringBuilder(); if (entity.getEngine().hasFlag(Engine.LARGE_ENGINE)) { sb.append("Large "); } switch (entity.getEngine().getEngineType()) { case Engine.XL_ENGINE: sb.append("XL"); break; case Engine.LIGHT_ENGINE: sb.append("Light"); break; case Engine.XXL_ENGINE: sb.append("XXL"); break; } sb.append(" Engine"); return sb.toString(); } else { return ((Mech) entity).getRawSystemName(index); } }
public void fixTankFlag(boolean hover) { int flags = engine.getFlags(); if(!engine.hasFlag(Engine.TANK_ENGINE)) { flags |= Engine.TANK_ENGINE; } engine = new Engine(engine.getRating(), engine.getEngineType(), flags); this.name = engine.getEngineName() + " Engine"; this.forHover = hover; }
public void fixClanFlag() { int flags = engine.getFlags(); if(!engine.hasFlag(Engine.CLAN_ENGINE)) { flags |= Engine.CLAN_ENGINE; } engine = new Engine(engine.getRating(), engine.getEngineType(), flags); this.name = engine.getEngineName() + " Engine"; }
public void fixTankFlag(boolean hover) { int flags = engine.getFlags(); if(!engine.hasFlag(Engine.TANK_ENGINE)) { flags |= Engine.TANK_ENGINE; } engine = new Engine(engine.getRating(), engine.getEngineType(), flags); this.name = engine.getEngineName() + " Engine"; this.forHover = hover; }
public void fixClanFlag() { int flags = engine.getFlags(); if(!engine.hasFlag(Engine.CLAN_ENGINE)) { flags |= Engine.CLAN_ENGINE; } engine = new Engine(engine.getRating(), engine.getEngineType(), flags); this.name = engine.getEngineName() + " Engine"; }
if (engine.hasFlag(Engine.TANK_ENGINE) && engine.isFusion()) { weight *= 1.5f;
if (engine.hasFlag(Engine.TANK_ENGINE) && engine.isFusion()) { weight *= 1.5f;
if (engine.hasFlag(Engine.TANK_ENGINE) && engine.isFusion()) { weight *= 1.5f;
@Override public boolean isSamePartType(Part part) { int year = campaign.getCalendar().get(GregorianCalendar.YEAR); return part instanceof EnginePart && getName().equals(part.getName()) && getEngine().getEngineType() == ((EnginePart) part) .getEngine().getEngineType() && getEngine().getRating() == ((EnginePart) part).getEngine() .getRating() && getEngine().getTechType(year) == ((EnginePart) part).getEngine() .getTechType(year) && getEngine().hasFlag(Engine.TANK_ENGINE) == ((EnginePart) part).getEngine().hasFlag(Engine.TANK_ENGINE) && getUnitTonnage() == ((EnginePart) part).getUnitTonnage() && getTonnage() == ((EnginePart)part).getTonnage(); }
@Override public Part getNewPart() { boolean useHover = null != unit && unit.getEntity().getMovementMode() == EntityMovementMode.HOVER && unit.getEntity() instanceof Tank; int flags = 0; if(engine.hasFlag(Engine.CLAN_ENGINE)) { flags = Engine.CLAN_ENGINE; } if(null != unit && unit.getEntity() instanceof Tank) { flags |= Engine.TANK_ENGINE; } return new EnginePart(getUnitTonnage(), new Engine(engine.getRating(), engine.getEngineType(), flags), campaign, useHover); }
@Override public double getWeightEngine() { double wt = super.getWeightEngine(); // Conventional fighters with fusion engines require extra shielding. // Per TacOps fission engines require extra shielding as well. if (getEntity().hasETypeFlag(Entity.ETYPE_CONV_FIGHTER) && (null != getEntity().getEngine()) && (getEntity().getEngine().isFusion() || getEntity().getEngine().hasFlag(Engine.FISSION))) { wt = ceil(wt * 1.5, Ceil.HALFTON); } return wt; }
if (a.getEngine().hasFlag(Engine.CLAN_ENGINE)) { availSpace[Aero.LOC_AFT] -= 2; } else {