diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Creature/GossipDef.h | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 6 | ||||
-rw-r--r-- | src/server/game/Handlers/AzeriteHandler.cpp | 5 | ||||
-rw-r--r-- | src/server/game/Server/Packets/AzeritePackets.h | 2 | ||||
-rw-r--r-- | src/server/game/Server/WorldSession.h | 1 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 2 |
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)) { |