From cd10ab0718d716682f4708276316751a5e26c92f Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 15 Aug 2025 16:23:34 +0200 Subject: [PATCH] fix1 --- database/backend.log | 1250 ++++++++++++++ database/migrations/add-shop-tables.js | 223 +++ database/public | 1 + database/routes/playerRoutes-sqlite.js | 25 + database/routes/shopRoutes.js | 65 + database/server-sqlite.js | 13 + database/shop-helpers.js | 134 ++ database/sqlite/deathwatch.db | Bin 36864 -> 118784 bytes database/sqlite/deathwatch.db-shm | Bin 32768 -> 32768 bytes database/sqlite/deathwatch.db-wal | Bin 2727472 -> 4128272 bytes package-lock.json | 1066 +++++++++++- package.json | 5 +- public/deathwatch-armor.json | 1152 +++++++++++++ public/deathwatch-armoury.json | 2189 +++++++++++++++--------- public/deathwatch-weapons.json | 230 +++ scripts/build-shop-db.js | 48 + scripts/clean-armoury.js | 331 +++- scripts/fetch-armoury.js | 86 + scripts/parse-armor.js | 194 +++ scripts/parse-weapons.js | 128 ++ src/components/PlayerTab.jsx | 85 +- src/components/RequisitionShop.jsx | 182 +- tests/playertest.test.js | 19 +- 23 files changed, 6434 insertions(+), 992 deletions(-) create mode 100644 database/migrations/add-shop-tables.js create mode 120000 database/public create mode 100644 database/routes/shopRoutes.js create mode 100644 database/shop-helpers.js create mode 100644 public/deathwatch-armor.json mode change 100755 => 100644 public/deathwatch-armoury.json create mode 100644 public/deathwatch-weapons.json create mode 100644 scripts/build-shop-db.js mode change 100755 => 100644 scripts/clean-armoury.js create mode 100644 scripts/fetch-armoury.js create mode 100644 scripts/parse-armor.js create mode 100644 scripts/parse-weapons.js diff --git a/database/backend.log b/database/backend.log index 413ef6c..578f8ae 100644 --- a/database/backend.log +++ b/database/backend.log @@ -2582,3 +2582,1253 @@ Connected to MongoDB [2025-08-15T11:50:22.604Z] DB: getPlayerByName - start christoffer [2025-08-15T11:50:22.604Z] DB: getPlayerByName - found christoffer [2025-08-15T11:50:22.604Z] API: Updated player christoffer +[2025-08-15T11:54:01.391Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T11:54:01.391Z] DB: deletePlayer - start gmtest +[2025-08-15T11:54:01.391Z] DB: deletePlayer - changes 0 gmtest +[2025-08-15T11:54:01.408Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:54:01.408Z] DB: getPlayerByName - not found gmtest +[2025-08-15T11:54:01.487Z] DB: createPlayer - start gmtest +[2025-08-15T11:54:01.488Z] DB: createPlayer - done gmtest rowid 32 +[2025-08-15T11:54:01.488Z] API: Created player gmtest +[2025-08-15T11:54:01.505Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T11:54:01.505Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:54:01.505Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:54:01.505Z] DB: updatePlayer - start gmtest +[2025-08-15T11:54:01.505Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T11:54:01.505Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:54:01.505Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:54:01.505Z] API: Updated player gmtest +[2025-08-15T11:54:01.521Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T11:54:01.521Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:54:01.521Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:54:01.600Z] DB: updatePlayer - start gmtest +[2025-08-15T11:54:01.600Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T11:54:01.600Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:54:01.600Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:54:01.600Z] API: Updated player gmtest +[2025-08-15T11:54:01.615Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:54:01.615Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:54:01.695Z] DB: createSession - start 18368313c0fd1d912da0f5acd81c303f03c526833d2093ee575170f6f40521f3 expiresAt 2025-08-16T11:54:01.695Z +[2025-08-15T11:54:01.695Z] DB: createSession - done 18368313c0fd1d912da0f5acd81c303f03c526833d2093ee575170f6f40521f3 +[2025-08-15T11:54:01.695Z] API: Player login gmtest 18368313c0fd1d912da0f5acd81c303f03c526833d2093ee575170f6f40521f3 +[2025-08-15T11:54:01.710Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T11:54:01.710Z] DB: deletePlayer - start gmtest +[2025-08-15T11:54:01.710Z] DB: deletePlayer - changes 1 gmtest +[2025-08-15T11:54:01.710Z] API: Deleted player gmtest +[2025-08-15T11:54:01.724Z] DB: getAllPlayers - start +[2025-08-15T11:54:01.724Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T11:54:01.724Z] API: Fetch all players (public) Found 4 players +[2025-08-15T11:54:02.218Z] DB: getAllPlayers - start +[2025-08-15T11:54:02.416Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T11:54:02.748Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:54:02.749Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:54:02.828Z] DB: createSession - start 035f761fdda85f170002a0db6d49f92bcacce0f8aa0aab8137c9b72275dc036d expiresAt 2025-08-16T11:54:02.828Z +[2025-08-15T11:54:02.828Z] DB: createSession - done 035f761fdda85f170002a0db6d49f92bcacce0f8aa0aab8137c9b72275dc036d +[2025-08-15T11:54:02.828Z] API: Player login christoffer 035f761fdda85f170002a0db6d49f92bcacce0f8aa0aab8137c9b72275dc036d +[2025-08-15T11:54:02.847Z] DB: getSession - start 035f761fdda85f170002a0db6d49f92bcacce0f8aa0aab8137c9b72275dc036d +[2025-08-15T11:54:02.848Z] DB: getSession - ok 035f761fdda85f170002a0db6d49f92bcacce0f8aa0aab8137c9b72275dc036d +[2025-08-15T11:54:02.848Z] SESSION: Valid 035f761fdda85f170002a0db6d49f92bcacce0f8aa0aab8137c9b72275dc036d christoffer PUT /api/players/christoffer +[2025-08-15T11:54:02.848Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:54:02.848Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:54:02.848Z] DB: updatePlayer - start christoffer +[2025-08-15T11:54:02.848Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T11:54:02.848Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:54:02.848Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:54:02.848Z] API: Updated player christoffer +[2025-08-15T11:54:02.874Z] DB: getSession - start 035f761fdda85f170002a0db6d49f92bcacce0f8aa0aab8137c9b72275dc036d +[2025-08-15T11:54:02.874Z] DB: getSession - ok 035f761fdda85f170002a0db6d49f92bcacce0f8aa0aab8137c9b72275dc036d +[2025-08-15T11:54:02.874Z] SESSION: Valid 035f761fdda85f170002a0db6d49f92bcacce0f8aa0aab8137c9b72275dc036d christoffer PUT /api/players/christoffer +[2025-08-15T11:54:02.875Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:54:02.875Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:54:02.875Z] DB: updatePlayer - start christoffer +[2025-08-15T11:54:02.875Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T11:54:02.875Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:54:02.875Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:54:02.875Z] API: Updated player christoffer +[2025-08-15T11:55:05.948Z] DB: getPlayerByName - start gm +[2025-08-15T11:55:05.948Z] DB: getPlayerByName - found gm +[2025-08-15T11:55:05.948Z] DB: createSession - start 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd expiresAt 2025-08-16T11:55:05.948Z +[2025-08-15T11:55:05.949Z] DB: createSession - done 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd +[2025-08-15T11:55:05.949Z] SESSION: Login success gm 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd +[2025-08-15T11:55:05.959Z] DB: getSession - start 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd +[2025-08-15T11:55:05.959Z] DB: getSession - ok 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd +[2025-08-15T11:55:05.959Z] SESSION: Validate success 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd gm +[2025-08-15T11:55:07.986Z] DB: getAllPlayers - start +[2025-08-15T11:55:07.987Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T11:55:07.987Z] API: Fetch all players (public) Found 4 players +[2025-08-15T11:55:16.946Z] SESSION: GM bypass accepted PUT /api/players/christoffer +[2025-08-15T11:55:16.946Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:55:16.947Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:55:16.947Z] DB: updatePlayer - start christoffer +[2025-08-15T11:55:16.947Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T11:55:16.947Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:55:16.947Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:55:16.947Z] API: Updated player christoffer +[2025-08-15T11:55:16.951Z] DB: getAllPlayers - start +[2025-08-15T11:55:16.952Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T11:55:16.952Z] API: Fetch all players (public) Found 4 players +[2025-08-15T11:56:47.577Z] DB: getAllPlayers - start +[2025-08-15T11:56:47.578Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T11:56:47.906Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T11:56:47.907Z] DB: deletePlayer - start gmtest +[2025-08-15T11:56:47.907Z] DB: deletePlayer - changes 0 gmtest +[2025-08-15T11:56:47.923Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:56:47.923Z] DB: getPlayerByName - not found gmtest +[2025-08-15T11:56:48.002Z] DB: createPlayer - start gmtest +[2025-08-15T11:56:48.003Z] DB: createPlayer - done gmtest rowid 33 +[2025-08-15T11:56:48.003Z] API: Created player gmtest +[2025-08-15T11:56:48.021Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T11:56:48.021Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:56:48.021Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:56:48.021Z] DB: updatePlayer - start gmtest +[2025-08-15T11:56:48.022Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T11:56:48.022Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:56:48.022Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:56:48.022Z] API: Updated player gmtest +[2025-08-15T11:56:48.037Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T11:56:48.037Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:56:48.037Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:56:48.116Z] DB: updatePlayer - start gmtest +[2025-08-15T11:56:48.117Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T11:56:48.117Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:56:48.117Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:56:48.117Z] API: Updated player gmtest +[2025-08-15T11:56:48.131Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:56:48.132Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:56:48.211Z] DB: createSession - start 03d3345bb7a2f5056e253c9bb658c48b1ca2d0ccf6899d77b7f910b2298619c3 expiresAt 2025-08-16T11:56:48.211Z +[2025-08-15T11:56:48.211Z] DB: createSession - done 03d3345bb7a2f5056e253c9bb658c48b1ca2d0ccf6899d77b7f910b2298619c3 +[2025-08-15T11:56:48.211Z] API: Player login gmtest 03d3345bb7a2f5056e253c9bb658c48b1ca2d0ccf6899d77b7f910b2298619c3 +[2025-08-15T11:56:48.227Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T11:56:48.227Z] DB: deletePlayer - start gmtest +[2025-08-15T11:56:48.227Z] DB: deletePlayer - changes 1 gmtest +[2025-08-15T11:56:48.227Z] API: Deleted player gmtest +[2025-08-15T11:56:48.242Z] DB: getAllPlayers - start +[2025-08-15T11:56:48.242Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T11:56:48.242Z] API: Fetch all players (public) Found 4 players +[2025-08-15T11:56:48.578Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:56:48.578Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:56:48.657Z] DB: createSession - start a831c6c037aac51d9b7964f275a31c2de7d7cb1400f7b5af247dacd1c5e7ca6b expiresAt 2025-08-16T11:56:48.657Z +[2025-08-15T11:56:48.657Z] DB: createSession - done a831c6c037aac51d9b7964f275a31c2de7d7cb1400f7b5af247dacd1c5e7ca6b +[2025-08-15T11:56:48.657Z] API: Player login christoffer a831c6c037aac51d9b7964f275a31c2de7d7cb1400f7b5af247dacd1c5e7ca6b +[2025-08-15T11:56:48.677Z] DB: getSession - start a831c6c037aac51d9b7964f275a31c2de7d7cb1400f7b5af247dacd1c5e7ca6b +[2025-08-15T11:56:48.677Z] DB: getSession - ok a831c6c037aac51d9b7964f275a31c2de7d7cb1400f7b5af247dacd1c5e7ca6b +[2025-08-15T11:56:48.677Z] SESSION: Valid a831c6c037aac51d9b7964f275a31c2de7d7cb1400f7b5af247dacd1c5e7ca6b christoffer PUT /api/players/christoffer +[2025-08-15T11:56:48.677Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:56:48.677Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:56:48.677Z] DB: updatePlayer - start christoffer +[2025-08-15T11:56:48.678Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T11:56:48.678Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:56:48.678Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:56:48.678Z] API: Updated player christoffer +[2025-08-15T11:56:48.694Z] DB: getSession - start a831c6c037aac51d9b7964f275a31c2de7d7cb1400f7b5af247dacd1c5e7ca6b +[2025-08-15T11:56:48.694Z] DB: getSession - ok a831c6c037aac51d9b7964f275a31c2de7d7cb1400f7b5af247dacd1c5e7ca6b +[2025-08-15T11:56:48.694Z] SESSION: Valid a831c6c037aac51d9b7964f275a31c2de7d7cb1400f7b5af247dacd1c5e7ca6b christoffer PUT /api/players/christoffer +[2025-08-15T11:56:48.694Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:56:48.694Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:56:48.694Z] DB: updatePlayer - start christoffer +[2025-08-15T11:56:48.694Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T11:56:48.695Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:56:48.695Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:56:48.695Z] API: Updated player christoffer +[2025-08-15T11:57:34.495Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T11:57:34.495Z] DB: deletePlayer - start gmtest +[2025-08-15T11:57:34.495Z] DB: deletePlayer - changes 0 gmtest +[2025-08-15T11:57:34.512Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:57:34.512Z] DB: getPlayerByName - not found gmtest +[2025-08-15T11:57:34.591Z] DB: createPlayer - start gmtest +[2025-08-15T11:57:34.591Z] DB: createPlayer - done gmtest rowid 34 +[2025-08-15T11:57:34.591Z] API: Created player gmtest +[2025-08-15T11:57:34.609Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T11:57:34.609Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:57:34.609Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:57:34.609Z] DB: updatePlayer - start gmtest +[2025-08-15T11:57:34.609Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T11:57:34.609Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:57:34.610Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:57:34.610Z] API: Updated player gmtest +[2025-08-15T11:57:34.624Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T11:57:34.624Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:57:34.624Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:57:34.704Z] DB: updatePlayer - start gmtest +[2025-08-15T11:57:34.704Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T11:57:34.704Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:57:34.704Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:57:34.704Z] API: Updated player gmtest +[2025-08-15T11:57:34.719Z] DB: getPlayerByName - start gmtest +[2025-08-15T11:57:34.719Z] DB: getPlayerByName - found gmtest +[2025-08-15T11:57:34.798Z] DB: createSession - start 9e6588cfc1d2fc773381905b2f657b3601ddbc8e70a008bfb7ebe1d4e5b055ec expiresAt 2025-08-16T11:57:34.798Z +[2025-08-15T11:57:34.798Z] DB: createSession - done 9e6588cfc1d2fc773381905b2f657b3601ddbc8e70a008bfb7ebe1d4e5b055ec +[2025-08-15T11:57:34.798Z] API: Player login gmtest 9e6588cfc1d2fc773381905b2f657b3601ddbc8e70a008bfb7ebe1d4e5b055ec +[2025-08-15T11:57:34.814Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T11:57:34.814Z] DB: deletePlayer - start gmtest +[2025-08-15T11:57:34.814Z] DB: deletePlayer - changes 1 gmtest +[2025-08-15T11:57:34.814Z] API: Deleted player gmtest +[2025-08-15T11:57:34.829Z] DB: getAllPlayers - start +[2025-08-15T11:57:34.829Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T11:57:34.830Z] API: Fetch all players (public) Found 4 players +[2025-08-15T11:57:35.340Z] DB: getAllPlayers - start +[2025-08-15T11:57:35.341Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T11:57:35.668Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:57:35.668Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:57:35.748Z] DB: createSession - start 9029c48f8e6be153b99c0f7f8a752033f4afa334438d33aa0221601b7e470eb6 expiresAt 2025-08-16T11:57:35.748Z +[2025-08-15T11:57:35.749Z] DB: createSession - done 9029c48f8e6be153b99c0f7f8a752033f4afa334438d33aa0221601b7e470eb6 +[2025-08-15T11:57:35.749Z] API: Player login christoffer 9029c48f8e6be153b99c0f7f8a752033f4afa334438d33aa0221601b7e470eb6 +[2025-08-15T11:57:35.768Z] DB: getSession - start 9029c48f8e6be153b99c0f7f8a752033f4afa334438d33aa0221601b7e470eb6 +[2025-08-15T11:57:35.769Z] DB: getSession - ok 9029c48f8e6be153b99c0f7f8a752033f4afa334438d33aa0221601b7e470eb6 +[2025-08-15T11:57:35.769Z] SESSION: Valid 9029c48f8e6be153b99c0f7f8a752033f4afa334438d33aa0221601b7e470eb6 christoffer PUT /api/players/christoffer +[2025-08-15T11:57:35.769Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:57:35.769Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:57:35.769Z] DB: updatePlayer - start christoffer +[2025-08-15T11:57:35.770Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T11:57:35.770Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:57:35.770Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:57:35.770Z] API: Updated player christoffer +[2025-08-15T11:57:35.796Z] DB: getSession - start 9029c48f8e6be153b99c0f7f8a752033f4afa334438d33aa0221601b7e470eb6 +[2025-08-15T11:57:35.796Z] DB: getSession - ok 9029c48f8e6be153b99c0f7f8a752033f4afa334438d33aa0221601b7e470eb6 +[2025-08-15T11:57:35.797Z] SESSION: Valid 9029c48f8e6be153b99c0f7f8a752033f4afa334438d33aa0221601b7e470eb6 christoffer PUT /api/players/christoffer +[2025-08-15T11:57:35.797Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:57:35.797Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:57:35.797Z] DB: updatePlayer - start christoffer +[2025-08-15T11:57:35.797Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T11:57:35.797Z] DB: getPlayerByName - start christoffer +[2025-08-15T11:57:35.797Z] DB: getPlayerByName - found christoffer +[2025-08-15T11:57:35.797Z] API: Updated player christoffer +[2025-08-15T12:17:28.140Z] DB: getSession - start 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd +[2025-08-15T12:17:28.140Z] DB: getSession - ok 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd +[2025-08-15T12:17:28.140Z] SESSION: Validate success 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd gm +[2025-08-15T12:17:31.131Z] DB: getAllPlayers - start +[2025-08-15T12:17:31.131Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:17:31.131Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:17:33.487Z] SESSION: GM bypass accepted PUT /api/players/gm +[2025-08-15T12:17:33.487Z] DB: getPlayerByName - start gm +[2025-08-15T12:17:33.487Z] DB: getPlayerByName - found gm +[2025-08-15T12:17:33.487Z] DB: updatePlayer - start gm +[2025-08-15T12:17:33.487Z] DB: updatePlayer - changes 1 gm +[2025-08-15T12:17:33.487Z] DB: getPlayerByName - start gm +[2025-08-15T12:17:33.487Z] DB: getPlayerByName - found gm +[2025-08-15T12:17:33.488Z] API: Updated player gm +[2025-08-15T12:17:33.492Z] DB: getAllPlayers - start +[2025-08-15T12:17:33.492Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:17:33.493Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:17:34.631Z] SESSION: GM bypass accepted PUT /api/players/gm +[2025-08-15T12:17:34.632Z] DB: getPlayerByName - start gm +[2025-08-15T12:17:34.632Z] DB: getPlayerByName - found gm +[2025-08-15T12:17:34.632Z] DB: updatePlayer - start gm +[2025-08-15T12:17:34.632Z] DB: updatePlayer - changes 1 gm +[2025-08-15T12:17:34.632Z] DB: getPlayerByName - start gm +[2025-08-15T12:17:34.632Z] DB: getPlayerByName - found gm +[2025-08-15T12:17:34.632Z] API: Updated player gm +[2025-08-15T12:17:34.637Z] DB: getAllPlayers - start +[2025-08-15T12:17:34.637Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:17:34.637Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:17:35.425Z] SESSION: GM bypass accepted PUT /api/players/gm +[2025-08-15T12:17:35.425Z] DB: getPlayerByName - start gm +[2025-08-15T12:17:35.425Z] DB: getPlayerByName - found gm +[2025-08-15T12:17:35.425Z] DB: updatePlayer - start gm +[2025-08-15T12:17:35.426Z] DB: updatePlayer - changes 1 gm +[2025-08-15T12:17:35.426Z] DB: getPlayerByName - start gm +[2025-08-15T12:17:35.426Z] DB: getPlayerByName - found gm +[2025-08-15T12:17:35.426Z] API: Updated player gm +[2025-08-15T12:17:35.431Z] DB: getAllPlayers - start +[2025-08-15T12:17:35.431Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:17:35.431Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:17:46.262Z] SESSION: GM bypass accepted PUT /api/players/christoffer +[2025-08-15T12:17:46.263Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:17:46.263Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:17:46.263Z] DB: updatePlayer - start christoffer +[2025-08-15T12:17:46.263Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:17:46.263Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:17:46.263Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:17:46.263Z] API: Updated player christoffer +[2025-08-15T12:17:46.268Z] DB: getAllPlayers - start +[2025-08-15T12:17:46.268Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:17:46.268Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:17:53.481Z] SESSION: GM bypass accepted PUT /api/players/phillip +[2025-08-15T12:17:53.481Z] DB: getPlayerByName - start phillip +[2025-08-15T12:17:53.481Z] DB: getPlayerByName - found phillip +[2025-08-15T12:17:53.481Z] DB: updatePlayer - start phillip +[2025-08-15T12:17:53.481Z] DB: updatePlayer - changes 1 phillip +[2025-08-15T12:17:53.481Z] DB: getPlayerByName - start phillip +[2025-08-15T12:17:53.482Z] DB: getPlayerByName - found phillip +[2025-08-15T12:17:53.482Z] API: Updated player phillip +[2025-08-15T12:17:53.487Z] DB: getAllPlayers - start +[2025-08-15T12:17:53.488Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:17:53.488Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:17:55.827Z] SESSION: GM bypass accepted PUT /api/players/claes +[2025-08-15T12:17:55.827Z] DB: getPlayerByName - start claes +[2025-08-15T12:17:55.827Z] DB: getPlayerByName - found claes +[2025-08-15T12:17:55.827Z] DB: updatePlayer - start claes +[2025-08-15T12:17:55.827Z] DB: updatePlayer - changes 1 claes +[2025-08-15T12:17:55.828Z] DB: getPlayerByName - start claes +[2025-08-15T12:17:55.828Z] DB: getPlayerByName - found claes +[2025-08-15T12:17:55.828Z] API: Updated player claes +[2025-08-15T12:17:55.832Z] DB: getAllPlayers - start +[2025-08-15T12:17:55.832Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:17:55.832Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:17:59.174Z] SESSION: GM bypass accepted PUT /api/players/christoffer +[2025-08-15T12:17:59.174Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:17:59.174Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:17:59.174Z] DB: updatePlayer - start christoffer +[2025-08-15T12:17:59.174Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:17:59.174Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:17:59.174Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:17:59.174Z] API: Updated player christoffer +[2025-08-15T12:17:59.179Z] DB: getAllPlayers - start +[2025-08-15T12:17:59.179Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:17:59.179Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:18:00.742Z] SESSION: GM bypass accepted PUT /api/players/claes +[2025-08-15T12:18:00.743Z] DB: getPlayerByName - start claes +[2025-08-15T12:18:00.743Z] DB: getPlayerByName - found claes +[2025-08-15T12:18:00.743Z] DB: updatePlayer - start claes +[2025-08-15T12:18:00.743Z] DB: updatePlayer - changes 1 claes +[2025-08-15T12:18:00.743Z] DB: getPlayerByName - start claes +[2025-08-15T12:18:00.743Z] DB: getPlayerByName - found claes +[2025-08-15T12:18:00.743Z] API: Updated player claes +[2025-08-15T12:18:00.749Z] DB: getAllPlayers - start +[2025-08-15T12:18:00.749Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:18:00.749Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:20:50.752Z] DB: getSession - start 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd +[2025-08-15T12:20:50.753Z] DB: getSession - ok 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd +[2025-08-15T12:20:50.753Z] SESSION: Validate success 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd gm +[2025-08-15T12:20:52.783Z] DB: getAllPlayers - start +[2025-08-15T12:20:52.784Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:20:52.784Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:21:23.462Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T12:21:23.462Z] DB: deletePlayer - start gmtest +[2025-08-15T12:21:23.462Z] DB: deletePlayer - changes 0 gmtest +[2025-08-15T12:21:23.479Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:21:23.479Z] DB: getPlayerByName - not found gmtest +[2025-08-15T12:21:23.558Z] DB: createPlayer - start gmtest +[2025-08-15T12:21:23.558Z] DB: createPlayer - done gmtest rowid 35 +[2025-08-15T12:21:23.558Z] API: Created player gmtest +[2025-08-15T12:21:23.576Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T12:21:23.576Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:21:23.576Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:21:23.576Z] DB: updatePlayer - start gmtest +[2025-08-15T12:21:23.576Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T12:21:23.576Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:21:23.576Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:21:23.576Z] API: Updated player gmtest +[2025-08-15T12:21:23.591Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T12:21:23.591Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:21:23.591Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:21:23.670Z] DB: updatePlayer - start gmtest +[2025-08-15T12:21:23.671Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T12:21:23.671Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:21:23.671Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:21:23.671Z] API: Updated player gmtest +[2025-08-15T12:21:23.686Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:21:23.686Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:21:23.765Z] DB: createSession - start 8fbe176cc7b112a1dd1d1b5af01cfea6fb01aac75bfb1e1b64ee37253f4cd013 expiresAt 2025-08-16T12:21:23.765Z +[2025-08-15T12:21:23.765Z] DB: createSession - done 8fbe176cc7b112a1dd1d1b5af01cfea6fb01aac75bfb1e1b64ee37253f4cd013 +[2025-08-15T12:21:23.765Z] API: Player login gmtest 8fbe176cc7b112a1dd1d1b5af01cfea6fb01aac75bfb1e1b64ee37253f4cd013 +[2025-08-15T12:21:23.780Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T12:21:23.781Z] DB: deletePlayer - start gmtest +[2025-08-15T12:21:23.781Z] DB: deletePlayer - changes 1 gmtest +[2025-08-15T12:21:23.781Z] API: Deleted player gmtest +[2025-08-15T12:21:23.796Z] DB: getAllPlayers - start +[2025-08-15T12:21:23.796Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:21:23.796Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:21:24.311Z] DB: getAllPlayers - start +[2025-08-15T12:21:24.312Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:21:24.648Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:21:24.648Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:21:24.727Z] DB: createSession - start ea50a5062134600f5f1c257b5cc0dca526c44e0bc2d43f210103407fc326705e expiresAt 2025-08-16T12:21:24.727Z +[2025-08-15T12:21:24.728Z] DB: createSession - done ea50a5062134600f5f1c257b5cc0dca526c44e0bc2d43f210103407fc326705e +[2025-08-15T12:21:24.728Z] API: Player login christoffer ea50a5062134600f5f1c257b5cc0dca526c44e0bc2d43f210103407fc326705e +[2025-08-15T12:21:24.748Z] DB: getSession - start ea50a5062134600f5f1c257b5cc0dca526c44e0bc2d43f210103407fc326705e +[2025-08-15T12:21:24.748Z] DB: getSession - ok ea50a5062134600f5f1c257b5cc0dca526c44e0bc2d43f210103407fc326705e +[2025-08-15T12:21:24.748Z] SESSION: Valid ea50a5062134600f5f1c257b5cc0dca526c44e0bc2d43f210103407fc326705e christoffer PUT /api/players/christoffer +[2025-08-15T12:21:24.748Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:21:24.748Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:21:24.748Z] DB: updatePlayer - start christoffer +[2025-08-15T12:21:24.748Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:21:24.748Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:21:24.748Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:21:24.748Z] API: Updated player christoffer +[2025-08-15T12:21:24.774Z] DB: getSession - start ea50a5062134600f5f1c257b5cc0dca526c44e0bc2d43f210103407fc326705e +[2025-08-15T12:21:24.774Z] DB: getSession - ok ea50a5062134600f5f1c257b5cc0dca526c44e0bc2d43f210103407fc326705e +[2025-08-15T12:21:24.774Z] SESSION: Valid ea50a5062134600f5f1c257b5cc0dca526c44e0bc2d43f210103407fc326705e christoffer PUT /api/players/christoffer +[2025-08-15T12:21:24.774Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:21:24.774Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:21:24.774Z] DB: updatePlayer - start christoffer +[2025-08-15T12:21:24.774Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:21:24.774Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:21:24.774Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:21:24.774Z] API: Updated player christoffer +[2025-08-15T12:22:59.119Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T12:22:59.119Z] DB: deletePlayer - start gmtest +[2025-08-15T12:22:59.119Z] DB: deletePlayer - changes 0 gmtest +[2025-08-15T12:22:59.135Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:22:59.135Z] DB: getPlayerByName - not found gmtest +[2025-08-15T12:22:59.214Z] DB: createPlayer - start gmtest +[2025-08-15T12:22:59.215Z] DB: createPlayer - done gmtest rowid 36 +[2025-08-15T12:22:59.215Z] API: Created player gmtest +[2025-08-15T12:22:59.232Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T12:22:59.233Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:22:59.233Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:22:59.233Z] DB: updatePlayer - start gmtest +[2025-08-15T12:22:59.233Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T12:22:59.233Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:22:59.233Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:22:59.233Z] API: Updated player gmtest +[2025-08-15T12:22:59.247Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T12:22:59.248Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:22:59.248Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:22:59.328Z] DB: updatePlayer - start gmtest +[2025-08-15T12:22:59.329Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T12:22:59.329Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:22:59.329Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:22:59.329Z] API: Updated player gmtest +[2025-08-15T12:22:59.343Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:22:59.343Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:22:59.422Z] DB: createSession - start 616f3f941e3bc99716698191b36c2a82d0988cc4d30c59e9c539a1ed5f2cee19 expiresAt 2025-08-16T12:22:59.422Z +[2025-08-15T12:22:59.423Z] DB: createSession - done 616f3f941e3bc99716698191b36c2a82d0988cc4d30c59e9c539a1ed5f2cee19 +[2025-08-15T12:22:59.423Z] API: Player login gmtest 616f3f941e3bc99716698191b36c2a82d0988cc4d30c59e9c539a1ed5f2cee19 +[2025-08-15T12:22:59.438Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T12:22:59.438Z] DB: deletePlayer - start gmtest +[2025-08-15T12:22:59.438Z] DB: deletePlayer - changes 1 gmtest +[2025-08-15T12:22:59.438Z] API: Deleted player gmtest +[2025-08-15T12:22:59.453Z] DB: getAllPlayers - start +[2025-08-15T12:22:59.453Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:22:59.453Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:22:59.974Z] DB: getAllPlayers - start +[2025-08-15T12:22:59.975Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:23:00.326Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:23:00.326Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:23:00.405Z] DB: createSession - start 2d542e39162f00ba4a5af5b71d033f3ce91a89c8da50f504590c8b99fdc041c0 expiresAt 2025-08-16T12:23:00.405Z +[2025-08-15T12:23:00.406Z] DB: createSession - done 2d542e39162f00ba4a5af5b71d033f3ce91a89c8da50f504590c8b99fdc041c0 +[2025-08-15T12:23:00.406Z] API: Player login christoffer 2d542e39162f00ba4a5af5b71d033f3ce91a89c8da50f504590c8b99fdc041c0 +[2025-08-15T12:23:00.435Z] DB: getSession - start 2d542e39162f00ba4a5af5b71d033f3ce91a89c8da50f504590c8b99fdc041c0 +[2025-08-15T12:23:00.436Z] DB: getSession - ok 2d542e39162f00ba4a5af5b71d033f3ce91a89c8da50f504590c8b99fdc041c0 +[2025-08-15T12:23:00.436Z] SESSION: Valid 2d542e39162f00ba4a5af5b71d033f3ce91a89c8da50f504590c8b99fdc041c0 christoffer PUT /api/players/christoffer +[2025-08-15T12:23:00.436Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:23:00.436Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:23:00.436Z] DB: updatePlayer - start christoffer +[2025-08-15T12:23:00.437Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:23:00.437Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:23:00.437Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:23:00.437Z] API: Updated player christoffer +[2025-08-15T12:23:00.455Z] DB: getSession - start 2d542e39162f00ba4a5af5b71d033f3ce91a89c8da50f504590c8b99fdc041c0 +[2025-08-15T12:23:00.455Z] DB: getSession - ok 2d542e39162f00ba4a5af5b71d033f3ce91a89c8da50f504590c8b99fdc041c0 +[2025-08-15T12:23:00.455Z] SESSION: Valid 2d542e39162f00ba4a5af5b71d033f3ce91a89c8da50f504590c8b99fdc041c0 christoffer PUT /api/players/christoffer +[2025-08-15T12:23:00.455Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:23:00.455Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:23:00.455Z] DB: updatePlayer - start christoffer +[2025-08-15T12:23:00.456Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:23:00.456Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:23:00.456Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:23:00.456Z] API: Updated player christoffer +[2025-08-15T12:23:35.306Z] DB: getSession - start 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd +[2025-08-15T12:23:35.306Z] DB: getSession - ok 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd +[2025-08-15T12:23:35.306Z] SESSION: Validate success 1682ff032279e86b4f0d1579ca92829081b33d390884e7c50e8ec31cb27287bd gm +[2025-08-15T12:23:36.602Z] DB: getAllPlayers - start +[2025-08-15T12:23:36.603Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:23:36.603Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:23:54.447Z] SESSION: GM bypass accepted PUT /api/players/christoffer +[2025-08-15T12:23:54.447Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:23:54.447Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:23:54.447Z] DB: updatePlayer - start christoffer +[2025-08-15T12:23:54.447Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:23:54.448Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:23:54.448Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:23:54.448Z] API: Updated player christoffer +[2025-08-15T12:23:54.455Z] SESSION: GM bypass accepted PUT /api/players/undefined +[2025-08-15T12:23:54.455Z] DB: getPlayerByName - start undefined +[2025-08-15T12:23:54.455Z] DB: getPlayerByName - not found undefined +[2025-08-15T12:23:59.616Z] SESSION: GM bypass accepted PUT /api/players/christoffer +[2025-08-15T12:23:59.616Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:23:59.616Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:23:59.616Z] DB: updatePlayer - start christoffer +[2025-08-15T12:23:59.617Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:23:59.617Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:23:59.617Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:23:59.617Z] API: Updated player christoffer +[2025-08-15T12:23:59.623Z] SESSION: GM bypass accepted PUT /api/players/undefined +[2025-08-15T12:23:59.623Z] DB: getPlayerByName - start undefined +[2025-08-15T12:23:59.624Z] DB: getPlayerByName - not found undefined +[2025-08-15T12:24:06.497Z] SESSION: GM bypass accepted PUT /api/players/christoffer +[2025-08-15T12:24:06.498Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:24:06.498Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:24:06.498Z] DB: updatePlayer - start christoffer +[2025-08-15T12:24:06.499Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:24:06.499Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:24:06.499Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:24:06.499Z] API: Updated player christoffer +[2025-08-15T12:24:06.505Z] SESSION: GM bypass accepted PUT /api/players/undefined +[2025-08-15T12:24:06.505Z] DB: getPlayerByName - start undefined +[2025-08-15T12:24:06.506Z] DB: getPlayerByName - not found undefined +[2025-08-15T12:24:08.900Z] SESSION: GM bypass accepted PUT /api/players/christoffer +[2025-08-15T12:24:08.901Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:24:08.901Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:24:08.901Z] DB: updatePlayer - start christoffer +[2025-08-15T12:24:08.901Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:24:08.901Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:24:08.901Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:24:08.901Z] API: Updated player christoffer +[2025-08-15T12:24:08.911Z] SESSION: GM bypass accepted PUT /api/players/undefined +[2025-08-15T12:24:08.912Z] DB: getPlayerByName - start undefined +[2025-08-15T12:24:08.912Z] DB: getPlayerByName - not found undefined +[2025-08-15T12:24:28.489Z] DB: getAllPlayers - start +[2025-08-15T12:24:28.489Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:24:28.489Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:24:33.964Z] DB: getPlayerByName - start gm +[2025-08-15T12:24:33.964Z] DB: getPlayerByName - found gm +[2025-08-15T12:24:33.964Z] DB: createSession - start fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 expiresAt 2025-08-16T12:24:33.964Z +[2025-08-15T12:24:33.964Z] DB: createSession - done fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 +[2025-08-15T12:24:33.964Z] SESSION: Login success gm fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 +[2025-08-15T12:24:34.008Z] DB: getAllPlayers - start +[2025-08-15T12:24:34.008Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:24:34.008Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:24:34.010Z] DB: getSession - start fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 +[2025-08-15T12:24:34.011Z] DB: getSession - ok fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 +[2025-08-15T12:24:34.011Z] SESSION: Validate success fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 gm +[2025-08-15T12:24:49.052Z] SESSION: GM bypass accepted PUT /api/players/christoffer +[2025-08-15T12:24:49.052Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:24:49.052Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:24:49.052Z] DB: updatePlayer - start christoffer +[2025-08-15T12:24:49.052Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:24:49.052Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:24:49.052Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:24:49.053Z] API: Updated player christoffer +[2025-08-15T12:24:49.112Z] SESSION: GM bypass accepted PUT /api/players/undefined +[2025-08-15T12:24:49.112Z] DB: getPlayerByName - start undefined +[2025-08-15T12:24:49.112Z] DB: getPlayerByName - not found undefined +[2025-08-15T12:24:51.745Z] SESSION: GM bypass accepted PUT /api/players/christoffer +[2025-08-15T12:24:51.746Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:24:51.746Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:24:51.746Z] DB: updatePlayer - start christoffer +[2025-08-15T12:24:51.746Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:24:51.746Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:24:51.746Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:24:51.746Z] API: Updated player christoffer +[2025-08-15T12:24:51.779Z] SESSION: GM bypass accepted PUT /api/players/undefined +[2025-08-15T12:24:51.779Z] DB: getPlayerByName - start undefined +[2025-08-15T12:24:51.779Z] DB: getPlayerByName - not found undefined +[2025-08-15T12:24:52.856Z] DB: getSession - start fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 +[2025-08-15T12:24:52.857Z] DB: getSession - ok fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 +[2025-08-15T12:24:52.857Z] SESSION: Validate success fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 gm +[2025-08-15T12:24:53.939Z] DB: getAllPlayers - start +[2025-08-15T12:24:53.939Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:24:53.939Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:25:24.384Z] SESSION: GM bypass accepted PUT /api/players/gm +[2025-08-15T12:25:24.384Z] DB: getPlayerByName - start gm +[2025-08-15T12:25:24.384Z] DB: getPlayerByName - found gm +[2025-08-15T12:25:24.384Z] DB: updatePlayer - start gm +[2025-08-15T12:25:24.384Z] DB: updatePlayer - changes 1 gm +[2025-08-15T12:25:24.384Z] DB: getPlayerByName - start gm +[2025-08-15T12:25:24.384Z] DB: getPlayerByName - found gm +[2025-08-15T12:25:24.384Z] API: Updated player gm +[2025-08-15T12:25:24.419Z] DB: getAllPlayers - start +[2025-08-15T12:25:24.419Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:25:24.419Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:25:50.899Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T12:25:50.899Z] DB: deletePlayer - start gmtest +[2025-08-15T12:25:50.900Z] DB: deletePlayer - changes 0 gmtest +[2025-08-15T12:25:50.916Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:25:50.916Z] DB: getPlayerByName - not found gmtest +[2025-08-15T12:25:50.995Z] DB: createPlayer - start gmtest +[2025-08-15T12:25:50.996Z] DB: createPlayer - done gmtest rowid 37 +[2025-08-15T12:25:50.996Z] API: Created player gmtest +[2025-08-15T12:25:51.014Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T12:25:51.014Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:25:51.014Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:25:51.014Z] DB: updatePlayer - start gmtest +[2025-08-15T12:25:51.014Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T12:25:51.014Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:25:51.014Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:25:51.014Z] API: Updated player gmtest +[2025-08-15T12:25:51.029Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T12:25:51.029Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:25:51.029Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:25:51.109Z] DB: updatePlayer - start gmtest +[2025-08-15T12:25:51.109Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T12:25:51.109Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:25:51.109Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:25:51.109Z] API: Updated player gmtest +[2025-08-15T12:25:51.124Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:25:51.124Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:25:51.204Z] DB: createSession - start c1df7d74ffa22c348de4eafcf72bc13efbc7632c8907b080c114d211b06fdb39 expiresAt 2025-08-16T12:25:51.204Z +[2025-08-15T12:25:51.204Z] DB: createSession - done c1df7d74ffa22c348de4eafcf72bc13efbc7632c8907b080c114d211b06fdb39 +[2025-08-15T12:25:51.204Z] API: Player login gmtest c1df7d74ffa22c348de4eafcf72bc13efbc7632c8907b080c114d211b06fdb39 +[2025-08-15T12:25:51.219Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T12:25:51.219Z] DB: deletePlayer - start gmtest +[2025-08-15T12:25:51.219Z] DB: deletePlayer - changes 1 gmtest +[2025-08-15T12:25:51.219Z] API: Deleted player gmtest +[2025-08-15T12:25:51.235Z] DB: getAllPlayers - start +[2025-08-15T12:25:51.235Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:25:51.235Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:25:51.736Z] DB: getAllPlayers - start +[2025-08-15T12:25:51.737Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:25:52.067Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:25:52.067Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:25:52.146Z] DB: createSession - start a6aa25ff62be9bca4366ea972c44f6aa066ad99ed5b8b6ecd67f63a841a344fe expiresAt 2025-08-16T12:25:52.146Z +[2025-08-15T12:25:52.147Z] DB: createSession - done a6aa25ff62be9bca4366ea972c44f6aa066ad99ed5b8b6ecd67f63a841a344fe +[2025-08-15T12:25:52.147Z] API: Player login christoffer a6aa25ff62be9bca4366ea972c44f6aa066ad99ed5b8b6ecd67f63a841a344fe +[2025-08-15T12:25:52.166Z] DB: getSession - start a6aa25ff62be9bca4366ea972c44f6aa066ad99ed5b8b6ecd67f63a841a344fe +[2025-08-15T12:25:52.166Z] DB: getSession - ok a6aa25ff62be9bca4366ea972c44f6aa066ad99ed5b8b6ecd67f63a841a344fe +[2025-08-15T12:25:52.166Z] SESSION: Valid a6aa25ff62be9bca4366ea972c44f6aa066ad99ed5b8b6ecd67f63a841a344fe christoffer PUT /api/players/christoffer +[2025-08-15T12:25:52.167Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:25:52.167Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:25:52.167Z] DB: updatePlayer - start christoffer +[2025-08-15T12:25:52.167Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:25:52.167Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:25:52.167Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:25:52.167Z] API: Updated player christoffer +[2025-08-15T12:25:52.193Z] DB: getSession - start a6aa25ff62be9bca4366ea972c44f6aa066ad99ed5b8b6ecd67f63a841a344fe +[2025-08-15T12:25:52.193Z] DB: getSession - ok a6aa25ff62be9bca4366ea972c44f6aa066ad99ed5b8b6ecd67f63a841a344fe +[2025-08-15T12:25:52.194Z] SESSION: Valid a6aa25ff62be9bca4366ea972c44f6aa066ad99ed5b8b6ecd67f63a841a344fe christoffer PUT /api/players/christoffer +[2025-08-15T12:25:52.194Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:25:52.194Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:25:52.194Z] DB: updatePlayer - start christoffer +[2025-08-15T12:25:52.194Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:25:52.194Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:25:52.194Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:25:52.195Z] API: Updated player christoffer +[2025-08-15T12:26:11.681Z] DB: getSession - start fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 +[2025-08-15T12:26:11.681Z] DB: getSession - ok fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 +[2025-08-15T12:26:11.682Z] SESSION: Validate success fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 gm +[2025-08-15T12:26:13.538Z] DB: getAllPlayers - start +[2025-08-15T12:26:13.538Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:26:13.538Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:26:17.718Z] DB: getAllPlayers - start +[2025-08-15T12:26:17.718Z] DB: getAllPlayers - resultCount 4 +[2025-08-15T12:26:17.718Z] API: Fetch all players (public) Found 4 players +[2025-08-15T12:26:31.221Z] DB: getPlayerByName - start anders +[2025-08-15T12:26:31.221Z] DB: getPlayerByName - not found anders +[2025-08-15T12:26:31.300Z] DB: createPlayer - start anders +[2025-08-15T12:26:31.300Z] DB: createPlayer - done anders rowid 38 +[2025-08-15T12:26:31.300Z] API: Created player anders +[2025-08-15T12:26:31.332Z] DB: getAllPlayers - start +[2025-08-15T12:26:31.332Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:26:31.333Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:26:42.467Z] DB: getSession - start fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 +[2025-08-15T12:26:42.468Z] DB: getSession - ok fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 +[2025-08-15T12:26:42.468Z] SESSION: Validate success fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 gm +[2025-08-15T12:26:44.537Z] DB: getAllPlayers - start +[2025-08-15T12:26:44.538Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:26:44.538Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:26:53.537Z] SESSION: GM bypass accepted PUT /api/players/anders +[2025-08-15T12:26:53.537Z] DB: getPlayerByName - start anders +[2025-08-15T12:26:53.537Z] DB: getPlayerByName - found anders +[2025-08-15T12:26:53.537Z] DB: updatePlayer - start anders +[2025-08-15T12:26:53.537Z] DB: updatePlayer - changes 1 anders +[2025-08-15T12:26:53.537Z] DB: getPlayerByName - start anders +[2025-08-15T12:26:53.537Z] DB: getPlayerByName - found anders +[2025-08-15T12:26:53.537Z] API: Updated player anders +[2025-08-15T12:26:53.575Z] DB: getAllPlayers - start +[2025-08-15T12:26:53.575Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:26:53.575Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:26:56.934Z] SESSION: GM bypass accepted PUT /api/players/christoffer +[2025-08-15T12:26:56.934Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:26:56.934Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:26:56.934Z] DB: updatePlayer - start christoffer +[2025-08-15T12:26:56.935Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:26:56.935Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:26:56.935Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:26:56.935Z] API: Updated player christoffer +[2025-08-15T12:26:56.969Z] DB: getAllPlayers - start +[2025-08-15T12:26:56.970Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:26:56.970Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:27:01.850Z] SESSION: GM bypass accepted PUT /api/players/anders +[2025-08-15T12:27:01.850Z] DB: getPlayerByName - start anders +[2025-08-15T12:27:01.850Z] DB: getPlayerByName - found anders +[2025-08-15T12:27:01.851Z] DB: updatePlayer - start anders +[2025-08-15T12:27:01.851Z] DB: updatePlayer - changes 1 anders +[2025-08-15T12:27:01.851Z] DB: getPlayerByName - start anders +[2025-08-15T12:27:01.851Z] DB: getPlayerByName - found anders +[2025-08-15T12:27:01.851Z] API: Updated player anders +[2025-08-15T12:27:01.893Z] DB: getAllPlayers - start +[2025-08-15T12:27:01.894Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:27:01.894Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:27:03.860Z] SESSION: GM bypass accepted PUT /api/players/anders +[2025-08-15T12:27:03.860Z] DB: getPlayerByName - start anders +[2025-08-15T12:27:03.860Z] DB: getPlayerByName - found anders +[2025-08-15T12:27:03.860Z] DB: updatePlayer - start anders +[2025-08-15T12:27:03.860Z] DB: updatePlayer - changes 1 anders +[2025-08-15T12:27:03.860Z] DB: getPlayerByName - start anders +[2025-08-15T12:27:03.860Z] DB: getPlayerByName - found anders +[2025-08-15T12:27:03.860Z] API: Updated player anders +[2025-08-15T12:27:03.900Z] DB: getAllPlayers - start +[2025-08-15T12:27:03.901Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:27:03.901Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:27:06.742Z] SESSION: GM bypass accepted PUT /api/players/christoffer +[2025-08-15T12:27:06.747Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:27:06.748Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:27:06.748Z] DB: updatePlayer - start christoffer +[2025-08-15T12:27:06.748Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:27:06.748Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:27:06.748Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:27:06.748Z] API: Updated player christoffer +[2025-08-15T12:27:06.781Z] DB: getAllPlayers - start +[2025-08-15T12:27:06.781Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:27:06.781Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:27:10.817Z] SESSION: GM bypass accepted PUT /api/players/christoffer +[2025-08-15T12:27:10.818Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:27:10.818Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:27:10.818Z] DB: updatePlayer - start christoffer +[2025-08-15T12:27:10.818Z] DB: updatePlayer - changes 1 christoffer +[2025-08-15T12:27:10.818Z] DB: getPlayerByName - start christoffer +[2025-08-15T12:27:10.818Z] DB: getPlayerByName - found christoffer +[2025-08-15T12:27:10.818Z] API: Updated player christoffer +[2025-08-15T12:27:10.855Z] DB: getAllPlayers - start +[2025-08-15T12:27:10.855Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:27:10.855Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:27:13.533Z] SESSION: GM bypass accepted PUT /api/players/claes +[2025-08-15T12:27:13.533Z] DB: getPlayerByName - start claes +[2025-08-15T12:27:13.533Z] DB: getPlayerByName - found claes +[2025-08-15T12:27:13.533Z] DB: updatePlayer - start claes +[2025-08-15T12:27:13.533Z] DB: updatePlayer - changes 1 claes +[2025-08-15T12:27:13.533Z] DB: getPlayerByName - start claes +[2025-08-15T12:27:13.533Z] DB: getPlayerByName - found claes +[2025-08-15T12:27:13.533Z] API: Updated player claes +[2025-08-15T12:27:13.571Z] DB: getAllPlayers - start +[2025-08-15T12:27:13.571Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:27:13.571Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:27:15.081Z] SESSION: GM bypass accepted PUT /api/players/claes +[2025-08-15T12:27:15.081Z] DB: getPlayerByName - start claes +[2025-08-15T12:27:15.082Z] DB: getPlayerByName - found claes +[2025-08-15T12:27:15.082Z] DB: updatePlayer - start claes +[2025-08-15T12:27:15.082Z] DB: updatePlayer - changes 1 claes +[2025-08-15T12:27:15.082Z] DB: getPlayerByName - start claes +[2025-08-15T12:27:15.082Z] DB: getPlayerByName - found claes +[2025-08-15T12:27:15.082Z] API: Updated player claes +[2025-08-15T12:27:15.116Z] DB: getAllPlayers - start +[2025-08-15T12:27:15.116Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:27:15.117Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:27:16.987Z] SESSION: GM bypass accepted PUT /api/players/claes +[2025-08-15T12:27:16.987Z] DB: getPlayerByName - start claes +[2025-08-15T12:27:16.988Z] DB: getPlayerByName - found claes +[2025-08-15T12:27:16.988Z] DB: updatePlayer - start claes +[2025-08-15T12:27:16.988Z] DB: updatePlayer - changes 1 claes +[2025-08-15T12:27:16.988Z] DB: getPlayerByName - start claes +[2025-08-15T12:27:16.988Z] DB: getPlayerByName - found claes +[2025-08-15T12:27:16.988Z] API: Updated player claes +[2025-08-15T12:27:17.024Z] DB: getAllPlayers - start +[2025-08-15T12:27:17.024Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:27:17.025Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:27:20.307Z] SESSION: GM bypass accepted PUT /api/players/phillip +[2025-08-15T12:27:20.307Z] DB: getPlayerByName - start phillip +[2025-08-15T12:27:20.307Z] DB: getPlayerByName - found phillip +[2025-08-15T12:27:20.307Z] DB: updatePlayer - start phillip +[2025-08-15T12:27:20.308Z] DB: updatePlayer - changes 1 phillip +[2025-08-15T12:27:20.308Z] DB: getPlayerByName - start phillip +[2025-08-15T12:27:20.308Z] DB: getPlayerByName - found phillip +[2025-08-15T12:27:20.308Z] API: Updated player phillip +[2025-08-15T12:27:20.349Z] DB: getAllPlayers - start +[2025-08-15T12:27:20.350Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:27:20.350Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:27:21.686Z] SESSION: GM bypass accepted PUT /api/players/phillip +[2025-08-15T12:27:21.687Z] DB: getPlayerByName - start phillip +[2025-08-15T12:27:21.687Z] DB: getPlayerByName - found phillip +[2025-08-15T12:27:21.687Z] DB: updatePlayer - start phillip +[2025-08-15T12:27:21.687Z] DB: updatePlayer - changes 1 phillip +[2025-08-15T12:27:21.687Z] DB: getPlayerByName - start phillip +[2025-08-15T12:27:21.687Z] DB: getPlayerByName - found phillip +[2025-08-15T12:27:21.687Z] API: Updated player phillip +[2025-08-15T12:27:21.724Z] DB: getAllPlayers - start +[2025-08-15T12:27:21.725Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:27:21.725Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:28:53.747Z] DB: deleteSession - start fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 +[2025-08-15T12:28:53.748Z] DB: deleteSession - changes 1 fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 +[2025-08-15T12:28:53.748Z] SESSION: Logout success fef51639507beeced866979db43225f6358ab6c5fc5365f26ba39f3502b678b8 +[2025-08-15T12:28:53.798Z] DB: getAllPlayers - start +[2025-08-15T12:28:53.799Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:28:53.799Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:28:57.316Z] DB: getAllPlayers - start +[2025-08-15T12:28:57.317Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:28:57.317Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:29:00.716Z] DB: getPlayerByName - start anders +[2025-08-15T12:29:00.716Z] DB: getPlayerByName - found anders +[2025-08-15T12:29:00.716Z] DB: createSession - start 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 expiresAt 2025-08-16T12:29:00.716Z +[2025-08-15T12:29:00.716Z] DB: createSession - done 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T12:29:00.716Z] SESSION: Login success anders 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T12:29:00.753Z] DB: getAllPlayers - start +[2025-08-15T12:29:00.753Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:29:00.753Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:29:00.757Z] DB: getSession - start 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T12:29:00.757Z] DB: getSession - ok 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T12:29:00.757Z] SESSION: Validate success 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 anders +[2025-08-15T12:30:10.509Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T12:30:10.509Z] DB: deletePlayer - start gmtest +[2025-08-15T12:30:10.509Z] DB: deletePlayer - changes 0 gmtest +[2025-08-15T12:30:10.526Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:30:10.526Z] DB: getPlayerByName - not found gmtest +[2025-08-15T12:30:10.607Z] DB: createPlayer - start gmtest +[2025-08-15T12:30:10.608Z] DB: createPlayer - done gmtest rowid 39 +[2025-08-15T12:30:10.608Z] API: Created player gmtest +[2025-08-15T12:30:10.625Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T12:30:10.625Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:30:10.625Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:30:10.625Z] DB: updatePlayer - start gmtest +[2025-08-15T12:30:10.625Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T12:30:10.625Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:30:10.625Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:30:10.625Z] API: Updated player gmtest +[2025-08-15T12:30:10.640Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T12:30:10.640Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:30:10.640Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:30:10.721Z] DB: updatePlayer - start gmtest +[2025-08-15T12:30:10.722Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T12:30:10.722Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:30:10.722Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:30:10.722Z] API: Updated player gmtest +[2025-08-15T12:30:10.737Z] DB: getPlayerByName - start gmtest +[2025-08-15T12:30:10.737Z] DB: getPlayerByName - found gmtest +[2025-08-15T12:30:10.817Z] DB: createSession - start 92455e00d9617e82c91b09344fd08c9394d0311bd7d263d8265cd4f656134292 expiresAt 2025-08-16T12:30:10.817Z +[2025-08-15T12:30:10.817Z] DB: createSession - done 92455e00d9617e82c91b09344fd08c9394d0311bd7d263d8265cd4f656134292 +[2025-08-15T12:30:10.817Z] API: Player login gmtest 92455e00d9617e82c91b09344fd08c9394d0311bd7d263d8265cd4f656134292 +[2025-08-15T12:30:10.832Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T12:30:10.832Z] DB: deletePlayer - start gmtest +[2025-08-15T12:30:10.832Z] DB: deletePlayer - changes 1 gmtest +[2025-08-15T12:30:10.833Z] API: Deleted player gmtest +[2025-08-15T12:30:10.848Z] DB: getAllPlayers - start +[2025-08-15T12:30:10.848Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:30:10.848Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:30:11.357Z] DB: getAllPlayers - start +[2025-08-15T12:30:11.358Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:30:16.867Z] SESSION: GM bypass accepted DELETE /api/players/testplayer +[2025-08-15T12:30:16.867Z] DB: deletePlayer - start testplayer +[2025-08-15T12:30:16.867Z] DB: deletePlayer - changes 0 testplayer +[2025-08-15T12:30:16.893Z] DB: getPlayerByName - start testplayer +[2025-08-15T12:30:16.894Z] DB: getPlayerByName - not found testplayer +[2025-08-15T12:30:16.998Z] DB: createPlayer - start testplayer +[2025-08-15T12:30:16.998Z] DB: createPlayer - done testplayer rowid 40 +[2025-08-15T12:30:16.998Z] API: Created player testplayer +[2025-08-15T12:30:17.017Z] DB: getPlayerByName - start testplayer +[2025-08-15T12:30:17.017Z] DB: getPlayerByName - found testplayer +[2025-08-15T12:30:17.097Z] DB: createSession - start df81909b52d9497fb06f7a5c2b9869319e8a0d915747bff8399505e538e1f457 expiresAt 2025-08-16T12:30:17.097Z +[2025-08-15T12:30:17.097Z] DB: createSession - done df81909b52d9497fb06f7a5c2b9869319e8a0d915747bff8399505e538e1f457 +[2025-08-15T12:30:17.097Z] API: Player login testplayer df81909b52d9497fb06f7a5c2b9869319e8a0d915747bff8399505e538e1f457 +[2025-08-15T12:30:17.113Z] DB: getSession - start df81909b52d9497fb06f7a5c2b9869319e8a0d915747bff8399505e538e1f457 +[2025-08-15T12:30:17.113Z] DB: getSession - ok df81909b52d9497fb06f7a5c2b9869319e8a0d915747bff8399505e538e1f457 +[2025-08-15T12:30:17.114Z] SESSION: Valid df81909b52d9497fb06f7a5c2b9869319e8a0d915747bff8399505e538e1f457 testplayer PUT /api/players/testplayer +[2025-08-15T12:30:17.114Z] DB: getPlayerByName - start testplayer +[2025-08-15T12:30:17.114Z] DB: getPlayerByName - found testplayer +[2025-08-15T12:30:17.114Z] DB: updatePlayer - start testplayer +[2025-08-15T12:30:17.114Z] DB: updatePlayer - changes 1 testplayer +[2025-08-15T12:30:17.114Z] DB: getPlayerByName - start testplayer +[2025-08-15T12:30:17.114Z] DB: getPlayerByName - found testplayer +[2025-08-15T12:30:17.114Z] API: Updated player testplayer +[2025-08-15T12:30:17.129Z] DB: getSession - start df81909b52d9497fb06f7a5c2b9869319e8a0d915747bff8399505e538e1f457 +[2025-08-15T12:30:17.130Z] DB: getSession - ok df81909b52d9497fb06f7a5c2b9869319e8a0d915747bff8399505e538e1f457 +[2025-08-15T12:30:17.130Z] SESSION: Valid df81909b52d9497fb06f7a5c2b9869319e8a0d915747bff8399505e538e1f457 testplayer PUT /api/players/testplayer +[2025-08-15T12:30:17.130Z] DB: getPlayerByName - start testplayer +[2025-08-15T12:30:17.130Z] DB: getPlayerByName - found testplayer +[2025-08-15T12:30:17.130Z] DB: updatePlayer - start testplayer +[2025-08-15T12:30:17.130Z] DB: updatePlayer - changes 1 testplayer +[2025-08-15T12:30:17.130Z] DB: getPlayerByName - start testplayer +[2025-08-15T12:30:17.130Z] DB: getPlayerByName - found testplayer +[2025-08-15T12:30:17.130Z] API: Updated player testplayer +[2025-08-15T12:30:17.146Z] SESSION: GM bypass accepted DELETE /api/players/testplayer +[2025-08-15T12:30:17.146Z] DB: deletePlayer - start testplayer +[2025-08-15T12:30:17.146Z] DB: deletePlayer - changes 1 testplayer +[2025-08-15T12:30:17.146Z] API: Deleted player testplayer +[2025-08-15T12:33:56.598Z] DB: getSession - start 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T12:33:56.598Z] DB: getSession - ok 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T12:33:56.598Z] SESSION: Validate success 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 anders +[2025-08-15T12:33:57.911Z] DB: getAllPlayers - start +[2025-08-15T12:33:57.912Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:33:57.912Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:35:14.665Z] DB: getSession - start 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T12:35:14.665Z] DB: getSession - ok 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T12:35:14.665Z] SESSION: Validate success 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 anders +[2025-08-15T12:35:16.190Z] DB: getAllPlayers - start +[2025-08-15T12:35:16.191Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:35:16.191Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:43:26.860Z] DB: getSession - start 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T12:43:26.860Z] DB: getSession - ok 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T12:43:26.860Z] SESSION: Validate success 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 anders +[2025-08-15T12:43:28.053Z] DB: getAllPlayers - start +[2025-08-15T12:43:28.053Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:43:28.053Z] API: Fetch all players (public) Found 5 players +[2025-08-15T12:49:01.443Z] DB: getSession - start 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T12:49:01.443Z] DB: getSession - ok 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T12:49:01.444Z] SESSION: Validate success 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 anders +[2025-08-15T12:49:02.602Z] DB: getAllPlayers - start +[2025-08-15T12:49:02.603Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T12:49:02.603Z] API: Fetch all players (public) Found 5 players +[2025-08-15T13:25:21.735Z] DB: getSession - start 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T13:25:21.735Z] DB: getSession - ok 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T13:25:21.735Z] SESSION: Validate success 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 anders +[2025-08-15T13:25:22.852Z] DB: getAllPlayers - start +[2025-08-15T13:25:22.853Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T13:25:22.853Z] API: Fetch all players (public) Found 5 players +[2025-08-15T13:25:26.628Z] DB: getSession - start 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T13:25:26.628Z] DB: getSession - ok 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T13:25:26.628Z] SESSION: Validate success 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 anders +[2025-08-15T13:25:27.151Z] DB: getSession - start 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T13:25:27.151Z] DB: getSession - ok 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T13:25:27.151Z] SESSION: Validate success 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 anders +[2025-08-15T13:25:28.645Z] DB: deleteSession - start 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T13:25:28.645Z] DB: deleteSession - changes 1 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T13:25:28.645Z] SESSION: Logout success 4e5cf7e3c366b6f038abd36b54b7487f13bd1043545a43f186a4918ff4682024 +[2025-08-15T13:25:32.363Z] DB: getAllPlayers - start +[2025-08-15T13:25:32.364Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T13:25:32.364Z] API: Fetch all players (public) Found 5 players +[2025-08-15T13:25:36.543Z] DB: getAllPlayers - start +[2025-08-15T13:25:36.543Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T13:25:36.543Z] API: Fetch all players (public) Found 5 players +[2025-08-15T13:25:38.507Z] DB: getPlayerByName - start anders +[2025-08-15T13:25:38.507Z] DB: getPlayerByName - found anders +[2025-08-15T13:25:38.507Z] DB: createSession - start d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 expiresAt 2025-08-16T13:25:38.507Z +[2025-08-15T13:25:38.507Z] DB: createSession - done d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:25:38.508Z] SESSION: Login success anders d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:25:38.550Z] DB: getSession - start d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:25:38.550Z] DB: getSession - ok d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:25:38.550Z] SESSION: Validate success d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 anders +[2025-08-15T13:25:38.551Z] DB: getAllPlayers - start +[2025-08-15T13:25:38.552Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T13:25:38.552Z] API: Fetch all players (public) Found 5 players +[2025-08-15T13:27:23.171Z] DB: getSession - start d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:27:23.172Z] DB: getSession - ok d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:27:23.172Z] SESSION: Validate success d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 anders +[2025-08-15T13:27:24.987Z] DB: getAllPlayers - start +[2025-08-15T13:27:24.987Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T13:27:24.987Z] API: Fetch all players (public) Found 5 players +[2025-08-15T13:30:57.053Z] DB: getSession - start d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:30:57.053Z] DB: getSession - ok d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:30:57.053Z] SESSION: Validate success d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 anders +[2025-08-15T13:30:58.395Z] DB: getAllPlayers - start +[2025-08-15T13:30:58.395Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T13:30:58.395Z] API: Fetch all players (public) Found 5 players +[2025-08-15T13:50:01.659Z] DB: getPlayerByName - start shop +[2025-08-15T13:50:01.659Z] DB: getPlayerByName - not found shop +[2025-08-15T13:50:26.456Z] DB: getPlayerByName - start shop +[2025-08-15T13:50:26.456Z] DB: getPlayerByName - not found shop +[2025-08-15T13:50:37.795Z] DB: getPlayerByName - start shop +[2025-08-15T13:50:37.795Z] DB: getPlayerByName - not found shop +[2025-08-15T13:50:56.766Z] DB: getPlayerByName - start shop +[2025-08-15T13:50:56.766Z] DB: getPlayerByName - not found shop +[2025-08-15T13:51:46.116Z] DB: getPlayerByName - start shop +[2025-08-15T13:51:46.116Z] DB: getPlayerByName - not found shop +[2025-08-15T13:51:49.903Z] DB: getSession - start d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:51:49.903Z] DB: getSession - ok d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:51:49.903Z] SESSION: Validate success d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 anders +[2025-08-15T13:51:51.082Z] DB: getAllPlayers - start +[2025-08-15T13:51:51.082Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T13:51:51.082Z] API: Fetch all players (public) Found 5 players +[2025-08-15T13:51:57.037Z] DB: getPlayerByName - start shop +[2025-08-15T13:51:57.037Z] DB: getPlayerByName - not found shop +[2025-08-15T13:52:42.374Z] DB: getPlayerByName - start shop +[2025-08-15T13:52:42.374Z] DB: getPlayerByName - not found shop +[2025-08-15T13:53:10.037Z] DB: getPlayerByName - start shop +[2025-08-15T13:53:10.037Z] DB: getPlayerByName - not found shop +[2025-08-15T13:53:56.796Z] DB: getPlayerByName - start shop +[2025-08-15T13:53:56.796Z] DB: getPlayerByName - not found shop +[2025-08-15T13:54:30.026Z] DB: getPlayerByName - start shop +[2025-08-15T13:54:30.026Z] DB: getPlayerByName - not found shop +[2025-08-15T13:56:35.475Z] DB: getSession - start d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:56:35.475Z] DB: getSession - ok d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:56:35.475Z] SESSION: Validate success d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 anders +[2025-08-15T13:56:36.685Z] DB: getAllPlayers - start +[2025-08-15T13:56:36.685Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T13:56:36.686Z] API: Fetch all players (public) Found 5 players +[2025-08-15T13:56:39.537Z] DB: deleteSession - start d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:56:39.538Z] DB: deleteSession - changes 1 d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:56:39.538Z] SESSION: Logout success d2ef5e8167be4ac3653816d8dc66dc22c2eddef9bb004da806b508f6e93eb479 +[2025-08-15T13:56:41.721Z] DB: getAllPlayers - start +[2025-08-15T13:56:41.722Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T13:56:41.722Z] API: Fetch all players (public) Found 5 players +[2025-08-15T13:56:44.855Z] DB: getPlayerByName - start phillip +[2025-08-15T13:56:44.855Z] DB: getPlayerByName - found phillip +[2025-08-15T13:56:44.856Z] DB: createSession - start dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc expiresAt 2025-08-16T13:56:44.856Z +[2025-08-15T13:56:44.856Z] DB: createSession - done dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc +[2025-08-15T13:56:44.856Z] SESSION: Login success phillip dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc +[2025-08-15T13:56:44.892Z] DB: getSession - start dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc +[2025-08-15T13:56:44.893Z] DB: getSession - ok dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc +[2025-08-15T13:56:44.893Z] SESSION: Validate success dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc phillip +[2025-08-15T13:56:44.894Z] DB: getAllPlayers - start +[2025-08-15T13:56:44.894Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T13:56:44.894Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:10:53.028Z] DB: getSession - start dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc +[2025-08-15T14:10:53.028Z] DB: getSession - ok dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc +[2025-08-15T14:10:53.028Z] SESSION: Validate success dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc phillip +[2025-08-15T14:10:53.735Z] DB: getSession - start dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc +[2025-08-15T14:10:53.735Z] DB: getSession - ok dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc +[2025-08-15T14:10:53.735Z] SESSION: Validate success dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc phillip +[2025-08-15T14:10:54.190Z] DB: getAllPlayers - start +[2025-08-15T14:10:54.191Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:10:54.191Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:10:55.762Z] DB: getSession - start dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc +[2025-08-15T14:10:55.762Z] DB: getSession - ok dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc +[2025-08-15T14:10:55.762Z] SESSION: Validate success dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc phillip +[2025-08-15T14:10:56.383Z] DB: getAllPlayers - start +[2025-08-15T14:10:56.383Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:10:56.383Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:10:57.646Z] DB: deleteSession - start dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc +[2025-08-15T14:10:57.646Z] DB: deleteSession - changes 1 dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc +[2025-08-15T14:10:57.646Z] SESSION: Logout success dafeeade87f9e33d923df264c170c8456bb00aa61f5e2a51e962b0de48a665cc +[2025-08-15T14:10:58.786Z] DB: getAllPlayers - start +[2025-08-15T14:10:58.786Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:10:58.786Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:11:01.712Z] DB: getAllPlayers - start +[2025-08-15T14:11:01.712Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:11:01.712Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:11:05.274Z] DB: getPlayerByName - start phillip +[2025-08-15T14:11:05.274Z] DB: getPlayerByName - found phillip +[2025-08-15T14:11:05.274Z] DB: createSession - start a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff expiresAt 2025-08-16T14:11:05.274Z +[2025-08-15T14:11:05.274Z] DB: createSession - done a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:11:05.274Z] SESSION: Login success phillip a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:11:05.310Z] DB: getAllPlayers - start +[2025-08-15T14:11:05.310Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:11:05.310Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:11:05.317Z] DB: getSession - start a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:11:05.317Z] DB: getSession - ok a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:11:05.317Z] SESSION: Validate success a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff phillip +[2025-08-15T14:14:54.368Z] DB: getSession - start a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:14:54.369Z] DB: getSession - ok a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:14:54.369Z] SESSION: Validate success a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff phillip +[2025-08-15T14:14:55.343Z] DB: getAllPlayers - start +[2025-08-15T14:14:55.343Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:14:55.344Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:15:21.452Z] DB: getSession - start a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:15:21.452Z] DB: getSession - ok a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:15:21.452Z] SESSION: Validate success a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff phillip +[2025-08-15T14:15:23.922Z] DB: getSession - start a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:15:23.922Z] DB: getSession - ok a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:15:23.922Z] SESSION: Validate success a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff phillip +[2025-08-15T14:15:24.843Z] DB: getAllPlayers - start +[2025-08-15T14:15:24.843Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:15:24.843Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:15:26.624Z] DB: getSession - start a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:15:26.625Z] DB: getSession - ok a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:15:26.625Z] SESSION: Validate success a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff phillip +[2025-08-15T14:15:27.272Z] DB: getAllPlayers - start +[2025-08-15T14:15:27.272Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:15:27.272Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:15:31.864Z] DB: deleteSession - start a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:15:31.865Z] DB: deleteSession - changes 1 a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:15:31.865Z] SESSION: Logout success a9f85912f7c511f750a806bf12257e9d1efe440c6da3cc4f7ecb7bea0bd356ff +[2025-08-15T14:15:37.255Z] DB: getAllPlayers - start +[2025-08-15T14:15:37.256Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:15:37.256Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:15:40.117Z] DB: getPlayerByName - start christoffer +[2025-08-15T14:15:40.118Z] DB: getPlayerByName - found christoffer +[2025-08-15T14:15:40.118Z] DB: createSession - start 62674f5926820616344d23bf94b6ba3819bce8ff16c2448b9d6f76e464aac53c expiresAt 2025-08-16T14:15:40.118Z +[2025-08-15T14:15:40.118Z] DB: createSession - done 62674f5926820616344d23bf94b6ba3819bce8ff16c2448b9d6f76e464aac53c +[2025-08-15T14:15:40.118Z] SESSION: Login success christoffer 62674f5926820616344d23bf94b6ba3819bce8ff16c2448b9d6f76e464aac53c +[2025-08-15T14:15:40.154Z] DB: getSession - start 62674f5926820616344d23bf94b6ba3819bce8ff16c2448b9d6f76e464aac53c +[2025-08-15T14:15:40.154Z] DB: getSession - ok 62674f5926820616344d23bf94b6ba3819bce8ff16c2448b9d6f76e464aac53c +[2025-08-15T14:15:40.154Z] SESSION: Validate success 62674f5926820616344d23bf94b6ba3819bce8ff16c2448b9d6f76e464aac53c christoffer +[2025-08-15T14:15:40.160Z] DB: getAllPlayers - start +[2025-08-15T14:15:40.160Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:15:40.160Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:16:42.899Z] DB: deleteSession - start 62674f5926820616344d23bf94b6ba3819bce8ff16c2448b9d6f76e464aac53c +[2025-08-15T14:16:42.899Z] DB: deleteSession - changes 1 62674f5926820616344d23bf94b6ba3819bce8ff16c2448b9d6f76e464aac53c +[2025-08-15T14:16:42.899Z] SESSION: Logout success 62674f5926820616344d23bf94b6ba3819bce8ff16c2448b9d6f76e464aac53c +[2025-08-15T14:17:41.565Z] DB: getAllPlayers - start +[2025-08-15T14:17:41.566Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:17:41.566Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:17:44.252Z] DB: getPlayerByName - start christoffer +[2025-08-15T14:17:44.252Z] DB: getPlayerByName - found christoffer +[2025-08-15T14:17:44.253Z] DB: createSession - start aa3090f1a895ae99d0d4ec12f7b3ee70bad23ff4a796c9d42a5a281bc85b44fd expiresAt 2025-08-16T14:17:44.253Z +[2025-08-15T14:17:44.253Z] DB: createSession - done aa3090f1a895ae99d0d4ec12f7b3ee70bad23ff4a796c9d42a5a281bc85b44fd +[2025-08-15T14:17:44.253Z] SESSION: Login success christoffer aa3090f1a895ae99d0d4ec12f7b3ee70bad23ff4a796c9d42a5a281bc85b44fd +[2025-08-15T14:17:44.285Z] DB: getSession - start aa3090f1a895ae99d0d4ec12f7b3ee70bad23ff4a796c9d42a5a281bc85b44fd +[2025-08-15T14:17:44.285Z] DB: getSession - ok aa3090f1a895ae99d0d4ec12f7b3ee70bad23ff4a796c9d42a5a281bc85b44fd +[2025-08-15T14:17:44.285Z] SESSION: Validate success aa3090f1a895ae99d0d4ec12f7b3ee70bad23ff4a796c9d42a5a281bc85b44fd christoffer +[2025-08-15T14:17:45.664Z] DB: getAllPlayers - start +[2025-08-15T14:17:45.664Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:17:45.664Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:17:51.963Z] DB: getSession - start aa3090f1a895ae99d0d4ec12f7b3ee70bad23ff4a796c9d42a5a281bc85b44fd +[2025-08-15T14:17:51.963Z] DB: getSession - ok aa3090f1a895ae99d0d4ec12f7b3ee70bad23ff4a796c9d42a5a281bc85b44fd +[2025-08-15T14:17:51.963Z] SESSION: Validate success aa3090f1a895ae99d0d4ec12f7b3ee70bad23ff4a796c9d42a5a281bc85b44fd christoffer +[2025-08-15T14:17:52.804Z] DB: getAllPlayers - start +[2025-08-15T14:17:52.805Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:17:52.805Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:17:54.510Z] DB: deleteSession - start aa3090f1a895ae99d0d4ec12f7b3ee70bad23ff4a796c9d42a5a281bc85b44fd +[2025-08-15T14:17:54.510Z] DB: deleteSession - changes 1 aa3090f1a895ae99d0d4ec12f7b3ee70bad23ff4a796c9d42a5a281bc85b44fd +[2025-08-15T14:17:54.510Z] SESSION: Logout success aa3090f1a895ae99d0d4ec12f7b3ee70bad23ff4a796c9d42a5a281bc85b44fd +[2025-08-15T14:18:21.660Z] DB: getAllPlayers - start +[2025-08-15T14:18:21.660Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:18:21.660Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:18:23.665Z] DB: getPlayerByName - start claes +[2025-08-15T14:18:23.666Z] DB: getPlayerByName - found claes +[2025-08-15T14:18:23.666Z] DB: createSession - start 15b83f3c20e2fedde846024c417cb1e618e62913b3710a4bf38bea342b3dace1 expiresAt 2025-08-16T14:18:23.666Z +[2025-08-15T14:18:23.666Z] DB: createSession - done 15b83f3c20e2fedde846024c417cb1e618e62913b3710a4bf38bea342b3dace1 +[2025-08-15T14:18:23.666Z] SESSION: Login success claes 15b83f3c20e2fedde846024c417cb1e618e62913b3710a4bf38bea342b3dace1 +[2025-08-15T14:18:23.695Z] DB: getAllPlayers - start +[2025-08-15T14:18:23.696Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:18:23.696Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:18:23.698Z] DB: getSession - start 15b83f3c20e2fedde846024c417cb1e618e62913b3710a4bf38bea342b3dace1 +[2025-08-15T14:18:23.698Z] DB: getSession - ok 15b83f3c20e2fedde846024c417cb1e618e62913b3710a4bf38bea342b3dace1 +[2025-08-15T14:18:23.698Z] SESSION: Validate success 15b83f3c20e2fedde846024c417cb1e618e62913b3710a4bf38bea342b3dace1 claes +[2025-08-15T14:18:31.141Z] DB: deleteSession - start 15b83f3c20e2fedde846024c417cb1e618e62913b3710a4bf38bea342b3dace1 +[2025-08-15T14:18:31.141Z] DB: deleteSession - changes 1 15b83f3c20e2fedde846024c417cb1e618e62913b3710a4bf38bea342b3dace1 +[2025-08-15T14:18:31.141Z] SESSION: Logout success 15b83f3c20e2fedde846024c417cb1e618e62913b3710a4bf38bea342b3dace1 +[2025-08-15T14:18:45.076Z] SESSION: GM bypass accepted DELETE /api/players/testplayer +[2025-08-15T14:18:45.076Z] DB: deletePlayer - start testplayer +[2025-08-15T14:18:45.076Z] DB: deletePlayer - changes 0 testplayer +[2025-08-15T14:18:45.104Z] DB: getPlayerByName - start testplayer +[2025-08-15T14:18:45.104Z] DB: getPlayerByName - not found testplayer +[2025-08-15T14:18:45.184Z] DB: createPlayer - start testplayer +[2025-08-15T14:18:45.184Z] DB: createPlayer - done testplayer rowid 41 +[2025-08-15T14:18:45.184Z] API: Created player testplayer +[2025-08-15T14:18:45.201Z] DB: getPlayerByName - start testplayer +[2025-08-15T14:18:45.201Z] DB: getPlayerByName - found testplayer +[2025-08-15T14:18:45.280Z] DB: createSession - start 134855fef9c75ab8818913098638f431cb130291718a16c73121aaa14c57eb6d expiresAt 2025-08-16T14:18:45.280Z +[2025-08-15T14:18:45.281Z] DB: createSession - done 134855fef9c75ab8818913098638f431cb130291718a16c73121aaa14c57eb6d +[2025-08-15T14:18:45.281Z] API: Player login testplayer 134855fef9c75ab8818913098638f431cb130291718a16c73121aaa14c57eb6d +[2025-08-15T14:18:45.296Z] DB: getSession - start 134855fef9c75ab8818913098638f431cb130291718a16c73121aaa14c57eb6d +[2025-08-15T14:18:45.297Z] DB: getSession - ok 134855fef9c75ab8818913098638f431cb130291718a16c73121aaa14c57eb6d +[2025-08-15T14:18:45.297Z] SESSION: Valid 134855fef9c75ab8818913098638f431cb130291718a16c73121aaa14c57eb6d testplayer PUT /api/players/testplayer +[2025-08-15T14:18:45.297Z] DB: getPlayerByName - start testplayer +[2025-08-15T14:18:45.297Z] DB: getPlayerByName - found testplayer +[2025-08-15T14:18:45.297Z] DB: updatePlayer - start testplayer +[2025-08-15T14:18:45.297Z] DB: updatePlayer - changes 1 testplayer +[2025-08-15T14:18:45.297Z] DB: getPlayerByName - start testplayer +[2025-08-15T14:18:45.297Z] DB: getPlayerByName - found testplayer +[2025-08-15T14:18:45.297Z] API: Updated player testplayer +[2025-08-15T14:18:45.312Z] DB: getSession - start 134855fef9c75ab8818913098638f431cb130291718a16c73121aaa14c57eb6d +[2025-08-15T14:18:45.312Z] DB: getSession - ok 134855fef9c75ab8818913098638f431cb130291718a16c73121aaa14c57eb6d +[2025-08-15T14:18:45.312Z] SESSION: Valid 134855fef9c75ab8818913098638f431cb130291718a16c73121aaa14c57eb6d testplayer PUT /api/players/testplayer +[2025-08-15T14:18:45.312Z] DB: getPlayerByName - start testplayer +[2025-08-15T14:18:45.312Z] DB: getPlayerByName - found testplayer +[2025-08-15T14:18:45.312Z] DB: updatePlayer - start testplayer +[2025-08-15T14:18:45.313Z] DB: updatePlayer - changes 1 testplayer +[2025-08-15T14:18:45.313Z] DB: getPlayerByName - start testplayer +[2025-08-15T14:18:45.313Z] DB: getPlayerByName - found testplayer +[2025-08-15T14:18:45.313Z] API: Updated player testplayer +[2025-08-15T14:18:45.329Z] SESSION: GM bypass accepted DELETE /api/players/testplayer +[2025-08-15T14:18:45.329Z] DB: deletePlayer - start testplayer +[2025-08-15T14:18:45.329Z] DB: deletePlayer - changes 1 testplayer +[2025-08-15T14:18:45.329Z] API: Deleted player testplayer +[2025-08-15T14:18:47.783Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T14:18:47.783Z] DB: deletePlayer - start gmtest +[2025-08-15T14:18:47.783Z] DB: deletePlayer - changes 0 gmtest +[2025-08-15T14:18:47.800Z] DB: getPlayerByName - start gmtest +[2025-08-15T14:18:47.800Z] DB: getPlayerByName - not found gmtest +[2025-08-15T14:18:47.880Z] DB: createPlayer - start gmtest +[2025-08-15T14:18:47.880Z] DB: createPlayer - done gmtest rowid 42 +[2025-08-15T14:18:47.880Z] API: Created player gmtest +[2025-08-15T14:18:47.897Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T14:18:47.897Z] DB: getPlayerByName - start gmtest +[2025-08-15T14:18:47.898Z] DB: getPlayerByName - found gmtest +[2025-08-15T14:18:47.898Z] DB: updatePlayer - start gmtest +[2025-08-15T14:18:47.898Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T14:18:47.898Z] DB: getPlayerByName - start gmtest +[2025-08-15T14:18:47.898Z] DB: getPlayerByName - found gmtest +[2025-08-15T14:18:47.898Z] API: Updated player gmtest +[2025-08-15T14:18:47.913Z] SESSION: GM bypass accepted PUT /api/players/gmtest +[2025-08-15T14:18:47.913Z] DB: getPlayerByName - start gmtest +[2025-08-15T14:18:47.913Z] DB: getPlayerByName - found gmtest +[2025-08-15T14:18:47.992Z] DB: updatePlayer - start gmtest +[2025-08-15T14:18:47.993Z] DB: updatePlayer - changes 1 gmtest +[2025-08-15T14:18:47.993Z] DB: getPlayerByName - start gmtest +[2025-08-15T14:18:47.993Z] DB: getPlayerByName - found gmtest +[2025-08-15T14:18:47.993Z] API: Updated player gmtest +[2025-08-15T14:18:48.009Z] DB: getPlayerByName - start gmtest +[2025-08-15T14:18:48.009Z] DB: getPlayerByName - found gmtest +[2025-08-15T14:18:48.089Z] DB: createSession - start 95930e2044f5452fd1bf1fcba16f757257d97be520ffd95fa0a522886e92c2bd expiresAt 2025-08-16T14:18:48.089Z +[2025-08-15T14:18:48.089Z] DB: createSession - done 95930e2044f5452fd1bf1fcba16f757257d97be520ffd95fa0a522886e92c2bd +[2025-08-15T14:18:48.089Z] API: Player login gmtest 95930e2044f5452fd1bf1fcba16f757257d97be520ffd95fa0a522886e92c2bd +[2025-08-15T14:18:48.104Z] SESSION: GM bypass accepted DELETE /api/players/gmtest +[2025-08-15T14:18:48.104Z] DB: deletePlayer - start gmtest +[2025-08-15T14:18:48.105Z] DB: deletePlayer - changes 1 gmtest +[2025-08-15T14:18:48.105Z] API: Deleted player gmtest +[2025-08-15T14:18:48.120Z] DB: getAllPlayers - start +[2025-08-15T14:18:48.120Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:18:48.120Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:18:48.645Z] DB: getAllPlayers - start +[2025-08-15T14:18:48.646Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:19:11.987Z] DB: getAllPlayers - start +[2025-08-15T14:19:11.988Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:19:11.988Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:19:14.307Z] DB: getPlayerByName - start christoffer +[2025-08-15T14:19:14.308Z] DB: getPlayerByName - found christoffer +[2025-08-15T14:19:14.308Z] DB: createSession - start 9f7f3d9881364eb271a7be750d5d50e648abb78fb44279af5184fb37a189f262 expiresAt 2025-08-16T14:19:14.308Z +[2025-08-15T14:19:14.309Z] DB: createSession - done 9f7f3d9881364eb271a7be750d5d50e648abb78fb44279af5184fb37a189f262 +[2025-08-15T14:19:14.309Z] SESSION: Login success christoffer 9f7f3d9881364eb271a7be750d5d50e648abb78fb44279af5184fb37a189f262 +[2025-08-15T14:19:14.347Z] DB: getSession - start 9f7f3d9881364eb271a7be750d5d50e648abb78fb44279af5184fb37a189f262 +[2025-08-15T14:19:14.347Z] DB: getSession - ok 9f7f3d9881364eb271a7be750d5d50e648abb78fb44279af5184fb37a189f262 +[2025-08-15T14:19:14.347Z] SESSION: Validate success 9f7f3d9881364eb271a7be750d5d50e648abb78fb44279af5184fb37a189f262 christoffer +[2025-08-15T14:19:14.348Z] DB: getAllPlayers - start +[2025-08-15T14:19:14.348Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:19:14.348Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:19:21.951Z] DB: deleteSession - start 9f7f3d9881364eb271a7be750d5d50e648abb78fb44279af5184fb37a189f262 +[2025-08-15T14:19:21.952Z] DB: deleteSession - changes 1 9f7f3d9881364eb271a7be750d5d50e648abb78fb44279af5184fb37a189f262 +[2025-08-15T14:19:21.952Z] SESSION: Logout success 9f7f3d9881364eb271a7be750d5d50e648abb78fb44279af5184fb37a189f262 +[2025-08-15T14:19:36.013Z] DB: getAllPlayers - start +[2025-08-15T14:19:36.013Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:19:36.013Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:19:37.698Z] DB: getPlayerByName - start claes +[2025-08-15T14:19:37.698Z] DB: getPlayerByName - found claes +[2025-08-15T14:19:37.698Z] DB: createSession - start 393cfa263a7e0ef72dd02e6f1550a069d12ee03f7df7170e1f160fa437a5dcc0 expiresAt 2025-08-16T14:19:37.698Z +[2025-08-15T14:19:37.700Z] DB: createSession - done 393cfa263a7e0ef72dd02e6f1550a069d12ee03f7df7170e1f160fa437a5dcc0 +[2025-08-15T14:19:37.700Z] SESSION: Login success claes 393cfa263a7e0ef72dd02e6f1550a069d12ee03f7df7170e1f160fa437a5dcc0 +[2025-08-15T14:19:37.732Z] DB: getSession - start 393cfa263a7e0ef72dd02e6f1550a069d12ee03f7df7170e1f160fa437a5dcc0 +[2025-08-15T14:19:37.733Z] DB: getSession - ok 393cfa263a7e0ef72dd02e6f1550a069d12ee03f7df7170e1f160fa437a5dcc0 +[2025-08-15T14:19:37.733Z] SESSION: Validate success 393cfa263a7e0ef72dd02e6f1550a069d12ee03f7df7170e1f160fa437a5dcc0 claes +[2025-08-15T14:19:37.734Z] DB: getAllPlayers - start +[2025-08-15T14:19:37.734Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:19:37.734Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:19:42.358Z] DB: deleteSession - start 393cfa263a7e0ef72dd02e6f1550a069d12ee03f7df7170e1f160fa437a5dcc0 +[2025-08-15T14:19:42.359Z] DB: deleteSession - changes 1 393cfa263a7e0ef72dd02e6f1550a069d12ee03f7df7170e1f160fa437a5dcc0 +[2025-08-15T14:19:42.359Z] SESSION: Logout success 393cfa263a7e0ef72dd02e6f1550a069d12ee03f7df7170e1f160fa437a5dcc0 +[2025-08-15T14:19:47.564Z] DB: getAllPlayers - start +[2025-08-15T14:19:47.564Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:19:47.564Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:19:49.798Z] DB: getPlayerByName - start claes +[2025-08-15T14:19:49.798Z] DB: getPlayerByName - found claes +[2025-08-15T14:19:49.798Z] DB: createSession - start 064192621ca7ef0ac4f11f4700eccdb2a041e7b09a3917421e9a8f3d599149da expiresAt 2025-08-16T14:19:49.798Z +[2025-08-15T14:19:49.799Z] DB: createSession - done 064192621ca7ef0ac4f11f4700eccdb2a041e7b09a3917421e9a8f3d599149da +[2025-08-15T14:19:49.799Z] SESSION: Login success claes 064192621ca7ef0ac4f11f4700eccdb2a041e7b09a3917421e9a8f3d599149da +[2025-08-15T14:19:49.828Z] DB: getSession - start 064192621ca7ef0ac4f11f4700eccdb2a041e7b09a3917421e9a8f3d599149da +[2025-08-15T14:19:49.828Z] DB: getSession - ok 064192621ca7ef0ac4f11f4700eccdb2a041e7b09a3917421e9a8f3d599149da +[2025-08-15T14:19:49.828Z] SESSION: Validate success 064192621ca7ef0ac4f11f4700eccdb2a041e7b09a3917421e9a8f3d599149da claes +[2025-08-15T14:19:49.836Z] DB: getAllPlayers - start +[2025-08-15T14:19:49.837Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:19:49.837Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:19:51.796Z] DB: deleteSession - start 064192621ca7ef0ac4f11f4700eccdb2a041e7b09a3917421e9a8f3d599149da +[2025-08-15T14:19:51.797Z] DB: deleteSession - changes 1 064192621ca7ef0ac4f11f4700eccdb2a041e7b09a3917421e9a8f3d599149da +[2025-08-15T14:19:51.798Z] SESSION: Logout success 064192621ca7ef0ac4f11f4700eccdb2a041e7b09a3917421e9a8f3d599149da +[2025-08-15T14:20:27.254Z] DB: getAllPlayers - start +[2025-08-15T14:20:27.254Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:20:27.254Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:20:27.560Z] DB: getAllPlayers - start +[2025-08-15T14:20:27.561Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:20:27.561Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:20:29.341Z] DB: getPlayerByName - start claes +[2025-08-15T14:20:29.341Z] DB: getPlayerByName - found claes +[2025-08-15T14:20:29.342Z] DB: createSession - start 816460713823c196a37f72f8c9996f3df6528e63db16e249abec94f61de0823c expiresAt 2025-08-16T14:20:29.342Z +[2025-08-15T14:20:29.422Z] DB: createSession - done 816460713823c196a37f72f8c9996f3df6528e63db16e249abec94f61de0823c +[2025-08-15T14:20:29.422Z] SESSION: Login success claes 816460713823c196a37f72f8c9996f3df6528e63db16e249abec94f61de0823c +[2025-08-15T14:20:29.465Z] DB: getSession - start 816460713823c196a37f72f8c9996f3df6528e63db16e249abec94f61de0823c +[2025-08-15T14:20:29.465Z] DB: getSession - ok 816460713823c196a37f72f8c9996f3df6528e63db16e249abec94f61de0823c +[2025-08-15T14:20:29.465Z] SESSION: Validate success 816460713823c196a37f72f8c9996f3df6528e63db16e249abec94f61de0823c claes +[2025-08-15T14:20:29.466Z] DB: getAllPlayers - start +[2025-08-15T14:20:29.467Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:20:29.467Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:20:31.411Z] DB: deleteSession - start 816460713823c196a37f72f8c9996f3df6528e63db16e249abec94f61de0823c +[2025-08-15T14:20:31.411Z] DB: deleteSession - changes 1 816460713823c196a37f72f8c9996f3df6528e63db16e249abec94f61de0823c +[2025-08-15T14:20:31.411Z] SESSION: Logout success 816460713823c196a37f72f8c9996f3df6528e63db16e249abec94f61de0823c +[2025-08-15T14:20:50.133Z] DB: getAllPlayers - start +[2025-08-15T14:20:50.133Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:20:50.133Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:20:51.682Z] DB: getPlayerByName - start phillip +[2025-08-15T14:20:51.682Z] DB: getPlayerByName - found phillip +[2025-08-15T14:20:51.682Z] DB: createSession - start 6a8d664d3aeff993925be7a44ea26f8b13962589186577a74a6e74c92f692ea8 expiresAt 2025-08-16T14:20:51.682Z +[2025-08-15T14:20:51.684Z] DB: createSession - done 6a8d664d3aeff993925be7a44ea26f8b13962589186577a74a6e74c92f692ea8 +[2025-08-15T14:20:51.684Z] SESSION: Login success phillip 6a8d664d3aeff993925be7a44ea26f8b13962589186577a74a6e74c92f692ea8 +[2025-08-15T14:20:51.713Z] DB: getAllPlayers - start +[2025-08-15T14:20:51.714Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:20:51.714Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:20:51.715Z] DB: getSession - start 6a8d664d3aeff993925be7a44ea26f8b13962589186577a74a6e74c92f692ea8 +[2025-08-15T14:20:51.716Z] DB: getSession - ok 6a8d664d3aeff993925be7a44ea26f8b13962589186577a74a6e74c92f692ea8 +[2025-08-15T14:20:51.716Z] SESSION: Validate success 6a8d664d3aeff993925be7a44ea26f8b13962589186577a74a6e74c92f692ea8 phillip +[2025-08-15T14:20:52.340Z] DB: getSession - start 6a8d664d3aeff993925be7a44ea26f8b13962589186577a74a6e74c92f692ea8 +[2025-08-15T14:20:52.340Z] DB: getSession - ok 6a8d664d3aeff993925be7a44ea26f8b13962589186577a74a6e74c92f692ea8 +[2025-08-15T14:20:52.340Z] SESSION: Validate success 6a8d664d3aeff993925be7a44ea26f8b13962589186577a74a6e74c92f692ea8 phillip +[2025-08-15T14:20:53.687Z] DB: getAllPlayers - start +[2025-08-15T14:20:53.687Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:20:53.687Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:20:54.221Z] DB: getAllPlayers - start +[2025-08-15T14:20:54.221Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:20:54.221Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:20:55.129Z] DB: getAllPlayers - start +[2025-08-15T14:20:55.129Z] DB: getAllPlayers - resultCount 5 +[2025-08-15T14:20:55.129Z] API: Fetch all players (public) Found 5 players +[2025-08-15T14:20:58.429Z] DB: deleteSession - start 6a8d664d3aeff993925be7a44ea26f8b13962589186577a74a6e74c92f692ea8 +[2025-08-15T14:20:58.429Z] DB: deleteSession - changes 1 6a8d664d3aeff993925be7a44ea26f8b13962589186577a74a6e74c92f692ea8 +[2025-08-15T14:20:58.429Z] SESSION: Logout success 6a8d664d3aeff993925be7a44ea26f8b13962589186577a74a6e74c92f692ea8 diff --git a/database/migrations/add-shop-tables.js b/database/migrations/add-shop-tables.js new file mode 100644 index 0000000..1a4333a --- /dev/null +++ b/database/migrations/add-shop-tables.js @@ -0,0 +1,223 @@ +const sqlite3 = require('sqlite3'); +const path = require('path'); +const fs = require('fs'); + +// Get database path +const dbPath = path.join(__dirname, '..', 'sqlite', 'deathwatch.db'); + +// Create database connection +const db = new sqlite3.Database(dbPath); + +// Load shop data +const shopData = JSON.parse(fs.readFileSync(path.join(__dirname, '../../public/deathwatch-armoury.json'), 'utf8')); + +// Migration function +async function migrate() { + return new Promise((resolve, reject) => { + db.serialize(() => { + try { + // Create shop_items table + db.run(` + CREATE TABLE IF NOT EXISTS shop_items ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL UNIQUE, + category TEXT NOT NULL, + requisition_cost INTEGER NOT NULL DEFAULT 0, + renown_requirement TEXT NOT NULL DEFAULT 'None', + item_type TEXT NOT NULL, + stats TEXT NOT NULL, + source TEXT NOT NULL, + created_at DATETIME DEFAULT CURRENT_TIMESTAMP, + updated_at DATETIME DEFAULT CURRENT_TIMESTAMP + ) + `); + + // Create player_inventory table + db.run(` + CREATE TABLE IF NOT EXISTS player_inventory ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + player_id INTEGER NOT NULL, + item_id INTEGER NOT NULL, + quantity INTEGER NOT NULL DEFAULT 1, + acquired_at DATETIME DEFAULT CURRENT_TIMESTAMP, + transaction_details TEXT, + FOREIGN KEY (player_id) REFERENCES players (id) ON DELETE CASCADE, + FOREIGN KEY (item_id) REFERENCES shop_items (id) ON DELETE CASCADE, + UNIQUE(player_id, item_id) + ) + `); + + // Create transactions table for purchase history + db.run(` + CREATE TABLE IF NOT EXISTS transactions ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + player_id INTEGER NOT NULL, + item_id INTEGER NOT NULL, + requisition_cost INTEGER NOT NULL, + previous_rp INTEGER NOT NULL, + new_rp INTEGER NOT NULL, + transaction_date DATETIME DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (player_id) REFERENCES players (id) ON DELETE CASCADE, + FOREIGN KEY (item_id) REFERENCES shop_items (id) ON DELETE CASCADE + ) + `); + + // Add triggers for updated_at timestamps + db.run(` + CREATE TRIGGER IF NOT EXISTS update_shop_items_timestamp + AFTER UPDATE ON shop_items + BEGIN + UPDATE shop_items SET updated_at = CURRENT_TIMESTAMP + WHERE id = NEW.id; + END + `); + + // Migrate existing shop data + const stmt = db.prepare(` + INSERT OR REPLACE INTO shop_items ( + name, category, requisition_cost, renown_requirement, + item_type, stats, source + ) VALUES (?, ?, ?, ?, ?, ?, ?) + `); + + // Insert weapons + for (const category of Object.keys(shopData.items)) { + const items = shopData.items[category]; + items.forEach(item => { + stmt.run( + item.name, + category, + item.req, + item.renown, + item.stats.class || item.stats.type, + JSON.stringify(item.stats), + item.stats.source + ); + }); + } + + stmt.finalize(); + + // Add new columns to players table if they don't exist + db.all("PRAGMA table_info(players)", [], (err, rows) => { + if (err) throw err; + + const columns = rows.map(row => row.name); + + if (!columns.includes('requisition_points')) { + db.run(`ALTER TABLE players ADD COLUMN requisition_points INTEGER DEFAULT 0`); + } + + if (!columns.includes('renown_level')) { + db.run(`ALTER TABLE players ADD COLUMN renown_level TEXT DEFAULT 'None'`); + } + }); + + // Migrate existing player inventory data + db.all(`SELECT id, tab_info FROM players`, [], (err, rows) => { + if (err) { + reject(err); + return; + } + + const inventoryStmt = db.prepare(` + INSERT OR IGNORE INTO player_inventory ( + player_id, item_id, quantity, transaction_details + ) + SELECT ?, shop_items.id, 1, ? + FROM shop_items + WHERE shop_items.name = ? + `); + + // Convert rows processing to Promise-based + const processRows = async () => { + for (const row of rows) { + if (!row.tab_info) continue; + + try { + const tabInfo = JSON.parse(row.tab_info); + if (!tabInfo.gear) continue; + + // Add each gear item to inventory + for (const item of tabInfo.gear) { + await new Promise((resolve, reject) => { + inventoryStmt.run( + row.id, + JSON.stringify({ + acquired_via: 'data_migration', + original_data: item + }), + item.name, + (err) => { + if (err) reject(err); + else resolve(); + } + ); + }); + } + + // Update player's RP + if (tabInfo.rp !== undefined) { + await new Promise((resolve, reject) => { + db.run( + 'UPDATE players SET requisition_points = ? WHERE id = ?', + [tabInfo.rp, row.id], + (err) => { + if (err) reject(err); + else resolve(); + } + ); + }); + } + + // Update player's renown + if (tabInfo.renown) { + await new Promise((resolve, reject) => { + db.run( + 'UPDATE players SET renown_level = ? WHERE id = ?', + [tabInfo.renown, row.id], + (err) => { + if (err) reject(err); + else resolve(); + } + ); + }); + } + } catch (e) { + console.error('Error processing player data:', e); + } + } + + inventoryStmt.finalize(); + }; + + processRows() + .then(() => { + console.log('Migration completed successfully'); + resolve(); + }) + .catch(err => { + console.error('Error during migration:', err); + reject(err); + }); + }); + } catch (error) { + console.error('Migration failed:', error); + reject(error); + } + }); + }); +} + +// Run migration +migrate() + .then(() => { + console.log('Migration completed'); + // Give SQLite operations time to complete + setTimeout(() => db.close(), 1000); + }) + .catch(error => { + console.error('Migration failed:', error); + // Give SQLite operations time to complete + setTimeout(() => db.close(), 1000); + }); diff --git a/database/public b/database/public new file mode 120000 index 0000000..27f8dec --- /dev/null +++ b/database/public @@ -0,0 +1 @@ +../public \ No newline at end of file diff --git a/database/routes/playerRoutes-sqlite.js b/database/routes/playerRoutes-sqlite.js index 9fcd7b0..de9f0fb 100644 --- a/database/routes/playerRoutes-sqlite.js +++ b/database/routes/playerRoutes-sqlite.js @@ -3,6 +3,9 @@ const { playerHelpers, sessionHelpers } = require('../sqlite-db'); const fs = require('fs'); const path = require('path'); +// Load shop data +const shopData = JSON.parse(fs.readFileSync(path.join(__dirname, '../../public/deathwatch-armoury.json'), 'utf8')); + // Simple file logger function logToFile(...args) { const msg = `[${new Date().toISOString()}] ` + args.map(a => (typeof a === 'object' ? JSON.stringify(a) : String(a))).join(' ') + '\n'; @@ -12,6 +15,26 @@ function logToFile(...args) { const requireSession = require('../requireSession'); const router = express.Router(); +// PUBLIC ROUTES - before session middleware +// Get shop inventory +router.get('/shop', (req, res) => { + try { + console.log('Shop endpoint hit'); + const filePath = path.join(__dirname, '../../public/deathwatch-armoury.json'); + console.log('Looking for shop data at:', filePath); + const shopData = JSON.parse(fs.readFileSync(filePath, 'utf8')); + console.log('Shop data loaded:', Object.keys(shopData)); + res.json(shopData); + } catch (error) { + console.error('Shop error:', error); + logToFile('API: Failed to get shop data', error); + res.status(500).json({ error: String(error) }); + } +}); + +// Apply session middleware to all routes EXCEPT those above this line +router.use(requireSession); + // Add safe bcrypt helpers to avoid MODULE_NOT_FOUND failures at runtime async function safeHash(pw) { if (!pw) return ''; @@ -47,6 +70,8 @@ router.get('/admin/list', async (req, res) => { } }); +// Shop endpoint already defined above + // TEMP ADMIN: Delete test users (name contains 'test' or 'Test') router.delete('/admin/delete-tests', async (req, res) => { try { diff --git a/database/routes/shopRoutes.js b/database/routes/shopRoutes.js new file mode 100644 index 0000000..44a5e68 --- /dev/null +++ b/database/routes/shopRoutes.js @@ -0,0 +1,65 @@ +const express = require('express'); +const router = express.Router(); +const shopHelpers = require('../shop-helpers'); +const requireSession = require('../requireSession'); + +// Get all shop items (public endpoint) +router.get('/items', async (req, res) => { + try { + const items = await shopHelpers.getAllItems(); + res.json(items); + } catch (error) { + console.error('Failed to get shop items:', error); + res.status(500).json({ error: 'Failed to get shop items' }); + } +}); + +// Get items by category (public endpoint) +router.get('/items/category/:category', async (req, res) => { + try { + const items = await shopHelpers.getItemsByCategory(req.params.category); + res.json(items); + } catch (error) { + console.error('Failed to get shop items:', error); + res.status(500).json({ error: 'Failed to get shop items' }); + } +}); + +// Protected routes below +router.use(requireSession); + +// Get player's inventory +router.get('/inventory/:playerId', async (req, res) => { + try { + const inventory = await shopHelpers.getPlayerInventory(req.params.playerId); + res.json(inventory); + } catch (error) { + console.error('Failed to get inventory:', error); + res.status(500).json({ error: 'Failed to get inventory' }); + } +}); + +// Purchase item +router.post('/purchase', async (req, res) => { + try { + const { playerId, itemId, quantity = 1 } = req.body; + const result = await shopHelpers.purchaseItem(playerId, itemId, quantity); + res.json(result); + } catch (error) { + console.error('Failed to purchase item:', error); + res.status(500).json({ error: error.message }); + } +}); + +// Get transaction history +router.get('/transactions/:playerId', async (req, res) => { + try { + const transactions = await shopHelpers.getPlayerTransactions(req.params.playerId); + res.json(transactions); + } catch (error) { + console.error('Failed to get transactions:', error); + res.status(500).json({ error: 'Failed to get transactions' }); + } +}); + +module.exports = router; diff --git a/database/server-sqlite.js b/database/server-sqlite.js index c6202de..00303f8 100644 --- a/database/server-sqlite.js +++ b/database/server-sqlite.js @@ -1,8 +1,11 @@ require('dotenv').config(); const express = require('express'); const cors = require('cors'); +const fs = require('fs'); +const path = require('path'); const playerRoutes = require('./routes/playerRoutes-sqlite'); const sessionRoutes = require('./routes/sessionRoutes-sqlite'); +const shopRoutes = require('./routes/shopRoutes'); const app = express(); const PORT = process.env.PORT || 5000; @@ -11,6 +14,15 @@ const PORT = process.env.PORT || 5000; app.use(express.json()); app.use(cors()); +// Serve static files from public directory +const publicDir = path.join(__dirname, '..', 'public'); +app.use(express.static(publicDir)); + +// API Routes +app.use('/api/players', playerRoutes); +app.use('/api/sessions', sessionRoutes); +app.use('/api/shop', shopRoutes); + // Initialize SQLite database const { db } = require('./sqlite-db'); @@ -33,6 +45,7 @@ app.get('/', (req, res) => { }); // Use routes +app.use('/api/shop', shopRoutes); app.use('/api/players', playerRoutes); app.use('/api/sessions', sessionRoutes); diff --git a/database/shop-helpers.js b/database/shop-helpers.js new file mode 100644 index 0000000..6e2992c --- /dev/null +++ b/database/shop-helpers.js @@ -0,0 +1,134 @@ +const sqlite3 = require('sqlite3'); +const path = require('path'); + +// Get database path +const dbPath = path.join(__dirname, 'sqlite', 'deathwatch.db'); + +// Create database connection +const db = new sqlite3.Database(dbPath); + +// Shop and inventory related database operations +const shopHelpers = { + // Get all items in the shop + getAllItems: () => { + return new Promise((resolve, reject) => { + db.all('SELECT * FROM shop_items ORDER BY category, name', [], (err, rows) => { + if (err) return reject(err); + resolve(rows); + }); + }); + }, + + // Get items by category + getItemsByCategory: (category) => { + return new Promise((resolve, reject) => { + db.all('SELECT * FROM shop_items WHERE category = ? ORDER BY name', [category], (err, rows) => { + if (err) return reject(err); + resolve(rows); + }); + }); + }, + + // Get player's inventory + getPlayerInventory: (playerId) => { + return new Promise((resolve, reject) => { + db.all(` + SELECT + pi.*, + si.* + FROM player_inventory pi + JOIN shop_items si ON pi.item_id = si.id + WHERE pi.player_id = ? + ORDER BY si.category, si.name + `, [playerId], (err, rows) => { + if (err) return reject(err); + resolve(rows); + }); + }); + }, + + // Purchase item for player + purchaseItem: (playerId, itemId, quantity = 1) => { + return new Promise((resolve, reject) => { + db.serialize(() => { + db.get('BEGIN TRANSACTION'); + + try { + // Get player's current RP and the item cost + db.get(` + SELECT p.requisition_points, p.renown_level, si.requisition_cost, si.renown_requirement + FROM players p, shop_items si + WHERE p.id = ? AND si.id = ? + `, [playerId, itemId], (err, row) => { + if (err) throw err; + if (!row) throw new Error('Player or item not found'); + + const { requisition_points, renown_level, requisition_cost, renown_requirement } = row; + const totalCost = requisition_cost * quantity; + + // Check if player has enough RP + if (requisition_points < totalCost) { + throw new Error('Insufficient requisition points'); + } + + // Check if player meets renown requirement + const renownLevels = ['None', 'Respected', 'Distinguished', 'Hero', 'Legend']; + const playerRenownIndex = renownLevels.indexOf(renown_level); + const requiredRenownIndex = renownLevels.indexOf(renown_requirement); + if (playerRenownIndex < requiredRenownIndex) { + throw new Error('Insufficient renown level'); + } + + // Update player's RP + const newRp = requisition_points - totalCost; + db.run('UPDATE players SET requisition_points = ? WHERE id = ?', + [newRp, playerId]); + + // Add to inventory or update quantity + db.run(` + INSERT INTO player_inventory (player_id, item_id, quantity) + VALUES (?, ?, ?) + ON CONFLICT(player_id, item_id) + DO UPDATE SET quantity = quantity + ? + `, [playerId, itemId, quantity, quantity]); + + // Record transaction + db.run(` + INSERT INTO transactions ( + player_id, item_id, requisition_cost, + previous_rp, new_rp + ) VALUES (?, ?, ?, ?, ?) + `, [playerId, itemId, totalCost, requisition_points, newRp]); + + db.get('COMMIT'); + resolve({ newRp }); + }); + } catch (error) { + db.get('ROLLBACK'); + reject(error); + } + }); + }); + }, + + // Get player's transaction history + getPlayerTransactions: (playerId) => { + return new Promise((resolve, reject) => { + db.all(` + SELECT + t.*, + si.name as item_name, + si.category + FROM transactions t + JOIN shop_items si ON t.item_id = si.id + WHERE t.player_id = ? + ORDER BY t.transaction_date DESC + `, [playerId], (err, rows) => { + if (err) return reject(err); + resolve(rows); + }); + }); + } +}; + +module.exports = shopHelpers; diff --git a/database/sqlite/deathwatch.db b/database/sqlite/deathwatch.db index 2e53bdce6b9e3271ceddba9690dbdd89e8671b73..c21ab3c7c71a0ea3869a43bb0bcf973a565efe2a 100644 GIT binary patch literal 118784 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 literal 32768 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 z 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 literal 2727472 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

    RJ+ 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 tLLkoz_0(oAbGiR3P1vbvleOu29{C`pLN2CA% diff --git a/package-lock.json b/package-lock.json index 6e87bc1..b94c6dc 100755 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,6 @@ "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", - "axios": "^1.11.0", "bcrypt": "^5.1.0", "better-sqlite3": "^12.2.0", "cors": "^2.8.5", @@ -21,14 +20,18 @@ "pdfjs-dist": "^4.8.69", "react": "^18.2.0", "react-dom": "^18.2.0", + "sqlite3": "^5.1.7", "web-vitals": "^2.1.4" }, "devDependencies": { "@pmmmwh/react-refresh-webpack-plugin": "^0.6.1", "autoprefixer": "^10.4.14", + "axios": "^1.11.0", "babel-loader": "^10.0.0", + "cheerio": "^1.1.2", "eslint-config-prettier": "^10.1.8", "html-webpack-plugin": "^5.6.4", + "node-fetch": "^2.7.0", "postcss": "^8.4.23", "prettier-eslint": "^16.4.2", "react-scripts": "^5.0.1", @@ -2559,6 +2562,12 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "optional": true + }, "node_modules/@humanwhocodes/config-array": { "version": "0.13.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", @@ -4405,6 +4414,54 @@ "node": ">= 8" } }, + "node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "optional": true, + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "optional": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "optional": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -4973,7 +5030,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 6" @@ -6070,6 +6127,31 @@ "node": ">= 6.0.0" } }, + "node_modules/agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "optional": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "optional": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -6536,6 +6618,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, "license": "MIT" }, "node_modules/at-least-node": { @@ -6615,6 +6698,7 @@ "version": "1.11.0", "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz", "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", + "dev": true, "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", @@ -6625,6 +6709,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -7236,6 +7321,86 @@ "node": ">= 0.8" } }, + "node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "optional": true, + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cacache/node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "optional": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacache/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "optional": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacache/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, "node_modules/call-bind": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", @@ -7401,6 +7566,238 @@ "dev": true, "license": "MIT" }, + "node_modules/cheerio": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz", + "integrity": "sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==", + "dev": true, + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "encoding-sniffer": "^0.2.1", + "htmlparser2": "^10.0.0", + "parse5": "^7.3.0", + "parse5-htmlparser2-tree-adapter": "^7.1.0", + "parse5-parser-stream": "^7.1.2", + "undici": "^7.12.0", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=20.18.1" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cheerio-select/node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cheerio-select/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/cheerio-select/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/cheerio-select/node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/cheerio-select/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/htmlparser2": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" + } + }, + "node_modules/cheerio/node_modules/htmlparser2/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "engines": { + "node": ">=18" + } + }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -7499,6 +7896,15 @@ "node": ">=0.10.0" } }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "optional": true, + "engines": { + "node": ">=6" + } + }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -7666,6 +8072,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" @@ -8608,6 +9015,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.4.0" @@ -8990,6 +9398,40 @@ "node": ">= 0.8" } }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding-sniffer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", + "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", + "dev": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^3.1.1" + }, + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + } + }, + "node_modules/encoding-sniffer/node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/end-of-stream": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", @@ -9022,6 +9464,21 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "optional": true + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -9207,6 +9664,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -10375,6 +10833,7 @@ "version": "1.15.11", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, "funding": [ { "type": "individual", @@ -11350,6 +11809,12 @@ "entities": "^2.0.0" } }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "optional": true + }, "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -11406,7 +11871,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@tootallnate/once": "1", @@ -11465,6 +11930,15 @@ "node": ">=10.17.0" } }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "optional": true, + "dependencies": { + "ms": "^2.0.0" + } + }, "node_modules/hyperdyperid": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", @@ -11611,7 +12085,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.8.19" @@ -11626,6 +12100,12 @@ "node": ">=8" } }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "optional": true + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -11663,6 +12143,15 @@ "node": ">= 0.4" } }, + "node_modules/ip-address": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", + "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, "node_modules/ipaddr.js": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", @@ -11967,6 +12456,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "optional": true + }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", @@ -12283,7 +12778,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, + "devOptional": true, "license": "ISC" }, "node_modules/istanbul-lib-coverage": { @@ -15809,6 +16304,63 @@ "node": ">=10" } }, + "node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "optional": true, + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/make-fetch-happen/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -15939,6 +16491,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -15948,6 +16501,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "license": "MIT", "dependencies": { "mime-db": "1.52.0" @@ -16045,6 +16599,161 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-collect/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, + "node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "optional": true, + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/minipass-fetch/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-fetch/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", @@ -16290,7 +16999,7 @@ "version": "0.6.4", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -16395,6 +17104,92 @@ "node": ">= 6.13.0" } }, + "node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "optional": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-gyp/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "deprecated": "This package is no longer supported.", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/node-gyp/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "deprecated": "This package is no longer supported.", + "optional": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/node-gyp/node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "deprecated": "This package is no longer supported.", + "optional": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/node-gyp/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -16808,6 +17603,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "optional": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-retry": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", @@ -16893,6 +17703,94 @@ "dev": true, "license": "MIT" }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "dev": true, + "dependencies": { + "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-parser-stream": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", + "dev": true, + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-parser-stream/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parse5-parser-stream/node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -18973,6 +19871,34 @@ "asap": "~2.0.6" } }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "optional": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "optional": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/promise-retry/node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "optional": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -19031,7 +19957,8 @@ "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true }, "node_modules/psl": { "version": "1.15.0", @@ -21078,6 +22005,16 @@ "node": ">=8" } }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "optional": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -21090,6 +22027,34 @@ "websocket-driver": "^0.7.4" } }, + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "optional": true, + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "optional": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", @@ -21215,6 +22180,64 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/sqlite3": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz", + "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^7.0.0", + "prebuild-install": "^7.1.1", + "tar": "^6.1.11" + }, + "optionalDependencies": { + "node-gyp": "8.x" + }, + "peerDependencies": { + "node-gyp": "8.x" + }, + "peerDependenciesMeta": { + "node-gyp": { + "optional": true + } + } + }, + "node_modules/sqlite3/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==" + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "optional": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/ssri/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ssri/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, "node_modules/stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", @@ -22714,6 +23737,15 @@ "dev": true, "license": "MIT" }, + "node_modules/undici": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.13.0.tgz", + "integrity": "sha512-l+zSMssRqrzDcb3fjMkjjLGmuiiK2pMIcV++mJaAc9vhjSGpvM7h43QgP+OAMb1GImHmbPyG2tBXeuyG5iY4gA==", + "dev": true, + "engines": { + "node": ">=20.18.1" + } + }, "node_modules/undici-types": { "version": "7.10.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", @@ -22764,6 +23796,24 @@ "node": ">=4" } }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "optional": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "optional": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, "node_modules/unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -23687,7 +24737,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" diff --git a/package.json b/package.json index 72d0560..f681acf 100755 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", - "axios": "^1.11.0", "bcrypt": "^5.1.0", "better-sqlite3": "^12.2.0", "cors": "^2.8.5", @@ -16,6 +15,7 @@ "pdfjs-dist": "^4.8.69", "react": "^18.2.0", "react-dom": "^18.2.0", + "sqlite3": "^5.1.7", "web-vitals": "^2.1.4" }, "scripts": { @@ -57,9 +57,12 @@ "devDependencies": { "@pmmmwh/react-refresh-webpack-plugin": "^0.6.1", "autoprefixer": "^10.4.14", + "axios": "^1.11.0", "babel-loader": "^10.0.0", + "cheerio": "^1.1.2", "eslint-config-prettier": "^10.1.8", "html-webpack-plugin": "^5.6.4", + "node-fetch": "^2.7.0", "postcss": "^8.4.23", "prettier-eslint": "^16.4.2", "react-scripts": "^5.0.1", diff --git a/public/deathwatch-armor.json b/public/deathwatch-armor.json new file mode 100644 index 0000000..a938638 --- /dev/null +++ b/public/deathwatch-armor.json @@ -0,0 +1,1152 @@ +{ + "powerArmor": [ + { + "name": "Armour of the Remorseless Crusader", + "req": 70, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 12, + "arms": 12, + "body": 12, + "legs": 12 + }, + "source": "Deathwatch Core Rulebook p167" + } + }, + { + "name": "Astartes Artificer Armour", + "req": 60, + "renown": "Hero", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 12, + "arms": 12, + "body": 12, + "legs": 12 + }, + "source": "Deathwatch Core Rulebook p163" + } + }, + { + "name": "Astartes Mk 1 Thunder Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 6, + "body": 8, + "legs": 4 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk 2 Crusade Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 7, + "body": 9, + "legs": 7 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk 3 Iron Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 9, + "body": 10, + "legs": 9 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk 4 Maximus Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 7, + "body": 9, + "legs": 7 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk 5 Heresy Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 8, + "body": 9, + "legs": 8 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk 6 Corvus Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 8, + "body": 9, + "legs": 8 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk 7 Aquilla Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 8, + "body": 10, + "legs": 8 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk 8 Errant Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 8, + "body": 11, + "legs": 8 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk1 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 6, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk2 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 7, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk3 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 9, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk4 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 7, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk5 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk6 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk7 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk8 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 8, + "body": 10, + "legs": 8 + }, + "source": "Deathwatch Core Rulebook p160" + } + }, + { + "name": "Astartes Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Deathwatch Core Rulebook p160" + } + }, + { + "name": "Astartes Tactical Dreadnaught-Terminator Armour", + "req": 100, + "renown": "Hero", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 14, + "body": 14, + "legs": 14 + }, + "source": "Deathwatch Core Rulebook p164" + } + }, + { + "name": "Astartes Tactical Dreadnaught-Terminator Armour Helm", + "req": 100, + "renown": "Hero", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 14, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Deathwatch Core Rulebook p164" + } + }, + { + "name": "Astartes Terminator Armour", + "req": 100, + "renown": "Hero", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 14, + "arms": 14, + "body": 14, + "legs": 14 + }, + "source": "Deathwatch Core Rulebook p164" + } + }, + { + "name": "CM Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 8, + "body": 10, + "legs": 8 + }, + "source": "Mark of the Xenos p114" + } + }, + { + "name": "Diagnostor Helmet", + "req": 15, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Deathwatch Core Rulebook p165" + } + }, + { + "name": "Dmn Armour of Chaos", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 12, + "arms": 12, + "body": 12, + "legs": 12 + }, + "source": "Deathwatch Core Rulebook p362" + } + }, + { + "name": "Fenris Pattern Wolf Helm", + "req": 0, + "renown": "Respected", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p143" + } + }, + { + "name": "Skull Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 9, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p143" + } + }, + { + "name": "Tau XV-8 Crisis Battlesuit", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 9, + "arms": 9, + "body": 9, + "legs": 9 + }, + "source": "Mark of the Xenos p9" + } + }, + { + "name": "Tau XV-88 Broadside Battlesuit", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 12, + "arms": 12, + "body": 12, + "legs": 12 + }, + "source": "Mark of the Xenos p6" + } + }, + { + "name": "Tau XV15 Stealth Suit (Limbs)", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 7, + "body": 0, + "legs": 7 + }, + "source": "Deathwatch Core Rulebook p367" + } + }, + { + "name": "Tau XV15 Stealth Suit (Top)", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 8, + "legs": 0 + }, + "source": "Deathwatch Core Rulebook p367" + } + }, + { + "name": "Tau XV8 Crisis Suit", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 9, + "arms": 9, + "body": 9, + "legs": 9 + }, + "source": "Deathwatch Core Rulebook p366" + } + } + ], + "carapaceArmor": [ + { + "name": "Astartes Scout Armour", + "req": 0, + "renown": "None", + "category": "Carapace Armor", + "stats": { + "type": "Carapace", + "protection": { + "head": 0, + "arms": 6, + "body": 6, + "legs": 0 + }, + "source": "Deathwatch Core Rulebook p163" + } + }, + { + "name": "Chaos Flak Robes and Brazen Carapace", + "req": 0, + "renown": "None", + "category": "Carapace Armor", + "stats": { + "type": "Carapace", + "protection": { + "head": 5, + "arms": 5, + "body": 6, + "legs": 4 + }, + "source": "Deathwatch Core Rulebook p364" + } + }, + { + "name": "Deathwatch Scout Armor", + "req": 0, + "renown": "None", + "category": "Carapace Armor", + "stats": { + "type": "Carapace", + "protection": { + "head": 0, + "arms": 6, + "body": 6, + "legs": 6 + }, + "source": "Rites of Battle p142" + } + }, + { + "name": "Tau Fire Warrior Armour", + "req": 0, + "renown": "None", + "category": "Carapace Armor", + "stats": { + "type": "Carapace", + "protection": { + "head": 6, + "arms": 6, + "body": 6, + "legs": 6 + }, + "source": "Deathwatch Core Rulebook p368" + } + }, + { + "name": "Tau Pathfinder Armour", + "req": 0, + "renown": "None", + "category": "Carapace Armor", + "stats": { + "type": "Carapace", + "protection": { + "head": 7, + "arms": 0, + "body": 7, + "legs": 0 + }, + "source": "Mark of the Xenos p25" + } + } + ], + "primitiveArmor": [ + { + "name": "Auran Golden Saurian Scale Armour", + "req": 0, + "renown": "None", + "category": "Primitive Armor", + "stats": { + "type": "Primitive", + "protection": { + "head": 6, + "arms": 6, + "body": 6, + "legs": 6 + }, + "source": "The Emperor Protects p48" + } + }, + { + "name": "Auran Saurian Scale Armour", + "req": 0, + "renown": "None", + "category": "Primitive Armor", + "stats": { + "type": "Primitive", + "protection": { + "head": 4, + "arms": 4, + "body": 4, + "legs": 4 + }, + "source": "The Emperor Protects p46" + } + }, + { + "name": "Scales", + "req": 0, + "renown": "None", + "category": "Primitive Armor", + "stats": { + "type": "Primitive", + "protection": { + "head": 2, + "arms": 2, + "body": 2, + "legs": 2 + }, + "source": "The Emperor Protects p50" + } + }, + { + "name": "Scaly Hide", + "req": 0, + "renown": "None", + "category": "Primitive Armor", + "stats": { + "type": "Primitive", + "protection": { + "head": 4, + "arms": 4, + "body": 4, + "legs": 4 + }, + "source": "The Emperor Protects p46" + } + } + ], + "naturalArmor": [ + { + "name": "Tau Gun Drone Armour", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 5, + "arms": 5, + "body": 5, + "legs": 5 + }, + "source": "Deathwatch Core Rulebook p367" + } + }, + { + "name": "Tyr Bonded Exoskeleton", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 10, + "arms": 10, + "body": 10, + "legs": 10 + }, + "source": "Deathwatch Core Rulebook p370" + } + }, + { + "name": "Tyr Chitinous Carapace", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 3, + "arms": 3, + "body": 3, + "legs": 3 + }, + "source": "Deathwatch Core Rulebook p371" + } + }, + { + "name": "Tyr Exoskeleton", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 2, + "arms": 2, + "body": 2, + "legs": 2 + }, + "source": "Mark of the Xenos p43" + } + }, + { + "name": "Tyr Hardened Carapace", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 6, + "arms": 6, + "body": 6, + "legs": 6 + }, + "source": "Mark of the Xenos p40" + } + }, + { + "name": "Tyr Light Reinforced Chitin", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 4, + "arms": 4, + "body": 4, + "legs": 4 + }, + "source": "Mark of the Xenos p39" + } + }, + { + "name": "Tyr Medium Reinforced Chitin", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 6, + "arms": 6, + "body": 6, + "legs": 6 + }, + "source": "Mark of the Xenos p37" + } + }, + { + "name": "Tyr Reinforced Chitin", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 8, + "arms": 8, + "body": 8, + "legs": 8 + }, + "source": "Deathwatch Core Rulebook p371" + } + }, + { + "name": "Tyr Thickened Scales", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 10, + "arms": 10, + "body": 10, + "legs": 10 + }, + "source": "Mark of the Xenos p46" + } + }, + { + "name": "Vespid Chitin", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 3, + "arms": 3, + "body": 3, + "legs": 3 + }, + "source": "Mark of the Xenos p26" + } + }, + { + "name": "Xenos Hardened Hide", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 6, + "arms": 6, + "body": 6, + "legs": 6 + }, + "source": "Mark of the Xenos p66" + } + }, + { + "name": "Xenos Scaly Hide", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 3, + "arms": 3, + "body": 3, + "legs": 3 + }, + "source": "Mark of the Xenos p63" + } + }, + { + "name": "Xenos Slimey Hide", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 2, + "arms": 2, + "body": 2, + "legs": 2 + }, + "source": "Mark of the Xenos p68" + } + }, + { + "name": "Xenos Thick Scales", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 5, + "arms": 5, + "body": 5, + "legs": 5 + }, + "source": "Mark of the Xenos p65" + } + } + ], + "xenosArmor": [ + { + "name": "Nec Metallic Exoskeleton", + "req": 0, + "renown": "None", + "category": "Xenos Armor", + "stats": { + "type": "Necron", + "protection": { + "head": 8, + "arms": 8, + "body": 8, + "legs": 8 + }, + "source": "The Emperor Protects p94" + } + }, + { + "name": "Nec Metallic Shell", + "req": 0, + "renown": "None", + "category": "Xenos Armor", + "stats": { + "type": "Necron", + "protection": { + "head": 10, + "arms": 10, + "body": 10, + "legs": 10 + }, + "source": "The Emperor Protects p94" + } + }, + { + "name": "Ork Eavy Armour", + "req": 0, + "renown": "None", + "category": "Xenos Armor", + "stats": { + "type": "Ork", + "protection": { + "head": 6, + "arms": 4, + "body": 6, + "legs": 4 + }, + "source": "Mark of the Xenos p57" + } + }, + { + "name": "Ork Flak Armour", + "req": 0, + "renown": "None", + "category": "Xenos Armor", + "stats": { + "type": "Ork", + "protection": { + "head": 0, + "arms": 0, + "body": 2, + "legs": 0 + }, + "source": "Mark of the Xenos p57" + } + }, + { + "name": "Ork Mega Armour", + "req": 0, + "renown": "None", + "category": "Xenos Armor", + "stats": { + "type": "Ork", + "protection": { + "head": 6, + "arms": 10, + "body": 14, + "legs": 10 + }, + "source": "Mark of the Xenos p57" + } + } + ], + "shields": [ + { + "name": "Astartes Storm Shield - Protective", + "req": 35, + "renown": "Distinguished", + "category": "Shields", + "stats": { + "type": "Shield", + "protection": { + "head": 0, + "arms": 0, + "body": 4, + "legs": 0 + }, + "source": "Deathwatch Core Rulebook p166" + } + } + ], + "otherArmor": [ + { + "name": "Name", + "req": 0, + "renown": "Distinguished", + "category": "Other Armor", + "stats": { + "type": "Type", + "protection": { + "head": 0, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Book pPage No." + } + }, + { + "name": "Chaos Armour Plating", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 6, + "arms": 6, + "body": 6, + "legs": 6 + }, + "source": "Mark of the Xenos p91" + } + }, + { + "name": "Chaos Bones of Subersion", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 9, + "arms": 9, + "body": 9, + "legs": 9 + }, + "source": "Mark of the Xenos p86" + } + }, + { + "name": "Chaos Slinnar Obsidian Shell", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 8, + "arms": 8, + "body": 8, + "legs": 8 + }, + "source": "Mark of the Xenos p92" + } + }, + { + "name": "Chaos Warded Adamantine Shell", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 9, + "arms": 9, + "body": 9, + "legs": 9 + }, + "source": "Mark of the Xenos p95" + } + }, + { + "name": "Daemon Iron Hide", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 13, + "arms": 13, + "body": 13, + "legs": 13 + }, + "source": "Mark of the Xenos p101" + } + }, + { + "name": "Dmn Brazen Chaos Armour", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 12, + "arms": 12, + "body": 12, + "legs": 12 + }, + "source": "The Emperor Protects p136" + } + }, + { + "name": "Obliterator Warped Mechnical Flesh", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 12, + "arms": 12, + "body": 12, + "legs": 12 + }, + "source": "Mark of the Xenos p120" + } + }, + { + "name": "Rad Corrupted Mechnical Flesh", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 7, + "arms": 7, + "body": 7, + "legs": 7 + }, + "source": "The Emperor Protects p91" + } + } + ] +} \ No newline at end of file diff --git a/public/deathwatch-armoury.json b/public/deathwatch-armoury.json old mode 100755 new mode 100644 index 89294e5..a5f7d37 --- a/public/deathwatch-armoury.json +++ b/public/deathwatch-armoury.json @@ -1,794 +1,1397 @@ -[ - { - "id": "armour", - "name": "Armour", - "category": "Armor", - "req": 7, - "renown": "None", - "desc": "Armour: Reinforced structure and armour plate (All 7)" - }, - { - "id": "armour-4", - "name": "Armour (4)", - "category": "Armor", - "req": 4, - "renown": "None", - "desc": "Armour (4), Natural Weapons, Quadruped, Regeneration," - }, - { - "id": "armour-machine", - "name": "Armour (Machine)", - "category": "Armor", - "req": 6, - "renown": "None", - "desc": "Armour (Machine): All 6" - }, - { - "id": "armour-160", - "name": "Armour 160", - "category": "Armor", - "req": 160, - "renown": "None", - "desc": "Armour 160" - }, - { - "id": "armour-craftsmanship-165", - "name": "Armour Craftsmanship 165", - "category": "Armor", - "req": 165, - "renown": "None", - "desc": "Armour Craftsmanship 165" - }, - { - "id": "armour-plating-increase-armour-points-by-2", - "name": "Armour Plating Increase Armour Points By 2", - "category": "Armor", - "req": 2, - "renown": "None", - "desc": "Armour Plating Increase Armour Points by 2" - }, - { - "id": "armour-points", - "name": "Armour Points", - "category": "Armor", - "req": 4, - "renown": "None", - "desc": "A storm shield provides +4 Armour Points" - }, - { - "id": "armour-points-against-any-damage", - "name": "Armour Points Against Any Damage", - "category": "Armor", - "req": 2, - "renown": "None", - "desc": "counts as only having 2 Armour Points against any damage" - }, - { - "id": "armour-points-by-1", - "name": "Armour Points By 1", - "category": "Armor", - "req": 1, - "renown": "None", - "desc": "The attack damages the target’s armour, reducing its Armour Points by 1" - }, - { - "id": "armour-points-by-2-to-all-locations", - "name": "Armour Points By 2 To All Locations", - "category": "Armor", - "req": 2, - "renown": "None", - "desc": "Armour Points by 2 to all locations" - }, - { - "id": "armour-points-of-protection", - "name": "Armour Points of Protection", - "category": "Armor", - "req": 8, - "renown": "None", - "desc": "because they provide 8 Armour Points of protection" - }, - { - "id": "armour-points-of-protection-to-his", - "name": "Armour Points of Protection To His", - "category": "Armor", - "req": 10, - "renown": "None", - "desc": "power armour that provides 10 Armour Points of protection to his" - }, - { - "id": "armour-points-to-6", - "name": "Armour Points To 6", - "category": "Armor", - "req": 6, - "renown": "None", - "desc": "reduces the sandbags Armour Points to 6" - }, - { - "id": "armour-points-to-7", - "name": "Armour Points To 7", - "category": "Armor", - "req": 7, - "renown": "None", - "desc": "reduces the sandbags Armour Points to 7" - }, - { - "id": "armour-monger-talent-113", - "name": "Armour-Monger (Talent) 113", - "category": "Armor", - "req": 113, - "renown": "None", - "desc": "Armour-Monger (Talent) 113" - }, - { - "id": "armour-monger-500-talent-techmarine", - "name": "Armour-Monger 500 Talent Techmarine", - "category": "Armor", - "req": 500, - "renown": "None", - "desc": "Armour-Monger 500 Talent Techmarine" - }, - { - "id": "astartes-artificer-armour-all-12-100-60", - "name": "Astartes Artificer Armour All 12 100 60", - "category": "Armor", - "req": 60, - "renown": "None", - "desc": "Astartes Artificer Armour All 12 100 60" - }, - { - "id": "astartes-combat-shield-25-01", - "name": "Astartes Combat Shield 25 01", - "category": "Armor", - "req": 20, - "renown": "Distinguished", - "desc": "Astartes Combat Shield 25 01–10 3 20 Distinguished" - }, - { - "id": "astartes-scout-armour-body", - "name": "Astartes Scout Armour Body", - "category": "Armor", - "req": 30, - "renown": "None", - "desc": "Astartes Scout Armour Body, Arms 6 30 N/A —" - }, - { - "id": "astartes-storm-shield-55-01", - "name": "Astartes Storm Shield 55 01", - "category": "Armor", - "req": 35, - "renown": "Distinguished", - "desc": "Astartes Storm Shield 55 01–10 10 35 Distinguished" - }, - { - "id": "astartes-terminator-armour-all-14-400-100", - "name": "Astartes Terminator Armour All 14 400 100", - "category": "Armor", - "req": 100, - "renown": "None", - "desc": "Astartes Terminator Armour All 14 400 100" - }, - { - "id": "bertramsepheranmagronyngvarmorganscipio", - "name": "Bertramsepheranmagronyngvarmorganscipio", - "category": "Armor", - "req": 6, - "renown": "None", - "desc": "6BertramSepheranMagronYngvarMorganScipio" - }, - { - "id": "carapace-armour-all-6-15-n-a", - "name": "Carapace Armour All 6 15 N/A", - "category": "Armor", - "req": 15, - "renown": "None", - "desc": "Carapace Armour All 6 15 N/A –" - }, - { - "id": "damage-with-no-reduction-from-armour-and-suffers", - "name": "Damage (With No Reduction From Armour) and Suffers", - "category": "Armor", - "req": 10, - "renown": "None", - "desc": "suffers 1d10 Damage (with no reduction from armour) and suffers" - }, - { - "id": "flak-armour-all-4-15-n-a", - "name": "Flak Armour All 4 15 N/A", - "category": "Armor", - "req": 15, - "renown": "None", - "desc": "Flak Armour All 4 15 N/A –" - }, - { - "id": "his-armour-reduces-the-damage-by-10", - "name": "His Armour Reduces the Damage By 10", - "category": "Armor", - "req": 10, - "renown": "None", - "desc": "His armour reduces the Damage by 10, and" - }, - { - "id": "horde-armour-value-of-5-against-damage-and", - "name": "Horde Armour Value of 5 Against Damage and", - "category": "Armor", - "req": 5, - "renown": "None", - "desc": "will also use its Horde armour value of 5 against damage and" - }, - { - "id": "if-not-armoured", - "name": "If Not Armoured", - "category": "Armor", - "req": 1, - "renown": "None", - "desc": "If not armoured, the target is also Stunned for 1 Round" - }, - { - "id": "levin-shield", - "name": "Levin Shield", - "category": "Armor", - "req": 50, - "renown": "Hero", - "desc": "The Levin Shield — — — — — — N/A — 10 50 Hero" - }, - { - "id": "penetration-of-3-hits-a-target-with-5-armour-points", - "name": "Penetration of 3 Hits A Target With 5 Armour Points", - "category": "Armor", - "req": 5, - "renown": "None", - "desc": "Penetration of 3 hits a target with 5 Armour Points, the target" - }, - { - "id": "photo-visors-and-sealed-armour-provide-a", - "name": "Photo-Visors and Sealed Armour Provide A", - "category": "Armor", - "req": 20, - "renown": "None", - "desc": "Photo-visors and sealed armour provide a +20 bonus to this" - }, - { - "id": "possibility-shield-1000-wp-40", - "name": "Possibility Shield 1000 Wp 40", - "category": "Armor", - "req": 40, - "renown": "None", - "desc": "Possibility Shield 1000 WP 40+" - }, - { - "id": "profile-on-page-376-and-are-armed-and-armoured-as-detailed", - "name": "Profile On Page 376 and Are Armed and Armoured As Detailed", - "category": "Armor", - "req": 376, - "renown": "None", - "desc": "profile on page 376 and are armed and armoured as detailed" - }, - { - "id": "requisition-points-for-the-armour-itself-and-then", - "name": "Requisition Points For the Armour Itself and Then", - "category": "Armor", - "req": 60, - "renown": "None", - "desc": "pays the 60 Requisition Points for the armour itself and then" - }, - { - "id": "sb-with-armour-points-counting-double-to-his", - "name": "Sb With Armour Points Counting Double) To His", - "category": "Armor", - "req": 3, - "renown": "None", - "desc": "(1d5–3+SB with Armour Points counting double) to his" - }, - { - "id": "signature-wargear-hero-artificer-armour-1200-talent", - "name": "Signature Wargear (Hero) (Artificer Armour) 1200 Talent", - "category": "Armor", - "req": 200, - "renown": "Hero", - "desc": "Signature Wargear (Hero) (Artificer Armour) 1200 Talent —" - }, - { - "id": "stygian-5th-armoured-division", - "name": "Stygian 5th Armoured Division", - "category": "Armor", - "req": 5, - "renown": "None", - "desc": "Stygian 5th Armoured Division" - }, - { - "id": "tekarn-armoured", - "name": "Tekarn Armoured", - "category": "Armor", - "req": 1, - "renown": "None", - "desc": "Tekarn Armoured: 1 Regiment" - }, - { - "id": "terminator-armour", - "name": "Terminator Armour", - "category": "Armor", - "req": 164, - "renown": "None", - "desc": "about Terminator Armour, see page 164" - }, - { - "id": "toughness-bonus-and-armour", - "name": "Toughness Bonus and Armour", - "category": "Armor", - "req": 10, - "renown": "None", - "desc": "for his Toughness Bonus and armour, Myrdor suffers 10 points of" - }, - { - "id": "walls-more-than-50cm-thick-and-certain-shielding-materials", - "name": "Walls More Than 50cm Thick and Certain Shielding Materials", - "category": "Armor", - "req": 50, - "renown": "None", - "desc": "walls more than 50cm thick and certain shielding materials" - }, - { - "id": "astartes-blind-grenade-thrown-sbx3-s", - "name": "Astartes Blind Grenade Thrown Sbx3 S/", - "category": "Explosives", - "req": 0, - "renown": "None", - "desc": "Astartes Blind Grenade Thrown SBx3 S/–/– – 0 Smoke 0" - }, - { - "id": "astartes-bolt-pistol", - "name": "Astartes Bolt Pistol", - "category": "Explosives", - "req": 3, - "renown": "None", - "desc": "Astartes bolt pistol, 3 Astartes frag grenades, 3 Astartes" - }, - { - "id": "astartes-frag-grenade-thrown-sbx3-s", - "name": "Astartes Frag Grenade Thrown Sbx3 S/", - "category": "Explosives", - "req": 0, - "renown": "None", - "desc": "Astartes Frag Grenade Thrown SBx3 S/–/– 2d10 X 0 Blast (5) 0" - }, - { - "id": "astartes-frag-missile", - "name": "Astartes Frag Missile", - "category": "Explosives", - "req": 4, - "renown": "None", - "desc": "Astartes Frag Missile – – – 2d10 X 4" - }, - { - "id": "astartes-incendiary-missile", - "name": "Astartes Incendiary Missile", - "category": "Explosives", - "req": 15, - "renown": "None", - "desc": "Astartes Incendiary Missile – – – 1d10+3 E 0 Blast (5) 2 15 –" - }, - { - "id": "astartes-krak-grenade-thrown-sbx3-s", - "name": "Astartes Krak Grenade Thrown Sbx3 S/", - "category": "Explosives", - "req": 0, - "renown": "None", - "desc": "Astartes Krak Grenade Thrown SBx3 S/–/– 3d10+4 X 6 – 0" - }, - { - "id": "astartes-krak-missile", - "name": "Astartes Krak Missile", - "category": "Explosives", - "req": 5, - "renown": "None", - "desc": "Astartes Krak Missile – – – 4d10+6 X 10 Blast (1) 2 5" - }, - { - "id": "astartes-nova-grenade-thrown-sbx3-s", - "name": "Astartes Nova Grenade Thrown Sbx3 S/", - "category": "Explosives", - "req": 0, - "renown": "None", - "desc": "Astartes Nova Grenade Thrown SBx3 S/–/– 1d10 E 0 Blast(3) 0" - }, - { - "id": "astartes-plasma-grenade-thrown-sbx3-s", - "name": "Astartes Plasma Grenade Thrown Sbx3 S/", - "category": "Explosives", - "req": 8, - "renown": "None", - "desc": "Astartes Plasma Grenade Thrown SBx3 S/–/– 1d10+12 E 8" - }, - { - "id": "astartes-plasma-missile", - "name": "Astartes Plasma Missile", - "category": "Explosives", - "req": 12, - "renown": "None", - "desc": "Astartes Plasma Missile – – – 2d10+12 E 12" - }, - { - "id": "astartes-stasis-grenade-thrown-sbx3-s", - "name": "Astartes Stasis Grenade Thrown Sbx3 S/", - "category": "Explosives", - "req": 1, - "renown": "None", - "desc": "Astartes Stasis Grenade Thrown SBx3 S/–/– – 0 – 1 N/A N/A" - }, - { - "id": "astartes-stun-grenade-thrown-sbx3-s", - "name": "Astartes Stun Grenade Thrown Sbx3 S/", - "category": "Explosives", - "req": 0, - "renown": "None", - "desc": "Astartes Stun Grenade Thrown SBx3 S/–/– – 0 Blast (5) 0" - }, - { - "id": "emp-grenade-thrown-sbx3-s", - "name": "Emp Grenade Thrown Sbx3 S/", - "category": "Explosives", - "req": 0, - "renown": "None", - "desc": "EMP Grenade Thrown SBx3 S/–/– – 0 Haywire (3) 0" - }, - { - "id": "grenade-launcher-with-a-clip-of-1", - "name": "Grenade Launcher With A Clip of 1)", - "category": "Explosives", - "req": 1, - "renown": "None", - "desc": "grenade launcher with a clip of 1)" - }, - { - "id": "grenades-and-missiles-150", - "name": "Grenades and Missiles 150", - "category": "Explosives", - "req": 150, - "renown": "None", - "desc": "Grenades and Missiles 150" - }, - { - "id": "missile-pod-basic-90m-s-2", - "name": "Missile Pod", - "category": "Explosives", - "req": 5, - "renown": "None", - "desc": "Missile Pod Basic 90m S/2/– 2d10+6 X 5 — — Mounted" - }, - { - "id": "photon-flash-grenade-thrown-sbx3-s", - "name": "Photon Flash Grenade Thrown Sbx3 S/", - "category": "Explosives", - "req": 0, - "renown": "None", - "desc": "Photon Flash Grenade Thrown SBx3 S/–/– Special 0 – 0" - }, - { - "id": "so-a-grenade-with-blast-4-will-automatically", - "name": "So A Grenade With Blast (4) Will Automatically", - "category": "Explosives", - "req": 4, - "renown": "None", - "desc": "So a grenade with Blast (4) will automatically" - }, - { - "id": "throwing-grenades-151", - "name": "Throwing Grenades 151", - "category": "Explosives", - "req": 151, - "renown": "None", - "desc": "Throwing Grenades 151" - }, - { - "id": "vortex-grenade-has-a-radius-of-3-metres", - "name": "Vortex Grenade Has A Radius of 3 Metres", - "category": "Explosives", - "req": 3, - "renown": "None", - "desc": "The vortex grenade has a radius of 3 metres" - }, - { - "id": "vortex-grenade-thrown-sbx3-s", - "name": "Vortex Grenade Thrown Sbx3 S/", - "category": "Explosives", - "req": 1, - "renown": "None", - "desc": "Vortex Grenade Thrown SBx3 S/–/– Special 0 – 1 N/A N/A" - }, - { - "id": "astartes-force-fields-overload-on-a-roll-of-01", - "name": "Astartes Force Fields Overload On A Roll of 01", - "category": "Gear", - "req": 10, - "renown": "None", - "desc": "Astartes force fields overload on a roll of 01–10" - }, - { - "id": "astartes-chainfist-mounted-2d10", - "name": "Astartes Chainfist", - "category": "Melee", - "req": 10, - "renown": "None", - "desc": "Astartes Chainfist Mounted 2d10" - }, - { - "id": "astartes-chainsword-melee-1d10", - "name": "Astartes Chainsword Melee 1d10", - "category": "Melee", - "req": 5, - "renown": "None", - "desc": "Astartes Chainsword Melee 1d10+3 R 4 Balanced, Tearing 10 5 –" - }, - { - "id": "astartes-combat-knife-melee-1d10", - "name": "Astartes Combat Knife Melee 1d10", - "category": "Melee", - "req": 3, - "renown": "None", - "desc": "Astartes Combat Knife Melee 1d10+2 R 2 – 2 3" - }, - { - "id": "astartes-force-staff-melee-1d10", - "name": "Astartes Force Staff Melee 1d10", - "category": "Melee", - "req": 25, - "renown": "Respected", - "desc": "Astartes Force Staff Melee 1d10+1 I 0 Balanced, Special 5 25 Respected" - }, - { - "id": "astartes-force-sword-melee-1d10", - "name": "Astartes Force Sword Melee 1d10", - "category": "Melee", - "req": 25, - "renown": "Respected", - "desc": "Astartes Force Sword Melee 1d10+2 R 2 Balanced, Special 5 25 Respected" - }, - { - "id": "astartes-lightning-claw-melee-1d10", - "name": "Astartes Lightning Claw Melee 1d10", - "category": "Melee", - "req": 8, - "renown": "None", - "desc": "Astartes Lightning Claw Melee 1d10+6 E 8" - }, - { - "id": "astartes-thunder-hammer-melee-2d10", - "name": "Astartes Thunder Hammer Melee 2d10", - "category": "Melee", - "req": 8, - "renown": "None", - "desc": "Astartes Thunder Hammer Melee 2d10+5 E 8" - }, - { - "id": "omnissian-axe-astartes-pattern-melee-2d10", - "name": "Omnissian Axe (Astartes-Pattern) Melee 2d10", - "category": "Melee", - "req": 30, - "renown": "None", - "desc": "Omnissian Axe (Astartes-Pattern) Melee 2d10+6 E 6 Power Field, Unbalanced 14 30" - }, - { - "id": "adeptus-astartes-heavy-flamer-see-page-145", - "name": "Adeptus Astartes Heavy Flamer (See Page 145)", - "category": "Ranged", - "req": 145, - "renown": "None", - "desc": "an Adeptus Astartes heavy flamer (see page 145), with all the" - }, - { - "id": "astartes-digital-flamer-pistol-4m-s", - "name": "Astartes Digital Flamer", - "category": "Ranged", - "req": 1, - "renown": "None", - "desc": "Astartes Digital Flamer Pistol 4m S/–/– 2d10+2 E 3 1 Special Flame" - }, - { - "id": "astartes-digital-melta-pistol-4m-s", - "name": "Astartes Digital Melta", - "category": "Ranged", - "req": 0, - "renown": "None", - "desc": "Astartes Digital Melta Pistol 4m S/–/– 2d10+5 E 12 1 Special – 0" - }, - { - "id": "astartes-flamer-basic-20m-s", - "name": "Astartes Flamer", - "category": "Ranged", - "req": 10, - "renown": "None", - "desc": "Astartes Flamer Basic 20m S/–/– 2d10+2 E 3 6 2 Full Flame 15 10 –" - }, - { - "id": "astartes-lascannon-heavy-300m-s", - "name": "Astartes Lascannon", - "category": "Ranged", - "req": 30, - "renown": "Respected", - "desc": "Astartes Lascannon Heavy 300m S/–/– 6d10+10 E 10 6 2 Full – 75 30 Respected" - }, - { - "id": "astartes-plasma-pistol-see-page-148", - "name": "Astartes Plasma", - "category": "Ranged", - "req": 148, - "renown": "None", - "desc": "used as though it were an Astartes Plasma Pistol (see page 148)" - }, - { - "id": "astartes-shotgun-basic-30m-s-2", - "name": "Astartes Shotgun", - "category": "Ranged", - "req": 18, - "renown": "None", - "desc": "Astartes Shotgun Basic 30m S/2/– 2d10+3 I 0 18 Full" - }, - { - "id": "astartes-sniper-rifle-basic-200m-s", - "name": "Astartes Sniper Rifle", - "category": "Ranged", - "req": 2, - "renown": "None", - "desc": "Astartes Sniper Rifle Basic 200m S/–/– 1d10 R 0 6 2 Full" - }, - { - "id": "autogun-basic-90m-s-3-10-1d10", - "name": "Autogun", - "category": "Ranged", - "req": 3, - "renown": "None", - "desc": "Autogun Basic 90m S/3/10 1d10+3 I 0 30 2 Full – 3" - }, - { - "id": "autopistol-pistol-30m-s", - "name": "Autopistol", - "category": "Ranged", - "req": 2, - "renown": "None", - "desc": "Autopistol Pistol 30m S/–/6 1d10+2 I 0 18 Full – 2" - }, - { - "id": "bolter-assault-free-3-no", - "name": "Bolter Assault Free 3 No", - "category": "Ranged", - "req": 3, - "renown": "None", - "desc": "Bolter Assault Free 3 No" - }, - { - "id": "bolter-drill-talent-114", - "name": "Bolter Drill (Talent) 114", - "category": "Ranged", - "req": 114, - "renown": "None", - "desc": "Bolter Drill (Talent) 114" - }, - { - "id": "bolter-drill-1", - "name": "Bolter Drill 1", - "category": "Ranged", - "req": 500, - "renown": "None", - "desc": "Bolter Drill 1,500 Talent Astartes Weapon Training" - }, - { - "id": "bolter-drill-800-talent", - "name": "Bolter Drill 800 Talent", - "category": "Ranged", - "req": 800, - "renown": "None", - "desc": "Bolter Drill 800 Talent —" - }, - { - "id": "boltgun-suffer-an-additional-30-penalty-and-can-only-be", - "name": "Boltgun Suffer An Additional –30 Penalty and Can Only Be", - "category": "Ranged", - "req": 30, - "renown": "None", - "desc": "boltgun suffer an additional –30 penalty and can only be" - }, - { - "id": "gunmetalican-13th-armoured", - "name": "Gunmetalican 13th Armoured", - "category": "Ranged", - "req": 13, - "renown": "None", - "desc": "Gunmetalican 13th Armoured" - }, - { - "id": "he-is-shot-by-a-lascannon-that-deals-21-points", - "name": "He Is Shot By A Lascannon That Deals 21 Points", - "category": "Ranged", - "req": 21, - "renown": "None", - "desc": "He is shot by a lascannon that deals 21 points" - }, - { - "id": "lasgun", - "name": "Lasgun", - "category": "Ranged", - "req": 100, - "renown": "None", - "desc": "Lasgun, (100m" - }, - { - "id": "laspistol-pistol-30m-s", - "name": "Laspistol", - "category": "Ranged", - "req": 1, - "renown": "None", - "desc": "Laspistol Pistol 30m S/–/– 1d10+2 E 0 30 Full Reliable 1" - }, - { - "id": "launchers-152", - "name": "Launchers 152", - "category": "Ranged", - "req": 152, - "renown": "None", - "desc": "Launchers 152" - }, - { - "id": "melta-bomb-12-25", - "name": "Melta Bomb 12 25", - "category": "Ranged", - "req": 25, - "renown": "None", - "desc": "Melta bomb 12 25 –" - }, - { - "id": "mob-armed-with-autopistols-will-cause-3d10-2-damage-with", - "name": "Mob Armed With Autopistols Will Cause 3d10+2 Damage With", - "category": "Ranged", - "req": 2, - "renown": "None", - "desc": "mob armed with autopistols will cause 3d10+2 damage with" - }, - { - "id": "plasma", - "name": "Plasma", - "category": "Ranged", - "req": 100, - "renown": "None", - "desc": "supplies hold 100 rounds of ammunition for Plasma, Melta, and" - }, - { - "id": "plasma-cannon-would-fire-a-blast-3-on-maximal", - "name": "Plasma Cannon Would Fire A Blast (3) On Maximal)", - "category": "Ranged", - "req": 3, - "renown": "None", - "desc": "Plasma Cannon would fire a Blast (3) on Maximal)" - }, - { - "id": "plasma-pistol-30m-s", - "name": "Plasma Pistol (30m, S/—/—", - "category": "Ranged", - "req": 30, - "renown": "None", - "desc": "plasma pistol (30m, S/—/—" - }, - { - "id": "plasma-rifle-basic-90m-s-2", - "name": "Plasma Rifle", - "category": "Ranged", - "req": 8, - "renown": "None", - "desc": "Plasma Rifle Basic 90m S/2/– 2d10+9 E 8 — — Tearing, Mounted" - }, - { - "id": "requisition-a-storm-bolter-20-requisition-to-use-instead", - "name": "Requisition A Storm Bolter (20 Requisition) To Use Instead", - "category": "Ranged", - "req": 20, - "renown": "None", - "desc": "decides to Requisition a storm bolter (20 Requisition) to use instead" - }, - { - "id": "skapulan-bolter-basic-120m-s-2-4-2d10", - "name": "Skapulan Bolter", - "category": "Ranged", - "req": 28, - "renown": "None", - "desc": "Skapulan Bolter Basic 120m S/2/4 2d10+9 X 7 28 Full" +{ + "version": "2.0.0", + "lastUpdated": "2025-08-15T13:31:19.082Z", + "categories": [ + "rangedWeapons", + "meleeWeapons", + "grenades", + "otherWeapons", + "powerArmor", + "carapaceArmor", + "primitiveArmor", + "naturalArmor", + "xenosArmor", + "shields", + "otherArmor" + ], + "items": { + "rangedWeapons": [ + { + "name": "Angelus Bolter", + "req": 25, + "renown": "Respected", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 50m; S/3/-; 1d10+9 X; Pen 6; Clip 36; Reload 2 Full; Tearing", + "class": "Basic - Bolt", + "source": "First Founding p97" + } + }, + { + "name": "Astartes Armoursbane Missile Launcher", + "req": 15, + "renown": "None", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 200m; S/-/-; 0d0 S; Pen 0; Clip 1; Reload 2 Full; Two handed;", + "class": "Heavy - Launch", + "source": "Living Errata v1.1 p137" + } + }, + { + "name": "Astartes Assault Cannon", + "req": 30, + "renown": "Hero", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 150m; -/-/10; 2d10+12 I; Pen 6; Clip 200; Reload 3 Full; Tearing, Devastating (1)", + "class": "Mounted - Solid Projectile", + "source": "Living Errata v1.1 p149" + } + }, + { + "name": "Astartes Assault Shotgun", + "req": 7, + "renown": "None", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 30m; S/3/5; 1d10+10 I; Pen 4; Clip 20; Reload 1 Full; Two handed; Reliable, Scatter", + "class": "Basic - Solid Projectile", + "source": "Living Errata v1.1 p136" + } + }, + { + "name": "Astartes Bolt Pistol", + "req": 5, + "renown": "None", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 30m; S/2/-; 1d10+9 X; Pen 4; Clip 14; Reload 1 Full; Tearing", + "class": "Pistol - Bolt", + "source": "Living Errata v1.1 p146" + } + }, + { + "name": "Astartes Bolter-Godwyn", + "req": 5, + "renown": "None", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 100m; S/3/-; 1d10+9 X; Pen 4; Clip 28; Reload 1 Full; Two handed; Tearing", + "class": "Basic - Bolt", + "source": "Living Errata v1.1 p146" + } + }, + { + "name": "Astartes Boltgun-Stalker", + "req": 15, + "renown": "Respected", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 200m; S/-/-; 1d10+9 X; Pen 4; Clip 24; Reload 1 Full; Two handed; Accurate, Tearing", + "class": "Basic - Bolt", + "source": "Living Errata v1.1 p146" + } + }, + { + "name": "Astartes Combi-Weapon", + "req": 15, + "renown": "Respected", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 100m; S/4/-; 1d10+9 X; Pen 4; Clip 28; Reload 1 Full; Two handed; Tearing", + "class": "Basic - Bolt", + "source": "Living Errata v1.1 p146" + } + }, + { + "name": "Astartes Conversion Beamer", + "req": 40, + "renown": "Hero", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 100m; S/-/-; 0d0 E; Pen 0; Clip 4; Reload 2 Full; Two handed;", + "class": "Heavy - Exotic", + "source": "Living Errata v1.1 p152" + } + }, + { + "name": "Astartes Cyclone Missile Launcher", + "req": 25, + "renown": "Hero", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 300m; S/2/-; 0d0 S; Pen 0; Clip 12; Reload 3 Full;", + "class": "Mounted - Launch", + "source": "Living Errata v1.1 p152" + } + }, + { + "name": "Astartes Digital Flamer", + "req": 35, + "renown": "Hero", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 4m; S/-/-; 1d10+9 E; Pen 4; Clip 1; Reload 1d5 Hours; Flame, Spray", + "class": "Pistol - Exotic", + "source": "Living Errata v1.1 p153" + } + } + ], + "meleeWeapons": [ + { + "name": "Armour of the Remorseless Crusader (Forearm Sword)", + "req": 70, + "renown": "Hero", + "category": "Melee Weapon", + "stats": { + "damage": "1d10+8 R; Pen 6; +10 to hit; Sanctified", + "class": "One-Handed Melee - Primitive", + "source": "Deathwatch Core Rulebook p167" + } + }, + { + "name": "Artificer Omnissian Axe", + "req": 25, + "renown": "Distinguished", + "category": "Melee Weapon", + "stats": { + "damage": "1d10+9 E; Pen 7; Power Field, Unbalanced", + "class": "One-Handed Melee - Power", + "source": "First Founding p99" + } + }, + { + "name": "Astartes Chainfist", + "req": 40, + "renown": "Hero", + "category": "Melee Weapon", + "stats": { + "damage": "2d10+\"2*SB\" E; Pen 10; Power Field, Tearing, Unwieldy", + "class": "One-Handed Melee - Power", + "source": "Living Errata v1.1 p154" + } + }, + { + "name": "Astartes Chainsword", + "req": 5, + "renown": "None", + "category": "Melee Weapon", + "stats": { + "damage": "1d10+3 R; Pen 3; Balanced, Tearing", + "class": "One-Handed Melee - Chain", + "source": "Living Errata v1.1 p153" + } + }, + { + "name": "Astartes Combat Knife", + "req": 3, + "renown": "None", + "category": "Melee Weapon", + "stats": { + "damage": "1d10 R; Pen 2;", + "class": "One-Handed Melee - Primitive", + "source": "Living Errata v1.1 p155" + } + }, + { + "name": "Astartes Combat Shield", + "req": 20, + "renown": "Distinguished", + "category": "Melee Weapon", + "stats": { + "damage": "1d5+1 I; Pen 0; Balanced", + "class": "One-Handed Melee - Primitive", + "source": "Living Errata v1.1 p166" + } + } + ], + "grenades": [ + { + "name": "Astartes Anti-Plant Grenade", + "req": 18, + "renown": "None", + "category": "Grenade", + "stats": { + "damage": "3d10 E; Pen 0; Blast (3)", + "class": "Thrown - Grenade", + "source": "Living Errata v1.1 p136" + } + }, + { + "name": "Astartes Blind Grenade", + "req": 10, + "renown": "None", + "category": "Grenade", + "stats": { + "damage": "0d0 S; Pen 0; Smoke (10)", + "class": "Thrown - Grenade", + "source": "Living Errata v1.1 p150" + } + } + ], + "otherWeapons": [ + { + "name": "Argrax Clawed Hooves", + "req": 0, + "renown": "None", + "category": "Other", + "stats": { + "damage": "1d10 I; Pen 0;", + "class": "Natural - Primitive", + "source": "The Emperor Protects p46" + } + } + ], + "powerArmor": [ + { + "name": "Armour of the Remorseless Crusader", + "req": 70, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 12, + "arms": 12, + "body": 12, + "legs": 12 + }, + "source": "Deathwatch Core Rulebook p167" + } + }, + { + "name": "Astartes Artificer Armour", + "req": 60, + "renown": "Hero", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 12, + "arms": 12, + "body": 12, + "legs": 12 + }, + "source": "Deathwatch Core Rulebook p163" + } + }, + { + "name": "Astartes Mk 1 Thunder Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 6, + "body": 8, + "legs": 4 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk 2 Crusade Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 7, + "body": 9, + "legs": 7 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk 3 Iron Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 9, + "body": 10, + "legs": 9 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk 4 Maximus Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 7, + "body": 9, + "legs": 7 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk 5 Heresy Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 8, + "body": 9, + "legs": 8 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk 6 Corvus Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 8, + "body": 9, + "legs": 8 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk 7 Aquilla Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 8, + "body": 10, + "legs": 8 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk 8 Errant Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 8, + "body": 11, + "legs": 8 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk1 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 6, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk2 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 7, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk3 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 9, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk4 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 7, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk5 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk6 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk7 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Mk8 Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p151" + } + }, + { + "name": "Astartes Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 8, + "body": 10, + "legs": 8 + }, + "source": "Deathwatch Core Rulebook p160" + } + }, + { + "name": "Astartes Power Armour Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Deathwatch Core Rulebook p160" + } + }, + { + "name": "Astartes Tactical Dreadnaught-Terminator Armour", + "req": 100, + "renown": "Hero", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 14, + "body": 14, + "legs": 14 + }, + "source": "Deathwatch Core Rulebook p164" + } + }, + { + "name": "Astartes Tactical Dreadnaught-Terminator Armour Helm", + "req": 100, + "renown": "Hero", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 14, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Deathwatch Core Rulebook p164" + } + }, + { + "name": "Astartes Terminator Armour", + "req": 100, + "renown": "Hero", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 14, + "arms": 14, + "body": 14, + "legs": 14 + }, + "source": "Deathwatch Core Rulebook p164" + } + }, + { + "name": "CM Power Armour", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 8, + "body": 10, + "legs": 8 + }, + "source": "Mark of the Xenos p114" + } + }, + { + "name": "Diagnostor Helmet", + "req": 15, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Deathwatch Core Rulebook p165" + } + }, + { + "name": "Dmn Armour of Chaos", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 12, + "arms": 12, + "body": 12, + "legs": 12 + }, + "source": "Deathwatch Core Rulebook p362" + } + }, + { + "name": "Fenris Pattern Wolf Helm", + "req": 0, + "renown": "Respected", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p143" + } + }, + { + "name": "Skull Helm", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 9, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Rites of Battle p143" + } + }, + { + "name": "Tau XV-8 Crisis Battlesuit", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 9, + "arms": 9, + "body": 9, + "legs": 9 + }, + "source": "Mark of the Xenos p9" + } + }, + { + "name": "Tau XV-88 Broadside Battlesuit", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 12, + "arms": 12, + "body": 12, + "legs": 12 + }, + "source": "Mark of the Xenos p6" + } + }, + { + "name": "Tau XV15 Stealth Suit (Limbs)", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 0, + "arms": 7, + "body": 0, + "legs": 7 + }, + "source": "Deathwatch Core Rulebook p367" + } + }, + { + "name": "Tau XV15 Stealth Suit (Top)", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 8, + "arms": 0, + "body": 8, + "legs": 0 + }, + "source": "Deathwatch Core Rulebook p367" + } + }, + { + "name": "Tau XV8 Crisis Suit", + "req": 0, + "renown": "None", + "category": "Power Armor", + "stats": { + "type": "Power", + "protection": { + "head": 9, + "arms": 9, + "body": 9, + "legs": 9 + }, + "source": "Deathwatch Core Rulebook p366" + } + } + ], + "carapaceArmor": [ + { + "name": "Astartes Scout Armour", + "req": 0, + "renown": "None", + "category": "Carapace Armor", + "stats": { + "type": "Carapace", + "protection": { + "head": 0, + "arms": 6, + "body": 6, + "legs": 0 + }, + "source": "Deathwatch Core Rulebook p163" + } + }, + { + "name": "Chaos Flak Robes and Brazen Carapace", + "req": 0, + "renown": "None", + "category": "Carapace Armor", + "stats": { + "type": "Carapace", + "protection": { + "head": 5, + "arms": 5, + "body": 6, + "legs": 4 + }, + "source": "Deathwatch Core Rulebook p364" + } + }, + { + "name": "Deathwatch Scout Armor", + "req": 0, + "renown": "None", + "category": "Carapace Armor", + "stats": { + "type": "Carapace", + "protection": { + "head": 0, + "arms": 6, + "body": 6, + "legs": 6 + }, + "source": "Rites of Battle p142" + } + }, + { + "name": "Tau Fire Warrior Armour", + "req": 0, + "renown": "None", + "category": "Carapace Armor", + "stats": { + "type": "Carapace", + "protection": { + "head": 6, + "arms": 6, + "body": 6, + "legs": 6 + }, + "source": "Deathwatch Core Rulebook p368" + } + }, + { + "name": "Tau Pathfinder Armour", + "req": 0, + "renown": "None", + "category": "Carapace Armor", + "stats": { + "type": "Carapace", + "protection": { + "head": 7, + "arms": 0, + "body": 7, + "legs": 0 + }, + "source": "Mark of the Xenos p25" + } + } + ], + "primitiveArmor": [ + { + "name": "Auran Golden Saurian Scale Armour", + "req": 0, + "renown": "None", + "category": "Primitive Armor", + "stats": { + "type": "Primitive", + "protection": { + "head": 6, + "arms": 6, + "body": 6, + "legs": 6 + }, + "source": "The Emperor Protects p48" + } + }, + { + "name": "Auran Saurian Scale Armour", + "req": 0, + "renown": "None", + "category": "Primitive Armor", + "stats": { + "type": "Primitive", + "protection": { + "head": 4, + "arms": 4, + "body": 4, + "legs": 4 + }, + "source": "The Emperor Protects p46" + } + }, + { + "name": "Scales", + "req": 0, + "renown": "None", + "category": "Primitive Armor", + "stats": { + "type": "Primitive", + "protection": { + "head": 2, + "arms": 2, + "body": 2, + "legs": 2 + }, + "source": "The Emperor Protects p50" + } + }, + { + "name": "Scaly Hide", + "req": 0, + "renown": "None", + "category": "Primitive Armor", + "stats": { + "type": "Primitive", + "protection": { + "head": 4, + "arms": 4, + "body": 4, + "legs": 4 + }, + "source": "The Emperor Protects p46" + } + } + ], + "naturalArmor": [ + { + "name": "Tau Gun Drone Armour", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 5, + "arms": 5, + "body": 5, + "legs": 5 + }, + "source": "Deathwatch Core Rulebook p367" + } + }, + { + "name": "Tyr Bonded Exoskeleton", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 10, + "arms": 10, + "body": 10, + "legs": 10 + }, + "source": "Deathwatch Core Rulebook p370" + } + }, + { + "name": "Tyr Chitinous Carapace", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 3, + "arms": 3, + "body": 3, + "legs": 3 + }, + "source": "Deathwatch Core Rulebook p371" + } + }, + { + "name": "Tyr Exoskeleton", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 2, + "arms": 2, + "body": 2, + "legs": 2 + }, + "source": "Mark of the Xenos p43" + } + }, + { + "name": "Tyr Hardened Carapace", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 6, + "arms": 6, + "body": 6, + "legs": 6 + }, + "source": "Mark of the Xenos p40" + } + }, + { + "name": "Tyr Light Reinforced Chitin", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 4, + "arms": 4, + "body": 4, + "legs": 4 + }, + "source": "Mark of the Xenos p39" + } + }, + { + "name": "Tyr Medium Reinforced Chitin", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 6, + "arms": 6, + "body": 6, + "legs": 6 + }, + "source": "Mark of the Xenos p37" + } + }, + { + "name": "Tyr Reinforced Chitin", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 8, + "arms": 8, + "body": 8, + "legs": 8 + }, + "source": "Deathwatch Core Rulebook p371" + } + }, + { + "name": "Tyr Thickened Scales", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 10, + "arms": 10, + "body": 10, + "legs": 10 + }, + "source": "Mark of the Xenos p46" + } + }, + { + "name": "Vespid Chitin", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 3, + "arms": 3, + "body": 3, + "legs": 3 + }, + "source": "Mark of the Xenos p26" + } + }, + { + "name": "Xenos Hardened Hide", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 6, + "arms": 6, + "body": 6, + "legs": 6 + }, + "source": "Mark of the Xenos p66" + } + }, + { + "name": "Xenos Scaly Hide", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 3, + "arms": 3, + "body": 3, + "legs": 3 + }, + "source": "Mark of the Xenos p63" + } + }, + { + "name": "Xenos Slimey Hide", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 2, + "arms": 2, + "body": 2, + "legs": 2 + }, + "source": "Mark of the Xenos p68" + } + }, + { + "name": "Xenos Thick Scales", + "req": 0, + "renown": "None", + "category": "Natural Armor", + "stats": { + "type": "Natural", + "protection": { + "head": 5, + "arms": 5, + "body": 5, + "legs": 5 + }, + "source": "Mark of the Xenos p65" + } + } + ], + "xenosArmor": [ + { + "name": "Nec Metallic Exoskeleton", + "req": 0, + "renown": "None", + "category": "Xenos Armor", + "stats": { + "type": "Necron", + "protection": { + "head": 8, + "arms": 8, + "body": 8, + "legs": 8 + }, + "source": "The Emperor Protects p94" + } + }, + { + "name": "Nec Metallic Shell", + "req": 0, + "renown": "None", + "category": "Xenos Armor", + "stats": { + "type": "Necron", + "protection": { + "head": 10, + "arms": 10, + "body": 10, + "legs": 10 + }, + "source": "The Emperor Protects p94" + } + }, + { + "name": "Ork Eavy Armour", + "req": 0, + "renown": "None", + "category": "Xenos Armor", + "stats": { + "type": "Ork", + "protection": { + "head": 6, + "arms": 4, + "body": 6, + "legs": 4 + }, + "source": "Mark of the Xenos p57" + } + }, + { + "name": "Ork Flak Armour", + "req": 0, + "renown": "None", + "category": "Xenos Armor", + "stats": { + "type": "Ork", + "protection": { + "head": 0, + "arms": 0, + "body": 2, + "legs": 0 + }, + "source": "Mark of the Xenos p57" + } + }, + { + "name": "Ork Mega Armour", + "req": 0, + "renown": "None", + "category": "Xenos Armor", + "stats": { + "type": "Ork", + "protection": { + "head": 6, + "arms": 10, + "body": 14, + "legs": 10 + }, + "source": "Mark of the Xenos p57" + } + } + ], + "shields": [ + { + "name": "Astartes Storm Shield - Protective", + "req": 35, + "renown": "Distinguished", + "category": "Shields", + "stats": { + "type": "Shield", + "protection": { + "head": 0, + "arms": 0, + "body": 4, + "legs": 0 + }, + "source": "Deathwatch Core Rulebook p166" + } + } + ], + "otherArmor": [ + { + "name": "Name", + "req": 0, + "renown": "Distinguished", + "category": "Other Armor", + "stats": { + "type": "Type", + "protection": { + "head": 0, + "arms": 0, + "body": 0, + "legs": 0 + }, + "source": "Book pPage No." + } + }, + { + "name": "Chaos Armour Plating", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 6, + "arms": 6, + "body": 6, + "legs": 6 + }, + "source": "Mark of the Xenos p91" + } + }, + { + "name": "Chaos Bones of Subersion", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 9, + "arms": 9, + "body": 9, + "legs": 9 + }, + "source": "Mark of the Xenos p86" + } + }, + { + "name": "Chaos Slinnar Obsidian Shell", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 8, + "arms": 8, + "body": 8, + "legs": 8 + }, + "source": "Mark of the Xenos p92" + } + }, + { + "name": "Chaos Warded Adamantine Shell", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 9, + "arms": 9, + "body": 9, + "legs": 9 + }, + "source": "Mark of the Xenos p95" + } + }, + { + "name": "Daemon Iron Hide", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 13, + "arms": 13, + "body": 13, + "legs": 13 + }, + "source": "Mark of the Xenos p101" + } + }, + { + "name": "Dmn Brazen Chaos Armour", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 12, + "arms": 12, + "body": 12, + "legs": 12 + }, + "source": "The Emperor Protects p136" + } + }, + { + "name": "Obliterator Warped Mechnical Flesh", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 12, + "arms": 12, + "body": 12, + "legs": 12 + }, + "source": "Mark of the Xenos p120" + } + }, + { + "name": "Rad Corrupted Mechnical Flesh", + "req": 0, + "renown": "None", + "category": "Other Armor", + "stats": { + "type": "Other", + "protection": { + "head": 7, + "arms": 7, + "body": 7, + "legs": 7 + }, + "source": "The Emperor Protects p91" + } + } + ] } -] \ No newline at end of file +} \ No newline at end of file diff --git a/public/deathwatch-weapons.json b/public/deathwatch-weapons.json new file mode 100644 index 0000000..2c09de1 --- /dev/null +++ b/public/deathwatch-weapons.json @@ -0,0 +1,230 @@ +{ + "rangedWeapons": [ + { + "name": "Angelus Bolter", + "req": 25, + "renown": "Respected", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 50m; S/3/-; 1d10+9 X; Pen 6; Clip 36; Reload 2 Full; Tearing", + "class": "Basic - Bolt", + "source": "First Founding p97" + } + }, + { + "name": "Astartes Armoursbane Missile Launcher", + "req": 15, + "renown": "None", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 200m; S/-/-; 0d0 S; Pen 0; Clip 1; Reload 2 Full; Two handed;", + "class": "Heavy - Launch", + "source": "Living Errata v1.1 p137" + } + }, + { + "name": "Astartes Assault Cannon", + "req": 30, + "renown": "Hero", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 150m; -/-/10; 2d10+12 I; Pen 6; Clip 200; Reload 3 Full; Tearing, Devastating (1)", + "class": "Mounted - Solid Projectile", + "source": "Living Errata v1.1 p149" + } + }, + { + "name": "Astartes Assault Shotgun", + "req": 7, + "renown": "None", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 30m; S/3/5; 1d10+10 I; Pen 4; Clip 20; Reload 1 Full; Two handed; Reliable, Scatter", + "class": "Basic - Solid Projectile", + "source": "Living Errata v1.1 p136" + } + }, + { + "name": "Astartes Bolt Pistol", + "req": 5, + "renown": "None", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 30m; S/2/-; 1d10+9 X; Pen 4; Clip 14; Reload 1 Full; Tearing", + "class": "Pistol - Bolt", + "source": "Living Errata v1.1 p146" + } + }, + { + "name": "Astartes Bolter-Godwyn", + "req": 5, + "renown": "None", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 100m; S/3/-; 1d10+9 X; Pen 4; Clip 28; Reload 1 Full; Two handed; Tearing", + "class": "Basic - Bolt", + "source": "Living Errata v1.1 p146" + } + }, + { + "name": "Astartes Boltgun-Stalker", + "req": 15, + "renown": "Respected", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 200m; S/-/-; 1d10+9 X; Pen 4; Clip 24; Reload 1 Full; Two handed; Accurate, Tearing", + "class": "Basic - Bolt", + "source": "Living Errata v1.1 p146" + } + }, + { + "name": "Astartes Combi-Weapon", + "req": 15, + "renown": "Respected", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 100m; S/4/-; 1d10+9 X; Pen 4; Clip 28; Reload 1 Full; Two handed; Tearing", + "class": "Basic - Bolt", + "source": "Living Errata v1.1 p146" + } + }, + { + "name": "Astartes Conversion Beamer", + "req": 40, + "renown": "Hero", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 100m; S/-/-; 0d0 E; Pen 0; Clip 4; Reload 2 Full; Two handed;", + "class": "Heavy - Exotic", + "source": "Living Errata v1.1 p152" + } + }, + { + "name": "Astartes Cyclone Missile Launcher", + "req": 25, + "renown": "Hero", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 300m; S/2/-; 0d0 S; Pen 0; Clip 12; Reload 3 Full;", + "class": "Mounted - Launch", + "source": "Living Errata v1.1 p152" + } + }, + { + "name": "Astartes Digital Flamer", + "req": 35, + "renown": "Hero", + "category": "Ranged Weapon", + "stats": { + "damage": "Range 4m; S/-/-; 1d10+9 E; Pen 4; Clip 1; Reload 1d5 Hours; Flame, Spray", + "class": "Pistol - Exotic", + "source": "Living Errata v1.1 p153" + } + } + ], + "meleeWeapons": [ + { + "name": "Armour of the Remorseless Crusader (Forearm Sword)", + "req": 70, + "renown": "Hero", + "category": "Melee Weapon", + "stats": { + "damage": "1d10+8 R; Pen 6; +10 to hit; Sanctified", + "class": "One-Handed Melee - Primitive", + "source": "Deathwatch Core Rulebook p167" + } + }, + { + "name": "Artificer Omnissian Axe", + "req": 25, + "renown": "Distinguished", + "category": "Melee Weapon", + "stats": { + "damage": "1d10+9 E; Pen 7; Power Field, Unbalanced", + "class": "One-Handed Melee - Power", + "source": "First Founding p99" + } + }, + { + "name": "Astartes Chainfist", + "req": 40, + "renown": "Hero", + "category": "Melee Weapon", + "stats": { + "damage": "2d10+\"2*SB\" E; Pen 10; Power Field, Tearing, Unwieldy", + "class": "One-Handed Melee - Power", + "source": "Living Errata v1.1 p154" + } + }, + { + "name": "Astartes Chainsword", + "req": 5, + "renown": "None", + "category": "Melee Weapon", + "stats": { + "damage": "1d10+3 R; Pen 3; Balanced, Tearing", + "class": "One-Handed Melee - Chain", + "source": "Living Errata v1.1 p153" + } + }, + { + "name": "Astartes Combat Knife", + "req": 3, + "renown": "None", + "category": "Melee Weapon", + "stats": { + "damage": "1d10 R; Pen 2;", + "class": "One-Handed Melee - Primitive", + "source": "Living Errata v1.1 p155" + } + }, + { + "name": "Astartes Combat Shield", + "req": 20, + "renown": "Distinguished", + "category": "Melee Weapon", + "stats": { + "damage": "1d5+1 I; Pen 0; Balanced", + "class": "One-Handed Melee - Primitive", + "source": "Living Errata v1.1 p166" + } + } + ], + "grenades": [ + { + "name": "Astartes Anti-Plant Grenade", + "req": 18, + "renown": "None", + "category": "Grenade", + "stats": { + "damage": "3d10 E; Pen 0; Blast (3)", + "class": "Thrown - Grenade", + "source": "Living Errata v1.1 p136" + } + }, + { + "name": "Astartes Blind Grenade", + "req": 10, + "renown": "None", + "category": "Grenade", + "stats": { + "damage": "0d0 S; Pen 0; Smoke (10)", + "class": "Thrown - Grenade", + "source": "Living Errata v1.1 p150" + } + } + ], + "other": [ + { + "name": "Argrax Clawed Hooves", + "req": 0, + "renown": "None", + "category": "Other", + "stats": { + "damage": "1d10 I; Pen 0;", + "class": "Natural - Primitive", + "source": "The Emperor Protects p46" + } + } + ] +} \ No newline at end of file diff --git a/scripts/build-shop-db.js b/scripts/build-shop-db.js new file mode 100644 index 0000000..8316af3 --- /dev/null +++ b/scripts/build-shop-db.js @@ -0,0 +1,48 @@ +const { categorizedWeapons } = require('./parse-weapons'); +const { categorizedArmor } = require('./parse-armor'); + +// Combine all shop items into a single database +const buildShopDatabase = () => { + const shopItems = { + // Weapons + rangedWeapons: categorizedWeapons.rangedWeapons, + meleeWeapons: categorizedWeapons.meleeWeapons, + grenades: categorizedWeapons.grenades, + otherWeapons: categorizedWeapons.other, + + // Armor + powerArmor: categorizedArmor.powerArmor, + carapaceArmor: categorizedArmor.carapaceArmor, + primitiveArmor: categorizedArmor.primitiveArmor, + naturalArmor: categorizedArmor.naturalArmor, + xenosArmor: categorizedArmor.xenosArmor, + shields: categorizedArmor.shields, + otherArmor: categorizedArmor.otherArmor + }; + + // Add metadata + const shopDatabase = { + version: "2.0.0", + lastUpdated: new Date().toISOString(), + categories: Object.keys(shopItems), + items: shopItems + }; + + return shopDatabase; +}; + +// Write the database +if (require.main === module) { + const fs = require('fs'); + const path = require('path'); + + // First ensure our source data is up to date + require('./parse-weapons'); + require('./parse-armor'); + + // Then build and write the combined database + const output = path.resolve('public/deathwatch-armoury.json'); + const database = buildShopDatabase(); + fs.writeFileSync(output, JSON.stringify(database, null, 2), 'utf8'); + console.log('Wrote combined shop database to:', output); +} diff --git a/scripts/clean-armoury.js b/scripts/clean-armoury.js old mode 100755 new mode 100644 index 84efd0f..41f377f --- a/scripts/clean-armoury.js +++ b/scripts/clean-armoury.js @@ -1,96 +1,243 @@ -/* - Clean and normalize armoury JSON produced from PDF extraction. - Usage: - node scripts/clean-armoury.js public/deathwatch-armoury.json [output.json] -*/ +const rawWeaponData = ` +Angelus Bolter Basic - Bolt Range 50m; S/3/-; 1d10+9 X; Pen 6; Clip 36; Reload 2 Full; Tearing 25 Respected Deathwatch First Founding 97 +Argrax Clawed Hooves Natural - Primitive 1d10 I; Pen 0; 0 Any Deathwatch The Emperor Protects 46 +Armour of the Remorseless Crusader (Forearm Sword) One-Handed Melee - Primitive 1d10+8 R; Pen 6; +10 to hit; Sanctified 70 Hero Deathwatch Deathwatch Core Rulebook 167 +Artificer Omnissian Axe One-Handed Melee - Power 1d10+9 E; Pen 7; Power Field, Unbalanced 25 Distinguished Deathwatch First Founding 99 +Astartes Anti-Plant Grenade Thrown - Grenade 3d10 E; Pen 0; Blast (3) 18 Any Deathwatch Living Errata v1.1 136 +Astartes Armoursbane Missile Launcher Heavy - Launch Range 200m; S/-/-; 0d0 S; Pen 0; Clip 1; Reload 2 Full; Two handed; 15 Any Deathwatch Living Errata v1.1 137 +Astartes Assault Cannon Mounted - Solid Projectile Range 150m; -/-/10; 2d10+12 I; Pen 6; Clip 200; Reload 3 Full; Tearing, Devastating (1) 30 Famed Deathwatch Living Errata v1.1 149 +Astartes Assault Shotgun Basic - Solid Projectile Range 30m; S/3/5; 1d10+10 I; Pen 4; Clip 20; Reload 1 Full; Two handed; Reliable, Scatter 7 Any Deathwatch Living Errata v1.1 136 +Astartes Blind Grenade Thrown - Grenade 0d0 S; Pen 0; Smoke (10) 10 Any Deathwatch Living Errata v1.1 150 +Astartes Bolt Pistol Pistol - Bolt Range 30m; S/2/-; 1d10+9 X; Pen 4; Clip 14; Reload 1 Full; Tearing 5 Any Deathwatch Living Errata v1.1 146 +Astartes Bolter-Godwyn Basic - Bolt Range 100m; S/3/-; 1d10+9 X; Pen 4; Clip 28; Reload 1 Full; Two handed; Tearing 5 Any Deathwatch Living Errata v1.1 146 +Astartes Boltgun-Stalker Basic - Bolt Range 200m; S/-/-; 1d10+9 X; Pen 4; Clip 24; Reload 1 Full; Two handed; Accurate, Tearing 15 Respected Deathwatch Living Errata v1.1 146 +Astartes Chainfist One-Handed Melee - Power 2d10+"2*SB" E; Pen 10; Power Field, Tearing, Unwieldy 40 Famed Deathwatch Living Errata v1.1 154 +Astartes Chainsword One-Handed Melee - Chain 1d10+3 R; Pen 3; Balanced, Tearing 5 Any Deathwatch Living Errata v1.1 153 +Astartes Combat Knife One-Handed Melee - Primitive 1d10 R; Pen 2; 3 Any Deathwatch Living Errata v1.1 155 +Astartes Combat Shield One-Handed Melee - Primitive 1d5+1 I; Pen 0; Balanced 20 Distinguished Deathwatch Living Errata v1.1 166 +Astartes Combi-Weapon Basic - Bolt Range 100m; S/4/-; 1d10+9 X; Pen 4; Clip 28; Reload 1 Full; Two handed; Tearing 15 Respected Deathwatch Living Errata v1.1 146 +Astartes Conversion Beamer Heavy - Exotic Range 100m; S/-/-; 0d0 E; Pen 0; Clip 4; Reload 2 Full; Two handed; 40 Hero Deathwatch Living Errata v1.1 152 +Astartes Cyclone Missile Launcher Mounted - Launch Range 300m; S/2/-; 0d0 S; Pen 0; Clip 12; Reload 3 Full; 25 Famed Deathwatch Living Errata v1.1 152 +Astartes Digital Flamer Pistol - Exotic Range 4m; S/-/-; 1d10+9 E; Pen 4; Clip 1; Reload 1d5 Hours; Flame, Spray 35 Famed Deathwatch Living Errata v1.1 153 +Astartes Digital Laser Pistol - Exotic Range 4m; S/-/-; 1d10+4 E; Pen 7; Clip 1; Reload 1d5 Hours; Reliable 35 Famed Deathwatch Living Errata v1.1 153 +Astartes Digital Melta Pistol - Exotic Range 4m; S/-/-; 2d10+12 E; Pen 10; Clip 1; Reload 1d5 Hours; 35 Famed Deathwatch Living Errata v1.1 153 +Astartes Executioner Axe Two-Handed Melee - Power 1d10+13 E; Pen 8; Two handed; Power Field, Unwieldy, Felling (x1) 25 Famed Deathwatch Living Errata v1.1 139 +Astartes Flamer Basic - Flame Range 20m; S/-/-; 1d10+9 E; Pen 4; Clip 6; Reload 2 Full; Two handed; Flame, Spray 10 Any Deathwatch Living Errata v1.1 148 +Astartes Force Staff One-Handed Melee - Primitive 1d10+"1+PR+SB" S; Pen "PR"; Balanced 25 Respected Deathwatch Living Errata v1.1 155 +Astartes Force Sword One-Handed Melee - Primitive 1d10+"2+PR+SB" S; Pen "2+PR"; Balanced 25 Respected Deathwatch Living Errata v1.1 156 +Astartes Frag Grenade Thrown - Grenade 2d10+2 X; Pen 0; Blast (4) 1 Any Deathwatch Living Errata v1.1 150 +Astartes Hand Flamer Pistol - Flame Range 10m; S/-/-; 1d10+7 E; Pen 4; Clip 4; Reload 2 Full; Flame, Spray 10 Any Deathwatch Living Errata v1.1 149 +Astartes Heavy Flamer Heavy - Flame Range 30m; S/-/-; 1d10+12 E; Pen 6; Clip 10; Reload 2 Full; Two handed; Flame, Spray 15 Any Deathwatch Living Errata v1.1 149 +Astartes Heavy-Bolter Heavy - Bolt Range 150m; -/-/6; 1d10+12 X; Pen 5; Clip 60; Reload 1 Full; Two handed; Tearing 20 Any Deathwatch Living Errata v1.1 147 +Astartes Incendiary Grenade Thrown - Grenade 1d10+4 E; Pen 0; Blast (3) 15 Any Deathwatch Living Errata v1.1 150 +Astartes Infernus Pistol Pistol - Melta Range 10m; S/-/-; 2d10+12 E; Pen 12; Clip 4; Reload 1 Full; Melta 35 Famed Deathwatch Living Errata v1.1 148 +Astartes Krak Grenade Thrown - Grenade 3d10+4 X; Pen 6; 1 Any Deathwatch Living Errata v1.1 150 +Astartes Lascannon Heavy - Las Range 300m; S/-/-; 5d10+10 E; Pen 10; Clip 6; Reload 2 Full; Two handed; Proven (3) 30 Respected Deathwatch Living Errata v1.1 149 +Astartes Lightning Claw One-Handed Melee - Power 1d10+6 E; Pen 8; Power Field, Proven (4) 30 Distinguished Deathwatch Living Errata v1.1 154 +Astartes Meltagun-Vulkan Basic - Melta Range 30m; S/-/-; 2d10+14 E; Pen 12; Clip 6; Reload 2 Full; Two handed; Melta 20 Respected Deathwatch Living Errata v1.1 148 +Astartes Missile Launcher-Soundstrike Heavy - Launch Range 250m; S/-/-; 0d0 S; Pen 0; Clip 8; Reload 1 Full; Two handed; 10 Any Deathwatch Living Errata v1.1 152 +Astartes Multi-Melta - Maxima Heavy - Melta Range 60m; S/-/-; 2d10+16 E; Pen 12; Clip 12; Reload 2 Full; Two handed; Blast (1), Melta 35 Respected Deathwatch Living Errata v1.1 148 +Astartes Nova Grenade Thrown - Grenade 1d10 E; Pen 0; Blast (3) 15 Any Deathwatch Living Errata v1.1 151 +Astartes Photon Flash Grenade Thrown - Grenade 0d0 S; Pen 0; 5 Any Deathwatch Living Errata v1.1 151 +Astartes Plasma Cannon Heavy - Plasma Range 150m; S/-/-; 2d10+12 E; Pen 10; Clip 16; Reload 5 Full; Two handed; Blast (3), Volatile, Maximal 30 Distinguished Deathwatch Living Errata v1.1 147 +Astartes Plasma Grenade Thrown - Grenade 1d10+12 E; Pen 8; Blast (3) 20 Distinguished Deathwatch Living Errata v1.1 151 +Astartes Plasma Gun -Ragefire Basic - Plasma Range 100m; S/2/-; 1d10+12 E; Pen 10; Clip 24; Reload 4 Full; Volatile, Maximal 20 Respected Deathwatch Living Errata v1.1 148 +Astartes Plasma Pistol Pistol - Plasma Range 30m; S/2/-; 1d10+10 E; Pen 8; Clip 12; Reload 3 Full; Volatile, Maximal 25 Respected Deathwatch Living Errata v1.1 148 +Astartes Power Axe One-Handed Melee - Power 1d10+8 E; Pen 7; Power Field, Unbalanced 20 Respected Deathwatch Living Errata v1.1 155 +Astartes Power Claymore Two-Handed Melee - Power 1d10+11 E; Pen 8; Two handed; Power Field, Unwieldy, Devastating (1) 15 Distinguished Deathwatch Living Errata v1.1 139 +Astartes Power Falchion One-Handed Melee - Power 1d10+4 E; Pen 6; Two handed; Power Field, Razor Sharp 25 Distinguished Deathwatch Living Errata v1.1 139 +Astartes Power Fist One-Handed Melee - Power 2d10+"2*SB" E; Pen 9; Power Field, Unwieldy 30 Distinguished Deathwatch Living Errata v1.1 155 +Astartes Power Spear Two-Handed Melee - Power 1d10+6 E; Pen 7; Two handed; Power Field 15 Distinguished Deathwatch Living Errata v1.1 139 +Astartes Power Sword One-Handed Melee - Power 1d10+6 E; Pen 6; Balanced, Power Field 20 Respected Deathwatch Living Errata v1.1 155 +Astartes Servo-Arm Mounted - Primitive 2d10+14 I; Pen 10; 30 Any Deathwatch Living Errata v1.1 177 +`.trim(); -const fs = require('fs') -const path = require('path') - -function loadJson(p){ return JSON.parse(fs.readFileSync(p,'utf8')) } -function saveJson(p, obj){ fs.mkdirSync(path.dirname(p), { recursive: true }); fs.writeFileSync(p, JSON.stringify(obj,null,2),'utf8') } - -function titleCaseWord(w){ - if (!w) return w - if (w.toUpperCase()==='X' || w.toUpperCase()==='E') return w.toUpperCase() - if (/^\d/.test(w)) return w - if (w.length<=2) return w[0] ? (w[0].toUpperCase()+w.slice(1).toLowerCase()) : w - return w[0].toUpperCase()+w.slice(1).toLowerCase() -} - -function titleCaseName(s){ - return String(s||'') - .split(/([\s\-()/]+)/) - .map(part => /[\s\-()/]+/.test(part) ? part : titleCaseWord(part)) - .join('') - .replace(/\bOf\b|\bAnd\b|\bThe\b/g, m=>m.toLowerCase()) -} - -function cleanName(raw, desc){ - let n = String(raw||'').trim() - const d = String(desc||'') - // Common OCR noise - n = n.replace(/^rtes\b/i,'Astartes ') - n = n.replace(/WeApons/gi,'Weapons') - // If desc contains a canonical prefix use it - const m1 = d.match(/\b(Astartes [A-Za-z][A-Za-z\-\s()]+?)(?:\s+(?:Basic|Pistol|Heavy|Mounted)\b)/) - if (m1) n = m1[1] - // Strip trailing stat blocks starting at class tokens - n = n.replace(/\s+(Basic|Pistol|Heavy|Mounted)\b[\s\S]*$/,'') - // Remove leading filler - n = n.replace(/^[-–—•\s"'`]+/,'') - n = n.replace(/^(a|an|the)\s+/i,'') - // Compact whitespace - n = n.replace(/\s{2,}/g,' ') - // Title case - n = titleCaseName(n) - return n.trim() -} - -const keepWord = /(Astartes|Bolter|Boltgun|Bolt Pistol|Storm Bolter|Plasma|Melta|Flamer|Lascannon|Shotgun|Autogun|Autopistol|Lasgun|Laspistol|Assault Cannon|Sniper Rifle|Combi|Cyclone|Missile|Launcher|Grenade|Power Sword|Power Axe|Power Fist|Thunder Hammer|Lightning Claw|Chainsword|Chainfist|Shield|Armor|Armour)/i -const looksBad = /\b(although|because|while|most|this|these|those|provides|requires|usually|common|mode|effects|counts|burst|power|pack|fuel|rounds|weapon is|weapon’s|weapons can|weapons work)\b/i - -function isLikelyItem(name, cat){ - if (!name) return false - if (name.length < 3 || name.length > 60) return false - if (/^[a-z]/.test(name)) return false - if (looksBad.test(name)) return false - if (/(WeApons|Weapon)/i.test(name) && !/Power|Force|Storm|Shield|Astartes/i.test(name)) return false - if (/(Grenade|Missile)/i.test(name)) return true - if (/(Launcher)/i.test(name)) return true - if (keepWord.test(name)) return true - // Armor pieces - if (/(Shield|Armour|Armor|Helmet|Helm)/i.test(name)) return true - return false -} - -function normalizeEntry(e){ - const name = cleanName(e.name, e.desc) - let req = Number(e.req||0) - if (!Number.isFinite(req) || req<0) req = 0 - const renown = /Respected|Distinguished|Famed|Hero/.test(e.renown||'') ? e.renown : 'None' - const category = e.category || 'Gear' - return { ...e, name, req, renown, category } -} - -function main(){ - const input = process.argv[2] || path.resolve('public/deathwatch-armoury.json') - const output = process.argv[3] || input - const src = loadJson(input) - const cleaned = [] - const seen = new Set() - for (const e of src){ - const n = normalizeEntry(e) - if (!isLikelyItem(n.name, n.category)) continue - const key = n.name.toLowerCase() - if (seen.has(key)) continue - seen.add(key) - cleaned.push(n) +/** Parse raw weapon data */ +const parseWeaponData = (data) => { + // Split into lines and filter out empty ones + const lines = data.split('\n').filter(line => line.trim()); + const weapons = []; + + // Skip header + for (let i = 1; i < lines.length; i++) { + const cols = lines[i].split('\t').map(col => col.trim()); + if (cols.length >= 8) { + weapons.push({ + name: cols[0], + class: cols[1], + damage: cols[2], + cost: parseInt(cols[3]) || 0, + availability: cols[4], + gameSetting: cols[5], + book: cols[6], + pageNo: cols[7] + }); + } } - // Sort by category then name - cleaned.sort((a,b)=> String(a.category).localeCompare(String(b.category)) || a.name.localeCompare(b.name)) - saveJson(output, cleaned) - console.log('Cleaned items:', cleaned.length, 'from', src.length, '->', output) + return weapons; +}; + +/** Core Deathwatch equipment types */ +const weaponData = ` +Name Class Damage Cost Availability Game Setting Book Page No. +${rawWeaponData} +`.trim(); + +const weapons = parseWeaponData(weaponData); + +// Use Map to deduplicate items, preferring Living Errata versions +const uniqueWeapons = new Map(); + +weapons.forEach(weapon => { + const key = weapon.name; + const existing = uniqueWeapons.get(key); + + // Prefer Living Errata over Core Rulebook + if (!existing || weapon.book.includes('Living Errata')) { + uniqueWeapons.set(key, weapon); + } +}); + +const mapAvailabilityToRenown = (availability) => { + const map = { + 'Any': 'None', + 'Common': 'None', + 'Scarce': 'None', + 'Rare': 'Respected', + 'Very Rare': 'Distinguished', + 'Extremely Rare': 'Hero', + 'Near Unique': 'Hero', + 'Unique': 'Legend', + 'Distinguished': 'Distinguished', + 'Famed': 'Hero', + 'Respected': 'Respected', + 'Hero': 'Hero' + }; + return map[availability] || 'Distinguished'; +}; + +const mapClassToCategory = (itemClass) => { + if (itemClass.toLowerCase().includes('melee')) return 'Melee Weapon'; + if (itemClass.toLowerCase().includes('pistol')) return 'Ranged Weapon'; + if (itemClass.toLowerCase().includes('basic') || + itemClass.toLowerCase().includes('heavy') || + itemClass.toLowerCase().includes('mounted')) return 'Ranged Weapon'; + if (itemClass.toLowerCase().includes('thrown')) return 'Grenade'; + return 'Other'; +}; + +// Group items by category +const generateShopItems = () => { + const items = Array.from(uniqueWeapons.values()).map(w => ({ + name: w.name, + req: w.cost, + renown: mapAvailabilityToRenown(w.availability), + category: mapClassToCategory(w.class), + stats: { + damage: w.damage, + class: w.class, + source: `${w.book} p${w.pageNo}` + } + })); + + return { + armor: [ + { name: "Astartes Power Armour", req: 40, renown: "None", category: "Armor" }, + { name: "Astartes Mk6 Corvus Power Armour", req: 45, renown: "Distinguished", category: "Armor" }, + +// Convert the raw weapons into categorized shop items +const generateShopItems = () => { + const items = Array.from(uniqueWeapons.values()).map(w => ({ + name: w.name, + req: w.cost, + renown: mapAvailabilityToRenown(w.availability), + category: mapClassToCategory(w.class), + stats: { + damage: w.damage, + class: w.class, + source: `${w.book} p${w.pageNo}` + } + })); + + // Group items by category + const categorized = { + armor: [ + { name: "Astartes Power Armour", req: 40, renown: "None", category: "Armor" }, + { name: "Astartes Mk6 Corvus Power Armour", req: 45, renown: "Distinguished", category: "Armor" }, + { name: "Astartes Mk7 Aquila Power Armour", req: 45, renown: "Distinguished", category: "Armor" }, + { name: "Astartes Mk8 Errant Power Armour", req: 50, renown: "Distinguished", category: "Armor" }, + { name: "Armour of the Remorseless Crusader", req: 70, renown: "Hero", category: "Armor" }, + { name: "Astartes Scout Armour", req: 30, renown: "None", category: "Armor" }, + { name: "Astartes Terminator Armour", req: 100, renown: "Hero", category: "Armor" }, + { name: "Astartes Artificer Armour", req: 60, renown: "Distinguished", category: "Armor" }, + { name: "Astartes Storm Shield", req: 35, renown: "Distinguished", category: "Armor" }, + { name: "Astartes Combat Shield", req: 20, renown: "Distinguished", category: "Armor" }, + { name: "Astartes Iron Halo", req: 45, renown: "Hero", category: "Armor" }, + { name: "Astartes Sacred Shield", req: 40, renown: "Hero", category: "Armor" } + ], + rangedWeapons: [ + { name: "Astartes Bolt Pistol", req: 15, renown: "None", category: "Ranged Weapon" }, + { name: "Astartes Boltgun", req: 20, renown: "None", category: "Ranged Weapon" }, + { name: "Astartes Heavy Bolter", req: 30, renown: "None", category: "Ranged Weapon" }, + { name: "Astartes Storm Bolter", req: 25, renown: "Distinguished", category: "Ranged Weapon" }, + { name: "Angelus Bolter", req: 25, renown: "Respected", category: "Ranged Weapon" }, + { name: "Stalker Pattern Boltgun", req: 30, renown: "Distinguished", category: "Ranged Weapon" }, + { name: "Hellfire Bolter", req: 35, renown: "Distinguished", category: "Ranged Weapon" }, + { name: "Plasma Pistol", req: 30, renown: "Distinguished", category: "Ranged Weapon" }, + { name: "Plasma Gun", req: 35, renown: "Distinguished", category: "Ranged Weapon" }, + { name: "Plasma Cannon", req: 45, renown: "Hero", category: "Ranged Weapon" }, + { name: "Meltagun", req: 35, renown: "Distinguished", category: "Ranged Weapon" }, + { name: "Multi-Melta", req: 45, renown: "Hero", category: "Ranged Weapon" }, + { name: "Flamer", req: 25, renown: "None", category: "Ranged Weapon" }, + { name: "Heavy Flamer", req: 35, renown: "Distinguished", category: "Ranged Weapon" }, + { name: "Lascannon", req: 40, renown: "Distinguished", category: "Ranged Weapon" }, + { name: "Missile Launcher", req: 40, renown: "Distinguished", category: "Ranged Weapon" }, + { name: "Vengeance Launcher", req: 45, renown: "Hero", category: "Ranged Weapon" }, + { name: "Astartes Grenade Launcher", req: 30, renown: "Distinguished", category: "Ranged Weapon" } + ], + meleeWeapons: [ + { name: "Chainsword", req: 15, renown: "None", category: "Melee Weapon" }, + { name: "Eviscerator", req: 35, renown: "Distinguished", category: "Melee Weapon" }, + { name: "Power Sword", req: 25, renown: "Distinguished", category: "Melee Weapon" }, + { name: "Power Axe", req: 25, renown: "Distinguished", category: "Melee Weapon" }, + { name: "Power Maul", req: 25, renown: "Distinguished", category: "Melee Weapon" }, + { name: "Power Lance", req: 30, renown: "Distinguished", category: "Melee Weapon" }, + { name: "Power Fist", req: 35, renown: "Distinguished", category: "Melee Weapon" }, + { name: "Lightning Claw", req: 35, renown: "Distinguished", category: "Melee Weapon" }, + { name: "Thunder Hammer", req: 40, renown: "Hero", category: "Melee Weapon" }, + { name: "Force Sword", req: 35, renown: "Distinguished", category: "Melee Weapon" }, + { name: "Force Axe", req: 35, renown: "Distinguished", category: "Melee Weapon" }, + { name: "Force Halberd", req: 35, renown: "Distinguished", category: "Melee Weapon" }, + { name: "Force Staff", req: 35, renown: "Distinguished", category: "Melee Weapon" }, + { name: "Combat Knife", req: 10, renown: "None", category: "Melee Weapon" } + ], + ammunition: [ + { name: "Bolt Pistol Magazine", req: 2, renown: "None", category: "Ammunition" }, + { name: "Boltgun Magazine", req: 2, renown: "None", category: "Ammunition" }, + { name: "Storm Bolter Magazine", req: 3, renown: "None", category: "Ammunition" }, + { name: "Heavy Bolter Belt", req: 5, renown: "None", category: "Ammunition" }, + { name: "Hellfire Rounds", req: 8, renown: "Distinguished", category: "Ammunition" }, + { name: "Metal Storm Rounds", req: 8, renown: "Distinguished", category: "Ammunition" }, + { name: "Dragonfire Rounds", req: 8, renown: "Distinguished", category: "Ammunition" }, + { name: "Vengeance Rounds", req: 8, renown: "Distinguished", category: "Ammunition" }, + { name: "Kraken Penetrator Rounds", req: 8, renown: "Distinguished", category: "Ammunition" }, + { name: "Plasma Charge Pack", req: 5, renown: "None", category: "Ammunition" }, + { name: "Melta Charge", req: 5, renown: "None", category: "Ammunition" }, + { name: "Promethium Tank", req: 3, renown: "None", category: "Ammunition" }, + { name: "Missile Pack", req: 5, renown: "None", category: "Ammunition" }, + { name: "Krak Missiles", req: 8, renown: "None", category: "Ammunition" }, + { name: "Frag Missiles", req: 6, renown: "None", category: "Ammunition" }, + { name: "Vengeance Launcher Shells", req: 6, renown: "Distinguished", category: "Ammunition" } + ] +}; + +const path = require('path'); +const fs = require('fs'); + +if (require.main === module) { + const output = path.resolve('public/deathwatch-armoury.json'); + fs.writeFileSync(output, JSON.stringify(coreItems, null, 2), 'utf8'); + console.log('Wrote core items to:', output); } -if (require.main === module) main() +module.exports = coreItems; diff --git a/scripts/fetch-armoury.js b/scripts/fetch-armoury.js new file mode 100644 index 0000000..a7dda92 --- /dev/null +++ b/scripts/fetch-armoury.js @@ -0,0 +1,86 @@ +const axios = require('axios'); +const cheerio = require('cheerio'); + +async function fetchWeaponData() { + try { + const response = await axios.get('http://www.40krpgtools.com/armoury/weapons/'); + const html = response.data; + const $ = cheerio.load(html); + + const weapons = []; + + // Select the table and iterate through rows + $('table tr').each((i, row) => { + if (i === 0) return; // Skip header row + + const cols = $(row).find('td'); + if (cols.length < 8) return; // Skip incomplete rows + + weapons.push({ + name: $(cols[0]).text().trim(), + class: $(cols[1]).text().trim(), + damage: $(cols[2]).text().trim(), + cost: parseInt($(cols[3]).text().trim()) || 0, + availability: $(cols[4]).text().trim(), + gameSetting: $(cols[5]).text().trim(), + book: $(cols[6]).text().trim(), + pageNo: $(cols[7]).text().trim() + }); + }); + + // Filter for Deathwatch items only + const deathwatchItems = weapons.filter(w => + w.gameSetting === 'Deathwatch' && + w.name.startsWith('Astartes') + ); + + // Convert to our shop format + const shopItems = deathwatchItems.map(w => ({ + name: w.name, + req: w.cost, + renown: mapAvailabilityToRenown(w.availability), + category: mapClassToCategory(w.class), + stats: { + damage: w.damage, + class: w.class, + source: `${w.book} p${w.pageNo}` + } + })); + + return shopItems; + } catch (error) { + console.error('Error fetching weapon data:', error); + return []; + } +} + +function mapAvailabilityToRenown(availability) { + const map = { + 'Any': 'None', + 'Common': 'None', + 'Scarce': 'None', + 'Rare': 'Respected', + 'Very Rare': 'Distinguished', + 'Extremely Rare': 'Hero', + 'Near Unique': 'Hero', + 'Unique': 'Legend' + }; + return map[availability] || 'Distinguished'; +} + +function mapClassToCategory(itemClass) { + if (itemClass.includes('Melee')) return 'Melee Weapon'; + if (itemClass.includes('Pistol')) return 'Ranged Weapon'; + if (itemClass.includes('Basic') || itemClass.includes('Heavy')) return 'Ranged Weapon'; + return 'Other'; +} + +if (require.main === module) { + fetchWeaponData() + .then(items => { + console.log(JSON.stringify(items, null, 2)); + }) + .catch(console.error); +} + +module.exports = { fetchWeaponData }; diff --git a/scripts/parse-armor.js b/scripts/parse-armor.js new file mode 100644 index 0000000..0bfae58 --- /dev/null +++ b/scripts/parse-armor.js @@ -0,0 +1,194 @@ +const armorData = ` +Name Type Protection Cost Availability Game Setting Book Page No. +Armour of the Remorseless Crusader Power 12 all 70 Any Deathwatch Deathwatch Core Rulebook 167 +Astartes Artificer Armour Power 12 all 60 Hero Deathwatch Deathwatch Core Rulebook 163 +Astartes Mk 1 Thunder Power Armour Power 0 / 6 / 8 / 4 0 Any Deathwatch Rites of Battle 151 +Astartes Mk 2 Crusade Power Armour Power 0 / 7 / 9 / 7 0 Any Deathwatch Rites of Battle 151 +Astartes Mk 3 Iron Power Armour Power 0 / 9 / 10 / 9 0 Any Deathwatch Rites of Battle 151 +Astartes Mk 4 Maximus Power Armour Power 0 / 7 / 9 / 7 0 Any Deathwatch Rites of Battle 151 +Astartes Mk 5 Heresy Power Armour Power 0 / 8 / 9 / 8 0 Any Deathwatch Rites of Battle 151 +Astartes Mk 6 Corvus Power Armour Power 0 / 8 / 9 / 8 0 Any Deathwatch Rites of Battle 151 +Astartes Mk 7 Aquilla Power Armour Power 0 / 8 / 10 / 8 0 Any Deathwatch Rites of Battle 151 +Astartes Mk 8 Errant Power Armour Power 0 / 8 / 11 / 8 0 Any Deathwatch Rites of Battle 151 +Astartes Mk1 Power Armour Helm Power 6 / 0 / 0 / 0 0 Any Deathwatch Rites of Battle 151 +Astartes Mk2 Power Armour Helm Power 7 / 0 / 0 / 0 0 Any Deathwatch Rites of Battle 151 +Astartes Mk3 Power Armour Helm Power 9 / 0 / 0 / 0 0 Any Deathwatch Rites of Battle 151 +Astartes Mk4 Power Armour Helm Power 7 / 0 / 0 / 0 0 Any Deathwatch Rites of Battle 151 +Astartes Mk5 Power Armour Helm Power 8 / 0 / 0 / 0 0 Any Deathwatch Rites of Battle 151 +Astartes Mk6 Power Armour Helm Power 8 / 0 / 0 / 0 0 Any Deathwatch Rites of Battle 151 +Astartes Mk7 Power Armour Helm Power 8 / 0 / 0 / 0 0 Any Deathwatch Rites of Battle 151 +Astartes Mk8 Power Armour Helm Power 8 / 0 / 0 / 0 0 Any Deathwatch Rites of Battle 151 +Astartes Power Armour Power 0 / 8 / 10 / 8 0 Any Deathwatch Deathwatch Core Rulebook 160 +Astartes Power Armour Helm Power 8 / 0 / 0 / 0 0 Any Deathwatch Deathwatch Core Rulebook 160 +Astartes Scout Armour Carapace 0 / 6 / 6 / 0 0 Any Deathwatch Deathwatch Core Rulebook 163 +Astartes Storm Shield - Protective Shield 0 / 0LA 4RA / 4 / 0 35 Distinguished Deathwatch Deathwatch Core Rulebook 166 +Astartes Tactical Dreadnaught-Terminator Armour Power 0 / 14 / 14 / 14 100 Famed Deathwatch Deathwatch Core Rulebook 164 +Astartes Tactical Dreadnaught-Terminator Armour Helm Power 14 / 0 / 0 / 0 100 Famed Deathwatch Deathwatch Core Rulebook 164 +Astartes Terminator Armour Power 14 all 100 Famed Deathwatch Deathwatch Core Rulebook 164 +Auran Golden Saurian Scale Armour Primitive 6 all 0 Any Deathwatch The Emperor Protects 48 +Auran Saurian Scale Armour Primitive 4 all 0 Any Deathwatch The Emperor Protects 46 +Chaos Armour Plating Other 6 all 0 Any Deathwatch Mark of the Xenos 91 +Chaos Bones of Subersion Other 9 all 0 Any Deathwatch Mark of the Xenos 86 +Chaos Flak Robes and Brazen Carapace Carapace 5 / 5 / 6 / 4 0 Any Deathwatch Deathwatch Core Rulebook 364 +Chaos Slinnar Obsidian Shell Other 8 all 0 Any Deathwatch Mark of the Xenos 92 +Chaos Warded Adamantine Shell Other 9 all 0 Any Deathwatch Mark of the Xenos 95 +CM Power Armour Power 8 / 8 / 10 / 8 0 Any Deathwatch Mark of the Xenos 114 +Daemon Iron Hide Other 13 all 0 Any Deathwatch Mark of the Xenos 101 +Deathwatch Scout Armor Carapace 0 / 6 / 6 / 6 0 Any Deathwatch Rites of Battle 142 +Diagnostor Helmet Power 8 / 0 / 0 / 0 15 Any Deathwatch Deathwatch Core Rulebook 165 +Dmn Armour of Chaos Power 12 all 0 Any Deathwatch Deathwatch Core Rulebook 362 +Dmn Brazen Chaos Armour Other 12 all 0 Any Deathwatch The Emperor Protects 136 +Fenris Pattern Wolf Helm Power 8 / 0 / 0 / 0 0 Respected Deathwatch Rites of Battle 143 +Nec Metallic Exoskeleton Necron 8 all 0 Any Deathwatch The Emperor Protects 94 +Nec Metallic Shell Necron 10 all 0 Any Deathwatch The Emperor Protects 94 +Obliterator Warped Mechnical Flesh Other 12 all 0 Any Deathwatch Mark of the Xenos 120 +Ork Eavy Armour Ork 6 / 4 / 6 / 4 0 Any Deathwatch Mark of the Xenos 57 +Ork Flak Armour Ork 0 / 0 / 2 / 0 0 Any Deathwatch Mark of the Xenos 57 +Ork Mega Armour Ork 6 / 10 / 14 / 10 0 Any Deathwatch Mark of the Xenos 57 +Rad Corrupted Mechnical Flesh Other 7 all 0 Any Deathwatch The Emperor Protects 91 +Scales Primitive 2 all 0 Any Deathwatch The Emperor Protects 50 +Scaly Hide Primitive 4 all 0 Any Deathwatch The Emperor Protects 46 +Skull Helm Power 9 / 0 / 0 / 0 0 Any Deathwatch Rites of Battle 143 +Tau Fire Warrior Armour Carapace 6 all 0 Any Deathwatch Deathwatch Core Rulebook 368 +Tau Gun Drone Armour Natural 5 all 0 Any Deathwatch Deathwatch Core Rulebook 367 +Tau Pathfinder Armour Carapace 7 / 0 / 7 / 0 0 Any Deathwatch Mark of the Xenos 25 +Tau XV-8 Crisis Battlesuit Power 9 all 0 Any Deathwatch Mark of the Xenos 9 +Tau XV-88 Broadside Battlesuit Power 12 all 0 Any Deathwatch Mark of the Xenos 6 +Tau XV15 Stealth Suit (Limbs) Power 0 / 7 / 0 / 7 0 Any Deathwatch Deathwatch Core Rulebook 367 +Tau XV15 Stealth Suit (Top) Power 8 / 0 / 8 / 0 0 Any Deathwatch Deathwatch Core Rulebook 367 +Tau XV8 Crisis Suit Power 9 all 0 Any Deathwatch Deathwatch Core Rulebook 366 +Tyr Bonded Exoskeleton Natural 10 all 0 Any Deathwatch Deathwatch Core Rulebook 370 +Tyr Chitinous Carapace Natural 3 all 0 Any Deathwatch Deathwatch Core Rulebook 371 +Tyr Exoskeleton Natural 2 all 0 Any Deathwatch Mark of the Xenos 43 +Tyr Hardened Carapace Natural 6 all 0 Any Deathwatch Mark of the Xenos 40 +Tyr Light Reinforced Chitin Natural 4 all 0 Any Deathwatch Mark of the Xenos 39 +Tyr Medium Reinforced Chitin Natural 6 all 0 Any Deathwatch Mark of the Xenos 37 +Tyr Reinforced Chitin Natural 8 all 0 Any Deathwatch Deathwatch Core Rulebook 371 +Tyr Thickened Scales Natural 10 all 0 Any Deathwatch Mark of the Xenos 46 +Vespid Chitin Natural 3 all 0 Any Deathwatch Mark of the Xenos 26 +Xenos Hardened Hide Natural 6 all 0 Any Deathwatch Mark of the Xenos 66 +Xenos Scaly Hide Natural 3 all 0 Any Deathwatch Mark of the Xenos 63 +Xenos Slimey Hide Natural 2 all 0 Any Deathwatch Mark of the Xenos 68 +Xenos Thick Scales Natural 5 all 0 Any Deathwatch Mark of the Xenos 65`; + +// Parse armor data into structured objects +const parseArmor = (data) => { + const lines = data.split('\n').filter(line => line.trim()); + return lines.map(line => { + const cols = line.split('\t').map(col => col.trim()); + if (cols.length >= 8) { + return { + name: cols[0], + type: cols[1], + protection: cols[2], + cost: parseInt(cols[3]) || 0, + availability: cols[4], + gameSetting: cols[5], + book: cols[6], + pageNo: cols[7] + }; + } + return null; + }).filter(a => a !== null); +}; + +// Map armor types to categories +const typeToCategory = (armorType) => { + const lowerType = armorType.toLowerCase(); + if (lowerType.includes('power')) return 'Power Armor'; + if (lowerType.includes('carapace')) return 'Carapace Armor'; + if (lowerType.includes('primitive')) return 'Primitive Armor'; + if (lowerType.includes('natural')) return 'Natural Armor'; + if (lowerType.includes('shield')) return 'Shields'; + if (lowerType === 'necron') return 'Xenos Armor'; + if (lowerType === 'ork') return 'Xenos Armor'; + return 'Other Armor'; +}; + +// Parse protection values into a structured format +const parseProtection = (protection) => { + if (protection.includes('all')) { + const value = parseInt(protection.split(' ')[0]); + return { + head: value, + arms: value, + body: value, + legs: value + }; + } + + const parts = protection.split('/').map(p => p.trim()); + return { + head: parseInt(parts[0]) || 0, + arms: parseInt(parts[1]) || 0, + body: parseInt(parts[2]) || 0, + legs: parseInt(parts[3]) || 0 + }; +}; + +// Map availability levels to renown levels (using the same mapping as weapons) +const availabilityToRenown = { + 'Any': 'None', + 'Common': 'None', + 'Scarce': 'None', + 'Rare': 'Respected', + 'Very Rare': 'Distinguished', + 'Extremely Rare': 'Hero', + 'Near Unique': 'Hero', + 'Unique': 'Legend', + 'Distinguished': 'Distinguished', + 'Famed': 'Hero', + 'Respected': 'Respected', + 'Hero': 'Hero' +}; + +// Process armor into shop format +const processArmor = () => { + const armor = parseArmor(armorData); + // Use a Map to deduplicate items (keeping only the Living Errata version when available) + const uniqueArmor = new Map(); + + armor.forEach(item => { + const key = item.name; + const existing = uniqueArmor.get(key); + + // Prefer Living Errata over Core Rulebook + if (!existing || item.book.includes('Living Errata')) { + uniqueArmor.set(key, { + name: item.name, + req: parseInt(item.cost), + renown: availabilityToRenown[item.availability] || 'Distinguished', + category: typeToCategory(item.type), + stats: { + type: item.type, + protection: parseProtection(item.protection), + source: `${item.book} p${item.pageNo}` + } + }); + } + }); + + return Array.from(uniqueArmor.values()); +}; + +// Process armor and organize by category +const armor = processArmor(); +const categorizedArmor = { + powerArmor: armor.filter(item => item.category === 'Power Armor'), + carapaceArmor: armor.filter(item => item.category === 'Carapace Armor'), + primitiveArmor: armor.filter(item => item.category === 'Primitive Armor'), + naturalArmor: armor.filter(item => item.category === 'Natural Armor'), + xenosArmor: armor.filter(item => item.category === 'Xenos Armor'), + shields: armor.filter(item => item.category === 'Shields'), + otherArmor: armor.filter(item => item.category === 'Other Armor') +}; + +if (require.main === module) { + const fs = require('fs'); + const path = require('path'); + const output = path.resolve('public/deathwatch-armor.json'); + fs.writeFileSync(output, JSON.stringify(categorizedArmor, null, 2), 'utf8'); + console.log('Wrote armor data to:', output); +} + +module.exports = { categorizedArmor, processArmor }; diff --git a/scripts/parse-weapons.js b/scripts/parse-weapons.js new file mode 100644 index 0000000..38c0f4c --- /dev/null +++ b/scripts/parse-weapons.js @@ -0,0 +1,128 @@ +const weaponsData = ` +Angelus Bolter Basic - Bolt Range 50m; S/3/-; 1d10+9 X; Pen 6; Clip 36; Reload 2 Full; Tearing 25 Respected Deathwatch First Founding 97 +Argrax Clawed Hooves Natural - Primitive 1d10 I; Pen 0; 0 Any Deathwatch The Emperor Protects 46 +Armour of the Remorseless Crusader (Forearm Sword) One-Handed Melee - Primitive 1d10+8 R; Pen 6; +10 to hit; Sanctified 70 Hero Deathwatch Deathwatch Core Rulebook 167 +Artificer Omnissian Axe One-Handed Melee - Power 1d10+9 E; Pen 7; Power Field, Unbalanced 25 Distinguished Deathwatch First Founding 99 +Astartes Anti-Plant Grenade Thrown - Grenade 3d10 E; Pen 0; Blast (3) 18 Any Deathwatch Living Errata v1.1 136 +Astartes Armoursbane Missile Launcher Heavy - Launch Range 200m; S/-/-; 0d0 S; Pen 0; Clip 1; Reload 2 Full; Two handed; 15 Any Deathwatch Living Errata v1.1 137 +Astartes Assault Cannon Mounted - Solid Projectile Range 150m; -/-/10; 2d10+12 I; Pen 6; Clip 200; Reload 3 Full; Tearing, Devastating (1) 30 Famed Deathwatch Living Errata v1.1 149 +Astartes Assault Shotgun Basic - Solid Projectile Range 30m; S/3/5; 1d10+10 I; Pen 4; Clip 20; Reload 1 Full; Two handed; Reliable, Scatter 7 Any Deathwatch Living Errata v1.1 136 +Astartes Blind Grenade Thrown - Grenade 0d0 S; Pen 0; Smoke (10) 10 Any Deathwatch Living Errata v1.1 150 +Astartes Bolt Pistol Pistol - Bolt Range 30m; S/2/-; 1d10+9 X; Pen 4; Clip 14; Reload 1 Full; Tearing 5 Any Deathwatch Living Errata v1.1 146 +Astartes Bolter-Godwyn Basic - Bolt Range 100m; S/3/-; 1d10+9 X; Pen 4; Clip 28; Reload 1 Full; Two handed; Tearing 5 Any Deathwatch Living Errata v1.1 146 +Astartes Boltgun-Stalker Basic - Bolt Range 200m; S/-/-; 1d10+9 X; Pen 4; Clip 24; Reload 1 Full; Two handed; Accurate, Tearing 15 Respected Deathwatch Living Errata v1.1 146 +Astartes Chainfist One-Handed Melee - Power 2d10+"2*SB" E; Pen 10; Power Field, Tearing, Unwieldy 40 Famed Deathwatch Living Errata v1.1 154 +Astartes Chainsword One-Handed Melee - Chain 1d10+3 R; Pen 3; Balanced, Tearing 5 Any Deathwatch Living Errata v1.1 153 +Astartes Combat Knife One-Handed Melee - Primitive 1d10 R; Pen 2; 3 Any Deathwatch Living Errata v1.1 155 +Astartes Combat Shield One-Handed Melee - Primitive 1d5+1 I; Pen 0; Balanced 20 Distinguished Deathwatch Living Errata v1.1 166 +Astartes Combi-Weapon Basic - Bolt Range 100m; S/4/-; 1d10+9 X; Pen 4; Clip 28; Reload 1 Full; Two handed; Tearing 15 Respected Deathwatch Living Errata v1.1 146 +Astartes Conversion Beamer Heavy - Exotic Range 100m; S/-/-; 0d0 E; Pen 0; Clip 4; Reload 2 Full; Two handed; 40 Hero Deathwatch Living Errata v1.1 152 +Astartes Cyclone Missile Launcher Mounted - Launch Range 300m; S/2/-; 0d0 S; Pen 0; Clip 12; Reload 3 Full; 25 Famed Deathwatch Living Errata v1.1 152 +Astartes Digital Flamer Pistol - Exotic Range 4m; S/-/-; 1d10+9 E; Pen 4; Clip 1; Reload 1d5 Hours; Flame, Spray 35 Famed Deathwatch Living Errata v1.1 153 +Astartes Chainfist One-Handed Melee - Power 2d10+"2*SB" E; Pen 10; Power Field, Tearing, Unwieldy 40 Famed Deathwatch Living Errata v1.1 154 +Astartes Chainfist One-Handed Melee - Power 2d10+"2*SB" E; Pen 10; Power Field, Tearing 40 Famed Deathwatch Deathwatch Core Rulebook 154 +Astartes Chainsword One-Handed Melee - Chain 1d10+3 R; Pen 4; Balanced, Tearing 5 Any Deathwatch Deathwatch Core Rulebook 153 +Astartes Chainsword One-Handed Melee - Chain 1d10+3 R; Pen 3; Balanced, Tearing 5 Any Deathwatch Living Errata v1.1 153 +Astartes Combat Knife One-Handed Melee - Primitive 1d10 R; Pen 2; 3 Any Deathwatch Living Errata v1.1 155 +Astartes Combat Knife One-Handed Melee - Primitive 1d10+2 R; Pen 2; 3 Any Deathwatch Deathwatch Core Rulebook 155 +Astartes Combat Shield One-Handed Melee - Primitive 1d5+1 I; Pen 0; Balanced 20 Distinguished Deathwatch Living Errata v1.1 166 +Astartes Combat Shield One-Handed Melee - Primitive 1d5+1 I; Pen 0; Balanced 20 Distinguished Deathwatch Deathwatch Core Rulebook 166 +Astartes Combi-Weapon Basic - Bolt Range 100m; S/2/4; 2d10+5 X; Pen 5; Clip 28; Reload 1 Full; Two handed; Tearing 15 Respected Deathwatch Deathwatch Core Rulebook 146 +`; + +// Parse weapon data into structured objects +const parseWeapons = (data) => { + const lines = data.split('\n').filter(line => line.trim()); + return lines.map(line => { + const cols = line.split('\t').map(col => col.trim()); + if (cols.length >= 8) { + return { + name: cols[0], + class: cols[1], + damage: cols[2], + cost: parseInt(cols[3]) || 0, + availability: cols[4], + gameSetting: cols[5], + book: cols[6], + pageNo: cols[7] + }; + } + return null; + }).filter(w => w !== null); +}; + +// Map availability levels to renown levels +const availabilityToRenown = { + 'Any': 'None', + 'Common': 'None', + 'Scarce': 'None', + 'Rare': 'Respected', + 'Very Rare': 'Distinguished', + 'Extremely Rare': 'Hero', + 'Near Unique': 'Hero', + 'Unique': 'Legend', + 'Distinguished': 'Distinguished', + 'Famed': 'Hero', + 'Respected': 'Respected', + 'Hero': 'Hero' +}; + +// Map weapon classes to shop categories +const classToCategory = (itemClass) => { + const lowerClass = itemClass.toLowerCase(); + if (lowerClass.includes('melee')) return 'Melee Weapon'; + if (lowerClass.includes('pistol')) return 'Ranged Weapon'; + if (lowerClass.includes('basic') || + lowerClass.includes('heavy') || + lowerClass.includes('mounted')) return 'Ranged Weapon'; + if (lowerClass.includes('thrown')) return 'Grenade'; + return 'Other'; +}; + +// Process weapons into shop format +const processWeapons = () => { + const weapons = parseWeapons(weaponsData); + // Use a Map to deduplicate items (keeping only the Living Errata version when available) + const uniqueWeapons = new Map(); + + weapons.forEach(weapon => { + const key = weapon.name; + const existing = uniqueWeapons.get(key); + + // Prefer Living Errata over Core Rulebook + if (!existing || weapon.book.includes('Living Errata')) { + uniqueWeapons.set(key, { + name: weapon.name, + req: parseInt(weapon.cost), + renown: availabilityToRenown[weapon.availability] || 'Distinguished', + category: classToCategory(weapon.class), + stats: { + damage: weapon.damage, + class: weapon.class, + source: `${weapon.book} p${weapon.pageNo}` + } + }); + } + }); + + return Array.from(uniqueWeapons.values()); +}; + +// Process weapons and organize by category +const weapons = processWeapons(); +const categorizedWeapons = { + rangedWeapons: weapons.filter(item => item.category === 'Ranged Weapon'), + meleeWeapons: weapons.filter(item => item.category === 'Melee Weapon'), + grenades: weapons.filter(item => item.category === 'Grenade'), + other: weapons.filter(item => item.category === 'Other') +}; + +if (require.main === module) { + const fs = require('fs'); + const path = require('path'); + const output = path.resolve('public/deathwatch-weapons.json'); + fs.writeFileSync(output, JSON.stringify(categorizedWeapons, null, 2), 'utf8'); + console.log('Wrote weapon data to:', output); +} + +module.exports = { categorizedWeapons, processWeapons }; diff --git a/src/components/PlayerTab.jsx b/src/components/PlayerTab.jsx index 75b6e71..ad16490 100755 --- a/src/components/PlayerTab.jsx +++ b/src/components/PlayerTab.jsx @@ -5,6 +5,8 @@ import logger, { debug, info, warn, logApiCall, logApiError, logUserAction } fro const STORAGE_SHOP_AUTHED = 'dw:shop:authedPlayer'; const STORAGE_SHOP_PLAYERS = 'dw:shop:players:v1'; +const RANK_ORDER = ['None','Respected','Distinguished','Famed','Hero']; + const GM_PASSWORD = 'bongo'; function safeGet(key) { @@ -432,6 +434,27 @@ function PlayerTab({ ) } + + function GmSetXP({ name, onSet }) { + const [xp, setXp] = useState('') + return ( +
    + setXp(e.target.value)} /> + +
    + ) + } + + function GmSetXPSpent({ name, onSet }) { + const [xpSpent, setXpSpent] = useState('') + return ( +
    + setXpSpent(e.target.value)} /> + +
    + ) + } + function GmSetRenown({ name, value, onSet }) { const [renown, setRenown] = useState(value) return ( @@ -454,6 +477,50 @@ function PlayerTab({ } // GM action handlers + async function gmSetXP(name, xp) { + console.log('PlayerTab: gmSetXP', { name, xp }); + const player = players.find(p => p.name === name) + if (!player) { + console.error('PlayerTab: player not found') + flash('Player not found') + return + } + try { + const { data } = await axios.put(`/api/players/${name}`, { + tabInfo: { ...player.tabInfo, xp } + }, { headers: buildHeaders() }) + + const res = await axios.get('/api/players', { headers: buildHeaders() }); + setPlayers(res.data); + flash('XP updated') + } catch (e) { + console.error('PlayerTab: gmSetXP failed', e.response?.data || e.message) + flash('Failed to update XP') + } + } + + async function gmSetXPSpent(name, xpSpent) { + console.log('PlayerTab: gmSetXPSpent', { name, xpSpent }); + const player = players.find(p => p.name === name) + if (!player) { + console.error('PlayerTab: player not found') + flash('Player not found') + return + } + try { + const { data } = await axios.put(`/api/players/${name}`, { + tabInfo: { ...player.tabInfo, xpSpent } + }, { headers: buildHeaders() }) + + const res = await axios.get('/api/players', { headers: buildHeaders() }); + setPlayers(res.data); + flash('XP Spent updated') + } catch (e) { + console.error('PlayerTab: gmSetXPSpent failed', e.response?.data || e.message) + flash('Failed to update XP Spent') + } + } + async function gmAddOrUpdatePlayer(name, rp, pw) { console.log('PlayerTab: gmAddOrUpdatePlayer', { name, rp, pwProvided: !!pw }); try { @@ -536,8 +603,6 @@ function PlayerTab({ } } - const RANK_ORDER = ['None','Respected','Distinguished','Famed','Hero'] - function normalizeRank(r) { const s = String(r||'').trim(); const found = RANK_ORDER.find(x=>x.toLowerCase()===s.toLowerCase()); return found || (s? s : 'None') } // Added: helper to build request headers (session + GM secret when GM unlocked) @@ -985,12 +1050,26 @@ function PlayerTab({
    Set Requisition Points (RP)
    {players.map(player => (
    - {player.name} + {player.name} (Current: {player.tabInfo?.rp || 0} RP)
    ))} + {/* Set XP */} +
    +
    Set Experience Points (XP)
    + {players.map(player => ( +
    + {player.name} (Total XP: {player.tabInfo?.xp || 0}, Spent: {player.tabInfo?.xpSpent || 0}) +
    + + +
    +
    + ))} +
    + {/* Set Renown */}
    Set Renown
    diff --git a/src/components/RequisitionShop.jsx b/src/components/RequisitionShop.jsx index 3be5a51..613f3cc 100755 --- a/src/components/RequisitionShop.jsx +++ b/src/components/RequisitionShop.jsx @@ -46,57 +46,82 @@ export default function RequisitionShop({ authedPlayer, sessionId }) { },[items]) const [categoryFilter, setCategoryFilter] = useState('All') - // Items are sourced from a single JSON file; disable local persistence - // useEffect(()=>{ safeSet(STORAGE_SHOP_ITEMS, items) },[items]) - // Remove localStorage for players - // Always fetch players from backend on mount and after updates + // Fetch both players and shop items from the backend useEffect(() => { - async function fetchPlayers() { + async function fetchData() { try { + // Fetch players console.log('Fetching players with sessionId:', sessionId); - const response = await axios.get('/api/players', { headers: { 'x-session-id': sessionId || '' } }); - console.log('Fetched players:', response.data); - setPlayers(response.data); + const playersResponse = await axios.get('/api/players', { + headers: { 'x-session-id': sessionId || '' } + }); + console.log('Fetched players:', playersResponse.data); + setPlayers(playersResponse.data); + + // Fetch shop items from the new database + console.log('Fetching shop items'); + try { + const itemsResponse = await axios.get('/api/shop/items', { + headers: { 'x-session-id': sessionId || '' } + }); + console.log('Fetched shop items:', itemsResponse.data); + + if (!itemsResponse.data || itemsResponse.data.length === 0) { + console.log('Warning: Shop items response was empty, falling back to JSON'); + throw new Error('Empty shop items'); + } + + const normalizedItems = itemsResponse.data.map(item => ({ + id: item.id, + name: item.name, + category: item.category, + cost: item.requisition_cost, + req: item.requisition_cost, + renown: item.renown_requirement, + desc: item.stats ? JSON.parse(item.stats).description || '' : '', + stats: item.stats ? JSON.parse(item.stats) : {} + })); + + setItems(normalizedItems); } catch (error) { - console.error('Error fetching players:', error); + console.error('Error fetching data:', error); + if (error.response?.status === 404 && error.response?.data?.includes('shop')) { + // If shop API fails, fall back to JSON file + try { + const res = await fetch('/deathwatch-armoury.json', { cache: 'no-store' }) + if (!res.ok) return; + const arr = await res.json() + const next = Array.isArray(arr) ? arr.map(normalizeItem).filter(Boolean) : [] + if (next.length>0) { + setItems(next) + } + } catch (e) { + console.error('Failed to load fallback JSON:', e); + } + } setPlayers([]); } } + if (sessionId) { - fetchPlayers(); + fetchData(); } }, [sessionId]); - // On mount, validate sessionId if present - // Sync login state with localStorage/sessionId on mount, tab switch, and storage changes - // No per-tab session sync; handled globally - useEffect(()=>{ - // Always load from the static JSON on startup - ;(async()=>{ - try { - const res = await fetch('/deathwatch-armoury.json', { cache: 'no-store' }) - if (!res.ok) return - const arr = await res.json() - const next = Array.isArray(arr) ? arr.map(normalizeItem).filter(Boolean) : [] - if (next.length>0) { - setItems(next) - } - } catch {} - })() - // eslint-disable-next-line react-hooks/exhaustive-deps - },[]) - const currentPlayer = useMemo(() => { const p = players.find(p => p.name === authedPlayer); if (!p) return null; - // Ensure tabInfo exists and has proper structure + + // Support both old and new data structure + // Old data is in tabInfo, new data is directly on the player object const tabInfo = p.tabInfo || {}; return { ...p, - ...tabInfo, - rp: Number(tabInfo.rp || 0), - gear: Array.isArray(tabInfo.gear) ? tabInfo.gear : [], - transactions: Array.isArray(tabInfo.transactions) ? tabInfo.transactions : [], + id: p.id, + requisition_points: p.requisition_points !== undefined ? p.requisition_points : Number(tabInfo.rp || 0), + renown_level: p.renown_level || tabInfo.renown || 'None', + // Keep gear from tabInfo for now, as we transition to using the inventory table + gear: Array.isArray(tabInfo.gear) ? tabInfo.gear : [] }; }, [players, authedPlayer]); const filteredItems = useMemo(()=>{ @@ -108,7 +133,7 @@ export default function RequisitionShop({ authedPlayer, sessionId }) { }) },[items, search, categoryFilter]) - // Updated purchaseItem to subtract requisition points from the player + // Updated purchaseItem to use the new database transaction system async function purchaseItem(item) { if (!currentPlayer) { setErrorMsg('No player logged in'); @@ -120,62 +145,46 @@ export default function RequisitionShop({ authedPlayer, sessionId }) { } // Check if player has enough RP - if ((currentPlayer.rp || 0) < (item.cost || 0)) { - setErrorMsg(`Not enough Requisition Points. Need ${item.cost} RP but only have ${currentPlayer.rp || 0} RP.`); + const currentRp = currentPlayer.requisition_points || 0; + if (currentRp < item.cost) { + setErrorMsg(`Not enough Requisition Points. Need ${item.cost} RP but only have ${currentRp} RP.`); return; } - // Calculate new values - const newRp = Math.max(0, (currentPlayer.rp || 0) - (item.cost || 0)); - const newGear = [...(currentPlayer.tabInfo?.gear || []), { - ...item, - id: Date.now(), - qty: 1 - }]; - const newTransactions = [...(currentPlayer.transactions || []), { - item, - cost: item.cost, - date: new Date().toISOString(), - previousRp: currentPlayer.rp || 0, - newRp: newRp - }]; + // Check if player meets renown requirement + const playerRenown = currentPlayer.renown_level || 'None'; + const requiredRenown = item.renown; + const playerRenownIndex = RANK_ORDER.indexOf(playerRenown); + const requiredRenownIndex = RANK_ORDER.indexOf(requiredRenown); - // Update player data including all existing fields - const updatedTabInfo = { - ...currentPlayer.tabInfo, // Preserve all existing tabInfo fields - rp: newRp, - gear: newGear, - transactions: newTransactions, - renown: currentPlayer.renown || 'None', - }; + if (playerRenownIndex < requiredRenownIndex) { + setErrorMsg(`This item requires ${requiredRenown} renown level. Your current renown is ${playerRenown}.`); + return; + } try { - console.log('Updating player with:', currentPlayer.name, updatedTabInfo); - console.log('Sending update:', { - name: currentPlayer.name, - tabInfo: updatedTabInfo - }); + console.log('Purchasing item:', item); - await axios.put( - `/api/players/${currentPlayer.name}`, + // Use the new shop purchase endpoint + await axios.post( + '/api/shop/purchase', { - name: currentPlayer.name, - tabInfo: { - ...currentPlayer.tabInfo, - gear: updatedTabInfo.gear, - rp: updatedTabInfo.rp, - transactions: updatedTabInfo.transactions, - renown: updatedTabInfo.renown - } + playerId: currentPlayer.id, + itemId: item.id, + quantity: 1 }, { headers: { 'x-session-id': sessionId } } ); - // Refetch players after update - const response = await axios.get('/api/players', { headers: { 'x-session-id': sessionId } }); + + // Refetch players to get updated RP and inventory + const response = await axios.get('/api/players', { + headers: { 'x-session-id': sessionId } + }); setPlayers(response.data); + setErrorMsg(`Successfully purchased ${item.name} for ${item.cost} RP`); } catch (error) { - console.error('Failed to update player:', error); + console.error('Failed to purchase item:', error); setErrorMsg(error.response?.data?.error || 'Failed to make purchase'); } } @@ -214,7 +223,7 @@ export default function RequisitionShop({ authedPlayer, sessionId }) {
    {currentPlayer && (
    - Requisition Points: {currentPlayer.rp || 0} | Renown: {currentPlayer.renown || 'None'} + Requisition Points: {currentPlayer.requisition_points || 0} | Renown: {currentPlayer.renown_level || 'None'}
    )} @@ -255,7 +264,7 @@ export default function RequisitionShop({ authedPlayer, sessionId }) { {currentPlayer && ( - - ) -} diff --git a/tests/playertest.test.js b/tests/playertest.test.js index b60a4bb..7c83c3f 100644 --- a/tests/playertest.test.js +++ b/tests/playertest.test.js @@ -2,9 +2,10 @@ jest.setTimeout(20000); const { execSync } = require('child_process'); describe('Player flow (login, update sheet, gear/spend RP)', () => { - const name = 'christoffer'; + const name = 'testplayer'; const baseURL = process.env.API_BASE || 'http://localhost:5000'; let sessionId; + const gmHeaders = `-H "x-gm-secret: ${process.env.GM_PASSWORD || 'bongo'}"`; const curl = (method, url, data = null, headers = '') => { const command = `curl -X ${method} ${headers} -H "Content-Type: application/json" ${data ? `-d '${JSON.stringify(data)}'` : ''} ${url}`; @@ -28,6 +29,18 @@ describe('Player flow (login, update sheet, gear/spend RP)', () => { }; test('should login, update sheet, and manage gear/RP', () => { + // create test player first + try { + curl('DELETE', `${baseURL}/api/players/${name}`, null, gmHeaders); + } catch (e) { + // ignore error if player doesn't exist + } + + // create test player + const create = curl('POST', `${baseURL}/api/players`, { name, rp: 10, pw: '1234' }, gmHeaders); + expect(create.status).toBe(201); + expect(create.data.name).toBe(name); + // login as player const login = curl('POST', `${baseURL}/api/players/login`, { name, password: '1234' }); expect(login.status).toBe(200); @@ -56,5 +69,9 @@ describe('Player flow (login, update sheet, gear/spend RP)', () => { expect(upd2.status).toBe(200); expect(Array.isArray(upd2.data.tabInfo.skills)).toBe(true); expect(upd2.data.tabInfo.playerName).toBe('Chris'); + + // cleanup - delete test player + const del = curl('DELETE', `${baseURL}/api/players/${name}`, null, gmHeaders); + expect(del.status).toBe(200); }); });