diff --git a/src/App.tsx b/src/App.tsx
index a325cdd..f9a717d 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -18,7 +18,7 @@ import {
import theme from './theme'
import { useEffect } from 'react'
-type BuildingId = 'mouseFarms' | 'keyboardFactories' | 'monitorDisplays' | 'serverRooms' | 'dataCenters' |
+type BuildingId = 'mouseFarms' | 'keyboardFactories' | 'monitorDisplays' | 'officeSpace' | 'serverRooms' | 'dataCenters' |
'dataCities' | 'dataCountries' | 'dataContinents' | 'dataWorlds' | 'dataMoons' |
'dataSolarSystems' | 'dataGalaxies' | 'dataUniverses' | 'dataGods'
diff --git a/src/components/ResourceDisplay.tsx b/src/components/ResourceDisplay.tsx
index c15fe39..2a876d1 100644
--- a/src/components/ResourceDisplay.tsx
+++ b/src/components/ResourceDisplay.tsx
@@ -10,7 +10,16 @@ export function ResourceDisplay() {
// Calculate progress to next level
const currentLevelPPS = Math.pow(10, playerLevel - 1)
const nextLevelPPS = Math.pow(10, playerLevel)
- const progress = ((pointsPerSecond - currentLevelPPS) / (nextLevelPPS - currentLevelPPS)) * 100
+
+ // Handle progress calculation properly
+ let progress = 0;
+ if (playerLevel === 1) {
+ // For level 1, show progress from 0 to 10 PPS
+ progress = Math.min(Math.max((pointsPerSecond / nextLevelPPS) * 100, 0), 100);
+ } else {
+ // For levels > 1, show progress from currentLevelPPS to nextLevelPPS
+ progress = Math.min(Math.max(((pointsPerSecond - currentLevelPPS) / (nextLevelPPS - currentLevelPPS)) * 100, 0), 100);
+ }
return (
+
+ {pointsPerSecond.toFixed(1)}/{nextLevelPPS} PPS
+
diff --git a/src/store/gameStore.ts b/src/store/gameStore.ts
index d47851b..93b1a0c 100644
--- a/src/store/gameStore.ts
+++ b/src/store/gameStore.ts
@@ -21,6 +21,7 @@ interface GameState {
mouseFarms: number
keyboardFactories: number
monitorDisplays: number
+ officeSpace: number
serverRooms: number
dataCenters: number
dataCities: number
@@ -37,6 +38,7 @@ interface GameState {
mouseFarmsLevel: number
keyboardFactoriesLevel: number
monitorDisplaysLevel: number
+ officeSpaceLevel: number
serverRoomsLevel: number
dataCentersLevel: number
dataCitiesLevel: number
@@ -86,6 +88,7 @@ const initialState = {
mouseFarms: 0,
keyboardFactories: 0,
monitorDisplays: 0,
+ officeSpace: 0,
serverRooms: 0,
dataCenters: 0,
dataCities: 0,
@@ -100,6 +103,7 @@ const initialState = {
mouseFarmsLevel: 1,
keyboardFactoriesLevel: 1,
monitorDisplaysLevel: 1,
+ officeSpaceLevel: 1,
serverRoomsLevel: 1,
dataCentersLevel: 1,
dataCitiesLevel: 1,
@@ -123,17 +127,18 @@ const PRODUCTION_RATES = {
mouseFarms: { points: 0.1 },
keyboardFactories: { points: 0.2 },
monitorDisplays: { points: 0.2 },
- serverRooms: { points: 1 },
- dataCenters: { points: 5 },
- dataCities: { points: 25 },
- dataCountries: { points: 100 },
- dataContinents: { points: 500 },
- dataWorlds: { points: 2500 },
- dataMoons: { points: 10000 },
- dataSolarSystems: { points: 50000 },
- dataGalaxies: { points: 250000 },
- dataUniverses: { points: 1000000 },
- dataGods: { points: 5000000 },
+ officeSpace: { points: 1 },
+ serverRooms: { points: 5 },
+ dataCenters: { points: 25 },
+ dataCities: { points: 100 },
+ dataCountries: { points: 500 },
+ dataContinents: { points: 2500 },
+ dataWorlds: { points: 10000 },
+ dataMoons: { points: 50000 },
+ dataSolarSystems: { points: 250000 },
+ dataGalaxies: { points: 1000000 },
+ dataUniverses: { points: 5000000 },
+ dataGods: { points: 25000000 },
}
// Building costs
@@ -141,17 +146,18 @@ const BUILDING_COSTS = {
mouseFarms: 10,
keyboardFactories: 50,
monitorDisplays: 100,
- serverRooms: 500,
- dataCenters: 1000,
- dataCities: 5000,
- dataCountries: 25000,
- dataContinents: 100000,
- dataWorlds: 500000,
- dataMoons: 2000000,
- dataSolarSystems: 10000000,
- dataGalaxies: 50000000,
- dataUniverses: 200000000,
- dataGods: 1000000000,
+ officeSpace: 500,
+ serverRooms: 1000,
+ dataCenters: 5000,
+ dataCities: 25000,
+ dataCountries: 100000,
+ dataContinents: 500000,
+ dataWorlds: 2000000,
+ dataMoons: 10000000,
+ dataSolarSystems: 50000000,
+ dataGalaxies: 200000000,
+ dataUniverses: 1000000000,
+ dataGods: 5000000000,
}
// Building level requirements
@@ -159,17 +165,18 @@ const BUILDING_LEVEL_REQUIREMENTS = {
mouseFarms: 1,
keyboardFactories: 1,
monitorDisplays: 1,
+ officeSpace: 1,
serverRooms: 1,
- dataCenters: 1,
- dataCities: 5,
- dataCountries: 10,
- dataContinents: 20,
- dataWorlds: 30,
- dataMoons: 40,
- dataSolarSystems: 50,
- dataGalaxies: 60,
- dataUniverses: 70,
- dataGods: 80,
+ dataCenters: 5,
+ dataCities: 10,
+ dataCountries: 20,
+ dataContinents: 30,
+ dataWorlds: 40,
+ dataMoons: 50,
+ dataSolarSystems: 60,
+ dataGalaxies: 70,
+ dataUniverses: 80,
+ dataGods: 90,
}
// Special multiplier purchases
@@ -375,81 +382,88 @@ export const BUILDING_INFO: Record> = {
description: 'High-resolution displays that generate points. A balanced production facility.',
production: { points: 0.2 }
},
- serverRooms: {
+ officeSpace: {
cost: 500,
levelRequirement: 1,
- title: 'Server Room',
- description: 'A powerful facility that generates significant amounts of points. Requires proper cooling.',
+ title: 'Office Space',
+ description: 'A productive workspace filled with computers. Generates a significant amount of points.',
production: { points: 1 }
},
- dataCenters: {
+ serverRooms: {
cost: 1000,
levelRequirement: 1,
- title: 'Data Center',
- description: 'The ultimate production facility. Generates massive amounts of points but requires significant investment.',
+ title: 'Server Room',
+ description: 'A powerful facility that generates substantial amounts of points. Requires proper cooling.',
production: { points: 5 }
},
- dataCities: {
+ dataCenters: {
cost: 5000,
levelRequirement: 5,
- title: 'Data City',
- description: 'A massive network of data centers spanning an entire city. Requires level 5 to unlock.',
+ title: 'Data Center',
+ description: 'The ultimate production facility. Generates massive amounts of points but requires significant investment.',
production: { points: 25 }
},
- dataCountries: {
+ dataCities: {
cost: 25000,
levelRequirement: 10,
- title: 'Data Country',
- description: 'A country-wide network of data cities. Requires level 10 to unlock.',
+ title: 'Data City',
+ description: 'A massive network of data centers spanning an entire city. Requires level 10 to unlock.',
production: { points: 100 }
},
- dataContinents: {
+ dataCountries: {
cost: 100000,
levelRequirement: 20,
- title: 'Data Continent',
- description: 'A continent-spanning network of data countries. Requires level 20 to unlock.',
+ title: 'Data Country',
+ description: 'A country-wide network of data cities. Requires level 20 to unlock.',
production: { points: 500 }
},
- dataWorlds: {
+ dataContinents: {
cost: 500000,
levelRequirement: 30,
- title: 'Data World',
- description: 'A world-wide network of data continents. Requires level 30 to unlock.',
+ title: 'Data Continent',
+ description: 'A continent-spanning network of data countries. Requires level 30 to unlock.',
production: { points: 2500 }
},
- dataMoons: {
+ dataWorlds: {
cost: 2000000,
levelRequirement: 40,
- title: 'Data Moon',
- description: 'A moon-sized data processing facility. Requires level 40 to unlock.',
+ title: 'Data World',
+ description: 'A world-wide network of data continents. Requires level 40 to unlock.',
production: { points: 10000 }
},
- dataSolarSystems: {
+ dataMoons: {
cost: 10000000,
levelRequirement: 50,
- title: 'Data Solar System',
- description: 'A solar system-wide network of data moons. Requires level 50 to unlock.',
+ title: 'Data Moon',
+ description: 'A moon-sized data processing facility. Requires level 50 to unlock.',
production: { points: 50000 }
},
- dataGalaxies: {
+ dataSolarSystems: {
cost: 50000000,
levelRequirement: 60,
- title: 'Data Galaxy',
- description: 'A galaxy-spanning network of data solar systems. Requires level 60 to unlock.',
+ title: 'Data Solar System',
+ description: 'A solar system-wide network of data moons. Requires level 60 to unlock.',
production: { points: 250000 }
},
- dataUniverses: {
+ dataGalaxies: {
cost: 200000000,
levelRequirement: 70,
- title: 'Data Universe',
- description: 'A universe-wide network of data galaxies. Requires level 70 to unlock.',
+ title: 'Data Galaxy',
+ description: 'A galaxy-spanning network of data solar systems. Requires level 70 to unlock.',
production: { points: 1000000 }
},
- dataGods: {
+ dataUniverses: {
cost: 1000000000,
levelRequirement: 80,
- title: 'Data God',
- description: 'The ultimate data processing entity. Requires level 80 to unlock.',
+ title: 'Data Universe',
+ description: 'A universe-wide network of data galaxies. Requires level 80 to unlock.',
production: { points: 5000000 }
+ },
+ dataGods: {
+ cost: 5000000000,
+ levelRequirement: 90,
+ title: 'Data God',
+ description: 'The ultimate data processing entity. Requires level 90 to unlock.',
+ production: { points: 25000000 }
}
}
\ No newline at end of file