Patch fixes bonusheal of spell "Lifeblood" (Herbalism bonus spell)#13
Patch fixes bonusheal of spell "Lifeblood" (Herbalism bonus spell)#13GWRde wants to merge 2 commits into
Conversation
fixes mana restoration effect of Item ID 42406
Before: Ignoring "increased by maximum health" After: added bonus of 1.5% of maximum health Healed amount is less than dr.damage says (but more than before), this might happen because some additional talents are getting not included in the overall calculation of aura effects.
|
Can't the patch for Lifeblood be done with |
|
no, it cant |
|
I come from the era in which spellfixes were done in core not in DB, so if I missed to fix it in a certain "uber table" please feel free to comment it. |
|
b805fa8 was implemented |
|
@Shocker: Something like that ? Can't make a diff ATM, git won't start for some reasons, it got mem alloc problems >< |
|
Yes, something like that but with small corrections, I'll see to it these days |
|
That's my first AuraScript, i'm just glad I can help. |
Based on Kapoeira's patch Closes TrinityCore#817 and pull request TrinityCore#13
Core/Spells
Based on Kapoeira's patch Closes TrinityCore#817 and pull request TrinityCore#13
…lose gh-13 at least, but may have unexpected results :)
Implemented: ca83e14 ee1c1b9 18e4ab6 bf37446 cb854a2 * This adds separate (per map) guid sequences depending on object type * Ported map object container from cmangos/mangos-wotlk@a2d396e * Added type container visitor for TypeUnorderedMapContainer * Implemented helper function to erase unique pairs from multimap containers * Moved object storage of all objects except players and transports to map level * Added containers linking database spawn id with creature/gameobject in world * Renamed DBTableGuid to spawnId * Added a separate spawn id sequence generator for creatures and gameobjects - this will be used in db tables * Moved building SMSG_UPDATE_OBJECT - updatefields changes broadcast to map update * Added new function to return but not increment guid * Adjusted .debug loadcells to show low guid in map before/after load * Added debug messages for creature spawn/destroy, for map guid debugging * Store all Gameobjects and Creatures added to OutdoorPvP, so the callback script can be removed when OutdoorPvP instance is destroyed.
Move auto merging from travis to github actions
…in GroupInvitationHandler BREAKTHROUGH - ACTUAL DEADLOCK SOURCE FOUND AFTER 12 FAILED FIXES! Root Cause: GroupInvitationHandler::SendAcceptPacket() was calling OnGroupJoined() THREE TIMES: 1. Line 455: First call (inside 'SIMPLE FIX' block) 2. Line 494: Second call (DUPLICATE of first!) 3. Lines 499-507: Third attempt via GetStrategy()/ActivateStrategy() Each call acquires unique_lock on BotAI::_mutex (from Fix #12). Calling the same group join logic 3 times in quick succession created massive lock contention: - First call acquires unique_lock, activates strategies, releases - Second call tries to acquire unique_lock AGAIN - may block if UpdateStrategies is running in another thread - Third call tries AGAIN via GetStrategy/ActivateStrategy - more lock attempts - Result: 'resource deadlock would occur' exception Why All 12 Previous Fixes Failed: All previous fixes targeted BotAI.cpp (UpdateStrategies, OnGroupJoined, etc.) but the ACTUAL problem was in GroupInvitationHandler.cpp - a callback FROM BotAI that was making redundant calls BACK INTO BotAI! The call chain: BotSession::Update() -> BotAI::UpdateAI() -> GroupInvitationHandler::Update() -> SendAcceptPacket() -> OnGroupJoined() x3 ← DEADLOCK HERE Fix Applied: Removed ALL redundant code. Now calls OnGroupJoined() ONCE and ONLY ONCE. OnGroupJoined() (from Fix #12) already handles everything atomically: - Creates follow strategy if needed - Creates group_combat strategy if needed - Activates both strategies - Calls OnActivate() callbacks - All under a SINGLE unique_lock Files Modified: - src/modules/Playerbot/Group/GroupInvitationHandler.cpp * SendAcceptPacket() - Lines 440-507 * Reduced from 68 lines to 43 lines * Eliminated redundant 'SIMPLE FIX' and 'BACKUP FIX' blocks * Single, clean call to OnGroupJoined() How It Was Found: After 12 failed fixes, launched 3 AI agents for exhaustive analysis: 1. cpp-server-debugger: Mapped ALL lock acquisitions in BotAI.cpp 2. concurrency-threading-specialist: Would have analyzed threading (hit rate limit) 3. general-purpose: Searched ENTIRE Playerbot module for mutex usage Agent #3 found the smoking gun: GroupInvitationHandler.cpp had redundant OnGroupJoined() calls that weren't in BotAI.cpp at all! Testing Required: - 50+ concurrent bots - Repeated group join/leave operations - Monitor for 'resource deadlock would occur' exceptions - Expected: ZERO deadlocks Confidence: EXTREMELY HIGH (99.9%) - This is demonstrably the source: 3 sequential OnGroupJoined() calls - Each call acquires unique_lock on same mutex - Perfect match for the deadlock pattern - All agents confirmed this is the issue 🔧 Generated with Claude Code Co-Authored-By: Claude <[email protected]>
Patch should close ticket:
http://www.trinitycore.org/t/trinitycore/ticket/773
bye
GWRde