--- deliantra/server/include/define.h 2007/05/19 00:08:11 1.59 +++ deliantra/server/include/define.h 2007/08/30 05:24:14 1.71 @@ -1,25 +1,24 @@ /* - * CrossFire, A Multiplayer game + * This file is part of Crossfire TRT, the Roguelike Realtime MORPG. * - * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team - * Copyright (C) 2003-2005 Mark Wedel & Crossfire Development Team - * Copyright (C) 1992 Frank Tore Johansen + * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team + * Copyright (©) 2003-2005,2007 Mark Wedel & Crossfire Development Team + * Copyright (©) 1992,2007 Frank Tore Johansen * - * This program is free software; you can redistribute it and/or modify + * Crossfire TRT 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 + * the Free Software Foundation, either version 3 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 + * 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, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * The authors can be reached via e-mail at crossfire@schmorp.de + * along with this program. If not, see . + * + * The authors can be reached via e-mail to */ /* This file is best viewed with a window width of about 100 character */ @@ -52,10 +51,8 @@ # define MAX(x,y) max (x, y) #endif -/*NAME_MAX used by random maps may not be defined on pure ansi systems*/ -#ifndef NAME_MAX -# define NAME_MAX 255 -#endif +// maximum length of an object name in the protocol +#define NAME_LEN 127 /* MAX3 is basically like MAX, but instead does 3 values. */ #ifndef MAX3 @@ -77,11 +74,13 @@ #define MAX_AC 120 #define MIN_DAM 0 #define MAX_DAM 200 +#define MIN_DIGESTION -35 +#define MAX_DIGESTION 70 #define MAX_BUF 1024 /* Used for all kinds of things */ #define VERY_BIG_BUF 2048 -#define HUGE_BUF 4096 /* Used for messages - some can be quite long */ +#define HUGE_BUF 10240 /* Used for messages - some can be quite long */ #define SOCKET_BUFLEN 4096 /* Max length a packet could be */ #define FONTSIZE 3000 /* Max chars in font */ @@ -189,13 +188,16 @@ #define FIREWALL 62 #define ANVIL 63 #define CHECK_INV 64 /* by b.t. thomas@nomad.astro.psu.edu */ -#define MOOD_FLOOR 65 /* by b.t. thomas@nomad.astro.psu.edu +#define MOOD_FLOOR 65 /* * values of last_sp set how to change: * 0 = furious, all monsters become aggressive * 1 = angry, all but friendly become aggressive * 2 = calm, all aggressive monsters calm down * 3 = sleep, all monsters fall asleep - * 4 = charm, monsters become pets */ + * 4 = charm, monsters become pets + * 5 = destroy monsters + * 6 = destroy pets / friendlies + */ #define EXIT 66 #define ENCOUNTER 67 #define SHOP_FLOOR 68 @@ -242,6 +244,7 @@ #define WAND 109 +#define INSCRIBABLE 110 // inscribable things, st 0 book st 1 spell #define SCROLL 111 #define DIRECTOR 112 #define GIRDLE 113 @@ -574,13 +577,13 @@ #define FLAG_BERSERK 99 /* monster will attack closest living object */ #define FLAG_NEUTRAL 100 /* monster is from type neutral */ -#define FLAG_NO_ATTACK 101 /* monster don't attack */ +#define FLAG_NO_ATTACK 101 /* monster doesn't attack */ #define FLAG_NO_DAMAGE 102 /* monster can't be damaged */ #define FLAG_OBJ_ORIGINAL 103 /* NEVER SET THIS. Item was loaded by * load_original_map() */ -#define FLAG_OBJ_SAVE_ON_OVL 104 /* this object should be saved on - * the overlay, and is not subject to - * decay. */ +//#define FLAG_OBJ_SAVE_ON_OVL 104 /* this object should be saved on +// * the overlay, and is not subject to +// * decay. */ #define FLAG_ACTIVATE_ON_PUSH 105 /* connected object is activated when 'pushed' */ #define FLAG_ACTIVATE_ON_RELEASE 106 /* connected object is activated when 'released' */ #define FLAG_IS_WATER 107 @@ -781,94 +784,6 @@ #define PREFER_HIGH 1 #define PREFER_LOW 0 -/* Simple function we use below to keep adding to the same string - * but also make sure we don't overwrite that string. - */ -static inline void -safe_strcat (char *dest, const char *orig, int *curlen, int maxlen) -{ - if (*curlen == (maxlen - 1)) - return; - - strncpy (dest + *curlen, orig, maxlen - *curlen - 1); - dest[maxlen - 1] = 0; - *curlen += strlen (orig); - - if (*curlen > (maxlen - 1)) - *curlen = maxlen - 1; -} - - -/* The SAFE versions of these call the safe_strcat function above. - * Ideally, all functions should use the SAFE functions, but they - * require some extra support in the calling function to remain as - * efficient. - */ -#define DESCRIBE_ABILITY_SAFE(retbuf, variable, name, len, maxlen) \ - if(variable) { \ - int i,j=0; \ - safe_strcat(retbuf,"(" name ": ", len, maxlen); \ - for(i=0; i