diff --git a/src/game-logic/buildings.ts b/src/game-logic/buildings.ts index 8cc1268..603a056 100644 --- a/src/game-logic/buildings.ts +++ b/src/game-logic/buildings.ts @@ -107,6 +107,36 @@ export const BUILDINGS = { fuel: 10, // fuel_production tech tree }, }, + shipyard: { + id: 'shipyard', + cost: { + minerals: 50, // cheap_buildings tech tree + alloys: 75, // cheap_buildings tech tree + }, + upkeep: { + minerals: 10, // efficient_buildings tech tree + energy: 5, // efficient_buildings tech tree + fuel: 5, // efficient_buildings tech tree + alloys: 10, // efficient_buildings tech tree + }, + production: { + }, + }, + fortress: { + id: 'fortress', + cost: { + minerals: 75, // cheap_buildings tech tree + alloys: 75, // cheap_buildings tech tree + }, + upkeep: { + minerals: 5, // efficient_buildings tech tree + energy: 8, // efficient_buildings tech tree + fuel: 8, // efficient_buildings tech tree + alloys: 5, // efficient_buildings tech tree + }, + production: { + }, + }, } as const satisfies Record; export type BuildingName = keyof typeof BUILDINGS; export const BUILDING_NAMES = Object.keys(BUILDINGS) as BuildingName[]; diff --git a/src/game-logic/technologies.ts b/src/game-logic/technologies.ts index 63de1ae..6d0f512 100644 --- a/src/game-logic/technologies.ts +++ b/src/game-logic/technologies.ts @@ -319,6 +319,30 @@ export const TECHNOLOGIES: Record = { }, ], }, + cheap_buildings_3: { // reduced advanced building costs + id: 'cheap_buildings_3', + tags: ['engineering', 'construction'], + cost: 4, + requires: ['cheap_buildings_2'], + effects: [ + { + variable: 'buildings.shipyard.cost.alloys', + multiplier: 0.85, + }, + { + variable: 'buildings.shipyard.cost.minerals', + multiplier: 0.85, + }, + { + variable: 'buildings.fortress.cost.alloys', + multiplier: 0.85, + }, + { + variable: 'buildings.fortress.cost.minerals', + multiplier: 0.85, + }, + ], + }, /** buildings: reduce energy upkeep */ efficient_buildings_1: { // reduced basic building energy upkeep @@ -340,6 +364,10 @@ export const TECHNOLOGIES: Record = { variable: 'buildings.factory.upkeep.energy', multiplier: 0.85, }, + { + variable: 'buildings.farm.upkeep.fuel', + multiplier: 0.85, + }, ], }, efficient_buildings_2: { // reduced advanced building energy upkeep @@ -364,6 +392,18 @@ export const TECHNOLOGIES: Record = { variable: 'buildings.exchange.upkeep.energy', multiplier: 0.85, }, + { + variable: 'buildings.mine.upkeep.fuel', + multiplier: 0.85, + }, + { + variable: 'buildings.shipyard.upkeep.fuel', + multiplier: 0.85, + }, + { + variable: 'buildings.fortress.upkeep.fuel', + multiplier: 0.85, + }, ], }, efficient_buildings_3: { @@ -377,19 +417,34 @@ export const TECHNOLOGIES: Record = { multiplier: 0.85, }, { - variable: 'buildings.mine.upkeep.fuel', + variable: 'buildings.research_lab.upkeep.consumer_goods', multiplier: 0.85, }, { - variable: 'buildings.farm.upkeep.fuel', + variable: 'buildings.factory.upkeep.minerals', multiplier: 0.85, }, { - variable: 'buildings.research_lab.upkeep.consumer_goods', + variable: 'buildings.shipyard.upkeep.alloys', multiplier: 0.85, }, { - variable: 'buildings.factory.upkeep.minerals', + variable: 'buildings.shipyard.upkeep.energy', + multiplier: 0.85, + },{ + variable: 'buildings.shipyard.upkeep.minerals', + multiplier: 0.85, + }, + { + variable: 'buildings.fortress.upkeep.alloys', + multiplier: 0.85, + }, + { + variable: 'buildings.fortress.upkeep.energy', + multiplier: 0.85, + }, + { + variable: 'buildings.fortress.upkeep.minerals', multiplier: 0.85, }, ],