--- deliantra/server/include/define.h 2006/12/20 13:07:13 1.25 +++ deliantra/server/include/define.h 2007/01/06 14:42:30 1.36 @@ -1,6 +1,7 @@ /* CrossFire, A Multiplayer game for X-windows + 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 @@ -112,7 +113,11 @@ * Additionally, when you add a new entry, include it in the table in item.c */ -/* type 0 will be undefined and shows a non valid type information */ +/* USED TYPES: (for dead types please look at the bottom of the type + * definitions) + */ + +/* type 0 objects have the default behaviour */ #define PLAYER 1 #define TRANSPORT 2 /* see pod/objects.pod */ @@ -124,10 +129,6 @@ #define BOOK 8 #define CLOCK 9 -/*#define FBULLET 10 */ -/*#define FBALL 11 */ - -/*#define LIGHTNING 12 */ // elmex: implemented by type 102 subtype 4 #define ARROW 13 #define BOW 14 #define WEAPON 15 @@ -135,16 +136,12 @@ #define PEDESTAL 17 #define ALTAR 18 -/*#define CONFUSION 19 */ - #define LOCKED_DOOR 20 #define SPECIAL_KEY 21 #define MAP 22 #define DOOR 23 #define KEY 24 -/*#define MMISSILE 25 */ - #define TIMED_GATE 26 #define TRIGGER 27 #define GRIMREAPER 28 @@ -164,15 +161,9 @@ #define CREATOR 42 #define SKILL 43 /* also see SKILL_TOOL (74) below */ -/*#define EXPERIENCE 44*//* This is basically obsolete now. It used to contain - * experience for broad skill categories. This value - * is now automatically converteed at load time. - */ - #define EARTHWALL 45 #define GOLEM 46 -/*#define BOMB 47 */ #define THROWN_OBJ 48 #define BLINDNESS 49 #define GOD 50 @@ -198,8 +189,6 @@ */ #define GEM 60 -/*#define FIRECHEST 61*/ /* FIRECHEST folded into FIREWALL */ - #define FIREWALL 62 #define ANVIL 63 #define CHECK_INV 64 /* by b.t. thomas@nomad.astro.psu.edu */ @@ -221,40 +210,21 @@ #define SKILL_TOOL 74 /* Allows the use of a skill */ #define LIGHTER 75 -/* random crossfire developer: The trap_part, wall, light_source, - * misc_object, monster, and spawn_generator - * types are not used in any archetypes, - * 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. - * monsters are marked by FLAG_MONSTER and generator with FLAG_GENERATOR. - * renamed WALL to BUILDABLE_WALL. - */ - -//#define TRAP_PART 76 /* Needed by set traps skill -b.t. */ - #define BUILDABLE_WALL 77 /* this is a buildable wall */ -//#define LIGHT_SOURCE 78 /* torches, lamps, etc. */ #define MISC_OBJECT 79 /* misc. objects are for objects without a function in the engine. Like statues, clocks, chairs,... If perhaps we create a function where we can sit on chairs, we create a new type and remove all chairs from here. */ -//#define MONSTER 80 /* yes, thats a real, living creature */ -//#define SPAWN_GENERATOR 81 /* a spawn point or monster generator object */ #define LAMP 82 /* a lamp */ #define DUPLICATOR 83 /* duplicator/multiplier object */ -#define TOOL 84 /* a tool for building objects */ + #define SPELLBOOK 85 -#define BUILDFAC 86 /* facilities for building objects */ -#define CLOAK 87 -/*#define CONE 88 */ -/*#define AURA 89 */ /* aura spell object */ +#define CLOAK 87 #define SPINNER 90 #define GATE 91 @@ -263,9 +233,6 @@ #define HOLE 94 #define TRAPDOOR 95 -/*#define WORD_OF_RECALL 96 */ -/*#define PARAIMAGE 97 */ - #define SIGN 98 #define BOOTS 99 #define GLOVES 100 @@ -275,11 +242,9 @@ #define BRACERS 104 #define POISONING 105 #define SAVEBED 106 -#define POISONCLOUD 107 -#define FIREHOLES 108 + #define WAND 109 -/*#define ABILITY 110*/ #define SCROLL 111 #define DIRECTOR 112 #define GIRDLE 113 @@ -292,21 +257,12 @@ #define ARMOUR_IMPROVER 123 #define WEAPON_IMPROVER 124 -/* unused: 125 - 129 - * type 125 was MONEY_CHANGER - */ - #define SKILLSCROLL 130 /* can add a skill to player's inventory -bt. */ #define DEEP_SWAMP 138 #define IDENTIFY_ALTAR 139 -/*#define CANCELLATION 141 */ /* not used with new spell code */ - #define MENU 150 /* Mark Wedel (mark@pyramid.com) Shop inventories */ -/*#define BALL_LIGHTNING 151 */ /* peterm: ball lightning and color spray */ -/*#define SWARM_SPELL 153*/ - #define RUNE 154 #define TRAP 155 @@ -318,14 +274,57 @@ #define BUILDER 160 /* Generic item builder, see subtypes */ #define MATERIAL 161 /* Material for building */ -/* #define GPS 162 Ground positionning system, moved to Python plugin */ #define ITEM_TRANSFORMER 163 /* Transforming one item with another */ -/*#define QUEST 164 */ /* See below for subtypes */ - #define SAFE_GROUND 165 /* This is a safe ground, means that neither bombs, potions, alchemy, or magic works here (elmex) */ +/* DEAD TYPES: */ +//#define FBULLET 10 +//#define FBALL 11 +//#define LIGHTNING 12 // elmex: implemented by type 102 subtype 4 +//#define CONFUSION 19 +//#define MMISSILE 25 +/*#define EXPERIENCE 44*//* This is basically obsolete now. It used to contain + * experience for broad skill categories. This value + * is now automatically converteed at load time. + */ +//#define BOMB 47 +//#define FIRECHEST 61 /* FIRECHEST folded into FIREWALL */ + +/* random crossfire developer: The trap_part, wall, light_source, + * misc_object, monster, and spawn_generator + * types are not used in any archetypes, + * 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. + * monsters are marked by FLAG_MONSTER and generator with FLAG_GENERATOR. + * renamed WALL to BUILDABLE_WALL. + */ + +//#define TRAP_PART 76 /* Needed by set traps skill -b.t. */ +//#define LIGHT_SOURCE 78 /* torches, lamps, etc. */ +//#define MONSTER 80 /* yes, thats a real, living creature */ +//#define SPAWN_GENERATOR 81 /* a spawn point or monster generator object */ +//#define TOOL 84 /* a tool for building objects */ +//#define BUILDFAC 86 /* facilities for building objects */ +//#define CONE 88 +//#define AURA 89 /* aura spell object */ +//#define WORD_OF_RECALL 96 +//#define PARAIMAGE 97 +//#define POISONCLOUD 107 +//#define FIREHOLES 108 +//#define ABILITY 110 +/* unused: 125 - 129 + * type 125 was MONEY_CHANGER + */ +//#define CANCELLATION 141 /* not used with new spell code */ +//#define BALL_LIGHTNING 151 /* peterm: ball lightning and color spray */ +//#define SWARM_SPELL 153 +//#define GPS 162 /* Ground positionning system, moved to Python plugin */ +//#define QUEST 164 /* See below for subtypes */ + /* END TYPE DEFINE */ #define NUM_SUBTYPES 64 // maximum supported subtype number + 1, can be increased to 256 @@ -425,9 +424,9 @@ */ /* Basic routines to do above */ -#define SET_FLAG(obj, flag) (obj)->flags[flag] = 1 -#define CLEAR_FLAG(obj, flag) (obj)->flags[flag] = 0 -#define QUERY_FLAG(obj, flag) (obj)->flags[flag] +#define SET_FLAG(obj, flg) (obj)->flag [flg] = 1 +#define CLEAR_FLAG(obj, flg) (obj)->flag [flg] = 0 +#define QUERY_FLAG(obj, flg) (obj)->flag [flg] /* the flags */ @@ -583,6 +582,8 @@ #define FLAG_NEUTRAL 100 /* monster is from type neutral */ #define FLAG_NO_ATTACK 101 /* monster don't attack */ #define FLAG_NO_DAMAGE 102 /* monster can't be damaged */ + +//TODO schmorp: removed in rewrite, not yet readded #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 @@ -594,9 +595,9 @@ #define FLAG_CONTENT_ON_GEN 108 #define FLAG_IS_A_TEMPLATE 109 /* Object has no ingame life until instanciated */ #define FLAG_IS_BUILDABLE 110 /* Can build on item */ -#define FLAG_AFK 111 /* Player is AFK */ + #define NUM_FLAGS 111 /* Should always be equal to the last - * defined flag. If you change this, + * defined flag + 1. If you change this, * make sure you update the flag_links * in common/loader.l */ @@ -813,26 +814,11 @@ #define LO4 15 /* bitmasks for upper and lower 4 bits from 8 bit fields */ #define HI4 240 -/* - * Use of the state-variable in player objects: - */ - -#define ST_PLAYING 0 -#define ST_PLAY_AGAIN 1 -#define ST_ROLL_STAT 2 -#define ST_CHANGE_CLASS 3 -#define ST_CONFIRM_QUIT 4 -#define ST_CONFIGURE 5 -#define ST_GET_NAME 6 -#define ST_GET_PASSWORD 7 -#define ST_CONFIRM_PASSWORD 8 -#define ST_GET_PARTY_PASSWORD 10 - -#define BLANK_FACE_NAME "blank.111" -#define EMPTY_FACE_NAME "empty.111" -#define DARK_FACE1_NAME "dark1.111" -#define DARK_FACE2_NAME "dark2.111" -#define DARK_FACE3_NAME "dark3.111" +#define BLANK_FACE_NAME "blank.x11" +#define EMPTY_FACE_NAME "empty.x11" +#define DARK_FACE1_NAME "dark1.x11" +#define DARK_FACE2_NAME "dark2.x11" +#define DARK_FACE3_NAME "dark3.x11" #define SMOOTH_FACE_NAME "default_smoothed.111" /* @@ -981,7 +967,7 @@ #define CAN_APPLY_UNAPPLY_CHOICE 0x40 /* Cut off point of when an object is put on the active list or not */ -#define MIN_ACTIVE_SPEED 0.00001 +#define MIN_ACTIVE_SPEED 1e-5 /* * random() is much better than rand(). If you have random(), use it instead.