- Implemented `findMobDependencies.ts` to identify foreign key constraints referencing the Mob table and log dependent rows.
- Created `fullServerSetup.ts` for idempotent server setup, including economy items, item recipes, game areas, mobs, and optional demo mob attacks.
- Developed `removeInvalidMobsWithDeps.ts` to delete invalid mobs and their dependencies, backing up affected scheduled mob attacks.
- Added unit tests in `testMobUnit.ts` and `mob.test.ts` for mob functionality, including stats computation and instance retrieval.
- Introduced reward modification tests in `testRewardMods.ts` and `rewardMods.unit.ts` to validate drop selection and coin multiplier behavior.
- Enhanced command handling for mob deletion in `mobDelete.ts` and setup examples in `setup.ts`, ensuring proper permissions and feedback.
- Created utility functions in `testHelpers.ts` for deterministic drop selection from mob definitions.
- 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.
- Updated the Amayo client to use environment variables for configuration defaults.
- Improved cache and sweeper settings for message and user management.
- Added detailed error handling and logging during database connection and Discord login.
- Introduced a new interactive editor for creating and managing display components with modals.
- Implemented various editor actions including adding content, editing titles/descriptions, and managing components.
- Enhanced user feedback with ephemeral messages for actions taken in the editor.
- Updated database schema to set stackable items as non-stackable.
- Implemented migration script to convert existing stackable items to instances with durability.
- Fixed combat logic to ensure players lose if no weapon is equipped.
- Added admin commands for inventory debugging and resetting.
- Enhanced item display to show durability instead of quantity.
- Conducted thorough testing and validation of changes.
- Introduced separation between `tool` (for gathering) and `weaponTool` (for combat) in minigames.
- Adjusted durability reduction logic to apply a 50% reduction for weapons used in combat to prevent instant breakage.
- Updated `RunResult` type to include `weaponTool` information.
- Enhanced `runMinigame` logic to handle weapon degradation during combat scenarios.
- Updated user commands to reflect both tool and weapon durability in outputs.
- Modified scheduled mob attacks to respect the new durability system.
- Added comprehensive documentation on the new dual durability feature and its implications for gameplay balance.
- Refactored combat mechanics to utilize player equipment stats for damage and defense calculations.
- Implemented a system to track player HP across combat encounters, including regeneration rules upon defeat.
- Enhanced tool management by introducing a logging system for tool breaks, allowing players to view recent tool usage and breakage events.
- Added commands for viewing combat history and tool break logs, providing players with insights into their performance.
- Updated various game commands to utilize new formatting functions for combat summaries and tool information.
- Introduced a new mob data structure to define mob characteristics and scaling based on area levels.
- Reformatted code for consistent styling and indentation in service.ts
- Enhanced item reward structure in types.ts to include probability for chest rewards
- Added randomization modes for chest rewards: 'all', 'single', and 'roll-each'
- Updated functions in service.ts to handle new reward structures and improve error handling
- Ensured better organization and clarity in function parameters and return types
feat: implement area metadata blocks in game commands for enhanced area details
fix: refactor game commands to utilize new area metadata blocks and improve code consistency
feat: enhance Appwrite API integration with additional collections and storage support
refactor: update componentsV2 to support image blocks in display rendering
- Created README.md for static site documentation, detailing features, structure, local usage, and Heroku deployment.
- Added RESUMEN_CAMBIOS.md summarizing critical bug fixes, command updates, and documentation enhancements.
- Introduced SUGERENCIAS_Y_MEJORAS.md with a thorough analysis of the project, new feature suggestions, and technical improvements.
- Added interactive selection for offers in the `offerEdit` command, allowing users to choose an offer to edit.
- Improved permission checks with detailed error messages.
- Refactored editor display and components for better readability and user experience.
- Updated modal handling for various editing options (base, price, window, limits, metadata) to ensure consistent UI updates.
- Enhanced feedback messages for successful updates and cancellations.
- Integrated item fetching and formatting for better display of rewards in `pelear`, `pescar`, `plantar`, and `racha` commands.
- Improved item display in the shop command with consistent formatting and icons.