diff --git a/sql/updates/world/master/2026_08_17_00_world.sql b/sql/updates/world/master/2026_08_17_00_world.sql new file mode 100644 index 0000000000..cd00bb68c6 --- /dev/null +++ b/sql/updates/world/master/2026_08_17_00_world.sql @@ -0,0 +1 @@ +ALTER TABLE `playerchoice` DROP `ForceDontShowChoicesAsList`; diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index eaf3cc310a..9baf28c3e8 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -30139,7 +30139,6 @@ void Player::SendPlayerChoice(ObjectGuid sender, int32 choiceId) displayPlayerChoice.HideWarboardHeader = playerChoice->HideWarboardHeader; displayPlayerChoice.KeepOpenAfterChoice = playerChoice->KeepOpenAfterChoice; displayPlayerChoice.ShowChoicesAsList = playerChoice->ShowChoicesAsList; - displayPlayerChoice.ForceDontShowChoicesAsList = playerChoice->ForceDontShowChoicesAsList; displayPlayerChoice.RequiresSelection = playerChoice->RequiresSelection; for (std::size_t i = 0; i < playerChoice->Responses.size() && (!playerChoice->MaxResponses || displayPlayerChoice.Responses.size() < *playerChoice->MaxResponses); ++i) @@ -30224,6 +30223,8 @@ void Player::SendPlayerChoice(ObjectGuid sender, int32 choiceId) mawPower.Rarity = playerChoiceResponseTemplate.MawPower->Rarity; mawPower.SpellID = playerChoiceResponseTemplate.MawPower->SpellID; mawPower.MaxStacks = playerChoiceResponseTemplate.MawPower->MaxStacks; + + displayPlayerChoice.HasPowerChoice = true; } } diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index c6442f20d6..85b0dc5ca3 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -10988,7 +10988,7 @@ void ObjectMgr::LoadPlayerChoices() _playerChoices.clear(); QueryResult choices = WorldDatabase.Query("SELECT ChoiceId, UiTextureKitId, SoundKitId, CloseSoundKitId, Duration, Question, PendingChoiceText, " - "InfiniteRange, HideWarboardHeader, KeepOpenAfterChoice, ShowChoicesAsList, ForceDontShowChoicesAsList, RequiresSelection, MaxResponses, ScriptName FROM playerchoice"); + "InfiniteRange, HideWarboardHeader, KeepOpenAfterChoice, ShowChoicesAsList, RequiresSelection, MaxResponses, ScriptName FROM playerchoice"); if (!choices) { TC_LOG_INFO("server.loading", ">> Loaded 0 player choices. DB table `playerchoice` is empty."); @@ -11007,7 +11007,7 @@ void ObjectMgr::LoadPlayerChoices() do { DEFINE_FIELD_ACCESSOR_CACHE_ANONYMOUS(ResultSet, (ChoiceId)(UiTextureKitId)(SoundKitId)(CloseSoundKitId)(Duration)(Question)(PendingChoiceText) - (InfiniteRange)(HideWarboardHeader)(KeepOpenAfterChoice)(ShowChoicesAsList)(ForceDontShowChoicesAsList)(RequiresSelection)(MaxResponses)(ScriptName)) fields { *choices }; + (InfiniteRange)(HideWarboardHeader)(KeepOpenAfterChoice)(ShowChoicesAsList)(RequiresSelection)(MaxResponses)(ScriptName)) fields { *choices }; int32 choiceId = fields.ChoiceId().GetInt32(); @@ -11024,7 +11024,6 @@ void ObjectMgr::LoadPlayerChoices() choice.HideWarboardHeader = fields.HideWarboardHeader().GetBool(); choice.KeepOpenAfterChoice = fields.KeepOpenAfterChoice().GetBool(); choice.ShowChoicesAsList = fields.ShowChoicesAsList().GetBool(); - choice.ForceDontShowChoicesAsList = fields.ForceDontShowChoicesAsList().GetBool(); choice.RequiresSelection = fields.RequiresSelection().GetBool(); choice.MaxResponses = fields.MaxResponses().GetUInt32OrNull(); choice.ScriptId = GetScriptId(fields.ScriptName().GetStringView()); diff --git a/src/server/game/Globals/PlayerChoice.h b/src/server/game/Globals/PlayerChoice.h index 942c32b59c..99f7e7abd3 100644 --- a/src/server/game/Globals/PlayerChoice.h +++ b/src/server/game/Globals/PlayerChoice.h @@ -118,7 +118,6 @@ struct PlayerChoice bool HideWarboardHeader = false; bool KeepOpenAfterChoice = false; bool ShowChoicesAsList = false; - bool ForceDontShowChoicesAsList = false; bool RequiresSelection = false; Optional MaxResponses; diff --git a/src/server/game/Server/Packets/QuestPackets.cpp b/src/server/game/Server/Packets/QuestPackets.cpp index b80f816f98..e4b28cb853 100644 --- a/src/server/game/Server/Packets/QuestPackets.cpp +++ b/src/server/game/Server/Packets/QuestPackets.cpp @@ -852,7 +852,7 @@ WorldPacket const* DisplayPlayerChoice::Write() _worldPacket << Bits<1>(HideWarboardHeader); _worldPacket << Bits<1>(KeepOpenAfterChoice); _worldPacket << Bits<1>(ShowChoicesAsList); - _worldPacket << Bits<1>(ForceDontShowChoicesAsList); + _worldPacket << Bits<1>(HasPowerChoice); _worldPacket << Bits<1>(RequiresSelection); _worldPacket.FlushBits(); diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h index 7104c85fba..3466904300 100644 --- a/src/server/game/Server/Packets/QuestPackets.h +++ b/src/server/game/Server/Packets/QuestPackets.h @@ -800,7 +800,7 @@ namespace WorldPackets bool HideWarboardHeader = false; bool KeepOpenAfterChoice = false; bool ShowChoicesAsList = false; - bool ForceDontShowChoicesAsList = false; + bool HasPowerChoice = false; bool RequiresSelection = false; };