Prepare allied shipment quotes for larger alliances
Verify and publish checkpoint container / container (push) Canceled after 0s
Verify and publish checkpoint container / container (push) Canceled after 0s
This commit is contained in:
1 parent
cea310b030
commit
77376c39d6
5 files changed
+210
-28
No files matched your search
+8
-13
@@ -747,7 +747,7 @@ import {
|
||||
settleAdvisors,
|
||||
arrivalAsAdvisor,
|
||||
} from './advisors';
|
||||
import { quoteAlliedSeparation, isAlliedShipmentVisit, alliedShipmentPhysicalPool,
|
||||
import { quoteAlliedSeparation, isAlliedShipmentVisit, makeBasicAlliedShipment, quoteBasicAlliedShipment,
|
||||
type BasicAlliedShipment } from './allied-separation';
|
||||
import { casualtyOptions, maxCombatDial, maxCombatSupport, validCombatForces, type Casualties, type CombatForces } from './combat';
|
||||
import { FACTIONS, faction, type FactionId } from './catalog';
|
||||
@@ -23086,13 +23086,9 @@ function basicAlliedShipmentView(g: Game, p: Player) {
|
||||
const visit = g.basicAlliedShipment;
|
||||
if (g.advanced || g.phase !== 5 || !visit || visit.player !== p.id ||
|
||||
visit.turn !== g.turn || p.ally !== visit.ally) return null;
|
||||
const ally = getPlayer(g, visit.ally);
|
||||
if (ally.ally !== p.id || !at(ally, visit.territory) ||
|
||||
sharesEcazOccupation(g, p, visit.territory)) return null;
|
||||
const pool = alliedShipmentPhysicalPool(p, visit.territory);
|
||||
const normal = Math.max(0, pool.normal - visit.baseline.normal);
|
||||
const elite = Math.max(0, pool.elite - visit.baseline.elite);
|
||||
return normal + elite ? { territory: territory(visit.territory).name, normal, elite } : null;
|
||||
getPlayer(g, visit.ally);
|
||||
const quote = occupancyRule(() => quoteBasicAlliedShipment(g, p, visit));
|
||||
return quote ? { ...quote, territory: territory(quote.territory).name } : null;
|
||||
}
|
||||
|
||||
/** Provisional no-exit policy: only the excess physical visitors go to Tanks. */
|
||||
@@ -38445,11 +38441,10 @@ function commitShipment(g: Game, shipment: PendingShipment, settlement?: {recipi
|
||||
}
|
||||
let homeworldOrigins = '';
|
||||
if (!shipment.noField) {
|
||||
if (!g.advanced && !shipment.alliedNoField && n > 0 && isAlliedShipmentVisit(g, p, to))
|
||||
g.basicAlliedShipment = {
|
||||
player: p.id, ally: p.ally!, turn: g.turn, territory: to,
|
||||
baseline: alliedShipmentPhysicalPool(p, to),
|
||||
};
|
||||
if (!g.advanced && !shipment.alliedNoField && n > 0) {
|
||||
const visit = occupancyRule(() => makeBasicAlliedShipment(g, p, to));
|
||||
if (visit) g.basicAlliedShipment = visit;
|
||||
}
|
||||
const receipts = withdrawNativeReserves(
|
||||
g,
|
||||
p,
|
||||
|
||||
Reference in new issue
Block a user