aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/QuestHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/QuestHandler.cpp')
-rw-r--r--src/server/game/Handlers/QuestHandler.cpp61
1 files changed, 0 insertions, 61 deletions
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp
index ad8d8d8062c..b8589e1db59 100644
--- a/src/server/game/Handlers/QuestHandler.cpp
+++ b/src/server/game/Handlers/QuestHandler.cpp
@@ -715,64 +715,3 @@ void WorldSession::HandleRequestWorldQuestUpdate(WorldPackets::Quest::RequestWor
SendPacket(response.Write());
}
-
-void WorldSession::HandlePlayerChoiceResponse(WorldPackets::Quest::ChoiceResponse& choiceResponse)
-{
- if (_player->PlayerTalkClass->GetInteractionData().PlayerChoiceId != uint32(choiceResponse.ChoiceID))
- {
- TC_LOG_ERROR("entities.player.cheat", "Error in CMSG_CHOICE_RESPONSE: {} tried to respond to invalid player choice {} (allowed {}) (possible packet-hacking detected)",
- GetPlayerInfo(), choiceResponse.ChoiceID, _player->PlayerTalkClass->GetInteractionData().PlayerChoiceId);
- return;
- }
-
- PlayerChoice const* playerChoice = sObjectMgr->GetPlayerChoice(choiceResponse.ChoiceID);
- if (!playerChoice)
- return;
-
- PlayerChoiceResponse const* playerChoiceResponse = playerChoice->GetResponseByIdentifier(choiceResponse.ResponseIdentifier);
- if (!playerChoiceResponse)
- {
- TC_LOG_ERROR("entities.player.cheat", "Error in CMSG_CHOICE_RESPONSE: {} tried to select invalid player choice response {} (possible packet-hacking detected)",
- GetPlayerInfo(), choiceResponse.ResponseIdentifier);
- return;
- }
-
- sScriptMgr->OnPlayerChoiceResponse(GetPlayer(), choiceResponse.ChoiceID, choiceResponse.ResponseIdentifier);
-
- if (playerChoiceResponse->Reward)
- {
- if (playerChoiceResponse->Reward->TitleId)
- _player->SetTitle(sCharTitlesStore.AssertEntry(playerChoiceResponse->Reward->TitleId), false);
-
- if (playerChoiceResponse->Reward->PackageId)
- _player->RewardQuestPackage(playerChoiceResponse->Reward->PackageId, ItemContext::NONE);
-
- if (playerChoiceResponse->Reward->SkillLineId && _player->HasSkill(playerChoiceResponse->Reward->SkillLineId))
- _player->UpdateSkillPro(playerChoiceResponse->Reward->SkillLineId, 1000, playerChoiceResponse->Reward->SkillPointCount);
-
- if (playerChoiceResponse->Reward->HonorPointCount)
- _player->AddHonorXP(playerChoiceResponse->Reward->HonorPointCount);
-
- if (playerChoiceResponse->Reward->Money)
- _player->ModifyMoney(playerChoiceResponse->Reward->Money, false);
-
- if (playerChoiceResponse->Reward->Xp)
- _player->GiveXP(playerChoiceResponse->Reward->Xp, nullptr, 0.0f);
-
- for (PlayerChoiceResponseRewardItem const& item : playerChoiceResponse->Reward->Items)
- {
- ItemPosCountVec dest;
- if (_player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, item.Id, item.Quantity) == EQUIP_ERR_OK)
- {
- Item* newItem = _player->StoreNewItem(dest, item.Id, true, GenerateItemRandomBonusListId(item.Id), {}, ItemContext::Quest_Reward, &item.BonusListIDs);
- _player->SendNewItem(newItem, item.Quantity, true, false);
- }
- }
-
- for (PlayerChoiceResponseRewardEntry const& currency : playerChoiceResponse->Reward->Currency)
- _player->ModifyCurrency(currency.Id, currency.Quantity);
-
- for (PlayerChoiceResponseRewardEntry const& faction : playerChoiceResponse->Reward->Faction)
- _player->GetReputationMgr().ModifyReputation(sFactionStore.AssertEntry(faction.Id), faction.Quantity);
- }
-}