--- deliantra/server/include/define.h 2007/04/21 12:28:32 1.50 +++ deliantra/server/include/define.h 2007/05/28 21:15:56 1.60 @@ -1,25 +1,25 @@ /* - * CrossFire, A Multiplayer game + * This file is part of Crossfire TRT, the Multiplayer Online Role Playing Game. * - * 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 - * 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. + * 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 (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. + * 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, 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 + * You should have received a copy of the GNU General Public License along + * with Crossfire TRT; if not, write to the Free Software Foundation, Inc. 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * The authors can be reached via e-mail to */ /* This file is best viewed with a window width of about 100 character */ @@ -70,6 +70,14 @@ #define MAX_STAT 30 /* The maximum legal value of any stat */ #define MIN_STAT 1 /* The minimum legal value of any stat */ +//TODO: not only use more reasonable values, also enforce them +#define MIN_WC -120 +#define MAX_WC 120 +#define MIN_AC -120 +#define MAX_AC 120 +#define MIN_DAM 0 +#define MAX_DAM 200 + #define MAX_BUF 1024 /* Used for all kinds of things */ #define VERY_BIG_BUF 2048 @@ -268,6 +276,8 @@ #define SAFE_GROUND 165 /* This is a safe ground, means that neither bombs, potions, alchemy, or magic works here (elmex) */ +#define NUM_TYPES 166 // must be max(type) + 1 + /* DEAD TYPES: */ //#define FBULLET 10 //#define FBALL 11 @@ -287,7 +297,7 @@ * and should perhaps be removed. * * Wed Dec 20 13:35:24 CET 2006: - * elmex: haha, removed TRAP_PART, LIGHT_SOURCE, MONSTER and SPAWN_GENERATOR now. + * elmex: removed TRAP_PART, LIGHT_SOURCE, MONSTER and SPAWN_GENERATOR now. * monsters are marked by FLAG_MONSTER and generator with FLAG_GENERATOR. * renamed WALL to BUILDABLE_WALL. */ @@ -423,7 +433,7 @@ #define FLAG_WIZ 1 /* Object has special privilegies */ #define FLAG_REMOVED 2 /* Object is not in any map or invenory */ #define FLAG_FREED 3 /* Object is in the list of free objects */ -#define FLAG_WAS_WIZ 4 /* Player was once a wiz */ +//#define FLAG_WAS_WIZ 4 /* Player was once a wiz */ #define FLAG_APPLIED 5 /* Object is ready for use by living */ #define FLAG_UNPAID 6 /* Object hasn't been paid for yet */ #define FLAG_USE_SHIELD 7 @@ -446,7 +456,7 @@ #define FLAG_IS_THROWN 17 /* Object is designed to be thrown. */ #define FLAG_AUTO_APPLY 18 /* Will be applied when created */ - // not used anywhere in the code // #define FLAG_TREASURE 19 /* Will generate treasure when applied */ +#define FLAG_TREASURE_ENV 19 // put treasure into environment not in inventory #define FLAG_PLAYER_SOLD 20 /* Object was sold to a shop by a player. */ #define FLAG_SEE_INVISIBLE 21 /* Will see invisible player */ #define FLAG_CAN_ROLL 22 /* Object can be rolled */ @@ -506,7 +516,7 @@ /* (Monster) can wield weapons */ #define FLAG_USE_RING 58 /* (Monster) can use rings, boots, gauntlets, etc */ #define FLAG_READY_RANGE 59 /* (Monster) has a range attack readied... 8) */ -#define FLAG_READY_BOW 60 /* not implemented yet */ +#define FLAG_READY_BOW 60 /* (Monster) has valid bow readied */ #define FLAG_XRAYS 61 /* X-ray vision */ #define FLAG_NO_APPLY 62 /* Avoids step_on/fly_on to this object */ #define FLAG_IS_FLOOR 63 /* Can't see what's underneath this object */ @@ -533,7 +543,7 @@ #define FLAG_READY_SCROLL 81 /* monster has scroll in inv and can use it */ #define FLAG_USE_ROD 82 /* (Monster) can apply and use rods */ -/*#define FLAG_READY_HORN 83 unused (Monster) has a horn readied */ +#define FLAG_PRECIOUS 83 // object is precious (pets) #define FLAG_USE_HORN 84 /* (Monster) can apply and use horns */ #define FLAG_MAKE_INVIS 85 /* (Item) gives invisibility when applied */ @@ -862,18 +872,18 @@ /* Flags for apply_special() */ enum apply_flag { - /* Basic flags, always use one of these */ - AP_NULL = 0, - AP_APPLY = 1, + /* Basic flags/mode, always use one of these */ + AP_TOGGLE = 0, + AP_APPLY = 1, AP_UNAPPLY = 2, - AP_BASIC_FLAGS = 15, + AP_BASIC_FLAGS = 0x0f, /* Optional flags, for bitwise or with a basic flag */ - AP_NO_MERGE = 16, - AP_IGNORE_CURSE = 32, - AP_PRINT = 64 /* Print what to do, don't actually do it */ - /* Note this is supported in all the functions */ + AP_NO_MERGE = 0x10, + AP_IGNORE_CURSE = 0x20, + AP_PRINT = 0x40, /* Print what to do, don't actually do it */ + AP_NO_READY = 0x80, // do not ready skill associated with skilltool. }; /* Bitmask values for 'can_apply_object()' return values.