Skip to content

Commit 7036c1d

Browse files
committed
fixed SMSG_FEATURE_SYSTEM_STATUS for 4.4.2
1 parent 404215c commit 7036c1d

1 file changed

Lines changed: 154 additions & 1 deletion

File tree

WowPacketParserModule.V4_4_0_54481/Parsers/MiscellaneousHandler.cs

Lines changed: 154 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ public static void ReadGameRuleValuePair(Packet packet, params object[] indexes)
2424
{
2525
packet.ReadInt32("Rule", indexes);
2626
packet.ReadInt32("Value", indexes);
27+
28+
if (ClientVersion.AddedInVersion(ClientVersionBuild.V4_4_2_59185))
29+
packet.ReadSingle("ValueF", indexes);
2730
}
2831

2932
public static void ReadDebugTimeInfo(Packet packet, params object[] indexes)
@@ -561,7 +564,7 @@ public static void HandleFeatureSystemStatus(Packet packet)
561564
}
562565
}
563566

564-
[Parser(Opcode.SMSG_FEATURE_SYSTEM_STATUS, ClientVersionBuild.V4_4_1_57294)]
567+
[Parser(Opcode.SMSG_FEATURE_SYSTEM_STATUS, ClientVersionBuild.V4_4_1_57294, ClientVersionBuild.V4_4_2_59185)]
565568
public static void HandleFeatureSystemStatus441(Packet packet)
566569
{
567570
packet.ReadByte("ComplaintStatus");
@@ -706,6 +709,156 @@ public static void HandleFeatureSystemStatus441(Packet packet)
706709
}
707710
}
708711

