From 06c8e6f9b04f69995aee35ca4c8f4e86675dcd2b Mon Sep 17 00:00:00 2001 From: Mind Rapist Date: Fri, 19 Dec 2025 22:15:38 +0200 Subject: [PATCH] MR-2: Realtime character level updates --- README.md | 19 +------------------ src/UserInterface/InstanceBaseEffect.cpp | 4 ++++ src/UserInterface/Locale_inc.h | 1 + 3 files changed, 6 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 5383137..15df256 100644 --- a/README.md +++ b/README.md @@ -13,21 +13,4 @@ This repository contains the source code necessary to compile the game client ex ## Changelog 📋 ### 🐛 Bug Fixes -* **Character Selection:** Corrected the display of character stats and ensured gauge bars accurately reflect the character's stats during the selection phase. -* **Changing skill group:** Fixed an issue involving incorrect skill dictionary clearing/restructuring when changing a skill group. This previously caused the client to be unable to find the correct skill slot after a skill group reset, preventing the display of newly added points on level-up and/or clearing cooldown and active state when used and applied new point (if clearing cooldowns for level-0 skills enabled). - -### ⬆️ Feature Improvements -* **Messenger System:** - * **Live Removal Updates:** The client now receives immediate live updates when a player is removed by a friend, improving synchronization. -* **Skill Cooldowns and States:** Enhanced reliability and persistence across numerous client actions: - * **Persistence:** Cooldowns and active slot effects are now correctly maintained when changing the Character Window view, switching skill tabs, mounting/unmounting, leveling up a skill or relogging. This persistence is ensured for togglable, non-togglable, and togglable skills with cooldowns. - * **Grade Transfer:** Cooldowns and active slot states are correctly transferred when a skill's grade is changed (e.g., to Master or Perfect). - * **Reset Logic:** Skill cooldowns are cleared and/or active slots are disabled when a skill is reset (individually or via a skill group reset). - * **Support Skills:** Support skill levels are correctly maintained when the active skill group is changed/reset. - * **Horse Skills:** Implemented special handling to ensure horse skill cooldowns are cleared when their level is changed to 0 (via commands like `/setsk`). - * **Combo Skills:** Combo skills are automatically disabled if their level is changed to 0 (via commands like `/setsk`). -* **Invisibility improvements:** Invisibility effects are improved for the Assassin's Sealth skill, `/in` command and revive invisibility. - * **Mini-map:** When invisible by any method, the character doesn't show in the mini map for other players. - * **Stepping dust:** When invisible by any method, character's steps don't show the dust effect when walking around. - * **Stealth:** Assassin's stealth effect is visible to everyone around the character when the skill is used. -* **.gitignore file:** Ignoring all files and directories ending in `_BAK` or `.BAK` (case-insensitive) +* **Realtime Character Level Updates:** Implemented the reversed fix (credits to Mali) for updating character level in real-time across game view and all windows (such as Guild window) for all viewing players. diff --git a/src/UserInterface/InstanceBaseEffect.cpp b/src/UserInterface/InstanceBaseEffect.cpp index 7fd7076..0b07c89 100644 --- a/src/UserInterface/InstanceBaseEffect.cpp +++ b/src/UserInterface/InstanceBaseEffect.cpp @@ -670,6 +670,10 @@ void CInstanceBase::UpdateTextTailLevel(DWORD level) //static D3DXCOLOR s_kLevelColor = D3DXCOLOR(119.0f/255.0f, 246.0f/255.0f, 168.0f/255.0f, 1.0f); static D3DXCOLOR s_kLevelColor = D3DXCOLOR(152.0f/255.0f, 255.0f/255.0f, 51.0f/255.0f, 1.0f); +#if defined(__BL_LEVEL_FIX__) + m_dwLevel = level; +#endif + char szText[256]; sprintf(szText, "Lv %d", level); CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor); diff --git a/src/UserInterface/Locale_inc.h b/src/UserInterface/Locale_inc.h index 9c2653c..f544d41 100644 --- a/src/UserInterface/Locale_inc.h +++ b/src/UserInterface/Locale_inc.h @@ -13,6 +13,7 @@ #define FIX_SEQ_254 #define CHAR_SELECT_STATS_IMPROVEMENT // Improve stats values in character select screen #define __ENABLE_STEALTH_FIX__ +#define __BL_LEVEL_FIX__ // Python-only #define FIX_HORSE_SKILLS_TAB