- Slad'ran (Gun'Drak): DPS will now kill snake wraps
- King Ymiron (Utgarde Pinnacle): Bots will stop attack during Bane. This still needs work, sometimes if they are mid-cast they will still let it finish and blow everyone up
* Handle bot gear upgrades for multi-slot items
Switch to using opcode "CMSG_AUTOEQUIP_ITEM_SLOT" to equip items to specific slots, rather than "right clicking" item upgrades.
Fixes an issue with rings, trinkets and offhand weapons where the bot would only ever upgrade their first slot.
Also evaluate the above item types for equipping in both slots rather than just comparing to the first item.
* Update EquipAction.cpp
Switch to using opcode "CMSG_AUTOEQUIP_ITEM_SLOT" to equip items to specific slots, rather than "right clicking" item upgrades.
Fixes an issue with rings, trinkets and offhand weapons where the bot would only ever upgrade their first slot.
Also evaluate the above item types for equipping in both slots rather than just comparing to the first item.
- Utgarde Keep (Keleseth): Bots continue combat correctly after killing a frost tomb
- Utgarde Keep (Dalronn & Skarvald): Bots continue combat correctly after killing Dalronn
- Utgarde Keep (Ingvar): Tank correctly avoids Dark Smash in second phase
- Oculus (Drake combat): Bots more consistently attack the drakes in the air when flying around
- Halls of Lightning (Bjarngrim): Bots no longer acquire priority targets until in combat
- 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.