Package weight, payload capacity and per-kg payout (ISS-045)
CI / build + unit + e2e (pull_request) Successful in 8m2s
CI / build + unit + e2e (pull_request) Successful in 8m2s
Packages carry a real weightKg (unit weight x count with +/-30% jitter), plane capacity becomes maxPayloadKg instead of 6 slots, load validation sums cargo weight against the payload, and the payout gains a per-kg part. Loadout display shows tonnage; OpenAPI swaps CatalogEntry.capacity for maxPayloadKg and adds PackageState.weightKg.
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
import { loadPackage, performAction } from '@/lib/game/actions';
|
||||
|
||||
// POST /api/packages/:id/load (v0.12.0) — body { planeId: string }. Loads an OPEN
|
||||
// package onto a GROUNDED plane at the package's origin with a free slot. 400
|
||||
// missing/non-string planeId or unknown fields; 404 unknown package/plane id; 409
|
||||
// wrong package status, plane flying, plane not at the origin, no free slots. On
|
||||
// success returns the full state snapshot (package now "loaded" on that plane).
|
||||
// package onto a GROUNDED plane at the package's origin with enough payload room
|
||||
// for its weight (v0.27.0). 400 missing/non-string planeId or unknown fields; 404
|
||||
// unknown package/plane id; 409 wrong package status, plane flying, plane not at
|
||||
// the origin, no payload room. On success returns the full state snapshot
|
||||
// (package now "loaded" on that plane).
|
||||
|
||||
export async function POST(req: Request, ctx: { params: Promise<{ id: string }> }) {
|
||||
const { id } = await ctx.params;
|
||||
|
||||
Reference in New Issue
Block a user