public static int getPrimitiveDropshipMaxTonnage(Aero dropship) { if (dropship.getYear() < 2130) { return dropship.isSpheroid()? 3000 : 1000; } else if (dropship.getYear() < 2150) { return dropship.isSpheroid()? 4000 : 1500; } else if (dropship.getYear() < 2165) { return dropship.isSpheroid()? 7000 : 2500; } else if (dropship.getYear() < 2175) { return dropship.isSpheroid()? 10000 : 3000; } else if (dropship.getYear() < 2200) { return dropship.isSpheroid()? 14000 : 5000; } else if (dropship.getYear() < 2250) { return dropship.isSpheroid()? 15000 : 6000; } else if (dropship.getYear() < 2300) { return dropship.isSpheroid()? 19000 : 7000; } else if (dropship.getYear() < 2350) { return dropship.isSpheroid()? 23000 : 8000; } else if (dropship.getYear() < 2425) { return dropship.isSpheroid()? 30000 : 10000; } else { return dropship.isSpheroid()? 50000 : 20000; } }
/** * @param aero A large craft * @return The maximum number of bay doors. Aerospace units that are not large craft have * a maximum of zero. */ public static int maxBayDoors(Aero aero) { if (aero.hasETypeFlag(Entity.ETYPE_WARSHIP)) { return 8 + (int)Math.ceil(aero.getWeight() / 100000); } else if (aero.hasETypeFlag(Entity.ETYPE_JUMPSHIP)) { return 8 + (int)Math.ceil(aero.getWeight() / 75000); } else if (aero.hasETypeFlag(Entity.ETYPE_JUMPSHIP) || (aero.hasETypeFlag(Entity.ETYPE_DROPSHIP))) { return 7 + (int)Math.ceil(aero.getWeight() / 50000); } else if (aero.hasETypeFlag(Entity.ETYPE_SMALL_CRAFT)) { return aero.isSpheroid()? 4 : 2; } else { return 0; } }
if (isSpheroid()) { j = 0;
/** * Calculate the structural integrity weight */ public double getWeightStructure() { double tonnage = 0; if (aero.hasETypeFlag(Entity.ETYPE_SMALL_CRAFT)) { tonnage = aero.getSI() * aero.getWeight(); if (aero.isSpheroid()) { tonnage /= 500; } else { tonnage /= 200; } } else if (aero.hasETypeFlag(Entity.ETYPE_SPACE_STATION)) { tonnage = aero.getWeight() / 100; } else if (aero.hasETypeFlag(Entity.ETYPE_WARSHIP)) { // SI * weight / 1000, rounded up to half ton tonnage = aero.getSI() * aero.getWeight() / 1000; } else if (aero.hasETypeFlag(Entity.ETYPE_JUMPSHIP)) { tonnage = aero.getWeight() / 150; } else { // Fighters do not allocate weight to structure return 0; } return Math.ceil(tonnage * 2) / 2.0; }
return getPrimitiveDropshipMaxTonnage(aero); return aero.isSpheroid()? 100000 : 35000; } else if (aero.hasETypeFlag(Entity.ETYPE_SMALL_CRAFT) || aero.hasETypeFlag(Entity.ETYPE_FIXED_WING_SUPPORT)) {
if(((Aero)entity).isSpheroid()) { multiplier = 28; } else {
Aero a = (Aero) entity; if(a.isSpheroid()) { entity.setMovementMode(EntityMovementMode.SPHEROID); } else {
if ((targetship.getCurrentVelocity() == 0) && !(targetship.isSpheroid() && !game.getBoard().inSpace())) { toHit.addModifier(-2, "target is not moving");
if (isSpheroid()) { prd.addModifier(+1, "spheroid dropship"); } else {
if (!ae.isAirborne() && !((ae instanceof Dropship) && ((Aero) ae).isSpheroid())) { for (Enumeration<EntityAction> i = game.getActions(); i.hasMoreElements();) { EntityAction ea = i.nextElement(); if ((ae instanceof Aero) && ((Aero) ae).isSpheroid() && !game.getBoard().inSpace()) { int altDif = target.getAltitude() - ae.getAltitude(); int distance = Compute.effectiveDistance(game, ae, target, false);
if ((ce() instanceof Aero) && ((Aero) ce()).isSpheroid() && !clientgui.getClient().getGame().getBoard().inSpace() && ((Aero) ce()).isAirborne() && (cmd.getFinalNDown() == 0)
&& ((Aero) te).isSpheroid()) { immobileMod = new ToHitData(-4, "immobile dropship");
&& ((Aero) te).isSpheroid()) { immobileMod = new ToHitData(-4, "immobile dropship");