├── .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
--------------------------------------------------------------------------------