aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Creature/GossipDef.h2
-rw-r--r--src/server/game/Entities/Player/Player.cpp6
-rw-r--r--src/server/game/Handlers/AzeriteHandler.cpp5
-rw-r--r--src/server/game/Server/Packets/AzeritePackets.h2
-rw-r--r--src/server/game/Server/WorldSession.h1
-rw-r--r--src/server/game/Spells/Spell.cpp2
6 files changed, 14 insertions, 4 deletions
diff --git a/src/server/game/Entities/Creature/GossipDef.h b/src/server/game/Entities/Creature/GossipDef.h
index 25da6049f1c..5151bbdafdc 100644
--- a/src/server/game/Entities/Creature/GossipDef.h
+++ b/src/server/game/Entities/Creature/GossipDef.h
@@ -67,7 +67,7 @@ enum class GossipOptionNpc : uint8
GarrisonTalent = 32, // White chat bubble
ContributionCollector = 33, /*NYI*/ // White chat bubble
Transmogrify = 34, // Purple helm
- AzeriteRespec = 35, /*NYI*/ // White chat bubble
+ AzeriteRespec = 35, // White chat bubble
IslandsMission = 36, /*NYI*/ // White chat bubble
UIItemInteraction = 37, /*NYI*/ // White chat bubble
WorldMap = 38, /*NYI*/ // White chat bubble
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index d00152aa005..8dd3ad58eb9 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -13695,6 +13695,7 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId, bool showQues
case GossipOptionNpc::Auctioneer:
case GossipOptionNpc::Mailbox:
case GossipOptionNpc::Transmogrify:
+ case GossipOptionNpc::AzeriteRespec:
break; // No checks
case GossipOptionNpc::CemeterySelect:
canTalk = false; // Deprecated
@@ -13713,7 +13714,6 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId, bool showQues
case GossipOptionNpc::AdventureMap:
case GossipOptionNpc::GarrisonTalent:
case GossipOptionNpc::ContributionCollector:
- case GossipOptionNpc::AzeriteRespec:
case GossipOptionNpc::IslandsMission:
case GossipOptionNpc::UIItemInteraction:
case GossipOptionNpc::WorldMap:
@@ -13948,6 +13948,10 @@ void Player::OnGossipSelect(WorldObject* source, uint32 gossipListId, uint32 men
case GossipOptionNpc::Transmogrify:
GetSession()->SendOpenTransmogrifier(guid);
break;
+ case GossipOptionNpc::AzeriteRespec:
+ PlayerTalkClass->SendCloseGossip();
+ GetSession()->SendAzeriteRespecNPC(guid);
+ break;
default:
break;
}
diff --git a/src/server/game/Handlers/AzeriteHandler.cpp b/src/server/game/Handlers/AzeriteHandler.cpp
index 1f4bfa7646c..376ad24bd62 100644
--- a/src/server/game/Handlers/AzeriteHandler.cpp
+++ b/src/server/game/Handlers/AzeriteHandler.cpp
@@ -233,3 +233,8 @@ void WorldSession::HandleAzeriteEmpoweredItemSelectPower(WorldPackets::Azerite::
azeriteEmpoweredItem->SetState(ITEM_CHANGED, _player);
}
+
+void WorldSession::SendAzeriteRespecNPC(ObjectGuid npc)
+{
+ SendPacket(WorldPackets::Azerite::AzeriteRespecNPC(npc).Write());
+}
diff --git a/src/server/game/Server/Packets/AzeritePackets.h b/src/server/game/Server/Packets/AzeritePackets.h
index ea7eeff48fe..487c5d2bced 100644
--- a/src/server/game/Server/Packets/AzeritePackets.h
+++ b/src/server/game/Server/Packets/AzeritePackets.h
@@ -126,7 +126,7 @@ namespace WorldPackets
class AzeriteRespecNPC final : public ServerPacket
{
public:
- AzeriteRespecNPC(ObjectGuid npcGuid) : ServerPacket(SMSG_AZERITE_RESPEC_NPC, 1), NpcGUID(npcGuid) { }
+ AzeriteRespecNPC(ObjectGuid npcGuid) : ServerPacket(SMSG_AZERITE_RESPEC_NPC, 16), NpcGUID(npcGuid) { }
WorldPacket const* Write() override;
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index 741767098a8..6ff16503847 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -1795,6 +1795,7 @@ class TC_GAME_API WorldSession
void HandleAzeriteEssenceActivateEssence(WorldPackets::Azerite::AzeriteEssenceActivateEssence& azeriteEssenceActivateEssence);
void HandleAzeriteEmpoweredItemViewed(WorldPackets::Azerite::AzeriteEmpoweredItemViewed& azeriteEmpoweredItemViewed);
void HandleAzeriteEmpoweredItemSelectPower(WorldPackets::Azerite::AzeriteEmpoweredItemSelectPower& azeriteEmpoweredItemSelectPower);
+ void SendAzeriteRespecNPC(ObjectGuid npc);
void HandleRequestLatestSplashScreen(WorldPackets::Misc::RequestLatestSplashScreen& requestLatestSplashScreen);
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 4b2a8cb63a4..d6f252695c3 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -7601,7 +7601,7 @@ SpellCastResult Spell::CheckItems(int32* param1 /*= nullptr*/, int32* param2 /*=
return SPELL_FAILED_AZERITE_EMPOWERED_ONLY;
bool hasSelections = false;
- for (int32 tier = 0; tier < azeriteEmpoweredItem->GetMaxAzeritePowerTier(); ++tier)
+ for (int32 tier = 0; tier < MAX_AZERITE_EMPOWERED_TIER; ++tier)
{
if (azeriteEmpoweredItem->GetSelectedAzeritePower(tier))
{