Refactor item property parsing and centralize utility functions

- Moved `parseItemProps` function to `core/utils.ts` for reuse across modules.
- Updated various services to import and utilize the centralized `parseItemProps`.
- Introduced new utility functions for handling consumable cooldowns and healing calculations.
- Enhanced mob management with a new repository system, allowing for dynamic loading and validation of mob definitions from the database.
- Added admin functions for creating, updating, listing, and deleting mobs, with validation using Zod.
- Implemented tests for mob management functionalities.
- Improved error handling and logging throughout the mob and consumable services.
This commit is contained in:
Shni
2025-10-14 12:57:53 -05:00
parent cd1db9d6eb
commit f36fa24e46
21 changed files with 1483 additions and 439 deletions

18
scripts/testMobData.ts Normal file
View File

@@ -0,0 +1,18 @@
import {
initializeMobRepository,
getMobInstance,
listMobKeys,
} from "../src/game/mobs/mobData";
async function run() {
console.log("Initializing mob repository...");
await initializeMobRepository();
console.log("Available mob keys:", listMobKeys());
const inst = getMobInstance("slime.green", 3);
console.log("Sample slime.green @ lvl3 ->", inst);
}
run().catch((e) => {
console.error(e);
process.exit(1);
});