MRMJ-1: Messenger & Skills fixes

This commit is contained in:
Mind Rapist
2025-12-14 05:05:08 +02:00
parent d6365aafa2
commit b0e8c0bb2b
26 changed files with 624 additions and 214 deletions

View File

@@ -2,16 +2,28 @@
This repository contains all client-side data, including locale files, configurations, and descriptive text used by the game client.
## ✨ Critical Fix: Skill 19 Speed Sync
## Changelog 📋
Sync with the fix in the server's `skill_proto` to resolve an issue where characters became unable to move after being affected by Strong Body (due to an incorrect `MOV_SPEED` value).
### 🐛 Bug Fixes
* **Skill 19:** Applied the correct `MOV_SPEED` value fix for Skill 19 across all locales.
* **Messenger - UI:** Fixed a critical UI issue where the name of a recently removed friend would sometimes appear on top of the next name in the list, or the "Empty" string, if it was selected during the removal process.
This client repository contains the necessary sync fix:
* **Fixed `MOV_SPEED` value for Skill 19** in `locale/en/skilldesc.txt` and `locale/en/skilltable.txt`.
### ⚠️ IMPORTANT: Locale Synchronization
The fix listed above has **only been applied to the `locale/en` (English) files.**
**If you use any other locale (e.g., German, French, etc.), you must manually update the `MOV_SPEED` value for Skill 19 in your respective `skilldesc.txt` and `skilltable.txt` files to match the change.**
### ⬆️ Feature Improvements
* **Messenger System:**
* **Live Status Updates:** Live updates for adding/removing friend for both parties.
* **Auto-Deselect:** When a player removes a friend, or is removed by one, the entry is automatically deselected in the Messenger window.
* **Early Initialization:** The Messenger window is now automatically initialized (without visually opening the window) upon starting the game phase, allowing it to receive real-time updates from the very beginning.
* **Request Handling:** Pressing the `Escape` key while the request dialog is open now denies the request normally.
* **Button State:** The Whisper and Delete buttons are automatically disabled when removing/getting removed by a friend with the Messenger window open.
* **Target board:** The "Friend" button dynamically updates upon adding/removing a friend for both parties, if target is focused.
* **Inventory Management:** Inventory calculations are now correctly designed to handle togglable item activation effects across any number of inventory pages by calculating `page total slots * total pages`.
* **Skill Cooldowns and States:** A massive update to ensure reliability across various scenarios:
* **Window/Taskbar Persistence:** Cooldowns and active slot effects are now correctly maintained and updated in the Character Window and Taskbar during actions such as: repositioning skills, leveling up, changing skill grades (including Perfect), mounting/unmounting, changing Character Window pages, switching Skill View tabs, closing/reopening the window, and relogging. Supports togglable, non-togglable, and togglable-with-cooldown skills.
* **Level Reset Clearing:** Skill cooldowns and active slot states are properly cleared when the skill level is reset to 0.
* **Support togglables:** Combo automatically deactivates if its level is changed to 0 (e.g., via `/setsk`).
* **Horse Skill Cooldowns:** Horse skill cooldowns are cleared if their level is changed to 0.
* **Horse Skill View Logic:** The Horse skills page now correctly appears when the riding skill (Skill 130) reaches **level 21+** (not 20+).
* **Taskbar Sync:** Horse skills are automatically removed from the Taskbar, and the Skill View switches pages automatically, if the riding skill level drops below 21 (e.g., via `/setsk`).
* **Skill group 0 support for Horse page:** The Horse skill page is now visible even if there are no skills assigned to that group, provided the riding skill level is high enough.
* **Support skill levels:** Support and Horse skill states are correctly maintained when the character's skill group is reset.
* **.gitignore file:** Ignoring all files and directories ending in `_BAK` or `.BAK` (case-insensitive)