├── ClientData ├── 11305036 │ └── assets │ │ └── appearances-1e5970cf0527e9cb15207c786e5ba7df9198f82ebb76953a936ce70576a12905.dat ├── 11315138 │ └── assets │ │ └── appearances-12142587d367bd80973d64f48858a1a5904106edacfb842cb6ee33625eee7ea8.dat ├── 11325206 │ └── assets │ │ └── appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat ├── 11325229 │ └── assets │ │ └── appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat ├── 11325246 │ └── assets │ │ └── appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat ├── 11325287 │ └── assets │ │ └── appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat ├── 11355388 │ └── assets │ │ └── appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat ├── 11405409 │ └── assets │ │ └── appearances-5423528d75e55721c17e5bcd23886acce1db6fc5748a914a3776a6ec67640351.dat ├── 11475674 │ └── assets │ │ └── appearances-b74d3e06cd4fba8674f00353568572c32d7f42f0bf71bc1ca9ab026d93ca6aff.dat ├── 11495983 │ └── assets │ │ └── appearances-fd92da5f5b416f6855ceab5b7be67650e50160dd91763a76467a07f682adfca3.dat ├── 11496030 │ └── assets │ │ └── appearances-503a3bc70a8fb1b3f3340b328d475e3049f7a7937066f1306d43211c1755e8cd.dat ├── 11566239 │ └── assets │ │ └── appearances-acb5f292ebc80aaacbf2ebb99fbcf7224797fa2a2e880e9374823eda773a83c7.dat ├── 11586239 │ └── assets │ │ └── appearances-4a7f8bd1119bac33039e672649fd7b412163b976df9e941edc2f98a8c4c9df6c.dat ├── 11596424 │ └── assets │ │ └── appearances-4f64dd1970f24c4ab044f86eeae4bad992f9b5eef1788c6a3ea334d97f715940.dat ├── 11606457 │ └── assets │ │ └── appearances-8f7ac0506262bcb328c88661ff308faf0b01f626ceec843bb877d591af281889.dat ├── 11887288 │ └── assets │ │ └── appearances-2ade323934de01ef9b3dde293248be797f9e2c300cb6f09772991a900cea8825.dat ├── 11917423 │ └── assets │ │ └── appearances-e7b93b1fd450a05c7be04deac5e5c6289daf557cf3e835f2e372360806f102a0.dat ├── 11947595 │ └── assets │ │ └── appearances-08d38d3e41ff09cabe6da3d400ca33e4b462f2d57c69d64bc7992a9ffb887adf.dat ├── 12027746 │ └── assets │ │ └── appearances-c1403ec138ce216911b88024b68461207c7ecdbaa37bee02c68cf9bce0ba0fb5.dat ├── 12037799 │ └── assets │ │ └── appearances-329258012e9d9eb68b2dc5122092534764b050785896e76f0ef99338c80a0d37.dat ├── 12037844 │ └── assets │ │ └── appearances-887c984aaa6a7e5d36322ce771afa81a74aec4cc269e057d4d59b5e20a89855e.dat ├── 12057904 │ └── assets │ │ └── appearances-8b602d41688d1141794276394dc6046446791dd03660e04fbc8e11d0be05f7ec.dat ├── 12067958 │ └── assets │ │ └── appearances-a0a6454241670c37628f93d7931b34984c5c036fca3d3476f3b68f9923de1a06.dat ├── 12077973 │ └── assets │ │ └── appearances-d8ffc357368e8fef729d03f758fc488d7c1b4327613883d998e4087ff2fec23c.dat ├── 12087995 │ └── assets │ │ └── appearances-11401f4bcc6bf0a309bb902f44d74644b3f4c1bd9245b8d2190128d7e73b6072.dat └── 12088034 │ └── assets │ └── appearances-11401f4bcc6bf0a309bb902f44d74644b3f4c1bd9245b8d2190128d7e73b6072.dat ├── Apps ├── Watch │ └── Watch.csproj ├── Record │ └── Record.csproj ├── Redact │ └── Redact.csproj └── Extract │ └── Extract.csproj ├── TibiaAPI ├── Market │ └── OfferId.cs ├── Store │ ├── Banner.cs │ └── OfferDetails.cs ├── Appearances │ ├── AppearanceInstance.cs │ ├── ObjectInstance.cs │ └── OutfitInstance.cs ├── Imbuing │ ├── AstralSource.cs │ ├── ExistingImbuement.cs │ └── ImbuementData.cs ├── Network │ ├── ClientPackets │ │ ├── Ping.cs │ │ ├── Stop.cs │ │ ├── Cancel.cs │ │ ├── GoEast.cs │ │ ├── GoWest.cs │ │ ├── GoNorth.cs │ │ ├── GoSouth.cs │ │ ├── PingBack.cs │ │ ├── QuitGame.cs │ │ ├── EnterWorld.cs │ │ ├── LeaveParty.cs │ │ ├── RotateEast.cs │ │ ├── RotateWest.cs │ │ ├── AcceptTrade.cs │ │ ├── GetChannels.cs │ │ ├── GetQuestLog.cs │ │ ├── GoNorthEast.cs │ │ ├── GoNorthWest.cs │ │ ├── GoSouthEast.cs │ │ ├── GoSouthWest.cs │ │ ├── MarketLeave.cs │ │ ├── OpenChannel.cs │ │ ├── RejectTrade.cs │ │ ├── RotateNorth.cs │ │ ├── RotateSouth.cs │ │ ├── DisbandParty.cs │ │ ├── GuildMessage.cs │ │ ├── CloseNpcTrade.cs │ │ ├── OpenIngameShop.cs │ │ ├── OpenRewardWall.cs │ │ ├── SecondaryLogin.cs │ │ ├── BlessingsDialog.cs │ │ ├── CloseNpcChannel.cs │ │ ├── OpenDepotSearch.cs │ │ ├── CloseDepotSearch.cs │ │ ├── MarketStatistics.cs │ │ ├── ConnectionPingBack.cs │ │ ├── DailyRewardHistory.cs │ │ ├── UpdateExivaOptions.cs │ │ ├── ClosedImbuingDialog.cs │ │ ├── CyclopediaMapAction.cs │ │ ├── OpenMonsterCyclopedia.cs │ │ ├── TournamentInformation.cs │ │ ├── SetHirelingName.cs │ │ ├── PartyHuntAnalyser.cs │ │ ├── SubscribeToUpdates.cs │ │ ├── ClaimTournamentReward.cs │ │ ├── Greet.cs │ │ ├── Mount.cs │ │ ├── JoinParty.cs │ │ ├── AddBuddy.cs │ │ ├── ThankYou.cs │ │ ├── RemoveBuddy.cs │ │ ├── JoinChannel.cs │ │ ├── InviteToParty.cs │ │ ├── LeaveChannel.cs │ │ ├── MarketBrowse.cs │ │ ├── UpContainer.cs │ │ ├── DepotSearchType.cs │ │ ├── GetQuestLine.cs │ │ ├── JoinAggression.cs │ │ ├── PassLeadership.cs │ │ ├── ApplyClearingCharm.cs │ │ ├── LookAtCreature.cs │ │ ├── CloseContainer.cs │ │ ├── PrivateChannel.cs │ │ ├── RevokeInvitation.cs │ │ ├── EditGuildMessage.cs │ │ ├── Teleport.cs │ │ ├── GetTransactionDetails.cs │ │ ├── GetOfferDescription.cs │ │ ├── BrowseField.cs │ │ ├── OpenMonsterCyclopediaRace.cs │ │ ├── ShareExperience.cs │ │ ├── OpenTransactionHistory.cs │ │ ├── OpenParentContainer.cs │ │ ├── RequestResourceBalance.cs │ │ ├── LookTrade.cs │ │ ├── EditText.cs │ │ ├── EquipObject.cs │ │ ├── TournamentLeaderboard.cs │ │ ├── LookNpcTrade.cs │ │ ├── MarketCancel.cs │ │ ├── SeekInContainer.cs │ │ ├── DepotSearchRetrieve.cs │ │ ├── MarkGameNewsAsRead.cs │ │ ├── TransferCurrency.cs │ │ ├── InviteToChannel.cs │ │ ├── Attack.cs │ │ ├── Follow.cs │ │ ├── ExcludeFromChannel.cs │ │ ├── PreyHuntingTaskAction.cs │ │ ├── TrackBestiaryRace.cs │ │ ├── GetTransactionHistory.cs │ │ ├── CyclopediaHouseAction.cs │ │ ├── TeamFinderJoinTeam.cs │ │ ├── EditList.cs │ │ ├── MarketAccept.cs │ │ ├── AnswerModalDialog.cs │ │ ├── Highscores.cs │ │ ├── Look.cs │ │ ├── QuickLoot.cs │ │ ├── ApplyImbuement.cs │ │ ├── StoreEvent.cs │ │ ├── TurnObject.cs │ │ ├── ToggleWrapState.cs │ │ ├── InspectPlayer.cs │ │ ├── SellObject.cs │ │ ├── SetTactics.cs │ │ ├── ClientCheck.cs │ │ ├── BuddyGroup.cs │ │ ├── TrackQuestFlags.cs │ │ ├── TournamentTicketAction.cs │ │ ├── GoPath.cs │ │ ├── UseObject.cs │ │ ├── FeatureEvent.cs │ │ └── MonsterBonusEffectAction.cs │ ├── ServerPackets │ │ ├── Ping.cs │ │ ├── PingBack.cs │ │ ├── CloseTrade.cs │ │ ├── MarketLeave.cs │ │ ├── CloseNpcTrade.cs │ │ ├── CloseRewardWall.cs │ │ ├── CloseDepotSearch.cs │ │ ├── CloseImbuingDialog.cs │ │ ├── SessionDumpStart.cs │ │ ├── HirelingNameChange.cs │ │ ├── Wait.cs │ │ ├── PendingStateEntered.cs │ │ ├── LoginError.cs │ │ ├── ItemWasted.cs │ │ ├── LoginAdvice.cs │ │ ├── MultiUseDelay.cs │ │ ├── TutorialHint.cs │ │ ├── ClearTarget.cs │ │ ├── DeleteInventory.cs │ │ ├── CloseChannel.cs │ │ ├── SnapBack.cs │ │ ├── SwitchPreset.cs │ │ ├── EditGuildMessage.cs │ │ ├── CloseContainer.cs │ │ ├── PrivateChannel.cs │ │ ├── CyclopediaHouseActionResult.cs │ │ ├── ExivaSuppressed.cs │ │ ├── PvpSituations.cs │ │ ├── UpdatingShopBalance.cs │ │ ├── PlayerDataTournament.cs │ │ ├── ScreenshotEvent.cs │ │ ├── ReadyForSecondaryConnection.cs │ │ ├── DailyRewardCollectionState.cs │ │ ├── TibiaTime.cs │ │ ├── LoginWait.cs │ │ ├── SpellDelay.cs │ │ ├── Ambiente.cs │ │ ├── Blessings.cs │ │ ├── CreatureData.cs │ │ ├── IngameShopError.cs │ │ ├── CreatureSkull.cs │ │ ├── ImpactTracking.cs │ │ ├── SpellGroupDelay.cs │ │ ├── ShowGameNews.cs │ │ ├── ShowMessageDialog.cs │ │ ├── CreatureParty.cs │ │ ├── PreyTimeLeft.cs │ │ ├── CreatureHealth.cs │ │ ├── CreatureUnpass.cs │ │ ├── OfferDescription.cs │ │ ├── SetInventory.cs │ │ ├── WorldEntered.cs │ │ ├── CreaturePvpHelpers.cs │ │ ├── BuddyStatusChange.cs │ │ ├── InspectionState.cs │ │ ├── ItemLooted.cs │ │ ├── RemoveGraphicalEffect.cs │ │ ├── LoginChallenge.cs │ │ ├── TopRow.cs │ │ ├── StoreButtonIndicators.cs │ │ ├── LeftColumn.cs │ │ ├── EditList.cs │ │ ├── SpecialContainersAvailable.cs │ │ ├── CreatureMarks.cs │ │ ├── CreatureSpeed.cs │ │ ├── ChannelEvent.cs │ │ ├── CreatureLight.cs │ │ ├── PreyFreeListRerollAvailability.cs │ │ ├── BottomRow.cs │ │ ├── RightColumn.cs │ │ ├── FieldData.cs │ │ ├── RestingAreaState.cs │ │ ├── AutomapFlag.cs │ │ ├── MissileEffect.cs │ │ ├── ChangeInContainer.cs │ │ ├── CreateInContainer.cs │ │ ├── DeleteInContainer.cs │ │ ├── FullMap.cs │ │ ├── DepotTileState.cs │ │ ├── PlayerState.cs │ │ ├── SetTactics.cs │ │ ├── MonsterCyclopediaNewDetails.cs │ │ ├── ClientCheck.cs │ │ ├── CyclopediaStaticHouseData.cs │ │ ├── Trappers.cs │ │ └── SetStoreButtonDeeplink.cs │ └── Packet.cs ├── DailyRewards │ └── DailyReward.cs ├── Utilities │ └── Position.cs └── TibiaAPI.csproj └── .github ├── workflows └── dotnet-core.yml └── FUNDING.yml /ClientData/11305036/assets/appearances-1e5970cf0527e9cb15207c786e5ba7df9198f82ebb76953a936ce70576a12905.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11305036/assets/appearances-1e5970cf0527e9cb15207c786e5ba7df9198f82ebb76953a936ce70576a12905.dat -------------------------------------------------------------------------------- /ClientData/11315138/assets/appearances-12142587d367bd80973d64f48858a1a5904106edacfb842cb6ee33625eee7ea8.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11315138/assets/appearances-12142587d367bd80973d64f48858a1a5904106edacfb842cb6ee33625eee7ea8.dat -------------------------------------------------------------------------------- /ClientData/11325206/assets/appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11325206/assets/appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat -------------------------------------------------------------------------------- /ClientData/11325229/assets/appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11325229/assets/appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat -------------------------------------------------------------------------------- /ClientData/11325246/assets/appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11325246/assets/appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat -------------------------------------------------------------------------------- /ClientData/11325287/assets/appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11325287/assets/appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat -------------------------------------------------------------------------------- /ClientData/11355388/assets/appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11355388/assets/appearances-78056cd6e620b4bc89628c45e4802307a920c2996ee9f5937af6e7bcc0ad6690.dat -------------------------------------------------------------------------------- /ClientData/11405409/assets/appearances-5423528d75e55721c17e5bcd23886acce1db6fc5748a914a3776a6ec67640351.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11405409/assets/appearances-5423528d75e55721c17e5bcd23886acce1db6fc5748a914a3776a6ec67640351.dat -------------------------------------------------------------------------------- /ClientData/11475674/assets/appearances-b74d3e06cd4fba8674f00353568572c32d7f42f0bf71bc1ca9ab026d93ca6aff.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11475674/assets/appearances-b74d3e06cd4fba8674f00353568572c32d7f42f0bf71bc1ca9ab026d93ca6aff.dat -------------------------------------------------------------------------------- /ClientData/11495983/assets/appearances-fd92da5f5b416f6855ceab5b7be67650e50160dd91763a76467a07f682adfca3.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11495983/assets/appearances-fd92da5f5b416f6855ceab5b7be67650e50160dd91763a76467a07f682adfca3.dat -------------------------------------------------------------------------------- /ClientData/11496030/assets/appearances-503a3bc70a8fb1b3f3340b328d475e3049f7a7937066f1306d43211c1755e8cd.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11496030/assets/appearances-503a3bc70a8fb1b3f3340b328d475e3049f7a7937066f1306d43211c1755e8cd.dat -------------------------------------------------------------------------------- /ClientData/11566239/assets/appearances-acb5f292ebc80aaacbf2ebb99fbcf7224797fa2a2e880e9374823eda773a83c7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11566239/assets/appearances-acb5f292ebc80aaacbf2ebb99fbcf7224797fa2a2e880e9374823eda773a83c7.dat -------------------------------------------------------------------------------- /ClientData/11586239/assets/appearances-4a7f8bd1119bac33039e672649fd7b412163b976df9e941edc2f98a8c4c9df6c.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11586239/assets/appearances-4a7f8bd1119bac33039e672649fd7b412163b976df9e941edc2f98a8c4c9df6c.dat -------------------------------------------------------------------------------- /ClientData/11596424/assets/appearances-4f64dd1970f24c4ab044f86eeae4bad992f9b5eef1788c6a3ea334d97f715940.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11596424/assets/appearances-4f64dd1970f24c4ab044f86eeae4bad992f9b5eef1788c6a3ea334d97f715940.dat -------------------------------------------------------------------------------- /ClientData/11606457/assets/appearances-8f7ac0506262bcb328c88661ff308faf0b01f626ceec843bb877d591af281889.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11606457/assets/appearances-8f7ac0506262bcb328c88661ff308faf0b01f626ceec843bb877d591af281889.dat -------------------------------------------------------------------------------- /ClientData/11887288/assets/appearances-2ade323934de01ef9b3dde293248be797f9e2c300cb6f09772991a900cea8825.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11887288/assets/appearances-2ade323934de01ef9b3dde293248be797f9e2c300cb6f09772991a900cea8825.dat -------------------------------------------------------------------------------- /ClientData/11917423/assets/appearances-e7b93b1fd450a05c7be04deac5e5c6289daf557cf3e835f2e372360806f102a0.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11917423/assets/appearances-e7b93b1fd450a05c7be04deac5e5c6289daf557cf3e835f2e372360806f102a0.dat -------------------------------------------------------------------------------- /ClientData/11947595/assets/appearances-08d38d3e41ff09cabe6da3d400ca33e4b462f2d57c69d64bc7992a9ffb887adf.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/11947595/assets/appearances-08d38d3e41ff09cabe6da3d400ca33e4b462f2d57c69d64bc7992a9ffb887adf.dat -------------------------------------------------------------------------------- /ClientData/12027746/assets/appearances-c1403ec138ce216911b88024b68461207c7ecdbaa37bee02c68cf9bce0ba0fb5.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/12027746/assets/appearances-c1403ec138ce216911b88024b68461207c7ecdbaa37bee02c68cf9bce0ba0fb5.dat -------------------------------------------------------------------------------- /ClientData/12037799/assets/appearances-329258012e9d9eb68b2dc5122092534764b050785896e76f0ef99338c80a0d37.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/12037799/assets/appearances-329258012e9d9eb68b2dc5122092534764b050785896e76f0ef99338c80a0d37.dat -------------------------------------------------------------------------------- /ClientData/12037844/assets/appearances-887c984aaa6a7e5d36322ce771afa81a74aec4cc269e057d4d59b5e20a89855e.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/12037844/assets/appearances-887c984aaa6a7e5d36322ce771afa81a74aec4cc269e057d4d59b5e20a89855e.dat -------------------------------------------------------------------------------- /ClientData/12057904/assets/appearances-8b602d41688d1141794276394dc6046446791dd03660e04fbc8e11d0be05f7ec.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/12057904/assets/appearances-8b602d41688d1141794276394dc6046446791dd03660e04fbc8e11d0be05f7ec.dat -------------------------------------------------------------------------------- /ClientData/12067958/assets/appearances-a0a6454241670c37628f93d7931b34984c5c036fca3d3476f3b68f9923de1a06.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/12067958/assets/appearances-a0a6454241670c37628f93d7931b34984c5c036fca3d3476f3b68f9923de1a06.dat -------------------------------------------------------------------------------- /ClientData/12077973/assets/appearances-d8ffc357368e8fef729d03f758fc488d7c1b4327613883d998e4087ff2fec23c.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/12077973/assets/appearances-d8ffc357368e8fef729d03f758fc488d7c1b4327613883d998e4087ff2fec23c.dat -------------------------------------------------------------------------------- /ClientData/12087995/assets/appearances-11401f4bcc6bf0a309bb902f44d74644b3f4c1bd9245b8d2190128d7e73b6072.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/12087995/assets/appearances-11401f4bcc6bf0a309bb902f44d74644b3f4c1bd9245b8d2190128d7e73b6072.dat -------------------------------------------------------------------------------- /ClientData/12088034/assets/appearances-11401f4bcc6bf0a309bb902f44d74644b3f4c1bd9245b8d2190128d7e73b6072.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jo3bingham/TibiaAPI/HEAD/ClientData/12088034/assets/appearances-11401f4bcc6bf0a309bb902f44d74644b3f4c1bd9245b8d2190128d7e73b6072.dat -------------------------------------------------------------------------------- /Apps/Watch/Watch.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp3.1 6 | 0.1.3 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /TibiaAPI/Market/OfferId.cs: -------------------------------------------------------------------------------- 1 | namespace OXGaming.TibiaAPI.Market 2 | { 3 | public class OfferId 4 | { 5 | public uint Counter { get; } 6 | public uint Timestamp { get; } 7 | 8 | public OfferId(uint timestamp, uint counter) 9 | { 10 | Timestamp = timestamp; 11 | Counter = counter; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Apps/Record/Record.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp3.1 6 | 0.1.3 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Apps/Redact/Redact.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp3.1 6 | 0.1.3 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /TibiaAPI/Store/Banner.cs: -------------------------------------------------------------------------------- 1 | namespace OXGaming.TibiaAPI.Store 2 | { 3 | public class Banner 4 | { 5 | public string Category { get; set; } 6 | public string Collection { get; set; } 7 | public string Image { get; set; } 8 | 9 | public uint OfferId { get; set; } 10 | 11 | public ushort Unknown { get; set; } 12 | 13 | public byte Type { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /TibiaAPI/Appearances/AppearanceInstance.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Utilities; 2 | 3 | namespace OXGaming.TibiaAPI.Appearances 4 | { 5 | public class AppearanceInstance 6 | { 7 | public Appearance Type { get; } 8 | 9 | public uint Id { get; } 10 | 11 | public byte Mark { get; set; } 12 | public byte Phase { get; set; } 13 | 14 | public AppearanceInstance(uint id, Appearance type) 15 | { 16 | Id = id; 17 | Type = type; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /TibiaAPI/Imbuing/AstralSource.cs: -------------------------------------------------------------------------------- 1 | namespace OXGaming.TibiaAPI.Imbuing 2 | { 3 | public class AstralSource 4 | { 5 | public string Name { get; } 6 | 7 | public ushort AppearanceTypeId { get; } 8 | public ushort ObjectCount { get; } 9 | 10 | public AstralSource(ushort appearanceTypeId, ushort objectCount, string name = "") 11 | { 12 | AppearanceTypeId = appearanceTypeId; 13 | ObjectCount = objectCount; 14 | Name = name; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/Ping.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class Ping : ClientPacket 6 | { 7 | public Ping(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.Ping; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.Ping); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/Stop.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class Stop : ClientPacket 6 | { 7 | public Stop(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.Stop; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.Stop); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/Ping.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class Ping : ServerPacket 6 | { 7 | public Ping(Client client) 8 | { 9 | Client = client; 10 | PacketType = ServerPacketType.Ping; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ServerPacketType.Ping); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Appearances/ObjectInstance.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Utilities; 2 | 3 | namespace OXGaming.TibiaAPI.Appearances 4 | { 5 | public class ObjectInstance : AppearanceInstance 6 | { 7 | public uint Data { get; set; } 8 | public uint LootCategoryFlags { get; set; } 9 | 10 | public bool IsLootContainer { get; set; } = false; 11 | 12 | public ObjectInstance(uint id, Appearance type, uint data = 0) : base(id, type) 13 | { 14 | Data = data; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /TibiaAPI/Network/Packet.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OXGaming.TibiaAPI.Network 4 | { 5 | public class Packet 6 | { 7 | public Client Client { get; set; } 8 | 9 | public bool Forward { get; set; } = true; 10 | 11 | public virtual void ParseFromNetworkMessage(NetworkMessage message) 12 | { 13 | } 14 | 15 | public virtual void AppendToNetworkMessage(NetworkMessage message) 16 | { 17 | throw new NotImplementedException(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/Cancel.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class Cancel : ClientPacket 6 | { 7 | public Cancel(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.Cancel; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.Cancel); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GoEast.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GoEast : ClientPacket 6 | { 7 | public GoEast(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.GoEast; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.GoEast); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GoWest.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GoWest : ClientPacket 6 | { 7 | public GoWest(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.GoWest; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.GoWest); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GoNorth.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GoNorth : ClientPacket 6 | { 7 | public GoNorth(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.GoNorth; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.GoNorth); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GoSouth.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GoSouth : ClientPacket 6 | { 7 | public GoSouth(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.GoSouth; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.GoSouth); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/PingBack.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class PingBack : ClientPacket 6 | { 7 | public PingBack(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.PingBack; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.PingBack); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/QuitGame.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class QuitGame : ClientPacket 6 | { 7 | public QuitGame(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.QuitGame; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.QuitGame); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/PingBack.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class PingBack : ServerPacket 6 | { 7 | public PingBack(Client client) 8 | { 9 | Client = client; 10 | PacketType = ServerPacketType.PingBack; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ServerPacketType.PingBack); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/EnterWorld.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class EnterWorld : ClientPacket 6 | { 7 | public EnterWorld(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.EnterWorld; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.EnterWorld); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/LeaveParty.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class LeaveParty : ClientPacket 6 | { 7 | public LeaveParty(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.LeaveParty; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.LeaveParty); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/RotateEast.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class RotateEast : ClientPacket 6 | { 7 | public RotateEast(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.RotateEast; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.RotateEast); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/RotateWest.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class RotateWest : ClientPacket 6 | { 7 | public RotateWest(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.RotateWest; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.RotateWest); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CloseTrade.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CloseTrade : ServerPacket 6 | { 7 | public CloseTrade(Client client) 8 | { 9 | Client = client; 10 | PacketType = ServerPacketType.CloseTrade; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ServerPacketType.CloseTrade); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/AcceptTrade.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class AcceptTrade : ClientPacket 6 | { 7 | public AcceptTrade(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.AcceptTrade; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.AcceptTrade); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GetChannels.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GetChannels : ClientPacket 6 | { 7 | public GetChannels(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.GetChannels; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.GetChannels); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GetQuestLog.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GetQuestLog : ClientPacket 6 | { 7 | public GetQuestLog(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.GetQuestLog; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.GetQuestLog); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GoNorthEast.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GoNorthEast : ClientPacket 6 | { 7 | public GoNorthEast(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.GoNorthEast; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.GoNorthEast); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GoNorthWest.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GoNorthWest : ClientPacket 6 | { 7 | public GoNorthWest(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.GoNorthWest; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.GoNorthWest); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GoSouthEast.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GoSouthEast : ClientPacket 6 | { 7 | public GoSouthEast(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.GoSouthEast; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.GoSouthEast); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GoSouthWest.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GoSouthWest : ClientPacket 6 | { 7 | public GoSouthWest(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.GoSouthWest; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.GoSouthWest); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/MarketLeave.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class MarketLeave : ClientPacket 6 | { 7 | public MarketLeave(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.MarketLeave; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.MarketLeave); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/OpenChannel.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class OpenChannel : ClientPacket 6 | { 7 | public OpenChannel(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.OpenChannel; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.OpenChannel); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/RejectTrade.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class RejectTrade : ClientPacket 6 | { 7 | public RejectTrade(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.RejectTrade; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.RejectTrade); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/RotateNorth.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class RotateNorth : ClientPacket 6 | { 7 | public RotateNorth(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.RotateNorth; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.RotateNorth); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/RotateSouth.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class RotateSouth : ClientPacket 6 | { 7 | public RotateSouth(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.RotateSouth; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.RotateSouth); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/MarketLeave.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class MarketLeave : ServerPacket 6 | { 7 | public MarketLeave(Client client) 8 | { 9 | Client = client; 10 | PacketType = ServerPacketType.MarketLeave; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ServerPacketType.MarketLeave); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Store/OfferDetails.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace OXGaming.TibiaAPI.Store 4 | { 5 | public class OfferDetails 6 | { 7 | public List DisabledReasons { get; } = new List(); 8 | 9 | public uint Id { get; set; } 10 | public uint Price { get; set; } 11 | 12 | public ushort Amount { get; set; } 13 | 14 | public byte HighlightState { get; set; } 15 | 16 | public bool IsConfirmedPrice { get; set; } 17 | public bool IsDisabled { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/DisbandParty.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class DisbandParty : ClientPacket 6 | { 7 | public DisbandParty(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.DisbandParty; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.DisbandParty); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GuildMessage.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GuildMessage : ClientPacket 6 | { 7 | public GuildMessage(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.GuildMessage; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.GuildMessage); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/CloseNpcTrade.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class CloseNpcTrade : ClientPacket 6 | { 7 | public CloseNpcTrade(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.CloseNpcTrade; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.CloseNpcTrade); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CloseNpcTrade.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CloseNpcTrade : ServerPacket 6 | { 7 | public CloseNpcTrade(Client client) 8 | { 9 | Client = client; 10 | PacketType = ServerPacketType.CloseNpcTrade; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ServerPacketType.CloseNpcTrade); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/OpenIngameShop.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class OpenIngameShop : ClientPacket 6 | { 7 | public OpenIngameShop(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.OpenIngameShop; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.OpenIngameShop); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/OpenRewardWall.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class OpenRewardWall : ClientPacket 6 | { 7 | public OpenRewardWall(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.OpenRewardWall; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.OpenRewardWall); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/SecondaryLogin.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class SecondaryLogin : ClientPacket 6 | { 7 | public SecondaryLogin(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.SecondaryLogin; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.SecondaryLogin); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/BlessingsDialog.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class BlessingsDialog : ClientPacket 6 | { 7 | public BlessingsDialog(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.BlessingsDialog; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.BlessingsDialog); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/CloseNpcChannel.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class CloseNpcChannel : ClientPacket 6 | { 7 | public CloseNpcChannel(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.CloseNpcChannel; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.CloseNpcChannel); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/OpenDepotSearch.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class OpenDepotSearch : ClientPacket 6 | { 7 | public OpenDepotSearch(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.OpenDepotSearch; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.OpenDepotSearch); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CloseRewardWall.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CloseRewardWall : ServerPacket 6 | { 7 | public CloseRewardWall(Client client) 8 | { 9 | Client = client; 10 | PacketType = ServerPacketType.CloseRewardWall; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ServerPacketType.CloseRewardWall); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/CloseDepotSearch.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class CloseDepotSearch : ClientPacket 6 | { 7 | public CloseDepotSearch(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.CloseDepotSearch; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.CloseDepotSearch); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/MarketStatistics.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class MarketStatistics : ClientPacket 6 | { 7 | public MarketStatistics(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.MarketStatistics; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.MarketStatistics); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CloseDepotSearch.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CloseDepotSearch : ServerPacket 6 | { 7 | public CloseDepotSearch(Client client) 8 | { 9 | Client = client; 10 | PacketType = ServerPacketType.CloseDepotSearch; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ServerPacketType.CloseDepotSearch); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/ConnectionPingBack.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class ConnectionPingBack : ClientPacket 6 | { 7 | public ConnectionPingBack(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.ConnectionPingBack; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.ConnectionPingBack); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/DailyRewardHistory.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class DailyRewardHistory : ClientPacket 6 | { 7 | public DailyRewardHistory(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.DailyRewardHistory; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.DailyRewardHistory); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/UpdateExivaOptions.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class UpdateExivaOptions : ClientPacket 6 | { 7 | public UpdateExivaOptions(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.UpdateExivaOptions; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.UpdateExivaOptions); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CloseImbuingDialog.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CloseImbuingDialog : ServerPacket 6 | { 7 | public CloseImbuingDialog(Client client) 8 | { 9 | Client = client; 10 | PacketType = ServerPacketType.CloseImbuingDialog; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ServerPacketType.CloseImbuingDialog); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/ClosedImbuingDialog.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class ClosedImbuingDialog : ClientPacket 6 | { 7 | public ClosedImbuingDialog(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.ClosedImbuingDialog; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.ClosedImbuingDialog); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/CyclopediaMapAction.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class CyclopediaMapAction : ClientPacket 6 | { 7 | public CyclopediaMapAction(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.CyclopediaMapAction; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.CyclopediaMapAction); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/OpenMonsterCyclopedia.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class OpenMonsterCyclopedia : ClientPacket 6 | { 7 | public OpenMonsterCyclopedia(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.OpenMonsterCyclopedia; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.OpenMonsterCyclopedia); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/TournamentInformation.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class TournamentInformation : ClientPacket 6 | { 7 | public TournamentInformation(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.TournamentInformation; 11 | } 12 | 13 | public override void AppendToNetworkMessage(NetworkMessage message) 14 | { 15 | message.Write((byte)ClientPacketType.TournamentInformation); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /.github/workflows/dotnet-core.yml: -------------------------------------------------------------------------------- 1 | name: .NET Core 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - uses: actions/checkout@v2 16 | - name: Setup .NET Core 17 | uses: actions/setup-dotnet@v1 18 | with: 19 | dotnet-version: 3.1.101 20 | - name: Install dependencies 21 | run: dotnet restore 22 | - name: Build 23 | run: dotnet build --configuration Release --no-restore 24 | - name: Test 25 | run: dotnet test --no-restore --verbosity normal 26 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: jo3bingham 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: paypal.me/jo3bingham 13 | -------------------------------------------------------------------------------- /TibiaAPI/DailyRewards/DailyReward.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace OXGaming.TibiaAPI.DailyRewards 4 | { 5 | public class DailyReward 6 | { 7 | public List<(ushort ItemId, string Name, uint Weight)> ChoiceRewards { get; } = 8 | new List<(ushort ItemId, string Name, uint Weight)>(); 9 | public List<(byte Type, ushort ItemId, string Name, byte Count, ushort Duration)> SetRewards { get; } = 10 | new List<(byte Type, ushort ItemId, string Name, byte Count, ushort Duration)>(); 11 | 12 | public byte TotalChoiceRewards { get; set; } 13 | public byte Type { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/SetHirelingName.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class SetHirelingName : ClientPacket 6 | { 7 | public SetHirelingName(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.SetHirelingName; 11 | } 12 | 13 | public override void ParseFromNetworkMessage(NetworkMessage message) 14 | { 15 | // TODO 16 | } 17 | 18 | public override void AppendToNetworkMessage(NetworkMessage message) 19 | { 20 | message.Write((byte)ClientPacketType.SetHirelingName); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Apps/Extract/Extract.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp3.1 6 | 0.1.3 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /TibiaAPI/Imbuing/ExistingImbuement.cs: -------------------------------------------------------------------------------- 1 | namespace OXGaming.TibiaAPI.Imbuing 2 | { 3 | public class ExistingImbuement 4 | { 5 | public ImbuementData ImbuementData { get; set; } 6 | 7 | public uint ClearingGoldCost { get; set; } 8 | public uint RemainingDurationInSeconds { get; set; } 9 | 10 | public ExistingImbuement(ImbuementData imbuementData = null, 11 | uint remainingDurationInSeconds = 0, 12 | uint clearingGoldCost = 0) 13 | { 14 | ImbuementData = imbuementData; 15 | RemainingDurationInSeconds = remainingDurationInSeconds; 16 | ClearingGoldCost = clearingGoldCost; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/SessionDumpStart.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class SessionDumpStart : ServerPacket 6 | { 7 | public SessionDumpStart(Client client) 8 | { 9 | Client = client; 10 | PacketType = ServerPacketType.SessionDumpStart; 11 | } 12 | 13 | public override void ParseFromNetworkMessage(NetworkMessage message) 14 | { 15 | // TODO 16 | } 17 | 18 | public override void AppendToNetworkMessage(NetworkMessage message) 19 | { 20 | // TODO 21 | // message.Write((byte)ServerPacketType.SessionDumpStart); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/PartyHuntAnalyser.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class PartyHuntAnalyser : ClientPacket 6 | { 7 | public PartyHuntAnalyser(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.PartyHuntAnalyser; 11 | } 12 | 13 | public override void ParseFromNetworkMessage(NetworkMessage message) 14 | { 15 | // TODO 16 | } 17 | 18 | public override void AppendToNetworkMessage(NetworkMessage message) 19 | { 20 | // TODO 21 | // message.Write((byte)ClientPacketType.PartyHuntAnalyser); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/SubscribeToUpdates.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class SubscribeToUpdates : ClientPacket 6 | { 7 | public SubscribeToUpdates(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.SubscribeToUpdates; 11 | } 12 | 13 | public override void ParseFromNetworkMessage(NetworkMessage message) 14 | { 15 | // TODO 16 | } 17 | 18 | public override void AppendToNetworkMessage(NetworkMessage message) 19 | { 20 | // TODO 21 | // message.Write((byte)ClientPacketType.SubscribeToUpdates); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/HirelingNameChange.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class HirelingNameChange : ServerPacket 6 | { 7 | public HirelingNameChange(Client client) 8 | { 9 | Client = client; 10 | PacketType = ServerPacketType.HirelingNameChange; 11 | } 12 | 13 | public override void ParseFromNetworkMessage(NetworkMessage message) 14 | { 15 | // TODO 16 | } 17 | 18 | public override void AppendToNetworkMessage(NetworkMessage message) 19 | { 20 | // TODO 21 | // message.Write((byte)ServerPacketType.HirelingNameChange); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/ClaimTournamentReward.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class ClaimTournamentReward : ClientPacket 6 | { 7 | public ClaimTournamentReward(Client client) 8 | { 9 | Client = client; 10 | PacketType = ClientPacketType.ClaimTournamentReward; 11 | } 12 | 13 | public override void ParseFromNetworkMessage(NetworkMessage message) 14 | { 15 | // TODO 16 | } 17 | 18 | public override void AppendToNetworkMessage(NetworkMessage message) 19 | { 20 | // TODO 21 | // message.Write((byte)ClientPacketType.ClaimTournamentReward); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/Greet.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class Greet : ClientPacket 6 | { 7 | public uint NpcId { get; set; } 8 | 9 | public Greet(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.Greet; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | NpcId = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.Greet); 23 | message.Write(NpcId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/Wait.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class Wait : ServerPacket 6 | { 7 | public ushort Delay { get; set; } 8 | 9 | public Wait(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.Wait; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | Delay = message.ReadUInt16(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.Wait); 23 | message.Write(Delay); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/PendingStateEntered.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class PendingStateEntered : ServerPacket 6 | { 7 | public PendingStateEntered(Client client) 8 | { 9 | Client = client; 10 | PacketType = ServerPacketType.PendingStateEntered; 11 | } 12 | 13 | public override void ParseFromNetworkMessage(NetworkMessage message) 14 | { 15 | Client.Connection.ConnectionState = ConnectionState.Pending; 16 | } 17 | 18 | public override void AppendToNetworkMessage(NetworkMessage message) 19 | { 20 | message.Write((byte)ServerPacketType.PendingStateEntered); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/Mount.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class Mount : ClientPacket 6 | { 7 | public bool EnableMount { get; set; } 8 | 9 | public Mount(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.Mount; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | EnableMount = message.ReadBool(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.Mount); 23 | message.Write(EnableMount); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/LoginError.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class LoginError : ServerPacket 6 | { 7 | public string Text { get; set; } 8 | 9 | public LoginError(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.LoginError; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | Text = message.ReadString(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.LoginError); 23 | message.Write(Text); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/JoinParty.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class JoinParty : ClientPacket 6 | { 7 | public uint PlayerId { get; set; } 8 | 9 | public JoinParty(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.JoinParty; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | PlayerId = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.JoinParty); 23 | message.Write(PlayerId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/ItemWasted.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class ItemWasted : ServerPacket 6 | { 7 | public ushort ItemId { get; set; } 8 | 9 | public ItemWasted(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.ItemWasted; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | ItemId = message.ReadUInt16(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.ItemWasted); 23 | message.Write(ItemId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/LoginAdvice.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class LoginAdvice : ServerPacket 6 | { 7 | public string Text { get; set; } 8 | 9 | public LoginAdvice(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.LoginAdvice; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | Text = message.ReadString(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.LoginAdvice); 23 | message.Write(Text); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/AddBuddy.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class AddBuddy : ClientPacket 6 | { 7 | public string PlayerName { get; set; } 8 | 9 | public AddBuddy(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.AddBuddy; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | PlayerName = message.ReadString(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.AddBuddy); 23 | message.Write(PlayerName); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/ThankYou.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class ThankYou : ClientPacket 6 | { 7 | public uint StatementId { get; set; } 8 | 9 | public ThankYou(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.ThankYou; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | StatementId = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.ThankYou); 23 | message.Write(StatementId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/RemoveBuddy.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class RemoveBuddy : ClientPacket 6 | { 7 | public uint PlayerId { get; set; } 8 | 9 | public RemoveBuddy(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.RemoveBuddy; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | PlayerId = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.RemoveBuddy); 23 | message.Write(PlayerId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/MultiUseDelay.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class MultiUseDelay : ServerPacket 6 | { 7 | public uint Delay { get; set; } 8 | 9 | public MultiUseDelay(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.MultiUseDelay; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | Delay = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.MultiUseDelay); 23 | message.Write(Delay); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/TutorialHint.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class TutorialHint : ServerPacket 6 | { 7 | public byte HintId { get; set; } 8 | 9 | public TutorialHint(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.TutorialHint; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | HintId = message.ReadByte(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.TutorialHint); 23 | message.Write(HintId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/JoinChannel.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class JoinChannel : ClientPacket 6 | { 7 | public ushort ChannelId { get; set; } 8 | 9 | public JoinChannel(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.JoinChannel; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | ChannelId = message.ReadUInt16(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.JoinChannel); 23 | message.Write(ChannelId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/ClearTarget.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class ClearTarget : ServerPacket 6 | { 7 | public uint CreatureId { get; set; } 8 | 9 | public ClearTarget(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.ClearTarget; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | CreatureId = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.ClearTarget); 23 | message.Write(CreatureId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/DeleteInventory.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class DeleteInventory : ServerPacket 6 | { 7 | public byte Slot { get; set; } 8 | 9 | public DeleteInventory(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.DeleteInventory; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | Slot = message.ReadByte(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.DeleteInventory); 23 | message.Write(Slot); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/InviteToParty.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class InviteToParty : ClientPacket 6 | { 7 | public uint PlayerId { get; set; } 8 | 9 | public InviteToParty(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.InviteToParty; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | PlayerId = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.InviteToParty); 23 | message.Write(PlayerId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/LeaveChannel.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class LeaveChannel : ClientPacket 6 | { 7 | public ushort ChannelId { get; set; } 8 | 9 | public LeaveChannel(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.LeaveChannel; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | ChannelId = message.ReadUInt16(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.LeaveChannel); 23 | message.Write(ChannelId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/MarketBrowse.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class MarketBrowse : ClientPacket 6 | { 7 | public ushort ObjectId { get; set; } 8 | 9 | public MarketBrowse(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.MarketBrowse; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | ObjectId = message.ReadUInt16(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.MarketBrowse); 23 | message.Write(ObjectId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/UpContainer.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class UpContainer : ClientPacket 6 | { 7 | public byte ContainerId { get; set; } 8 | 9 | public UpContainer(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.UpContainer; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | ContainerId = message.ReadByte(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.UpContainer); 23 | message.Write(ContainerId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CloseChannel.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CloseChannel : ServerPacket 6 | { 7 | public ushort ChannelId { get; set; } 8 | 9 | public CloseChannel(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.CloseChannel; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | ChannelId = message.ReadUInt16(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.CloseChannel); 23 | message.Write(ChannelId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/SnapBack.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class SnapBack : ServerPacket 6 | { 7 | public Direction Direction { get; set; } 8 | 9 | public SnapBack(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.SnapBack; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | Direction = (Direction)message.ReadByte(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.SnapBack); 23 | message.Write((byte)Direction); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/SwitchPreset.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class SwitchPreset : ServerPacket 6 | { 7 | public uint Profession { get; set; } 8 | 9 | public SwitchPreset(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.SwitchPreset; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | Profession = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.SwitchPreset); 23 | message.Write(Profession); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/DepotSearchType.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class DepotSearchType : ClientPacket 6 | { 7 | public ushort ItemId { get; set; } 8 | 9 | public DepotSearchType(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.DepotSearchType; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | ItemId = message.ReadUInt16(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.DepotSearchType); 23 | message.Write(ItemId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GetQuestLine.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GetQuestLine : ClientPacket 6 | { 7 | public ushort QuestLineId { get; set; } 8 | 9 | public GetQuestLine(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.GetQuestLine; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | QuestLineId = message.ReadUInt16(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.GetQuestLine); 23 | message.Write(QuestLineId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/JoinAggression.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class JoinAggression : ClientPacket 6 | { 7 | public uint PlayerId { get; set; } 8 | 9 | public JoinAggression(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.JoinAggression; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | PlayerId = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.JoinAggression); 23 | message.Write(PlayerId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/PassLeadership.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class PassLeadership : ClientPacket 6 | { 7 | public uint PlayerId { get; set; } 8 | 9 | public PassLeadership(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.PassLeadership; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | PlayerId = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.PassLeadership); 23 | message.Write(PlayerId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/EditGuildMessage.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class EditGuildMessage : ServerPacket 6 | { 7 | public string Text { get; set; } 8 | 9 | public EditGuildMessage(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.EditGuildMessage; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | Text = message.ReadString(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.EditGuildMessage); 23 | message.Write(Text); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/ApplyClearingCharm.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class ApplyClearingCharm : ClientPacket 6 | { 7 | public byte Slot { get; set; } 8 | 9 | public ApplyClearingCharm(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.ApplyClearingCharm; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | Slot = message.ReadByte(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.ApplyClearingCharm); 23 | message.Write(Slot); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/LookAtCreature.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class LookAtCreature : ClientPacket 6 | { 7 | public uint CreatureId { get; set; } 8 | 9 | public LookAtCreature(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.LookAtCreature; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | CreatureId = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.LookAtCreature); 23 | message.Write(CreatureId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/CloseContainer.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class CloseContainer : ClientPacket 6 | { 7 | public byte ContainerId { get; set; } 8 | 9 | public CloseContainer(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.CloseContainer; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | ContainerId = message.ReadByte(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.CloseContainer); 23 | message.Write(ContainerId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/PrivateChannel.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class PrivateChannel : ClientPacket 6 | { 7 | public string PlayerName { get; set; } 8 | 9 | public PrivateChannel(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.PrivateChannel; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | PlayerName = message.ReadString(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.PrivateChannel); 23 | message.Write(PlayerName); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/RevokeInvitation.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class RevokeInvitation : ClientPacket 6 | { 7 | public uint PlayerId { get; set; } 8 | 9 | public RevokeInvitation(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.RevokeInvitation; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | PlayerId = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.RevokeInvitation); 23 | message.Write(PlayerId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CloseContainer.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CloseContainer : ServerPacket 6 | { 7 | public byte ContainerId { get; set; } 8 | 9 | public CloseContainer(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.CloseContainer; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | ContainerId = message.ReadByte(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.CloseContainer); 23 | message.Write(ContainerId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/PrivateChannel.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class PrivateChannel : ServerPacket 6 | { 7 | public string ChannelName { get; set; } 8 | 9 | public PrivateChannel(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.PrivateChannel; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | ChannelName = message.ReadString(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.PrivateChannel); 23 | message.Write(ChannelName); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/EditGuildMessage.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class EditGuildMessage : ClientPacket 6 | { 7 | public string GuildMotd { get; set; } 8 | 9 | public EditGuildMessage(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.EditGuildMessage; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | GuildMotd = message.ReadString(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.EditGuildMessage); 23 | message.Write(GuildMotd); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/Teleport.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | using OXGaming.TibiaAPI.Utilities; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ClientPackets 5 | { 6 | public class Teleport : ClientPacket 7 | { 8 | public Position Position { get; set; } 9 | 10 | public Teleport(Client client) 11 | { 12 | Client = client; 13 | PacketType = ClientPacketType.Teleport; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | Position = message.ReadPosition(); 19 | } 20 | 21 | public override void AppendToNetworkMessage(NetworkMessage message) 22 | { 23 | message.Write((byte)ClientPacketType.Teleport); 24 | message.Write(Position); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CyclopediaHouseActionResult.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CyclopediaHouseActionResult : ServerPacket 6 | { 7 | public CyclopediaHouseActionResult(Client client) 8 | { 9 | Client = client; 10 | PacketType = ServerPacketType.CyclopediaHouseActionResult; 11 | } 12 | 13 | public override void ParseFromNetworkMessage(NetworkMessage message) 14 | { 15 | // TODO 16 | 17 | // 3D 28 00 00 01 11 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | // TODO 23 | // message.Write((byte)ServerPacketType.CyclopediaHouseActionResult); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/ExivaSuppressed.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class ExivaSuppressed : ServerPacket 6 | { 7 | public bool IsSuppressed { get; set; } 8 | 9 | public ExivaSuppressed(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.ExivaSuppressed; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | IsSuppressed = message.ReadBool(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.ExivaSuppressed); 23 | message.Write(IsSuppressed); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GetTransactionDetails.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GetTransactionDetails : ClientPacket 6 | { 7 | public uint Id { get; set; } 8 | 9 | public GetTransactionDetails(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.GetTransactionDetails; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | Id = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.GetTransactionDetails); 23 | message.Write(Id); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/PvpSituations.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class PvpSituations : ServerPacket 6 | { 7 | public byte OpenPvpSituations { get; set; } 8 | 9 | public PvpSituations(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.PvpSituations; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | OpenPvpSituations = message.ReadByte(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.PvpSituations); 23 | message.Write(OpenPvpSituations); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GetOfferDescription.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GetOfferDescription : ClientPacket 6 | { 7 | public uint OfferId { get; set; } 8 | 9 | public GetOfferDescription(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.GetOfferDescription; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | OfferId = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.GetOfferDescription); 23 | message.Write(OfferId); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/BrowseField.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | using OXGaming.TibiaAPI.Utilities; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ClientPackets 5 | { 6 | public class BrowseField : ClientPacket 7 | { 8 | public Position Position { get; set; } 9 | 10 | public BrowseField(Client client) 11 | { 12 | Client = client; 13 | PacketType = ClientPacketType.BrowseField; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | Position = message.ReadPosition(); 19 | } 20 | 21 | public override void AppendToNetworkMessage(NetworkMessage message) 22 | { 23 | message.Write((byte)ClientPacketType.BrowseField); 24 | message.Write(Position); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/UpdatingShopBalance.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class UpdatingShopBalance : ServerPacket 6 | { 7 | public bool IsUpdating { get; set; } 8 | 9 | public UpdatingShopBalance(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.UpdatingShopBalance; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | IsUpdating = message.ReadBool(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.UpdatingShopBalance); 23 | message.Write(IsUpdating); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/OpenMonsterCyclopediaRace.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class OpenMonsterCyclopediaRace : ClientPacket 6 | { 7 | public ushort Id { get; set; } 8 | 9 | public OpenMonsterCyclopediaRace(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.OpenMonsterCyclopediaRace; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | Id = message.ReadUInt16(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.OpenMonsterCyclopediaRace); 23 | message.Write(Id); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/PlayerDataTournament.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class PlayerDataTournament : ServerPacket 6 | { 7 | uint TimeRemaining { get; set; } 8 | 9 | public PlayerDataTournament(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.PlayerDataTournament; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | TimeRemaining = message.ReadUInt32(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.PlayerDataTournament); 23 | message.Write(TimeRemaining); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/ShareExperience.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class ShareExperience : ClientPacket 6 | { 7 | public bool EnableSharedExperience { get; set; } 8 | 9 | public ShareExperience(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.ShareExperience; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | EnableSharedExperience = message.ReadBool(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.ShareExperience); 23 | message.Write(EnableSharedExperience); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/ScreenshotEvent.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class ScreenshotEvent : ServerPacket 6 | { 7 | public byte Type { get; set; } 8 | 9 | public ScreenshotEvent(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.ScreenshotEvent; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | // TODO: Figure out all screenshot types. 18 | Type = message.ReadByte(); 19 | } 20 | 21 | public override void AppendToNetworkMessage(NetworkMessage message) 22 | { 23 | message.Write((byte)ServerPacketType.ScreenshotEvent); 24 | message.Write(Type); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/OpenTransactionHistory.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class OpenTransactionHistory : ClientPacket 6 | { 7 | public byte EntriesPerPage { get; set; } 8 | 9 | public OpenTransactionHistory(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.OpenTransactionHistory; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | EntriesPerPage = message.ReadByte(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.OpenTransactionHistory); 23 | message.Write(EntriesPerPage); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/ReadyForSecondaryConnection.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class ReadyForSecondaryConnection : ServerPacket 6 | { 7 | public string Text { get; set; } 8 | 9 | public ReadyForSecondaryConnection(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.ReadyForSecondaryConnection; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | Text = message.ReadString(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.ReadyForSecondaryConnection); 23 | message.Write(Text); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/OpenParentContainer.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | using OXGaming.TibiaAPI.Utilities; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ClientPackets 5 | { 6 | public class OpenParentContainer : ClientPacket 7 | { 8 | public Position Position { get; set; } 9 | 10 | public OpenParentContainer(Client client) 11 | { 12 | Client = client; 13 | PacketType = ClientPacketType.OpenParentContainer; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | Position = message.ReadPosition(); 19 | } 20 | 21 | public override void AppendToNetworkMessage(NetworkMessage message) 22 | { 23 | message.Write((byte)ClientPacketType.OpenParentContainer); 24 | message.Write(Position); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/RequestResourceBalance.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class RequestResourceBalance : ClientPacket 6 | { 7 | public ResourceType ResourceType { get; set; } 8 | 9 | public RequestResourceBalance(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.RequestResourceBalance; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | ResourceType = (ResourceType)message.ReadByte(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ClientPacketType.RequestResourceBalance); 23 | message.Write((byte)ResourceType); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/DailyRewardCollectionState.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class DailyRewardCollectionState : ServerPacket 6 | { 7 | public byte CollectionState { get; set; } 8 | 9 | public DailyRewardCollectionState(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.DailyRewardCollectionState; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | CollectionState = message.ReadByte(); 18 | } 19 | 20 | public override void AppendToNetworkMessage(NetworkMessage message) 21 | { 22 | message.Write((byte)ServerPacketType.DailyRewardCollectionState); 23 | message.Write(CollectionState); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/LookTrade.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class LookTrade : ClientPacket 6 | { 7 | public byte Index { get; set; } 8 | public byte Side { get; set; } 9 | 10 | public LookTrade(Client client) 11 | { 12 | Client = client; 13 | PacketType = ClientPacketType.LookTrade; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | Side = message.ReadByte(); 19 | Index = message.ReadByte(); 20 | } 21 | 22 | public override void AppendToNetworkMessage(NetworkMessage message) 23 | { 24 | message.Write((byte)ClientPacketType.LookTrade); 25 | message.Write(Side); 26 | message.Write(Index); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/TibiaTime.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class TibiaTime : ServerPacket 6 | { 7 | public byte Hour { get; set; } 8 | public byte Minute { get; set; } 9 | 10 | public TibiaTime(Client client) 11 | { 12 | Client = client; 13 | PacketType = ServerPacketType.TibiaTime; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | Hour = message.ReadByte(); 19 | Minute = message.ReadByte(); 20 | } 21 | 22 | public override void AppendToNetworkMessage(NetworkMessage message) 23 | { 24 | message.Write((byte)ServerPacketType.TibiaTime); 25 | message.Write(Hour); 26 | message.Write(Minute); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/LoginWait.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class LoginWait : ServerPacket 6 | { 7 | public string Text { get; set; } 8 | 9 | public byte Delay { get; set; } 10 | 11 | public LoginWait(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.LoginWait; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | Text = message.ReadString(); 20 | Delay = message.ReadByte(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.LoginWait); 26 | message.Write(Text); 27 | message.Write(Delay); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Imbuing/ImbuementData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace OXGaming.TibiaAPI.Imbuing 4 | { 5 | public class ImbuementData 6 | { 7 | public List AstralSources { get; } = new List(); 8 | 9 | public string Category { get; set; } 10 | public string Description { get; set; } 11 | public string Name { get; set; } 12 | 13 | public uint DurationInSeconds { get; set; } 14 | public uint GoldCost { get; set; } 15 | public uint Id { get; set; } 16 | public uint ProtectionGoldCost { get; set; } 17 | 18 | public ushort IconId { get; set; } 19 | 20 | public byte SuccessRatePercent { get; set; } 21 | 22 | public bool PremiumOnly { get; set; } 23 | 24 | public ImbuementData(uint id, string name) 25 | { 26 | Id = id; 27 | Name = name; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/EditText.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class EditText : ClientPacket 6 | { 7 | public string Text { get; set; } 8 | 9 | public uint WindowId { get; set; } 10 | 11 | public EditText(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.EditText; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | WindowId = message.ReadUInt32(); 20 | Text = message.ReadString(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ClientPacketType.EditText); 26 | message.Write(WindowId); 27 | message.Write(Text); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/SpellDelay.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class SpellDelay : ServerPacket 6 | { 7 | public uint Delay { get; set; } 8 | 9 | public byte SpellId { get; set; } 10 | 11 | public SpellDelay(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.SpellDelay; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | SpellId = message.ReadByte(); 20 | Delay = message.ReadUInt32(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.SpellDelay); 26 | message.Write(SpellId); 27 | message.Write(Delay); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/EquipObject.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class EquipObject : ClientPacket 6 | { 7 | public ushort ObjectId { get; set; } 8 | 9 | public byte Data { get; set; } 10 | 11 | public EquipObject(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.EquipObject; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | ObjectId = message.ReadUInt16(); 20 | Data = message.ReadByte(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ClientPacketType.EquipObject); 26 | message.Write(ObjectId); 27 | message.Write(Data); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/TournamentLeaderboard.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class TournamentLeaderboard : ClientPacket 6 | { 7 | public string WorldName { get; set; } 8 | 9 | public TournamentLeaderboard(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.TournamentLeaderboard; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | message.ReadByte(); // TODO 18 | WorldName = message.ReadString(); 19 | message.ReadBytes(3); // TODO 20 | } 21 | 22 | public override void AppendToNetworkMessage(NetworkMessage message) 23 | { 24 | // TODO 25 | // message.Write((byte)ClientPacketType.TournamentLeaderboard); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/Ambiente.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class Ambiente : ServerPacket 6 | { 7 | public byte Brightness { get; set; } 8 | public byte LightColor { get; set; } 9 | 10 | public Ambiente(Client client) 11 | { 12 | Client = client; 13 | PacketType = ServerPacketType.Ambiente; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | Brightness = message.ReadByte(); 19 | LightColor = message.ReadByte(); 20 | } 21 | 22 | public override void AppendToNetworkMessage(NetworkMessage message) 23 | { 24 | message.Write((byte)ServerPacketType.Ambiente); 25 | message.Write(Brightness); 26 | message.Write(LightColor); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/Blessings.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class Blessings : ServerPacket 6 | { 7 | public ushort BlessingId { get; set; } 8 | 9 | public byte Amount { get; set; } 10 | 11 | public Blessings(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.Blessings; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | BlessingId = message.ReadUInt16(); 20 | Amount = message.ReadByte(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.Blessings); 26 | message.Write(BlessingId); 27 | message.Write(Amount); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Utilities/Position.cs: -------------------------------------------------------------------------------- 1 | namespace OXGaming.TibiaAPI.Utilities 2 | { 3 | public class Position 4 | { 5 | public int X { get; set; } 6 | public int Y { get; set; } 7 | public int Z { get; set; } 8 | 9 | public Position(int x, int y, int z) 10 | { 11 | X = x; 12 | Y = y; 13 | Z = z; 14 | } 15 | 16 | public void SetZero() 17 | { 18 | X = 0; 19 | Y = 0; 20 | Z = 0; 21 | } 22 | 23 | public Position Subtract(Position position) 24 | { 25 | return new Position(X - position.X, Y - position.Y, Z - position.Z); 26 | } 27 | 28 | public Position Clone() 29 | { 30 | return new Position(X, Y, Z); 31 | } 32 | 33 | public override string ToString() 34 | { 35 | return $"{X},{Y},{Z}"; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/LookNpcTrade.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class LookNpcTrade : ClientPacket 6 | { 7 | public ushort ObjectId { get; set; } 8 | 9 | public byte Data { get; set; } 10 | 11 | public LookNpcTrade(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.LookNpcTrade; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | ObjectId = message.ReadUInt16(); 20 | Data = message.ReadByte(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ClientPacketType.LookNpcTrade); 26 | message.Write(ObjectId); 27 | message.Write(Data); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CreatureData.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | using OXGaming.TibiaAPI.Creatures; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ServerPackets 5 | { 6 | public class CreatureData : ServerPacket 7 | { 8 | public Creature Creature { get; set; } 9 | 10 | public CreatureData(Client client) 11 | { 12 | Client = client; 13 | PacketType = ServerPacketType.CreatureData; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | Creature = message.ReadCreatureInstance((int)CreatureInstanceType.UnknownCreature); 19 | } 20 | 21 | public override void AppendToNetworkMessage(NetworkMessage message) 22 | { 23 | message.Write((byte)ServerPacketType.CreatureData); 24 | message.Write(Creature, CreatureInstanceType.UnknownCreature); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/IngameShopError.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class IngameShopError : ServerPacket 6 | { 7 | public string Text { get; set; } 8 | 9 | public byte Error { get; set; } 10 | 11 | public IngameShopError(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.IngameShopError; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | Error = message.ReadByte(); 20 | Text = message.ReadString(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.IngameShopError); 26 | message.Write(Error); 27 | message.Write(Text); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CreatureSkull.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CreatureSkull : ServerPacket 6 | { 7 | public uint CreatureId { get; set; } 8 | 9 | public byte Skull { get; set; } 10 | 11 | public CreatureSkull(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.CreatureSkull; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | CreatureId = message.ReadUInt32(); 20 | Skull = message.ReadByte(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.CreatureSkull); 26 | message.Write(CreatureId); 27 | message.Write(Skull); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/MarketCancel.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class MarketCancel : ClientPacket 6 | { 7 | public uint Timestamp { get; set; } 8 | 9 | public ushort Counter { get; set; } 10 | 11 | public MarketCancel(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.MarketCancel; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | Timestamp = message.ReadUInt32(); 20 | Counter = message.ReadUInt16(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ClientPacketType.MarketCancel); 26 | message.Write(Timestamp); 27 | message.Write(Counter); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/ImpactTracking.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class ImpactTracking : ServerPacket 6 | { 7 | public uint Amount { get; set; } 8 | 9 | public bool IsDamage { get; set; } 10 | 11 | public ImpactTracking(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.ImpactTracking; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | IsDamage = message.ReadBool(); 20 | Amount = message.ReadUInt32(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.ImpactTracking); 26 | message.Write(IsDamage); 27 | message.Write(Amount); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/SpellGroupDelay.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class SpellGroupDelay : ServerPacket 6 | { 7 | public uint Delay { get; set; } 8 | 9 | public byte SpellId { get; set; } 10 | 11 | public SpellGroupDelay(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.SpellGroupDelay; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | SpellId = message.ReadByte(); 20 | Delay = message.ReadUInt32(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.SpellGroupDelay); 26 | message.Write(SpellId); 27 | message.Write(Delay); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/ShowGameNews.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class ShowGameNews : ServerPacket 6 | { 7 | public uint CategoryId { get;set; } 8 | 9 | public byte PageNumber { get; set; } 10 | 11 | public ShowGameNews(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.ShowGameNews; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | CategoryId = message.ReadUInt32(); 20 | PageNumber = message.ReadByte(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.ShowGameNews); 26 | message.Write(CategoryId); 27 | message.Write(PageNumber); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/ShowMessageDialog.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class ShowMessageDialog : ServerPacket 6 | { 7 | public string Text { get; set; } 8 | 9 | public byte Result { get; set; } 10 | 11 | public ShowMessageDialog(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.ShowMessageDialog; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | Result = message.ReadByte(); 20 | Text = message.ReadString(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.ShowMessageDialog); 26 | message.Write(Result); 27 | message.Write(Text); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/SeekInContainer.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class SeekInContainer : ClientPacket 6 | { 7 | public ushort Index { get; set; } 8 | 9 | public byte ContainerId { get; set; } 10 | 11 | public SeekInContainer(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.SeekInContainer; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | ContainerId = message.ReadByte(); 20 | Index = message.ReadUInt16(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ClientPacketType.SeekInContainer); 26 | message.Write(ContainerId); 27 | message.Write(Index); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/DepotSearchRetrieve.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class DepotSearchRetrieve : ClientPacket 6 | { 7 | public ushort ItemId { get; set; } 8 | public byte Amount { get; set; } 9 | 10 | public DepotSearchRetrieve(Client client) 11 | { 12 | Client = client; 13 | PacketType = ClientPacketType.DepotSearchRetrieve; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | ItemId = message.ReadUInt16(); 19 | Amount = message.ReadByte(); 20 | } 21 | 22 | public override void AppendToNetworkMessage(NetworkMessage message) 23 | { 24 | message.Write((byte)ClientPacketType.DepotSearchRetrieve); 25 | message.Write(ItemId); 26 | message.Write(Amount); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/MarkGameNewsAsRead.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class MarkGameNewsAsRead : ClientPacket 6 | { 7 | public uint NewsId { get; set; } 8 | 9 | public bool WasRead { get; set; } 10 | 11 | public MarkGameNewsAsRead(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.MarkGameNewsAsRead; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | NewsId = message.ReadUInt32(); 20 | WasRead = message.ReadBool(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ClientPacketType.MarkGameNewsAsRead); 26 | message.Write(NewsId); 27 | message.Write(WasRead); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CreatureParty.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CreatureParty : ServerPacket 6 | { 7 | public uint CreatureId { get; set; } 8 | 9 | public byte PartyShield { get; set; } 10 | 11 | public CreatureParty(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.CreatureParty; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | CreatureId = message.ReadUInt32(); 20 | PartyShield = message.ReadByte(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.CreatureParty); 26 | message.Write(CreatureId); 27 | message.Write(PartyShield); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/PreyTimeLeft.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class PreyTimeLeft : ServerPacket 6 | { 7 | public ushort TimeLeft { get; set; } 8 | 9 | public byte PreyArrayIndex { get; set; } 10 | 11 | public PreyTimeLeft(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.PreyTimeLeft; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | PreyArrayIndex = message.ReadByte(); 20 | TimeLeft = message.ReadUInt16(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.PreyTimeLeft); 26 | message.Write(PreyArrayIndex); 27 | message.Write(TimeLeft); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/TransferCurrency.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class TransferCurrency : ClientPacket 6 | { 7 | public string PlayerName { get; set; } 8 | 9 | public uint Amount { get; set; } 10 | 11 | public TransferCurrency(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.TransferCurrency; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | PlayerName = message.ReadString(); 20 | Amount = message.ReadUInt32(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ClientPacketType.TransferCurrency); 26 | message.Write(PlayerName); 27 | message.Write(Amount); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CreatureHealth.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CreatureHealth : ServerPacket 6 | { 7 | public uint CreatureId { get; set; } 8 | 9 | public byte HealthPercent { get; set; } 10 | 11 | public CreatureHealth(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.CreatureHealth; 15 | } 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | CreatureId = message.ReadUInt32(); 19 | HealthPercent = message.ReadByte(); 20 | } 21 | 22 | public override void AppendToNetworkMessage(NetworkMessage message) 23 | { 24 | message.Write((byte)ServerPacketType.CreatureHealth); 25 | message.Write(CreatureId); 26 | message.Write(HealthPercent); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/InviteToChannel.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class InviteToChannel : ClientPacket 6 | { 7 | public string PlayerName { get; set; } 8 | 9 | public ushort ChannelId { get; set; } 10 | 11 | public InviteToChannel(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.InviteToChannel; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | PlayerName = message.ReadString(); 20 | ChannelId = message.ReadUInt16(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ClientPacketType.InviteToChannel); 26 | message.Write(PlayerName); 27 | message.Write(ChannelId); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CreatureUnpass.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CreatureUnpass : ServerPacket 6 | { 7 | public uint CreatureId { get; set; } 8 | 9 | public bool IsUnpassable { get; set; } 10 | 11 | public CreatureUnpass(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.CreatureUnpass; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | CreatureId = message.ReadUInt32(); 20 | IsUnpassable = message.ReadBool(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.CreatureUnpass); 26 | message.Write(CreatureId); 27 | message.Write(IsUnpassable); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/OfferDescription.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class OfferDescription : ServerPacket 6 | { 7 | public string Description { get; set; } 8 | 9 | public uint OfferId { get; set; } 10 | 11 | public OfferDescription(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.OfferDescription; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | OfferId = message.ReadUInt32(); 20 | Description = message.ReadString(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.OfferDescription); 26 | message.Write(OfferId); 27 | message.Write(Description); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/SetInventory.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Appearances; 2 | using OXGaming.TibiaAPI.Constants; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ServerPackets 5 | { 6 | public class SetInventory : ServerPacket 7 | { 8 | public ObjectInstance Item { get; set; } 9 | 10 | public byte Slot { get; set; } 11 | 12 | public SetInventory(Client client) 13 | { 14 | Client = client; 15 | PacketType = ServerPacketType.SetInventory; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | Slot = message.ReadByte(); 21 | Item = message.ReadObjectInstance(); 22 | } 23 | 24 | public override void AppendToNetworkMessage(NetworkMessage message) 25 | { 26 | message.Write((byte)ServerPacketType.SetInventory); 27 | message.Write(Slot); 28 | message.Write(Item); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/WorldEntered.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class WorldEntered : ServerPacket 6 | { 7 | public WorldEntered(Client client) 8 | { 9 | Client = client; 10 | PacketType = ServerPacketType.WorldEntered; 11 | } 12 | 13 | public override void ParseFromNetworkMessage(NetworkMessage message) 14 | { 15 | if (Client.Connection.ConnectionState == ConnectionState.Pending) 16 | { 17 | Client.WorldMapStorage.ResetMap(); 18 | Client.WorldMapStorage.SetPosition(0, 0, 0); 19 | } 20 | 21 | Client.Connection.ConnectionState = ConnectionState.Game; 22 | } 23 | 24 | public override void AppendToNetworkMessage(NetworkMessage message) 25 | { 26 | message.Write((byte)ServerPacketType.WorldEntered); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/Attack.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class Attack : ClientPacket 6 | { 7 | public uint CreatureId { get; set; } 8 | public uint SecondCreatureId { get; set; } 9 | 10 | public Attack(Client client) 11 | { 12 | Client = client; 13 | PacketType = ClientPacketType.Attack; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | CreatureId = message.ReadUInt32(); 19 | SecondCreatureId = message.ReadUInt32(); // Should always be the same as CreatureId. 20 | } 21 | 22 | public override void AppendToNetworkMessage(NetworkMessage message) 23 | { 24 | message.Write((byte)ClientPacketType.Attack); 25 | message.Write(CreatureId); 26 | message.Write(SecondCreatureId); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/Follow.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class Follow : ClientPacket 6 | { 7 | public uint CreatureId { get; set; } 8 | public uint SecondCreatureId { get; set; } 9 | 10 | public Follow(Client client) 11 | { 12 | Client = client; 13 | PacketType = ClientPacketType.Follow; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | CreatureId = message.ReadUInt32(); 19 | SecondCreatureId = message.ReadUInt32(); // Should always be the same as CreatureId. 20 | } 21 | 22 | public override void AppendToNetworkMessage(NetworkMessage message) 23 | { 24 | message.Write((byte)ClientPacketType.Follow); 25 | message.Write(CreatureId); 26 | message.Write(SecondCreatureId); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/ExcludeFromChannel.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class ExcludeFromChannel : ClientPacket 6 | { 7 | public string PlayerName { get; set; } 8 | 9 | public ushort ChannelId { get; set; } 10 | 11 | public ExcludeFromChannel(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.ExcludeFromChannel; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | PlayerName = message.ReadString(); 20 | ChannelId = message.ReadUInt16(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ClientPacketType.ExcludeFromChannel); 26 | message.Write(PlayerName); 27 | message.Write(ChannelId); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CreaturePvpHelpers.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CreaturePvpHelpers : ServerPacket 6 | { 7 | public uint CreatureId { get; set; } 8 | 9 | public ushort PvpHelpers { get; set; } 10 | 11 | public CreaturePvpHelpers(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.DepotSearchResults; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | CreatureId = message.ReadUInt32(); 20 | PvpHelpers = message.ReadUInt16(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.DepotSearchResults); 26 | message.Write(CreatureId); 27 | message.Write(PvpHelpers); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/BuddyStatusChange.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class BuddyStatusChange : ServerPacket 6 | { 7 | public uint PlayerId { get; set; } 8 | 9 | public byte ConnectionStatus { get; set; } 10 | 11 | public BuddyStatusChange(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.BuddyStatusChange; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | PlayerId = message.ReadUInt32(); 20 | ConnectionStatus = message.ReadByte(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.BuddyStatusChange); 26 | message.Write(PlayerId); 27 | message.Write(ConnectionStatus); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/InspectionState.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class InspectionState : ServerPacket 6 | { 7 | public uint PlayerId { get; set; } 8 | 9 | public byte InspectionStateType { get; set; } 10 | 11 | public InspectionState(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.InspectionState; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | PlayerId = message.ReadUInt32(); 20 | InspectionStateType = message.ReadByte(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.InspectionState); 26 | message.Write(PlayerId); 27 | message.Write(InspectionStateType); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/PreyHuntingTaskAction.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class PreyHuntingTaskAction : ClientPacket 6 | { 7 | public ushort RaceId { get; set; } 8 | 9 | public byte Index { get; set; } 10 | 11 | public PreyHuntingTaskAction(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.PreyHuntingTaskAction; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | // TODO 20 | Index = message.ReadByte(); 21 | message.ReadUInt16(); // 03 00 22 | RaceId = message.ReadUInt16(); 23 | } 24 | 25 | public override void AppendToNetworkMessage(NetworkMessage message) 26 | { 27 | // TODO 28 | // message.Write((byte)ClientPacketType.PreyHuntingTaskAction); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/TrackBestiaryRace.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class TrackBestiaryRace : ClientPacket 6 | { 7 | public byte UnknownByte1 { get; set; } 8 | 9 | public ushort RaceId { get; set; } 10 | 11 | public TrackBestiaryRace(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.TrackBestiaryRace; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | RaceId = message.ReadUInt16(); 20 | // TODO 21 | UnknownByte1 = message.ReadByte(); 22 | } 23 | 24 | public override void AppendToNetworkMessage(NetworkMessage message) 25 | { 26 | message.Write((byte)ClientPacketType.TrackBestiaryRace); 27 | message.Write(RaceId); 28 | message.Write(UnknownByte1); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/ItemLooted.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Appearances; 2 | using OXGaming.TibiaAPI.Constants; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ServerPackets 5 | { 6 | public class ItemLooted : ServerPacket 7 | { 8 | public ObjectInstance Item { get; set; } 9 | 10 | public string ItemDescription { get; set; } 11 | 12 | public ItemLooted(Client client) 13 | { 14 | Client = client; 15 | PacketType = ServerPacketType.ItemLooted; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | Item = message.ReadObjectInstance(); 21 | ItemDescription = message.ReadString(); 22 | } 23 | 24 | public override void AppendToNetworkMessage(NetworkMessage message) 25 | { 26 | message.Write((byte)ServerPacketType.ItemLooted); 27 | message.Write(Item); 28 | message.Write(ItemDescription); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GetTransactionHistory.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class GetTransactionHistory : ClientPacket 6 | { 7 | public uint CurrentPage { get; set; } 8 | 9 | public byte EntriesPerPage { get; set; } 10 | 11 | public GetTransactionHistory(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.GetTransactionHistory; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | CurrentPage = message.ReadUInt32(); 20 | EntriesPerPage = message.ReadByte(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ClientPacketType.GetTransactionHistory); 26 | message.Write(CurrentPage); 27 | message.Write(EntriesPerPage); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/RemoveGraphicalEffect.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | using OXGaming.TibiaAPI.Utilities; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ServerPackets 5 | { 6 | public class RemoveGraphicalEffect : ServerPacket 7 | { 8 | public Position Position { get; set; } 9 | 10 | public byte Id { get; set; } 11 | 12 | public RemoveGraphicalEffect(Client client) 13 | { 14 | Client = client; 15 | PacketType = ServerPacketType.RemoveGraphicalEffect; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | Position = message.ReadPosition(); 21 | Id = message.ReadByte(); 22 | } 23 | 24 | public override void AppendToNetworkMessage(NetworkMessage message) 25 | { 26 | message.Write((byte)ServerPacketType.RemoveGraphicalEffect); 27 | message.Write(Position); 28 | message.Write(Id); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/CyclopediaHouseAction.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class CyclopediaHouseAction : ClientPacket 6 | { 7 | public byte UnknownByte1 { get; set; } 8 | 9 | public string Town { get; set; } 10 | 11 | public CyclopediaHouseAction(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.CyclopediaHouseAction; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | // TODO 20 | UnknownByte1 = message.ReadByte(); //always 0x00? 21 | Town = message.ReadString(); 22 | } 23 | 24 | public override void AppendToNetworkMessage(NetworkMessage message) 25 | { 26 | message.Write((byte)ClientPacketType.CyclopediaHouseAction); 27 | message.Write(UnknownByte1); 28 | message.Write(Town); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/TeamFinderJoinTeam.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class TeamFinderJoinTeam : ClientPacket 6 | { 7 | public byte Type { get; set; } 8 | 9 | public TeamFinderJoinTeam(Client client) 10 | { 11 | Client = client; 12 | PacketType = ClientPacketType.TeamFinderJoinTeam; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | // TODO 18 | Type = message.ReadByte(); 19 | if (Type == 0) 20 | { 21 | } 22 | else if (Type == 1) 23 | { 24 | message.ReadBytes(4); // 0E 00 00 00 25 | } 26 | } 27 | 28 | public override void AppendToNetworkMessage(NetworkMessage message) 29 | { 30 | // TODO 31 | // message.Write((byte)ClientPacketType.TeamFinderJoinTeam); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /TibiaAPI/Appearances/OutfitInstance.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Utilities; 2 | 3 | namespace OXGaming.TibiaAPI.Appearances 4 | { 5 | public class OutfitInstance : AppearanceInstance 6 | { 7 | public byte Addons { get; set; } 8 | public byte ColorDetail { get; set; } 9 | public byte ColorHead { get; set; } 10 | public byte ColorLegs { get; set; } 11 | public byte ColorTorso { get; set; } 12 | 13 | public OutfitInstance(uint id, Appearance type, byte colorHead, byte colorTorso, byte colorLegs, byte colorDetail, byte addons) : base(id, type) 14 | { 15 | ColorHead = colorHead; 16 | ColorTorso = colorTorso; 17 | ColorLegs = colorLegs; 18 | ColorDetail = colorDetail; 19 | Addons = addons; 20 | } 21 | 22 | public override string ToString() 23 | { 24 | return $"Outfit Looktype: {Id}, Head: {ColorHead}, Torso: {ColorTorso}, Legs: {ColorLegs}, Detail: {ColorDetail}, Addons: {Addons}"; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/LoginChallenge.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class LoginChallenge : ServerPacket 6 | { 7 | public uint Timestamp { get; set; } 8 | 9 | public byte Random { get; set; } 10 | 11 | public LoginChallenge(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.LoginChallenge; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | Timestamp = message.ReadUInt32(); 20 | Random = message.ReadByte(); 21 | Client.Connection.ConnectionState = ConnectionState.ConnectingStage2; 22 | } 23 | 24 | public override void AppendToNetworkMessage(NetworkMessage message) 25 | { 26 | message.Write((byte)ServerPacketType.LoginChallenge); 27 | message.Write(Timestamp); 28 | message.Write(Random); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/TopRow.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class TopRow : Map 6 | { 7 | private const int MapSizeX = 18; 8 | 9 | public TopRow(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.TopRow; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | var position = Client.WorldMapStorage.GetPosition(); 18 | position.Y--; 19 | Client.WorldMapStorage.SetPosition(position.X, position.Y, position.Z); 20 | Client.WorldMapStorage.ScrollMap(0, 1); 21 | message.ReadArea(0, 0, (MapSizeX - 1), 0, Fields); 22 | } 23 | 24 | public override void AppendToNetworkMessage(NetworkMessage message) 25 | { 26 | message.Write((byte)ServerPacketType.TopRow); 27 | base.AppendToNetworkMessage(message); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/StoreButtonIndicators.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class StoreButtonIndicators : ServerPacket 6 | { 7 | public bool IsNewBannerVisible { get; set; } 8 | public bool IsSaleBannerVisible { get; set; } 9 | 10 | public StoreButtonIndicators(Client client) 11 | { 12 | Client = client; 13 | PacketType = ServerPacketType.StoreButtonIndicators; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | IsSaleBannerVisible = message.ReadBool(); 19 | IsNewBannerVisible = message.ReadBool(); 20 | } 21 | 22 | public override void AppendToNetworkMessage(NetworkMessage message) 23 | { 24 | message.Write((byte)ServerPacketType.StoreButtonIndicators); 25 | message.Write(IsSaleBannerVisible); 26 | message.Write(IsNewBannerVisible); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/LeftColumn.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class LeftColumn : Map 6 | { 7 | private const int MapSizeY = 14; 8 | 9 | public LeftColumn(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.LeftColumn; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | var position = Client.WorldMapStorage.GetPosition(); 18 | position.X--; 19 | Client.WorldMapStorage.SetPosition(position.X, position.Y, position.Z); 20 | Client.WorldMapStorage.ScrollMap(1, 0); 21 | message.ReadArea(0, 0, 0, (MapSizeY - 1), Fields); 22 | } 23 | 24 | public override void AppendToNetworkMessage(NetworkMessage message) 25 | { 26 | message.Write((byte)ServerPacketType.LeftColumn); 27 | base.AppendToNetworkMessage(message); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/EditList.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class EditList : ClientPacket 6 | { 7 | public string Text { get; set; } 8 | 9 | public uint WindowId { get; set; } 10 | 11 | public byte WindowType { get; set; } 12 | 13 | public EditList(Client client) 14 | { 15 | Client = client; 16 | PacketType = ClientPacketType.EditList; 17 | } 18 | 19 | public override void ParseFromNetworkMessage(NetworkMessage message) 20 | { 21 | WindowType = message.ReadByte(); 22 | WindowId = message.ReadUInt32(); 23 | Text = message.ReadString(); 24 | } 25 | 26 | public override void AppendToNetworkMessage(NetworkMessage message) 27 | { 28 | message.Write((byte)ClientPacketType.EditList); 29 | message.Write(WindowType); 30 | message.Write(WindowId); 31 | message.Write(Text); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/EditList.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class EditList : ServerPacket 6 | { 7 | public string Text { get; set; } 8 | 9 | public uint WindowId { get; set; } 10 | 11 | public byte WindowType { get; set; } 12 | 13 | public EditList(Client client) 14 | { 15 | Client = client; 16 | PacketType = ServerPacketType.EditList; 17 | } 18 | 19 | public override void ParseFromNetworkMessage(NetworkMessage message) 20 | { 21 | WindowType = message.ReadByte(); 22 | WindowId = message.ReadUInt32(); 23 | Text = message.ReadString(); 24 | } 25 | 26 | public override void AppendToNetworkMessage(NetworkMessage message) 27 | { 28 | message.Write((byte)ServerPacketType.EditList); 29 | message.Write(WindowType); 30 | message.Write(WindowId); 31 | message.Write(Text); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/SpecialContainersAvailable.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class SpecialContainersAvailable : ServerPacket 6 | { 7 | public bool IsMarketAvailable { get; set; } 8 | public bool IsSupplyStashAvailable { get; set; } 9 | 10 | public SpecialContainersAvailable(Client client) 11 | { 12 | Client = client; 13 | PacketType = ServerPacketType.SpecialContainersAvailable; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | IsSupplyStashAvailable = message.ReadBool(); 19 | IsMarketAvailable = message.ReadBool(); 20 | } 21 | 22 | public override void AppendToNetworkMessage(NetworkMessage message) 23 | { 24 | message.Write((byte)ServerPacketType.SpecialContainersAvailable); 25 | message.Write(IsSupplyStashAvailable); 26 | message.Write(IsMarketAvailable); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CreatureMarks.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CreatureMarks : ServerPacket 6 | { 7 | public uint CreatureId { get; set; } 8 | 9 | public byte Mark { get; set; } 10 | public byte MarkType { get; set; } 11 | 12 | public CreatureMarks(Client client) 13 | { 14 | Client = client; 15 | PacketType = ServerPacketType.CreatureMarks; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | CreatureId = message.ReadUInt32(); 21 | MarkType = message.ReadByte(); 22 | Mark = message.ReadByte(); 23 | } 24 | 25 | public override void AppendToNetworkMessage(NetworkMessage message) 26 | { 27 | message.Write((byte)ServerPacketType.CreatureMarks); 28 | message.Write(CreatureId); 29 | message.Write(MarkType); 30 | message.Write(Mark); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/MarketAccept.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class MarketAccept : ClientPacket 6 | { 7 | public uint Timestamp { get; set; } 8 | 9 | public ushort Amount { get; set; } 10 | public ushort Counter { get; set; } 11 | 12 | public MarketAccept(Client client) 13 | { 14 | Client = client; 15 | PacketType = ClientPacketType.MarketAccept; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | Timestamp = message.ReadUInt32(); 21 | Counter = message.ReadUInt16(); 22 | Amount = message.ReadUInt16(); 23 | } 24 | 25 | public override void AppendToNetworkMessage(NetworkMessage message) 26 | { 27 | message.Write((byte)ClientPacketType.MarketAccept); 28 | message.Write(Timestamp); 29 | message.Write(Counter); 30 | message.Write(Amount); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CreatureSpeed.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CreatureSpeed : ServerPacket 6 | { 7 | public uint CreatureId { get; set; } 8 | 9 | public ushort BaseSpeed { get; set; } 10 | public ushort Speed { get; set; } 11 | 12 | public CreatureSpeed(Client client) 13 | { 14 | Client = client; 15 | PacketType = ServerPacketType.CreatureSpeed; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | CreatureId = message.ReadUInt32(); 21 | BaseSpeed = message.ReadUInt16(); 22 | Speed = message.ReadUInt16(); 23 | } 24 | 25 | public override void AppendToNetworkMessage(NetworkMessage message) 26 | { 27 | message.Write((byte)ServerPacketType.CreatureSpeed); 28 | message.Write(CreatureId); 29 | message.Write(BaseSpeed); 30 | message.Write(Speed); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/AnswerModalDialog.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class AnswerModalDialog : ClientPacket 6 | { 7 | public uint WindowId { get; set; } 8 | 9 | public byte ButtonId { get; set; } 10 | public byte Choice { get; set; } 11 | 12 | public AnswerModalDialog(Client client) 13 | { 14 | Client = client; 15 | PacketType = ClientPacketType.AnswerModalDialog; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | WindowId = message.ReadUInt32(); 21 | ButtonId = message.ReadByte(); 22 | Choice = message.ReadByte(); 23 | } 24 | 25 | public override void AppendToNetworkMessage(NetworkMessage message) 26 | { 27 | message.Write((byte)ClientPacketType.AnswerModalDialog); 28 | message.Write(WindowId); 29 | message.Write(ButtonId); 30 | message.Write(Choice); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/ChannelEvent.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class ChannelEvent : ServerPacket 6 | { 7 | public string PlayerName { get; set; } 8 | 9 | public ushort ChannelId { get; set; } 10 | 11 | public byte EventType { get; set; } 12 | 13 | public ChannelEvent(Client client) 14 | { 15 | Client = client; 16 | PacketType = ServerPacketType.ChannelEvent; 17 | } 18 | 19 | public override void ParseFromNetworkMessage(NetworkMessage message) 20 | { 21 | ChannelId = message.ReadUInt16(); 22 | PlayerName = message.ReadString(); 23 | EventType = message.ReadByte(); 24 | } 25 | 26 | public override void AppendToNetworkMessage(NetworkMessage message) 27 | { 28 | message.Write((byte)ServerPacketType.ChannelEvent); 29 | message.Write(ChannelId); 30 | message.Write(PlayerName); 31 | message.Write(EventType); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CreatureLight.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class CreatureLight : ServerPacket 6 | { 7 | public uint CreatureId { get; set; } 8 | 9 | public byte Brightness { get; set; } 10 | public byte LightColor { get; set; } 11 | 12 | public CreatureLight(Client client) 13 | { 14 | Client = client; 15 | PacketType = ServerPacketType.CreatureLight; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | CreatureId = message.ReadUInt32(); 21 | Brightness = message.ReadByte(); 22 | LightColor = message.ReadByte(); 23 | } 24 | 25 | public override void AppendToNetworkMessage(NetworkMessage message) 26 | { 27 | message.Write((byte)ServerPacketType.CreatureLight); 28 | message.Write(CreatureId); 29 | message.Write(Brightness); 30 | message.Write(LightColor); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/PreyFreeListRerollAvailability.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class PreyFreeListRerollAvailability : ServerPacket 6 | { 7 | public ushort TimeLeftUntilFreeListReroll { get; set; } 8 | 9 | public byte PreyArrayIndex { get; set; } 10 | 11 | public PreyFreeListRerollAvailability(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.PreyFreeListRerollAvailability; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | PreyArrayIndex = message.ReadByte(); 20 | TimeLeftUntilFreeListReroll = message.ReadUInt16(); 21 | } 22 | 23 | public override void AppendToNetworkMessage(NetworkMessage message) 24 | { 25 | message.Write((byte)ServerPacketType.PreyFreeListRerollAvailability); 26 | message.Write(PreyArrayIndex); 27 | message.Write(TimeLeftUntilFreeListReroll); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/Highscores.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class Highscores : ClientPacket 6 | { 7 | public string GameWorld { get; set; } 8 | 9 | public uint VocationId { get; set; } 10 | 11 | public byte CategoryId { get; set; } 12 | 13 | public Highscores(Client client) 14 | { 15 | Client = client; 16 | PacketType = ClientPacketType.Highscores; 17 | } 18 | 19 | public override void ParseFromNetworkMessage(NetworkMessage message) 20 | { 21 | // TODO 22 | message.ReadByte(); // 00 23 | CategoryId = message.ReadByte(); 24 | VocationId = message.ReadUInt32(); 25 | GameWorld = message.ReadString(); 26 | message.ReadBytes(3); // 01 00 14 27 | } 28 | 29 | public override void AppendToNetworkMessage(NetworkMessage message) 30 | { 31 | // TODO 32 | // message.Write((byte)ClientPacketType.Highscores); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/Look.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | using OXGaming.TibiaAPI.Utilities; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ClientPackets 5 | { 6 | public class Look : ClientPacket 7 | { 8 | public Position Position { get; set; } 9 | 10 | public ushort ObjectId { get; set; } 11 | 12 | public byte StackPosition { get; set; } 13 | 14 | public Look(Client client) 15 | { 16 | Client = client; 17 | PacketType = ClientPacketType.Look; 18 | } 19 | 20 | public override void ParseFromNetworkMessage(NetworkMessage message) 21 | { 22 | Position = message.ReadPosition(); 23 | ObjectId = message.ReadUInt16(); 24 | StackPosition = message.ReadByte(); 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ClientPacketType.Look); 30 | message.Write(Position); 31 | message.Write(ObjectId); 32 | message.Write(StackPosition); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/QuickLoot.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | using OXGaming.TibiaAPI.Utilities; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ClientPackets 5 | { 6 | public class QuickLoot : ClientPacket 7 | { 8 | public Position Position { get; set; } 9 | 10 | public ushort ObjectId { get; set; } 11 | 12 | public byte Index { get; set; } 13 | 14 | public QuickLoot(Client client) 15 | { 16 | Client = client; 17 | PacketType = ClientPacketType.QuickLoot; 18 | } 19 | 20 | public override void ParseFromNetworkMessage(NetworkMessage message) 21 | { 22 | Position = message.ReadPosition(); 23 | ObjectId = message.ReadUInt16(); 24 | Index = message.ReadByte(); 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ClientPacketType.QuickLoot); 30 | message.Write(Position); 31 | message.Write(ObjectId); 32 | message.Write(Index); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/ApplyImbuement.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class ApplyImbuement : ClientPacket 6 | { 7 | public uint ImbuementId { get; set; } 8 | 9 | public byte Slot { get; set; } 10 | 11 | public bool UseProtectionCharm { get; set; } 12 | 13 | public ApplyImbuement(Client client) 14 | { 15 | Client = client; 16 | PacketType = ClientPacketType.ApplyImbuement; 17 | } 18 | 19 | public override void ParseFromNetworkMessage(NetworkMessage message) 20 | { 21 | Slot = message.ReadByte(); 22 | ImbuementId = message.ReadUInt32(); 23 | UseProtectionCharm = message.ReadBool(); 24 | } 25 | 26 | public override void AppendToNetworkMessage(NetworkMessage message) 27 | { 28 | message.Write((byte)ClientPacketType.ApplyImbuement); 29 | message.Write(Slot); 30 | message.Write(ImbuementId); 31 | message.Write(UseProtectionCharm); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/BottomRow.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class BottomRow : Map 6 | { 7 | private const int MapSizeX = 18; 8 | private const int MapSizeY = 14; 9 | 10 | public BottomRow(Client client) 11 | { 12 | Client = client; 13 | PacketType = ServerPacketType.BottomRow; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | var position = Client.WorldMapStorage.GetPosition(); 19 | position.Y++; 20 | Client.WorldMapStorage.SetPosition(position.X, position.Y, position.Z); 21 | Client.WorldMapStorage.ScrollMap(0, -1); 22 | message.ReadArea(0, (MapSizeY - 1), (MapSizeX - 1), (MapSizeY - 1), Fields); 23 | } 24 | 25 | public override void AppendToNetworkMessage(NetworkMessage message) 26 | { 27 | message.Write((byte)ServerPacketType.BottomRow); 28 | base.AppendToNetworkMessage(message); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/StoreEvent.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class StoreEvent : ClientPacket 6 | { 7 | public uint OfferId { get; set; } 8 | 9 | public byte EventType { get; set; } 10 | 11 | public StoreEvent(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.StoreEvent; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | EventType = message.ReadByte(); 20 | if (EventType == 0 || EventType == 3) 21 | { 22 | OfferId = message.ReadUInt32(); 23 | } 24 | } 25 | 26 | public override void AppendToNetworkMessage(NetworkMessage message) 27 | { 28 | message.Write((byte)ClientPacketType.StoreEvent); 29 | message.Write(EventType); 30 | if (EventType == 0 || EventType == 3) 31 | { 32 | message.Write(OfferId); 33 | } 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/RightColumn.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class RightColumn : Map 6 | { 7 | private const int MapSizeX = 18; 8 | private const int MapSizeY = 14; 9 | 10 | public RightColumn(Client client) 11 | { 12 | Client = client; 13 | PacketType = ServerPacketType.RightColumn; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | var position = Client.WorldMapStorage.GetPosition(); 19 | position.X++; 20 | Client.WorldMapStorage.SetPosition(position.X, position.Y, position.Z); 21 | Client.WorldMapStorage.ScrollMap(-1, 0); 22 | message.ReadArea((MapSizeX - 1), 0, (MapSizeX - 1), (MapSizeY - 1), Fields); 23 | } 24 | 25 | public override void AppendToNetworkMessage(NetworkMessage message) 26 | { 27 | message.Write((byte)ServerPacketType.RightColumn); 28 | base.AppendToNetworkMessage(message); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/FieldData.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | using OXGaming.TibiaAPI.Utilities; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ServerPackets 5 | { 6 | public class FieldData : Map 7 | { 8 | public Position Position { get; set; } 9 | 10 | public FieldData(Client client) 11 | { 12 | Client = client; 13 | PacketType = ServerPacketType.FieldData; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | Position = message.ReadPosition(); 19 | var mapPosition = Client.WorldMapStorage.ToMap(Position); 20 | Client.WorldMapStorage.ResetField(mapPosition.X, mapPosition.Y, mapPosition.Z); 21 | message.ReadField(mapPosition.X, mapPosition.Y, mapPosition.Z, Fields); 22 | } 23 | 24 | public override void AppendToNetworkMessage(NetworkMessage message) 25 | { 26 | message.Write((byte)ServerPacketType.FieldData); 27 | message.Write(Position); 28 | base.AppendToNetworkMessage(message); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/RestingAreaState.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class RestingAreaState : ServerPacket 6 | { 7 | public string Text { get; set; } 8 | 9 | public bool HasAnActiveBonus { get; set; } 10 | public bool IsInRestingArea { get; set; } 11 | 12 | public RestingAreaState(Client client) 13 | { 14 | Client = client; 15 | PacketType = ServerPacketType.RestingAreaState; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | IsInRestingArea = message.ReadBool(); 21 | HasAnActiveBonus = message.ReadBool(); 22 | Text = message.ReadString(); 23 | } 24 | 25 | public override void AppendToNetworkMessage(NetworkMessage message) 26 | { 27 | message.Write((byte)ServerPacketType.RestingAreaState); 28 | message.Write(IsInRestingArea); 29 | message.Write(HasAnActiveBonus); 30 | message.Write(Text); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/TurnObject.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | using OXGaming.TibiaAPI.Utilities; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ClientPackets 5 | { 6 | public class TurnObject : ClientPacket 7 | { 8 | public Position Position { get; set; } 9 | 10 | public ushort ObjectId { get; set; } 11 | 12 | public byte StackPosition { get; set; } 13 | 14 | public TurnObject(Client client) 15 | { 16 | Client = client; 17 | PacketType = ClientPacketType.TurnObject; 18 | } 19 | 20 | public override void ParseFromNetworkMessage(NetworkMessage message) 21 | { 22 | Position = message.ReadPosition(); 23 | ObjectId = message.ReadUInt16(); 24 | StackPosition = message.ReadByte(); 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ClientPacketType.TurnObject); 30 | message.Write(Position); 31 | message.Write(ObjectId); 32 | message.Write(StackPosition); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/AutomapFlag.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | using OXGaming.TibiaAPI.Utilities; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ServerPackets 5 | { 6 | public class AutomapFlag : ServerPacket 7 | { 8 | public Position Position { get; set; } 9 | 10 | public string Description { get; set; } 11 | 12 | public byte IconId { get; set; } 13 | 14 | public AutomapFlag(Client client) 15 | { 16 | Client = client; 17 | PacketType = ServerPacketType.CyclopediaMapData; 18 | } 19 | 20 | public override void ParseFromNetworkMessage(NetworkMessage message) 21 | { 22 | Position = message.ReadPosition(); 23 | IconId = message.ReadByte(); 24 | Description = message.ReadString(); 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ServerPacketType.CyclopediaMapData); 30 | message.Write(Position); 31 | message.Write(IconId); 32 | message.Write(Description); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/MissileEffect.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | using OXGaming.TibiaAPI.Utilities; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ServerPackets 5 | { 6 | public class MissileEffect : ServerPacket 7 | { 8 | public Position FromPosition { get; set; } 9 | public Position ToPosition { get; set; } 10 | 11 | public byte Effect { get; set; } 12 | 13 | public MissileEffect(Client client) 14 | { 15 | Client = client; 16 | PacketType = ServerPacketType.MissileEffect; 17 | } 18 | 19 | public override void ParseFromNetworkMessage(NetworkMessage message) 20 | { 21 | FromPosition = message.ReadPosition(); 22 | ToPosition = message.ReadPosition(); 23 | Effect = message.ReadByte(); 24 | } 25 | 26 | public override void AppendToNetworkMessage(NetworkMessage message) 27 | { 28 | message.Write((byte)ServerPacketType.MissileEffect); 29 | message.Write(FromPosition); 30 | message.Write(ToPosition); 31 | message.Write(Effect); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/ChangeInContainer.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Appearances; 2 | using OXGaming.TibiaAPI.Constants; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ServerPackets 5 | { 6 | public class ChangeInContainer : ServerPacket 7 | { 8 | public ObjectInstance Item { get; set; } 9 | 10 | public ushort Index { get; set; } 11 | 12 | public byte ContainerId { get; set; } 13 | 14 | public ChangeInContainer(Client client) 15 | { 16 | Client = client; 17 | PacketType = ServerPacketType.ChangeInContainer; 18 | } 19 | 20 | public override void ParseFromNetworkMessage(NetworkMessage message) 21 | { 22 | ContainerId = message.ReadByte(); 23 | Index = message.ReadUInt16(); 24 | Item = message.ReadObjectInstance(); 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ServerPacketType.ChangeInContainer); 30 | message.Write(ContainerId); 31 | message.Write(Index); 32 | message.Write(Item); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CreateInContainer.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Appearances; 2 | using OXGaming.TibiaAPI.Constants; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ServerPackets 5 | { 6 | public class CreateInContainer : ServerPacket 7 | { 8 | public ObjectInstance Item { get; set; } 9 | 10 | public ushort Index { get; set; } 11 | 12 | public byte ContainerId { get; set; } 13 | 14 | public CreateInContainer(Client client) 15 | { 16 | Client = client; 17 | PacketType = ServerPacketType.CreateInContainer; 18 | } 19 | 20 | public override void ParseFromNetworkMessage(NetworkMessage message) 21 | { 22 | ContainerId = message.ReadByte(); 23 | Index = message.ReadUInt16(); 24 | Item = message.ReadObjectInstance(); 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ServerPacketType.CreateInContainer); 30 | message.Write(ContainerId); 31 | message.Write(Index); 32 | message.Write(Item); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/DeleteInContainer.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Appearances; 2 | using OXGaming.TibiaAPI.Constants; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ServerPackets 5 | { 6 | public class DeleteInContainer : ServerPacket 7 | { 8 | public ObjectInstance Item { get; set; } 9 | 10 | public ushort Index { get; set; } 11 | 12 | public byte ContainerId { get; set; } 13 | 14 | public DeleteInContainer(Client client) 15 | { 16 | Client = client; 17 | PacketType = ServerPacketType.DeleteInContainer; 18 | } 19 | 20 | public override void ParseFromNetworkMessage(NetworkMessage message) 21 | { 22 | ContainerId = message.ReadByte(); 23 | Index = message.ReadUInt16(); 24 | Item = message.ReadObjectInstance(); 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ServerPacketType.DeleteInContainer); 30 | message.Write(ContainerId); 31 | message.Write(Index); 32 | message.Write(Item); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/ToggleWrapState.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | using OXGaming.TibiaAPI.Utilities; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ClientPackets 5 | { 6 | public class ToggleWrapState : ClientPacket 7 | { 8 | public Position Position { get; set; } 9 | 10 | public ushort ObjectId { get; set; } 11 | 12 | public byte StackPosition { get; set; } 13 | 14 | public ToggleWrapState(Client client) 15 | { 16 | Client = client; 17 | PacketType = ClientPacketType.ToggleWrapState; 18 | } 19 | 20 | public override void ParseFromNetworkMessage(NetworkMessage message) 21 | { 22 | Position = message.ReadPosition(); 23 | ObjectId = message.ReadUInt16(); 24 | StackPosition = message.ReadByte(); 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ClientPacketType.ToggleWrapState); 30 | message.Write(Position); 31 | message.Write(ObjectId); 32 | message.Write(StackPosition); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/FullMap.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | using OXGaming.TibiaAPI.Utilities; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ServerPackets 5 | { 6 | public class FullMap : Map 7 | { 8 | private const int MapSizeX = 18; 9 | private const int MapSizeY = 14; 10 | 11 | public Position Position { get; set; } 12 | 13 | public FullMap(Client client) 14 | { 15 | Client = client; 16 | PacketType = ServerPacketType.FullMap; 17 | } 18 | 19 | public override void ParseFromNetworkMessage(NetworkMessage message) 20 | { 21 | Position = message.ReadPosition(); 22 | Client.WorldMapStorage.ResetMap(); 23 | Client.WorldMapStorage.SetPosition(Position.X, Position.Y, Position.Z); 24 | message.ReadArea(0, 0, (MapSizeX - 1), (MapSizeY - 1), Fields); 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ServerPacketType.FullMap); 30 | message.Write(Position); 31 | base.AppendToNetworkMessage(message); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/InspectPlayer.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class InspectPlayer : ClientPacket 6 | { 7 | public uint PlayerId { get; set; } 8 | 9 | public byte InspectionState { get; set; } 10 | 11 | public InspectPlayer(Client client) 12 | { 13 | Client = client; 14 | PacketType = ClientPacketType.InspectPlayer; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | // TODO: Determine inspection states. 20 | InspectionState = message.ReadByte(); 21 | if (InspectionState <= 5) 22 | { 23 | PlayerId = message.ReadUInt32(); 24 | } 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ClientPacketType.InspectPlayer); 30 | message.Write(InspectionState); 31 | if (InspectionState <= 5) 32 | { 33 | message.Write(PlayerId); 34 | } 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/DepotTileState.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class DepotTileState : ServerPacket 6 | { 7 | public bool EnableShowInMarket { get; set; } 8 | public bool EnableStow { get; set; } 9 | 10 | public DepotTileState(Client client) 11 | { 12 | Client = client; 13 | PacketType = ServerPacketType.SpecialContainersAvailable; 14 | } 15 | 16 | public override void ParseFromNetworkMessage(NetworkMessage message) 17 | { 18 | EnableStow = message.ReadBool(); 19 | if (Client.VersionNumber >= 12087995) 20 | { 21 | EnableShowInMarket = message.ReadBool(); 22 | } 23 | } 24 | 25 | public override void AppendToNetworkMessage(NetworkMessage message) 26 | { 27 | message.Write((byte)ServerPacketType.SpecialContainersAvailable); 28 | message.Write(EnableStow); 29 | if (Client.VersionNumber >= 12087995) 30 | { 31 | message.Write(EnableShowInMarket); 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/PlayerState.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class PlayerState : ServerPacket 6 | { 7 | public uint State { get; set; } 8 | 9 | public PlayerState(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.PlayerState; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | if (Client.VersionNumber >= 11400000) 18 | { 19 | State = message.ReadUInt32(); 20 | } 21 | else 22 | { 23 | State = message.ReadUInt16(); 24 | } 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ServerPacketType.PlayerState); 30 | if (Client.VersionNumber >= 11400000) 31 | { 32 | message.Write(State); 33 | } 34 | else 35 | { 36 | message.Write((ushort)State); 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/SellObject.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class SellObject : ClientPacket 6 | { 7 | public ushort ObjectId { get; set; } 8 | 9 | public byte Amount { get; set; } 10 | public byte Data { get; set; } 11 | 12 | public bool KeepEquipped { get; set; } 13 | 14 | public SellObject(Client client) 15 | { 16 | Client = client; 17 | PacketType = ClientPacketType.SellObject; 18 | } 19 | 20 | public override void ParseFromNetworkMessage(NetworkMessage message) 21 | { 22 | ObjectId = message.ReadUInt16(); 23 | Data = message.ReadByte(); 24 | Amount = message.ReadByte(); 25 | KeepEquipped = message.ReadBool(); 26 | } 27 | 28 | public override void AppendToNetworkMessage(NetworkMessage message) 29 | { 30 | message.Write((byte)ClientPacketType.SellObject); 31 | message.Write(ObjectId); 32 | message.Write(Data); 33 | message.Write(Amount); 34 | message.Write(KeepEquipped); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/SetTactics.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class SetTactics : ClientPacket 6 | { 7 | public byte AttackMode { get; set; } 8 | public byte ChaseMode { get; set; } 9 | public byte PvpMode { get; set; } 10 | public byte SecureMode { get; set; } 11 | 12 | public SetTactics(Client client) 13 | { 14 | Client = client; 15 | PacketType = ClientPacketType.SetTactics; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | AttackMode = message.ReadByte(); 21 | ChaseMode = message.ReadByte(); 22 | SecureMode = message.ReadByte(); 23 | PvpMode = message.ReadByte(); 24 | } 25 | 26 | public override void AppendToNetworkMessage(NetworkMessage message) 27 | { 28 | message.Write((byte)ClientPacketType.SetTactics); 29 | message.Write(AttackMode); 30 | message.Write(ChaseMode); 31 | message.Write(SecureMode); 32 | message.Write(PvpMode); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/SetTactics.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class SetTactics : ServerPacket 6 | { 7 | public byte AttackMode { get; set; } 8 | public byte ChaseMode { get; set; } 9 | public byte PvpMode { get; set; } 10 | public byte SecureMode { get; set; } 11 | 12 | public SetTactics(Client client) 13 | { 14 | Client = client; 15 | PacketType = ServerPacketType.SetTactics; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | AttackMode = message.ReadByte(); 21 | ChaseMode = message.ReadByte(); 22 | SecureMode = message.ReadByte(); 23 | PvpMode = message.ReadByte(); 24 | } 25 | 26 | public override void AppendToNetworkMessage(NetworkMessage message) 27 | { 28 | message.Write((byte)ServerPacketType.SetTactics); 29 | message.Write(AttackMode); 30 | message.Write(ChaseMode); 31 | message.Write(SecureMode); 32 | message.Write(PvpMode); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/MonsterCyclopediaNewDetails.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class MonsterCyclopediaNewDetails : ServerPacket 6 | { 7 | public ushort RaceId { get; set; } 8 | 9 | public MonsterCyclopediaNewDetails(Client client) 10 | { 11 | Client = client; 12 | PacketType = ServerPacketType.MonsterCyclopediaNewDetails; 13 | } 14 | 15 | public override void ParseFromNetworkMessage(NetworkMessage message) 16 | { 17 | RaceId = message.ReadUInt16(); 18 | 19 | if (Client.VersionNumber < 11900000 && Client.VersionNumber > 11596424) 20 | { 21 | message.ReadBytes(3); 22 | } 23 | } 24 | 25 | public override void AppendToNetworkMessage(NetworkMessage message) 26 | { 27 | message.Write((byte)ServerPacketType.MonsterCyclopediaNewDetails); 28 | message.Write(RaceId); 29 | if (Client.VersionNumber < 11900000 && Client.VersionNumber > 11596424) 30 | { 31 | //message.Write(Unknown); 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/ClientCheck.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | using OXGaming.TibiaAPI.Constants; 5 | 6 | namespace OXGaming.TibiaAPI.Network.ClientPackets 7 | { 8 | public class ClientCheck : ClientPacket 9 | { 10 | public List Data { get; } = new List(); 11 | 12 | public ClientCheck(Client client) 13 | { 14 | Client = client; 15 | PacketType = ClientPacketType.ClientCheck; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | Data.Capacity = (int)message.ReadUInt32(); 21 | for (var i = 0; i < Data.Capacity; ++i) 22 | { 23 | Data.Add(message.ReadByte()); 24 | } 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ClientPacketType.ClientCheck); 30 | var count = Math.Min(Data.Count, uint.MaxValue); 31 | message.Write((uint)count); 32 | for (var i = 0; i < count; ++i) 33 | { 34 | message.Write(Data[i]); 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/ClientCheck.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | using OXGaming.TibiaAPI.Constants; 5 | 6 | namespace OXGaming.TibiaAPI.Network.ServerPackets 7 | { 8 | public class ClientCheck : ServerPacket 9 | { 10 | public List Data { get; } = new List(); 11 | 12 | public ClientCheck(Client client) 13 | { 14 | Client = client; 15 | PacketType = ServerPacketType.ClientCheck; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | Data.Capacity = (int)message.ReadUInt32(); 21 | for (var i = 0; i < Data.Capacity; ++i) 22 | { 23 | Data.Add(message.ReadByte()); 24 | } 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ServerPacketType.ClientCheck); 30 | var count = Math.Min(Data.Count, uint.MaxValue); 31 | message.Write((uint)count); 32 | for (var i = 0; i < count; ++i) 33 | { 34 | message.Write(Data[i]); 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/CyclopediaStaticHouseData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | using OXGaming.TibiaAPI.Constants; 4 | 5 | namespace OXGaming.TibiaAPI.Network.ServerPackets 6 | { 7 | public class CyclopediaStaticHouseData : ServerPacket 8 | { 9 | public List HouseIds { get; } = new List(); 10 | 11 | public CyclopediaStaticHouseData(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.CyclopediaStaticHouseData; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | // TODO 20 | message.ReadBytes(11); // 00 00 00 00 00 00 00 03 03 01 00 21 | HouseIds.Capacity = message.ReadUInt16(); 22 | for (var i = 0; i < HouseIds.Capacity; ++i) 23 | { 24 | HouseIds.Add(message.ReadUInt32()); // This is an assumption, and hasn't been verified. 25 | } 26 | } 27 | 28 | public override void AppendToNetworkMessage(NetworkMessage message) 29 | { 30 | // TODO 31 | // message.Write((byte)ServerPacketType.CyclopediaStaticHouseData); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/BuddyGroup.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | using OXGaming.TibiaAPI.Constants; 5 | 6 | namespace OXGaming.TibiaAPI.Network.ClientPackets 7 | { 8 | public class BuddyGroup : ClientPacket 9 | { 10 | public List Groups { get; } = new List(); 11 | 12 | public BuddyGroup(Client client) 13 | { 14 | Client = client; 15 | PacketType = ClientPacketType.BuddyGroup; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | Groups.Capacity = message.ReadByte(); 21 | for (var i = 0; i < Groups.Capacity; ++i) 22 | { 23 | Groups.Add(message.ReadString()); 24 | } 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ClientPacketType.BuddyGroup); 30 | var count = Math.Min(Groups.Count, byte.MaxValue); 31 | message.Write((byte)count); 32 | for (var i = 0; i < count; ++i) 33 | { 34 | message.Write(Groups[i]); 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/TrackQuestFlags.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | using OXGaming.TibiaAPI.Constants; 5 | 6 | namespace OXGaming.TibiaAPI.Network.ClientPackets 7 | { 8 | public class TrackQuestflags : ClientPacket 9 | { 10 | public List Ids { get; } = new List(); 11 | 12 | public TrackQuestflags(Client client) 13 | { 14 | Client = client; 15 | PacketType = ClientPacketType.TrackQuestflags; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | Ids.Capacity = message.ReadByte(); 21 | for (var i = 0; i < Ids.Capacity; ++i) 22 | { 23 | Ids.Add(message.ReadUInt16()); 24 | } 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ClientPacketType.TrackQuestflags); 30 | var count = Math.Min(Ids.Count, byte.MaxValue); 31 | message.Write((byte)count); 32 | for (var i = 0; i < count; ++i) 33 | { 34 | message.Write(Ids[i]); 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/TournamentTicketAction.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class TournamentTicketAction : ClientPacket 6 | { 7 | public string Continent { get; set; } 8 | public string Town { get; set; } 9 | 10 | public byte Vocation { get; set; } 11 | public byte Type { get; set; } 12 | 13 | public TournamentTicketAction(Client client) 14 | { 15 | Client = client; 16 | PacketType = ClientPacketType.TournamentTicketAction; 17 | } 18 | 19 | public override void ParseFromNetworkMessage(NetworkMessage message) 20 | { 21 | Type = message.ReadByte(); 22 | Continent = message.ReadString(); 23 | Vocation = message.ReadByte(); 24 | Town = message.ReadString(); 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ClientPacketType.TournamentTicketAction); 30 | message.Write(Type); 31 | message.Write(Continent); 32 | message.Write(Vocation); 33 | message.Write(Town); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/Trappers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | using OXGaming.TibiaAPI.Constants; 5 | 6 | namespace OXGaming.TibiaAPI.Network.ServerPackets 7 | { 8 | public class Trappers : ServerPacket 9 | { 10 | public List CreatureIds { get; } = new List(); 11 | 12 | public Trappers(Client client) 13 | { 14 | Client = client; 15 | PacketType = ServerPacketType.Trappers; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | CreatureIds.Capacity = message.ReadByte(); 21 | for (var i = 0; i < CreatureIds.Capacity; ++i) 22 | { 23 | CreatureIds.Add(message.ReadUInt32()); 24 | } 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ServerPacketType.Trappers); 30 | var count = Math.Min(CreatureIds.Count, byte.MaxValue); 31 | message.Write((byte)count); 32 | for (var i = 0; i < count; ++i) 33 | { 34 | message.Write(CreatureIds[i]); 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /TibiaAPI/TibiaAPI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | OXGaming.TibiaAPI 6 | jo3bingham 7 | OXGaming 8 | 0.1.3 9 | 10 | 11 | 12 | true 13 | 14 | 15 | 16 | true 17 | 18 | 19 | 20 | 21 | 22 | all 23 | runtime; build; native; contentfiles; analyzers 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/GoPath.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | using OXGaming.TibiaAPI.Constants; 5 | 6 | namespace OXGaming.TibiaAPI.Network.ClientPackets 7 | { 8 | public class GoPath : ClientPacket 9 | { 10 | public List Directions { get; } = new List(); 11 | 12 | public GoPath(Client client) 13 | { 14 | Client = client; 15 | PacketType = ClientPacketType.GoPath; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | Directions.Capacity = message.ReadByte(); 21 | for (var i = 0; i < Directions.Capacity; ++i) 22 | { 23 | Directions.Add((Direction)message.ReadByte()); 24 | } 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | message.Write((byte)ClientPacketType.GoPath); 30 | var count = Math.Min(Directions.Count, byte.MaxValue); 31 | message.Write((byte)count); 32 | for (var i = 0; i < count; ++i) 33 | { 34 | message.Write((byte)Directions[i]); 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/UseObject.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | using OXGaming.TibiaAPI.Utilities; 3 | 4 | namespace OXGaming.TibiaAPI.Network.ClientPackets 5 | { 6 | public class UseObject : ClientPacket 7 | { 8 | public Position Position { get; set; } 9 | 10 | public ushort ObjectId { get; set; } 11 | 12 | public byte Index { get; set; } 13 | public byte StackPositionOrData { get; set; } 14 | 15 | public UseObject(Client client) 16 | { 17 | Client = client; 18 | PacketType = ClientPacketType.UseObject; 19 | } 20 | 21 | public override void ParseFromNetworkMessage(NetworkMessage message) 22 | { 23 | Position = message.ReadPosition(); 24 | ObjectId = message.ReadUInt16(); 25 | StackPositionOrData = message.ReadByte(); 26 | Index = message.ReadByte(); 27 | } 28 | 29 | public override void AppendToNetworkMessage(NetworkMessage message) 30 | { 31 | message.Write((byte)ClientPacketType.UseObject); 32 | message.Write(Position); 33 | message.Write(ObjectId); 34 | message.Write(StackPositionOrData); 35 | message.Write(Index); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ServerPackets/SetStoreButtonDeeplink.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ServerPackets 4 | { 5 | public class SetStoreButtonDeeplink : ServerPacket 6 | { 7 | public ushort UnknownUShort1 { get; set; } 8 | 9 | public byte StoreServiceType { get; set; } 10 | 11 | public SetStoreButtonDeeplink(Client client) 12 | { 13 | Client = client; 14 | PacketType = ServerPacketType.SetStoreButtonDeeplink; 15 | } 16 | 17 | public override void ParseFromNetworkMessage(NetworkMessage message) 18 | { 19 | if (Client.VersionNumber >= 11887288) 20 | { 21 | // TODO 22 | UnknownUShort1 = message.ReadUInt16(); 23 | } 24 | StoreServiceType = message.ReadByte(); 25 | } 26 | 27 | public override void AppendToNetworkMessage(NetworkMessage message) 28 | { 29 | // TODO 30 | message.Write((byte)ServerPacketType.SetStoreButtonDeeplink); 31 | if (Client.VersionNumber >= 11887288) 32 | { 33 | message.Write(UnknownUShort1); 34 | } 35 | message.Write(StoreServiceType); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/FeatureEvent.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class FeatureEvent : ClientPacket 6 | { 7 | public uint UnknownUInt1 { get; set; } 8 | 9 | public byte EventType { get; set; } 10 | 11 | public bool ShowWindow { get; set; } 12 | 13 | public FeatureEvent(Client client) 14 | { 15 | Client = client; 16 | PacketType = ClientPacketType.FeatureEvent; 17 | } 18 | 19 | public override void ParseFromNetworkMessage(NetworkMessage message) 20 | { 21 | EventType = message.ReadByte(); 22 | ShowWindow = message.ReadBool(); 23 | if (!ShowWindow) 24 | { 25 | // TODO 26 | UnknownUInt1 = message.ReadUInt32(); 27 | } 28 | } 29 | 30 | public override void AppendToNetworkMessage(NetworkMessage message) 31 | { 32 | message.Write((byte)ClientPacketType.FeatureEvent); 33 | message.Write(EventType); 34 | message.Write(ShowWindow); 35 | if (!ShowWindow) 36 | { 37 | message.Write(UnknownUInt1); 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /TibiaAPI/Network/ClientPackets/MonsterBonusEffectAction.cs: -------------------------------------------------------------------------------- 1 | using OXGaming.TibiaAPI.Constants; 2 | 3 | namespace OXGaming.TibiaAPI.Network.ClientPackets 4 | { 5 | public class MonsterBonusEffectAction : ClientPacket 6 | { 7 | public ushort RaceId { get; set; } 8 | 9 | public byte CharmId { get; set; } 10 | public byte Type { get; set; } 11 | 12 | public MonsterBonusEffectAction(Client client) 13 | { 14 | Client = client; 15 | PacketType = ClientPacketType.MonsterBonusEffectAction; 16 | } 17 | 18 | public override void ParseFromNetworkMessage(NetworkMessage message) 19 | { 20 | CharmId = message.ReadByte(); 21 | Type = message.ReadByte(); 22 | if (Type == 1) // Assign (2 = Unassign) 23 | { 24 | RaceId = message.ReadUInt16(); 25 | } 26 | } 27 | 28 | public override void AppendToNetworkMessage(NetworkMessage message) 29 | { 30 | message.Write((byte)ClientPacketType.MonsterBonusEffectAction); 31 | message.Write(CharmId); 32 | message.Write(Type); 33 | if (Type == 1) 34 | { 35 | message.Write(RaceId); 36 | } 37 | } 38 | } 39 | } 40 | --------------------------------------------------------------------------------