@Override protected void addSystemTechAdvancement(CompositeTechLevel ctl) { if (interfaceCockpit) { ctl.addComponent(TA_INTERFACE_COCKPIT); } }
@Override public int getBaseAvailability(int era) { return compositeTechLevel.getBaseAvailability(era); }
@Override public int getCommonDate() { return compositeTechLevel.getCommonDate(); }
public CompositeTechLevel factionTechLevel(int techFaction) { if (techFaction == F_NONE) { return compositeTechLevel; } CompositeTechLevel retVal = new CompositeTechLevel(this, techFaction); addSystemTechAdvancement(retVal); for (Mounted m : getEquipment()) { retVal.addComponent(m.getType()); if (m.isArmored()) { retVal.addComponent(TA_ARMORED_COMPONENT); } } return retVal; }
@Override public int getExtinctionDate(boolean clan, int faction) { return getExtinctionDate(); }
@Override public int getProductionDate(boolean clan, int faction) { return getProductionDate(); }
addExtinctionRange(mixed?tech.getExtinctionDate() : tech.getExtinctionDate(clan, techFaction), mixed?tech.getReintroductionDate() : tech.getReintroductionDate(clan, techFaction));
/** * @return The earliest date this unit could be built, based on the latest intro date * of the components. */ public int getEarliestTechDate() { return compositeTechLevel.getEarliestTechDate(); }
@Override public int getIntroductionDate(boolean clan, int faction) { return getIntroductionDate(); }
@Override public String getExtinctionRange() { return compositeTechLevel.getExtinctionRange(); }
/** * Sets initial TechAdvancement without equipment based on construction options. */ protected void initTechAdvancement() { compositeTechLevel = new CompositeTechLevel(this, F_NONE); addSystemTechAdvancement(compositeTechLevel); }
@Override public int getExtinctionDate() { return compositeTechLevel.getExtinctionDate(); }
@Override public int getProductionDate(boolean clan, int faction) { return compositeTechLevel.getProductionDate(clan, faction); }
experimental = Math.max(protoDate, introYear); addExtinctionRange(mixed? initialTA.getExtinctionDate() : initialTA.getExtinctionDate(clan), mixed? initialTA.getReintroductionDate() : initialTA.getReintroductionDate(clan)); techRating = initialTA.getTechRating();
protected void addTechComponent(ITechnology tech) { compositeTechLevel.addComponent(tech); }
@Override public int getExtinctionDate(boolean clan, int faction) { return compositeTechLevel.getExtinctionDate(clan, faction); }
@Override public int getProductionDate() { return compositeTechLevel.getProductionDate(); }
/** * Resets techAdvancement to initial value and adjusts for all installed equipment. */ public void recalculateTechAdvancement() { initTechAdvancement(); for (Mounted m : getEquipment()) { compositeTechLevel.addComponent(m.getType()); if (m.isArmored()) { compositeTechLevel.addComponent(TA_ARMORED_COMPONENT); } } }
@Override protected void addSystemTechAdvancement(CompositeTechLevel ctl) { super.addSystemTechAdvancement(ctl); if (collarType != COLLAR_NO_BOOM) { ctl.addComponent(getCollarTA()); } }
/** * Incorporate dates for components that are not in the equipment list, such as engines and structure. */ protected void addSystemTechAdvancement(CompositeTechLevel ctl) { if (hasEngine()) { ctl.addComponent(getEngine()); } if (isOmni()) { ctl.addComponent(TA_OMNI); } if (hasPatchworkArmor()) { ctl.addComponent(TA_PATCHWORK_ARMOR); for (int loc = 0; loc < locations(); loc++) { ctl.addComponent(EquipmentType.getArmorTechAdvancement(armorType[loc], TechConstants.isClan(armorTechLevel[loc]))); } } else { ctl.addComponent(EquipmentType.getArmorTechAdvancement(armorType[0], TechConstants.isClan(armorTechLevel[0]))); } if (isMixedTech()) { ctl.addComponent(TA_MIXED_TECH); } ctl.addComponent(EquipmentType.getStructureTechAdvancement(structureType, TechConstants.isClan(structureTechLevel))); }