Pol  Revision:cb584c9
pktdef.h
Go to the documentation of this file.
1 
12 #ifndef __PKTDEFH
13 #define __PKTDEFH
14 
15 #include "../clib/rawtypes.h"
16 
17 namespace Pol
18 {
19 namespace Core
20 {
21 #define LAYER_VENDOR_FOR_SALE 0x1A
22 #define LAYER_VENDOR_PLAYER_ITEMS 0x1B
23 #define LAYER_VENDOR_BUYABLE_ITEMS 0x1C
24 
25 #define ITEM_FLAG_FORCE_MOVABLE 0x20
26 #define ITEM_FLAG_HIDDEN 0x80
27 #define SPEECH_MAX_LEN 200
28 
29 #define MOVE_ITEM_FAILURE_CANNOT_PICK_THAT_UP 0
30 #define MOVE_ITEM_FAILURE_TOO_FAR_AWAY 1
31 #define MOVE_ITEM_FAILURE_OUT_OF_SIGHT 2
32 #define MOVE_ITEM_FAILURE_BELONGS_TO_OTHER 3
33 #define MOVE_ITEM_FAILURE_ALREADY_HOLDING_AN_ITEM 4
34 #define MOVE_ITEM_FAILURE_ALREADY_WORN 5
35 #define MOVE_ITEM_FAILURE_ILLEGAL_EQUIP 5
36 
37 // none of the below are right, BTW.
38 #define MOVE_ITEM_FAILURE_UNKNOWN 5
39 #define MOVE_ITEM_FAILURE_ALREADY_PICKED_UP 5
40 #define MOVE_ITEM_FAILURE_ALREADY_CARRYING 5
41 
42 #define MSGOPT_33_FLOW_PAUSE 1
43 #define MSGOPT_33_FLOW_RESTART 0
44 
45 
46 #define SPELL_EFFECT_FIREBALL 0x36D4
47 #define SPELL_EFFECT_EBOLT 0x379F
48 
49 #define DIR_FLAG_RUN 0x80
50 
51 /* Notes on 'dir': bit 0x80 is 'run' bit. Mask 0x78 must be left zero or the directions
52 will display wrong. Only mask 0x7 is used, for facing.
53 */
54 
55 #define CHAR_HILITE_INNOCENT 0x01
56 #define CHAR_HILITE_FRIEND 0x02
57 #define CHAR_HILITE_ATTACKABLE 0x03
58 #define CHAR_HILITE_CRIMINAL 0x04
59 #define CHAR_HILITE_ENEMY 0x05
60 #define CHAR_HILITE_MURDERER 0x06
61 #define CHAR_HILITE_INVUL 0x07
62 
63 #define LOGIN_ERROR_NO_ACCOUNT 0x00
64 #define LOGIN_ERROR_OTHER_CHAR_INUSE 0x01
65 #define LOGIN_ERROR_ACCOUNT_BLOCKED 0x02
66 #define LOGIN_ERROR_WRONG_PASSWORD 0x03
67 // 04 "some problem communicating with Origin. Please restart Ultima Online and try again."
68 // 05 same
69 #define LOGIN_ERROR_MISC 0x06
70 #define LOGIN_ERROR_IDLE 0xFE
71 #define LOGIN_ERROR_COMMS 0xFF
72 
73 #define URL_MAX_LEN 200
74 
75 #define PKTIN_02_FACING_MASK 0x07
76 #define PKTIN_02_DIR_RUNNING_BIT 0x80
77 #define PKTIN_02_SIZE 0x07
78 #define PKTIN_02_MOUNT_RUN 80
79 #define PKTIN_02_MOUNT_WALK 180
80 #define PKTIN_02_FOOT_RUN 180
81 #define PKTIN_02_FOOT_WALK 380
82 #define PKTIN_02_ASYNCHRONOUS 400
83 
84 #define STATTYPE_STATWINDOW 4
85 #define STATTYPE_SKILLWINDOW 5
86 
87 #define RESURRECT_CHOICE_SELECT 0u
88 #define RESURRECT_CHOICE_INSTARES 1u
89 #define RESURRECT_CHOICE_GHOST 2u
90 
91 #define MSG71_SUBCMD_2_CONSTANT \
92  { \
93  0x01, 0x91, 0x84, 0x0A, 0x06, 0x1E, 0xFD, 0x01, 0x0B, 0x15, 0x2E, 0x01, 0x0B, 0x17, 0x0B, \
94  0x01, 0xBB, 0x20, 0x46, 0x04, 0x66, 0x13, 0xF8, 0x00, 0x00, 0x0E, 0x75, 0x00, 0x00 \
95  }
96 
97 // Changed 1/9/2007 MuadDib per OSI packet logs.
98 const u8 CHAR_FLAG1_INVISIBLE = 0x80;
99 const u8 CHAR_FLAG1_WARMODE = 0x40;
101 const u8 CHAR_FLAG1_POISONED = 0x04;
102 const u8 CHAR_FLAG1_FLYING = 0x04; // since client 7.0
103 const u8 CHAR_FLAG1_CANALTER = 0x02; // only Paperdoll packet
104 const u8 CHAR_FLAG1_GENDER = 0x02;
105 const u8 CHAR_FLAG1_NORMAL = 0x00;
106 
107 #define RESPONSE_MAX_LEN 200
108 
109 #define PKTOUT_53_WARN_NO_CHARACTER 1u
110 #define PKTOUT_53_WARN_CHARACTER_EXISTS 2u
111 #define PKTOUT_53_WARN_CANT_CONNECT_1 3u
112 #define PKTOUT_53_WARN_CANT_CONNECT_2 4u
113 #define PKTOUT_53_WARN_CHARACTER_IN_WORLD 5u
114 #define PKTOUT_53_WARN_LOGIN_PROBLEM 6u
115 #define PKTOUT_53_WARN_CHARACTER_IDLE 7u
116 #define PKTOUT_53_WARN_CANT_CONNECT_3 8u
117 
118 #define PKTOUT_54_FLAG_REPEAT 0u
119 #define PKTOUT_54_FLAG_SINGLEPLAY 1u
120 
121 #define PKTOUT_65_TYPE_NONE 0
122 #define PKTOUT_65_TYPE_RAIN 1
123 #define PKTOUT_65_TYPE_SNOW 2
124 #define PKTOUT_65_WTYPE_START_TO_RAIN 0x00
125 #define PKTOUT_65_WTYPE_FIERCE_STORM 0x01
126 #define PKTOUT_65_WTYPE_BEGIN_TO_SNOW 0x02
127 #define PKTOUT_65_WTYPE_STORM_BREWING 0x03
128 #define PKTOUT_65_WTYPE_STOP_WEATHER 0xFF
129 
130 #define PKTOUT_A6_TYPE_TIP 0u
131 #define PKTOUT_A6_TYPE_UPDATE 1u
132 
133 struct PKTOUT_A9
134 {
135  enum
136  {
137  FLAG_UNK_0x0001 = 0x0001, // ?
138  FLAG_SEND_CONFIG_REQ_LOGOUT = 0x0002, // Sends Configuration to Server
140  FLAG_ENABLE_NPC_POPUP_MENUS = 0x0008, // Enable NPC PopUp Menus
141  FLAG_SINGLE_CHARACTER = 0x0010, // Use 1 Character only
142  FLAG_AOS_FEATURES = 0x0020, // Age of Shadows
143  FLAG_UPTO_SIX_CHARACTERS = 0x0040, // Use up to 6 Characters (not only 5)
144  FLAG_SE_FEATURES = 0x0080, // Samurai Empire
145  FLAG_ML_FEATURES = 0x0100, // Mondain's Legacy
146  FLAG_SEND_UO3D_TYPE = 0x0400, // KR and UO:SA will send 0xE1 packet
147  FLAG_UNK_0x0800 = 0x0800, // ?
148  FLAG_UPTO_SEVEN_CHARACTERS = 0x1000, // Use up to 7 Characters
149  FLAG_UNK_0x2000 = 0x2000 // ?
150  };
151 };
152 #define PKTOUT_B7_MAX_CHARACTERS 256
153 
154 #define PKTOUT_BA_ARROW_OFF 0u
155 #define PKTOUT_BA_ARROW_ON 1u
156 
157 struct PKTOUT_BC
158 {
159  enum
160  {
161  SEASON_SPRING = 0,
165  SEASON_DESOLATION
166  };
167  enum
168  {
169  PLAYSOUND_NO = 0,
170  PLAYSOUND_YES = 1
171  };
172 };
173 
175 {
176  enum
177  {
178  PAPERDOLL = 0x1,
179  STATUS = 0x2,
180  CHARPROFILE = 0x8,
181  CONTAINER = 0xC
182  };
183 };
185 {
186  enum
187  {
188  STR_MASK = 0x30,
189  DEX_MASK = 0x0C,
190  INT_MASK = 0x03
191  };
192  enum
193  {
196  MODE_LOCKED
197  };
198 };
199 
200 struct PKTOUT_C0
201 {
202  enum
203  {
204  EFFECT_MOVING = 0x00,
205  EFFECT_LIGHTNING = 0x01,
206  EFFECT_FIXEDXYZ = 0x02,
207  EFFECT_FIXEDFROM = 0x03
208  };
209 };
210 }
211 }
212 
213 #endif
unsigned char u8
Definition: rawtypes.h:25
const u8 CHAR_FLAG1_FLYING
Definition: pktdef.h:102
const u8 CHAR_FLAG1_INVISIBLE
Definition: pktdef.h:98
const u8 CHAR_FLAG1_POISONED
Definition: pktdef.h:101
const u8 CHAR_FLAG1_NORMAL
Definition: pktdef.h:105
const u8 CHAR_FLAG1_WARMODE
Definition: pktdef.h:99
const u8 CHAR_FLAG1_YELLOWHEALTH
Definition: pktdef.h:100
const u8 CHAR_FLAG1_GENDER
Definition: pktdef.h:104
Definition: berror.cpp:12
const u8 CHAR_FLAG1_CANALTER
Definition: pktdef.h:103