diff --git a/TODO.txt b/TODO.txt index b9ff657d0..54bde5bcd 100644 --- a/TODO.txt +++ b/TODO.txt @@ -97,11 +97,12 @@ * more random names for game id & client id DONE 9/5/2024 * BUG: attacks speed up DONE 9/6/2024 * rebalance income DONE 9/7/2024 -* Make fake humans -* BUG: when clicking on enemy sometimes boat goes all the way around --- v3 Release +* Make fake humans +* BUG: when clicking on enemy sometimes boat goes all the way around +* names dissappear too much (maybe screen size) * directed expansion * UI: win condition & popup * UI: boats diff --git a/package-lock.json b/package-lock.json index a07f337f0..c676c53d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,6 +25,7 @@ "protobufjs": "^7.3.2", "pureimage": "^0.4.13", "typia": "^6.5.2", + "uuid": "^10.0.0", "ws": "^8.18.0", "zod": "^3.23.8" }, @@ -37,6 +38,7 @@ "@types/mocha": "^10.0.7", "@types/node": "^22.5.2", "@types/sinon": "^17.0.3", + "@types/uuid": "^10.0.0", "@types/ws": "^8.5.11", "babel-jest": "^29.7.0", "binary-base64-loader": "^1.0.0", @@ -4248,6 +4250,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/ws": { "version": "8.5.11", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.11.tgz", @@ -11602,6 +11611,16 @@ "websocket-driver": "^0.7.4" } }, + "node_modules/sockjs/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/socks": { "version": "2.8.3", "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", @@ -12745,10 +12764,14 @@ } }, "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } diff --git a/package.json b/package.json index 03c881d39..e2b77becb 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@types/mocha": "^10.0.7", "@types/node": "^22.5.2", "@types/sinon": "^17.0.3", + "@types/uuid": "^10.0.0", "@types/ws": "^8.5.11", "babel-jest": "^29.7.0", "binary-base64-loader": "^1.0.0", @@ -66,6 +67,7 @@ "protobufjs": "^7.3.2", "pureimage": "^0.4.13", "typia": "^6.5.2", + "uuid": "^10.0.0", "ws": "^8.18.0", "zod": "^3.23.8" }, diff --git a/src/client/Client.ts b/src/client/Client.ts index 40b58d316..afb090ad2 100644 --- a/src/client/Client.ts +++ b/src/client/Client.ts @@ -4,9 +4,10 @@ import {loadTerrainMap, TerrainMap} from "../core/TerrainMapLoader"; import {ClientGame, createClientGame} from "./ClientGame"; import backgroundImage from '../../resources/images/TerrainMapFrontPage.png'; import favicon from '../../resources/images/Favicon.png'; +import {v4 as uuidv4} from 'uuid'; + import './styles.css'; -import {generateUniqueId} from "../core/Util"; class Client { @@ -120,7 +121,7 @@ class Client { console.log(`got ip ${clientIP}`) this.game = createClientGame( getUsername(), - generateUniqueId(), + uuidv4(), clientIP, lobby.id, getConfig(), diff --git a/src/client/ClientGame.ts b/src/client/ClientGame.ts index 74abb9aad..0855b50bd 100644 --- a/src/client/ClientGame.ts +++ b/src/client/ClientGame.ts @@ -242,6 +242,10 @@ export class ClientGame { let borderTileClosest = 10000000 let enemyShoreClosest = 10000 + if (borderWithDists.length == 0 && enemyShoreDists.length == 0) { + return + } + if (bordersWithDists.length > 0) { borderTileClosest = borderWithDists[0].dist } diff --git a/src/client/index.html b/src/client/index.html index 5c538f342..81aeed9e5 100644 --- a/src/client/index.html +++ b/src/client/index.html @@ -10,7 +10,7 @@