public float getTankWeightTurret() {
    float weight = 0f;

    // For omni vees, the base chassis sets a turret weight
    if (tank.isOmni() && tank.getBaseChassisTurretWeight() >= 0) {
      weight = tank.getBaseChassisTurretWeight();
    } else {
      // For non-omnis, count up the weight of eq in the turret
      for (Mounted m : tank.getEquipment()) {
        if ((m.getLocation() == tank.getLocTurret()) && !(m.getType() instanceof AmmoType)) {
          weight += m.getType().getTonnage(tank);
        }
      }
      // Turrets weight 10% of the weight of weapons in them
      weight = weight / 10.0f;
    }

    if (tank.isSupportVehicle()) {
      if (getEntity().getWeight() < 5) {
        return TestEntity.ceil(weight, CEIL_KILO);
      } else {
        return TestEntity.ceil(weight, CEIL_HALFTON);
      }
    } else {
      return TestEntity.ceilMaxHalf(weight, getWeightCeilingTurret());
    }
  }
 protected static Structure getStructure(Tank tank) {
   if (tank.isSupportVehicle()) {
     return new SupportVeeStructure(tank);
   }
   int type = EquipmentType.T_STRUCTURE_STANDARD;
   if (tank.getStructureType() == 1) {
     type = EquipmentType.T_STRUCTURE_ENDO_STEEL;
   }
   return new Structure(type, tank.isSuperHeavy(), tank.getMovementMode());
 }