17
17
18
18
#include " LootPackets.h"
19
19
20
- ByteBuffer& operator <<(ByteBuffer& data, WorldPackets::Loot::LootItemData const & lootItem)
20
+ namespace WorldPackets ::Loot
21
21
{
22
- data.WriteBits (lootItem.Type , 2 );
23
- data.WriteBits (lootItem.UIType , 3 );
24
- data.WriteBit (lootItem.CanTradeToTapList );
22
+ static ByteBuffer& operator <<(ByteBuffer& data, LootItemData const & lootItem)
23
+ {
24
+ data << Bits<2 >(lootItem.Type );
25
+ data << Bits<3 >(lootItem.UIType );
26
+ data << Bits<1 >(lootItem.CanTradeToTapList );
25
27
data.FlushBits ();
26
28
data << lootItem.Loot ; // WorldPackets::Item::ItemInstance
27
29
data << uint32 (lootItem.Quantity );
@@ -30,12 +32,22 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Loot::LootItemData const&
30
32
return data;
31
33
}
32
34
33
- void WorldPackets::Loot::LootUnit::Read ()
35
+ static ByteBuffer& operator <<(ByteBuffer& data, LootCurrency const & lootCurrency)
36
+ {
37
+ data << uint32 (lootCurrency.CurrencyID );
38
+ data << uint32 (lootCurrency.Quantity );
39
+ data << uint8 (lootCurrency.LootListID );
40
+ data << Bits<3 >(lootCurrency.UIType );
41
+ data.FlushBits ();
42
+ return data;
43
+ }
44
+
45
+ void LootUnit::Read ()
34
46
{
35
47
_worldPacket >> Unit;
36
48
}
37
49
38
- WorldPacket const * WorldPackets::Loot:: LootResponse::Write ()
50
+ WorldPacket const * LootResponse::Write ()
39
51
{
40
52
_worldPacket << Owner;
41
53
_worldPacket << LootObj;
@@ -55,18 +67,12 @@ WorldPacket const* WorldPackets::Loot::LootResponse::Write()
55
67
_worldPacket << item;
56
68
57
69
for (LootCurrency const & currency : Currencies)
58
- {
59
- _worldPacket << uint32 (currency.CurrencyID );
60
- _worldPacket << uint32 (currency.Quantity );
61
- _worldPacket << uint8 (currency.LootListID );
62
- _worldPacket.WriteBits (currency.UIType , 3 );
63
- _worldPacket.FlushBits ();
64
- }
70
+ _worldPacket << currency;
65
71
66
72
return &_worldPacket;
67
73
}
68
74
69
- void WorldPackets::Loot:: LootItem::Read ()
75
+ void LootItem::Read ()
70
76
{
71
77
uint32 Count;
72
78
_worldPacket >> Count;
@@ -78,10 +84,10 @@ void WorldPackets::Loot::LootItem::Read()
78
84
_worldPacket >> Loot[i].LootListID ;
79
85
}
80
86
81
- IsSoftInteract = _worldPacket. ReadBit ( );
87
+ _worldPacket >> Bits< 1 >(IsSoftInteract );
82
88
}
83
89
84
- void WorldPackets::Loot:: MasterLootItem::Read ()
90
+ void MasterLootItem::Read ()
85
91
{
86
92
uint32 Count;
87
93
_worldPacket >> Count;
@@ -95,7 +101,7 @@ void WorldPackets::Loot::MasterLootItem::Read()
95
101
}
96
102
}
97
103
98
- WorldPacket const * WorldPackets::Loot:: LootRemoved::Write ()
104
+ WorldPacket const * LootRemoved::Write ()
99
105
{
100
106
_worldPacket << Owner;
101
107
_worldPacket << LootObj;
@@ -104,55 +110,55 @@ WorldPacket const* WorldPackets::Loot::LootRemoved::Write()
104
110
return &_worldPacket;
105
111
}
106
112
107
- void WorldPackets::Loot:: LootRelease::Read ()
113
+ void LootRelease::Read ()
108
114
{
109
115
_worldPacket >> Unit;
110
116
}
111
117
112
- void WorldPackets::Loot:: LootMoney::Read ()
118
+ void LootMoney::Read ()
113
119
{
114
- IsSoftInteract = _worldPacket. ReadBit ( );
120
+ _worldPacket >> Bits< 1 >(IsSoftInteract );
115
121
}
116
122
117
- WorldPacket const * WorldPackets::Loot:: LootMoneyNotify::Write ()
123
+ WorldPacket const * LootMoneyNotify::Write ()
118
124
{
119
125
_worldPacket << uint64 (Money);
120
126
_worldPacket << uint64 (MoneyMod);
121
- _worldPacket. WriteBit (SoleLooter);
127
+ _worldPacket << Bits< 1 > (SoleLooter);
122
128
_worldPacket.FlushBits ();
123
129
124
130
return &_worldPacket;
125
131
}
126
132
127
- WorldPacket const * WorldPackets::Loot:: CoinRemoved::Write ()
133
+ WorldPacket const * CoinRemoved::Write ()
128
134
{
129
135
_worldPacket << LootObj;
130
136
131
137
return &_worldPacket;
132
138
}
133
139
134
- void WorldPackets::Loot:: LootRoll::Read ()
140
+ void LootRoll::Read ()
135
141
{
136
142
_worldPacket >> LootObj;
137
143
_worldPacket >> LootListID;
138
144
_worldPacket >> RollType;
139
145
}
140
146
141
- WorldPacket const * WorldPackets::Loot:: LootReleaseResponse::Write ()
147
+ WorldPacket const * LootReleaseResponse::Write ()
142
148
{
143
149
_worldPacket << LootObj;
144
150
_worldPacket << Owner;
145
151
146
152
return &_worldPacket;
147
153
}
148
154
149
- WorldPacket const * WorldPackets::Loot:: LootList::Write ()
155
+ WorldPacket const * LootList::Write ()
150
156
{
151
157
_worldPacket << Owner;
152
158
_worldPacket << LootObj;
153
159
154
- _worldPacket. WriteBit (Master. has_value () );
155
- _worldPacket. WriteBit (RoundRobinWinner. has_value () );
160
+ _worldPacket << OptionalInit (Master);
161
+ _worldPacket << OptionalInit (RoundRobinWinner);
156
162
157
163
_worldPacket.FlushBits ();
158
164
@@ -165,12 +171,12 @@ WorldPacket const* WorldPackets::Loot::LootList::Write()
165
171
return &_worldPacket;
166
172
}
167
173
168
- void WorldPackets::Loot:: SetLootSpecialization::Read ()
174
+ void SetLootSpecialization::Read ()
169
175
{
170
176
_worldPacket >> SpecID;
171
177
}
172
178
173
- WorldPacket const * WorldPackets::Loot:: StartLootRoll::Write ()
179
+ WorldPacket const * StartLootRoll::Write ()
174
180
{
175
181
_worldPacket << LootObj;
176
182
_worldPacket << int32 (MapID);
@@ -184,36 +190,36 @@ WorldPacket const* WorldPackets::Loot::StartLootRoll::Write()
184
190
return &_worldPacket;
185
191
}
186
192
187
- WorldPacket const * WorldPackets::Loot:: LootRollBroadcast::Write ()
193
+ WorldPacket const * LootRollBroadcast::Write ()
188
194
{
189
195
_worldPacket << LootObj;
190
196
_worldPacket << Player;
191
197
_worldPacket << int32 (Roll);
192
198
_worldPacket << uint8 (RollType);
193
199
_worldPacket << int32 (DungeonEncounterID);
194
200
_worldPacket << Item;
195
- _worldPacket. WriteBit (Autopassed);
196
- _worldPacket. WriteBit (OffSpec);
201
+ _worldPacket << Bits< 1 > (Autopassed);
202
+ _worldPacket << Bits< 1 > (OffSpec);
197
203
_worldPacket.FlushBits ();
198
204
199
205
return &_worldPacket;
200
206
}
201
207
202
- WorldPacket const * WorldPackets::Loot:: LootRollWon::Write ()
208
+ WorldPacket const * LootRollWon::Write ()
203
209
{
204
210
_worldPacket << LootObj;
205
211
_worldPacket << Winner;
206
212
_worldPacket << int32 (Roll);
207
213
_worldPacket << uint8 (RollType);
208
214
_worldPacket << int32 (DungeonEncounterID);
209
215
_worldPacket << Item;
210
- _worldPacket. WriteBit (MainSpec);
216
+ _worldPacket << Bits< 1 > (MainSpec);
211
217
_worldPacket.FlushBits ();
212
218
213
219
return &_worldPacket;
214
220
}
215
221
216
- WorldPacket const * WorldPackets::Loot:: LootAllPassed::Write ()
222
+ WorldPacket const * LootAllPassed::Write ()
217
223
{
218
224
_worldPacket << LootObj;
219
225
_worldPacket << int32 (DungeonEncounterID);
@@ -222,7 +228,7 @@ WorldPacket const* WorldPackets::Loot::LootAllPassed::Write()
222
228
return &_worldPacket;
223
229
}
224
230
225
- WorldPacket const * WorldPackets::Loot:: LootRollsComplete::Write ()
231
+ WorldPacket const * LootRollsComplete::Write ()
226
232
{
227
233
_worldPacket << LootObj;
228
234
_worldPacket << uint8 (LootListID);
@@ -231,7 +237,7 @@ WorldPacket const* WorldPackets::Loot::LootRollsComplete::Write()
231
237
return &_worldPacket;
232
238
}
233
239
234
- WorldPacket const * WorldPackets::Loot:: MasterLootCandidateList::Write ()
240
+ WorldPacket const * MasterLootCandidateList::Write ()
235
241
{
236
242
_worldPacket << LootObj;
237
243
_worldPacket << uint32 (Players.size ());
@@ -241,9 +247,10 @@ WorldPacket const* WorldPackets::Loot::MasterLootCandidateList::Write()
241
247
return &_worldPacket;
242
248
}
243
249
244
- WorldPacket const * WorldPackets::Loot:: AELootTargets::Write ()
250
+ WorldPacket const * AELootTargets::Write ()
245
251
{
246
252
_worldPacket << uint32 (Count);
247
253
248
254
return &_worldPacket;
249
255
}
256
+ }
0 commit comments