Core/AdventureJournal: Check if player can access adventure journal with ChrClassUIDisplay.db2

Port From (https://github.com/TrinityCore/TrinityCore/commit/d0246e5835ea184b22896e6b354fb28c28890810)
This commit is contained in:
hondacrx
2021-03-15 17:05:52 -04:00
parent eee335291f
commit 75559fc9d6
6 changed files with 53 additions and 0 deletions
@@ -38,6 +38,11 @@ namespace Game
[WorldPacketHandler(ClientOpcodes.AdventureJournalOpenQuest)]
void HandleAdventureJournalOpenQuest(AdventureJournalOpenQuest openQuest)
{
var uiDisplay = Global.DB2Mgr.GetUiDisplayForClass(_player.GetClass());
if (uiDisplay != null)
if (!_player.MeetPlayerCondition(uiDisplay.AdvGuidePlayerConditionID))
return;
var adventureJournal = CliDB.AdventureJournalStorage.LookupByKey(openQuest.AdventureJournalID);
if (adventureJournal == null)
return;
@@ -80,6 +85,11 @@ namespace Game
[WorldPacketHandler(ClientOpcodes.AdventureJournalUpdateSuggestions)]
void HandleAdventureJournalUpdateSuggestions(AdventureJournalUpdateSuggestions updateSuggestions)
{
var uiDisplay = Global.DB2Mgr.GetUiDisplayForClass(_player.GetClass());
if (uiDisplay != null)
if (!_player.MeetPlayerCondition(uiDisplay.AdvGuidePlayerConditionID))
return;
AdventureJournalDataResponse response = new AdventureJournalDataResponse();
response.OnLevelUp = updateSuggestions.OnLevelUp;