Commit Graph

233 Commits

Author SHA1 Message Date
Torsten Schulz (local)
c462001ff0 feat(bisaya): update household and children age rules to 14, adjust related instructions and migration
All checks were successful
Deploy to production / deploy (push) Successful in 3m14s
2026-09-09 14:16:41 +02:00
Torsten Schulz (local)
3d235a621a feat(bisaya): implement child marriage proposal and wooing features, update age rules and relationships
All checks were successful
Deploy to production / deploy (push) Successful in 3m15s
2026-09-08 14:46:26 +02:00
Torsten Schulz (local)
d50f78d91d feat(branches): add director assignment status and update overview view
Some checks failed
Deploy to production / deploy (push) Failing after 1m18s
2026-08-31 13:55:05 +02:00
Torsten Schulz (local)
4bcf9041af feat(certificate): add score breakdown and recommendations for certificate progression 2026-08-28 11:50:30 +02:00
Torsten Schulz (local)
8e72239358 feat(falukant): add noble title level to election eligibility checks and improve election filtering logic 2026-08-24 11:10:17 +02:00
Torsten Schulz (local)
684880a32e feat(politics): implement reconcilePoliticalVacancies endpoint and UI integration for managing political vacancies 2026-08-24 10:40:23 +02:00
Torsten Schulz (local)
a8a13ac25a feat(politics): update title eligibility messages and logic in PoliticsView 2026-08-19 15:06:44 +02:00
Torsten Schulz (local)
2703227a17 feat(politics): enhance office application feedback with required title details 2026-08-19 13:38:29 +02:00
Torsten Schulz (local)
420af99a60 feat(overview): enhance certificate status display with current and minimum values 2026-08-18 07:34:32 +02:00
Torsten Schulz (local)
0505c5a2c5 Hochzeitsfehler behoben 2026-08-12 12:04:04 +02:00
Torsten Schulz (local)
5ebcc581f9 feat(falukant): add character visual representation and settings
- Introduced FalukantCharacterVisual component to display character portraits and 3D figures based on user settings.
- Updated DirectorInfo, ChurchView, PoliticsView, and other components to utilize the new character visual component.
- Added visual settings management for users, allowing selection between portrait styles and display modes (portraits, 3D, or both).
- Implemented age rules for engagement and marriage in the backend, ensuring compliance with specified age limits.
- Created a new settings view for Falukant to manage visual preferences.
- Added new images for medieval character portraits.
- Updated translations for new settings and features in multiple languages.
2026-07-24 10:55:19 +02:00
Torsten Schulz (local)
a7e0fe1d97 Refactor code structure for improved readability and maintainability; optimize performance across multiple modules. 2026-07-21 09:08:15 +02:00
Torsten Schulz (local)
6b2b072ca4 Fehldende messages hinzugefügt 2026-06-09 12:05:10 +02:00
Torsten Schulz (local)
c5b91414c1 feat: Füge Debug-Overlay und Alters-/Geschlechtsanpassungen für 3D-Charaktere hinzu 2026-05-21 09:55:11 +02:00
Torsten Schulz (local)
81c726c24b feat(FalukantService): implement marriage honeymoon pregnancy scheduling logic
- Added a new method to ensure pregnancy scheduling for married couples after the wedding, allowing the system to manage pregnancy due dates effectively.
- Integrated checks for existing pregnancy and relationship flags to prevent duplicate scheduling.
- Updated family retrieval logic to include pregnancy status based on the new scheduling method, enhancing user experience in family management.
2026-05-13 22:07:46 +02:00
Torsten Schulz (local)
3135698ae0 feat(FalukantService): update election filtering to include future dates and enhance eligibility checks
- Modified the election query to filter for upcoming election dates instead of past ones, ensuring only future positions are considered.
- Added checks for prerequisites in election eligibility, allowing positions without prerequisites to be selectable, improving user experience in the application.
2026-05-08 08:30:03 +02:00
Torsten Schulz (local)
cd3b78c1a5 feat(FalukantService, MessagesDialog): enhance character data handling in notifications
- Added mappings for character titles and genders in the FalukantService to enrich notifications with additional character information.
- Updated the MessagesDialog component to utilize the new title and gender data, improving the display of director names based on their titles and genders.
- Ensured that character names are displayed correctly, enhancing the overall user experience in notifications.
2026-05-08 08:25:36 +02:00
Torsten Schulz (local)
d6a2909dd7 feat(Director): add autoAdjustIncome feature and enhance director data handling
- Introduced a new boolean field `autoAdjustIncome` in the Director model to manage income adjustments automatically.
- Updated the FalukantService to include `autoAdjustIncome` in director data responses and settings management.
- Enhanced the DirectorInfo component to allow users to toggle the `autoAdjustIncome` setting.
- Updated internationalization files to include translations for the new feature across multiple languages.
2026-05-07 13:29:09 +02:00
Torsten Schulz (local)
e642e63f80 feat(FalukantService, FamilyView): enhance marriage satisfaction handling
- Added logic to initialize marriage satisfaction to 100 for newly married couples in the FalukantService.
- Updated the FamilyView component to conditionally display marriage satisfaction only for married relationships, improving clarity in the UI.
- Ensured default values are used when marriage satisfaction is not explicitly set, enhancing user experience.
2026-05-07 09:40:58 +02:00
Torsten Schulz (local)
f6b1901717 feat(FalukantService): add numeric value conversion for money checks
- Introduced a new private method `_toNumericValue` to handle conversion of various input types to numeric values, ensuring proper validation of user money and requirement values.
- Updated `checkMoneyRequirement` method to utilize the new conversion logic, improving accuracy in money requirement checks by handling edge cases for non-finite values.
2026-05-05 08:03:05 +02:00
Torsten Schulz (local)
fdb7d32ea6 feat(FalukantService, CreateBranchDialog): implement dynamic branch cost calculation
- Added new constants and methods in FalukantService to calculate branch action costs based on owned branch types, enhancing the cost management logic.
- Updated the CreateBranchDialog to utilize the new cost calculation, ensuring accurate display of branch creation costs based on user-owned branches.
- Improved the handling of branch type costs, allowing for a more flexible and responsive user experience when creating and upgrading branches.
2026-04-27 14:35:45 +02:00
Torsten Schulz (local)
2b2e37fb43 feat(DayProduction, FalukantService, VocabLessonView): enhance vocabulary training and production tracking
- Added a new `completionCount` field to the DayProduction model to track the number of completed productions.
- Updated the FalukantService to aggregate completed productions using the new `completionCount` field, improving accuracy in production statistics.
- Introduced new vocabulary training features in VocabLessonView, including options to mark vocabulary as difficult and track remaining hard vocabulary, enhancing user engagement and learning effectiveness.
- Updated localization files for German and English to support new vocabulary training features, ensuring a consistent user experience across languages.
2026-04-21 15:44:44 +02:00
Torsten Schulz (local)
9f77305be6 feat(FalukantService, OverviewView): enhance church office information retrieval and UI display
- Refactored the `getHighestChurchOfficeInfo` method to utilize a new approach for retrieving the highest church office, improving accuracy and performance.
- Updated the `OverviewView` to format and display the highest political and church office names instead of raw rank values, enhancing user experience and clarity.
- Introduced a new method `formatCertificateHighestOffice` for better localization and presentation of office titles in the UI.
2026-04-17 17:17:17 +02:00
Torsten Schulz (local)
ec84780796 feat(FalukantService, i18n): enhance household tension handling and localization updates
- Added functionality to refresh and update household tension scores and reasons in the FalukantService, improving user experience by reflecting real-time household dynamics.
- Updated localization strings across multiple languages (Cebuano, German, English, Spanish, French) to include new office rank terminology and improved marriage crisis descriptions, enhancing clarity and context for users.
- Introduced a new office rank tier structure in localization files, providing better categorization and understanding of office ranks in the game.
2026-04-17 17:07:53 +02:00
Torsten Schulz (local)
4342e35b22 fix(FalukantService): update userHouse query attributes and transaction handling
- Modified the userHouse query to include 'id' in the attributes, improving data retrieval.
- Enhanced transaction handling in state and userHouse updates to ensure atomic operations, preventing potential data inconsistencies.
2026-04-17 16:58:41 +02:00
Torsten Schulz (local)
d3dc20a93f feat(falukant): refactor character ID resolution for political office checks
- Introduced a new method `resolveCharacterIdForOfficeChecks` to robustly resolve character IDs based on user references, improving the reliability of political office queries.
- Updated `getHighestPoliticalOfficeInfo` and `getHighestOfficeAnyInfo` methods to utilize the new character ID resolution logic, enhancing code clarity and reducing redundancy.
- Ensured that character ID retrieval handles both direct and fallback user references, streamlining the process of fetching political office information.
2026-04-15 15:47:31 +02:00
Torsten Schulz (local)
6897f0fadf feat(falukant): add political office catalog feature and localization updates
- Implemented the `getPoliticalOfficeCatalog` method in FalukantService to retrieve available political offices and their prerequisites based on user eligibility.
- Updated FalukantController and FalukantRouter to include a new endpoint for accessing the political office catalog.
- Enhanced PoliticsView component to display the list of political offices, including their details and application eligibility.
- Added localization entries for the new offices tab in both German and English, improving user experience and accessibility.
2026-04-15 15:30:24 +02:00
Torsten Schulz (local)
573151fd31 feat(falukant): add improve lover affection feature and localization updates
- Introduced the `improveLoverAffection` method in FalukantService to enhance relationship dynamics by allowing users to boost affection at a cost.
- Updated FalukantController and FalukantRouter to include the new endpoint for improving lover affection.
- Enhanced FamilyView component to provide a button for users to trigger the affection improvement action.
- Added localization entries for the new feature in multiple languages, ensuring clarity in user interactions regarding affection improvements.
2026-04-14 11:39:42 +02:00
Torsten Schulz (local)
abf5b42601 feat(falukant): enhance notification handling and localization updates
- Updated the `enrichNotificationsWithCharacterNames` method in FalukantService to include region name enrichment and handle additional character IDs.
- Introduced a new `serializeNotificationForClient` function to format notifications for the client, ensuring all relevant data is included.
- Enhanced the MessagesDialog component to merge notification payloads and extract parameters more effectively, improving the clarity of displayed messages.
- Added new localization entries for director resignation risk and regional festival effects in multiple languages, ensuring comprehensive user notifications.
2026-04-14 08:06:56 +02:00
Torsten Schulz (local)
dfa6a58a57 feat(falukant): add transport cost option to product price calculations
- Updated the `getProductPricesInCitiesBatch` method in FalukantService to accept an options parameter for including transport costs in price calculations.
- Modified the tax calculation logic to conditionally apply transport costs based on the new parameter, enhancing the accuracy of pricing based on regional differences.
- Adjusted the FalukantController to pass the includeTransportCosts option from the request body, improving flexibility in pricing queries.
2026-04-13 16:11:53 +02:00
Torsten Schulz (local)
4117ec0ce0 feat(falukant): refine tax calculation logic to handle political office exemptions
- Updated the tax calculation in FalukantService to ensure no exemptions are applied for political offices, streamlining the cumulative tax query.
- Enhanced the SQL query to accurately compute cumulative tax while excluding exempted ancestor levels based on office, improving overall accuracy in tax assessments.
2026-04-13 16:05:41 +02:00
Torsten Schulz (local)
ca16b1acf2 feat(falukant): enhance tax calculation and update messaging parameters
- Updated the tax calculation logic in FalukantService to include character-based checks for political offices, improving accuracy in tax assessments.
- Enhanced the MessagesDialog component to incorporate additional parameters such as satisfaction, threshold_percent, director_id, and director_character_id, providing more detailed notifications.
- Added new localization entries for director resignation risk notifications in multiple languages, ensuring users receive clear and contextual information regarding director dynamics.
2026-04-13 15:58:30 +02:00
Torsten Schulz (local)
e799cf4574 feat(falukant): add scandalExtraDailyPct field and update related components
- Introduced a new field `scandalExtraDailyPct` in the relationship state model to track additional scandal risk per day, with validation constraints.
- Updated the FalukantService to include the new field in relevant calculations and data handling.
- Enhanced the frontend components, including RevenueSection and FamilyView, to display the scandal risk information and updated price calculations.
- Added localization entries for the new field in multiple languages to ensure clarity for users.
2026-04-13 15:31:47 +02:00
Torsten Schulz (local)
2ce1d0ac22 feat(falukant): update production counting logic and enhance localization
- Modified the production counting logic in FalukantService to count each completed production directly from the falukant_log.production table, simplifying the query structure.
- Added a new localization entry for "scoreHowToRaise" in Cebuano, German, English, Spanish, and French to provide users with clear guidance on how to improve their score through various factors.
- Updated the OverviewView component to display the new score improvement information, enhancing user experience and understanding of scoring dynamics.
2026-04-13 13:59:37 +02:00
Torsten Schulz (local)
b5a1c334fb feat(falukant): enhance marriage actions with production delay handling and UI updates
- Implemented logic in FalukantService to delay running productions when spending time with a spouse, updating the start timestamp accordingly.
- Enhanced the response from the spend time API to include details about delayed productions and household order changes.
- Updated FamilyView component to display the cost of marriage actions and added a help section detailing the effects of actions, including production delays.
- Added new translations for action effects in multiple languages to improve user understanding of the marriage actions.
2026-04-13 12:09:17 +02:00
Torsten Schulz (local)
39d401315c fix(falukant): validate office term length and adjust term end calculation
- Added validation for office term length to ensure it is a positive finite number, throwing an error for invalid values.
- Updated the calculation of the term end date to use the term length in days instead of years, aligning with the expected data format.
2026-04-10 16:08:50 +02:00
Torsten Schulz (local)
c90d40ea5b feat(falukant): enhance reputation handling in character checks
- Added the 'reputation' attribute to the character query in FalukantService, improving data retrieval for nobility requirements.
- Refactored the `checkReputationRequirement` method to streamline reputation checks, ensuring it handles undefined or null values more effectively, enhancing reliability in user character evaluations.
2026-04-10 08:45:54 +02:00
Torsten Schulz (local)
9bf04d77d1 fix(falukant): improve product pricing logic and update localization for office notifications
- Refactored the product pricing logic in `falukantService.js` to ensure accurate regional pricing calculations based on client values and server data.
- Added new notification translations for "office filled" in multiple languages (Cebuano, German, English, Spanish, French) to enhance user experience and clarity in notifications.
2026-04-09 09:21:47 +02:00
Torsten Schulz (local)
c865bbd819 feat(falukant): enhance product pricing and nobility advancement features
- Updated the `getAllProductPricesInRegion` method in `FalukantService` to accept additional parameters for network worth and branch ID, improving pricing calculations based on user branches.
- Enhanced the nobility advancement logic in `NobilityView` to display unmet requirements clearly, providing users with better feedback on advancement conditions.
- Refactored the revenue calculation in `ProductionSection` to utilize a cached product prices object, optimizing performance and reducing redundant API calls.
- Updated localization files to include new translations for attack sources across multiple languages, enhancing the user experience for diverse audiences.
- Removed obsolete C++ worker references and streamlined the retention logic for production logs, ensuring efficient data management.
2026-04-09 09:08:32 +02:00
Torsten Schulz (local)
f82f1a2437 feat(user): add certificate production tracking and update localization
- Introduced a new field `certificateProductionsCountSince` in the `FalukantUser` model to track the date from which production logs are counted for certificate requirements.
- Updated the `FalukantService` to utilize the new field for calculating completed productions since the specified date.
- Enhanced the UI to display the count of productions since the last promotion, with corresponding translations added for multiple languages including Cebuano, German, English, Spanish, and French.
- Implemented a method to delete old production logs, ensuring efficient data management while maintaining necessary historical records for certificate calculations.
2026-04-09 08:19:19 +02:00
Torsten Schulz (local)
7ff5e9af52 feat(political-office): enhance political office benefits and salary computation
- Added a new hierarchyLevel field to PoliticalOfficeType for better categorization of political roles.
- Updated computePoliticalDailySalaryPayout function to incorporate hierarchy level in salary calculations, allowing for more dynamic salary adjustments based on office rank.
- Modified SQL scripts to reflect changes in political office benefits, ensuring compatibility with the new salary structure.
- Enhanced localization files to support updated benefit descriptions and salary formats across multiple languages.
- Improved UI components to display the new salary calculations and benefits accurately in the PoliticsView.
2026-04-02 16:49:18 +02:00
Torsten Schulz (local)
5934661746 feat(political-benefits): implement political powers and benefits system
- Added new political powers and benefits functionalities, including reputation ticks, tax jurisdiction management, and appointment capabilities.
- Introduced a new job for periodic reputation updates and created necessary database tables for tracking political benefits.
- Enhanced the FalukantController and services to support new endpoints for managing political powers and appointments.
- Updated localization files to reflect new features and improve user experience across multiple languages.
- Modified the UI to display new political powers and benefits, ensuring accurate representation in the PoliticsView.
2026-04-02 16:00:29 +02:00
Torsten Schulz (local)
6988a2c0ac feat(politics): add new political office benefits and enhance database migration
- Introduced new benefits including 'reputation_periodic', 'appoint_politicians', 'set_regional_tax', 'free_lover_slots', 'guard_protection', and 'court_immunity' to the political office system.
- Updated database migration to add and remove the 'last_political_daily_salary_on' column using SQL queries for better performance.
- Enhanced localization files for multiple languages to support new benefits, improving user experience across the application.
- Updated UI components to display new benefits correctly in the PoliticsView, ensuring accurate representation of political office functionalities.
2026-04-02 15:27:05 +02:00
Torsten Schulz (local)
1adbbe5cfb feat(vocab): add dashboard learning summary and related endpoints
- Introduced `getDashboardLearningSummary` method in `VocabService` to provide a compact overview of enrolled courses and current lessons for users.
- Updated `vocabController` to include a new route for the dashboard widget, allowing users to access their learning summary.
- Enhanced `vocabRouter` to route requests for the new dashboard widget endpoint.
- Added localization support for the new dashboard features across multiple languages, improving user engagement and accessibility.
- Updated UI components to integrate the new dashboard widget, ensuring a seamless user experience.
2026-04-02 15:06:50 +02:00
Torsten Schulz (local)
1243ab2557 feat(falukant): implement score threshold logic and enhance UI feedback for certificate progression
- Added a new function to calculate score thresholds based on certificate levels, improving the logic for determining promotion eligibility.
- Updated the FalukantService to include new properties for score and requirement checks, enhancing the decision-making process for certificate readiness.
- Enhanced the OverviewView component to display detailed hints and states regarding certificate progression, providing users with clearer feedback on their status.
- Localized new strings in multiple languages to support the updated UI elements and hints, improving user experience across different languages.
2026-04-01 15:47:11 +02:00
Torsten Schulz (local)
412ee708c2 feat(falukant): enhance relationship state handling and director updates
- Updated FalukantService to return user information alongside relationship state for improved context in relationship management.
- Modified DirectorInfo component to trigger a refresh when a new director is hired, ensuring up-to-date information.
- Added socket event handling for 'directorchanged' in BranchView to manage director updates effectively, enhancing real-time responsiveness in the application.
2026-03-31 12:09:55 +02:00
Torsten Schulz (local)
9f60ceb332 feat(falukant): add age information to lovers in family view
- Updated FalukantService to include age details for partners in relationships.
- Added translations for 'age' in English, German, and Spanish localization files.
- Enhanced FamilyView component to display age information for lovers and candidates, improving user experience.
2026-03-31 11:36:12 +02:00
Torsten Schulz (local)
5c74c7c98c feat(falukant): enhance child details with other parent information and birth context
- Updated FalukantService to include father and mother character IDs in child relationships.
- Added logic to retrieve and display other parent details in ChildDetailsDialog and FamilyView components.
- Introduced new translations for 'other parent' and 'birth context' in English, German, and Spanish localization files.
- Enhanced UI to show other parent information and birth context in child detail views.
2026-03-31 10:29:22 +02:00
Torsten Schulz (local)
4f616e7f9f feat(family): enhance family view and character pregnancy handling
- Updated the FalukantCharacter model to include a default scope that excludes pregnancy-related fields for compatibility with older databases.
- Implemented a new method in FalukantService to conditionally retrieve pregnancy information based on database schema.
- Enhanced the FamilyView component to display a summary navigation for family relationships, including partners, children, and lovers.
- Updated internationalization files to include new translations for family-related terms and summaries.
2026-03-30 14:36:02 +02:00
Torsten Schulz (local)
b5df09be9b feat(admin): implement pregnancy and birth management features
- Added new admin functionalities to force pregnancy, clear pregnancy, and trigger birth for characters.
- Introduced corresponding routes and controller methods in adminRouter and adminController.
- Enhanced the FalukantCharacter model to include pregnancy-related fields.
- Created database migration for adding pregnancy columns to the character table.
- Updated frontend views and internationalization files to support new pregnancy and birth management features.
- Improved user feedback and error handling for these new actions.
2026-03-30 13:44:43 +02:00