- Utgarde Pinnacle implementation
- Culling of Stratholme implementation
- Added additional value ("nearest hostile npcs") needed to expose some hidden trigger-type npc units (eg. frost breath on Skadi fight in UP)
Added checks to ensure bot and botAI are valid at function start.
Added extra pointer checks when accessing unit and gameobj in loops that iterate over nearest NPCs and game objects.
This adjustment ensures that objects are initialized correctly before being used in the ProcessQuests function.
Additional checks for null pointers to ensure that the Channel and ChannelMgr objects are correctly initialized before accessing them.
Validation of empty strings to avoid problems when checking the channel name (channel->GetName()).
Implemented mutex (std::lock_guard) around access to SocialMgr to avoid race conditions, improving security in multi-threaded operations.
- Utgarde Pinnacle implementation
- Culling of Stratholme implementation
- Added additional value ("nearest hostile npcs") needed to expose some hidden trigger-type npc units (eg. frost breath on Skadi fight in UP)
Log Crash: 00007FF7750C05ED 00000028A47FEA10 FirebombSpreadAction::Execute+1AD E:\Server\Heroes_Azeroth\modules\mod-playerbots\src\strategy\dungeons\wotlk\nexus\NexusActions.cpp line 58
This PR fixes a possible crash in the FirebombSpreadAction::Execute function, located in the NexusActions.cpp file, which occurred due to the lack of checking for null pointers when accessing group members.
Main changes: Added a null pointer check to ensure botAI->GetUnit(member) returns a valid unit before calling functions like GetExactDist2d and MoveAway.
If botAI->GetUnit(member) returns nullptr, execution ignores the specific member, avoiding access to an invalid pointer that could cause a server crash.