|
Atrinik Server 2.5
|
00001 /************************************************************************ 00002 * Atrinik, a Multiplayer Online Role Playing Game * 00003 * * 00004 * Copyright (C) 2009-2011 Alex Tokar and Atrinik Development Team * 00005 * * 00006 * Fork from Daimonin (Massive Multiplayer Online Role Playing Game) * 00007 * and Crossfire (Multiplayer game for X-windows). * 00008 * * 00009 * This program is free software; you can redistribute it and/or modify * 00010 * it under the terms of the GNU General Public License as published by * 00011 * the Free Software Foundation; either version 2 of the License, or * 00012 * (at your option) any later version. * 00013 * * 00014 * This program is distributed in the hope that it will be useful, * 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00017 * GNU General Public License for more details. * 00018 * * 00019 * You should have received a copy of the GNU General Public License * 00020 * along with this program; if not, write to the Free Software * 00021 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * 00022 * * 00023 * The author can be reached at admin@atrinik.org * 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 #define CS_STAT_RANGED_DAM 37 00122 #define CS_STAT_RANGED_WC 38 00123 #define CS_STAT_RANGED_WS 39 00124 00125 #define CS_STAT_RESIST_START 100 00126 #define CS_STAT_RESIST_END 117 00127 #define CS_STAT_RES_PHYS 100 00128 #define CS_STAT_RES_MAG 101 00129 #define CS_STAT_RES_FIRE 102 00130 #define CS_STAT_RES_ELEC 103 00131 #define CS_STAT_RES_COLD 104 00132 #define CS_STAT_RES_CONF 105 00133 #define CS_STAT_RES_ACID 106 00134 #define CS_STAT_RES_DRAIN 107 00135 #define CS_STAT_RES_GHOSTHIT 108 00136 #define CS_STAT_RES_POISON 109 00137 #define CS_STAT_RES_SLOW 110 00138 #define CS_STAT_RES_PARA 111 00139 #define CS_STAT_TIME 112 00140 #define CS_STAT_RES_FEAR 113 00141 #define CS_STAT_RES_DEPLETE 114 00142 #define CS_STAT_RES_DEATH 115 00143 #define CS_STAT_RES_HOLYWORD 116 00144 #define CS_STAT_RES_BLIND 117 00145 00146 #define CS_STAT_SKILLEXP_START 118 00147 #define CS_STAT_SKILLEXP_END 129 00148 #define CS_STAT_SKILLEXP_AGILITY 118 00149 #define CS_STAT_SKILLEXP_AGLEVEL 119 00150 #define CS_STAT_SKILLEXP_PERSONAL 120 00151 #define CS_STAT_SKILLEXP_PELEVEL 121 00152 #define CS_STAT_SKILLEXP_MENTAL 122 00153 #define CS_STAT_SKILLEXP_MELEVEL 123 00154 #define CS_STAT_SKILLEXP_PHYSIQUE 124 00155 #define CS_STAT_SKILLEXP_PHLEVEL 125 00156 #define CS_STAT_SKILLEXP_MAGIC 126 00157 #define CS_STAT_SKILLEXP_MALEVEL 127 00158 #define CS_STAT_SKILLEXP_WISDOM 128 00159 #define CS_STAT_SKILLEXP_WILEVEL 129 00160 00161 #define CS_STAT_PROT_START 130 00162 #define CS_STAT_PROT_END 149 00163 00170 #define SF_FIREON 1 00171 #define SF_RUNON 2 00172 #define SF_BLIND 4 00173 #define SF_XRAYS 8 00174 #define SF_INFRAVISION 16 00175 00182 #define COLOR_WHITE "ffffff" 00183 00184 #define COLOR_ORANGE "ff9900" 00185 00186 #define COLOR_NAVY "00ffff" 00187 00188 #define COLOR_RED "ff3030" 00189 00190 #define COLOR_GREEN "00ff00" 00191 00192 #define COLOR_BLUE "0080ff" 00193 00194 #define COLOR_GRAY "999999" 00195 00196 #define COLOR_BROWN "c07f40" 00197 00198 #define COLOR_PURPLE "cc66ff" 00199 00200 #define COLOR_PINK "ff9999" 00201 00202 #define COLOR_YELLOW "ffff33" 00203 00204 #define COLOR_DK_NAVY "00c4c2" 00205 00206 #define COLOR_DK_GREEN "006600" 00207 00208 #define COLOR_DK_ORANGE "ff6600" 00209 00210 #define COLOR_BRIGHT_PURPLE "ff66ff" 00211 00212 #define COLOR_HGOLD "d4d553" 00213 00214 #define COLOR_DGOLD "999900" 00215 00216 #define COLOR_BLACK "000000" 00217 00224 #define NDI_SAY 0x0100 00225 00226 #define NDI_SHOUT 0x0200 00227 00228 #define NDI_TELL 0x0400 00229 00230 #define NDI_PLAYER 0x0800 00231 00232 #define NDI_EMOTE 0x01000 00233 00236 #define NDI_ANIM 0x02000 00237 00238 #define NDI_ALL 0x20000 00239 00247 enum 00248 { 00250 a_none, 00252 a_readied, 00254 a_wielded, 00256 a_worn, 00258 a_active, 00260 a_applied 00261 }; 00262 00264 #define F_APPLIED 0x000F 00265 00266 #define F_ETHEREAL 0x0080 00267 00268 #define F_INVISIBLE 0x0100 00269 00270 #define F_UNPAID 0x0200 00271 00272 #define F_MAGIC 0x0400 00273 00274 #define F_CURSED 0x0800 00275 00276 #define F_DAMNED 0x1000 00277 00278 #define F_OPEN 0x2000 00279 00280 #define F_NOPICK 0x4000 00281 00282 #define F_LOCKED 0x8000 00283 00284 #define F_TRAPPED 0x10000 00285 00292 #define UPD_LOCATION 1 00293 00294 #define UPD_FLAGS 2 00295 00296 #define UPD_WEIGHT 4 00297 00298 #define UPD_FACE 8 00299 00300 #define UPD_NAME 16 00301 00302 #define UPD_ANIM 32 00303 00304 #define UPD_ANIMSPEED 64 00305 00306 #define UPD_NROF 128 00307 00308 #define UPD_DIRECTION 256 00309 00310 #define UPD_TYPE 512 00311 00312 #define UPD_ANIM_NO_INV 1024 00313 00318 typedef struct SockList 00319 { 00321 int len; 00322 00324 unsigned char *buf; 00325 } SockList; 00326 00328 typedef struct CS_Stats 00329 { 00331 int ibytes; 00332 00334 int obytes; 00335 00337 short max_conn; 00338 00340 time_t time_start; 00341 } CS_Stats; 00342 00344 typedef struct _srv_client_files 00345 { 00347 char *file; 00348 00350 size_t len; 00351 00353 size_t len_ucomp; 00354 00356 unsigned long crc; 00357 } _srv_client_files; 00358 00360 #define SRV_FILE_SPELLS_FILENAME "client_spells_v2" 00361 00362 #define SRV_CLIENT_SKILLS_FILENAME "client_skills_v2" 00363 00365 enum 00366 { 00367 SRV_CLIENT_SKILLS, 00368 SRV_CLIENT_SPELLS, 00369 SRV_CLIENT_SETTINGS, 00370 SRV_CLIENT_ANIMS, 00371 SRV_CLIENT_BMAPS, 00372 SRV_CLIENT_HFILES, 00373 SRV_FILE_UPDATES, 00374 SRV_FILE_SPELLS_V2, 00375 SRV_SERVER_SETTINGS, 00376 SRV_CLIENT_ANIMS_V2, 00377 SRV_CLIENT_EFFECTS, 00378 SRV_CLIENT_SKILLS_V2, 00379 /* last index */ 00380 SRV_CLIENT_FILES 00381 }; 00382 00383 extern _srv_client_files SrvClientFiles[SRV_CLIENT_FILES]; 00384 00385 extern CS_Stats cst_tot, cst_lst; 00386 00387 #define DATA_PACKED_CMD 0x80 00388 00390 enum 00391 { 00392 DATA_CMD_NO, 00393 DATA_CMD_SKILL_LIST, 00394 DATA_CMD_SPELL_LIST, 00395 DATA_CMD_SETTINGS_LIST, 00396 DATA_CMD_ANIM_LIST, 00397 DATA_CMD_BMAP_LIST, 00398 DATA_CMD_HFILES_LIST 00399 }; 00400 00402 #define SOCKET_SET_BINARY_CMD(__s__, __bc__) \ 00403 (__s__)->buf[0] = __bc__; \ 00404 (__s__)->len = 1 00405 00412 enum 00413 { 00414 BINARY_CMD_COMC = 1, 00415 BINARY_CMD_MAP2, 00416 BINARY_CMD_DRAWINFO, 00417 BINARY_CMD_DRAWINFO2, 00418 BINARY_CMD_FILE_UPD, 00419 BINARY_CMD_ITEMX, 00420 BINARY_CMD_SOUND, 00421 BINARY_CMD_TARGET, 00422 BINARY_CMD_UPITEM, 00423 BINARY_CMD_DELITEM, 00424 BINARY_CMD_STATS, 00425 BINARY_CMD_IMAGE, 00426 BINARY_CMD_FACE1, 00427 BINARY_CMD_ANIM, 00428 BINARY_CMD_SKILLRDY, 00429 BINARY_CMD_PLAYER, 00430 BINARY_CMD_MAPSTATS, 00431 BINARY_CMD_SPELL_LIST, 00432 BINARY_CMD_SKILL_LIST, 00433 BINARY_CMD_CLEAR, 00434 BINARY_CMD_ADDME_SUC, 00435 BINARY_CMD_ADDME_FAIL, 00436 BINARY_CMD_VERSION, 00437 BINARY_CMD_BYE, 00438 BINARY_CMD_SETUP, 00439 BINARY_CMD_QUERY, 00440 BINARY_CMD_DATA, 00441 BINARY_CMD_NEW_CHAR, 00442 BINARY_CMD_ITEMY, 00443 BINARY_CMD_BOOK, 00444 BINARY_CMD_PARTY, 00445 BINARY_CMD_QUICKSLOT, 00447 BINARY_CMD_SHOP, 00448 BINARY_CMD_QLIST, 00449 BINARY_CMD_REGION_MAP, 00453 BINARY_CMD_READY, 00454 BINARY_CMD_KEEPALIVE, 00455 00456 /* old, unused or outdated crossfire cmds! */ 00457 BINARY_CMD_MAGICMAP, 00458 BINARY_CMD_DELINV, 00459 BINARY_CMD_REPLYINFO, 00460 BINARY_CMD_IMAGE2, 00461 BINARY_CMD_FACE, 00462 BINARY_CMD_FACE2, 00463 00464 /* last entry */ 00465 BINAR_CMD 00466 }; 00467 00468 #define MAP_UPDATE_CMD_SAME 0 00469 #define MAP_UPDATE_CMD_NEW 1 00470 #define MAP_UPDATE_CMD_CONNECTED 2 00471 00477 #define CMD_QUICKSLOT_SET 1 00478 00479 #define CMD_QUICKSLOT_SETSPELL 2 00480 00481 #define CMD_QUICKSLOT_UNSET 3 00482 00489 #define QUICKSLOT_TYPE_ITEM 1 00490 00491 #define QUICKSLOT_TYPE_SPELL 2 00492 00500 #define CMD_TARGET_SELF 0 00501 00502 #define CMD_TARGET_ENEMY 1 00503 00504 #define CMD_TARGET_FRIEND 2 00505 00507 #endif
1.7.4