Skip to content

Commit

Permalink
Merge pull request #3857 from Sleet01/Fix_3856_Aeros_dont_appear_in_B…
Browse files Browse the repository at this point in the history
…asic_Unit_Information

Fix 3856: aeros dont appear in basic unit information
  • Loading branch information
HammerGS authored Mar 13, 2024
2 parents 0b01443 + 4d8ab12 commit 45d1f23
Show file tree
Hide file tree
Showing 12 changed files with 88 additions and 128 deletions.
2 changes: 2 additions & 0 deletions MekHQ/mmconf/serialkiller.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<regexps>
<regexp>\[C$</regexp>
<regexp>\[I$</regexp>
<regexp>\[Ljava\.lang.Enum;$</regexp>
<regexp>java\.io\.File$</regexp>
<regexp>java\.lang\.Boolean$</regexp>
<regexp>java\.lang\.Enum$</regexp>
Expand All @@ -31,6 +32,7 @@
<regexp>java\.util\.concurrent\.locks\.ReentrantLock\$Sync$</regexp>
<regexp>java\.util\.UUID$</regexp>
<regexp>java\.util\.EnumMap$</regexp>
<regexp>java\.util\.EnumSet.*</regexp>
<regexp>java\.util\.HashMap$</regexp>
<regexp>java\.util\.HashSet$</regexp>
<regexp>java\.util\.Hashtable$</regexp>
Expand Down
10 changes: 5 additions & 5 deletions MekHQ/src/mekhq/campaign/Campaign.java
Original file line number Diff line number Diff line change
Expand Up @@ -3577,7 +3577,7 @@ public void removePerson(final @Nullable Person person, final boolean log) {
if (force != null) {
force.updateCommander(this);
}

person.getGenealogy().clearGenealogyLinks();

final Unit unit = person.getUnit();
Expand Down Expand Up @@ -4523,7 +4523,7 @@ public Money calculateCostPerJump(boolean excludeOwnTransports, boolean campaign
int nMech = stats.getNumberOfUnitsByType(Entity.ETYPE_MECH);
int nLVee = stats.getNumberOfUnitsByType(Entity.ETYPE_TANK, false, true);
int nHVee = stats.getNumberOfUnitsByType(Entity.ETYPE_TANK);
int nAero = stats.getNumberOfUnitsByType(Entity.ETYPE_AERO);
int nAero = stats.getNumberOfUnitsByType(Entity.ETYPE_AEROSPACEFIGHTER);
int nSC = stats.getNumberOfUnitsByType(Entity.ETYPE_SMALL_CRAFT);
int nCF = stats.getNumberOfUnitsByType(Entity.ETYPE_CONV_FIGHTER);
int nBA = stats.getNumberOfUnitsByType(Entity.ETYPE_BATTLEARMOR);
Expand All @@ -4544,7 +4544,7 @@ public Money calculateCostPerJump(boolean excludeOwnTransports, boolean campaign
int noDS = Math.max(nDropship - stats.getOccupiedBays(Entity.ETYPE_DROPSHIP), 0);
int noSC = Math.max(nSC - stats.getOccupiedBays(Entity.ETYPE_SMALL_CRAFT), 0);
int noCF = Math.max(nCF - stats.getOccupiedBays(Entity.ETYPE_CONV_FIGHTER), 0);
int noASF = Math.max(nAero - stats.getOccupiedBays(Entity.ETYPE_AERO), 0);
int noASF = Math.max(nAero - stats.getOccupiedBays(Entity.ETYPE_AEROSPACEFIGHTER), 0);
int nolv = Math.max(nLVee - stats.getOccupiedBays(Entity.ETYPE_TANK, true), 0);
int nohv = Math.max(nHVee - stats.getOccupiedBays(Entity.ETYPE_TANK), 0);
int noinf = Math.max(stats.getNumberOfUnitsByType(Entity.ETYPE_INFANTRY) - stats.getOccupiedBays(Entity.ETYPE_INFANTRY), 0);
Expand Down Expand Up @@ -4809,12 +4809,12 @@ public void personUpdated(Person p) {
if (null != u) {
u.resetPilotAndEntity();
}

Force force = getForceFor(p);
if (force != null) {
force.updateCommander(this);
}

MekHQ.triggerEvent(new PersonChangedEvent(p));
}

Expand Down
5 changes: 3 additions & 2 deletions MekHQ/src/mekhq/campaign/CampaignSummary.java
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ public void updateInformation() {
case UnitType.TANK:
veeCount++;
break;
case UnitType.AEROSPACEFIGHTER:
case UnitType.AERO:
case UnitType.CONV_FIGHTER:
aeroCount++;
Expand Down Expand Up @@ -165,7 +166,7 @@ public void updateInformation() {
int noSC = Math.max(hangarStats.getNumberOfUnitsByType(Entity.ETYPE_SMALL_CRAFT) - hangarStats.getOccupiedBays(Entity.ETYPE_SMALL_CRAFT), 0);
@SuppressWarnings("unused") // FIXME: What type of bays do ConvFighters use?
int noCF = Math.max(hangarStats.getNumberOfUnitsByType(Entity.ETYPE_CONV_FIGHTER) - hangarStats.getOccupiedBays(Entity.ETYPE_CONV_FIGHTER), 0);
int noASF = Math.max(hangarStats.getNumberOfUnitsByType(Entity.ETYPE_AERO) - hangarStats.getOccupiedBays(Entity.ETYPE_AERO), 0);
int noASF = Math.max(hangarStats.getNumberOfUnitsByType(Entity.ETYPE_AEROSPACEFIGHTER) - hangarStats.getOccupiedBays(Entity.ETYPE_AEROSPACEFIGHTER), 0);
int nolv = Math.max(hangarStats.getNumberOfUnitsByType(Entity.ETYPE_TANK, false, true) - hangarStats.getOccupiedBays(Entity.ETYPE_TANK, true), 0);
int nohv = Math.max(hangarStats.getNumberOfUnitsByType(Entity.ETYPE_TANK) - hangarStats.getOccupiedBays(Entity.ETYPE_TANK), 0);
int noinf = Math.max(hangarStats.getNumberOfUnitsByType(Entity.ETYPE_INFANTRY) - hangarStats.getOccupiedBays(Entity.ETYPE_INFANTRY), 0);
Expand All @@ -182,7 +183,7 @@ public void updateInformation() {
unitsOver = noMech + noASF + nolv + nohv + noinf + noBA + noProto;
unitsTransported = hangarStats.getOccupiedBays(Entity.ETYPE_MECH) +
hangarStats.getOccupiedBays(Entity.ETYPE_SMALL_CRAFT) +
hangarStats.getOccupiedBays(Entity.ETYPE_AERO) +
hangarStats.getOccupiedBays(Entity.ETYPE_AEROSPACEFIGHTER) +
hangarStats.getOccupiedBays(Entity.ETYPE_TANK, true) +
hangarStats.getOccupiedBays(Entity.ETYPE_TANK) +
hangarStats.getOccupiedBays(Entity.ETYPE_INFANTRY) +
Expand Down
4 changes: 2 additions & 2 deletions MekHQ/src/mekhq/campaign/force/Lance.java
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ public double getEffectivePoints(Campaign c) {
if (null != entity) {
if ((entity.getEntityType() & Entity.ETYPE_MECH) != 0) {
armor += 1;
} else if ((entity.getEntityType() & Entity.ETYPE_AERO) != 0) {
} else if ((entity.getEntityType() & Entity.ETYPE_AEROSPACEFIGHTER) != 0) {
other += 0.5;
} else if ((entity.getEntityType() & Entity.ETYPE_TANK) != 0) {
armor += 0.5;
Expand Down Expand Up @@ -499,7 +499,7 @@ public static double calculateTotalWeight(Campaign c, int forceId) {
} else {
weight += entity.getWeight();
}
} else if ((entity.getEntityType() & Entity.ETYPE_AERO) != 0) {
} else if ((entity.getEntityType() & Entity.ETYPE_AEROSPACEFIGHTER) != 0) {
if (c.getFaction().isClan()) {
weight += entity.getWeight() * 0.5;
} else {
Expand Down
8 changes: 4 additions & 4 deletions MekHQ/src/mekhq/campaign/market/PersonnelMarket.java
Original file line number Diff line number Diff line change
Expand Up @@ -312,8 +312,8 @@ public static long getUnitMainForceType(Campaign c) {
return Entity.ETYPE_MECH;
} else if ((mostTypes & Entity.ETYPE_TANK) != 0) {
return Entity.ETYPE_TANK;
} else if ((mostTypes & Entity.ETYPE_AERO) != 0) {
return Entity.ETYPE_AERO;
} else if ((mostTypes & Entity.ETYPE_AEROSPACEFIGHTER) != 0) {
return Entity.ETYPE_AEROSPACEFIGHTER;
} else if ((mostTypes & Entity.ETYPE_BATTLEARMOR) != 0) {
return Entity.ETYPE_BATTLEARMOR;
} else if ((mostTypes & Entity.ETYPE_INFANTRY) != 0) {
Expand All @@ -337,7 +337,7 @@ public static long getUnitMainForceTypes(Campaign c) {
int ds = hangarStats.getNumberOfUnitsByType(Entity.ETYPE_DROPSHIP);
int sc = hangarStats.getNumberOfUnitsByType(Entity.ETYPE_SMALL_CRAFT);
int cf = hangarStats.getNumberOfUnitsByType(Entity.ETYPE_CONV_FIGHTER);
int asf = hangarStats.getNumberOfUnitsByType(Entity.ETYPE_AERO);
int asf = hangarStats.getNumberOfUnitsByType(Entity.ETYPE_AEROSPACEFIGHTER);
int vee = hangarStats.getNumberOfUnitsByType(Entity.ETYPE_TANK, true) + hangarStats.getNumberOfUnitsByType(Entity.ETYPE_TANK);
int inf = hangarStats.getNumberOfUnitsByType(Entity.ETYPE_INFANTRY);
int ba = hangarStats.getNumberOfUnitsByType(Entity.ETYPE_BATTLEARMOR);
Expand Down Expand Up @@ -381,7 +381,7 @@ public static long getUnitMainForceTypes(Campaign c) {
retval = retval | Entity.ETYPE_CONV_FIGHTER;
}
if (most == asf) {
retval = retval | Entity.ETYPE_AERO;
retval = retval | Entity.ETYPE_AEROSPACEFIGHTER;
}
if (most == vee) {
retval = retval | Entity.ETYPE_TANK;
Expand Down
6 changes: 3 additions & 3 deletions MekHQ/src/mekhq/campaign/market/PersonnelMarketDylan.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ public List<Person> generatePersonnelForDay(Campaign c) {
mtf.add(Entity.ETYPE_MECH);
} else if ((mostTypes & Entity.ETYPE_TANK) != 0) {
mtf.add(Entity.ETYPE_TANK);
} else if ((mostTypes & Entity.ETYPE_AERO) != 0) {
mtf.add(Entity.ETYPE_AERO);
} else if ((mostTypes & Entity.ETYPE_AEROSPACEFIGHTER) != 0) {
mtf.add(Entity.ETYPE_AEROSPACEFIGHTER);
} else if ((mostTypes & Entity.ETYPE_BATTLEARMOR) != 0) {
mtf.add(Entity.ETYPE_BATTLEARMOR);
} else if ((mostTypes & Entity.ETYPE_INFANTRY) != 0) {
Expand Down Expand Up @@ -79,7 +79,7 @@ public List<Person> generatePersonnelForDay(Campaign c) {
} else if (choice == Entity.ETYPE_TANK) {
p = c.newPerson((Compute.d6() < 3) ? PersonnelRole.GROUND_VEHICLE_DRIVER
: PersonnelRole.VEHICLE_GUNNER);
} else if (choice == Entity.ETYPE_AERO) {
} else if (choice == Entity.ETYPE_AEROSPACEFIGHTER) {
p = c.newPerson(PersonnelRole.AEROSPACE_PILOT);
} else if (choice == Entity.ETYPE_BATTLEARMOR) {
p = c.newPerson(PersonnelRole.BATTLE_ARMOUR);
Expand Down
2 changes: 1 addition & 1 deletion MekHQ/src/mekhq/campaign/parts/Avionics.java
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public Avionics clone() {
public void updateConditionFromEntity(boolean checkForDestruction) {
int priorHits = hits;
if (null != unit
&& (unit.getEntity().getEntityType() & (Entity.ETYPE_AERO | Entity.ETYPE_LAND_AIR_MECH)) != 0) {
&& (unit.getEntity().getEntityType() & (Entity.ETYPE_AEROSPACEFIGHTER | Entity.ETYPE_LAND_AIR_MECH)) != 0) {
hits = ((IAero) unit.getEntity()).getAvionicsHits();
if (checkForDestruction
&& hits > priorHits
Expand Down
2 changes: 1 addition & 1 deletion MekHQ/src/mekhq/campaign/rating/CampaignOpsReputation.java
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ private int getTotalForceUnits() {
//noinspection UnnecessaryContinue
continue;
} else if ((u.getEntity().getEntityType() &
Entity.ETYPE_AERO) == Entity.ETYPE_AERO) {
Entity.ETYPE_AEROSPACEFIGHTER) == Entity.ETYPE_AEROSPACEFIGHTER) {
totalAero++;
} else if ((u.getEntity().getEntityType() &
Entity.ETYPE_DROPSHIP) == Entity.ETYPE_DROPSHIP) {
Expand Down
4 changes: 2 additions & 2 deletions MekHQ/src/mekhq/campaign/report/TransportReport.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public String getTransportDetails() {
@SuppressWarnings("unused") // FIXME: What type of bays do ConvFighters use?
int noCF = Math
.max(stats.getNumberOfUnitsByType(Entity.ETYPE_CONV_FIGHTER) - stats.getOccupiedBays(Entity.ETYPE_CONV_FIGHTER), 0);
int noASF = Math.max(stats.getNumberOfUnitsByType(Entity.ETYPE_AERO) - stats.getOccupiedBays(Entity.ETYPE_AERO), 0);
int noASF = Math.max(stats.getNumberOfUnitsByType(Entity.ETYPE_AEROSPACEFIGHTER) - stats.getOccupiedBays(Entity.ETYPE_AEROSPACEFIGHTER), 0);
int nolv = Math.max(stats.getNumberOfUnitsByType(Entity.ETYPE_TANK, false, true) - stats.getOccupiedBays(Entity.ETYPE_TANK, true), 0);
int nohv = Math.max(stats.getNumberOfUnitsByType(Entity.ETYPE_TANK) - stats.getOccupiedBays(Entity.ETYPE_TANK), 0);
int noinf = Math.max(stats.getNumberOfUnitsByType(Entity.ETYPE_INFANTRY) - stats.getOccupiedBays(Entity.ETYPE_INFANTRY), 0);
Expand Down Expand Up @@ -91,7 +91,7 @@ public String getTransportDetails() {

// Lets do ASF next.
sb.append(String.format("%-35s %4d (%4d) %-35s %4d%s\n", "ASF Bays (Occupied):",
stats.getTotalASFBays(), stats.getOccupiedBays(Entity.ETYPE_AERO), "ASF Not Transported:", noASF, asfAppend));
stats.getTotalASFBays(), stats.getOccupiedBays(Entity.ETYPE_AEROSPACEFIGHTER), "ASF Not Transported:", noASF, asfAppend));

// Lets do Light Vehicles next.
sb.append(String.format("%-35s %4d (%4d) %-35s %4d%s\n", "Light Vehicle Bays (Occupied):",
Expand Down
10 changes: 0 additions & 10 deletions MekHQ/src/mekhq/campaign/unit/CargoStatistics.java
Original file line number Diff line number Diff line change
Expand Up @@ -89,16 +89,6 @@ public double getCargoTonnage(final boolean inTransit, final boolean mothballed)

double cargoTonnage = 0;
double mothballedTonnage = 0;
int mechs = stats.getNumberOfUnitsByType(Entity.ETYPE_MECH);
int ds = stats.getNumberOfUnitsByType(Entity.ETYPE_DROPSHIP);
int sc = stats.getNumberOfUnitsByType(Entity.ETYPE_SMALL_CRAFT);
int cf = stats.getNumberOfUnitsByType(Entity.ETYPE_CONV_FIGHTER);
int asf = stats.getNumberOfUnitsByType(Entity.ETYPE_AERO);
int inf = stats.getNumberOfUnitsByType(Entity.ETYPE_INFANTRY);
int ba = stats.getNumberOfUnitsByType(Entity.ETYPE_BATTLEARMOR);
int lv = stats.getNumberOfUnitsByType(Entity.ETYPE_TANK, true);
int hv = stats.getNumberOfUnitsByType(Entity.ETYPE_TANK, false);
int protos = stats.getNumberOfUnitsByType(Entity.ETYPE_PROTOMECH);

cargoTonnage += getCampaign().getWarehouse().streamSpareParts().filter(p -> inTransit || p.isPresent())
.mapToDouble(p -> p.getQuantity() * p.getTonnage())
Expand Down
Loading

0 comments on commit 45d1f23

Please sign in to comment.