diff --git a/apps/docs/pages/index.tsx b/apps/docs/pages/index.tsx
index 0d1dabc..fd59dc9 100644
--- a/apps/docs/pages/index.tsx
+++ b/apps/docs/pages/index.tsx
@@ -1,10 +1,7 @@
-import { Button } from "ui";
-
export default function Docs() {
return (
Docs
-
);
}
diff --git a/packages/core/galaxy.ts b/packages/core/galaxy.ts
index 2410576..a78d5ae 100644
--- a/packages/core/galaxy.ts
+++ b/packages/core/galaxy.ts
@@ -5,11 +5,13 @@ import {
GalaxyCreationSimpleSixPlayerParameters,
} from "./types/engine";
import {
+ PlanetI,
PlayerI,
Position,
PublicGalaxy,
Reinforcements,
SecretGalaxy,
+ SystemI,
UnitTechnologyI,
} from "./types/galaxy";
import { SetupInfo } from "./types/static";
@@ -233,7 +235,6 @@ export function createGalaxy(creation: GalaxyCreationSimpleParameters): {
count: 3,
},
],
-
tacticalTokens: [
{
playerId: x.playerId,
@@ -247,46 +248,63 @@ export function createGalaxy(creation: GalaxyCreationSimpleParameters): {
.sort((a, b) => a.speakerOrder - b.speakerOrder)
.map((x) => x.playerId);
- let systems = Object.fromEntries(
- creation.map.map((x) => {
- const system = setupInfo.systems.find((y) => y.systemId === x.systemId);
- if (!system) return [];
- const planets = setupInfo.planets.filter(
- (y) => y.systemId === x.systemId
- );
- return [
- x.systemId,
- {
- systemId: x.systemId,
- position: x.position,
- adjacencies: [],
- neighbors: [],
- canOccupy: true,
- wormholes: system.wormholes,
- homeSystem:
- !system.emptySystem && system.systemType === SystemType.Green,
- legendary:
- system.unique === UniqueTile.MalliceFlippedSide ||
- system.unique === UniqueTile.MalliceStartingSide ||
- system.unique === UniqueTile.HopesEnd ||
- system.unique === UniqueTile.Mirage ||
- system.unique === UniqueTile.Primor,
- mecatolRex: system.unique === UniqueTile.MecatolRex,
- emptySystem: system.emptySystem,
- anomalies: system.anomaly ? [system.anomaly] : [],
- planetIds: planets.map((y) => y.planetId),
- tokens: [],
- frontierToken: system.emptySystem,
- },
- ];
- })
- );
+ let planets: { [planetId: number]: PlanetI } = {};
+ let systems: { [systemId: number]: SystemI } = {};
+
+ creation.map.forEach((mapitem) => {
+ const system = setupInfo.systems.find(
+ (system) => system.systemId === mapitem.systemId
+ );
+ if (!system) return [];
+ const systemPlanets = setupInfo.planets.filter(
+ (planet) => planet.systemId === mapitem.systemId
+ );
+
+ systemPlanets.forEach((planet) => {
+ planets[planet.planetId] = {
+ planetId: planet.planetId,
+ attachments: [],
+ canOccupy: true,
+ exhausted: false,
+ influence: planet.influence,
+ resources: planet.resources,
+ planetType: planet.planetType,
+ PlayerId: null,
+ spaceCannon: [],
+ specialties: planet.specialty ? [planet.specialty] : [],
+ systemId: planet.systemId,
+ traits: planet.trait ? [planet.trait] : [],
+ };
+ });
+
+ systems[mapitem.systemId] = {
+ systemId: mapitem.systemId,
+ position: mapitem.position,
+ adjacencies: [],
+ neighbors: [],
+ canOccupy: true,
+ wormholes: system.wormholes,
+ homeSystem: !system.emptySystem && system.systemType === SystemType.Green,
+ legendary:
+ system.unique === UniqueTile.MalliceFlippedSide ||
+ system.unique === UniqueTile.MalliceStartingSide ||
+ system.unique === UniqueTile.HopesEnd ||
+ system.unique === UniqueTile.Mirage ||
+ system.unique === UniqueTile.Primor,
+ mecatolRex: system.unique === UniqueTile.MecatolRex,
+ emptySystem: system.emptySystem,
+ anomalies: system.anomaly ? [system.anomaly] : [],
+ planetIds: systemPlanets.map((y) => y.planetId),
+ tokens: [],
+ frontierToken: system.emptySystem,
+ };
+ });
let publicGalaxy: PublicGalaxy = {
activeLawIds: [],
forces: {},
initiativeOrder: [],
- planets: {},
+ planets: planets,
players: Object.fromEntries(players.map((x) => [x.playerId, x])),
speakerOrder: speakerOrder,
strategyCards: {},
diff --git a/packages/core/types/galaxy.ts b/packages/core/types/galaxy.ts
index 45bdc7f..bf88198 100644
--- a/packages/core/types/galaxy.ts
+++ b/packages/core/types/galaxy.ts
@@ -76,6 +76,7 @@ export interface PlanetI {
canOccupy: boolean;
spaceCannon: SpaceCannon[];
attachments: AttachmentI[];
+ exhausted: boolean;
}
export interface UnitTechnologyI {