Compare commits

...

12 Commits

Author SHA1 Message Date
johnruina 02608ee44e i dunno 2026-06-28 21:21:24 -04:00
johnruina 7f0b7885b0 bugger 2026-06-24 23:00:25 -04:00
johnruina 4bb5a1c4cf pre physics 2026-06-20 14:51:12 -04:00
johnruina d9f45f71ff targeting fixed 2026-06-19 03:19:54 -04:00
johnruina 2ff7932048 broken target select 2026-06-19 01:12:35 -04:00
johnruina 4270cdca75 i forgot 2026-06-18 03:43:43 -04:00
johnruina 819306aba3 gun stuff combat stuff 2026-06-17 03:26:18 -04:00
johnruina a066f15279 rimworld typa stuff 2026-06-15 10:18:07 -04:00
johnruina 80028261e1 gun 2026-06-10 21:30:19 -04:00
johnruina 19f01559eb i dont even know 2026-06-10 02:59:58 -04:00
johnruina 56fd57efe5 attack animations 2026-06-04 20:36:26 -04:00
johnruina 4eca9df6cc i don even know anymore 2026-06-03 00:10:21 -04:00
9 changed files with 4810 additions and 1327 deletions
+681
View File
@@ -12,6 +12,7 @@
"react-dom": "^19.2.6" "react-dom": "^19.2.6"
}, },
"devDependencies": { "devDependencies": {
"@arethetypeswrong/cli": "^0.18.3",
"@eslint/js": "^10.0.1", "@eslint/js": "^10.0.1",
"@types/react": "^19.2.14", "@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3", "@types/react-dom": "^19.2.3",
@@ -23,6 +24,90 @@
"vite": "^8.0.12" "vite": "^8.0.12"
} }
}, },
"node_modules/@andrewbranch/untar.js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@andrewbranch/untar.js/-/untar.js-1.0.3.tgz",
"integrity": "sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==",
"dev": true
},
"node_modules/@arethetypeswrong/cli": {
"version": "0.18.3",
"resolved": "https://registry.npmjs.org/@arethetypeswrong/cli/-/cli-0.18.3.tgz",
"integrity": "sha512-GeAlc+lUD4gKHD/LDQNvQY30FfQ+xAXg2inbQKUjFZgTOdI5ygEweaOnGHGBPSKXSLGQC7VLhpXu9zMnYk/4sQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@arethetypeswrong/core": "0.18.3",
"chalk": "^4.1.2",
"cli-table3": "^0.6.3",
"commander": "^10.0.1",
"marked": "^9.1.2",
"marked-terminal": "^7.1.0",
"semver": "^7.5.4"
},
"bin": {
"attw": "dist/index.js"
},
"engines": {
"node": ">=20"
}
},
"node_modules/@arethetypeswrong/cli/node_modules/semver": {
"version": "7.8.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz",
"integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==",
"dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@arethetypeswrong/core": {
"version": "0.18.3",
"resolved": "https://registry.npmjs.org/@arethetypeswrong/core/-/core-0.18.3.tgz",
"integrity": "sha512-sWBB/tdIktaT5xMq0Dz6CJyqcf6oMNdmiKiuPU1lWoJLTL6gjRSsksBuSgqot21hylkklBQY1wiSu+PkZhW7sw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@andrewbranch/untar.js": "^1.0.3",
"@loaderkit/resolve": "^1.0.2",
"cjs-module-lexer": "^1.2.3",
"fflate": "^0.8.3",
"lru-cache": "^11.0.1",
"semver": "^7.5.4",
"typescript": "5.6.1-rc",
"validate-npm-package-name": "^5.0.0"
},
"engines": {
"node": ">=20"
}
},
"node_modules/@arethetypeswrong/core/node_modules/lru-cache": {
"version": "11.5.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz",
"integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==",
"dev": true,
"license": "BlueOak-1.0.0",
"engines": {
"node": "20 || >=22"
}
},
"node_modules/@arethetypeswrong/core/node_modules/semver": {
"version": "7.8.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz",
"integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==",
"dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@babel/code-frame": { "node_modules/@babel/code-frame": {
"version": "7.29.7", "version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz",
@@ -263,6 +348,24 @@
"node": ">=6.9.0" "node": ">=6.9.0"
} }
}, },
"node_modules/@braidai/lang": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@braidai/lang/-/lang-1.1.2.tgz",
"integrity": "sha512-qBcknbBufNHlui137Hft8xauQMTZDKdophmLFv05r2eNmdIv/MlPuP4TdUknHG68UdWLgVZwgxVe735HzJNIwA==",
"dev": true,
"license": "ISC"
},
"node_modules/@colors/colors": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
"integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
"dev": true,
"license": "MIT",
"optional": true,
"engines": {
"node": ">=0.1.90"
}
},
"node_modules/@emnapi/core": { "node_modules/@emnapi/core": {
"version": "1.10.0", "version": "1.10.0",
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz",
@@ -541,6 +644,16 @@
"@jridgewell/sourcemap-codec": "^1.4.14" "@jridgewell/sourcemap-codec": "^1.4.14"
} }
}, },
"node_modules/@loaderkit/resolve": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@loaderkit/resolve/-/resolve-1.0.6.tgz",
"integrity": "sha512-G8FdIoF5CypfwmD9rl8BXod5HDn8JqB0CCNBXDTaRZ+yRYhARrrSToX1zg1zy9jX3zLqigsELwhT4gNtkdQAUg==",
"dev": true,
"license": "ISC",
"dependencies": {
"@braidai/lang": "^1.0.0"
}
},
"node_modules/@napi-rs/wasm-runtime": { "node_modules/@napi-rs/wasm-runtime": {
"version": "1.1.4", "version": "1.1.4",
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz",
@@ -834,6 +947,19 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/@sindresorhus/is": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
"integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sindresorhus/is?sponsor=1"
}
},
"node_modules/@tybys/wasm-util": { "node_modules/@tybys/wasm-util": {
"version": "0.10.2", "version": "0.10.2",
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz",
@@ -952,6 +1078,58 @@
"url": "https://github.com/sponsors/epoberezkin" "url": "https://github.com/sponsors/epoberezkin"
} }
}, },
"node_modules/ansi-escapes": {
"version": "7.3.0",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz",
"integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==",
"dev": true,
"license": "MIT",
"dependencies": {
"environment": "^1.0.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/ansi-regex": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/any-promise": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
"integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
"dev": true,
"license": "MIT"
},
"node_modules/balanced-match": { "node_modules/balanced-match": {
"version": "4.0.4", "version": "4.0.4",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
@@ -1043,6 +1221,120 @@
], ],
"license": "CC-BY-4.0" "license": "CC-BY-4.0"
}, },
"node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/char-regex": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
"integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=10"
}
},
"node_modules/cjs-module-lexer": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz",
"integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==",
"dev": true,
"license": "MIT"
},
"node_modules/cli-highlight": {
"version": "2.1.11",
"resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz",
"integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==",
"dev": true,
"license": "ISC",
"dependencies": {
"chalk": "^4.0.0",
"highlight.js": "^10.7.1",
"mz": "^2.4.0",
"parse5": "^5.1.1",
"parse5-htmlparser2-tree-adapter": "^6.0.0",
"yargs": "^16.0.0"
},
"bin": {
"highlight": "bin/highlight"
},
"engines": {
"node": ">=8.0.0",
"npm": ">=5.0.0"
}
},
"node_modules/cli-table3": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz",
"integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"string-width": "^4.2.0"
},
"engines": {
"node": "10.* || >= 12.*"
},
"optionalDependencies": {
"@colors/colors": "1.5.0"
}
},
"node_modules/cliui": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
"integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
"dev": true,
"license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
"wrap-ansi": "^7.0.0"
}
},
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"license": "MIT"
},
"node_modules/commander": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
"integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=14"
}
},
"node_modules/convert-source-map": { "node_modules/convert-source-map": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
@@ -1114,6 +1406,33 @@
"dev": true, "dev": true,
"license": "ISC" "license": "ISC"
}, },
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true,
"license": "MIT"
},
"node_modules/emojilib": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz",
"integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==",
"dev": true,
"license": "MIT"
},
"node_modules/environment": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz",
"integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/escalade": { "node_modules/escalade": {
"version": "3.2.0", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
@@ -1358,6 +1677,13 @@
} }
} }
}, },
"node_modules/fflate": {
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz",
"integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==",
"dev": true,
"license": "MIT"
},
"node_modules/file-entry-cache": { "node_modules/file-entry-cache": {
"version": "8.0.0", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
@@ -1434,6 +1760,16 @@
"node": ">=6.9.0" "node": ">=6.9.0"
} }
}, },
"node_modules/get-caller-file": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true,
"license": "ISC",
"engines": {
"node": "6.* || 8.* || >= 10.*"
}
},
"node_modules/glob-parent": { "node_modules/glob-parent": {
"version": "6.0.2", "version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
@@ -1460,6 +1796,16 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/hermes-estree": { "node_modules/hermes-estree": {
"version": "0.25.1", "version": "0.25.1",
"resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz",
@@ -1477,6 +1823,16 @@
"hermes-estree": "0.25.1" "hermes-estree": "0.25.1"
} }
}, },
"node_modules/highlight.js": {
"version": "10.7.3",
"resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
"integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": "*"
}
},
"node_modules/ignore": { "node_modules/ignore": {
"version": "5.3.2", "version": "5.3.2",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
@@ -1507,6 +1863,16 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/is-glob": { "node_modules/is-glob": {
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
@@ -1892,6 +2258,54 @@
"yallist": "^3.0.2" "yallist": "^3.0.2"
} }
}, },
"node_modules/marked": {
"version": "9.1.6",
"resolved": "https://registry.npmjs.org/marked/-/marked-9.1.6.tgz",
"integrity": "sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==",
"dev": true,
"license": "MIT",
"bin": {
"marked": "bin/marked.js"
},
"engines": {
"node": ">= 16"
}
},
"node_modules/marked-terminal": {
"version": "7.3.0",
"resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-7.3.0.tgz",
"integrity": "sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-escapes": "^7.0.0",
"ansi-regex": "^6.1.0",
"chalk": "^5.4.1",
"cli-highlight": "^2.1.11",
"cli-table3": "^0.6.5",
"node-emoji": "^2.2.0",
"supports-hyperlinks": "^3.1.0"
},
"engines": {
"node": ">=16.0.0"
},
"peerDependencies": {
"marked": ">=1 <16"
}
},
"node_modules/marked-terminal/node_modules/chalk": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
"integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
"dev": true,
"license": "MIT",
"engines": {
"node": "^12.17.0 || ^14.13 || >=16.0.0"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/minimatch": { "node_modules/minimatch": {
"version": "10.2.5", "version": "10.2.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
@@ -1915,6 +2329,18 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/mz": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"any-promise": "^1.0.0",
"object-assign": "^4.0.1",
"thenify-all": "^1.0.0"
}
},
"node_modules/nanoid": { "node_modules/nanoid": {
"version": "3.3.12", "version": "3.3.12",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz",
@@ -1941,6 +2367,22 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/node-emoji": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz",
"integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@sindresorhus/is": "^4.6.0",
"char-regex": "^1.0.2",
"emojilib": "^2.4.0",
"skin-tone": "^2.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/node-releases": { "node_modules/node-releases": {
"version": "2.0.46", "version": "2.0.46",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.46.tgz", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.46.tgz",
@@ -1951,6 +2393,16 @@
"node": ">=18" "node": ">=18"
} }
}, },
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/optionator": { "node_modules/optionator": {
"version": "0.9.4", "version": "0.9.4",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
@@ -2001,6 +2453,30 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/parse5": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
"integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
"dev": true,
"license": "MIT"
},
"node_modules/parse5-htmlparser2-tree-adapter": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
"integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
"dev": true,
"license": "MIT",
"dependencies": {
"parse5": "^6.0.1"
}
},
"node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
"dev": true,
"license": "MIT"
},
"node_modules/path-exists": { "node_modules/path-exists": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -2111,6 +2587,16 @@
"react": "^19.2.6" "react": "^19.2.6"
} }
}, },
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/rolldown": { "node_modules/rolldown": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.2.tgz", "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.2.tgz",
@@ -2184,6 +2670,19 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/skin-tone": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz",
"integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==",
"dev": true,
"license": "MIT",
"dependencies": {
"unicode-emoji-modifier-base": "^1.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/source-map-js": { "node_modules/source-map-js": {
"version": "1.2.1", "version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
@@ -2194,6 +2693,97 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/strip-ansi/node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/supports-hyperlinks": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz",
"integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==",
"dev": true,
"license": "MIT",
"dependencies": {
"has-flag": "^4.0.0",
"supports-color": "^7.0.0"
},
"engines": {
"node": ">=14.18"
},
"funding": {
"url": "https://github.com/chalk/supports-hyperlinks?sponsor=1"
}
},
"node_modules/thenify": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
"integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
"dev": true,
"license": "MIT",
"dependencies": {
"any-promise": "^1.0.0"
}
},
"node_modules/thenify-all": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
"integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
"dev": true,
"license": "MIT",
"dependencies": {
"thenify": ">= 3.1.0 < 4"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/tinyglobby": { "node_modules/tinyglobby": {
"version": "0.2.16", "version": "0.2.16",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz",
@@ -2232,6 +2822,30 @@
"node": ">= 0.8.0" "node": ">= 0.8.0"
} }
}, },
"node_modules/typescript": {
"version": "5.6.1-rc",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.1-rc.tgz",
"integrity": "sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==",
"dev": true,
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=14.17"
}
},
"node_modules/unicode-emoji-modifier-base": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz",
"integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/update-browserslist-db": { "node_modules/update-browserslist-db": {
"version": "1.2.3", "version": "1.2.3",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
@@ -2273,6 +2887,16 @@
"punycode": "^2.1.0" "punycode": "^2.1.0"
} }
}, },
"node_modules/validate-npm-package-name": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz",
"integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==",
"dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
"node_modules/vite": { "node_modules/vite": {
"version": "8.0.14", "version": "8.0.14",
"resolved": "https://registry.npmjs.org/vite/-/vite-8.0.14.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.14.tgz",
@@ -2377,6 +3001,34 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
"node_modules/y18n": {
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
"dev": true,
"license": "ISC",
"engines": {
"node": ">=10"
}
},
"node_modules/yallist": { "node_modules/yallist": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
@@ -2384,6 +3036,35 @@
"dev": true, "dev": true,
"license": "ISC" "license": "ISC"
}, },
"node_modules/yargs": {
"version": "16.2.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
"integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
"dev": true,
"license": "MIT",
"dependencies": {
"cliui": "^7.0.2",
"escalade": "^3.1.1",
"get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
"string-width": "^4.2.0",
"y18n": "^5.0.5",
"yargs-parser": "^20.2.2"
},
"engines": {
"node": ">=10"
}
},
"node_modules/yargs-parser": {
"version": "20.2.9",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
"integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
"dev": true,
"license": "ISC",
"engines": {
"node": ">=10"
}
},
"node_modules/yocto-queue": { "node_modules/yocto-queue": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+1
View File
@@ -14,6 +14,7 @@
"react-dom": "^19.2.6" "react-dom": "^19.2.6"
}, },
"devDependencies": { "devDependencies": {
"@arethetypeswrong/cli": "^0.18.3",
"@eslint/js": "^10.0.1", "@eslint/js": "^10.0.1",
"@types/react": "^19.2.14", "@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3", "@types/react-dom": "^19.2.3",
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

+578 -231
View File
@@ -1,3 +1,17 @@
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: #1a1a2e;
}
::-webkit-scrollbar-thumb {
background: #3a3a5a;
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: #5F71C5;
}
* { * {
margin: 0; margin: 0;
padding: 0; padding: 0;
@@ -91,74 +105,12 @@ body {
background: #b91c1c; background: #b91c1c;
} }
.combat-panel { .game-time-display {
position: absolute;
inset: 0;
background: rgba(15, 15, 26, 0.75);
z-index: 100;
display: flex;
flex-direction: column;
align-items: center;
padding: 16px 60px 24px;
}
.combat-over-panel {
z-index: 101;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
padding: 24px;
}
.combat-over-title {
color: #fbbf24;
font-size: 20px;
font-weight: bold;
}
.combat-over-btns {
display: flex;
gap: 12px;
}
.combat-over-btn {
background: #2e303a;
color: #e0e0e0; color: #e0e0e0;
border: 1px solid #5F71C5; font-size: 17px;
border-radius: 1px; font-weight: bold;
padding: 10px 24px; letter-spacing: 1px;
cursor: pointer;
font-size: 15px;
} }
.combat-over-btn:hover {
background: #5F71C5;
color: #fff;
}
.combat-over-btn.primary {
background: #5F71C5;
color: #fff;
}
.combat-over-btn.primary:hover {
background: #4a5cb0;
}
.combat-top-bar {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 12px;
}
.combat-top-left {
display: flex;
gap: 8px;
}
.combat-timer { .combat-timer {
color: #e0e0e0; color: #e0e0e0;
font-size: 20px; font-size: 20px;
@@ -204,12 +156,13 @@ body {
.combat-layout { .combat-layout {
position: absolute;
top: 72px;
left: 0;
right: 0;
bottom: 0;
display: flex; display: flex;
justify-content: center; justify-content: center;
width: 100%;
flex: 1;
position: relative;
min-height: 0;
} }
.combat-left { .combat-left {
@@ -391,12 +344,15 @@ body {
border: 2px solid #5F71C5; border: 2px solid #5F71C5;
border-radius: 3px; border-radius: 3px;
overflow: hidden; overflow: hidden;
user-select: none;
} }
.minimap-container svg { .minimap-container svg {
width: 100%; width: 100%;
height: 100%; height: 100%;
display: block; display: block;
user-select: none;
-webkit-user-select: none;
} }
.combat-log { .combat-log {
@@ -540,6 +496,24 @@ body {
margin-left: 16px; margin-left: 16px;
} }
.tree-leaf-selected {
background: #2d2d44;
color: #fcd34d;
}
.tree-leaf-selected:hover {
background: #3d3d54;
}
.tree-folder-selected {
background: #2d2d44;
color: #fcd34d !important;
}
.tree-folder-selected:hover {
background: #3d3d54;
}
.combat-back { .combat-back {
background: none; background: none;
border: none; border: none;
@@ -554,6 +528,75 @@ body {
color: #9ca3af; color: #9ca3af;
} }
.action-queue {
position: absolute;
left: 0;
bottom: 0;
width: 240px;
border: 1px solid #2a2a3e;
border-radius: 4px;
background: #12121e;
padding: 8px;
max-height: 180px;
overflow-y: auto;
}
.queue-title {
font-size: 12px;
font-weight: bold;
color: #9ca3af;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 4px;
}
.queue-empty {
font-size: 12px;
color: #4a4a5e;
font-style: italic;
}
.queue-item {
display: flex;
align-items: center;
gap: 6px;
padding: 3px 4px;
font-size: 13px;
border-radius: 2px;
}
.queue-item.queue-current {
background: #1a1a2e;
color: #22c55e;
}
.queue-idx {
width: 16px;
text-align: right;
color: #6b7280;
font-size: 11px;
}
.queue-item.queue-current .queue-idx {
color: #22c55e;
}
.queue-label {
color: #e0e0e0;
}
.queue-cancel {
margin-left: auto;
cursor: pointer;
color: #6b7280;
font-size: 12px;
line-height: 1;
padding: 0 2px;
}
.queue-cancel:hover {
color: #ef4444;
}
.panel-hint { .panel-hint {
color: #6b7280; color: #6b7280;
font-size: 14px; font-size: 14px;
@@ -1094,34 +1137,6 @@ body {
background: #5F71C5; background: #5F71C5;
} }
.zoom-controls {
position: absolute;
bottom: 40px;
right: 40px;
display: flex;
flex-direction: column;
gap: 4px;
z-index: 10;
}
.zoom-controls button {
width: 40px;
height: 40px;
background: #1e1e30;
border: 1px solid #5F71C5;
border-radius: 1px;
color: #5F71C5;
font-size: 22px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
user-select: none;
}
.zoom-controls button:hover {
background: #2a2a44;
}
.pass-time-panel { .pass-time-panel {
position: absolute; position: absolute;
@@ -1198,31 +1213,6 @@ body {
border-color: #5F71C5; border-color: #5F71C5;
} }
.bottom-left-btns {
position: absolute;
bottom: 40px;
left: 40px;
display: flex;
gap: 8px;
z-index: 10;
}
.fight-rand-btn {
background: #1e1e30;
border: 1px solid #ef4444;
border-radius: 1px;
color: #ef4444;
font-size: 14px;
padding: 10px 18px;
cursor: pointer;
user-select: none;
font-weight: bold;
}
.fight-rand-btn:hover {
background: #2a1a1a;
}
.info-panel { .info-panel {
position: absolute; position: absolute;
bottom: 40px; bottom: 40px;
@@ -1372,7 +1362,7 @@ body {
left: 0; left: 0;
right: 0; right: 0;
padding: 16px; padding: 16px;
z-index: 10; z-index: 200;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
@@ -1411,31 +1401,12 @@ body {
} }
.top-bar-right { .top-bar-right {
pointer-events: auto;
display: flex; display: flex;
align-items: center; align-items: center;
gap: 16px; gap: 16px;
} }
.time-display {
color: #9ca3af;
font-size: 14px;
font-weight: bold;
background: #1e1e30;
border: 1px solid #2e303a;
border-radius: 1px;
padding: 8px 16px;
}
.weather-display {
color: #5F71C5;
font-size: 14px;
font-weight: bold;
background: #1e1e30;
border: 1px solid #5F71C5;
border-radius: 1px;
padding: 8px 16px;
}
.inv-btn { .inv-btn {
background: #1e1e30; background: #1e1e30;
color: #5F71C5; color: #5F71C5;
@@ -1451,51 +1422,36 @@ body {
background: #2a2a44; background: #2a2a44;
} }
.shop-section { .context-menu {
border-top: 1px solid #2e303a; position: absolute;
margin-top: 12px; z-index: 300;
padding-top: 12px; background: #1a1a2e;
border: 1px solid #2d2d44;
border-radius: 4px;
padding: 4px 0;
min-width: 120px;
box-shadow: 0 4px 12px rgba(0,0,0,0.4);
} }
.shop-item { .context-menu-btn {
display: flex; display: block;
align-items: center; width: 100%;
gap: 8px; background: none;
padding: 4px 0; border: none;
color: #e0e0e0;
padding: 8px 16px;
text-align: left;
cursor: pointer;
font-size: 13px; font-size: 13px;
} }
.shop-item-name { .context-menu-btn:hover:not(.disabled) {
flex: 1; background: #2d2d44;
text-align: left;
color: #e0e0e0;
} }
.shop-item-price { .context-menu-btn.disabled {
color: #fbbf24; color: #5a5a6a;
width: 40px; cursor: default;
text-align: right;
}
.buy-btn {
background: #22c55e;
color: #000;
border: none;
border-radius: 1px;
padding: 4px 12px;
cursor: pointer;
font-size: 12px;
font-weight: bold;
}
.buy-btn:disabled {
background: #4b5563;
color: #9ca3af;
cursor: not-allowed;
}
.buy-btn:hover:not(:disabled) {
background: #16a34a;
} }
.inventory-overlay { .inventory-overlay {
@@ -1549,8 +1505,7 @@ body {
padding: 24px 32px 32px; padding: 24px 32px 32px;
width: 1200px; width: 1200px;
max-width: 95vw; max-width: 95vw;
min-height: 70vh; height: 85vh;
max-height: 95vh;
position: relative; position: relative;
overflow-y: auto; overflow-y: auto;
} }
@@ -1742,6 +1697,53 @@ body {
text-align: right; text-align: right;
} }
.cap-breakdown {
padding: 2px 0 6px 16px;
display: flex;
flex-direction: column;
gap: 2px;
}
.cap-breakdown-row {
display: flex;
align-items: center;
gap: 6px;
font-size: 11px;
}
.cap-bd-color {
width: 6px;
height: 6px;
border-radius: 1px;
flex-shrink: 0;
}
.cap-bd-label {
color: #9ca3af;
width: 80px;
flex-shrink: 0;
}
.cap-bd-bar {
flex: 1;
height: 6px;
background: #2e303a;
border-radius: 1px;
overflow: hidden;
}
.cap-bd-fill {
display: block;
height: 100%;
border-radius: 1px;
}
.cap-bd-hp {
color: #6b7280;
width: 50px;
text-align: right;
}
.part-injuries { .part-injuries {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
@@ -1820,6 +1822,23 @@ body {
font-size: 11px; font-size: 11px;
} }
.equip-unequip-btn,
.equip-btn {
padding: 2px 8px;
font-size: 11px;
background: #2e303a;
color: #e0e0e0;
border: 1px solid #4b5563;
border-radius: 3px;
cursor: pointer;
}
.equip-unequip-btn:hover,
.equip-btn:hover {
background: #4b5563;
color: #fff;
}
.inv-divider { .inv-divider {
height: 1px; height: 1px;
background: #2e303a; background: #2e303a;
@@ -1968,8 +1987,8 @@ body {
background: rgba(15, 15, 26, 0.75); background: rgba(15, 15, 26, 0.75);
border: 2px solid #5F71C5; border: 2px solid #5F71C5;
border-radius: 3px; border-radius: 3px;
width: 900px; width: 1100px;
height: 640px; height: 780px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;
@@ -2009,7 +2028,7 @@ body {
} }
.location-log-col { .location-log-col {
width: 200px; width: 280px;
flex-shrink: 0; flex-shrink: 0;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -2017,17 +2036,19 @@ body {
} }
.location-log-title { .location-log-title {
color: #6b7280; padding: 12px 16px;
font-size: 11px; font-size: 14px;
text-transform: uppercase; font-weight: bold;
letter-spacing: 1px; color: #e0e0e0;
padding: 14px 16px 8px; border-bottom: 1px solid #2e303a;
} }
.location-log-content { .location-log-content {
flex: 1; flex: 1;
overflow-y: auto; overflow-y: auto;
padding: 0 16px 12px; padding: 0 16px 12px;
min-height: 0;
max-height: 130px;
} }
.location-log-line { .location-log-line {
@@ -2119,88 +2140,77 @@ body {
.location-surrounding-desc { .location-surrounding-desc {
color: #9ca3af; color: #9ca3af;
font-size: 13px; font-size: 13px;
padding: 12px 16px; padding: 14px 16px;
line-height: 1.5; line-height: 1.5;
border-bottom: 1px solid #1f2028; border-bottom: 1px solid #1f2028;
} }
.location-surrounding-connections {
padding: 8px 16px 12px;
border-bottom: 1px solid #1f2028;
}
.location-surrounding-shops {
padding: 8px 16px 12px;
}
.location-surrounding-subtitle { .location-surrounding-subtitle {
color: #6b7280; color: #6b7280;
font-size: 11px; font-size: 11px;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 1px; letter-spacing: 1px;
margin-bottom: 6px; padding: 14px 16px 6px;
margin-top: 4px;
} }
.location-surrounding-connection { .location-surrounding-connection {
color: #5F71C5; color: #5F71C5;
font-size: 13px; font-size: 13px;
padding: 3px 0; padding: 10px 16px;
border-bottom: 1px solid #1f2028;
} }
.location-surrounding-shop { .location-surrounding-corpse {
color: #e0e0e0; color: #6b7280;
font-size: 13px; font-size: 13px;
padding: 3px 0; padding: 10px 16px;
border-bottom: 1px solid #1f2028;
} }
.location-npc-row { .location-npc-row {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 12px; gap: 12px;
padding: 14px 16px; padding: 10px 16px;
border-bottom: 1px solid #1f2028; border-bottom: 1px solid #1f2028;
border-radius: 1px; cursor: pointer;
}
.location-npc-row:hover {
background: rgba(95, 113, 197, 0.15);
} }
.location-npc-name { .location-npc-name {
color: #e0e0e0; color: #e0e0e0;
font-size: 16px; font-size: 15px;
font-weight: bold; font-weight: bold;
flex: 1; flex: 1;
} }
.location-action-btn { .location-npc-arrow {
background: #5F71C5; color: #5F71C5;
color: #fff; font-size: 18px;
border: none;
border-radius: 1px;
padding: 8px 20px;
cursor: pointer;
font-size: 14px;
font-weight: bold; font-weight: bold;
} }
.location-action-btn:hover { .location-back {
background: #5F71C5; background: none;
border: none;
color: #5F71C5;
font-size: 16px;
cursor: pointer;
padding: 0;
} }
.action-modal { .location-back:hover {
background: rgba(15, 15, 26, 0.75); color: #e0e0e0;
border: 2px solid #5F71C5;
border-radius: 3px;
width: 600px;
height: 500px;
max-width: 90vw;
max-height: 80vh;
position: relative;
} }
.action-body { .action-body {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
height: 100%; flex: 1;
} }
.action-fight-btn { .action-fight-btn {
@@ -2276,3 +2286,340 @@ body {
.arm-choice-cancel:hover { .arm-choice-cancel:hover {
color: #e0e0e0; color: #e0e0e0;
} }
.menu-screen {
width: 100vw;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: #0f0f1a;
background-image: radial-gradient(ellipse at 50% 30%, #1a1a3a 0%, #0f0f1a 70%);
overflow: hidden;
}
.menu-content {
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
}
.menu-title {
font-size: 64px;
font-weight: bold;
color: #fbbf24;
letter-spacing: 8px;
text-transform: uppercase;
margin: 0;
}
.menu-subtitle {
font-size: 18px;
color: #6b7280;
margin: 0 0 24px;
}
.menu-btn {
background: #5F71C5;
color: #fff;
border: none;
border-radius: 3px;
padding: 14px 48px;
cursor: pointer;
font-size: 18px;
font-weight: bold;
transition: background 0.15s;
}
.menu-btn:hover {
background: #4a5cb0;
}
.char-create-panel {
background: #1a1a2e;
border: 1px solid #2d2d44;
border-radius: 8px;
padding: 32px 40px;
display: flex;
flex-direction: column;
gap: 20px;
width: 480px;
height: 560px;
overflow-y: auto;
}
.char-create-title {
font-size: 28px;
font-weight: bold;
color: #fbbf24;
text-align: center;
margin: 0 0 8px;
letter-spacing: 3px;
}
.char-create-field {
display: flex;
flex-direction: column;
gap: 8px;
}
.char-create-field label {
color: #9ca3af;
font-size: 13px;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 1px;
}
.char-create-input {
background: #0f0f1a;
border: 1px solid #2d2d44;
border-radius: 3px;
padding: 10px 14px;
color: #e0e0e0;
font-size: 16px;
outline: none;
}
.char-create-input:focus {
border-color: #5F71C5;
}
.char-create-options {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.char-create-option {
background: #0f0f1a;
border: 1px solid #2d2d44;
border-radius: 3px;
padding: 8px 14px;
color: #9ca3af;
cursor: pointer;
font-size: 13px;
transition: all 0.15s;
}
.char-create-option:hover {
border-color: #5F71C5;
color: #e0e0e0;
}
.char-create-option.selected {
border-color: #5F71C5;
background: #2a2a44;
color: #fff;
}
.char-create-color {
width: 48px;
height: 48px;
padding: 2px;
border: 1px solid #2d2d44;
border-radius: 4px;
background: #0f0f1a;
cursor: pointer;
}
/* ═══════════════════════════════════════ TRADE WINDOW */
.trade-overlay {
position: fixed;
top: 0; right: 0; bottom: 0; left: 0;
background: rgba(0,0,0,0.6);
display: flex;
align-items: center;
justify-content: center;
z-index: 10000;
}
.trade-panel {
background: #1e1e2e;
border: 1px solid #4a4a6a;
border-radius: 8px;
padding: 20px;
min-width: 600px;
max-width: 700px;
max-height: 80vh;
display: flex;
flex-direction: column;
position: relative;
}
.trade-close {
position: absolute;
top: 8px; right: 10px;
background: none;
border: none;
color: #9ca3af;
font-size: 18px;
cursor: pointer;
}
.trade-close:hover { color: #fff; }
.trade-title {
font-size: 18px;
font-weight: bold;
color: #e0e0e0;
margin-bottom: 16px;
text-align: center;
}
.trade-layout {
display: flex;
gap: 16px;
flex: 1;
overflow: hidden;
}
.trade-col {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
}
.trade-col-header {
font-size: 14px;
font-weight: 600;
color: #9ca3af;
margin-bottom: 8px;
padding-bottom: 4px;
border-bottom: 1px solid #2d2d44;
}
.trade-items {
display: flex;
flex-direction: column;
gap: 4px;
overflow-y: auto;
flex: 1;
max-height: 40vh;
}
.trade-item {
display: flex;
align-items: center;
justify-content: space-between;
background: #2a2a3e;
border-radius: 4px;
padding: 6px 10px;
gap: 8px;
}
.trade-item-name {
font-size: 13px;
color: #e0e0e0;
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.trade-qty-controls {
display: flex;
align-items: center;
gap: 4px;
flex-shrink: 0;
}
.trade-qty-btn {
width: 24px;
height: 24px;
border: 1px solid #4a4a6a;
border-radius: 3px;
background: #1e1e2e;
color: #e0e0e0;
font-size: 14px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
}
.trade-qty-btn:hover {
background: #3a3a5e;
}
.trade-qty {
font-size: 13px;
color: #9ca3af;
min-width: 20px;
text-align: center;
}
.trade-qty-input {
width: 40px;
height: 22px;
border: 1px solid #4a4a6a;
border-radius: 3px;
background: #16162a;
color: #e0e0e0;
font-size: 12px;
text-align: center;
outline: none;
}
.trade-qty-input:focus {
border-color: #6366f1;
}
.trade-qty-input::-webkit-inner-spin-button,
.trade-qty-input::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
.trade-qty-input[type='number'] {
-moz-appearance: textfield;
}
.trade-bar {
margin-top: 12px;
padding: 10px 12px;
background: #2a2a3e;
border-radius: 4px;
text-align: center;
font-size: 14px;
color: #9ca3af;
}
.trade-give-val { color: #f59e0b; font-weight: bold; }
.trade-take-val { color: #10b981; font-weight: bold; }
.trade-propose-btn {
margin-top: 10px;
width: 100%;
padding: 10px;
background: #374151;
border: 1px solid #5F71C5;
border-radius: 4px;
color: #e0e0e0;
font-size: 15px;
cursor: pointer;
transition: background 0.15s;
}
.trade-propose-btn:hover {
background: #4b5563;
}
.notifications-container {
position: fixed;
bottom: 12px;
right: 12px;
display: flex;
flex-direction: column;
gap: 6px;
z-index: 9999;
pointer-events: none;
}
.notification {
width: 220px;
min-height: 56px;
background: #1e1e2e;
border: 1px solid #4a4a6a;
border-radius: 4px;
padding: 8px 14px;
font-size: 13px;
color: #e0e0e0;
animation: notif-in 0.2s ease-out;
display: flex;
flex-direction: column;
gap: 4px;
}
.notification-subject {
font-weight: bold;
font-size: 13px;
color: #fbbf24;
}
.notification-desc {
font-size: 12px;
color: #9ca3af;
}
@keyframes notif-in {
from { opacity: 0; transform: translateX(20px); }
to { opacity: 1; transform: translateX(0); }
}
+3503 -1096
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

+47
View File
@@ -0,0 +1,47 @@
{
"male_names": [
"Nicholas", "Isaiah", "Henry", "Landon", "Wesley", "Charles", "Andrew", "Ezra",
"Asher", "Thomas", "Austin", "Kayden", "Matthew", "Santiago", "Louis", "Jonathan",
"Christian", "Miles", "Aaron", "Rowan", "Bryce", "James", "Walker", "Sebastian",
"Logan", "Michael", "Jordan", "Christopher", "Zachary", "Levi", "Lucas", "Wyatt",
"Benjamin", "Gabriel", "Gavin", "Everett", "Hudson", "Elias", "Daniel", "Sawyer",
"Lincoln", "Dominic", "Robert", "Mateo", "Arlo", "John", "Nolan", "Vincent",
"Eli", "Hunter", "Maverick", "Jace", "Julian", "Axel", "Theodore", "Jack",
"Nathan", "Kingston", "Amir", "Elijah", "Caleb", "David", "Ian", "Brooks",
"August", "Josiah", "Leo", "Alexander", "Greyson", "Liam", "Cooper", "Jackson",
"Ryan", "Owen", "Weston", "Carson", "William", "Jaxson", "Samuel", "Bennett",
"Silas", "Carter", "Colton", "Mason", "Roman", "Evan", "Bryson", "Angel",
"Noah", "Oliver", "Arthur", "Beau", "Caelan", "Declan", "Emmett", "Felix",
"Graham", "Holden", "Ivan", "Jude"
],
"female_names": [
"Zoe", "Elizabeth", "Hadley", "Valerie", "Genevieve", "Quinn", "Aaliyah", "Eva",
"Abigail", "Alice", "Elena", "Naomi", "Serenity", "Emily", "Hazel", "Sienna",
"Lucy", "Audrey", "Aria", "Adeline", "Stella", "Eliana", "Gianna",
"Madelyn", "Fiona", "Gemma", "Kinsley", "Leilani", "Mia", "Maya", "Nova",
"Mila", "Savannah", "Lilah", "Athena", "Cora", "Grace", "Bella", "Charlotte",
"Isabella", "Lydia", "Nora", "Rylee", "Ivy", "Camila", "Violet", "Rosalie",
"Madison", "Wren", "Avery", "Harper", "Penelope", "Sophia", "Melanie", "Aubrey",
"Clara", "Maeve", "Valentina", "Scarlett", "Chloe", "Brielle", "Aurora",
"Josephine", "Layla", "Emma", "Victoria", "Milani", "Ruby", "Piper", "Willow",
"Sadie", "Ayla", "Paisley", "Sofia", "Remi", "Melody", "Delilah", "Natalie",
"Vivian", "Iris", "Charlie", "Jade", "Ava", "Evelyn", "Luna", "Adalyn",
"Kora", "Amara", "Beatrice", "Daphne", "Elise", "Freya", "Georgia", "Helena",
"Imogen", "Juliet", "Kira", "Leila"
],
"neutral_names": [
"Alex", "Morgan", "Casey", "Riley", "Jordan", "Avery", "Quinn", "Blake",
"Cameron", "Dakota", "Emerson", "Finley", "Harper", "Jessie", "Kennedy",
"Logan", "Marley", "Oakley", "Parker", "Reese", "Rowan", "Sage",
"Skyler", "Taylor", "Tristan", "Winter", "Ash", "Briar", "Cedar",
"Drew", "Ellis", "Gale", "Hayden", "Jules", "Kai", "Lane", "Marlowe",
"Nico", "Onyx", "Perry", "Remy", "Shae", "Sidney", "Tatum", "Wren",
"Zion", "Arden", "Bellamy", "Channing", "Dale", "Eden", "Flannery",
"Gray", "Haven", "Indigo", "Joss", "Kerry", "Linden", "Merritt",
"Neal", "Orion", "Peyton", "Rain", "Sterling", "Tracy", "Vesper",
"Whittaker", "Yael", "Zephyr", "Ainsley", "Brett", "Collins", "Devon",
"Erie", "Farrell", "Greer", "Hollis", "Ira", "Jody", "Kelsey",
"Lark", "Merrill", "Nevada", "Olive", "Penn", "Raleigh", "Shiloh",
"Teal", "Upton", "Vale", "Ward", "Wynn", "Yale", "Baylor"
]
}