00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00044 #ifndef NEWCLIENT_H
00045 #define NEWCLIENT_H
00046
00053 #define MAXSOCKBUF (64 * 1024)
00054
00059 #define MAXSOCKBUF_IN (3 * 1024)
00060
00066 #define CS_QUERY_YESNO 0x1
00067
00068 #define CS_QUERY_SINGLECHAR 0x2
00069
00070 #define CS_QUERY_HIDEINPUT 0x4
00071
00079 #define FLOAT_MULTI 100000
00080
00081 #define FLOAT_MULTF 100000.0
00082
00088 #define CS_STAT_HP 1
00089 #define CS_STAT_MAXHP 2
00090 #define CS_STAT_SP 3
00091 #define CS_STAT_MAXSP 4
00092 #define CS_STAT_STR 5
00093 #define CS_STAT_INT 6
00094 #define CS_STAT_WIS 7
00095 #define CS_STAT_DEX 8
00096 #define CS_STAT_CON 9
00097 #define CS_STAT_CHA 10
00098 #define CS_STAT_EXP 11
00099 #define CS_STAT_LEVEL 12
00100 #define CS_STAT_WC 13
00101 #define CS_STAT_AC 14
00102 #define CS_STAT_DAM 15
00103 #define CS_STAT_ARMOUR 16
00104 #define CS_STAT_SPEED 17
00105 #define CS_STAT_FOOD 18
00106 #define CS_STAT_WEAP_SP 19
00107 #define CS_STAT_RANGE 20
00108 #define CS_STAT_TITLE 21
00109 #define CS_STAT_POW 22
00110 #define CS_STAT_GRACE 23
00111 #define CS_STAT_MAXGRACE 24
00112 #define CS_STAT_FLAGS 25
00113 #define CS_STAT_WEIGHT_LIM 26
00114 #define CS_STAT_EXT_TITLE 27
00115 #define CS_STAT_REG_HP 28
00116 #define CS_STAT_REG_MANA 29
00117 #define CS_STAT_REG_GRACE 30
00118 #define CS_STAT_TARGET_HP 31
00119
00120 #define CS_STAT_ACTION_TIME 36
00121
00122 #define CS_STAT_RESIST_START 100
00123 #define CS_STAT_RESIST_END 117
00124 #define CS_STAT_RES_PHYS 100
00125 #define CS_STAT_RES_MAG 101
00126 #define CS_STAT_RES_FIRE 102
00127 #define CS_STAT_RES_ELEC 103
00128 #define CS_STAT_RES_COLD 104
00129 #define CS_STAT_RES_CONF 105
00130 #define CS_STAT_RES_ACID 106
00131 #define CS_STAT_RES_DRAIN 107
00132 #define CS_STAT_RES_GHOSTHIT 108
00133 #define CS_STAT_RES_POISON 109
00134 #define CS_STAT_RES_SLOW 110
00135 #define CS_STAT_RES_PARA 111
00136 #define CS_STAT_TIME 112
00137 #define CS_STAT_RES_FEAR 113
00138 #define CS_STAT_RES_DEPLETE 114
00139 #define CS_STAT_RES_DEATH 115
00140 #define CS_STAT_RES_HOLYWORD 116
00141 #define CS_STAT_RES_BLIND 117
00142
00143 #define CS_STAT_SKILLEXP_START 118
00144 #define CS_STAT_SKILLEXP_END 129
00145 #define CS_STAT_SKILLEXP_AGILITY 118
00146 #define CS_STAT_SKILLEXP_AGLEVEL 119
00147 #define CS_STAT_SKILLEXP_PERSONAL 120
00148 #define CS_STAT_SKILLEXP_PELEVEL 121
00149 #define CS_STAT_SKILLEXP_MENTAL 122
00150 #define CS_STAT_SKILLEXP_MELEVEL 123
00151 #define CS_STAT_SKILLEXP_PHYSIQUE 124
00152 #define CS_STAT_SKILLEXP_PHLEVEL 125
00153 #define CS_STAT_SKILLEXP_MAGIC 126
00154 #define CS_STAT_SKILLEXP_MALEVEL 127
00155 #define CS_STAT_SKILLEXP_WISDOM 128
00156 #define CS_STAT_SKILLEXP_WILEVEL 129
00157
00158 #define CS_STAT_PROT_START 130
00159 #define CS_STAT_PROT_END 149
00160
00167 #define SF_FIREON 1
00168 #define SF_RUNON 2
00169 #define SF_BLIND 4
00170 #define SF_XRAYS 8
00171 #define SF_INFRAVISION 16
00172
00182 #define NDI_WHITE 0
00183
00184 #define NDI_ORANGE 1
00185
00186 #define NDI_NAVY 2
00187
00188 #define NDI_RED 3
00189
00190 #define NDI_GREEN 4
00191
00192 #define NDI_BLUE 5
00193
00194 #define NDI_GREY 6
00195
00196 #define NDI_BROWN 7
00197
00198 #define NDI_PURPLE 8
00199
00200 #define NDI_PINK 9
00201
00202 #define NDI_YELLOW 10
00203
00204 #define NDI_DK_NAVY 11
00205
00206 #define NDI_DK_GREEN 12
00207
00208 #define NDI_DK_ORANGE 17
00209
00211 #define NDI_MAX_COLOR 11
00212
00213 #define NDI_COLOR_MASK 0xff
00214
00215 #define NDI_FLAG_MASK 0xffff
00216
00218 #define NDI_SAY 0x0100
00219
00220 #define NDI_SHOUT 0x0200
00221
00222 #define NDI_TELL 0x0400
00223
00224 #define NDI_PLAYER 0x0800
00225
00226 #define NDI_EMOTE 0x01000
00227
00230 #define NDI_ANIM 0x02000
00231
00232 #define NDI_UNIQUE 0x10000
00233
00234 #define NDI_ALL 0x20000
00235
00243 enum
00244 {
00246 a_none,
00248 a_readied,
00250 a_wielded,
00252 a_worn,
00254 a_active,
00256 a_applied
00257 };
00258
00260 #define F_APPLIED 0x000F
00261
00262 #define F_ETHEREAL 0x0080
00263
00264 #define F_INVISIBLE 0x0100
00265
00266 #define F_UNPAID 0x0200
00267
00268 #define F_MAGIC 0x0400
00269
00270 #define F_CURSED 0x0800
00271
00272 #define F_DAMNED 0x1000
00273
00274 #define F_OPEN 0x2000
00275
00276 #define F_NOPICK 0x4000
00277
00278 #define F_LOCKED 0x8000
00279
00280 #define F_TRAPPED 0x10000
00281
00288 #define UPD_LOCATION 1
00289
00290 #define UPD_FLAGS 2
00291
00292 #define UPD_WEIGHT 4
00293
00294 #define UPD_FACE 8
00295
00296 #define UPD_NAME 16
00297
00298 #define UPD_ANIM 32
00299
00300 #define UPD_ANIMSPEED 64
00301
00302 #define UPD_NROF 128
00303
00304 #define UPD_DIRECTION 256
00305
00306 #define UPD_TYPE 512
00307
00308 #define UPD_ANIM_NO_INV 1024
00309
00314 typedef struct SockList
00315 {
00317 int len;
00318
00320 unsigned char *buf;
00321 } SockList;
00322
00324 typedef struct CS_Stats
00325 {
00327 int ibytes;
00328
00330 int obytes;
00331
00333 short max_conn;
00334
00336 time_t time_start;
00337 } CS_Stats;
00338
00340 typedef struct _srv_client_files
00341 {
00343 char *file;
00344
00346 size_t len;
00347
00349 size_t len_ucomp;
00350
00352 unsigned long crc;
00353 } _srv_client_files;
00354
00356 #define SRV_FILE_SPELLS_FILENAME "client_spells_v2"
00357
00359 enum
00360 {
00361 SRV_CLIENT_SKILLS,
00362 SRV_CLIENT_SPELLS,
00363 SRV_CLIENT_SETTINGS,
00364 SRV_CLIENT_ANIMS,
00365 SRV_CLIENT_BMAPS,
00366 SRV_CLIENT_HFILES,
00367 SRV_FILE_UPDATES,
00368 SRV_FILE_SPELLS_V2,
00369
00370 SRV_CLIENT_FILES
00371 };
00372
00373 extern _srv_client_files SrvClientFiles[SRV_CLIENT_FILES];
00374
00375 extern CS_Stats cst_tot, cst_lst;
00376
00377 #define DATA_PACKED_CMD 0x80
00378
00380 enum
00381 {
00382 DATA_CMD_NO,
00383 DATA_CMD_SKILL_LIST,
00384 DATA_CMD_SPELL_LIST,
00385 DATA_CMD_SETTINGS_LIST,
00386 DATA_CMD_ANIM_LIST,
00387 DATA_CMD_BMAP_LIST,
00388 DATA_CMD_HFILES_LIST
00389 };
00390
00392 #define SOCKET_SET_BINARY_CMD(__s__, __bc__) \
00393 (__s__)->buf[0] = __bc__; \
00394 (__s__)->len = 1
00395
00402 enum
00403 {
00404 BINARY_CMD_COMC = 1,
00405 BINARY_CMD_MAP2,
00406 BINARY_CMD_DRAWINFO,
00407 BINARY_CMD_DRAWINFO2,
00408 BINARY_CMD_FILE_UPD,
00409 BINARY_CMD_ITEMX,
00410 BINARY_CMD_SOUND,
00411 BINARY_CMD_TARGET,
00412 BINARY_CMD_UPITEM,
00413 BINARY_CMD_DELITEM,
00414 BINARY_CMD_STATS,
00415 BINARY_CMD_IMAGE,
00416 BINARY_CMD_FACE1,
00417 BINARY_CMD_ANIM,
00418 BINARY_CMD_SKILLRDY,
00419 BINARY_CMD_PLAYER,
00420 BINARY_CMD_MAPSTATS,
00421 BINARY_CMD_SPELL_LIST,
00422 BINARY_CMD_SKILL_LIST,
00423 BINARY_CMD_CLEAR,
00424 BINARY_CMD_ADDME_SUC,
00425 BINARY_CMD_ADDME_FAIL,
00426 BINARY_CMD_VERSION,
00427 BINARY_CMD_BYE,
00428 BINARY_CMD_SETUP,
00429 BINARY_CMD_QUERY,
00430 BINARY_CMD_DATA,
00431 BINARY_CMD_NEW_CHAR,
00432 BINARY_CMD_ITEMY,
00433 BINARY_CMD_BOOK,
00434 BINARY_CMD_PARTY,
00435 BINARY_CMD_QUICKSLOT,
00436 BINARY_CMD_SHOP,
00437 BINARY_CMD_QLIST,
00438
00439
00440 BINARY_CMD_MAGICMAP,
00441 BINARY_CMD_DELINV,
00442 BINARY_CMD_REPLYINFO,
00443 BINARY_CMD_IMAGE2,
00444 BINARY_CMD_FACE,
00445 BINARY_CMD_FACE2,
00446
00447
00448 BINAR_CMD
00449 };
00450
00451 #define MAP_UPDATE_CMD_SAME 0
00452 #define MAP_UPDATE_CMD_NEW 1
00453 #define MAP_UPDATE_CMD_CONNECTED 2
00454
00460 #define CMD_QUICKSLOT_SET 1
00461
00462 #define CMD_QUICKSLOT_SETSPELL 2
00463
00464 #define CMD_QUICKSLOT_UNSET 3
00465
00472 #define QUICKSLOT_TYPE_ITEM 1
00473
00474 #define QUICKSLOT_TYPE_SPELL 2
00475
00477 #endif