Skip to content

Commit a45c45f

Browse files
committed
13.05 store adjustments + Transaction long/ulong
1 parent 6f0090d commit a45c45f

4 files changed

Lines changed: 29 additions & 12 deletions

File tree

TibiaAPI/Network/ServerPackets/StoreOffers.cs

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ public class StoreOffers : ServerPacket
1111
public List<Banner> Banners { get; } = new List<Banner>();
1212
public List<Offer> Offers { get; } = new List<Offer>();
1313
public List<string> Collections { get; } = new List<string>();
14+
public List<string> DisableReasons { get; } = new List<string>();
1415

1516
public string CategoryName { get; set; }
1617
public string DisplaySubCategory { get; set; }
@@ -40,6 +41,11 @@ public override void ParseFromNetworkMessage(NetworkMessage message)
4041

4142
DisplaySubCategory = message.ReadString();
4243

44+
DisableReasons.Capacity = message.ReadUInt16();
45+
for (var i = 0; i < DisableReasons.Capacity; ++i) {
46+
DisableReasons.Add(message.ReadString());
47+
}
48+
4349
Offers.Capacity = message.ReadUInt16();
4450
for (var i = 0; i < Offers.Capacity; ++i) {
4551
var offer = new Offer
@@ -62,10 +68,8 @@ public override void ParseFromNetworkMessage(NetworkMessage message)
6268
details.IsDisabled = message.ReadBool();
6369
if (details.IsDisabled) {
6470
details.DisabledReasons.Capacity = message.ReadByte();
65-
for (var x = 0; x < details.DisabledReasons.Capacity; ++x) {
66-
var disabledReason = message.ReadString();
67-
details.DisabledReasons.Add(disabledReason);
68-
}
71+
for (var x = 0; x < details.DisabledReasons.Capacity; ++x)
72+
details.DisabledReasons.Add(message.ReadUInt16());
6973
}
7074

7175
details.HighlightState = message.ReadByte();
@@ -160,9 +164,12 @@ public override void ParseFromNetworkMessage(NetworkMessage message)
160164
banner.Collection = message.ReadString();
161165
} else if (banner.Type == 4) {
162166
banner.OfferId = message.ReadUInt32();
167+
} else {
168+
banner.Unknown1 = message.ReadByte();
163169
}
164170

165-
banner.Unknown = message.ReadUInt16(); // Always 0x0200 (512)?
171+
banner.Unknown2 = message.ReadByte();
172+
banner.Unknown3 = message.ReadByte();
166173
Banners.Add(banner);
167174
}
168175
BannerSwitchDelay = message.ReadByte();
@@ -183,6 +190,10 @@ public override void AppendToNetworkMessage(NetworkMessage message)
183190

184191
message.Write(DisplaySubCategory);
185192

193+
count = Math.Min(DisableReasons.Count, ushort.MaxValue);
194+
for (var i = 0; i < count; ++i)
195+
message.Write(DisableReasons[i]);
196+
186197
count = Math.Min(Offers.Count, ushort.MaxValue);
187198
message.Write((ushort)count);
188199
for (var i = 0; i < count; ++i) {
@@ -283,8 +294,11 @@ public override void AppendToNetworkMessage(NetworkMessage message)
283294
message.Write(banner.Collection);
284295
} else if (banner.Type == 4) {
285296
message.Write(banner.OfferId);
297+
} else {
298+
message.Write(banner.Unknown1);
286299
}
287-
message.Write(banner.Unknown);
300+
message.Write(banner.Unknown2);
301+
message.Write(banner.Unknown3);
288302
}
289303
message.Write(BannerSwitchDelay);
290304
}

TibiaAPI/Network/ServerPackets/TransactionDetails.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@ public class TransactionDetails : ServerPacket
77
public string Character { get; set; }
88
public string Description { get; set; }
99

10+
public long SpentGold { get; set; }
11+
public ulong PiecePrice { get; set; }
12+
1013
public uint Id { get; set; }
11-
public uint PiecePrice { get; set; }
1214
public uint Timestamp { get; set; }
1315

1416
public int PurchasedTibiaCoins { get; set; }
15-
public int SpentGold { get; set; }
1617

1718
public byte Type { get; set; }
1819

@@ -30,8 +31,8 @@ public override void ParseFromNetworkMessage(NetworkMessage message)
3031
Description = message.ReadString();
3132
Character = message.ReadString();
3233
PurchasedTibiaCoins = message.ReadInt32();
33-
PiecePrice = message.ReadUInt32();
34-
SpentGold = message.ReadInt32();
34+
PiecePrice = message.ReadUInt64();
35+
SpentGold = message.ReadInt64();
3536
}
3637

3738
public override void AppendToNetworkMessage(NetworkMessage message)

TibiaAPI/Store/Banner.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ public class Banner
88

99
public uint OfferId { get; set; }
1010

11-
public ushort Unknown { get; set; }
11+
public byte Unknown1 { get; set; }
12+
public byte Unknown2 { get; set; }
13+
public byte Unknown3 { get; set; }
1214

1315
public byte Type { get; set; }
1416
}

TibiaAPI/Store/OfferDetails.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ namespace OXGaming.TibiaAPI.Store
44
{
55
public class OfferDetails
66
{
7-
public List<string> DisabledReasons { get; } = new List<string>();
7+
public List<ushort> DisabledReasons { get; } = new List<ushort>();
88

99
public uint Id { get; set; }
1010
public uint Price { get; set; }

0 commit comments

Comments
 (0)