712+
[Parser(Opcode.SMSG_FEATURE_SYSTEM_STATUS, ClientVersionBuild.V4_4_2_59185)]
713+
public static void HandleFeatureSystemStatus442(Packet packet)
714+
{
715+
packet.ReadByte("ComplaintStatus");
716+
packet.ReadUInt32("CfgRealmID");
717+
packet.ReadInt32("CfgRealmRecID");
718+
719+
packet.ReadUInt32("MaxRecruits", "RAFSystem");
720+
packet.ReadUInt32("MaxRecruitMonths", "RAFSystem");
721+
packet.ReadUInt32("MaxRecruitmentUses", "RAFSystem");
722+
packet.ReadUInt32("DaysInCycle", "RAFSystem");
723+
packet.ReadUInt32("RewardsVersion", "RAFSystem");
724+
725+
packet.ReadUInt32("CommercePricePollTimeSeconds");
726+
packet.ReadUInt32("KioskSessionDurationMinutes");
727+
packet.ReadInt64("RedeemForBalanceAmount");
728+
729+
packet.ReadUInt32("BpayStorePurchaseTimeout");
730+
packet.ReadUInt32("ClubsPresenceDelay");
731+
packet.ReadUInt32("ClubPresenceUnsubscribeDelay");
732+
packet.ReadInt32("ContentSetID");
733+
var gameRuleValuesCount = packet.ReadUInt32("GameRuleValuesCount");
734+
packet.ReadInt32("ActiveTimerunningSeasonID");
735+
packet.ReadInt32("RemainingTimerunningSeasonSeconds");
736+
737+
packet.ReadInt16("MaxPlayerGuidLookupsPerRequest");
738+
packet.ReadInt16("NameLookupTelemetryInterval");
739+
packet.ReadUInt32("NotFoundCacheTimeSeconds");
740+
741+
packet.ReadInt32("RealmPvpTypeOverride");
742+
743+
packet.ReadInt32("MaxTries", "AddonChatThrottle");
744+
packet.ReadInt32("TriesRestoredPerSecond", "AddonChatThrottle");
745+
packet.ReadInt32("UsedTriesPerMessage", "AddonChatThrottle");
746+
747+
for (var i = 0; i < gameRuleValuesCount; ++i)
748+
ReadGameRuleValuePair(packet, "GameRuleValues");
749+
750+
packet.ResetBitReader();
751+
packet.ReadBit("VoiceEnabled");
752+
var hasEuropaTicketSystemStatus = packet.ReadBit("HasEuropaTicketSystemStatus");
753+
packet.ReadBit("StoreEnabled", "BattlePay");
754+
packet.ReadBit("StoreAvailable", "BattlePay");
755+
packet.ReadBit("StoreDisabledByParentalControls", "BattlePay");
756+
packet.ReadBit("ItemRestorationButtonEnabled");
757+
packet.ReadBit("BrowserEnabled");
758+
var hasSessionAlert = packet.ReadBit("HasSessionAlert");
759+
760+
packet.ReadBit("Enabled", "RAFSystem");
761+
packet.ReadBit("RecruitingEnabled", "RAFSystem");
762+
packet.ReadBit("CharUndeleteEnabled");
763+
packet.ReadBit("RestrictedAccount");
764+
packet.ReadBit("CommerceSystemEnabled");
765+
packet.ReadBit("TutorialsEnabled");
766+
packet.ReadBit("VeteranTokenRedeemWillKick");
767+
packet.ReadBit("WorldTokenRedeemWillKick");
768+
769+
packet.ReadBit("KioskModeEnabled");
770+
packet.ReadBit("CompetitiveModeEnabled");
771+
packet.ReadBit("RedeemForBalanceAvailable");
772+
packet.ReadBit("WarModeEnabled");
773+
packet.ReadBit("CommunitiesEnabled");
774+
packet.ReadBit("BnetGroupsEnabled");
775+
packet.ReadBit("CharacterCommunitiesEnabled");
776+
packet.ReadBit("ClubPresenceAllowSubscribeAll");
777+
778+
packet.ReadBit("VoiceChatParentalDisabled");
779+
packet.ReadBit("VoiceChatParentalMuted");
780+
packet.ReadBit("QuestSessionEnabled");
781+
packet.ReadBit("IsChatMuted");
782+
packet.ReadBit("ClubFinderEnabled");
783+
packet.ReadBit("CommunityFinderEnabled");
784+
packet.ReadBit("BrowserCrashReporterEnabled");
785+
packet.ReadBit("SpeakForMeAllowed");
786+
787+
packet.ReadBit("DoesAccountNeedAADCPrompt");
788+
packet.ReadBit("IsAccountOptedInToAADC");
789+
packet.ReadBit("LfgRequireAuthenticatorEnabled");
790+
packet.ReadBit("ScriptsDisallowedForBeta");
791+
packet.ReadBit("WarGamesEnabled");
792+
var hasRaceClassExpansionLevels = packet.ReadBit("RaceClassExpansionLevels");
793+
packet.ReadBit("Unk441_0");
794+
packet.ReadBit("Unk441_1");
795+
796+
packet.ReadBit("GroupFinderEnabled");
797+
packet.ReadBit("PremadeGroupEnabled");
798+
packet.ReadBit("LFDEnabled");
799+
packet.ReadBit("LFREnabled");
800+
packet.ReadBit("UseActivePlayerDataQuestCompleted");
801+
packet.ReadBit("PetHappinessEnabled");
802+
packet.ReadBit("GuildEventsEditsEnabled");
803+
packet.ReadBit("GuildTradeSkillsEnabled");
804+
805+
var unknown1027StrLen = packet.ReadBits(7);
806+
packet.ReadBit("BNSendWhisperUseV2Services");
807+
packet.ReadBit("BNSendGameDataUseV2Services");
808+
packet.ReadBit("IsAccountCurrencyTransferEnabled");
809+
packet.ReadBit("Unused_1107");
810+
packet.ReadBit("LobbyMatchmakerQueueFromMainlineEnabled");
811+
packet.ReadBit("CanSendLobbyMatchmakerPartyCustomizations");
812+
813+
{
814+
packet.ResetBitReader();
815+
packet.ReadBit("ToastsDisabled", "QuickJoinConfig");
816+
packet.ReadSingle("ToastDuration", "QuickJoinConfig");
817+
packet.ReadSingle("DelayDuration", "QuickJoinConfig");
818+
packet.ReadSingle("QueueMultiplier", "QuickJoinConfig");
819+
packet.ReadSingle("PlayerMultiplier", "QuickJoinConfig");
820+
packet.ReadSingle("PlayerFriendValue", "QuickJoinConfig");
821+
packet.ReadSingle("PlayerGuildValue", "QuickJoinConfig");
822+
packet.ReadSingle("ThrottleInitialThreshold", "QuickJoinConfig");
823+
packet.ReadSingle("ThrottleDecayTime", "QuickJoinConfig");
824+
packet.ReadSingle("ThrottlePrioritySpike", "QuickJoinConfig");
825+
packet.ReadSingle("ThrottleMinThreshold", "QuickJoinConfig");
826+
packet.ReadSingle("ThrottlePvPPriorityNormal", "QuickJoinConfig");
827+
packet.ReadSingle("ThrottlePvPPriorityLow", "QuickJoinConfig");
828+
packet.ReadSingle("ThrottlePvPHonorThreshold", "QuickJoinConfig");
829+
packet.ReadSingle("ThrottleLfgListPriorityDefault", "QuickJoinConfig");
830+
packet.ReadSingle("ThrottleLfgListPriorityAbove", "QuickJoinConfig");
831+
packet.ReadSingle("ThrottleLfgListPriorityBelow", "QuickJoinConfig");
832+
packet.ReadSingle("ThrottleLfgListIlvlScalingAbove", "QuickJoinConfig");
833+
packet.ReadSingle("ThrottleLfgListIlvlScalingBelow", "QuickJoinConfig");
834+
packet.ReadSingle("ThrottleRfPriorityAbove", "QuickJoinConfig");
835+
packet.ReadSingle("ThrottleRfIlvlScalingAbove", "QuickJoinConfig");
836+
packet.ReadSingle("ThrottleDfMaxItemLevel", "QuickJoinConfig");
837+
packet.ReadSingle("ThrottleDfBestPriority", "QuickJoinConfig");
838+
}
839+
840+
if (hasSessionAlert)
841+
V6_0_2_19033.Parsers.MiscellaneousHandler.ReadClientSessionAlertConfig(packet, "SessionAlert");
842+
843+
if (hasRaceClassExpansionLevels)
844+
{
845+
var count = packet.ReadUInt32();
846+
847+
for (var i = 0; i < count; ++i)
848+
packet.ReadByte("RaceClassExpansionLevels", i);
849+
}
850+
851+
packet.ReadWoWString("Unknown1027", unknown1027StrLen);
852+
853+
V8_0_1_27101.Parsers.MiscellaneousHandler.ReadVoiceChatManagerSettings(packet, "VoiceChatManagerSettings");
854+
855+
if (hasEuropaTicketSystemStatus)
856+
{
857+
packet.ResetBitReader();
858+
V6_0_2_19033.Parsers.MiscellaneousHandler.ReadCliEuropaTicketConfig(packet, "EuropaTicketSystemStatus");
859+
}
860+
}
861+
709862
[Parser(Opcode.CMSG_QUERY_COUNTDOWN_TIMER)]
710863
public static void HandleQueryCountdownTimer(Packet packet)
711864
{

0 commit comments

Comments
 (0)