- Implemented end-to-end integration tests covering database reset, bootstrap admin creation, demo user provisioning, scenario installation, and general creation.
- Added support for deterministic seeding and auto admin general creation.
- Created a new package for integration tests with necessary configurations and scripts.
- Updated various modules to support new features, including admin user handling and scenario seeding.
- Enhanced error handling and validation in the join and orchestrator modules.
- Added new installation options to GatewayAdminActionRecord and implemented parsing logic in gatewayOrchestrator.ts.
- Updated resolveResetSeedInfo to accommodate new scenario installation parameters.
- Introduced a new scenario catalog module to manage scenario previews and details.
- Enhanced AdminView.vue to include a comprehensive installation form with various configuration options.
- Implemented scenario listing and selection functionality in the frontend.
- Updated profile repository to support scenario updates.
- Added tests to cover new functionalities and ensure stability.
- Added support for city selection in MapViewer, allowing users to click on cities to view details.
- Integrated map layout data to improve city rendering and positioning.
- Introduced SelectedCityPanel to display information about the selected city.
- Updated map asset handling with utility functions for building asset URLs.
- Enhanced state management in mapViewer store to track selected city.
- Improved responsiveness and styling of map components.
- Added new API endpoint for loading map layouts from legacy data.
- Added session initialization in main.ts to manage user sessions.
- Updated router to include a new route for joining or creating a general.
- Enhanced session store with methods for managing session tokens and user profiles.
- Introduced new components for displaying city, general, nation, and command information.
- Implemented loading states and error handling in the main view.
- Created a skeleton loader component for better user experience during data fetching.
- Updated TypeScript definitions for route metadata to include new authentication requirements.
- Add index.html as the entry point for the application.
- Create App.vue to serve as the main application component with RouterView.
- Implement global styles in main.css using Tailwind CSS.
- Set up TypeScript definitions for Vue components in env.d.ts.
- Configure Vue Router with routes for home, public, login, and not found views.
- Extend RouteMeta interface to include authentication-related metadata.
- Create a Pinia store for session management with status tracking.
- Implement TRPC client for API communication with session token handling.
- Develop views for Login, Main, Not Found, and Public with basic structure.
- Configure TypeScript for Node with tsconfig.node.json.
- Set up Vite configuration for the project with Vue and Tailwind CSS plugins.
- Updated multiple command specifications across various files to replace 'args' with 'availabilityArgs' for better clarity and consistency in argument handling.
- Removed empty 'args' objects in several command specifications to streamline the code.
- Ensured that all relevant commands in both general and nation action directories reflect these changes.
- Introduced `argsSchema` property in `TurnCommandSpecBase` to enforce argument validation using Zod.
- Refactored argument parsing in multiple action modules (e.g., `che_NPC능동`, `che_강행`, `che_건국`, etc.) to utilize Zod schemas for improved type safety and validation.
- Removed redundant manual checks for argument types and replaced them with Zod's validation mechanisms.
- Enhanced code maintainability and readability by centralizing argument validation logic.
- Introduced `policies.ts` to define AI policies for generals and nations, including priority actions and flags.
- Implemented `AutorunGeneralPolicy` class to manage general-specific actions based on AI options and server/nation policies.
- Implemented `AutorunNationPolicy` class to handle nation-specific actions, including resource requirements and combat strategies.
- Added types for AI context and world view in `types.ts` to facilitate interaction with game state and entities.
- Added '병법24편' book item to enhance intelligence by 13.
- Added '오자병법' book item to enhance intelligence by 14.
- Added '한비자' book item to enhance intelligence by 14.
- Added '노자' book item to enhance intelligence by 15.
- Added '손자병법' book item to enhance intelligence by 15.
- Introduced '동작' item to increase dexterity by 20%.
- Implemented '옥벽' item for a 20% chance to steal resources in battle.
- Created '상한잡병론' book item to improve city healing efficiency by 50%.
- Developed '정력견혈산' book item to enhance city healing efficiency by 100%.
- Added '청낭서' book item to improve city healing efficiency by 50%.
- Introduced '태평청령' book item to improve city healing efficiency by 50%.
- Added '매화수전' item for a 50% sniping chance during strategy attempts.
- Created '비도' item for a 50% sniping chance during strategy attempts.
- Developed '수극' item for a one-time sniping action at the start of battle.
- Introduced '삼황내문' item to halt enemy phases during defense.
- Added '평만지장도' item to reduce cooldown for national strategies by 20%.
- Created '주판' item to enhance resource acquisition success and quantity.
- Developed '박혁론' item to negate enemy strategies and rage effects.
- Introduced '전국책' item to increase damage by 30% on successful strategies.
- Added '낙주' item to reduce conscription costs and maintain population.
- Created '오악진형도' item to increase damage against regional units.
- Developed '둔갑천서' item to enhance critical hit probability by 20%.
- Introduced '서촉지형도' item to increase attack phase by 2.
- Added '논어집해' item to improve strategy success rate and damage.
- Created '태평요술' item to enhance evasion probability by 20%.
- Developed '단결도' item to increase training efficiency by 15.
- Introduced '철벽서' item to increase training efficiency by 15.
- Created '청주' item to provide a one-time training boost of 40.
- Introduced new traits including '귀병', '신산', '환술', '집중', '신중', '반계', '돌격', '무쌍', '견고', '위압', '저격', '필살', '격노', and '척사'.
- Implemented selection criteria for each trait, specifying weight, weight type, and requirements based on leadership, strength, intelligence, and army types.
- Updated existing traits to include selection properties for better trait management.
- Added a new requirements module to define trait requirements and weight types.
- Enhanced the trait selection logic to accommodate new traits and their specific conditions.
- Implemented '궁병' trait with bonuses for archer units, including reduced recruitment costs and increased evasion.
- Added '기병' trait providing cavalry units with damage bonuses and reduced recruitment costs.
- Introduced '돌격' trait enhancing attack phases and damage against equal or weaker unit types.
- Created '무쌍' trait that increases damage and reduces damage taken based on the number of victories.
- Developed '반계' trait to reduce enemy strategy success rates and reflect damage back.
- Added '보병' trait with reduced recruitment costs and damage penalties for allies during attacks.
- Implemented '신산' trait enhancing magic success rates for various strategies.
- Created '신중' trait guaranteeing strategy success.
- Added '위압' trait to activate pressure effects on the first phase of battle.
- Implemented '저격' trait allowing for a chance to activate a sniping effect against new opponents.
- Developed '집중' trait to increase damage on successful strategies.
- Created '척사' trait providing damage bonuses against regional and city units while reducing ally damage.
- Implemented '필살' trait enhancing critical hit chances and disabling enemy evasion on critical hits.
- Added '환술' trait to boost magic success rates and damage on successful magic attacks.
- Consolidated array elements in scenario_903.json, scenario_904.json, scenario_905.json, scenario_906.json, scenario_908.json, scenario_910.json, scenario_911.json, scenario_912.json, and scenario_913.json to single-line format for better clarity.
- Removed unnecessary line breaks and whitespace in availableGeneralCommand and events sections across multiple scenario files.
- Ensured consistent formatting of event definitions, particularly for destroy_nation and OpenNationBetting events.
- Changed SpecialActionKind to TraitKind and updated its usage across the codebase.
- Refactored SpecialActionSpec to TraitSpec and updated all references.
- Updated the SpecialActionModule and related interfaces to TraitModule.
- Added personality traits with corresponding modules and loaders.
- Updated tests to reflect the new Trait structure and naming conventions.
- Adjusted imports and exports to align with the new Trait system.