--- deliantra/server/include/define.h 2006/12/20 10:30:59 1.22 +++ deliantra/server/include/define.h 2006/12/30 10:16:10 1.33 @@ -112,7 +112,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 +128,6 @@ #define BOOK 8 #define CLOCK 9 -/*#define FBULLET 10 */ -/*#define FBALL 11 */ - -#define LIGHTNING 12 #define ARROW 13 #define BOW 14 #define WEAPON 15 @@ -135,16 +135,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 +160,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 +188,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,30 +209,21 @@ #define SKILL_TOOL 74 /* Allows the use of a skill */ #define LIGHTER 75 -/* The trap_part, wall, light_source, misc_object, monster, and spawn_generator - * types are not used in any archetypes, and should perhaps be removed. - */ +#define BUILDABLE_WALL 77 /* this is a buildable wall */ -#define TRAP_PART 76 /* Needed by set traps skill -b.t. */ -#define WALL 77 /* this is a wall. put it always in layer 1 if not set is_floor */ -#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 @@ -253,9 +232,6 @@ #define HOLE 94 #define TRAPDOOR 95 -/*#define WORD_OF_RECALL 96 */ -/*#define PARAIMAGE 97 */ - #define SIGN 98 #define BOOTS 99 #define GLOVES 100 @@ -265,11 +241,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 @@ -282,21 +256,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 @@ -308,12 +273,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 @@ -413,9 +423,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 */ @@ -571,6 +581,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 @@ -582,9 +594,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 */ @@ -801,21 +813,6 @@ #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"