├── .gitattributes ├── .gitignore ├── Be.Windows.Forms.HexBox ├── AssemblyInfo.cs ├── Be.Windows.Forms.HexBox.csproj ├── Be.Windows.Forms.HexBox.xml ├── BuiltInContextMenu.cs ├── ByteCharConverters.cs ├── ByteCollection.cs ├── BytePositionInfo.cs ├── DataBlock.cs ├── DataMap.cs ├── DynamicByteProvider.cs ├── DynamicFileByteProvider.cs ├── FileByteProvider.cs ├── FileDataBlock.cs ├── FindOptions.cs ├── HexBox.bmp ├── HexBox.cs ├── HexBox.resx ├── HexBox.snk ├── HexCasing.cs ├── IByteProvider.cs ├── MemoryDataBlock.cs ├── NativeMethods.cs ├── Properties │ ├── Resources.Designer.cs │ └── Resources.resx ├── Util.cs └── bin │ └── x86 │ └── Release │ └── Be.Windows.Forms.HexBox.dll ├── DTBReaderWV ├── App.config ├── DTBReaderWV.csproj ├── DTBReaderWV.csproj.user ├── Program.cs ├── Properties │ └── AssemblyInfo.cs └── bin │ └── x86 │ └── Release │ └── DTBReaderWV.exe ├── DareDebuggerWV ├── App.config ├── DareDebuggerWV.csproj ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── Log.cs ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings └── bin │ └── x86 │ └── Release │ ├── Be.Windows.Forms.HexBox.dll │ ├── DareDebuggerWV.exe │ └── log.txt ├── GROBackendWV.sln ├── GROBackendWV.v11.suo ├── GROBackendWV ├── App.config ├── DecryptTool.Designer.cs ├── DecryptTool.cs ├── DecryptTool.resx ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── GROBackendWV.csproj ├── GROBackendWV.csproj.user ├── LogFilter.Designer.cs ├── LogFilter.cs ├── LogFilter.resx ├── PacketGenerator.Designer.cs ├── PacketGenerator.cs ├── PacketGenerator.resx ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── SendNotification.Designer.cs ├── SendNotification.cs ├── SendNotification.resx ├── Server │ ├── AuthServer.cs │ ├── OnlineConfigServer.cs │ └── RdvServer.cs ├── TCPServer.cs ├── UDPProcessor.Designer.cs ├── UDPProcessor.cs ├── UDPProcessor.resx ├── UDPServer.cs └── bin │ └── x86 │ └── Release │ ├── Be.Windows.Forms.HexBox.dll │ ├── DotNetZip.dll │ ├── DotNetZip.xml │ ├── GROBackendWV.exe │ ├── QuazalWV.dll │ ├── System.Data.SQLite.dll │ ├── System.Data.SQLite.xml │ └── database.sqlite ├── GRODedicatedServerWV ├── App.config ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── GRODedicatedServerWV.csproj ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── Server │ └── UDPDedictedServer.cs └── bin │ └── x86 │ └── Release │ ├── DotNetZip.dll │ ├── DotNetZip.xml │ ├── GRODedicatedServerWV.exe │ ├── QuazalWV.dll │ ├── System.Data.SQLite.dll │ ├── System.Data.SQLite.xml │ └── database.sqlite ├── GROExplorerWV ├── App.config ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── GROExplorerWV.csproj ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── YETIFile.cs ├── bin │ └── x86 │ │ └── Release │ │ ├── Be.Windows.Forms.HexBox.dll │ │ ├── DotNetZip.dll │ │ ├── DotNetZip.xml │ │ └── GROExplorerWV.exe └── dll │ ├── DotNetZip.dll │ ├── DotNetZip.pdb │ └── DotNetZip.xml ├── GROMemoryToolWV ├── App.config ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── GROMemoryToolWV.csproj ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings └── bin │ └── x86 │ └── Release │ └── GROMemoryToolWV.exe ├── GRO_Hook ├── AICLASS_PCClient_R │ ├── AICLASS_PCClient_R.vcxproj │ ├── AICLASS_PCClient_R.vcxproj.filters │ ├── Header.h │ ├── HookedFunctions.h │ ├── Source.cpp │ ├── ZenStuff.cpp │ ├── ZenStuff.h │ ├── defines.h │ ├── detours.h │ ├── detours.lib │ ├── dllmain.cpp │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h ├── README.md └── Release │ ├── AICLASS_PCClient_R.dll │ ├── AICLASS_PCClient_R.exp │ ├── AICLASS_PCClient_R.lib │ └── AICLASS_PCClient_R.pdb ├── NamespaceParserWV ├── ENamespaceItem.cs ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── NamespaceParserWV.csproj ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── bin │ └── x86 │ │ └── Release │ │ ├── Be.Windows.Forms.HexBox.dll │ │ └── NamespaceParserWV.exe └── example.hex ├── QuazalSharkWV ├── App.config ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── QuazalSharkWV.csproj └── bin │ └── x86 │ └── Release │ ├── Be.Windows.Forms.HexBox.dll │ ├── DotNetZip.dll │ ├── DotNetZip.xml │ ├── QuazalSharkWV.exe │ ├── QuazalWV.dll │ ├── System.Data.SQLite.dll │ └── System.Data.SQLite.xml ├── QuazalWV ├── BM │ ├── BM_Message.cs │ ├── BM_Param.cs │ ├── CmdPayloads │ │ ├── ECMD_PlayerAbstractChangeState.cs │ │ ├── ECMD_PlayerFallingDamage.cs │ │ └── Entitiy_CMD.cs │ ├── MSG_ID_BM_StartRound.cs │ ├── MSG_ID_CB_Connection.cs │ ├── MSG_ID_Entity_Cmd.cs │ ├── MSG_ID_NetRule_Synchronize.cs │ ├── MSG_ID_Net_Obj_Create.cs │ ├── MSG_ID_ReceiveReplicaData.cs │ ├── MSG_ID_SendReplicaData.cs │ └── ObjCreatePayloads │ │ ├── ClassInfo │ │ ├── ClassInfo_Ability.cs │ │ ├── ClassInfo_Armor.cs │ │ ├── ClassInfo_Body.cs │ │ ├── ClassInfo_Boost.cs │ │ ├── ClassInfo_Grenade.cs │ │ ├── ClassInfo_Gun.cs │ │ └── ClassInfo_PassiveAbility.cs │ │ ├── OCP_AbstractPlayerEntity.cs │ │ └── OCP_PlayerEntity.cs ├── BitBuffer.cs ├── BitFieldU32.cs ├── Classes │ ├── DS_ConnectionInfo.cs │ ├── GR5_AMM_GameDetail.cs │ ├── GR5_AMM_GameMode.cs │ ├── GR5_AMM_Map.cs │ ├── GR5_AMM_Modifier.cs │ ├── GR5_AMM_Playlist.cs │ ├── GR5_AMM_PlaylistEntry.cs │ ├── GR5_Ability.cs │ ├── GR5_AbilityUpgrade.cs │ ├── GR5_AbilityUpgradeSlot.cs │ ├── GR5_Achievement.cs │ ├── GR5_AchievementCategory.cs │ ├── GR5_AchievementGroup.cs │ ├── GR5_AdContainer.cs │ ├── GR5_AdRecommender.cs │ ├── GR5_AdServer.cs │ ├── GR5_AdStaticList.cs │ ├── GR5_Advertisement.cs │ ├── GR5_ApplyItem.cs │ ├── GR5_ArmorInsert.cs │ ├── GR5_ArmorInsertSlot.cs │ ├── GR5_ArmorItem.cs │ ├── GR5_ArmorTier.cs │ ├── GR5_AvatarDecorator.cs │ ├── GR5_AvatarPortrait.cs │ ├── GR5_BasicPersona.cs │ ├── GR5_Boost.cs │ ├── GR5_CartItem.cs │ ├── GR5_Character.cs │ ├── GR5_ChatChannelMute.cs │ ├── GR5_ChatRoom.cs │ ├── GR5_Component.cs │ ├── GR5_Consumable.cs │ ├── GR5_Coupon.cs │ ├── GR5_DesignerStatistics.cs │ ├── GR5_FaceSkinTone.cs │ ├── GR5_FriendData.cs │ ├── GR5_GameClass.cs │ ├── GR5_GameSessionParticipant.cs │ ├── GR5_Gathering.cs │ ├── GR5_IdSlotPair.cs │ ├── GR5_InboxMessage.cs │ ├── GR5_InstancedStatistic.cs │ ├── GR5_InventoryBag.cs │ ├── GR5_InventoryBagSlot.cs │ ├── GR5_Invitation.cs │ ├── GR5_Invitee.cs │ ├── GR5_Leaderboard.cs │ ├── GR5_LeaderboardReadResult.cs │ ├── GR5_LeaderboardRow.cs │ ├── GR5_Level.cs │ ├── GR5_LoadoutKit.cs │ ├── GR5_LootItem.cs │ ├── GR5_Mission.cs │ ├── GR5_MissionArc.cs │ ├── GR5_MissionSequence.cs │ ├── GR5_NewsHeader.cs │ ├── GR5_NewsMessage.cs │ ├── GR5_Notification.cs │ ├── GR5_OperatorVariable.cs │ ├── GR5_PartyMember.cs │ ├── GR5_PassiveAbility.cs │ ├── GR5_Persona.cs │ ├── GR5_PersonaAbilityUpgrade.cs │ ├── GR5_PersonaArmorTier.cs │ ├── GR5_PersonaMission.cs │ ├── GR5_PlayerAchievement.cs │ ├── GR5_PlayerAchievementGroup.cs │ ├── GR5_PlayerInstancedStatisticsBlock.cs │ ├── GR5_PlayerStatisticsBlock.cs │ ├── GR5_PlayerTimedStatisticsBlock.cs │ ├── GR5_PriorityBroadcast.cs │ ├── GR5_ProfaneWord.cs │ ├── GR5_PveArchetype.cs │ ├── GR5_RCHeader.cs │ ├── GR5_Reward.cs │ ├── GR5_RewardUserResult.cs │ ├── GR5_SKU.cs │ ├── GR5_SKUItem.cs │ ├── GR5_SKUModifier.cs │ ├── GR5_SKUModifierCondition.cs │ ├── GR5_SKUModifierOutput.cs │ ├── GR5_SingleCartItem.cs │ ├── GR5_Skill.cs │ ├── GR5_SkillModifier.cs │ ├── GR5_SkillModifierList.cs │ ├── GR5_SkillPower.cs │ ├── GR5_SkillUpgrade.cs │ ├── GR5_Statistic.cs │ ├── GR5_Survey.cs │ ├── GR5_TemplateItem.cs │ ├── GR5_TimeInfo.cs │ ├── GR5_TimeZoneInfo.cs │ ├── GR5_TimedStatistic.cs │ ├── GR5_Unlock.cs │ ├── GR5_UserItem.cs │ ├── GR5_UserUnlockResult.cs │ ├── GR5_Weapon.cs │ ├── GR5_WeaponConfiguration.cs │ ├── GR5_WeaponXPLevelInfo.cs │ ├── ProcessAuthentication.cs │ ├── QDateTime.cs │ ├── RDV_AMMCommon │ │ ├── GR5_AMMSetting.cs │ │ ├── GR5_ClusterQueue.cs │ │ ├── GR5_DedicatedServers.cs │ │ └── GR5_Request.cs │ ├── SessionInfo.cs │ ├── SessionInfosParameter.cs │ ├── SharedSessionDescription.cs │ ├── StationIdentification.cs │ ├── StationInfo.cs │ └── StdMaps.cs ├── ClientInfo.cs ├── DB │ ├── AbilityUpgradeModel.cs │ ├── AdModel.cs │ ├── BoostModel.cs │ ├── ConsumableModel.cs │ ├── DBHelper.cs │ ├── PassiveAbilityModel.cs │ ├── TransactionModel.cs │ └── UnlockModel.cs ├── DO │ ├── DO.cs │ ├── DO_BundleMessage.cs │ ├── DO_CreateAndPromoteDuplicaMessage.cs │ ├── DO_CreateDuplicaMessage.cs │ ├── DO_DeleteMessage.cs │ ├── DO_FetchRequestMessage.cs │ ├── DO_GetParticipantsRequestMessage.cs │ ├── DO_GetParticipantsResponseMessage.cs │ ├── DO_JoinRequestMessage.cs │ ├── DO_JoinResponseMessage.cs │ ├── DO_MigrationMessage.cs │ ├── DO_Outcome.cs │ ├── DO_RMCRequestMessage.cs │ ├── DO_RMCResponseMessage.cs │ ├── DO_Session.cs │ └── DupObjs │ │ ├── DupObj.cs │ │ ├── DupObjPayload.cs │ │ └── Payloads │ │ ├── Payload_IDRange.cs │ │ ├── Payload_PlayerParameter.cs │ │ ├── Payload_RDVInfo.cs │ │ ├── Payload_Session.cs │ │ ├── Payload_SessionInfos.cs │ │ ├── Payload_Station.cs │ │ └── Payload_SyncResponse.cs ├── Global.cs ├── Helper.cs ├── Kerberos │ └── KerberosTicket.cs ├── Log.cs ├── NotificationQuene.cs ├── NotificationQueneEntry.cs ├── Properties │ └── AssemblyInfo.cs ├── QPacket.cs ├── QPacketHandler.cs ├── QuazalWV.csproj ├── RMC │ ├── AMMDedicatedServerService │ │ ├── AMMDedicatedServerService.cs │ │ └── Response │ │ │ ├── RMCPacketResponseAMM_cmn_FetchSessionParticipants.cs │ │ │ └── RMCPacketResponseAMM_ds_AddParticipantToSession.cs │ ├── AMMGameClientService │ │ ├── AMMGameClientService.cs │ │ └── Response │ │ │ ├── RMCPacketResponseAMMGameClientService_GetActiveAMMPlaylists.cs │ │ │ ├── RMCPacketResponseAMMGameClientService_LeaveAMMSearch.cs │ │ │ ├── RMCPacketResponseAMM_GetSessionURLs.cs │ │ │ └── RMCPacketResponseAMM_RequestAMMSearch.cs │ ├── AbilityService │ │ ├── AbilityService.cs │ │ └── Response │ │ │ ├── RMCPacketResponseAbilityService_GetPersonaAbilityUpgrades.cs │ │ │ └── RMCPacketResponseAbilityService_GetPersonaAbilityUpgrades1.cs │ ├── AchievementsService │ │ ├── AchievementsService.cs │ │ └── Response │ │ │ ├── RMCPacketResponseAchievementsService_GetAllBaseAchievementData.cs │ │ │ ├── RMCPacketResponseAchievementsService_GetPlayerAchievementGroups.cs │ │ │ ├── RMCPacketResponseAchievementsService_GetPlayerAchievements.cs │ │ │ └── RMCPacketResponseAchievementsService_GetPlayerPinnedAchievements.cs │ ├── AdvertisementsService │ │ ├── AdvertisementsService.cs │ │ └── Response │ │ │ ├── RMCPacketResponseAdvertisementsService_GetAdvertStaticData.cs │ │ │ └── RMCPacketResponseAdvertisementsService_GetAdvertisements.cs │ ├── ArmorService │ │ ├── ArmorService.cs │ │ └── Response │ │ │ ├── RMCPacketResponseArmorService_GetPersonaArmorTiers.cs │ │ │ └── RMCPacketResponseArmorService_GetTemplateArmor.cs │ ├── AuthenticationService │ │ ├── AuthenticationService.cs │ │ ├── Request │ │ │ ├── RMCPacketRequestLoginCustomData.cs │ │ │ └── RMCPacketRequestRequestTicket.cs │ │ └── Response │ │ │ ├── RMCPacketResponseLoginCustomData.cs │ │ │ └── RMCPacketResponseRequestTicket.cs │ ├── AvatarService │ │ ├── AvatarService.cs │ │ └── Response │ │ │ ├── RMCPacketResponseAvatarService_GetAvatarDecorators.cs │ │ │ └── RMCPacketResponseAvatarService_GetAvatarPortraits.cs │ ├── ChatService │ │ ├── ChatService.cs │ │ ├── Request │ │ │ ├── RMCPacketRequestChatService_IgnorePlayer.cs │ │ │ ├── RMCPacketRequestChatService_JoinPublicChannel.cs │ │ │ ├── RMCPacketRequestChatService_SetCurrentCharacter.cs │ │ │ ├── RMCPacketRequestChatService_SetStatus.cs │ │ │ └── RMCPacketRequestChatService_UnignorePlayer.cs │ │ └── Response │ │ │ ├── RMCPacketResponseChatService_CallGetMutedChannel.cs │ │ │ ├── RMCPacketResponseChatService_GetIgnoreList.cs │ │ │ ├── RMCPacketResponseChatService_IgnorePlayer.cs │ │ │ ├── RMCPacketResponseChatService_JoinPublicChannel.cs │ │ │ └── RMCPacketResponseChatService_UnignorePlayer.cs │ ├── DBGTelemetryService │ │ ├── DBGTelemetryService.cs │ │ └── Response │ │ │ └── RMCPacketResponseDBGTelemetry_DBGAMMClientInfo.cs │ ├── FriendsService │ │ ├── FriendsService.cs │ │ ├── Request │ │ │ ├── RMCPacketRequestFriendsService_AddFriendByID.cs │ │ │ ├── RMCPacketRequestFriendsService_AddFriendByName.cs │ │ │ ├── RMCPacketRequestFriendsService_MoveFriendToGroup.cs │ │ │ └── RMCPacketRequestFriendsService_RemoveFriend.cs │ │ └── Response │ │ │ ├── RMCPacketResponseFriendsService_AddFriendByID.cs │ │ │ ├── RMCPacketResponseFriendsService_AddFriendByName.cs │ │ │ └── RMCPacketResponseFriendsService_GetFriendsList.cs │ ├── InboxMessageService │ │ ├── InboxMessageService.cs │ │ ├── Request │ │ │ ├── RMCPacketRequestInboxMessageService_DeleteInboxMessages.cs │ │ │ ├── RMCPacketRequestInboxMessageService_GetInboxMessagesAfterMessageId.cs │ │ │ ├── RMCPacketRequestInboxMessageService_GetRecentInboxMessages.cs │ │ │ └── RMCPacketRequestInboxMessageService_SetReadFlags.cs │ │ └── Response │ │ │ ├── RMCPacketResponseInboxMessageService_GetInboxMessageOasisIdDict.cs │ │ │ ├── RMCPacketResponseInboxMessageService_GetInboxMessagesAfterMessageId.cs │ │ │ └── RMCPacketResponseInboxMessageService_GetRecentInboxMessages.cs │ ├── InventoryService │ │ ├── InventoryService.cs │ │ └── Response │ │ │ ├── RMCPacketResponseInventoryService_GetAllApplyItems.cs │ │ │ ├── RMCPacketResponseInventoryService_GetAllBoosts.cs │ │ │ ├── RMCPacketResponseInventoryService_GetAllConsumables.cs │ │ │ ├── RMCPacketResponseInventoryService_GetAllDefaultLoadoutKits.cs │ │ │ ├── RMCPacketResponseInventoryService_GetTemplateItems.cs │ │ │ └── RMCPacketResponseInventoryService_GetUserInventoryByBagType.cs │ ├── LeaderboardService │ │ ├── LeaderboardService.cs │ │ └── Response │ │ │ ├── RMCPacketResponseLeaderboardService_GetLeaderboards.cs │ │ │ ├── RMCPacketResponseLeaderboardService_Method4.cs │ │ │ ├── RMCPacketResponseLeaderboardService_ReadLeaderBoardStatsForPlayers.cs │ │ │ └── RMCPacketResponseLeaderboardService_ReadLeaderBoardStatsNearUser.cs │ ├── LoadoutService │ │ ├── LoadoutService.cs │ │ └── Response │ │ │ ├── RMCPacketResponseLoadout_CACHEFetch.cs │ │ │ └── RMCPacketResponseLoadout_GetLoadoutPowers.cs │ ├── LootService │ │ ├── LootService.cs │ │ └── Response │ │ │ ├── RMCPacketResponseLootService_GetLootAssetKeyMap.cs │ │ │ ├── RMCPacketResponseLootService_GetLootPointQualityMap.cs │ │ │ └── RMCPacketResponseLootService_GetLootStatic.cs │ ├── MatchMakingService │ │ ├── MatchMakingService.cs │ │ └── Response │ │ │ └── RMCPacketResponseMatchMakingService_Method10.cs │ ├── MissionService │ │ ├── MissionService.cs │ │ └── Response │ │ │ ├── RMCPacketResponseMissionService_CancelMission.cs │ │ │ ├── RMCPacketResponseMissionService_GetAllMissionTemplate.cs │ │ │ └── RMCPacketResponseMissionService_GetPersonaMissions.cs │ ├── NATTraversalService │ │ └── NATTraversalService.cs │ ├── OpsProtocolService │ │ ├── OpsProtocolService.cs │ │ └── Response │ │ │ ├── RMCPacketResponseOpsProtocolService_GetAllOperatorVariables.cs │ │ │ └── RMCPacketResponseOpsProtocolService_GetAllPriorityBroadcasts.cs │ ├── OverlordNewsProtocolService │ │ ├── OverlordNewsProtocolService.cs │ │ ├── Request │ │ │ ├── RMCPacketGetPlayerNewsRequest.cs │ │ │ └── RMCPacketGetSystemNewsRequest.cs │ │ └── Response │ │ │ └── RMCPacketResponseOverlordNewsProtocol_GetNews.cs │ ├── PartyService │ │ ├── PartyService.cs │ │ ├── Request │ │ │ └── RMCPacketRequestPartyService_InviteByID.cs │ │ └── Response │ │ │ ├── RMCPacketResponsePartyService_GetInviteList.cs │ │ │ ├── RMCPacketResponsePartyService_GetInviteeList.cs │ │ │ └── RMCPacketResponsePartyService_InviteByID.cs │ ├── PlayerProfileService │ │ ├── PlayerProfileService.cs │ │ ├── Request │ │ │ ├── RMCPacketRequestPlayerProfileService_SetAvatarDecorator.cs │ │ │ └── RMCPacketRequestPlayerProfileService_SetAvatarPortrait.cs │ │ └── Response │ │ │ ├── RMCPacketResponsePlayerProfileService_GetAllFaceSkinTones.cs │ │ │ ├── RMCPacketResponsePlayerProfileService_LoadCharacterProfiles.cs │ │ │ ├── RMCPacketResponsePlayerProfileService_RetrieveOfflineNotifications.cs │ │ │ ├── RMCPacketResponsePlayerProfileService_SetAvatarDecorator.cs │ │ │ └── RMCPacketResponsePlayerProfileService_SetAvatarPortrait.cs │ ├── ProfanityFilterService │ │ ├── ProfanityFilterService.cs │ │ └── Response │ │ │ └── RMCPacketResponseProfanityFilterService_GetAllProfaneWords.cs │ ├── ProgressionService │ │ ├── ProgressionService.cs │ │ └── Response │ │ │ └── RMCPacketResponseProgressionService_GetLevels.cs │ ├── PveArchetypeService │ │ ├── PveArchetypeService.cs │ │ └── Response │ │ │ └── RMCPacketResponsePveArchetypeService_GetAllPveArchetypes.cs │ ├── RMC.cs │ ├── RMCP.cs │ ├── RMCPCustom.cs │ ├── RMCPRequest.cs │ ├── RMCPResponse.cs │ ├── RMCPResponseEmpty.cs │ ├── RewardService │ │ ├── Response │ │ │ ├── RMCPacketResponseRewardService_GetRewards.cs │ │ │ ├── RMCPacketResponseRewardService_GetUserReward.cs │ │ │ └── RMCPacketResponseRewardService_Method3.cs │ │ └── RewardService.cs │ ├── SecureService │ │ ├── Request │ │ │ └── RMCPacketRequestRegisterEx.cs │ │ ├── Response │ │ │ └── RMCPacketResponseRegisterEx.cs │ │ └── SecureService.cs │ ├── ServerInfoService │ │ ├── Response │ │ │ ├── RMCPacketResponseServerInfo_GetServerTime.cs │ │ │ ├── RMCPacketResponseServerInfo_Method2.cs │ │ │ └── RMCPacketResponseServerInfo_RequestServerInfo.cs │ │ └── ServerInfoService.cs │ ├── SkillsService │ │ ├── Response │ │ │ ├── RMCPacketResponseSkillsService_GetGameClass.cs │ │ │ ├── RMCPacketResponseSkillsService_GetModifierLists.cs │ │ │ ├── RMCPacketResponseSkillsService_GetModifiers.cs │ │ │ ├── RMCPacketResponseSkillsService_GetSkillPowers.cs │ │ │ ├── RMCPacketResponseSkillsService_GetSkills.cs │ │ │ └── RMCPacketResponseSkillsService_Method7.cs │ │ └── SkillService.cs │ ├── StatisticsService │ │ ├── Response │ │ │ ├── RMCPacketResponseStatisticsService_GetDesignerStatistics.cs │ │ │ ├── RMCPacketResponseStatisticsService_GetPlayerInstancedStatistics.cs │ │ │ ├── RMCPacketResponseStatisticsService_GetPlayerLifetimeStatistics.cs │ │ │ └── RMCPacketResponseStatisticsService_Method4.cs │ │ └── StatisticsService.cs │ ├── StoreService │ │ ├── Request │ │ │ ├── RMCPacketRequestStoreService_CompleteBuyAbilityWithUpgrades.cs │ │ │ ├── RMCPacketRequestStoreService_CompleteBuyArmourAndAttachInserts.cs │ │ │ ├── RMCPacketRequestStoreService_CompleteBuyItem.cs │ │ │ ├── RMCPacketRequestStoreService_CompleteBuyWeaponAndAttachComponents.cs │ │ │ ├── RMCPacketRequestStoreService_InitiateBuyAbilityWithUpgrades.cs │ │ │ ├── RMCPacketRequestStoreService_InitiateBuyArmourAndAttachInserts.cs │ │ │ ├── RMCPacketRequestStoreService_InitiateBuyItem.cs │ │ │ └── RMCPacketRequestStoreService_InitiateBuyWeaponAndAttachComponents.cs │ │ ├── Response │ │ │ ├── RMCPacketResponseStoreService_CompleteBuyAbilityWithUpgrades.cs │ │ │ ├── RMCPacketResponseStoreService_CompleteBuyArmourAndAttachInserts.cs │ │ │ ├── RMCPacketResponseStoreService_CompleteBuyItem.cs │ │ │ ├── RMCPacketResponseStoreService_CompleteBuyWeaponAndAttachComponents.cs │ │ │ ├── RMCPacketResponseStoreService_EnterCoupons.cs │ │ │ ├── RMCPacketResponseStoreService_GetSKUs.cs │ │ │ ├── RMCPacketResponseStoreService_GetShoppingDetails.cs │ │ │ ├── RMCPacketResponseStoreService_InitiateBuyAbilityWithUpgrades.cs │ │ │ ├── RMCPacketResponseStoreService_InitiateBuyArmourAndAttachInserts.cs │ │ │ ├── RMCPacketResponseStoreService_InitiateBuyItem.cs │ │ │ └── RMCPacketResponseStoreService_InitiateBuyWeaponAndAttachComponents.cs │ │ └── StoreService.cs │ ├── SurveyService │ │ ├── Response │ │ │ └── RMCPacketResponseSurveyService_GetSurveys.cs │ │ └── SurveyService.cs │ ├── TelemetryService │ │ ├── Request │ │ │ └── RMCPacketRequestTelemetry_Method1.cs │ │ ├── Response │ │ │ └── RMCPacketResponseTelemetry_TrackGameSession.cs │ │ └── TelemetryService.cs │ ├── UnlockService │ │ ├── Response │ │ │ ├── RMCPacketResponseUnlockService_GetUnlocks.cs │ │ │ ├── RMCPacketResponseUnlockService_GetUserUnlock.cs │ │ │ └── RMCPacketResponseUnlockService_Unlock.cs │ │ └── UnlockService.cs │ ├── WeaponProficiencyService │ │ ├── Response │ │ │ ├── RMCPacketResponseWeaponProficiencyService_GetPersonaWeaponsXP.cs │ │ │ └── RMCPacketResponseWeaponProficiencyService_GetWeaponsXPLevelInfo.cs │ │ └── WeaponProficiencyService.cs │ └── WeaponService │ │ ├── Response │ │ └── RMCPacketResponseWeaponService_GetTemplateWeaponMaps.cs │ │ └── WeaponService.cs ├── bin │ └── x86 │ │ └── Release │ │ ├── DotNetZip.dll │ │ ├── DotNetZip.xml │ │ ├── QuazalWV.dll │ │ ├── System.Data.SQLite.dll │ │ └── System.Data.SQLite.xml └── dll │ ├── DotNetZip.dll │ ├── DotNetZip.pdb │ ├── DotNetZip.xml │ ├── SQLite.Interop.dll │ ├── System.Data.SQLite.dll │ ├── System.Data.SQLite.dll.config │ └── System.Data.SQLite.xml ├── README.md ├── _runme.bat ├── cleanup.bat └── streams.exe /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | *.*~ 3 | project.lock.json 4 | .DS_Store 5 | *.pyc 6 | nupkg/ 7 | 8 | # Visual Studio Code 9 | .vscode 10 | 11 | # Rider 12 | .idea 13 | 14 | # User-specific files 15 | *.suo 16 | *.user 17 | *.userosscache 18 | *.sln.docstates 19 | *.pdb 20 | *.txt 21 | *.bin 22 | *.config 23 | *.ipch 24 | *.cache 25 | *.resources 26 | Be.Windows.Forms.HexBox/* 27 | 28 | # Build results 29 | [Dd]ebug/ 30 | [Dd]ebugPublic/ 31 | [Rr]elease/* 32 | [Rr]eleases/ 33 | x64/ 34 | x86/* 35 | build/ 36 | bld/ 37 | [Bb]in/* 38 | [Oo]bj/ 39 | [Oo]ut/ 40 | msbuild.log 41 | msbuild.err 42 | msbuild.wrn 43 | 44 | # Visual Studio 2015 45 | .vs/* 46 | Be.Windows.Forms.HexBox/* 47 | *.dtbcache.json 48 | *.tlog -------------------------------------------------------------------------------- /Be.Windows.Forms.HexBox/BytePositionInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Be.Windows.Forms 6 | { 7 | /// 8 | /// Represents a position in the HexBox control 9 | /// 10 | struct BytePositionInfo 11 | { 12 | public BytePositionInfo(long index, int characterPosition) 13 | { 14 | _index = index; 15 | _characterPosition = characterPosition; 16 | } 17 | 18 | public int CharacterPosition 19 | { 20 | get { return _characterPosition; } 21 | } int _characterPosition; 22 | 23 | public long Index 24 | { 25 | get { return _index; } 26 | } long _index; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Be.Windows.Forms.HexBox/DataBlock.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Be.Windows.Forms 4 | { 5 | internal abstract class DataBlock 6 | { 7 | internal DataMap _map; 8 | internal DataBlock _nextBlock; 9 | internal DataBlock _previousBlock; 10 | 11 | public abstract long Length 12 | { 13 | get; 14 | } 15 | 16 | public DataMap Map 17 | { 18 | get 19 | { 20 | return _map; 21 | } 22 | } 23 | 24 | public DataBlock NextBlock 25 | { 26 | get 27 | { 28 | return _nextBlock; 29 | } 30 | } 31 | 32 | public DataBlock PreviousBlock 33 | { 34 | get 35 | { 36 | return _previousBlock; 37 | } 38 | } 39 | 40 | public abstract void RemoveBytes(long position, long count); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Be.Windows.Forms.HexBox/HexBox.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/Be.Windows.Forms.HexBox/HexBox.bmp -------------------------------------------------------------------------------- /Be.Windows.Forms.HexBox/HexBox.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/Be.Windows.Forms.HexBox/HexBox.cs -------------------------------------------------------------------------------- /Be.Windows.Forms.HexBox/HexBox.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/Be.Windows.Forms.HexBox/HexBox.snk -------------------------------------------------------------------------------- /Be.Windows.Forms.HexBox/HexCasing.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Be.Windows.Forms 6 | { 7 | /// 8 | /// Specifies the case of hex characters in the HexBox control 9 | /// 10 | public enum HexCasing 11 | { 12 | /// 13 | /// Converts all characters to uppercase. 14 | /// 15 | Upper = 0, 16 | /// 17 | /// Converts all characters to lowercase. 18 | /// 19 | Lower = 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Be.Windows.Forms.HexBox/IByteProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/Be.Windows.Forms.HexBox/IByteProvider.cs -------------------------------------------------------------------------------- /Be.Windows.Forms.HexBox/NativeMethods.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Drawing; 3 | using System.Runtime.InteropServices; 4 | 5 | namespace Be.Windows.Forms 6 | { 7 | internal static class NativeMethods 8 | { 9 | // Caret definitions 10 | [DllImport("user32.dll", SetLastError=true)] 11 | public static extern bool CreateCaret(IntPtr hWnd, IntPtr hBitmap, int nWidth, int nHeight); 12 | 13 | [DllImport("user32.dll", SetLastError=true)] 14 | public static extern bool ShowCaret(IntPtr hWnd); 15 | 16 | [DllImport("user32.dll", SetLastError=true)] 17 | public static extern bool DestroyCaret(); 18 | 19 | [DllImport("user32.dll", SetLastError=true)] 20 | public static extern bool SetCaretPos(int X, int Y); 21 | 22 | // Key definitions 23 | public const int WM_KEYDOWN = 0x100; 24 | public const int WM_KEYUP = 0x101; 25 | public const int WM_CHAR = 0x102; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Be.Windows.Forms.HexBox/Util.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Be.Windows.Forms 6 | { 7 | static class Util 8 | { 9 | /// 10 | /// Contains true, if we are in design mode of Visual Studio 11 | /// 12 | private static bool _designMode; 13 | 14 | /// 15 | /// Initializes an instance of Util class 16 | /// 17 | static Util() 18 | { 19 | _designMode = (System.Diagnostics.Process.GetCurrentProcess().ProcessName.ToLower() == "devenv"); 20 | } 21 | 22 | /// 23 | /// Gets true, if we are in design mode of Visual Studio 24 | /// 25 | /// 26 | /// In Visual Studio 2008 SP1 the designer is crashing sometimes on windows forms. 27 | /// The DesignMode property of Control class is buggy and cannot be used, so use our own implementation instead. 28 | /// 29 | public static bool DesignMode 30 | { 31 | get 32 | { 33 | return _designMode; 34 | } 35 | } 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Be.Windows.Forms.HexBox/bin/x86/Release/Be.Windows.Forms.HexBox.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/Be.Windows.Forms.HexBox/bin/x86/Release/Be.Windows.Forms.HexBox.dll -------------------------------------------------------------------------------- /DTBReaderWV/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /DTBReaderWV/DTBReaderWV.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | test.dtb 5 | 6 | -------------------------------------------------------------------------------- /DTBReaderWV/bin/x86/Release/DTBReaderWV.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/DTBReaderWV/bin/x86/Release/DTBReaderWV.exe -------------------------------------------------------------------------------- /DareDebuggerWV/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /DareDebuggerWV/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace DareDebuggerWV 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// Der Haupteinstiegspunkt für die Anwendung. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /DareDebuggerWV/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /DareDebuggerWV/bin/x86/Release/Be.Windows.Forms.HexBox.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/DareDebuggerWV/bin/x86/Release/Be.Windows.Forms.HexBox.dll -------------------------------------------------------------------------------- /DareDebuggerWV/bin/x86/Release/DareDebuggerWV.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/DareDebuggerWV/bin/x86/Release/DareDebuggerWV.exe -------------------------------------------------------------------------------- /DareDebuggerWV/bin/x86/Release/log.txt: -------------------------------------------------------------------------------- 1 | 30.04.2021 19:02:09 : Started Listening on port 13000 2 | -------------------------------------------------------------------------------- /GROBackendWV.v11.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GROBackendWV.v11.suo -------------------------------------------------------------------------------- /GROBackendWV/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /GROBackendWV/GROBackendWV.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | de-DE 11 | false 12 | 13 | -------------------------------------------------------------------------------- /GROBackendWV/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace GROBackendWV 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// Der Haupteinstiegspunkt für die Anwendung. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /GROBackendWV/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /GROBackendWV/bin/x86/Release/Be.Windows.Forms.HexBox.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GROBackendWV/bin/x86/Release/Be.Windows.Forms.HexBox.dll -------------------------------------------------------------------------------- /GROBackendWV/bin/x86/Release/DotNetZip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GROBackendWV/bin/x86/Release/DotNetZip.dll -------------------------------------------------------------------------------- /GROBackendWV/bin/x86/Release/GROBackendWV.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GROBackendWV/bin/x86/Release/GROBackendWV.exe -------------------------------------------------------------------------------- /GROBackendWV/bin/x86/Release/QuazalWV.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GROBackendWV/bin/x86/Release/QuazalWV.dll -------------------------------------------------------------------------------- /GROBackendWV/bin/x86/Release/System.Data.SQLite.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GROBackendWV/bin/x86/Release/System.Data.SQLite.dll -------------------------------------------------------------------------------- /GROBackendWV/bin/x86/Release/database.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GROBackendWV/bin/x86/Release/database.sqlite -------------------------------------------------------------------------------- /GRODedicatedServerWV/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /GRODedicatedServerWV/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace GRODedicatedServerWV 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// Der Haupteinstiegspunkt für die Anwendung. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /GRODedicatedServerWV/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /GRODedicatedServerWV/bin/x86/Release/DotNetZip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GRODedicatedServerWV/bin/x86/Release/DotNetZip.dll -------------------------------------------------------------------------------- /GRODedicatedServerWV/bin/x86/Release/GRODedicatedServerWV.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GRODedicatedServerWV/bin/x86/Release/GRODedicatedServerWV.exe -------------------------------------------------------------------------------- /GRODedicatedServerWV/bin/x86/Release/QuazalWV.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GRODedicatedServerWV/bin/x86/Release/QuazalWV.dll -------------------------------------------------------------------------------- /GRODedicatedServerWV/bin/x86/Release/System.Data.SQLite.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GRODedicatedServerWV/bin/x86/Release/System.Data.SQLite.dll -------------------------------------------------------------------------------- /GRODedicatedServerWV/bin/x86/Release/database.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GRODedicatedServerWV/bin/x86/Release/database.sqlite -------------------------------------------------------------------------------- /GROExplorerWV/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /GROExplorerWV/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace GROExplorerWV 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// Der Haupteinstiegspunkt für die Anwendung. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /GROExplorerWV/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /GROExplorerWV/bin/x86/Release/Be.Windows.Forms.HexBox.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GROExplorerWV/bin/x86/Release/Be.Windows.Forms.HexBox.dll -------------------------------------------------------------------------------- /GROExplorerWV/bin/x86/Release/DotNetZip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GROExplorerWV/bin/x86/Release/DotNetZip.dll -------------------------------------------------------------------------------- /GROExplorerWV/bin/x86/Release/GROExplorerWV.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GROExplorerWV/bin/x86/Release/GROExplorerWV.exe -------------------------------------------------------------------------------- /GROExplorerWV/dll/DotNetZip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GROExplorerWV/dll/DotNetZip.dll -------------------------------------------------------------------------------- /GROExplorerWV/dll/DotNetZip.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GROExplorerWV/dll/DotNetZip.pdb -------------------------------------------------------------------------------- /GROMemoryToolWV/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /GROMemoryToolWV/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace GROMemoryToolWV 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// Der Haupteinstiegspunkt für die Anwendung. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /GROMemoryToolWV/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /GROMemoryToolWV/bin/x86/Release/GROMemoryToolWV.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GROMemoryToolWV/bin/x86/Release/GROMemoryToolWV.exe -------------------------------------------------------------------------------- /GRO_Hook/AICLASS_PCClient_R/Header.h: -------------------------------------------------------------------------------- 1 | #include "detours.h" 2 | #include 3 | extern char* logFilename; 4 | 5 | void OpenConsole(); 6 | bool IsThisExeName(wchar_t* name); 7 | bool FileExists(char* str); 8 | void StartThread(LPTHREAD_START_ROUTINE func); 9 | void ClearFile(char* str); 10 | void LogToFile(char* str); 11 | void Log(char* str); 12 | 13 | void DetourMain(); -------------------------------------------------------------------------------- /GRO_Hook/AICLASS_PCClient_R/ZenStuff.h: -------------------------------------------------------------------------------- 1 | void ZEN_Init(DWORD addr); -------------------------------------------------------------------------------- /GRO_Hook/AICLASS_PCClient_R/detours.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GRO_Hook/AICLASS_PCClient_R/detours.lib -------------------------------------------------------------------------------- /GRO_Hook/AICLASS_PCClient_R/dllmain.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include 3 | #include 4 | #include 5 | #include "Header.h" 6 | #pragma pack(1) 7 | 8 | LPCWSTR dllName = _T(".\\AICLASS_PCClient_R_org.dll"); 9 | 10 | extern "C" BOOL WINAPI DllMain(HINSTANCE hInst,DWORD reason,LPVOID) 11 | { 12 | static HINSTANCE hL; 13 | if (reason == DLL_PROCESS_ATTACH) 14 | { 15 | hL = GetModuleHandle(dllName); 16 | if(!hL) 17 | { 18 | hL = LoadLibrary(dllName); 19 | if (!hL) return false; 20 | } 21 | if(!FileExists("firstrun")) 22 | ClearFile("firstrun"); 23 | else 24 | { 25 | DeleteFileA("firstrun"); 26 | DetourMain(); 27 | } 28 | } 29 | return TRUE; 30 | } 31 | 32 | #pragma comment(linker, "/export:AI_BootClassDLL=AICLASS_PCClient_R_org.AI_BootClassDLL") 33 | 34 | 35 | -------------------------------------------------------------------------------- /GRO_Hook/AICLASS_PCClient_R/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GRO_Hook/AICLASS_PCClient_R/stdafx.cpp -------------------------------------------------------------------------------- /GRO_Hook/AICLASS_PCClient_R/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GRO_Hook/AICLASS_PCClient_R/stdafx.h -------------------------------------------------------------------------------- /GRO_Hook/AICLASS_PCClient_R/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GRO_Hook/AICLASS_PCClient_R/targetver.h -------------------------------------------------------------------------------- /GRO_Hook/README.md: -------------------------------------------------------------------------------- 1 | # Dll to hook functions 2 | 3 | this proxy dll gets loaded in place of AICLASS_PCClient_R.dll, rename the original dll to "AICLASS_PCClient_R_org.dll" and then insert the resulting dll from this project. 4 | 5 | this allows to run your own code in the dll main before the ai dll is loaded. this can be used to hook functions like here the Fire Script event functions -------------------------------------------------------------------------------- /GRO_Hook/Release/AICLASS_PCClient_R.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GRO_Hook/Release/AICLASS_PCClient_R.dll -------------------------------------------------------------------------------- /GRO_Hook/Release/AICLASS_PCClient_R.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GRO_Hook/Release/AICLASS_PCClient_R.exp -------------------------------------------------------------------------------- /GRO_Hook/Release/AICLASS_PCClient_R.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GRO_Hook/Release/AICLASS_PCClient_R.lib -------------------------------------------------------------------------------- /GRO_Hook/Release/AICLASS_PCClient_R.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/GRO_Hook/Release/AICLASS_PCClient_R.pdb -------------------------------------------------------------------------------- /NamespaceParserWV/ENamespaceItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace NamespaceParserWV 8 | { 9 | public enum ENamespaceItem 10 | { 11 | ParseTreeItem, 12 | NameSpaceItem, 13 | Declaration, 14 | DOClassDeclaration, 15 | DatasetDeclaration, 16 | TypeDeclaration, 17 | Variable, 18 | MethodDeclaration, 19 | RMC, 20 | Action, 21 | AdapterDeclaration, 22 | PropertyDeclaration, 23 | ProtocolDeclaration, 24 | Parameter, 25 | ReturnValue, 26 | ClassDeclaration, 27 | TemplateDeclaration, 28 | SimpleTypeDeclaration, 29 | TemplateInstance, 30 | DDLUnitDeclaration, 31 | DupSpaceDeclaration 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /NamespaceParserWV/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace NamespaceParserWV 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// Der Haupteinstiegspunkt für die Anwendung. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /NamespaceParserWV/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /NamespaceParserWV/bin/x86/Release/Be.Windows.Forms.HexBox.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/NamespaceParserWV/bin/x86/Release/Be.Windows.Forms.HexBox.dll -------------------------------------------------------------------------------- /NamespaceParserWV/bin/x86/Release/NamespaceParserWV.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/NamespaceParserWV/bin/x86/Release/NamespaceParserWV.exe -------------------------------------------------------------------------------- /QuazalSharkWV/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /QuazalSharkWV/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace QuazalSharkWV 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// Der Haupteinstiegspunkt für die Anwendung. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalSharkWV/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /QuazalSharkWV/bin/x86/Release/Be.Windows.Forms.HexBox.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/QuazalSharkWV/bin/x86/Release/Be.Windows.Forms.HexBox.dll -------------------------------------------------------------------------------- /QuazalSharkWV/bin/x86/Release/DotNetZip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/QuazalSharkWV/bin/x86/Release/DotNetZip.dll -------------------------------------------------------------------------------- /QuazalSharkWV/bin/x86/Release/QuazalSharkWV.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/QuazalSharkWV/bin/x86/Release/QuazalSharkWV.exe -------------------------------------------------------------------------------- /QuazalSharkWV/bin/x86/Release/QuazalWV.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/QuazalSharkWV/bin/x86/Release/QuazalWV.dll -------------------------------------------------------------------------------- /QuazalSharkWV/bin/x86/Release/System.Data.SQLite.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/QuazalSharkWV/bin/x86/Release/System.Data.SQLite.dll -------------------------------------------------------------------------------- /QuazalWV/BM/BM_Param.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace QuazalWV 8 | { 9 | public class BM_Param 10 | { 11 | public enum PARAM_TYPE 12 | { 13 | Integer = 1, 14 | Float = 2, 15 | Object = 3, 16 | Vector = 4, 17 | Struct = 5, 18 | String = 6, 19 | Buffer = 0x80 20 | } 21 | 22 | public PARAM_TYPE type; 23 | public byte bufferIndex; 24 | public object data; 25 | 26 | public BM_Param(PARAM_TYPE t, object d) 27 | { 28 | type = t; 29 | data = d; 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QuazalWV/BM/CmdPayloads/ECMD_PlayerAbstractChangeState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class ECMD_PlayerAbstractChangeState : Entitiy_CMD 11 | { 12 | public byte state; 13 | 14 | public ECMD_PlayerAbstractChangeState(uint h, byte s, bool isM = false, bool isS = false) 15 | { 16 | handle = h; 17 | cmd = 0x33; 18 | isMaster = isM; 19 | isServer = isS; 20 | 21 | state = s; 22 | } 23 | public override byte[] MakePayload() 24 | { 25 | BitBuffer buf = new BitBuffer(); 26 | AppendHeader(buf); 27 | buf.WriteBits(state, 4); 28 | return buf.toArray(); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /QuazalWV/BM/CmdPayloads/ECMD_PlayerFallingDamage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace QuazalWV 8 | { 9 | class ECMD_PlayerFallingDamage : Entitiy_CMD 10 | { 11 | public float damage; 12 | public ECMD_PlayerFallingDamage(uint h, float dmg, bool isM = false, bool isS = false) 13 | { 14 | handle = h; 15 | cmd = 0x1C; 16 | isMaster = isM; 17 | isServer = isS; 18 | 19 | damage = dmg; 20 | } 21 | 22 | public override byte[] MakePayload() 23 | { 24 | BitBuffer buf = new BitBuffer(); 25 | AppendHeader(buf); 26 | byte[] buff = BitConverter.GetBytes(damage); 27 | int raw = BitConverter.ToInt32(buff, 0); 28 | buf.WriteBits((uint)raw, 32); 29 | return buf.toArray(); 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /QuazalWV/BM/MSG_ID_BM_StartRound.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class MSG_ID_BM_StartRound : BM_Message 11 | { 12 | public MSG_ID_BM_StartRound() 13 | { 14 | msgID = 0x384; 15 | paramList.Add(new BM_Param(BM_Param.PARAM_TYPE.Buffer, MakePayload())); 16 | } 17 | 18 | public byte[] MakePayload() 19 | { 20 | MemoryStream m = new MemoryStream(); 21 | Helper.WriteFloat(m, 111); //startTime 22 | Helper.WriteU8(m, 2); //roundID 23 | Helper.WriteFloat(m, 0); //roundStartTime 24 | Helper.WriteFloat(m, 9999); //roundDuration 25 | Helper.WriteU8(m, 0); //bContested 26 | Helper.WriteU8(m, 0); //bIsCurrRoundLast 27 | return m.ToArray(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /QuazalWV/BM/MSG_ID_CB_Connection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class MSG_ID_CB_Connection : BM_Message 11 | { 12 | List clientIdList = new List(); 13 | 14 | public MSG_ID_CB_Connection(ClientInfo client) 15 | { 16 | msgID = 0x266; 17 | for (int i = 0; i < 17; i++) clientIdList[i] = client.stationID; //check if 2 is ok or it needs the longer form 18 | paramList.Add(new BM_Param(BM_Param.PARAM_TYPE.Buffer, MakePayload())); 19 | } 20 | 21 | public byte[] MakePayload() 22 | { 23 | MemoryStream m = new MemoryStream(); 24 | Helper.WriteU32(m, 0x80000019); 25 | Helper.WriteU32(m, (uint)clientIdList.Count); 26 | foreach(uint id in clientIdList) Helper.WriteU32(m, id); 27 | return m.ToArray(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /QuazalWV/BM/MSG_ID_NetRule_Synchronize.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace QuazalWV 8 | { 9 | public class MSG_ID_NetRule_Synchronize : BM_Message 10 | { 11 | public uint newState = 2; 12 | public uint syncro = 0x12345678; 13 | public uint unk1 = 1; 14 | public MSG_ID_NetRule_Synchronize(uint state) 15 | { 16 | newState = state; 17 | msgID = 0x29C; 18 | paramList.Add(new BM_Param(BM_Param.PARAM_TYPE.Integer, (int)newState)); 19 | paramList.Add(new BM_Param(BM_Param.PARAM_TYPE.Integer, (int)syncro)); 20 | paramList.Add(new BM_Param(BM_Param.PARAM_TYPE.Integer, (int)unk1)); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /QuazalWV/BM/MSG_ID_ReceiveReplicaData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class MSG_ID_ReceiveReplicaData : BM_Message 11 | { 12 | public MSG_ID_ReceiveReplicaData() 13 | { 14 | msgID = 0x99; 15 | paramList.Add(new BM_Param(BM_Param.PARAM_TYPE.Buffer, MakePayload())); 16 | } 17 | 18 | public byte[] MakePayload() 19 | { 20 | return new byte[] { 0x01, 0x15, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x05, 0x1B, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x80, 0x75, 0x06, 0x04, 0xE5, 0x02 }; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /QuazalWV/BM/MSG_ID_SendReplicaData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class MSG_ID_SendReplicaData : BM_Message 11 | { 12 | public MSG_ID_SendReplicaData(byte[] payload) 13 | { 14 | msgID = 0x98; 15 | paramList.Add(new BM_Param(BM_Param.PARAM_TYPE.Buffer, payload)); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /QuazalWV/BM/ObjCreatePayloads/ClassInfo/ClassInfo_Boost.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class ClassInfo_Boost 11 | { 12 | const byte memBufferSize = 13; 13 | bool bActive; 14 | uint inventoryId; 15 | uint itemId; 16 | float value; 17 | 18 | public ClassInfo_Boost() 19 | { 20 | bActive = true; 21 | inventoryId = 0x7777; 22 | itemId = 0x1111; 23 | value = 1f; 24 | } 25 | public byte[] MakePayload() 26 | { 27 | MemoryStream m = new MemoryStream(); 28 | Helper.WriteU8(m, memBufferSize); 29 | Helper.WriteBool(m, bActive); 30 | Helper.WriteU32(m, inventoryId); 31 | Helper.WriteU32(m, itemId); 32 | Helper.WriteFloat(m, value); 33 | return m.ToArray(); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_AMM_GameDetail.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_AMM_GameDetail 11 | { 12 | public uint uiId; 13 | public uint uiRootModifierId; 14 | public uint uiOasisNameId = 70870; 15 | public uint uiOasisDescriptionId = 70870; 16 | public List m_ModifierVector = new List(); 17 | public void toBuffer(Stream s) 18 | { 19 | Helper.WriteU32(s, uiId); 20 | Helper.WriteU32(s, uiRootModifierId); 21 | Helper.WriteU32(s, uiOasisNameId); 22 | Helper.WriteU32(s, uiOasisDescriptionId); 23 | Helper.WriteU32(s, (uint)m_ModifierVector.Count); 24 | foreach (GR5_AMM_Modifier mod in m_ModifierVector) 25 | mod.toBuffer(s); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_AMM_GameMode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_AMM_GameMode 11 | { 12 | public uint uiId; 13 | public uint uiRootModifierId; 14 | public uint uiType; 15 | public uint uiOasisNameId = 70870; 16 | public uint uiOasisDescriptionId = 70870; 17 | public uint uiThumbnailId; 18 | public List m_ModifierVector = new List(); 19 | public void toBuffer(Stream s) 20 | { 21 | Helper.WriteU32(s, uiId); 22 | Helper.WriteU32(s, uiRootModifierId); 23 | Helper.WriteU32(s, uiType); 24 | Helper.WriteU32(s, uiOasisNameId); 25 | Helper.WriteU32(s, uiOasisDescriptionId); 26 | Helper.WriteU32(s, uiThumbnailId); 27 | Helper.WriteU32(s, (uint)m_ModifierVector.Count); 28 | foreach (GR5_AMM_Modifier mod in m_ModifierVector) 29 | mod.toBuffer(s); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_AMM_Map.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_AMM_Map 11 | { 12 | public uint uiId; 13 | public uint uiRootModifierId; 14 | public uint uiMapKey; 15 | public uint uiOasisNameId = 70870; 16 | public uint uiOasisDescriptionId = 70870; 17 | public uint uiThumbnailId; 18 | public List m_ModifierVector = new List(); 19 | public void toBuffer(Stream s) 20 | { 21 | Helper.WriteU32(s, uiId); 22 | Helper.WriteU32(s, uiRootModifierId); 23 | Helper.WriteU32(s, uiMapKey); 24 | Helper.WriteU32(s, uiOasisNameId); 25 | Helper.WriteU32(s, uiOasisDescriptionId); 26 | Helper.WriteU32(s, uiThumbnailId); 27 | Helper.WriteU32(s, (uint)m_ModifierVector.Count); 28 | foreach (GR5_AMM_Modifier mod in m_ModifierVector) 29 | mod.toBuffer(s); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_AMM_Modifier.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_AMM_Modifier 11 | { 12 | public uint uiId; 13 | public uint uiParentId; 14 | public uint uiType; 15 | public string uiValue; 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteU32(s, uiId); 19 | Helper.WriteU32(s, uiParentId); 20 | Helper.WriteU32(s, uiType); 21 | Helper.WriteString(s, uiValue); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_AMM_PlaylistEntry.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_AMM_PlaylistEntry 11 | { 12 | public uint uiMapId; 13 | public uint uiGameMode; 14 | public uint uiMatchDetail; 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, uiMapId); 18 | Helper.WriteU32(s, uiGameMode); 19 | Helper.WriteU32(s, uiMatchDetail); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Ability.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_Ability 11 | { 12 | public uint Id; 13 | public byte SlotCount; 14 | public byte ClassID; 15 | public byte AbilityType; 16 | public uint ModifierListId; 17 | public void toBuffer(Stream s) 18 | { 19 | Helper.WriteU32(s, Id); 20 | Helper.WriteU8(s, SlotCount); 21 | Helper.WriteU8(s, ClassID); 22 | Helper.WriteU8(s, AbilityType); 23 | Helper.WriteU32(s, ModifierListId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_AbilityUpgrade.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_AbilityUpgrade 11 | { 12 | public uint Id; 13 | public byte AbilityUpgradeType; 14 | public byte CompatibleAbilityType; 15 | public uint ModifierListID; 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteU32(s, Id); 19 | Helper.WriteU8(s, AbilityUpgradeType); 20 | Helper.WriteU8(s, CompatibleAbilityType); 21 | Helper.WriteU32(s, ModifierListID); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_AbilityUpgradeSlot.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_AbilityUpgradeSlot 11 | { 12 | public uint unk1; 13 | public uint unk2; 14 | public byte unk3; 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, unk1); 18 | Helper.WriteU32(s, unk2); 19 | Helper.WriteU8(s, unk3); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_AchievementCategory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_AchievementCategory 11 | { 12 | public uint m_ID; 13 | public uint m_OasisNameID = 70870; 14 | public uint m_Category; 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, m_ID); 18 | Helper.WriteU32(s, m_OasisNameID); 19 | Helper.WriteU32(s, m_Category); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_AdContainer.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | 3 | namespace QuazalWV 4 | { 5 | public class GR5_AdContainer 6 | { 7 | public uint Id { get; set; } 8 | public uint AdServerId { get; set; } 9 | public string DesignerName { get; set; } 10 | public byte AdInterval { get; set; } 11 | public byte ContainerLocation { get; set; } 12 | 13 | public void ToBuffer(Stream s) 14 | { 15 | Helper.WriteU32(s, Id); 16 | Helper.WriteU32(s, AdServerId); 17 | Helper.WriteString(s, DesignerName); 18 | Helper.WriteU8(s, AdInterval); 19 | Helper.WriteU8(s, ContainerLocation); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_AdRecommender.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | 3 | namespace QuazalWV 4 | { 5 | public class GR5_AdRecommender 6 | { 7 | public uint m_AdServerId; 8 | public uint m_AdCount; 9 | 10 | public void ToBuffer(Stream s) 11 | { 12 | Helper.WriteU32(s, m_AdServerId); 13 | Helper.WriteU32(s, m_AdCount); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_AdServer.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | 3 | namespace QuazalWV 4 | { 5 | public class GR5_AdServer 6 | { 7 | public uint m_Id; 8 | public byte m_Type; 9 | public string m_DesignerName; 10 | 11 | public void ToBuffer(Stream s) 12 | { 13 | Helper.WriteU32(s, m_Id); 14 | Helper.WriteU8(s, m_Type); 15 | Helper.WriteString(s, m_DesignerName); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_AdStaticList.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | 3 | namespace QuazalWV 4 | { 5 | public class GR5_AdStaticList 6 | { 7 | public uint m_AdServerId; 8 | public uint m_AdvertId; 9 | public byte m_AdType; 10 | public byte m_Priority; 11 | 12 | public void ToBuffer(Stream s) 13 | { 14 | Helper.WriteU32(s, m_AdServerId); 15 | Helper.WriteU32(s, m_AdvertId); 16 | Helper.WriteU8(s, m_AdType); 17 | Helper.WriteU8(s, m_Priority); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Advertisement.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | 3 | namespace QuazalWV 4 | { 5 | public class GR5_Advertisement 6 | { 7 | public uint m_ID; 8 | public uint m_StoreItemID; 9 | public uint m_AssetId; 10 | public byte m_Layout; 11 | public byte m_Action; 12 | public uint m_OasisName; 13 | public string m_Criteria; 14 | 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, m_ID); 18 | Helper.WriteU32(s, m_StoreItemID); 19 | Helper.WriteU32(s, m_AssetId); 20 | Helper.WriteU8(s, m_Layout); 21 | Helper.WriteU8(s, m_Action); 22 | Helper.WriteU32(s, m_OasisName); 23 | Helper.WriteString(s, m_Criteria); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_ApplyItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_ApplyItem 11 | { 12 | public uint m_ItemID; 13 | public uint m_AssetKey; 14 | public uint m_ApplyItemType; 15 | public uint m_ItemType; 16 | public uint m_DurabilityType; 17 | public uint m_Value1; 18 | public uint m_Value2; 19 | public void toBuffer(Stream s) 20 | { 21 | Helper.WriteU32(s, m_ItemID); 22 | Helper.WriteU32(s, m_AssetKey); 23 | Helper.WriteU32(s, m_ApplyItemType); 24 | Helper.WriteU32(s, m_ItemType); 25 | Helper.WriteU32(s, m_DurabilityType); 26 | Helper.WriteU32(s, m_Value1); 27 | Helper.WriteU32(s, m_Value2); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_ArmorInsert.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_ArmorInsert 11 | { 12 | public uint Id; 13 | public byte Type; 14 | public uint AssetKey; 15 | public uint ModifierListID; 16 | public byte CharacterID; 17 | public void toBuffer(Stream s) 18 | { 19 | Helper.WriteU32(s, Id); 20 | Helper.WriteU8(s, Type); 21 | Helper.WriteU32(s, AssetKey); 22 | Helper.WriteU32(s, ModifierListID); 23 | Helper.WriteU8(s, CharacterID); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_ArmorInsertSlot.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_ArmorInsertSlot 11 | { 12 | public uint InsertID; 13 | public uint Durability; 14 | public byte SlotID; 15 | 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteU32(s, InsertID); 19 | Helper.WriteU32(s, Durability); 20 | Helper.WriteU8(s, SlotID); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_ArmorItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_ArmorItem 11 | { 12 | public uint Id; 13 | public byte Type; 14 | public uint AssetKey; 15 | public uint ModifierListID; 16 | public byte CharacterID; 17 | public void toBuffer(Stream s) 18 | { 19 | Helper.WriteU32(s, Id); 20 | Helper.WriteU8(s, Type); 21 | Helper.WriteU32(s, AssetKey); 22 | Helper.WriteU32(s, ModifierListID); 23 | Helper.WriteU8(s, CharacterID); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_ArmorTier.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_ArmorTier 11 | { 12 | public uint Id; 13 | public byte Type; 14 | public byte Tier; 15 | public byte ClassID; 16 | public byte UnlockLevel; 17 | public byte InsertSlots; 18 | public uint AssetKey; 19 | public uint ModifierListId; 20 | public void toBuffer(Stream s) 21 | { 22 | Helper.WriteU32(s, Id); 23 | Helper.WriteU8(s, Type); 24 | Helper.WriteU8(s, Tier); 25 | Helper.WriteU8(s, ClassID); 26 | Helper.WriteU8(s, UnlockLevel); 27 | Helper.WriteU8(s, InsertSlots); 28 | Helper.WriteU32(s, AssetKey); 29 | Helper.WriteU32(s, ModifierListId); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_AvatarDecorator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_AvatarDecorator 11 | { 12 | public uint mItemID; 13 | public uint mDecoratorID; 14 | 15 | public GR5_AvatarDecorator(uint itemId, uint decoratorId) 16 | { 17 | mItemID = itemId; 18 | mDecoratorID = decoratorId; 19 | } 20 | 21 | public void toBuffer(Stream s) 22 | { 23 | Helper.WriteU32(s, mItemID); 24 | Helper.WriteU32(s, mDecoratorID); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_AvatarPortrait.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_AvatarPortrait 11 | { 12 | public uint mItemID; 13 | public uint mPortraitID; 14 | 15 | public GR5_AvatarPortrait(uint itemId, uint portraitId) 16 | { 17 | mItemID = itemId; 18 | mPortraitID = portraitId; 19 | } 20 | 21 | public void toBuffer(Stream s) 22 | { 23 | Helper.WriteU32(s, mItemID); 24 | Helper.WriteU32(s, mPortraitID); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Boost.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_Boost 11 | { 12 | public uint m_ItemID; 13 | public uint m_AssetKey; 14 | public uint m_ModifierList; 15 | public uint m_Type; 16 | public string m_Name; 17 | 18 | public void ToBuffer(Stream s) 19 | { 20 | Helper.WriteU32(s, m_ItemID); 21 | Helper.WriteU32(s, m_AssetKey); 22 | Helper.WriteU32(s, m_ModifierList); 23 | Helper.WriteU32(s, m_Type); 24 | Helper.WriteString(s, m_Name); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_CartItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV.Classes 9 | { 10 | public class GR5_CartItem 11 | { 12 | public uint SkuId { get; set; } 13 | public uint NumberToBuy { get; set; } 14 | public StoreService.VirtualCurrencyType VirtualCurrencyType { get; set; } 15 | 16 | public GR5_CartItem() 17 | { 18 | 19 | } 20 | 21 | public GR5_CartItem(Stream s) 22 | { 23 | SkuId = Helper.ReadU32(s); 24 | NumberToBuy = Helper.ReadU32(s); 25 | VirtualCurrencyType = (StoreService.VirtualCurrencyType)Helper.ReadU32(s); 26 | } 27 | 28 | public void ToBuffer(Stream s) 29 | { 30 | Helper.WriteU32(s, SkuId); 31 | Helper.WriteU32(s, NumberToBuy); 32 | Helper.WriteU32(s, (uint)VirtualCurrencyType); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Character.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_Character 11 | { 12 | public uint PersonaID; 13 | public uint ClassID; 14 | public uint PEC; 15 | public uint Level; 16 | public uint UpgradePoints; 17 | public uint CurrentLevelPEC; 18 | public uint NextLevelPEC; 19 | public byte FaceID; 20 | public byte SkinToneID; 21 | public byte LoadoutKitID; 22 | public void toBuffer(Stream s) 23 | { 24 | Helper.WriteU32(s, PersonaID); 25 | Helper.WriteU32(s, ClassID); 26 | Helper.WriteU32(s, PEC); 27 | Helper.WriteU32(s, Level); 28 | Helper.WriteU32(s, UpgradePoints); 29 | Helper.WriteU32(s, CurrentLevelPEC); 30 | Helper.WriteU32(s, NextLevelPEC); 31 | Helper.WriteU8(s, FaceID); 32 | Helper.WriteU8(s, SkinToneID); 33 | Helper.WriteU8(s, LoadoutKitID); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_ChatChannelMute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_ChatChannelMute 11 | { 12 | public uint channel; 13 | public string reason; 14 | public uint expiry; 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, channel); 18 | Helper.WriteString(s, reason); 19 | Helper.WriteU32(s, expiry); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Component.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_Component 11 | { 12 | public uint componentID; 13 | public uint componentKey; 14 | public byte componentType; 15 | public uint boneStructure; 16 | public uint modifierListID; 17 | public void toBuffer(Stream s) 18 | { 19 | Helper.WriteU32(s, componentID); 20 | Helper.WriteU32(s, componentKey); 21 | Helper.WriteU8(s, componentType); 22 | Helper.WriteU32(s, boneStructure); 23 | Helper.WriteU32(s, modifierListID); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Consumable.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | 4 | namespace QuazalWV 5 | { 6 | public class GR5_Consumable 7 | { 8 | public uint m_ItemID; 9 | public uint m_AssetKey; 10 | public uint m_Type; 11 | public uint m_Value1; 12 | public uint m_Value2; 13 | public string m_Name; 14 | 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, m_ItemID); 18 | Helper.WriteU32(s, m_AssetKey); 19 | Helper.WriteU32(s, m_Type); 20 | Helper.WriteU32(s, m_Value1); 21 | Helper.WriteU32(s, m_Value2); 22 | Helper.WriteString(s, m_Name); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Coupon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_Coupon 11 | { 12 | public uint m_ID; 13 | public uint m_SKUModifierID; 14 | public uint m_TimeStart; 15 | public uint m_TimeExpired; 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteU32(s, m_ID); 19 | Helper.WriteU32(s, m_SKUModifierID); 20 | Helper.WriteU32(s, m_TimeStart); 21 | Helper.WriteU32(s, m_TimeExpired); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_DesignerStatistics.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_DesignerStatistics 11 | { 12 | public uint m_ID; 13 | public uint m_AggregationType; 14 | public uint m_Flags; 15 | public uint m_DefaultValue; 16 | public uint m_OasisNameId = 70870; 17 | public uint m_OasisDescriptionId = 70870; 18 | public string m_Expression = "1"; 19 | public string m_Name; 20 | public void toBuffer(Stream s) 21 | { 22 | Helper.WriteU32(s, m_ID); 23 | Helper.WriteU32(s, m_AggregationType); 24 | Helper.WriteU32(s, m_Flags); 25 | Helper.WriteU32(s, m_DefaultValue); 26 | Helper.WriteU32(s, m_OasisNameId); 27 | Helper.WriteU32(s, m_OasisDescriptionId); 28 | Helper.WriteString(s, m_Expression); 29 | Helper.WriteString(s, m_Name); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_FaceSkinTone.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_FaceSkinTone 11 | { 12 | public uint id; 13 | public byte objectType; 14 | public uint objectKey; 15 | public uint oasisName = 70870; 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteU32(s, id); 19 | Helper.WriteU8(s, objectType); 20 | Helper.WriteU32(s, objectKey); 21 | Helper.WriteU32(s, oasisName); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_FriendData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_FriendData 11 | { 12 | public GR5_BasicPersona m_Person = new GR5_BasicPersona(); 13 | public byte m_Group; 14 | 15 | public void toBuffer(Stream s) 16 | { 17 | m_Person.toBuffer(s); 18 | Helper.WriteU8(s, m_Group); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_GameSessionParticipant.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_GameSessionParticipant 11 | { 12 | public uint m_PId; 13 | public uint m_CgId; 14 | public uint m_SessionId; 15 | public uint m_TeamId; 16 | public uint m_Class; 17 | public uint m_Level; 18 | public uint m_GhostRank; 19 | public uint m_Status; 20 | public string msz_KeyName; 21 | 22 | public void toBuffer(Stream s) 23 | { 24 | Helper.WriteU32(s, m_PId); 25 | Helper.WriteU32(s, m_CgId); 26 | Helper.WriteU32(s, m_SessionId); 27 | Helper.WriteU32(s, m_TeamId); 28 | Helper.WriteU32(s, m_Class); 29 | Helper.WriteU32(s, m_Level); 30 | Helper.WriteU32(s, m_GhostRank); 31 | Helper.WriteU32(s, m_Status); 32 | Helper.WriteString(s, msz_KeyName); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_IdSlotPair.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | 3 | namespace QuazalWV 4 | { 5 | public class GR5_IdSlotPair 6 | { 7 | public uint Id { get; set; } 8 | public uint Slot { get; set; } 9 | public StoreService.VirtualCurrencyType VirtualCurrency { get; set; } 10 | 11 | public GR5_IdSlotPair() 12 | { 13 | 14 | } 15 | 16 | public GR5_IdSlotPair(Stream s) 17 | { 18 | Id = Helper.ReadU32(s); 19 | Slot = Helper.ReadU32(s); 20 | VirtualCurrency = (StoreService.VirtualCurrencyType)Helper.ReadU32(s); 21 | } 22 | 23 | public void ToBuffer(Stream s) 24 | { 25 | Helper.WriteU32(s, Id); 26 | Helper.WriteU32(s, Slot); 27 | Helper.WriteU32(s, (uint)VirtualCurrency); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_InstancedStatistic.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_InstancedStatistic 11 | { 12 | public uint m_ID; 13 | public uint m_Type; 14 | public uint m_TID; 15 | public uint m_Value; 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteU32(s, m_ID); 19 | Helper.WriteU32(s, m_Type); 20 | Helper.WriteU32(s, m_TID); 21 | Helper.WriteU32(s, m_Value); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_InventoryBag.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_InventoryBag 11 | { 12 | public uint m_PersonaID; 13 | public uint m_InventoryBagType; 14 | public List m_InventoryBagSlotVector = new List(); 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, m_PersonaID); 18 | Helper.WriteU32(s, m_InventoryBagType); 19 | Helper.WriteU32(s, (uint)m_InventoryBagSlotVector.Count); 20 | foreach (GR5_InventoryBagSlot c in m_InventoryBagSlotVector) 21 | c.toBuffer(s); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_InventoryBagSlot.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_InventoryBagSlot 11 | { 12 | public uint InventoryID; 13 | public uint SlotID; 14 | public uint Durability; 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, InventoryID); 18 | Helper.WriteU32(s, SlotID); 19 | Helper.WriteU32(s, Durability); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Invitee.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_Invitee 11 | { 12 | public uint PersonaID; 13 | public string PersonaName; 14 | public byte PersonaStatus; 15 | public uint AvatarPortraitID; 16 | public uint AvatarDecoratorID; 17 | public uint AvatarBackgroundColor; 18 | public byte CurrentCharacterID; 19 | public byte CurrentCharacterLevel; 20 | public void toBuffer(Stream s) 21 | { 22 | Helper.WriteU32(s, PersonaID); 23 | Helper.WriteString(s, PersonaName); 24 | Helper.WriteU8(s, PersonaStatus); 25 | Helper.WriteU32(s, AvatarPortraitID); 26 | Helper.WriteU32(s, AvatarDecoratorID); 27 | Helper.WriteU32(s, AvatarBackgroundColor); 28 | Helper.WriteU8(s, CurrentCharacterID); 29 | Helper.WriteU8(s, CurrentCharacterLevel); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Leaderboard.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_Leaderboard 11 | { 12 | public uint m_ID; 13 | public string m_Name; 14 | public uint m_ClassID; 15 | public uint m_OasisNameID = 70870; 16 | public uint m_OasisDescriptionID = 70870; 17 | public uint m_Flags; 18 | public uint m_DesignerStatisticID; 19 | public uint m_SortOrder; 20 | public void toBuffer(Stream s) 21 | { 22 | Helper.WriteU32(s, m_ID); 23 | Helper.WriteString(s, m_Name); 24 | Helper.WriteU32(s, m_ClassID); 25 | Helper.WriteU32(s, m_OasisNameID); 26 | Helper.WriteU32(s, m_OasisDescriptionID); 27 | Helper.WriteU32(s, m_Flags); 28 | Helper.WriteU32(s, m_DesignerStatisticID); 29 | Helper.WriteU32(s, m_SortOrder); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_LeaderboardReadResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_LeaderboardReadResult 11 | { 12 | public uint m_LeaderboardID; 13 | public uint m_LeaderboardResetPeriodType; 14 | public uint m_LeaderboardRowCount; 15 | public List m_LeaderboardRowVector = new List(); 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteU32(s, m_LeaderboardID); 19 | Helper.WriteU32(s, m_LeaderboardResetPeriodType); 20 | Helper.WriteU32(s, m_LeaderboardRowCount); 21 | Helper.WriteU32(s, (uint)m_LeaderboardRowVector.Count); 22 | foreach (GR5_LeaderboardRow row in m_LeaderboardRowVector) 23 | row.toBuffer(s); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_LeaderboardRow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_LeaderboardRow 11 | { 12 | public uint m_PlayerID; 13 | public string m_Name; 14 | public uint m_AvatarPortraitID; 15 | public uint m_Level; 16 | public uint m_Rank; 17 | public uint m_RankedValue; 18 | public List m_StatisticsVector = new List(); 19 | 20 | public void toBuffer(Stream s) 21 | { 22 | Helper.WriteU32(s, m_PlayerID); 23 | Helper.WriteString(s, m_Name); 24 | Helper.WriteU32(s, m_AvatarPortraitID); 25 | Helper.WriteU32(s, m_Level); 26 | Helper.WriteU32(s, m_Rank); 27 | Helper.WriteU32(s, m_RankedValue); 28 | Helper.WriteU32(s, (uint)m_StatisticsVector.Count); 29 | foreach (GR5_Statistic st in m_StatisticsVector) 30 | st.toBuffer(s); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Level.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_Level 11 | { 12 | public uint m_Id; 13 | public uint m_TotalPEC; 14 | public uint m_Level; 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, m_Id); 18 | Helper.WriteU32(s, m_TotalPEC); 19 | Helper.WriteU32(s, m_Level); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_LootItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_LootItem 11 | { 12 | public uint mID; 13 | public uint mLootID; 14 | public uint mLootItemSku; 15 | public uint mPercentage; 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteU32(s, mID); 19 | Helper.WriteU32(s, mLootID); 20 | Helper.WriteU32(s, mLootItemSku); 21 | Helper.WriteU32(s, mPercentage); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_MissionArc.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_MissionArc 11 | { 12 | public uint mID; 13 | public uint mOasisNameID = 70870; 14 | public uint mOasisDescriptionID = 70870; 15 | public uint mClassRequired; 16 | public byte mFlags; 17 | public byte mIsLoop; 18 | public byte mCategory; 19 | public byte mIsAutoAccept; 20 | public void toBuffer(Stream s) 21 | { 22 | Helper.WriteU32(s, mID); 23 | Helper.WriteU32(s, mOasisNameID); 24 | Helper.WriteU32(s, mOasisDescriptionID); 25 | Helper.WriteU32(s, mClassRequired); 26 | Helper.WriteU8(s, mFlags); 27 | Helper.WriteU8(s, mIsLoop); 28 | Helper.WriteU8(s, mCategory); 29 | Helper.WriteU8(s, mIsAutoAccept); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_MissionSequence.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_MissionSequence 11 | { 12 | public uint mID; 13 | public uint mMissionArcId; 14 | public uint mMissionId; 15 | public uint mOrder; 16 | public byte mCompleteRequired; 17 | public uint mStartTime; 18 | public uint mEndTime; 19 | public uint mTimeLimit; 20 | public uint mSKUId; 21 | 22 | public void toBuffer(Stream s) 23 | { 24 | Helper.WriteU32(s, mID); 25 | Helper.WriteU32(s, mMissionArcId); 26 | Helper.WriteU32(s, mMissionId); 27 | Helper.WriteU32(s, mOrder); 28 | Helper.WriteU8(s, mCompleteRequired); 29 | Helper.WriteU32(s, mStartTime); 30 | Helper.WriteU32(s, mEndTime); 31 | Helper.WriteU32(s, mTimeLimit); 32 | Helper.WriteU32(s, mSKUId); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Notification.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_Notification 11 | { 12 | public uint m_MajorType; 13 | public uint m_MinorType; 14 | public uint m_Param1; 15 | public uint m_Param2; 16 | public string m_String; 17 | public uint m_Param3; 18 | public void toBuffer(Stream s) 19 | { 20 | Helper.WriteU32(s, m_MajorType); 21 | Helper.WriteU32(s, m_MinorType); 22 | Helper.WriteU32(s, m_Param1); 23 | Helper.WriteU32(s, m_Param2); 24 | Helper.WriteString(s, m_String); 25 | Helper.WriteU32(s, m_Param3); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_OperatorVariable.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_OperatorVariable 11 | { 12 | public uint m_Id; 13 | public string m_Value; 14 | public void toBuffer(Stream s) 15 | { 16 | Helper.WriteU32(s, m_Id); 17 | Helper.WriteString(s, m_Value); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_PartyMember.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_PartyMember 11 | { 12 | public uint PersonaID; 13 | public string PersonaName; 14 | public byte PersonaStatus; 15 | public uint AvatarPortraitID; 16 | public uint AvatarDecoratorID; 17 | public uint AvatarBackgroundColor; 18 | public byte CurrentCharacterID; 19 | public byte CurrentCharacterLevel; 20 | public void toBuffer(Stream s) 21 | { 22 | Helper.WriteU32(s, PersonaID); 23 | Helper.WriteString(s, PersonaName); 24 | Helper.WriteU8(s, PersonaStatus); 25 | Helper.WriteU32(s, AvatarPortraitID); 26 | Helper.WriteU32(s, AvatarDecoratorID); 27 | Helper.WriteU32(s, AvatarBackgroundColor); 28 | Helper.WriteU8(s, CurrentCharacterID); 29 | Helper.WriteU8(s, CurrentCharacterLevel); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_PassiveAbility.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_PassiveAbility 11 | { 12 | public uint Id; 13 | public byte ClassID; 14 | public uint ModifierListID; 15 | public uint Type; 16 | public uint AssetKey; 17 | public void toBuffer(Stream s) 18 | { 19 | Helper.WriteU32(s, Id); 20 | Helper.WriteU8(s, ClassID); 21 | Helper.WriteU32(s, ModifierListID); 22 | Helper.WriteU32(s, Type); 23 | Helper.WriteU32(s, AssetKey); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_PersonaAbilityUpgrade.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_PersonaAbilityUpgrade 11 | { 12 | public uint AbilityId { get; set; } 13 | public List Upgrades = new List(); 14 | public void toBuffer(Stream s) 15 | { 16 | Helper.WriteU32(s, AbilityId); 17 | Helper.WriteU32(s, (uint)Upgrades.Count); 18 | foreach (GR5_AbilityUpgradeSlot a in Upgrades) 19 | a.toBuffer(s); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_PersonaArmorTier.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_PersonaArmorTier 11 | { 12 | public uint ArmorTierID; 13 | public List Inserts = new List(); 14 | public void toBuffer(Stream s) 15 | { 16 | Helper.WriteU32(s, ArmorTierID); 17 | Helper.WriteU32(s, (uint)Inserts.Count); 18 | foreach (GR5_ArmorInsertSlot a in Inserts) 19 | a.toBuffer(s); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_PersonaMission.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_PersonaMission 11 | { 12 | public uint mMissionSequenceId; 13 | public byte mMissionStatus; 14 | public uint mStartDateTime; 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, mMissionSequenceId); 18 | Helper.WriteU8(s, mMissionStatus); 19 | Helper.WriteU32(s, mStartDateTime); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_PlayerAchievement.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_PlayerAchievement 11 | { 12 | public uint m_ID; 13 | public uint m_DateTime; 14 | 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, m_ID); 18 | Helper.WriteU32(s, m_DateTime); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_PlayerAchievementGroup.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_PlayerAchievementGroup 11 | { 12 | public void toBuffer(Stream s) 13 | { 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_PlayerInstancedStatisticsBlock.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_PlayerInstancedStatisticsBlock 11 | { 12 | public uint m_PlayerID; 13 | public List m_StatisticVector = new List(); 14 | public void toBuffer(Stream s) 15 | { 16 | Helper.WriteU32(s, m_PlayerID); 17 | Helper.WriteU32(s, (uint)m_StatisticVector.Count); 18 | foreach (GR5_InstancedStatistic i in m_StatisticVector) 19 | i.toBuffer(s); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_PlayerStatisticsBlock.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_PlayerStatisticsBlock 11 | { 12 | public uint m_PlayerID; 13 | public List m_StatisticVector = new List(); 14 | 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, m_PlayerID); 18 | Helper.WriteU32(s, (uint)m_StatisticVector.Count); 19 | foreach (GR5_Statistic st in m_StatisticVector) 20 | st.toBuffer(s); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_PlayerTimedStatisticsBlock.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_PlayerTimedStatisticsBlock 11 | { 12 | public uint m_PlayerID; 13 | public List m_StatisticVector = new List(); 14 | 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, m_PlayerID); 18 | Helper.WriteU32(s, (uint)m_StatisticVector.Count); 19 | foreach (GR5_TimedStatistic t in m_StatisticVector) 20 | t.toBuffer(s); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_PriorityBroadcast.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_PriorityBroadcast 11 | { 12 | public uint unk1; 13 | public string unk2; 14 | public uint unk3; 15 | public uint unk4; 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteU32(s, unk1); 19 | Helper.WriteString(s, unk2); 20 | Helper.WriteU32(s, unk3); 21 | Helper.WriteU32(s, unk4); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_ProfaneWord.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_ProfaneWord 11 | { 12 | public uint mId; 13 | public byte mType; 14 | public string mWord = "rendel"; 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, mId); 18 | Helper.WriteU8(s, mType); 19 | Helper.WriteString(s, mWord); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_RCHeader.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_RCHeader 11 | { 12 | public uint m_MethodId; 13 | public uint m_Checksum; 14 | public uint m_Property; 15 | public uint m_Version; 16 | public uint m_Size; 17 | public uint m_OriginalSize; 18 | public void toBuffer(Stream s) 19 | { 20 | Helper.WriteU32(s, m_MethodId); 21 | Helper.WriteU32(s, m_Checksum); 22 | Helper.WriteU32(s, m_Property); 23 | Helper.WriteU32(s, m_Version); 24 | Helper.WriteU32(s, m_Size); 25 | Helper.WriteU32(s, m_OriginalSize); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Reward.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_Reward 11 | { 12 | public uint mRewardID; 13 | public uint mRewardItem; 14 | public byte mRewardType; 15 | public byte mIsUniqueReward; 16 | public uint mAchievementID; 17 | public uint mAchievementGroupID; 18 | public uint mAchievementPoints; 19 | public uint mClassID; 20 | public uint mClassLevel; 21 | public void toBuffer(Stream s) 22 | { 23 | Helper.WriteU32(s, mRewardID); 24 | Helper.WriteU32(s, mRewardItem); 25 | Helper.WriteU8(s, mRewardType); 26 | Helper.WriteU8(s, mIsUniqueReward); 27 | Helper.WriteU32(s, mAchievementID); 28 | Helper.WriteU32(s, mAchievementGroupID); 29 | Helper.WriteU32(s, mAchievementPoints); 30 | Helper.WriteU32(s, mClassID); 31 | Helper.WriteU32(s, mClassLevel); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_RewardUserResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_RewardUserResult 11 | { 12 | public uint mRewardID; 13 | public byte mResult; 14 | public void toBuffer(Stream s) 15 | { 16 | Helper.WriteU32(s, mRewardID); 17 | Helper.WriteU8(s, mResult); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_SKUItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_SKUItem 11 | { 12 | public uint m_ItemID; 13 | public uint m_DurabilityValue; 14 | public uint m_DurabilityValue2; 15 | public uint m_OasisName = 70870; 16 | public float m_IGCPrice; 17 | public float m_GRCashPrice; 18 | public void toBuffer(Stream s) 19 | { 20 | Helper.WriteU32(s, m_ItemID); 21 | Helper.WriteU32(s, m_DurabilityValue); 22 | Helper.WriteU32(s, m_DurabilityValue2); 23 | Helper.WriteU32(s, m_OasisName); 24 | Helper.WriteFloat(s, m_IGCPrice); 25 | Helper.WriteFloat(s, m_GRCashPrice); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_SKUModifierCondition.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_SKUModifierCondition 11 | { 12 | public uint m_Type; 13 | public uint m_Target; 14 | public uint m_Value; 15 | 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteU32(s, m_Type); 19 | Helper.WriteU32(s, m_Target); 20 | Helper.WriteU32(s, m_Value); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_SKUModifierOutput.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_SKUModifierOutput 11 | { 12 | public uint m_Type; 13 | public uint m_Target; 14 | public uint m_Value; 15 | 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteU32(s, m_Type); 19 | Helper.WriteU32(s, m_Target); 20 | Helper.WriteU32(s, m_Value); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_SingleCartItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_SingleCartItem 11 | { 12 | public uint SkuId { get; set; } 13 | public StoreService.VirtualCurrencyType VirtualCurrencyType { get; set; } 14 | 15 | public GR5_SingleCartItem() 16 | { 17 | 18 | } 19 | 20 | public GR5_SingleCartItem(Stream s) 21 | { 22 | SkuId = Helper.ReadU32(s); 23 | VirtualCurrencyType = (StoreService.VirtualCurrencyType)Helper.ReadU32(s); 24 | } 25 | 26 | public void ToBuffer(Stream s) 27 | { 28 | Helper.WriteU32(s, SkuId); 29 | Helper.WriteU32(s, (uint)VirtualCurrencyType); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Skill.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_Skill 11 | { 12 | public uint m_ID; 13 | public uint m_ParentID = 0x11; 14 | public uint m_ParentUnlockLevel = 0x22; 15 | public uint m_MaxLevel; 16 | public uint m_PowerID; 17 | public uint m_NameOasisID = 70870; 18 | public uint m_DescriptionOasisID = 70870; 19 | public string m_Name = "super duper skill"; 20 | public string m_Description; 21 | public void toBuffer(Stream s) 22 | { 23 | Helper.WriteU32(s, m_ID); 24 | Helper.WriteU32(s, m_ParentID); 25 | Helper.WriteU32(s, m_ParentUnlockLevel); 26 | Helper.WriteU32(s, m_MaxLevel); 27 | Helper.WriteU32(s, m_PowerID); 28 | Helper.WriteU32(s, m_NameOasisID); 29 | Helper.WriteU32(s, m_DescriptionOasisID); 30 | Helper.WriteString(s, m_Name); 31 | Helper.WriteString(s, m_Description); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_SkillModifier.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_SkillModifier 11 | { 12 | public uint m_ModifierID; 13 | public byte m_ModifierType; 14 | public byte m_PropertyType; 15 | public byte m_MethodType; 16 | public string m_MethodValue; 17 | public void toBuffer(Stream s) 18 | { 19 | Helper.WriteU32(s, m_ModifierID); 20 | Helper.WriteU8(s, m_ModifierType); 21 | Helper.WriteU8(s, m_PropertyType); 22 | Helper.WriteU8(s, m_MethodType); 23 | Helper.WriteString(s, m_MethodValue); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_SkillModifierList.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_SkillModifierList 11 | { 12 | public uint m_ID; 13 | public List m_ModifierIDVector = new List(); 14 | public void toBuffer(Stream s) 15 | { 16 | Helper.WriteU32(s, m_ID); 17 | Helper.WriteU32(s, (uint)m_ModifierIDVector.Count); 18 | foreach (uint u in m_ModifierIDVector) 19 | Helper.WriteU32(s, u); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_SkillPower.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_SkillPower 11 | { 12 | public uint m_ID; 13 | public uint m_ModifierListID; 14 | public uint m_NameOasisID = 70870; 15 | public uint m_DescriptionOasisID = 70870; 16 | public string m_Name; 17 | public string m_Description; 18 | public void toBuffer(Stream s) 19 | { 20 | Helper.WriteU32(s, m_ID); 21 | Helper.WriteU32(s, m_ModifierListID); 22 | Helper.WriteU32(s, m_NameOasisID); 23 | Helper.WriteU32(s, m_DescriptionOasisID); 24 | Helper.WriteString(s, m_Name); 25 | Helper.WriteString(s, m_Description); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_SkillUpgrade.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_SkillUpgrade 11 | { 12 | public uint m_ID; 13 | public uint m_SkillId; 14 | public uint m_Level; 15 | public uint m_ModifierListID; 16 | public uint m_NameOasisID = 70870; 17 | public uint m_DescriptionOasisID = 70870; 18 | public string m_Name; 19 | public string m_Description; 20 | public void toBuffer(Stream s) 21 | { 22 | Helper.WriteU32(s, m_ID); 23 | Helper.WriteU32(s, m_SkillId); 24 | Helper.WriteU32(s, m_Level); 25 | Helper.WriteU32(s, m_ModifierListID); 26 | Helper.WriteU32(s, m_NameOasisID); 27 | Helper.WriteU32(s, m_DescriptionOasisID); 28 | Helper.WriteString(s, m_Name); 29 | Helper.WriteString(s, m_Description); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Statistic.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_Statistic 11 | { 12 | public uint m_ID; 13 | public uint m_Value; 14 | 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteU32(s, m_ID); 18 | Helper.WriteU32(s, m_Value); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Survey.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_Survey 11 | { 12 | public uint mId; 13 | public byte mWeight; 14 | public string mSurveyTrigger; 15 | public string mSurveyURL; 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteU32(s, mId); 19 | Helper.WriteU8(s, mWeight); 20 | Helper.WriteString(s, mSurveyTrigger); 21 | Helper.WriteString(s, mSurveyURL); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_TimeInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_TimeInfo 11 | { 12 | public uint u32Year; 13 | public uint u32Month; 14 | public uint u32Day; 15 | public uint u32Hour; 16 | public uint u32Minute; 17 | public uint u32Second; 18 | public uint u32Weekday; 19 | public uint u32Yearday; 20 | public uint i32DST; 21 | public void toBuffer(Stream s) 22 | { 23 | Helper.WriteU32(s, u32Year); 24 | Helper.WriteU32(s, u32Month); 25 | Helper.WriteU32(s, u32Day); 26 | Helper.WriteU32(s, u32Hour); 27 | Helper.WriteU32(s, u32Minute); 28 | Helper.WriteU32(s, u32Second); 29 | Helper.WriteU32(s, u32Weekday); 30 | Helper.WriteU32(s, u32Yearday); 31 | Helper.WriteU32(s, i32DST); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_TimeZoneInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_TimeZoneInfo 11 | { 12 | public string szTimeZone; 13 | public string szDstTimeZone; 14 | public uint i32Dst; 15 | public void toBuffer(Stream s) 16 | { 17 | Helper.WriteString(s, szTimeZone); 18 | Helper.WriteString(s, szDstTimeZone); 19 | Helper.WriteU32(s, i32Dst); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_TimedStatistic.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_TimedStatistic 11 | { 12 | public uint m_ID; 13 | public uint m_Time; 14 | public uint m_Value; 15 | 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteU32(s, m_ID); 19 | Helper.WriteU32(s, m_Time); 20 | Helper.WriteU32(s, m_Value); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_UserItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_UserItem 11 | { 12 | public uint InventoryID; 13 | public uint PersonaID; 14 | public byte ItemType; 15 | public uint ItemID; 16 | public uint OasisName = 70870; 17 | public float IGCPrice; 18 | public float GRCashPrice; 19 | public void toBuffer(Stream s) 20 | { 21 | Helper.WriteU32(s, InventoryID); 22 | Helper.WriteU32(s, PersonaID); 23 | Helper.WriteU8(s, ItemType); 24 | Helper.WriteU32(s, ItemID); 25 | Helper.WriteU32(s, OasisName); 26 | Helper.WriteFloat(s, IGCPrice); 27 | Helper.WriteFloat(s, GRCashPrice); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_UserUnlockResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_UserUnlockResult 11 | { 12 | public uint mUnlockID; 13 | public byte mResult; 14 | public void ToBuffer(Stream stream) 15 | { 16 | Helper.WriteU32(stream, mUnlockID); 17 | Helper.WriteU8(stream, mResult); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_Weapon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_Weapon 11 | { 12 | public uint weaponID; 13 | public uint classTypeID; 14 | public uint weaponType; 15 | public uint equippableClassTypeID; 16 | public uint flags; 17 | public void toBuffer(Stream s) 18 | { 19 | Helper.WriteU32(s, weaponID); 20 | Helper.WriteU32(s, classTypeID); 21 | Helper.WriteU32(s, weaponType); 22 | Helper.WriteU32(s, equippableClassTypeID); 23 | Helper.WriteU32(s, flags); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_WeaponConfiguration.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_WeaponConfiguration 11 | { 12 | public uint unk1; 13 | public List unk2 = new List(); 14 | public void toBuffer(Stream s) 15 | { 16 | Helper.WriteU32(s, unk1); 17 | Helper.WriteU32(s, (uint)unk2.Count); 18 | foreach (uint u in unk2) 19 | Helper.WriteU32(s, u); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /QuazalWV/Classes/GR5_WeaponXPLevelInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_WeaponXPLevelInfo 11 | { 12 | public uint id; 13 | public uint xp; 14 | public uint level; 15 | public uint weaponClass; 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteU32(s, id); 19 | Helper.WriteU32(s, xp); 20 | Helper.WriteU32(s, level); 21 | Helper.WriteU32(s, weaponClass); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /QuazalWV/Classes/RDV_AMMCommon/GR5_AMMSetting.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.IO; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_AMMSetting 11 | { 12 | public string msz_KeyName; 13 | public string msz_Value; 14 | public string msz_Comment; 15 | 16 | public void toBuffer(Stream s) 17 | { 18 | Helper.WriteString(s, msz_KeyName); 19 | Helper.WriteString(s, msz_Value); 20 | Helper.WriteString(s, msz_Comment); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /QuazalWV/Classes/RDV_AMMCommon/GR5_ClusterQueue.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.IO; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_ClusterQueue 11 | { 12 | public uint m_SolutionId; 13 | public uint m_ClusterId; 14 | public uint m_Priority; 15 | public uint m_GameType; 16 | public uint m_QueueTime; 17 | public uint m_TimeOut; 18 | public uint m_Expansion; 19 | public uint m_ServerPId; 20 | 21 | public void toBuffer(Stream s) 22 | { 23 | Helper.WriteU32(s, m_SolutionId); 24 | Helper.WriteU32(s, m_ClusterId); 25 | Helper.WriteU32(s, m_Priority); 26 | Helper.WriteU32(s, m_GameType); 27 | Helper.WriteU32(s, m_QueueTime); 28 | Helper.WriteU32(s, m_TimeOut); 29 | Helper.WriteU32(s, m_Expansion); 30 | Helper.WriteU32(s, m_ServerPId); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /QuazalWV/Classes/RDV_AMMCommon/GR5_DedicatedServers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.IO; 7 | 8 | namespace QuazalWV 9 | { 10 | public class GR5_DedicatedServers 11 | { 12 | public uint m_ServerPId; 13 | public uint m_ClusterId; 14 | public string m_DServerURL; 15 | public string m_DServerName; 16 | public uint m_GameType; 17 | public uint m_Status; 18 | public uint m_SessionId; 19 | public uint m_SolutionId; 20 | 21 | public void toBuffer(Stream s) 22 | { 23 | Helper.WriteU32(s, m_ServerPId); 24 | Helper.WriteU32(s, m_ClusterId); 25 | Helper.WriteString(s, m_DServerURL); 26 | Helper.WriteString(s, m_DServerName); 27 | Helper.WriteU32(s, m_GameType); 28 | Helper.WriteU32(s, m_Status); 29 | Helper.WriteU32(s, m_SessionId); 30 | Helper.WriteU32(s, m_SolutionId); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /QuazalWV/Classes/StationInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class StationInfo 11 | { 12 | public uint m_hObserver; 13 | public uint m_uiMachineUID; 14 | 15 | public StationInfo() { } 16 | public StationInfo(Stream s) 17 | { 18 | m_hObserver = Helper.ReadU32(s); 19 | m_uiMachineUID = Helper.ReadU32(s); 20 | } 21 | 22 | public void toBuffer(Stream s) 23 | { 24 | Helper.WriteU32(s, m_hObserver); 25 | Helper.WriteU32(s, m_uiMachineUID); 26 | } 27 | 28 | public string getDesc(string tabs = "") 29 | { 30 | StringBuilder sb = new StringBuilder(); 31 | sb.AppendLine(tabs + "[StationInfo]"); 32 | sb.AppendLine(tabs + " Observer = 0x" + m_hObserver.ToString("X8")); 33 | sb.AppendLine(tabs + " MachineUID = 0x" + m_uiMachineUID.ToString("X8")); 34 | return sb.ToString(); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /QuazalWV/Classes/StdMaps.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class Map_U32_VectorU32 11 | { 12 | public uint key; 13 | public List vector = new List(); 14 | public void toBuffer(Stream s) 15 | { 16 | Helper.WriteU32(s, key); 17 | Helper.WriteU32(s, (uint)vector.Count); 18 | foreach (uint u in vector) 19 | Helper.WriteU32(s, u); 20 | } 21 | } 22 | 23 | public class Map_U32_GR5_Weapon 24 | { 25 | public uint key; 26 | public GR5_Weapon weapon; 27 | public void toBuffer(Stream s) 28 | { 29 | Helper.WriteU32(s, key); 30 | weapon.toBuffer(s); 31 | } 32 | } 33 | 34 | public class Map_U32_GR5_Component 35 | { 36 | public uint key; 37 | public GR5_Component component; 38 | public void toBuffer(Stream s) 39 | { 40 | Helper.WriteU32(s, key); 41 | component.toBuffer(s); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /QuazalWV/DB/AbilityUpgradeModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace QuazalWV.DB 5 | { 6 | public static class AbilityUpgradeModel 7 | { 8 | public static List GetUpgrades() 9 | { 10 | List upgrades = new List(); 11 | var rows = DBHelper.GetQueryResults("SELECT * FROM abilityupgrades"); 12 | foreach (var row in rows) 13 | { 14 | upgrades.Add( 15 | new GR5_AbilityUpgrade() 16 | { 17 | Id = Convert.ToUInt32(row[1]), 18 | AbilityUpgradeType = Convert.ToByte(row[2]), 19 | CompatibleAbilityType = Convert.ToByte(row[3]), 20 | ModifierListID = Convert.ToUInt32(row[4]) 21 | } 22 | ); 23 | } 24 | return upgrades; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QuazalWV/DB/BoostModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace QuazalWV.DB 5 | { 6 | public static class BoostModel 7 | { 8 | public static List GetBoosts() 9 | { 10 | List boosts = new List(); 11 | var rows = DBHelper.GetQueryResults("SELECT * FROM boosts"); 12 | foreach (var row in rows) 13 | { 14 | boosts.Add( 15 | new GR5_Boost() 16 | { 17 | m_ItemID = Convert.ToUInt32(row[1]), 18 | m_AssetKey = Convert.ToUInt32(row[2]), 19 | m_ModifierList = Convert.ToUInt32(row[3]), 20 | m_Type = Convert.ToUInt32(row[4]), 21 | m_Name = row[5] 22 | } 23 | ); 24 | } 25 | return boosts; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QuazalWV/DB/ConsumableModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace QuazalWV.DB 5 | { 6 | public static class ConsumableModel 7 | { 8 | public static List GetConsumables() 9 | { 10 | List consumables = new List(); 11 | var rows = DBHelper.GetQueryResults("SELECT * FROM consumables"); 12 | foreach (var row in rows) 13 | { 14 | consumables.Add( 15 | new GR5_Consumable() 16 | { 17 | m_ItemID = Convert.ToUInt32(row[1]), 18 | m_AssetKey = Convert.ToUInt32(row[2]), 19 | m_Type = Convert.ToUInt32(row[3]), 20 | m_Value1 = Convert.ToUInt32(row[4]), 21 | m_Value2 = Convert.ToUInt32(row[5]), 22 | m_Name = row[6] 23 | } 24 | ); 25 | } 26 | return consumables; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /QuazalWV/DB/PassiveAbilityModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace QuazalWV.DB 5 | { 6 | public static class PassiveAbilityModel 7 | { 8 | public static List GetTemplates() 9 | { 10 | List teamUpgrades = new List(); 11 | var rows = DBHelper.GetQueryResults("SELECT * FROM passiveabilities"); 12 | foreach (var row in rows) 13 | { 14 | teamUpgrades.Add( 15 | new GR5_PassiveAbility() 16 | { 17 | Id = Convert.ToUInt32(row[1]), 18 | ClassID = Convert.ToByte(row[2]), 19 | ModifierListID = Convert.ToUInt32(row[3]), 20 | Type = Convert.ToUInt32(row[4]), 21 | AssetKey = Convert.ToUInt32(row[5]) 22 | } 23 | ); 24 | } 25 | return teamUpgrades; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QuazalWV/DO/DO_BundleMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class DO_BundleMessage 11 | { 12 | public static byte[] HandleMessage(ClientInfo client, byte[] data) 13 | { 14 | Log.WriteLine(1, "[DO] Handling DO_BundleMessage... TODO!"); 15 | return new byte[0]; 16 | } 17 | 18 | public static byte[] Create(ClientInfo client, List data) 19 | { 20 | Log.WriteLine(2, "[DO] Creating DO_BundleMessage"); 21 | MemoryStream m = new MemoryStream(); 22 | m.WriteByte(0xF); 23 | foreach (byte[] buff in data) 24 | { 25 | Helper.WriteU32(m, (uint)buff.Length); 26 | m.Write(buff, 0, buff.Length); 27 | } 28 | Helper.WriteU32(m, 0); 29 | return m.ToArray(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QuazalWV/DO/DO_CreateAndPromoteDuplicaMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class DO_CreateAndPromoteDuplicaMessage 11 | { 12 | public static byte[] HandleMessage(ClientInfo client, byte[] data) 13 | { 14 | Log.WriteLine(2, "[DO] Handling DO_CreateAndPromoteDuplicaMessage... TODO!"); 15 | return new byte[0]; 16 | } 17 | 18 | public static byte[] Create(ushort callID, DupObj obj, byte version) 19 | { 20 | Log.WriteLine(2, "[DO] Creating DO_CreateAndPromoteDuplicaMessage"); 21 | MemoryStream m = new MemoryStream(); 22 | m.WriteByte(0x13); 23 | Helper.WriteU16(m, callID); 24 | Helper.WriteU32(m, obj); 25 | Helper.WriteU32(m, obj.Master); 26 | m.WriteByte(version); 27 | Helper.WriteU32(m, 0); 28 | byte[] payload = obj.getPayload(); 29 | m.Write(payload, 0, payload.Length); 30 | return m.ToArray(); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /QuazalWV/DO/DO_DeleteMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Drawing; 4 | using System.IO; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | using System.Xml; 9 | 10 | namespace QuazalWV 11 | { 12 | public class DO_DeleteMessage 13 | { 14 | public static byte[] HandleMessage(ClientInfo client, byte[] data) 15 | { 16 | Log.WriteLine(2, "[DO] Handling DO_DeleteMessage"); 17 | uint handle = BitConverter.ToUInt32(data, 1); 18 | DupObj obj = DO_Session.FindObj(handle); 19 | if (obj == null) 20 | { 21 | Log.WriteLine(1, "[DO] DO_DeleteMessage sent for an unknown dupobj"); 22 | return new byte[0]; 23 | } 24 | DO_Session.DupObjs.Remove(obj); 25 | return null; 26 | } 27 | 28 | public static byte[] Create(ushort callID, uint fromStationID, uint dupObj, uint toStationID, byte version, List handles) 29 | { 30 | Log.WriteLine(2, "[DO] Creating DO_DeleteMessage TODO"); 31 | return null; 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /QuazalWV/DO/DO_GetParticipantsRequestMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class DO_GetParticipantsRequestMessage 11 | { 12 | public static byte[] HandleMessage(ClientInfo client, byte[] data) 13 | { 14 | Log.WriteLine(2, "[DO] Handling DO_GetParticipantsRequestMessage..."); 15 | return DO_GetParticipantsResponseMessage.Create(data); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /QuazalWV/DO/DO_GetParticipantsResponseMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class DO_GetParticipantsResponseMessage 11 | { 12 | public static byte[] HandleMessage(ClientInfo client, byte[] data) 13 | { 14 | Log.WriteLine(2, "[DO] Handling DO_GetParticipantsResponseMessage... TODO!"); 15 | return new byte[0]; 16 | } 17 | 18 | public static byte[] Create(byte[] data) 19 | { 20 | Log.WriteLine(2, "[DO] Creating DO_GetParticipantsResponseMessage"); 21 | MemoryStream m = new MemoryStream(); 22 | m.WriteByte(0x15); 23 | m.WriteByte(1); 24 | Helper.WriteU32(m, 1); 25 | m.Write(data, 1, data.Length - 1); 26 | return m.ToArray(); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /QuazalWV/DO/DO_JoinResponseMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class DO_JoinResponseMessage 11 | { 12 | public static byte[] HandleMessage(ClientInfo client, byte[] data) 13 | { 14 | Log.WriteLine(2, "[DO] Handling DO_JoinResponseMessage... TODO!"); 15 | return new byte[0]; 16 | } 17 | 18 | public static byte[] Create(byte successByte, DupObj clientStation) 19 | { 20 | Log.WriteLine(2, "[DO] Creating DO_JoinResponseMessage"); 21 | MemoryStream m = new MemoryStream(); 22 | m.WriteByte(1); 23 | m.WriteByte(successByte); 24 | if (successByte == 1) 25 | { 26 | Helper.WriteU32(m, clientStation); 27 | Helper.WriteU32(m, clientStation.Master); 28 | Helper.WriteU16(m, 0); 29 | } 30 | else 31 | Log.WriteLine(1, "[DO] Creating negative DO_JoinResponseMessage failed, TODO!"); 32 | return m.ToArray(); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /QuazalWV/DO/DO_Outcome.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class DO_Outcome 11 | { 12 | public static byte[] HandleMessage(ClientInfo client, byte[] data) 13 | { 14 | Log.WriteLine(2, "[DO] Received Called Outcome 0x" + BitConverter.ToUInt32(data, 3).ToString("X") + " for call ID 0x" + BitConverter.ToUInt16(data, 1).ToString("X")); 15 | return null; 16 | } 17 | public static byte[] Create(ushort callID, uint outcome) 18 | { 19 | Log.WriteLine(2, "[DO] Creating DO_OutcomeMessage"); 20 | MemoryStream m = new MemoryStream(); 21 | m.WriteByte(0x8); 22 | Helper.WriteU16(m, callID); 23 | Helper.WriteU32(m, outcome); 24 | return m.ToArray(); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QuazalWV/DO/DO_RMCResponseMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class DO_RMCResponseMessage 11 | { 12 | public static byte[] HandleMessage(ClientInfo client, byte[] data) 13 | { 14 | Log.WriteLine(2, "[DO] Handling DO_RMCResponseMessage... TODO!"); 15 | return new byte[0]; 16 | } 17 | 18 | public static byte[] Create(ushort callID, uint outcome, byte[] payload) 19 | { 20 | Log.WriteLine(2, "[DO] Creating DO_RMCResponseMessage"); 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU8(m, 0xB); 23 | Helper.WriteU16(m, callID); 24 | Helper.WriteU32(m, outcome); 25 | m.Write(payload, 0, payload.Length); 26 | return m.ToArray(); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /QuazalWV/DO/DupObjs/DupObjPayload.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace QuazalWV 8 | { 9 | public abstract class DupObjPayload 10 | { 11 | public abstract byte[] toBuffer(); 12 | 13 | public abstract string getDesc(string tabs = ""); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /QuazalWV/DO/DupObjs/Payloads/Payload_IDRange.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class Payload_IDRange : DupObjPayload 11 | { 12 | public uint min; 13 | public uint max; 14 | public Payload_IDRange(uint a, uint b) 15 | { 16 | min = a; 17 | max = b; 18 | } 19 | 20 | public override byte[] toBuffer() 21 | { 22 | MemoryStream m = new MemoryStream(); 23 | Helper.WriteU8(m, 1); 24 | Helper.WriteU32(m, min); 25 | Helper.WriteU32(m, max); 26 | return m.ToArray(); 27 | } 28 | 29 | public override string getDesc(string tabs = "") 30 | { 31 | StringBuilder sb = new StringBuilder(); 32 | sb.AppendLine(tabs + "Range Min = 0x" + min.ToString("X")); 33 | sb.AppendLine(tabs + "Range Max = 0x" + max.ToString("X")); 34 | return sb.ToString(); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /QuazalWV/DO/DupObjs/Payloads/Payload_SessionInfos.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class Payload_SessionInfos : DupObjPayload 11 | { 12 | public uint NbPlayers = 0; 13 | public SessionInfosParameter SES_SessionInfosParameter = new SessionInfosParameter(); 14 | 15 | public override byte[] toBuffer() 16 | { 17 | MemoryStream m = new MemoryStream(); 18 | m.WriteByte(1); 19 | Helper.WriteU32(m, NbPlayers); 20 | m.WriteByte(1); 21 | SES_SessionInfosParameter.toBuffer(m); 22 | return m.ToArray(); 23 | } 24 | 25 | public override string getDesc(string tabs = "") 26 | { 27 | StringBuilder sb = new StringBuilder(); 28 | sb.Append(tabs); 29 | byte[] buff = toBuffer(); 30 | foreach (byte b in buff) 31 | sb.Append(b.ToString("X2") + " "); 32 | return sb.ToString(); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /QuazalWV/DO/DupObjs/Payloads/Payload_SyncResponse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class Payload_SyncResponse : DupObjPayload 11 | { 12 | public ulong time; 13 | 14 | public Payload_SyncResponse(ulong t) 15 | { 16 | time = t; 17 | } 18 | 19 | public override byte[] toBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU64(m, time); 23 | Helper.WriteU64(m, (ulong)Global.uptime.ElapsedMilliseconds); 24 | Helper.WriteU32(m, 0); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string getDesc(string tabs = "") 29 | { 30 | StringBuilder sb = new StringBuilder(); 31 | sb.Append(tabs); 32 | byte[] buff = toBuffer(); 33 | foreach (byte b in buff) 34 | sb.Append(b.ToString("X2") + " "); 35 | return sb.ToString(); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/NotificationQuene.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace QuazalWV 8 | { 9 | public static class NotificationQuene 10 | { 11 | private static readonly object _sync = new object(); 12 | private static List quene = new List(); 13 | 14 | public static void AddNotification(NotificationQueneEntry n) 15 | { 16 | lock (_sync) 17 | { 18 | quene.Add(n); 19 | } 20 | } 21 | 22 | public static void Update() 23 | { 24 | lock (_sync) 25 | { 26 | for (int i = 0; i < quene.Count; i++) 27 | { 28 | NotificationQueneEntry n = quene[i]; 29 | if (n.timer.ElapsedMilliseconds > n.timeout) 30 | { 31 | n.Execute(); 32 | n.timer.Stop(); 33 | quene.RemoveAt(i); 34 | i--; 35 | } 36 | } 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /QuazalWV/RMC/AMMDedicatedServerService/Response/RMCPacketResponseAMM_ds_AddParticipantToSession.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace QuazalWV 8 | { 9 | class RMCPacketResponseAMM_ds_AddParticipantToSession : RMCPResponse 10 | { 11 | 12 | public override byte[] ToBuffer() 13 | { 14 | return null; 15 | } 16 | 17 | public override string ToString() 18 | { 19 | return "[RMCPacketResponseAMMDS_ds_AddParticipantToSession]"; 20 | } 21 | 22 | public override string PayloadToString() 23 | { 24 | return ""; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QuazalWV/RMC/AMMGameClientService/Response/RMCPacketResponseAMMGameClientService_LeaveAMMSearch.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseAMMGameClientService_LeaveAMMSearch : RMCPResponse 11 | { 12 | public uint matchRequestId = 1; 13 | 14 | public RMCPacketResponseAMMGameClientService_LeaveAMMSearch() 15 | { 16 | } 17 | 18 | public override byte[] ToBuffer() 19 | { 20 | MemoryStream m = new MemoryStream(); 21 | Helper.WriteU32(m, matchRequestId); 22 | return m.ToArray(); 23 | } 24 | 25 | public override string ToString() 26 | { 27 | return "[LeaveAMMSearch Response]"; 28 | } 29 | 30 | public override string PayloadToString() 31 | { 32 | return ""; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /QuazalWV/RMC/AMMGameClientService/Response/RMCPacketResponseAMM_GetSessionURLs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | class RMCPacketResponseAMM_GetSessionURLs : RMCPResponse 11 | { 12 | List urls = new List(); 13 | public uint sessionID; 14 | 15 | public RMCPacketResponseAMM_GetSessionURLs() 16 | { 17 | urls.Add(Global.sessionURL); 18 | sessionID = DO_Session.ID; 19 | } 20 | 21 | public override byte[] ToBuffer() 22 | { 23 | MemoryStream m = new MemoryStream(); 24 | Helper.WriteStringList(m, urls); 25 | Helper.WriteU32(m, sessionID); 26 | return m.ToArray(); 27 | } 28 | 29 | public override string ToString() 30 | { 31 | return "[RMCPacketResponseAMM_GetSessionURLs]"; 32 | } 33 | 34 | public override string PayloadToString() 35 | { 36 | return ""; 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /QuazalWV/RMC/AMMGameClientService/Response/RMCPacketResponseAMM_RequestAMMSearch.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseAMM_RequestAMMSearch : RMCPResponse 11 | { 12 | public uint matchID = DO_Session.MatchID; 13 | 14 | public RMCPacketResponseAMM_RequestAMMSearch() 15 | { 16 | } 17 | 18 | public override byte[] ToBuffer() 19 | { 20 | MemoryStream m = new MemoryStream(); 21 | Helper.WriteU32(m, matchID); 22 | return m.ToArray(); 23 | } 24 | 25 | public override string ToString() 26 | { 27 | return "[RMCPacketResponseAMM_RequestAMMSearch]"; 28 | } 29 | 30 | public override string PayloadToString() 31 | { 32 | return ""; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /QuazalWV/RMC/AbilityService/AbilityService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class AbilityService 11 | { 12 | public static void HandleAbilityServiceRequest(QPacket p, RMCP rmc, ClientInfo client) 13 | { 14 | RMCPResponse reply; 15 | switch (rmc.methodID) 16 | { 17 | case 1: 18 | reply = new RMCPacketResponseAbilityService_GetTemplateAbilities(); 19 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 20 | break; 21 | case 2: 22 | reply = new RMCPacketResponseAbilityService_GetPersonaAbilityUpgrades(); 23 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 24 | break; 25 | default: 26 | Log.WriteLine(1, "[RMC AbilityService] Error: Unknown Method 0x" + rmc.methodID.ToString("X")); 27 | break; 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /QuazalWV/RMC/AchievementsService/Response/RMCPacketResponseAchievementsService_GetPlayerAchievementGroups.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseAchievementsService_GetPlayerAchievementGroups : RMCPResponse 11 | { 12 | public List groups = new List(); 13 | 14 | public override byte[] ToBuffer() 15 | { 16 | MemoryStream m = new MemoryStream(); 17 | Helper.WriteU32(m, (uint)groups.Count); 18 | foreach (GR5_PlayerAchievementGroup g in groups) 19 | g.toBuffer(m); 20 | return m.ToArray(); 21 | } 22 | 23 | public override string ToString() 24 | { 25 | return "[RMCPacketResponseAchievementsService_GetPlayerAchievementGroups]"; 26 | } 27 | 28 | public override string PayloadToString() 29 | { 30 | return ""; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /QuazalWV/RMC/AchievementsService/Response/RMCPacketResponseAchievementsService_GetPlayerAchievements.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseAchievementsService_GetPlayerAchievements : RMCPResponse 11 | { 12 | public List achievements = new List(); 13 | 14 | public override byte[] ToBuffer() 15 | { 16 | MemoryStream m = new MemoryStream(); 17 | Helper.WriteU32(m, (uint)achievements.Count); 18 | foreach (GR5_PlayerAchievement a in achievements) 19 | a.toBuffer(m); 20 | return m.ToArray(); 21 | } 22 | 23 | public override string ToString() 24 | { 25 | return "[RMCPacketResponseAchievementsService_GetPlayerAchievements]"; 26 | } 27 | 28 | public override string PayloadToString() 29 | { 30 | return ""; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /QuazalWV/RMC/AdvertisementsService/AdvertisementsService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class AdvertisementsService 11 | { 12 | public static void HandleAdvertisementsServiceRequest(QPacket p, RMCP rmc, ClientInfo client) 13 | { 14 | RMCPResponse reply; 15 | switch (rmc.methodID) 16 | { 17 | case 1: 18 | reply = new RMCPacketResponseAdvertisementsService_GetAdvertisements(); 19 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 20 | break; 21 | case 2: 22 | reply = new RMCPacketResponseAdvertisementsService_GetAdvertStaticData(); 23 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 24 | break; 25 | default: 26 | Log.WriteLine(1, "[RMC Ads] Error: Unknown Method 0x" + rmc.methodID.ToString("X")); 27 | break; 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /QuazalWV/RMC/AdvertisementsService/Response/RMCPacketResponseAdvertisementsService_GetAdvertisements.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Collections.Generic; 3 | using QuazalWV.DB; 4 | 5 | namespace QuazalWV 6 | { 7 | public class RMCPacketResponseAdvertisementsService_GetAdvertisements : RMCPResponse 8 | { 9 | public List Ads { get; set; } 10 | 11 | public RMCPacketResponseAdvertisementsService_GetAdvertisements() 12 | { 13 | Ads = AdModel.GetAds(); 14 | } 15 | 16 | public override byte[] ToBuffer() 17 | { 18 | MemoryStream m = new MemoryStream(); 19 | Helper.WriteU32(m, (uint)Ads.Count); 20 | foreach (GR5_Advertisement a in Ads) 21 | a.toBuffer(m); 22 | return m.ToArray(); 23 | } 24 | 25 | public override string ToString() 26 | { 27 | return "[GetAdvertisements Response]"; 28 | } 29 | 30 | public override string PayloadToString() 31 | { 32 | return ""; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /QuazalWV/RMC/ArmorService/ArmorService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class ArmorService 11 | { 12 | public static void HandleArmorServiceRequest(QPacket p, RMCP rmc, ClientInfo client) 13 | { 14 | RMCPResponse reply; 15 | switch (rmc.methodID) 16 | { 17 | case 1: 18 | reply = new RMCPacketResponseArmorService_GetTemplateArmor(); 19 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 20 | break; 21 | case 2: 22 | reply = new RMCPacketResponseArmorService_GetPersonaArmorTiers(p.payload); 23 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 24 | break; 25 | default: 26 | Log.WriteLine(1, "[RMC ArmorService] Error: Unknown Method 0x" + rmc.methodID.ToString("X")); 27 | break; 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /QuazalWV/RMC/ChatService/Request/RMCPacketRequestChatService_IgnorePlayer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketRequestChatService_IgnorePlayer : RMCPRequest 11 | { 12 | public string Name { get; set; } 13 | 14 | public RMCPacketRequestChatService_IgnorePlayer(Stream s) 15 | { 16 | Name = Helper.ReadString(s); 17 | } 18 | 19 | public override string PayloadToString() 20 | { 21 | return ""; 22 | } 23 | 24 | public override byte[] ToBuffer() 25 | { 26 | throw new NotImplementedException(); 27 | } 28 | 29 | public override string ToString() 30 | { 31 | return "[IgnorePlayer Request]"; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /QuazalWV/RMC/ChatService/Request/RMCPacketRequestChatService_JoinPublicChannel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketRequestChatService_JoinPublicChannel : RMCPRequest 11 | { 12 | public uint RoomLanguage { get; set; } 13 | public uint RoomNumber { get; set; } 14 | 15 | public RMCPacketRequestChatService_JoinPublicChannel(Stream s) 16 | { 17 | RoomLanguage = Helper.ReadU32(s); 18 | RoomNumber = Helper.ReadU32(s); 19 | } 20 | 21 | public override string PayloadToString() 22 | { 23 | return ""; 24 | } 25 | 26 | public override byte[] ToBuffer() 27 | { 28 | throw new NotImplementedException(); 29 | } 30 | 31 | public override string ToString() 32 | { 33 | return "[JoinPublicChannel Request]"; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /QuazalWV/RMC/ChatService/Request/RMCPacketRequestChatService_SetCurrentCharacter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketRequestChatService_SetCurrentCharacter : RMCPRequest 11 | { 12 | public byte CharId { get; set; } 13 | 14 | public RMCPacketRequestChatService_SetCurrentCharacter(Stream s) 15 | { 16 | CharId = Helper.ReadU8(s); 17 | } 18 | 19 | public override string PayloadToString() 20 | { 21 | return ""; 22 | } 23 | 24 | public override byte[] ToBuffer() 25 | { 26 | throw new NotImplementedException(); 27 | } 28 | 29 | public override string ToString() 30 | { 31 | return "[SetCurrentCharacter Request]"; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /QuazalWV/RMC/ChatService/Request/RMCPacketRequestChatService_SetStatus.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketRequestChatService_SetStatus : RMCPRequest 11 | { 12 | public byte Status { get; set; } 13 | 14 | public RMCPacketRequestChatService_SetStatus(Stream s) 15 | { 16 | Status = Helper.ReadU8(s); 17 | } 18 | 19 | public override string PayloadToString() 20 | { 21 | return ""; 22 | } 23 | 24 | public override byte[] ToBuffer() 25 | { 26 | throw new NotImplementedException(); 27 | } 28 | 29 | public override string ToString() 30 | { 31 | return "[SetCurrentCharacter Request]"; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /QuazalWV/RMC/ChatService/Request/RMCPacketRequestChatService_UnignorePlayer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketRequestChatService_UnignorePlayer : RMCPRequest 11 | { 12 | public string Name { get; set; } 13 | 14 | public RMCPacketRequestChatService_UnignorePlayer(Stream s) 15 | { 16 | Name = Helper.ReadString(s); 17 | } 18 | 19 | public override string PayloadToString() 20 | { 21 | return ""; 22 | } 23 | 24 | public override byte[] ToBuffer() 25 | { 26 | throw new NotImplementedException(); 27 | } 28 | 29 | public override string ToString() 30 | { 31 | return "[UnignorePlayer Request]"; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /QuazalWV/RMC/ChatService/Response/RMCPacketResponseChatService_CallGetMutedChannel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseChatService_GetMutedChannel : RMCPResponse 11 | { 12 | public List list = new List(); 13 | 14 | public RMCPacketResponseChatService_GetMutedChannel() 15 | { 16 | list.Add(new GR5_ChatChannelMute()); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)list.Count); 23 | foreach (GR5_ChatChannelMute c in list) 24 | c.toBuffer(m); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseChatService_GetMutedChannel]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/DBGTelemetryService/DBGTelemetryService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class DBGTelemetryService 11 | { 12 | public static void HandleDBGTelemetryServiceRequest(QPacket p, RMCP rmc, ClientInfo client) 13 | { 14 | RMCPResponse reply; 15 | switch (rmc.methodID) 16 | { 17 | case 1: 18 | reply = new RMCPacketResponseDBGTelemetry_DBGAMMClientInfo(); 19 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 20 | break; 21 | default: 22 | Log.WriteLine(1, "[RMC DBGTelemetryService] Error: Unknown Method 0x" + rmc.methodID.ToString("X")); 23 | break; 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QuazalWV/RMC/FriendsService/Request/RMCPacketRequestFriendsService_AddFriendByID.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketRequestFriendsService_AddFriendByID : RMCPRequest 11 | { 12 | public List Pids { get; set; } 13 | public byte Group { get; set; } 14 | 15 | public RMCPacketRequestFriendsService_AddFriendByID(Stream s) 16 | { 17 | Pids = new List(); 18 | uint count = Helper.ReadU32(s); 19 | for (uint idx = 0; idx < count; idx++) 20 | Pids.Add(Helper.ReadU32(s)); 21 | Group = Helper.ReadU8(s); 22 | } 23 | 24 | public override string PayloadToString() 25 | { 26 | return ""; 27 | } 28 | 29 | public override byte[] ToBuffer() 30 | { 31 | throw new NotImplementedException(); 32 | } 33 | 34 | public override string ToString() 35 | { 36 | return "[AddFriendByID Request]"; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /QuazalWV/RMC/FriendsService/Request/RMCPacketRequestFriendsService_MoveFriendToGroup.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketRequestFriendsService_MoveFriendToGroup : RMCPRequest 11 | { 12 | public List Pids { get; set; } 13 | public byte Group { get; set; } 14 | 15 | public RMCPacketRequestFriendsService_MoveFriendToGroup(Stream s) 16 | { 17 | Pids = new List(); 18 | uint count = Helper.ReadU32(s); 19 | for (uint idx = 0; idx < count; idx++) 20 | Pids.Add(Helper.ReadU32(s)); 21 | Group = Helper.ReadU8(s); 22 | } 23 | 24 | public override string PayloadToString() 25 | { 26 | return ""; 27 | } 28 | 29 | public override byte[] ToBuffer() 30 | { 31 | throw new NotImplementedException(); 32 | } 33 | 34 | public override string ToString() 35 | { 36 | return "[MoveFriendToGroup Request]"; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /QuazalWV/RMC/FriendsService/Request/RMCPacketRequestFriendsService_RemoveFriend.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketRequestFriendsService_RemoveFriend : RMCPRequest 11 | { 12 | public List Pids { get; set; } 13 | 14 | public RMCPacketRequestFriendsService_RemoveFriend(Stream s) 15 | { 16 | Pids = new List(); 17 | uint count = Helper.ReadU32(s); 18 | for (uint idx = 0; idx < count; idx++) 19 | Pids.Add(Helper.ReadU32(s)); 20 | } 21 | 22 | public override string PayloadToString() 23 | { 24 | return ""; 25 | } 26 | 27 | public override byte[] ToBuffer() 28 | { 29 | throw new NotImplementedException(); 30 | } 31 | 32 | public override string ToString() 33 | { 34 | return "[RemoveFriend Request]"; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /QuazalWV/RMC/FriendsService/Response/RMCPacketResponseFriendsService_AddFriendByID.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseFriendsService_AddFriendByID : RMCPResponse 11 | { 12 | public List friends = new List(); 13 | 14 | public RMCPacketResponseFriendsService_AddFriendByID(ClientInfo client) 15 | { 16 | friends = DBHelper.GetFriends(client); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)friends.Count()); 23 | foreach (GR5_FriendData fd in friends) 24 | fd.toBuffer(m); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[AddFriendByID Response]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return $"\t[Friends: {friends.Count}]"; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/InboxMessageService/Request/RMCPacketRequestInboxMessageService_GetInboxMessagesAfterMessageId.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Xml.Linq; 8 | 9 | namespace QuazalWV 10 | { 11 | public class RMCPacketRequestInboxMessageService_GetInboxMessagesAfterMessageId : RMCPRequest 12 | { 13 | public uint MessageId { get; set; } 14 | 15 | public RMCPacketRequestInboxMessageService_GetInboxMessagesAfterMessageId(Stream s) 16 | { 17 | MessageId = Helper.ReadU32(s); 18 | } 19 | 20 | public override string PayloadToString() 21 | { 22 | StringBuilder sb = new StringBuilder(); 23 | sb.AppendLine($"\t[MessageId: {MessageId}]"); 24 | return sb.ToString(); 25 | } 26 | 27 | public override byte[] ToBuffer() 28 | { 29 | throw new NotImplementedException(); 30 | } 31 | 32 | public override string ToString() 33 | { 34 | return "[GetInboxMessagesAfterMessageId Request]"; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /QuazalWV/RMC/InboxMessageService/Request/RMCPacketRequestInboxMessageService_GetRecentInboxMessages.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Xml.Linq; 8 | 9 | namespace QuazalWV 10 | { 11 | public class RMCPacketRequestInboxMessageService_GetRecentInboxMessages : RMCPRequest 12 | { 13 | public uint MessageCount { get; set; } 14 | 15 | public RMCPacketRequestInboxMessageService_GetRecentInboxMessages(Stream s) 16 | { 17 | MessageCount = Helper.ReadU32(s); 18 | } 19 | 20 | public override string PayloadToString() 21 | { 22 | StringBuilder sb = new StringBuilder(); 23 | sb.AppendLine($"\t[Msgs: {MessageCount}]"); 24 | return sb.ToString(); 25 | } 26 | 27 | public override byte[] ToBuffer() 28 | { 29 | throw new NotImplementedException(); 30 | } 31 | 32 | public override string ToString() 33 | { 34 | return "[GetRecentInboxMessages Request]"; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /QuazalWV/RMC/InventoryService/Response/RMCPacketResponseInventoryService_GetAllApplyItems.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseInventoryService_GetAllApplyItems : RMCPResponse 11 | { 12 | public List items = new List(); 13 | 14 | public RMCPacketResponseInventoryService_GetAllApplyItems() 15 | { 16 | items.Add(new GR5_ApplyItem()); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)items.Count); 23 | foreach (GR5_ApplyItem item in items) 24 | item.toBuffer(m); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseInventoryService_GetAllApplyItems]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/InventoryService/Response/RMCPacketResponseInventoryService_GetAllBoosts.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Collections.Generic; 3 | using QuazalWV.DB; 4 | 5 | namespace QuazalWV 6 | { 7 | public class RMCPacketResponseInventoryService_GetAllBoosts : RMCPResponse 8 | { 9 | public List Boosts { get; set; } 10 | 11 | public RMCPacketResponseInventoryService_GetAllBoosts() 12 | { 13 | Boosts = BoostModel.GetBoosts(); 14 | } 15 | 16 | public override byte[] ToBuffer() 17 | { 18 | MemoryStream m = new MemoryStream(); 19 | Helper.WriteU32(m, (uint)Boosts.Count); 20 | foreach (GR5_Boost b in Boosts) 21 | b.ToBuffer(m); 22 | return m.ToArray(); 23 | } 24 | 25 | public override string ToString() 26 | { 27 | return "[GetAllBoosts Response]"; 28 | } 29 | 30 | public override string PayloadToString() 31 | { 32 | return ""; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /QuazalWV/RMC/InventoryService/Response/RMCPacketResponseInventoryService_GetAllConsumables.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | 5 | namespace QuazalWV 6 | { 7 | public class RMCPacketResponseInventoryService_GetAllConsumables : RMCPResponse 8 | { 9 | public List Consumables { get; set; } 10 | 11 | public RMCPacketResponseInventoryService_GetAllConsumables() 12 | { 13 | Consumables = DB.ConsumableModel.GetConsumables(); 14 | } 15 | 16 | public override byte[] ToBuffer() 17 | { 18 | MemoryStream m = new MemoryStream(); 19 | Helper.WriteU32(m, (uint)Consumables.Count); 20 | foreach (GR5_Consumable c in Consumables) 21 | c.toBuffer(m); 22 | return m.ToArray(); 23 | } 24 | 25 | public override string ToString() 26 | { 27 | return "[GetAllConsumables Response]"; 28 | } 29 | 30 | public override string PayloadToString() 31 | { 32 | return ""; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /QuazalWV/RMC/InventoryService/Response/RMCPacketResponseInventoryService_GetTemplateItems.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseInventoryService_GetTemplateItems : RMCPResponse 11 | { 12 | public List items = new List(); 13 | 14 | public RMCPacketResponseInventoryService_GetTemplateItems() 15 | { 16 | items = DBHelper.GetTemplateItems(); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)items.Count); 23 | foreach (GR5_TemplateItem item in items) 24 | item.toBuffer(m); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseInventoryService_GetTemplateItems]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/LeaderboardService/Response/RMCPacketResponseLeaderboardService_Method4.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseLeaderboardService_ReadLeaderBoardStatsForRank : RMCPResponse 11 | { 12 | public List readResults = new List(); 13 | 14 | public override byte[] ToBuffer() 15 | { 16 | MemoryStream m = new MemoryStream(); 17 | Helper.WriteU32(m, (uint)readResults.Count); 18 | foreach (GR5_LeaderboardReadResult r in readResults) 19 | r.toBuffer(m); 20 | return m.ToArray(); 21 | } 22 | 23 | public override string ToString() 24 | { 25 | return "[RMCPacketResponseLeaderboardService_ReadLeaderBoardStatsForRank]"; 26 | } 27 | 28 | public override string PayloadToString() 29 | { 30 | return ""; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /QuazalWV/RMC/LeaderboardService/Response/RMCPacketResponseLeaderboardService_ReadLeaderBoardStatsForPlayers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseLeaderboardService_ReadLeaderBoardStatsForPlayers : RMCPResponse 11 | { 12 | public List list = new List(); 13 | 14 | public override byte[] ToBuffer() 15 | { 16 | MemoryStream m = new MemoryStream(); 17 | Helper.WriteU32(m, (uint)list.Count); 18 | foreach (GR5_LeaderboardReadResult r in list) 19 | r.toBuffer(m); 20 | return m.ToArray(); 21 | } 22 | 23 | public override string ToString() 24 | { 25 | return "[RMCPacketResponseLeaderboardService_ReadLeaderBoardStatsForPlayers]"; 26 | } 27 | 28 | public override string PayloadToString() 29 | { 30 | return ""; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /QuazalWV/RMC/LeaderboardService/Response/RMCPacketResponseLeaderboardService_ReadLeaderBoardStatsNearUser.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseLeaderboardService_ReadLeaderBoardStatsNearUser : RMCPResponse 11 | { 12 | public List list = new List(); 13 | 14 | public override byte[] ToBuffer() 15 | { 16 | MemoryStream m = new MemoryStream(); 17 | Helper.WriteU32(m, (uint)list.Count); 18 | foreach (GR5_LeaderboardReadResult r in list) 19 | r.toBuffer(m); 20 | return m.ToArray(); 21 | } 22 | 23 | public override string ToString() 24 | { 25 | return "[RMCPacketResponseLeaderboardService_ReadLeaderBoardStatsNearUser]"; 26 | } 27 | 28 | public override string PayloadToString() 29 | { 30 | return ""; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /QuazalWV/RMC/LoadoutService/LoadoutService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class LoadoutService 11 | { 12 | public static void HandleLoadoutServiceLoadout(QPacket p, RMCP rmc, ClientInfo client) 13 | { 14 | RMCPResponse reply; 15 | switch (rmc.methodID) 16 | { 17 | case 3: 18 | reply = new RMCPacketResponseLoadout_CACHEFetch(); 19 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 20 | break; 21 | case 5: 22 | reply = new RMCPacketResponseLoadout_GetLoadoutPowers(); 23 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 24 | break; 25 | default: 26 | Log.WriteLine(1, "[RMC LoadoutService] Error: Unknown Method 0x" + rmc.methodID.ToString("X")); 27 | break; 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /QuazalWV/RMC/LootService/Response/RMCPacketResponseLootService_GetLootStatic.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseLootService_GetLootStatic : RMCPResponse 11 | { 12 | public List items = new List(); 13 | 14 | public RMCPacketResponseLootService_GetLootStatic() 15 | { 16 | items.Add(new GR5_LootItem()); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)items.Count); 23 | foreach (GR5_LootItem item in items) 24 | item.toBuffer(m); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseLootService_GetLootStatic]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/MatchMakingService/MatchMakingService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class MatchMakingService 11 | { 12 | public static void HandleMatchMakingServiceRequest(QPacket p, RMCP rmc, ClientInfo client) 13 | { 14 | RMCPResponse reply; 15 | switch (rmc.methodID) 16 | { 17 | case 0x10: 18 | reply = new RMCPacketResponseMatchMakingService_Method10(); 19 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 20 | break; 21 | default: 22 | Log.WriteLine(1, "[RMC MatchMakingService] Error: Unknown Method 0x" + rmc.methodID.ToString("X")); 23 | break; 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QuazalWV/RMC/MatchMakingService/Response/RMCPacketResponseMatchMakingService_Method10.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseMatchMakingService_Method10 : RMCPResponse 11 | { 12 | 13 | public List stationURLs = new List(); 14 | 15 | public RMCPacketResponseMatchMakingService_Method10() 16 | { 17 | stationURLs.Add(Global.sessionURL); 18 | } 19 | 20 | public override byte[] ToBuffer() 21 | { 22 | MemoryStream m = new MemoryStream(); 23 | Helper.WriteStringList(m, stationURLs); 24 | return m.ToArray(); 25 | } 26 | 27 | public override string ToString() 28 | { 29 | return "[RMCPacketResponseMatchMakingService_Method10]"; 30 | } 31 | 32 | public override string PayloadToString() 33 | { 34 | return ""; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /QuazalWV/RMC/MissionService/Response/RMCPacketResponseMissionService_CancelMission.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseMissionService_CancelMission : RMCPResponse 11 | { 12 | uint unused; 13 | uint missionId; 14 | 15 | public RMCPacketResponseMissionService_CancelMission() 16 | { 17 | unused = 0x11; 18 | missionId = 0; 19 | } 20 | 21 | public override byte[] ToBuffer() 22 | { 23 | MemoryStream m = new MemoryStream(); 24 | Helper.WriteU32(m, unused); 25 | Helper.WriteU32(m, missionId); 26 | return m.ToArray(); 27 | } 28 | 29 | public override string ToString() 30 | { 31 | return "[RMCPacketResponseMissionService_CancelMission]"; 32 | } 33 | 34 | public override string PayloadToString() 35 | { 36 | return ""; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /QuazalWV/RMC/NATTraversalService/NATTraversalService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class NATTraversalService 11 | { 12 | public static void HandleNATTraversalServiceRequest(QPacket p, RMCP rmc, ClientInfo client) 13 | { 14 | RMCPResponse reply; 15 | switch (rmc.methodID) 16 | { 17 | case 1: 18 | reply = new RMCPResponseEmpty(); 19 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 20 | break; 21 | default: 22 | Log.WriteLine(1, "[RMC NATTraversalService] Error: Unknown Method 0x" + rmc.methodID.ToString("X")); 23 | break; 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QuazalWV/RMC/OpsProtocolService/OpsProtocolService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class OpsProtocolService 11 | { 12 | public static void HandleOpsProtocolServiceRequest(QPacket p, RMCP rmc, ClientInfo client) 13 | { 14 | RMCPResponse reply; 15 | switch (rmc.methodID) 16 | { 17 | case 19: 18 | reply = new RMCPacketResponseOpsProtocolService_GetAllOperatorVariables(); 19 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 20 | break; 21 | case 23: 22 | reply = new RMCPacketResponseOpsProtocolService_GetAllPriorityBroadcasts(); 23 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 24 | break; 25 | default: 26 | Log.WriteLine(1, "[RMC OpsProtocolService] Error: Unknown Method 0x" + rmc.methodID.ToString("X")); 27 | break; 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /QuazalWV/RMC/PartyService/Response/RMCPacketResponsePartyService_GetInviteList.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponsePartyService_GetInviteList : RMCPResponse 11 | { 12 | public List _InvitesList = new List(); 13 | 14 | public RMCPacketResponsePartyService_GetInviteList() 15 | { 16 | _InvitesList.Add(new GR5_Invitation()); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)_InvitesList.Count); 23 | foreach (GR5_Invitation inv in _InvitesList) 24 | inv.toBuffer(m); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponsePartyService_GetInviteList]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/PlayerProfileService/Request/RMCPacketRequestPlayerProfileService_SetAvatarDecorator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketRequestPlayerProfileService_SetAvatarDecorator : RMCPRequest 11 | { 12 | public uint decoratorId; 13 | 14 | public RMCPacketRequestPlayerProfileService_SetAvatarDecorator(Stream s) 15 | { 16 | decoratorId = Helper.ReadU32(s); 17 | } 18 | 19 | public override string PayloadToString() 20 | { 21 | StringBuilder sb = new StringBuilder(); 22 | sb.AppendLine("\t[New decorator: " + decoratorId + "]"); 23 | return ""; 24 | } 25 | 26 | public override byte[] ToBuffer() 27 | { 28 | throw new NotImplementedException(); 29 | } 30 | 31 | public override string ToString() 32 | { 33 | return "[SetAvatarDecorator Request: decorator=" + decoratorId + "]"; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /QuazalWV/RMC/PlayerProfileService/Response/RMCPacketResponsePlayerProfileService_SetAvatarDecorator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponsePlayerProfileService_SetAvatarDecorator : RMCPResponse 11 | { 12 | public uint decoratorId; 13 | 14 | public RMCPacketResponsePlayerProfileService_SetAvatarDecorator(ClientInfo client, uint decoId) 15 | { 16 | decoratorId = decoId; 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, decoratorId); 23 | return m.ToArray(); 24 | } 25 | 26 | public override string ToString() 27 | { 28 | return "[RMCPacketResponsePlayerProfileService_SetAvatarDecorator]"; 29 | } 30 | 31 | public override string PayloadToString() 32 | { 33 | return ""; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /QuazalWV/RMC/ProfanityFilterService/ProfanityFilterService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class ProfanityFilterService 11 | { 12 | public static void HandleProfanityFilterServiceRequest(QPacket p, RMCP rmc, ClientInfo client) 13 | { 14 | RMCPResponse reply; 15 | switch (rmc.methodID) 16 | { 17 | case 1: 18 | reply = new RMCPacketResponseProfanityFilterService_GetAllProfaneWords(); 19 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 20 | break; 21 | default: 22 | Log.WriteLine(1, "[RMC ProfanityFilterService] Error: Unknown Method 0x" + rmc.methodID.ToString("X")); 23 | break; 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QuazalWV/RMC/ProgressionService/ProgressionService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class ProgressionService 11 | { 12 | public static void HandleProgressionServiceRequest(QPacket p, RMCP rmc, ClientInfo client) 13 | { 14 | RMCPResponse reply; 15 | switch (rmc.methodID) 16 | { 17 | case 1: 18 | reply = new RMCPacketResponseProgressionService_GetLevels(); 19 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 20 | break; 21 | default: 22 | Log.WriteLine(1, "[RMC ProgressionService] Error: Unknown Method 0x" + rmc.methodID.ToString("X")); 23 | break; 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QuazalWV/RMC/ProgressionService/Response/RMCPacketResponseProgressionService_GetLevels.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseProgressionService_GetLevels : RMCPResponse 11 | { 12 | public List levels = new List(); 13 | 14 | public RMCPacketResponseProgressionService_GetLevels() 15 | { 16 | levels.Add(new GR5_Level()); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)levels.Count); 23 | foreach (GR5_Level l in levels) 24 | l.toBuffer(m); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseProgressionService_GetLevels]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/PveArchetypeService/PveArchetypeService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class PveArchetypeService 11 | { 12 | public static void HandlePveArchetypeServiceRequest(QPacket p, RMCP rmc, ClientInfo client) 13 | { 14 | RMCPResponse reply; 15 | switch (rmc.methodID) 16 | { 17 | case 1: 18 | reply = new RMCPacketResponsePveArchetypeService_GetAllPveArchetypes(); 19 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 20 | break; 21 | default: 22 | Log.WriteLine(1, "[RMC PveArchetypeService] Error: Unknown Method 0x" + rmc.methodID.ToString("X")); 23 | break; 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QuazalWV/RMC/RMCPCustom.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace QuazalWV 8 | { 9 | public class RMCPCustom : RMCPResponse 10 | { 11 | public byte[] buffer; 12 | 13 | public override byte[] ToBuffer() 14 | { 15 | return buffer; 16 | } 17 | 18 | public override string ToString() 19 | { 20 | return "[RMCPacketCustom]"; 21 | } 22 | 23 | public override string PayloadToString() 24 | { 25 | return ""; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /QuazalWV/RMC/RMCPRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace QuazalWV 8 | { 9 | public abstract class RMCPRequest 10 | { 11 | public abstract override string ToString(); 12 | public abstract string PayloadToString(); 13 | public abstract byte[] ToBuffer(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /QuazalWV/RMC/RMCPResponse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace QuazalWV 8 | { 9 | public abstract class RMCPResponse 10 | { 11 | public abstract override string ToString(); 12 | public abstract string PayloadToString(); 13 | public abstract byte[] ToBuffer(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /QuazalWV/RMC/RMCPResponseEmpty.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace QuazalWV 8 | { 9 | public class RMCPResponseEmpty : RMCPResponse 10 | { 11 | public override byte[] ToBuffer() 12 | { 13 | return new byte[0]; 14 | } 15 | 16 | public override string ToString() 17 | { 18 | return "[RMCPacketResponseEmpty]"; 19 | } 20 | 21 | public override string PayloadToString() 22 | { 23 | return ""; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /QuazalWV/RMC/RewardService/Response/RMCPacketResponseRewardService_GetRewards.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseRewardService_GetRewards : RMCPResponse 11 | { 12 | public List rewards = new List(); 13 | 14 | public RMCPacketResponseRewardService_GetRewards() 15 | { 16 | rewards.Add(new GR5_Reward()); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)rewards.Count); 23 | foreach (GR5_Reward r in rewards) 24 | r.toBuffer(m); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseRewardService_GetRewards]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/RewardService/Response/RMCPacketResponseRewardService_GetUserReward.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseRewardService_GetUserReward : RMCPResponse 11 | { 12 | public List userRewards = new List(); 13 | 14 | public RMCPacketResponseRewardService_GetUserReward() 15 | { 16 | userRewards.Add(0); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)userRewards.Count); 23 | foreach (uint u in userRewards) 24 | Helper.WriteU32(m, u); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseRewardService_GetUserReward]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/ServerInfoService/Response/RMCPacketResponseServerInfo_GetServerTime.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseServerInfo_GetServerUTCTime : RMCPResponse 11 | { 12 | public double UtcTime { get; set; } 13 | 14 | public override byte[] ToBuffer() 15 | { 16 | MemoryStream m = new MemoryStream(); 17 | Helper.WriteDouble(m, UtcTime); 18 | return m.ToArray(); 19 | } 20 | 21 | public override string ToString() 22 | { 23 | return "[RMCPacketResponseServerInfo_GetServerUTCTime]"; 24 | } 25 | 26 | public override string PayloadToString() 27 | { 28 | return ""; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /QuazalWV/RMC/ServerInfoService/Response/RMCPacketResponseServerInfo_Method2.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseServerInfo_GetServerLocalTime : RMCPResponse 11 | { 12 | GR5_TimeInfo info = new GR5_TimeInfo(); 13 | 14 | public override byte[] ToBuffer() 15 | { 16 | MemoryStream m = new MemoryStream(); 17 | info.toBuffer(m); 18 | return m.ToArray(); 19 | } 20 | 21 | public override string ToString() 22 | { 23 | return "[RMCPacketResponseServerInfo_GetServerLocalTime]"; 24 | } 25 | 26 | public override string PayloadToString() 27 | { 28 | return ""; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /QuazalWV/RMC/ServerInfoService/Response/RMCPacketResponseServerInfo_RequestServerInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseServerInfo_RequestServerInfo : RMCPResponse 11 | { 12 | public GR5_TimeInfo _localTime = new GR5_TimeInfo(); 13 | public GR5_TimeInfo _gmTime = new GR5_TimeInfo(); 14 | public GR5_TimeZoneInfo _timeZone = new GR5_TimeZoneInfo(); 15 | 16 | public override byte[] ToBuffer() 17 | { 18 | MemoryStream m = new MemoryStream(); 19 | _localTime.toBuffer(m); 20 | _gmTime.toBuffer(m); 21 | _timeZone.toBuffer(m); 22 | return m.ToArray(); 23 | } 24 | 25 | public override string ToString() 26 | { 27 | return "[RMCPacketResponseServerInfo_RequestServerInfo]"; 28 | } 29 | 30 | public override string PayloadToString() 31 | { 32 | return ""; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /QuazalWV/RMC/SkillsService/Response/RMCPacketResponseSkillsService_GetGameClass.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseSkillsService_GetGameClass : RMCPResponse 11 | { 12 | public List _GameClassVector = new List(); 13 | 14 | public RMCPacketResponseSkillsService_GetGameClass() 15 | { 16 | _GameClassVector = DBHelper.GetGameClasses(); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)_GameClassVector.Count); 23 | foreach (GR5_GameClass g in _GameClassVector) 24 | g.toBuffer(m); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseSkillsService_GetGameClass]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/SkillsService/Response/RMCPacketResponseSkillsService_GetModifierLists.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseSkillsService_GetModifierLists : RMCPResponse 11 | { 12 | public List sml = new List(); 13 | 14 | public RMCPacketResponseSkillsService_GetModifierLists() 15 | { 16 | sml = DBHelper.GetSkillModifierLists(); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)sml.Count); 23 | foreach (GR5_SkillModifierList s in sml) 24 | s.toBuffer(m); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseSkillsService_GetModifierLists]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/SkillsService/Response/RMCPacketResponseSkillsService_GetModifiers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseSkillsService_GetModifiers : RMCPResponse 11 | { 12 | public List mods = new List(); 13 | 14 | public RMCPacketResponseSkillsService_GetModifiers() 15 | { 16 | mods = DBHelper.GetSkillModifiers(); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)mods.Count); 23 | foreach (GR5_SkillModifier skm in mods) 24 | skm.toBuffer(m); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseSkillsService_GetModifiers]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/SkillsService/Response/RMCPacketResponseSkillsService_GetSkillPowers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseSkillsService_GetSkillPowers : RMCPResponse 11 | { 12 | public List list = new List(); 13 | 14 | public RMCPacketResponseSkillsService_GetSkillPowers() 15 | { 16 | list.Add(new GR5_SkillPower()); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)list.Count); 23 | foreach (GR5_SkillPower sp in list) 24 | sp.toBuffer(m); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseSkillsService_GetSkillPowers]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /QuazalWV/RMC/SkillsService/Response/RMCPacketResponseSkillsService_Method7.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseSkillsService_GetCharacterSkillsByID : RMCPResponse 11 | { 12 | //not tested yet 13 | List skills = new List(); 14 | 15 | public RMCPacketResponseSkillsService_GetCharacterSkillsByID() 16 | { 17 | skills.Add(new GR5_Skill()); 18 | } 19 | 20 | public override byte[] ToBuffer() 21 | { 22 | MemoryStream m = new MemoryStream(); 23 | foreach (GR5_Skill s in skills) s.toBuffer(m); 24 | //Helper.WriteU32(m, 0); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseSkillsService_GetCharacterSkillsByID]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /QuazalWV/RMC/StatisticsService/Response/RMCPacketResponseStatisticsService_GetPlayerLifetimeStatistics.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseStatisticsService_GetPlayerLifetimeStatistics : RMCPResponse 11 | { 12 | public List psb = new List(); 13 | public override byte[] ToBuffer() 14 | { 15 | MemoryStream m = new MemoryStream(); 16 | Helper.WriteU32(m, (uint)psb.Count); 17 | foreach (GR5_PlayerStatisticsBlock p in psb) 18 | p.toBuffer(m); 19 | return m.ToArray(); 20 | } 21 | 22 | public override string ToString() 23 | { 24 | return "[RMCPacketResponseStatisticsService_GetPlayerLifetimeStatistics]"; 25 | } 26 | 27 | public override string PayloadToString() 28 | { 29 | return ""; 30 | } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /QuazalWV/RMC/StatisticsService/Response/RMCPacketResponseStatisticsService_Method4.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseStatisticsService_GetPlayerTimedStatistics : RMCPResponse 11 | { 12 | public List timedStats = new List(); 13 | 14 | public override byte[] ToBuffer() 15 | { 16 | MemoryStream m = new MemoryStream(); 17 | Helper.WriteU32(m, (uint)timedStats.Count); 18 | foreach (GR5_PlayerTimedStatisticsBlock b in timedStats) 19 | b.toBuffer(m); 20 | return m.ToArray(); 21 | } 22 | 23 | public override string ToString() 24 | { 25 | return "[RMCPacketResponseStatisticsService_GetPlayerTimedStatistics]"; 26 | } 27 | 28 | public override string PayloadToString() 29 | { 30 | return ""; 31 | } 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /QuazalWV/RMC/StoreService/Request/RMCPacketRequestStoreService_CompleteBuyAbilityWithUpgrades.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Text; 3 | 4 | namespace QuazalWV 5 | { 6 | public class RMCPacketRequestStoreService_CompleteBuyAbilityWithUpgrades : RMCPRequest 7 | { 8 | public uint TransactionId { get; set; } 9 | 10 | public RMCPacketRequestStoreService_CompleteBuyAbilityWithUpgrades(Stream s) 11 | { 12 | TransactionId = Helper.ReadU32(s); 13 | } 14 | 15 | public override byte[] ToBuffer() 16 | { 17 | MemoryStream m = new MemoryStream(); 18 | Helper.WriteU32(m, TransactionId); 19 | return m.ToArray(); 20 | } 21 | 22 | public override string ToString() 23 | { 24 | return "[CompleteBuyAbilityWithUpgrades Request]"; 25 | } 26 | 27 | public override string PayloadToString() 28 | { 29 | StringBuilder sb = new StringBuilder(); 30 | sb.AppendLine($"\t[Transaction ID: {TransactionId}]"); 31 | return sb.ToString(); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /QuazalWV/RMC/StoreService/Request/RMCPacketRequestStoreService_CompleteBuyArmourAndAttachInserts.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Text; 3 | 4 | namespace QuazalWV 5 | { 6 | public class RMCPacketRequestStoreService_CompleteBuyArmourAndAttachInserts : RMCPRequest 7 | { 8 | public uint TransactionId { get; set; } 9 | 10 | public RMCPacketRequestStoreService_CompleteBuyArmourAndAttachInserts(Stream s) 11 | { 12 | TransactionId = Helper.ReadU32(s); 13 | } 14 | 15 | public override byte[] ToBuffer() 16 | { 17 | MemoryStream m = new MemoryStream(); 18 | Helper.WriteU32(m, TransactionId); 19 | return m.ToArray(); 20 | } 21 | 22 | public override string ToString() 23 | { 24 | return "[CompleteBuyArmourAndAttachInserts Request]"; 25 | } 26 | 27 | public override string PayloadToString() 28 | { 29 | StringBuilder sb = new StringBuilder(); 30 | sb.AppendLine($"\t[Transaction ID: {TransactionId}]"); 31 | return sb.ToString(); 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /QuazalWV/RMC/StoreService/Request/RMCPacketRequestStoreService_CompleteBuyItem.cs: -------------------------------------------------------------------------------- 1 | using QuazalWV.Classes; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.IO; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace QuazalWV 10 | { 11 | public class RMCPacketRequestStoreService_CompleteBuyItem : RMCPRequest 12 | { 13 | public uint TransactionId { get; set; } 14 | 15 | public RMCPacketRequestStoreService_CompleteBuyItem(Stream s) 16 | { 17 | TransactionId = Helper.ReadU32(s); 18 | } 19 | 20 | public override byte[] ToBuffer() 21 | { 22 | MemoryStream m = new MemoryStream(); 23 | Helper.WriteU32(m, TransactionId); 24 | return m.ToArray(); 25 | } 26 | 27 | public override string ToString() 28 | { 29 | return "[CompleteBuyItem Request]"; 30 | } 31 | 32 | public override string PayloadToString() 33 | { 34 | StringBuilder sb = new StringBuilder(); 35 | sb.AppendLine($"\t[Transaction ID: {TransactionId}]"); 36 | return sb.ToString(); 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /QuazalWV/RMC/StoreService/Response/RMCPacketResponseStoreService_CompleteBuyItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseStoreService_CompleteBuyItem : RMCPResponse 11 | { 12 | public List Inventory { get; set; } 13 | 14 | public RMCPacketResponseStoreService_CompleteBuyItem() 15 | { 16 | Inventory = new List(); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)Inventory.Count); 23 | foreach(GR5_UserItem item in Inventory) 24 | item.toBuffer(m); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[CompleteBuyItem Response]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/StoreService/Response/RMCPacketResponseStoreService_GetSKUs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseStoreService_GetSKUs : RMCPResponse 11 | { 12 | public List skus = new List(); 13 | 14 | public RMCPacketResponseStoreService_GetSKUs() 15 | { 16 | skus = DBHelper.GetSKUs(); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)skus.Count); 23 | foreach (GR5_SKU s in skus) 24 | s.toBuffer(m); 25 | return m.ToArray(); ; 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseStoreService_GetSKUs]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/SurveyService/Response/RMCPacketResponseSurveyService_GetSurveys.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseSurveyService_GetSurveys : RMCPResponse 11 | { 12 | public List _outSurveys = new List(); 13 | 14 | public RMCPacketResponseSurveyService_GetSurveys() 15 | { 16 | _outSurveys.Add(new GR5_Survey()); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)_outSurveys.Count); 23 | foreach (GR5_Survey s in _outSurveys) 24 | s.toBuffer(m); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseSurveyService_GetSurveys]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/SurveyService/SurveyService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class SurveyService 11 | { 12 | public static void HandleSurveyServiceRequest(QPacket p, RMCP rmc, ClientInfo client) 13 | { 14 | RMCPResponse reply; 15 | switch (rmc.methodID) 16 | { 17 | case 1: 18 | reply = new RMCPacketResponseSurveyService_GetSurveys(); 19 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 20 | break; 21 | default: 22 | Log.WriteLine(1, "[RMC SurveyService] Error: Unknown Method 0x" + rmc.methodID.ToString("X")); 23 | break; 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QuazalWV/RMC/TelemetryService/Response/RMCPacketResponseTelemetry_TrackGameSession.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseTelemetry_TrackGameSession : RMCPResponse 11 | { 12 | public uint unk1; 13 | public List unk2 = new List(); 14 | public override byte[] ToBuffer() 15 | { 16 | MemoryStream m = new MemoryStream(); 17 | Helper.WriteU32(m, unk1); 18 | Helper.WriteStringList(m, unk2); 19 | return m.ToArray(); 20 | } 21 | 22 | public override string ToString() 23 | { 24 | return "[RMCPacketResponseTelemetry_TrackGameSession]"; 25 | } 26 | 27 | public override string PayloadToString() 28 | { 29 | return ""; 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /QuazalWV/RMC/UnlockService/Response/RMCPacketResponseUnlockService_GetUnlocks.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Collections.Generic; 3 | using QuazalWV.DB; 4 | 5 | namespace QuazalWV 6 | { 7 | public class RMCPacketResponseUnlockService_GetUnlocks : RMCPResponse 8 | { 9 | List Unlocks { get; set; } 10 | 11 | public RMCPacketResponseUnlockService_GetUnlocks() 12 | { 13 | Unlocks = UnlockModel.GetUnlocks(); 14 | } 15 | 16 | public override byte[] ToBuffer() 17 | { 18 | MemoryStream m = new MemoryStream(); 19 | Helper.WriteU32(m, (uint)Unlocks.Count); 20 | foreach (GR5_Unlock u in Unlocks) 21 | u.toBuffer(m); 22 | return m.ToArray(); 23 | } 24 | 25 | public override string ToString() 26 | { 27 | return "[GetUnlocks Response]"; 28 | } 29 | 30 | public override string PayloadToString() 31 | { 32 | return ""; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /QuazalWV/RMC/UnlockService/Response/RMCPacketResponseUnlockService_GetUserUnlock.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseUnlockService_GetUserUnlock : RMCPResponse 11 | { 12 | public List userUnlocks = new List(); 13 | 14 | public RMCPacketResponseUnlockService_GetUserUnlock() 15 | { 16 | userUnlocks.Add(0); 17 | } 18 | 19 | public override byte[] ToBuffer() 20 | { 21 | MemoryStream m = new MemoryStream(); 22 | Helper.WriteU32(m, (uint)userUnlocks.Count); 23 | foreach (uint u in userUnlocks) 24 | Helper.WriteU32(m, u); 25 | return m.ToArray(); 26 | } 27 | 28 | public override string ToString() 29 | { 30 | return "[RMCPacketResponseUnlockService_GetUserUnlock]"; 31 | } 32 | 33 | public override string PayloadToString() 34 | { 35 | return ""; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /QuazalWV/RMC/UnlockService/Response/RMCPacketResponseUnlockService_Unlock.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public class RMCPacketResponseUnlockService_Unlock : RMCPResponse 11 | { 12 | public List results = new List(); 13 | 14 | public override byte[] ToBuffer() 15 | { 16 | MemoryStream mem = new MemoryStream(); 17 | Helper.WriteU32(mem, (uint)results.Count); 18 | foreach (GR5_UserUnlockResult result in results) 19 | result.ToBuffer(mem); 20 | return mem.ToArray(); 21 | } 22 | 23 | public override string ToString() 24 | { 25 | return "[RMCPacketResponseUnlockService_Unlock]"; 26 | } 27 | 28 | public override string PayloadToString() 29 | { 30 | return ""; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /QuazalWV/RMC/WeaponService/WeaponService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace QuazalWV 9 | { 10 | public static class WeaponService 11 | { 12 | public static void HandleWeaponServiceRequest(QPacket p, RMCP rmc, ClientInfo client) 13 | { 14 | RMCPResponse reply; 15 | switch (rmc.methodID) 16 | { 17 | case 3: 18 | reply = new RMCPacketResponseWeaponService_GetTemplateWeaponMaps(); 19 | RMC.SendResponseWithACK(client.udp, p, rmc, client, reply); 20 | break; 21 | default: 22 | Log.WriteLine(1, "[RMC WeaponService] Error: Unknown Method 0x" + rmc.methodID.ToString("X")); 23 | break; 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /QuazalWV/bin/x86/Release/DotNetZip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/QuazalWV/bin/x86/Release/DotNetZip.dll -------------------------------------------------------------------------------- /QuazalWV/bin/x86/Release/QuazalWV.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/QuazalWV/bin/x86/Release/QuazalWV.dll -------------------------------------------------------------------------------- /QuazalWV/bin/x86/Release/System.Data.SQLite.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/QuazalWV/bin/x86/Release/System.Data.SQLite.dll -------------------------------------------------------------------------------- /QuazalWV/dll/DotNetZip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/QuazalWV/dll/DotNetZip.dll -------------------------------------------------------------------------------- /QuazalWV/dll/DotNetZip.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/QuazalWV/dll/DotNetZip.pdb -------------------------------------------------------------------------------- /QuazalWV/dll/SQLite.Interop.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/QuazalWV/dll/SQLite.Interop.dll -------------------------------------------------------------------------------- /QuazalWV/dll/System.Data.SQLite.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/QuazalWV/dll/System.Data.SQLite.dll -------------------------------------------------------------------------------- /_runme.bat: -------------------------------------------------------------------------------- 1 | cd GROBackendWV\bin\x86\Release 2 | start GROBackendWV.exe 3 | cd ..\..\..\..\GRODedicatedServerWV\bin\x86\Release 4 | start GRODedicatedServerWV.exe -------------------------------------------------------------------------------- /streams.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zeroKilo/GROBackendWV/1f52019a8b932f549aa4d562e489fc751005a50d/streams.exe --------------------------------------------------------------------------------