blob: 61d626b8228b783b19a385b2f8941d025938c8c1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
|
/*
* Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "Packet.h"
inline bool IsInstanceOnlyOpcode(uint32 opcode)
{
// TODO: Use names when known
switch (opcode)
{
case 0x000F: // Client
case 0x0111: // Client
case 0x03E4: // Client
case 0x0549: // Client
case 0x054C: // Client
case 0x055A: // Client
case 0x056C: // Client
case 0x057A: // Client
case 0x057B: // Client
case 0x05CC: // Client
case 0x05EA: // Client
case 0x05EC: // Client
case 0x05F9: // Client
case 0x05FB: // Client
case 0x074C: // Client
case 0x075B: // Client
case 0x076C: // Client
case 0x077B: // Client
case 0x077C: // Client
case 0x07CC: // Client
case 0x07DB: // Client
case 0x07EC: // Client
case 0x07FB: // Client
case 0x07FC: // Client
case 0x0827: // Client
case 0x0935: // Client
case 0x0F0C: // ClientSpell
case 0x0F10: // ClientSpell
case 0x0F1B: // ClientSpell
case 0x0F1C: // ClientSpell
case 0x0F20: // ClientSpell
case 0x0F2C: // ClientSpell
case 0x0F2F: // ClientSpell
case 0x0F3B: // ClientSpell
case 0x0F8B: // ClientSpell
case 0x0F8C: // ClientSpell
case 0x0F90: // ClientSpell
case 0x0F9F: // ClientSpell
case 0x0FA0: // ClientSpell
case 0x1382: // Client
case 0x14C9: // Client
case 0x154A: // Client
case 0x155A: // Client
case 0x155C: // Client
case 0x1567: // ClientQuest
case 0x156A: // Client
case 0x156B: // Client
case 0x157A: // Client
case 0x157B: // Client
case 0x15DC: // Client
case 0x15EB: // Client
case 0x15FB: // Client
case 0x170C: // ClientSpell
case 0x171C: // ClientSpell
case 0x171F: // ClientSpell
case 0x172C: // ClientSpell
case 0x172F: // ClientSpell
case 0x173C: // ClientSpell
case 0x173F: // ClientSpell
case 0x1740: // ClientSpell
case 0x1790: // ClientSpell
case 0x179B: // ClientSpell
case 0x179F: // ClientSpell
case 0x1D3E: // Client
case 0x1D82: // ClientQuest
case 0x1D83: // ClientQuest
case 0x1D85: // ClientQuest
case 0x1D87: // ClientQuest
case 0x1D93: // ClientQuest
case 0x1D96: // ClientQuest
case 0x1D97: // ClientQuest
case 0x1DA1: // ClientQuest
case 0x1DA2: // ClientQuest
case 0x1DA3: // ClientQuest
case 0x1DA4: // ClientQuest
case 0x1DA5: // ClientQuest
case 0x1DA7: // ClientQuest
case 0x1DB0: // Client
case 0x1DC2: // ClientQuest
case 0x1DC6: // ClientQuest
case 0x1DC7: // ClientQuest
case 0x1DD2: // ClientQuest
case 0x1DD3: // ClientQuest
case 0x1DD6: // ClientQuest
case 0x1DD7: // ClientQuest
case 0x1DD8: // ClientQuest
case 0x1DE4: // ClientQuest
case 0x1DE5: // ClientQuest
case 0x1DE7: // ClientQuest
case 0x1F02: // ClientQuest
case 0x1F06: // ClientQuest
case 0x1F07: // ClientQuest
case 0x1F0C: // ClientSpell
case 0x1F12: // ClientQuest
case 0x1F13: // ClientQuest
case 0x1F16: // ClientQuest
case 0x1F17: // ClientQuest
case 0x1F18: // ClientQuest
case 0x1F1C: // ClientSpell
case 0x1F1F: // ClientSpell
case 0x1F24: // ClientQuest
case 0x1F25: // ClientQuest
case 0x1F27: // ClientQuest
case 0x1F2C: // ClientSpell
case 0x1F2F: // ClientSpell
case 0x1F3C: // ClientSpell
case 0x1F3F: // ClientSpell
case 0x1F40: // ClientSpell
case 0x1F44: // ClientQuest
case 0x1F48: // ClientQuest
case 0x1F51: // ClientQuest
case 0x1F55: // ClientQuest
case 0x1F57: // ClientQuest
case 0x1F61: // ClientQuest
case 0x1F63: // ClientQuest
case 0x1F64: // ClientQuest
case 0x1F65: // ClientQuest
case 0x1F67: // ClientQuest
case 0x1F85: // ClientQuest
case 0x1F86: // ClientQuest
case 0x1F87: // ClientQuest
case 0x1F90: // ClientSpell
case 0x1F92: // ClientQuest
case 0x1F94: // ClientQuest
case 0x1F96: // ClientQuest
case 0x1F97: // ClientQuest
case 0x1F9B: // ClientSpell
case 0x1F9F: // ClientSpell
case 0x1FA1: // ClientQuest
case 0x1FA2: // ClientQuest
case 0x1FA3: // ClientQuest
case 0x1FA4: // ClientQuest
case 0x1FA5: // ClientQuest
case 0x1FA7: // ClientQuest
case 0x1FC2: // ClientQuest
case 0x1FC6: // ClientQuest
case 0x1FC7: // ClientQuest
case 0x1FD2: // ClientQuest
case 0x1FD3: // ClientQuest
case 0x1FD6: // ClientQuest
case 0x1FD7: // ClientQuest
case 0x1FD8: // ClientQuest
case 0x1FE4: // ClientQuest
case 0x1FE5: // ClientQuest
case 0x1FE7: // ClientQuest
return true;
default:
return false;
}
}
WorldPackets::ServerPacket::ServerPacket(OpcodeServer opcode, size_t initialSize /*= 200*/) : Packet(WorldPacket(opcode, initialSize))
{
if (IsInstanceOnlyOpcode(opcode))
_connectionIndex = CONNECTION_TYPE_INSTANCE;
}
|