Files
mod-playerbots/src
ThePenguinMan96 3f7814abb4 PVP Talents and InitGlyph changes
PVP Talents and InitGlyph changes

This PR adds 3 pvp specs for each class, as well as their glyphs. It also adds exceptions to the Initglyph function, based on pvp-based talents for each class.

conf\playerbots.conf.dist - Adds 3 pvp specs/glyphs for each class.

src\factory\PlayerbotFactory.cpp - InitGlyph in its current form is unable to correctly assign glyphs on specindexes (or tab) over 2 without an exception. That is why this exception already exists in the code:

if (bot->getClass() == CLASS_DRUID && tab == DRUID_TAB_FERAL && bot->GetLevel() >= 20 && !bot->HasAura(16931))
        tab = 3;

This checks if the class is a Druid, if the tab is feral, if they are equal to or above level 20, and they don't have the Thick Hide talent. If all of these are true, then it manually sets the tab = 3. I first discovered this when I noticed that my frostfire mage would never be assigned the correct glyphs in the config - aka glyph of frosfire. It is because the frostfire spec is tab = 3, and no such logic exists. When I started adding the additional pvp specs, I noticed that they never would assign the correct glyphs. I had to add an exception to all pvp specs, and have them check for certain pvp related talents to correlate the tab manually. This is because tab is derived from the AiFactory::GetPlayerSpecTab(bot); function. The only possible tab values from this function are 0, 1, and 2.
**TLDR: Added code to support Frostfire Mage, dual-aura Blood DK, and all the PvP specs for correct glyph assignment.**

src\strategy\actions\ChangeTalentsAction.cpp: When you pick a spec with "talents spec" function, such as "talents spec arms pve", it will now correctly assign glyphs without the player having to execute the maintenance command. Setting the InitGlyphs to false removes prior glyphs.

src\strategy\actions\TrainerAction.cpp - Changed factory.InitGlyphs(true); to factory.InitGlyphs(false);. This makes it so all prior glyphs that were assigned are correctly deleted. I first noticed this when switching between specs and using the maintenance command - I had to login to the bot and manually delete the old glyphs, in order for the maintenance command to assign the new, correct glyphs.
2025-07-01 14:35:16 -07:00
..
2025-07-01 14:35:16 -07:00
2025-06-27 20:00:38 +02:00
2024-08-04 10:23:36 +08:00
2024-08-04 10:23:36 +08:00
2022-03-12 22:27:09 +01:00
2024-08-04 10:23:36 +08:00
2024-08-04 10:23:36 +08:00
2024-08-04 10:23:36 +08:00
2024-08-04 10:23:36 +08:00
2024-08-04 10:23:36 +08:00
2024-08-04 10:23:36 +08:00
2024-08-04 10:23:36 +08:00
2024-08-04 10:23:36 +08:00
2025-06-27 20:00:38 +02:00
2024-08-04 10:23:36 +08:00
2024-08-14 18:37:21 +08:00
2024-08-14 18:37:21 +08:00
2024-08-04 10:23:36 +08:00
2024-08-04 10:23:36 +08:00
2024-08-04 10:23:36 +08:00
2024-08-04 10:23:36 +08:00
2024-08-04 10:23:36 +08:00
2024-08-04 10:23:36 +08:00
2024-08-04 12:04:06 +02:00
2024-08-04 12:04:06 +02:00
2024-08-04 10:23:36 +08:00
2024-08-04 10:23:36 +08:00