hondacrx
2023-03-23 08:03:41 -04:00
parent c00e66442d
commit 460a7c0ca9
29 changed files with 541 additions and 431 deletions
@@ -14,6 +14,8 @@ namespace Game.Networking.Packets
public uint Offset;
public byte MinLevel = 1;
public byte MaxLevel = SharedConst.MaxLevel;
public byte Unused1007_1;
public byte Unused1007_2;
public AuctionHouseFilterMask Filters;
public byte[] KnownPets;
public sbyte MaxPetLevel;
@@ -30,6 +32,8 @@ namespace Game.Networking.Packets
Offset = _worldPacket.ReadUInt32();
MinLevel = _worldPacket.ReadUInt8();
MaxLevel = _worldPacket.ReadUInt8();
Unused1007_1 = _worldPacket.ReadUInt8();
Unused1007_2= _worldPacket.ReadUInt8();
Filters = (AuctionHouseFilterMask)_worldPacket.ReadUInt32();
uint knownPetSize = _worldPacket.ReadUInt32();
MaxPetLevel = _worldPacket.ReadInt8();
@@ -460,6 +460,32 @@ namespace Game.Networking.Packets
public byte Reason;
}
class CanLocalWhisperTargetRequest : ClientPacket
{
public ObjectGuid WhisperTarget;
public CanLocalWhisperTargetRequest(WorldPacket packet) : base(packet) { }
public override void Read()
{
WhisperTarget = _worldPacket.ReadPackedGuid();
}
}
class CanLocalWhisperTargetResponse : ServerPacket
{
public ObjectGuid WhisperTarget;
public ChatWhisperTargetStatus Status;
public CanLocalWhisperTargetResponse() : base(ServerOpcodes.ChatCanLocalWhisperTargetResponse) { }
public override void Write()
{
_worldPacket.WritePackedGuid(WhisperTarget);
_worldPacket.WriteInt32((int)Status);
}
}
public class ChatAddonMessageParams
{
public void Read(WorldPacket data)
@@ -13,11 +13,9 @@ namespace Game.Networking.Packets
public override void Read()
{
Guid = _worldPacket.ReadPackedGuid();
IsSoftInteract = _worldPacket.HasBit();
}
public ObjectGuid Guid;
public bool IsSoftInteract;
}
public class GameObjReportUse : ClientPacket
@@ -27,11 +25,9 @@ namespace Game.Networking.Packets
public override void Read()
{
Guid = _worldPacket.ReadPackedGuid();
IsSoftInteract = _worldPacket.HasBit();
}
public ObjectGuid Guid;
public bool IsSoftInteract;
}
class GameObjectDespawn : ServerPacket
+11 -5
View File
@@ -15,11 +15,9 @@ namespace Game.Networking.Packets
public override void Read()
{
Unit = _worldPacket.ReadPackedGuid();
IsSoftInteract = _worldPacket.HasBit();
}
public ObjectGuid Unit;
public bool IsSoftInteract;
}
public class LootResponse : ServerPacket
@@ -69,6 +67,9 @@ namespace Game.Networking.Packets
class LootItemPkt : ClientPacket
{
public List<LootRequest> Loot = new();
public bool IsSoftInteract;
public LootItemPkt(WorldPacket packet) : base(packet) { }
public override void Read()
@@ -85,9 +86,9 @@ namespace Game.Networking.Packets
Loot.Add(loot);
}
}
public List<LootRequest> Loot = new();
IsSoftInteract = _worldPacket.HasBit();
}
}
class MasterLootItem : ClientPacket
@@ -142,9 +143,14 @@ namespace Game.Networking.Packets
class LootMoney : ClientPacket
{
public bool IsSoftInteract;
public LootMoney(WorldPacket packet) : base(packet) { }
public override void Read() { }
public override void Read()
{
IsSoftInteract = _worldPacket.HasBit();
}
}
class LootMoneyNotify : ServerPacket
+1 -1
View File
@@ -199,11 +199,11 @@ namespace Game.Networking.Packets
public override void Write()
{
_worldPacket.WriteUInt32(Id);
_worldPacket.WriteUInt32(Flags);
_worldPacket.WriteVector3(Pos);
_worldPacket.WriteUInt32(Icon);
_worldPacket.WriteUInt32(Importance);
_worldPacket.WriteUInt32(WMOGroupID);
_worldPacket.WriteBits(Flags, 14);
_worldPacket.WriteBits(Name.GetByteCount(), 6);
_worldPacket.FlushBits();
_worldPacket.WriteString(Name);
@@ -966,12 +966,10 @@ namespace Game.Networking.Packets
{
SpellClickUnitGuid = _worldPacket.ReadPackedGuid();
TryAutoDismount = _worldPacket.HasBit();
IsSoftInteract = _worldPacket.HasBit();
}
public ObjectGuid SpellClickUnitGuid;
public bool TryAutoDismount;
public bool IsSoftInteract;
}
class ResyncRunes : ServerPacket
@@ -24,9 +24,7 @@ namespace Game.Networking.Packets
_worldPacket.WriteUInt32(RAFSystem.MaxRecruitMonths);
_worldPacket.WriteUInt32(RAFSystem.MaxRecruitmentUses);
_worldPacket.WriteUInt32(RAFSystem.DaysInCycle);
_worldPacket.WriteUInt32(TwitterPostThrottleLimit);
_worldPacket.WriteUInt32(TwitterPostThrottleCooldown);
_worldPacket.WriteUInt32(RAFSystem.Unknown1007);
_worldPacket.WriteUInt32(TokenPollTimeSeconds);
_worldPacket.WriteUInt32(KioskSessionMinutes);
@@ -61,7 +59,6 @@ namespace Game.Networking.Packets
_worldPacket.WriteBit(RestrictedAccount);
_worldPacket.WriteBit(CommerceSystemEnabled);
_worldPacket.WriteBit(TutorialsEnabled);
_worldPacket.WriteBit(TwitterEnabled);
_worldPacket.WriteBit(Unk67);
_worldPacket.WriteBit(WillKickFromWorld);
@@ -140,8 +137,6 @@ namespace Game.Networking.Packets
public uint CfgRealmID;
public byte ComplaintStatus;
public int CfgRealmRecID;
public uint TwitterPostThrottleLimit;
public uint TwitterPostThrottleCooldown;
public uint TokenPollTimeSeconds;
public long TokenBalanceAmount;
public uint BpayStoreProductDeliveryDelay;
@@ -155,7 +150,6 @@ namespace Game.Networking.Packets
public bool ItemRestorationButtonEnabled;
public bool CharUndeleteEnabled; // Implemented
public bool BpayStoreDisabledByParentalControls;
public bool TwitterEnabled;
public bool CommerceSystemEnabled;
public bool Unk67;
public bool WillKickFromWorld;
@@ -237,9 +231,10 @@ namespace Game.Networking.Packets
public uint MaxRecruitMonths;
public uint MaxRecruitmentUses;
public uint DaysInCycle;
public uint Unknown1007;
}
}
public class FeatureSystemStatusGlueScreen : ServerPacket
{
public FeatureSystemStatusGlueScreen() : base(ServerOpcodes.FeatureSystemStatusGlueScreen) { }
@@ -272,6 +267,10 @@ namespace Game.Networking.Packets
_worldPacket.WriteBit(LaunchETA.HasValue);
_worldPacket.WriteBit(AddonsDisabled);
_worldPacket.WriteBit(Unused1000);
_worldPacket.WriteBit(AccountSaveDataExportEnabled);
_worldPacket.WriteBit(AccountLockedByExport);
_worldPacket.FlushBits();
if (EuropaTicketSystemStatus.HasValue)
@@ -292,6 +291,8 @@ namespace Game.Networking.Packets
_worldPacket.WriteInt16(MaxPlayerNameQueriesPerPacket);
_worldPacket.WriteInt16(PlayerNameQueryTelemetryInterval);
_worldPacket.WriteUInt32((uint)PlayerNameQueryInterval.TotalSeconds);
_worldPacket.WriteInt32(DebugTimeEvents.Count);
_worldPacket.WriteInt32(Unused1007);
if (LaunchETA.HasValue)
_worldPacket.WriteInt32(LaunchETA.Value);
@@ -301,6 +302,9 @@ namespace Game.Networking.Packets
foreach (GameRuleValuePair gameRuleValue in GameRuleValues)
gameRuleValue.Write(_worldPacket);
foreach (DebugTimeEventInfo debugTimeEventInfo in DebugTimeEvents)
debugTimeEventInfo.Write(_worldPacket);
}
public bool BpayStoreAvailable; // NYI
@@ -322,6 +326,8 @@ namespace Game.Networking.Packets
public bool Unknown901CheckoutRelated; // NYI
public bool AddonsDisabled;
public bool Unused1000;
public bool AccountSaveDataExportEnabled;
public bool AccountLockedByExport;
public EuropaTicketConfig? EuropaTicketSystemStatus;
public List<int> LiveRegionCharacterCopySourceRegions = new();
public uint TokenPollTimeSeconds; // NYI
@@ -339,6 +345,8 @@ namespace Game.Networking.Packets
public short PlayerNameQueryTelemetryInterval = 600;
public TimeSpan PlayerNameQueryInterval = TimeSpan.FromSeconds(10);
public int? LaunchETA;
public List<DebugTimeEventInfo> DebugTimeEvents = new();
public int Unused1007;
}
public class MOTD : ServerPacket
@@ -429,4 +437,19 @@ namespace Game.Networking.Packets
data.WriteInt32(Value);
}
}
public struct DebugTimeEventInfo
{
public uint TimeEvent;
public string Text;
public void Write(WorldPacket data)
{
data.WriteUInt32(TimeEvent);
data.WriteBits(Text.GetByteCount(), 7);
data.FlushBits();
data.WriteString(Text);
}
}
}
@@ -391,6 +391,7 @@ namespace Game.Networking.Packets
RideTicket.Read(data);
GroupFinderActivityID = data.ReadUInt32();
Unknown1007 = data.ReadUInt8();
LastTitleAuthorGuid = data.ReadPackedGuid();
LastDescriptionAuthorGuid = data.ReadPackedGuid();
LastVoiceChatAuthorGuid = data.ReadPackedGuid();
@@ -408,6 +409,7 @@ namespace Game.Networking.Packets
public RideTicket RideTicket;
public uint GroupFinderActivityID;
public byte Unknown1007;
public ObjectGuid LastTitleAuthorGuid;
public ObjectGuid LastDescriptionAuthorGuid;
public ObjectGuid LastVoiceChatAuthorGuid;