Core/AdventureJournal: Handle CMSG_ADVENTURE_JOURNAL_OPEN_QUEST and CMSG_ADVENTURE_JOURNAL_UPDATE_SUGGESTIONS

Port From (https://github.com/TrinityCore/TrinityCore/commit/3addbe7dd418259149c39fc3b9423f7809de696a)
This commit is contained in:
hondacrx
2021-03-15 16:55:55 -04:00
parent 4323951881
commit eee335291f
7 changed files with 257 additions and 131 deletions
@@ -0,0 +1,88 @@
/*
* Copyright (C) 2012-2020 CypherCore <http://github.com/CypherCore>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using Framework.Constants;
using Framework.Dynamic;
using Framework.GameMath;
using Game.Entities;
using System;
using System.Collections.Generic;
namespace Game.Networking.Packets
{
class AdventureJournalOpenQuest : ClientPacket
{
public AdventureJournalOpenQuest(WorldPacket packet) : base(packet) { }
public override void Read()
{
AdventureJournalID = _worldPacket.ReadUInt32();
}
public uint AdventureJournalID;
}
class AdventureJournalStartQuest : ClientPacket
{
public AdventureJournalStartQuest(WorldPacket packet) : base(packet) { }
public override void Read()
{
QuestID = _worldPacket.ReadUInt32();
}
public uint QuestID;
}
class AdventureJournalUpdateSuggestions : ClientPacket
{
public AdventureJournalUpdateSuggestions(WorldPacket packet) : base(packet) { }
public override void Read()
{
OnLevelUp = _worldPacket.HasBit();
}
public bool OnLevelUp;
}
class AdventureJournalDataResponse : ServerPacket
{
public AdventureJournalDataResponse() : base(ServerOpcodes.AdventureJournalDataResponse) { }
public override void Write()
{
_worldPacket.WriteBit(OnLevelUp);
_worldPacket.FlushBits();
_worldPacket.WriteInt32(AdventureJournalDatas.Count);
foreach (var adventureJournal in AdventureJournalDatas)
{
_worldPacket.WriteInt32(adventureJournal.AdventureJournalID);
_worldPacket.WriteInt32(adventureJournal.Priority);
}
}
public bool OnLevelUp;
public List<AdventureJournalEntry> AdventureJournalDatas = new List<AdventureJournalEntry>();
}
struct AdventureJournalEntry
{
public int AdventureJournalID;
public int Priority;
}
}
@@ -1320,62 +1320,6 @@ namespace Game.Networking.Packets
public ObjectGuid SourceGuid;
}
class AdventureJournalOpenQuest : ClientPacket
{
public AdventureJournalOpenQuest(WorldPacket packet) : base(packet) { }
public override void Read()
{
AdventureJournalID = _worldPacket.ReadUInt32();
}
public uint AdventureJournalID;
}
class AdventureJournalStartQuest : ClientPacket
{
public AdventureJournalStartQuest(WorldPacket packet) : base(packet) { }
public override void Read()
{
QuestID = _worldPacket.ReadUInt32();
}
public uint QuestID;
}
class AdventureJournalUpdateSuggestions : ClientPacket
{
public AdventureJournalUpdateSuggestions(WorldPacket packet) : base(packet) { }
public override void Read()
{
OnLevelUp = _worldPacket.HasBit();
}
public bool OnLevelUp;
}
class AdventureJournalDataResponse : ServerPacket
{
public AdventureJournalDataResponse() : base(ServerOpcodes.AdventureJournalDataResponse) { }
public override void Write()
{
_worldPacket.WriteBit(OnLevelUp);
_worldPacket.FlushBits();
_worldPacket.WriteInt32(AdventureJournalDatas.Count);
foreach (var adventureJournal in AdventureJournalDatas)
{
_worldPacket.WriteInt32(adventureJournal.AdventureJournalID);
_worldPacket.WriteInt32(adventureJournal.Priority);
}
}
public bool OnLevelUp;
public List<AdventureJournalData> AdventureJournalDatas = new List<AdventureJournalData>();
}
//Structs
struct PhaseShiftDataPhase
@@ -1411,10 +1355,4 @@ namespace Game.Networking.Packets
public List<PhaseShiftDataPhase> Phases = new List<PhaseShiftDataPhase>();
public ObjectGuid PersonalGUID;
}
struct AdventureJournalData
{
public int AdventureJournalID;
public int Priority;
}
}