diff options
Diffstat (limited to 'src/server/game/Handlers/QuestHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/QuestHandler.cpp | 61 |
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); - } -} |