148 Commits

Author SHA1 Message Date
Torsten Schulz (local)
ac5ec3a245 Enhance Falukant family dynamics: Updated the FalukantFamilyWorker to incorporate marriage buffs and detailed age rules for relationships. Added new WebSocket events for real-time updates and expanded SQL queries to support marriage state and buff management, improving overall family interaction and satisfaction tracking. 2026-03-20 11:02:28 +01:00
Torsten Schulz (local)
6a5ff4557e Add FalukantFamilyWorker and related SQL queries: Introduced the FalukantFamilyWorker to manage family-related logic, including marriage satisfaction and relationship states. Added new SQL queries for handling lover relationships and marriage updates, enhancing the overall functionality of family dynamics in the application. 2026-03-20 10:26:15 +01:00
Torsten Schulz (local)
f9c80bbd6b Enhance pregnancy candidate query: Refactored SQL query to calculate pregnancy probabilities based on mother's age, utilizing a common table expression (CTE) for improved clarity and maintainability. The new logic replaces the previous average age calculation with a more detailed age-based probability assessment, ensuring accurate filtering of candidates. 2026-03-19 09:13:36 +01:00
Torsten Schulz (local)
6757aa363f Refactor event handling in EventsWorker: Consolidated money change, storage capacity change, and character health change logic into dedicated methods for improved clarity and maintainability. This change enhances the handling of various event effects while preserving existing functionality. 2026-03-10 22:04:54 +01:00
Torsten Schulz (local)
9961b91c4f Enhance event handling for money changes in EventsWorker: Introduced special cases for 'windfall' and 'theft' events, allowing for random monetary adjustments based on current user funds. Updated logic to ensure accurate percentage and absolute changes while maintaining existing functionality for standard money change events. 2026-03-10 17:07:14 +01:00
Torsten Schulz (local)
5d0dd41c3f Refactor event handling for character death: Updated the EventsWorker to ensure only player characters are notified of sudden child deaths, while NPCs are excluded. Adjusted health update logic to prevent player characters from reaching zero health due to accidents or illnesses. Enhanced SQL queries to filter characters based on user ID, improving clarity and functionality. 2026-03-02 00:36:21 +01:00
Torsten Schulz (local)
69dad6854a Enhance money change functionality in EventsWorker: Updated the MoneyChange event effect to include an optional minimum absolute positive value, ensuring that money changes do not result in zero for positive adjustments. Introduced a new SQL query for inserting money history, improving reliability in tracking monetary changes for users. 2026-02-06 07:40:25 +01:00
Torsten Schulz (local)
4baf88b0cf Enhance SQL query for character region filtering: Updated the query to use a recursive common table expression (CTE) for retrieving region IDs, allowing for more comprehensive region hierarchy handling. This change improves the accuracy of character selection based on regional relationships while maintaining existing filtering criteria. 2026-02-05 23:59:20 +01:00
Torsten Schulz (local)
1e565e6dd9 Refactor money change handling in EventsWorker: Updated the logic for applying money changes to use the current money value for calculations, ensuring accurate adjustments. Introduced a new method to retrieve the current money of a user, enhancing error handling and improving the overall clarity of the code. 2026-02-05 08:16:54 +01:00
Torsten Schulz (local)
deaf5ac6ca Refactor variable naming in DirectorWorker: Updated variable names to improve code clarity by prefixing with underscores for unused variables. This change enhances readability and maintains functionality without altering logic. 2026-02-04 14:50:39 +01:00
Torsten Schulz (local)
d94fa791b3 Add child relation deletion by parent query: Introduced a new SQL query to delete child relations where the character is either a father or mother. Updated relevant workers to execute this query before deleting child relations, ensuring proper cleanup of relationships during character deletion. 2026-02-04 14:46:57 +01:00
Torsten Schulz (local)
2293c1204b Add SQL query for product price history: Introduced a new query to insert regional product prices into the history table, calculating prices based on sell cost and worth percentage. Updated ValueRecalculationWorker to log current prices for affected regions, enhancing price tracking functionality. 2026-02-04 09:10:31 +01:00
Torsten Schulz (local)
00cb97ec57 Enhance logging for sales checks in DirectorWorker: Added detailed logging statements to track the sales verification process, including cases with no items to sell and the number of inventory items found. This improves visibility into the sales workflow and aids in debugging. 2026-02-02 15:48:53 +01:00
Torsten Schulz (local)
85b4c73c11 Update user money handling to prevent serialization errors: Adjusted the SQL query to cast money as numeric and modified the UserCharacterWorker to clamp and format the money value before executing the update. This change ensures valid numeric input and enhances error handling for user transactions. 2026-02-02 15:29:53 +01:00
Torsten Schulz (local)
658a9034ed Add SQL query to count children by user: Introduced a new query to count distinct children associated with a user across all their characters. Updated UserCharacterWorker to utilize this new query, replacing the previous count query. This enhances user-specific data retrieval capabilities. 2026-02-02 15:25:13 +01:00
Torsten Schulz (local)
460310ae89 Refactor error handling in ProduceWorker: Simplify error logging by removing detailed error messages and replacing them with silent error handling. This change streamlines the code and reduces console output during production processing, while maintaining functionality. 2026-02-02 15:18:44 +01:00
Torsten Schulz (local)
2f875d6c1c Refactor SQL query for finished productions: Update to use DISTINCT ON for unique production IDs, change JOINs to LEFT JOINs for character and director relationships, and simplify capacity checks to ensure sufficient storage for productions. Adjust ordering for improved query performance. 2026-02-02 15:04:56 +01:00
Torsten Schulz (local)
340c658ad1 Implement character death handling and periodic checks: Add logic to process characters with health <= 0 in EventsWorker and UserCharacterWorker, including immediate death handling during health updates and a scheduled death check every 12 hours. Introduce a new SQL query to retrieve characters with zero health. 2026-02-02 08:05:12 +01:00
Torsten Schulz (local)
972ef2b714 Reduce probabilities and effects of various random events in EventsWorker: Adjusted the likelihood and impact of events such as character illness, accidents, regional epidemics, and earthquakes to balance gameplay dynamics. 2026-01-31 08:58:15 +01:00
Torsten Schulz (local)
f6d566427a Add immediate handling for deceased characters in health update: Implement logic to check if a character's health is less than or equal to zero and handle their death accordingly, improving character state management. 2026-01-31 08:55:49 +01:00
Torsten Schulz (local)
c24aa63f97 Fix SQL query parameter order in inventory update: Swap parameters in the execute call to correctly update inventory quantity based on the new quantity and inventory ID. Add comment for clarity on SQL operation. 2026-01-29 16:10:34 +01:00
Torsten Schulz (local)
9f1c54fde9 automatic apply on church jobs 2026-01-29 11:20:45 +01:00
Torsten Schulz (local)
55a86f75f1 Improve stock creation logging in StockageManager: Add detailed logging for the number of new stocks created and errors encountered during the stock addition process. Update randomness threshold for stock creation to increase the likelihood of stock generation per town. 2026-01-29 08:21:48 +01:00
Torsten Schulz (local)
45287837bc Enhance house creation logging in HouseWorker: Add detailed logging for the number of new buyable houses created and errors encountered during the process. Update SQL query to increase the randomness threshold for house selection, improving the variety of houses retrieved. 2026-01-29 08:18:56 +01:00
Torsten Schulz (local)
31998e310c Implement capacity check in ProduceWorker: Add a method to verify available storage before processing finished productions, ensuring that production only occurs if sufficient capacity is present. Update SQL query to reflect the new capacity validation logic for improved reliability in production handling. 2026-01-29 08:10:38 +01:00
Torsten Schulz (local)
05e6155e38 Enhance capacity management in DirectorWorker: Retrieve current capacity values directly from the database to prevent race conditions, calculate free capacity based on real-time data, and ensure production only occurs if sufficient storage is available. Update SQL query to check for adequate storage before returning production results. 2026-01-28 16:36:30 +01:00
Torsten Schulz (local)
4b4d84b15c Implement overproduction notification handling in ProduceWorker: Add logic to check for existing notifications and update them if necessary, or create a new notification if none exist. Introduce SQL queries for finding and updating overproduction notifications to enhance database interactions. 2026-01-28 15:06:48 +01:00
Torsten Schulz (local)
710a2a62b2 Refactor SQL query in DirectorWorker: Remove original_sell_cost from selection and enhance cost resolution logic for improved clarity and efficiency in database interactions. 2026-01-28 14:46:57 +01:00
Torsten Schulz (local)
1d9a7ba8a0 Refactor product cost retrieval in DirectorWorker: Simplify the SQL query by removing the original_sell_cost from the selection, and adjust the cost resolution logic to improve clarity and efficiency in database interactions. 2026-01-28 14:41:27 +01:00
Torsten Schulz (local)
c9e0781b61 Update dependencies and enhance WebSocket server logging: Add 'chrono' and 'android_system_properties' to Cargo.lock, improve error handling and logging in websocket_server.rs, and streamline character creation notifications in worker modules for better clarity and maintainability. 2026-01-28 14:21:28 +01:00
Torsten Schulz (local)
2ac474fe0c Refactor relationship type retrieval in user character workers: Simplify the extraction of relationship types in UserCharacterWorker, CharacterCreationWorker, and EventsWorker by replacing and_then with map for improved readability and consistency. 2026-01-23 10:52:59 +01:00
Torsten Schulz (local)
c8668c59eb Refactor relationship type retrieval in character workers: Simplify the extraction of relationship types in CharacterCreationWorker, EventsWorker, and UserCharacterWorker by streamlining the use of and_then for better readability and maintainability. 2026-01-23 10:48:15 +01:00
Torsten Schulz (local)
0399333163 Enhance relationship deletion logging across workers: Implement detailed logging for the number of deleted relationships in CharacterCreationWorker, EventsWorker, and UserCharacterWorker, improving traceability and user awareness during character interactions. 2026-01-23 10:46:32 +01:00
Torsten Schulz (local)
7305a71438 Enhance relationship deletion process in character management: Implement detailed logging for deleted relationships, including related user and character IDs, and relationship types. Introduce special notifications for engaged relationships to improve user awareness during character events. 2026-01-22 09:35:21 +01:00
Torsten Schulz (local)
70d8e53216 Add new random events in EventsWorker: Introduce 'character_rest' and 'character_healer' events to enhance gameplay dynamics. Each event includes unique probabilities, descriptions, and health effects, enriching the personal event experience for characters. 2026-01-21 11:26:23 +01:00
Torsten Schulz (local)
0083d7be23 Add daily cleanup of old notifications in EventsWorker: Implement a new method to delete notifications older than 30 days, enhancing database management and reducing clutter. Update run loop to trigger this cleanup daily, ensuring timely maintenance of notification records. 2026-01-15 13:45:31 +01:00
Torsten Schulz (local)
fc1b0c2259 Refactor personal event handling in EventsWorker: Introduce a new CharacterInfo struct to encapsulate character details extracted from event effects. Streamline the application of personal effects by consolidating logic into a single method, improving clarity and maintainability. Enhance notification creation by directly incorporating character information, ensuring accurate event communication. 2026-01-15 13:33:39 +01:00
Torsten Schulz (local)
63a89588ac Refactor event notification handling in EventsWorker: Simplify notification creation by removing unnecessary value object and directly incorporating character information into the notification JSON. Add early exit for events with no effects, improving clarity and efficiency in event processing. 2026-01-15 13:27:30 +01:00
Torsten Schulz (local)
f32c4b1456 Add sleep management for productions in ProduceWorker: Implement logic to set productions to sleep when storage capacity is insufficient. Introduce methods for processing and retrieving sleep productions, enhancing inventory management and production flow control. 2026-01-14 15:26:15 +01:00
Torsten Schulz (local)
f133f3999e Update SQL query to exclude characters without associated user IDs: Modify the QUERY_GET_REGION_CHARACTERS to ensure only characters with a valid user_id are selected, enhancing data integrity and relevance in region-specific character retrieval. 2026-01-14 10:28:13 +01:00
Torsten Schulz (local)
e1e4c08d38 Improve logging in WebSocket server: Enhance connection acceptance and WebSocket handshake messages for better clarity. Update error messages for connection failures and refine logging for TLS and non-TLS connections, ensuring comprehensive diagnostics and user awareness. 2026-01-12 16:54:08 +01:00
Torsten Schulz (local)
1505d3d004 Refactor production initiation logic in DirectorWorker: Update the create_single_production method to return the produced quantity, enhancing the loop's decision-making process. Improve error handling and logging for production failures, ensuring better capacity management and preventing race conditions during production checks. 2026-01-12 16:52:18 +01:00
Torsten Schulz (local)
40df17ee91 Enhance logging in WebSocket server: Add detailed logging for TLS initialization, TCP connection acceptance, and WebSocket handshake processes. Improve error messages to provide clearer feedback on potential issues, enhancing overall server diagnostics and user awareness. 2026-01-12 16:46:30 +01:00
Torsten Schulz (local)
5f55aeea99 Refactor money change action string in EventsWorker: Simplify the action string for money history by differentiating between positive and negative changes. Remove unnecessary parameters from the function signature to enhance clarity and maintainability. 2026-01-12 16:38:38 +01:00
Torsten Schulz (local)
408221ffb4 Refactor notification structure in EventsWorker: Simplify the JSON notification format by separating the value object and ensuring it only contains relevant data without translations. Update action string for money changes to include specific event titles, enhancing clarity for frontend access. 2026-01-12 16:35:47 +01:00
Torsten Schulz (local)
5475ae24f6 Refactor production calculation in DirectorWorker: Update the logic for determining the number of items to produce, ensuring it adheres to capacity constraints and maximum production limits. Add safety checks and logging for potential errors in production calculations, enhancing reliability and debugging capabilities. 2026-01-12 14:01:18 +01:00
Torsten Schulz (local)
b858f5c385 Adjust event probabilities in EventsWorker: Reduce the occurrence rates of various random events to 25% of their original values for better game balance. Update character health change effects to limit maximum health reduction based on user feedback. Enhance notification structure to include money change details for improved frontend access. 2026-01-09 09:30:59 +01:00
Torsten Schulz (local)
01d45d5f65 Enhance character event notifications in EventsWorker: Update character health change and death handling to include first and last names in notifications. Modify SQL queries to retrieve character names, ensuring accurate user feedback. Refactor notification structure for better organization and clarity. 2026-01-07 11:33:23 +01:00
Torsten Schulz (local)
282f6542fe event adjusted for epidemic 2026-01-07 11:15:20 +01:00
Torsten Schulz (local)
f96e474f32 Add random heir fallback logic in EventsWorker: Implement a new SQL query to select a random NPC heir from the same region when no children are available. Enhance error handling to log cases where no heir is found, ensuring better user feedback and maintaining character associations. Update UserCharacterWorker to utilize this new logic for heir assignment. 2026-01-07 10:14:24 +01:00