|
Atrinik Client 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 00030 #ifndef ITEM_H 00031 #define ITEM_H 00032 00034 #define NROF_ITEMS 50 00035 00037 #define NAME_LEN 128 00038 00042 typedef struct obj 00043 { 00045 struct obj *next; 00046 00047 /* Everything below will be cleared by memset() in 00048 * object_remove(). */ 00049 00051 struct obj *prev; 00052 00054 struct obj *env; 00055 00057 struct obj *inv; 00058 00060 char s_name[NAME_LEN]; 00061 00063 sint32 tag; 00064 00066 sint32 nrof; 00067 00069 float weight; 00070 00072 sint16 face; 00073 00075 uint16 animation_id; 00076 00078 uint16 anim_speed; 00079 00081 uint16 anim_state; 00082 00084 uint16 last_anim; 00085 00087 uint32 flags; 00088 00090 uint8 itype; 00091 uint8 stype; 00092 00094 uint8 item_qua; 00095 00097 uint8 item_con; 00098 00100 uint8 item_skill; 00101 00103 uint8 item_level; 00104 00106 uint8 direction; 00107 } object; 00108 00109 #define TYPE_PLAYER 1 00110 #define TYPE_BULLET 2 00111 #define TYPE_ROD 3 00112 #define TYPE_TREASURE 4 00113 #define TYPE_POTION 5 00114 #define TYPE_FOOD 6 00115 #define TYPE_POISON 7 00116 #define TYPE_BOOK 8 00117 #define TYPE_CLOCK 9 00118 #define TYPE_FBULLET 10 00119 #define TYPE_FBALL 11 00120 #define TYPE_LIGHTNING 12 00121 #define TYPE_ARROW 13 00122 #define TYPE_BOW 14 00123 #define TYPE_WEAPON 15 00124 #define TYPE_ARMOUR 16 00125 #define TYPE_PEDESTAL 17 00126 #define TYPE_ALTAR 18 00127 #define TYPE_CONFUSION 19 00128 #define TYPE_LOCKED_DOOR 20 00129 #define TYPE_SPECIAL_KEY 21 00130 #define TYPE_MAP 22 00131 #define TYPE_DOOR 23 00132 #define TYPE_KEY 24 00133 #define TYPE_MMISSILE 25 00134 #define TYPE_TIMED_GATE 26 00135 #define TYPE_TRIGGER 27 00136 #define TYPE_GRIMREAPER 28 00137 #define TYPE_MAGIC_EAR 29 00138 #define TYPE_TRIGGER_BUTTON 30 00139 #define TYPE_TRIGGER_ALTAR 31 00140 #define TYPE_TRIGGER_PEDESTAL 32 00141 #define TYPE_SHIELD 33 00142 #define TYPE_HELMET 34 00143 #define TYPE_HORN 35 00144 #define TYPE_MONEY 36 00145 #define TYPE_CLASS 37 00146 #define TYPE_GRAVESTONE 38 00147 #define TYPE_AMULET 39 00148 #define TYPE_PLAYERMOVER 40 00149 #define TYPE_TELEPORTER 41 00150 #define TYPE_CREATOR 42 00151 #define TYPE_SKILL 43 00152 #define TYPE_EXPERIENCE 44 00153 #define TYPE_EARTHWALL 45 00154 #define TYPE_GOLEM 46 00155 #define TYPE_BOMB 47 00156 #define TYPE_THROWN_OBJ 48 00157 #define TYPE_BLINDNESS 49 00158 #define TYPE_GOD 50 00159 #define TYPE_DETECTOR 51 00160 #define TYPE_SKILL_ITEM 52 00161 #define TYPE_DEAD_OBJECT 53 00162 #define TYPE_DRINK 54 00163 #define TYPE_MARKER 55 00164 #define TYPE_HOLY_ALTAR 56 00165 #define TYPE_PLAYER_CHANGER 57 00166 #define TYPE_BATTLEGROUND 58 00167 #define TYPE_PEACEMAKER 59 00168 #define TYPE_GEM 60 00169 #define TYPE_FIRECHEST 61 00170 #define TYPE_FIREWALL 62 00171 #define TYPE_ANVIL 63 00172 #define TYPE_CHECK_INV 64 00173 #define TYPE_MOOD_FLOOR 65 00174 #define TYPE_EXIT 66 00175 #define TYPE_ENCOUNTER 67 00176 #define TYPE_SHOP_FLOOR 68 00177 #define TYPE_SHOP_MAT 69 00178 #define TYPE_RING 70 00179 #define TYPE_FLOOR 71 00180 #define TYPE_FLESH 72 00181 #define TYPE_INORGANIC 73 00182 #define TYPE_LIGHT_APPLY 74 00183 #define TYPE_LIGHTER 75 00184 #define TYPE_TRAP_PART 76 00185 #define TYPE_WALL 77 00186 #define TYPE_LIGHT_SOURCE 78 00187 #define TYPE_MISC_OBJECT 79 00188 #define TYPE_MONSTER 80 00189 #define TYPE_SPAWN_GENERATOR 81 00190 #define TYPE_SPELLBOOK 85 00191 #define TYPE_CLOAK 87 00192 #define TYPE_CONE 88 00193 #define TYPE_AURA 89 00194 #define TYPE_SPINNER 90 00195 #define TYPE_GATE 91 00196 #define TYPE_BUTTON 92 00197 #define TYPE_CF_HANDLE 93 00198 #define TYPE_HOLE 94 00199 #define TYPE_TRAPDOOR 95 00200 #define TYPE_WORD_OF_RECALL 96 00201 #define TYPE_PARAIMAGE 97 00202 #define TYPE_SIGN 98 00203 #define TYPE_BOOTS 99 00204 #define TYPE_GLOVES 100 00205 #define TYPE_CONVERTER 103 00206 #define TYPE_BRACERS 104 00207 #define TYPE_POISONING 105 00208 #define TYPE_SAVEBED 106 00209 #define TYPE_POISONCLOUD 107 00210 #define TYPE_FIREHOLES 108 00211 #define TYPE_WAND 109 00212 #define TYPE_ABILITY 110 00213 #define TYPE_SCROLL 111 00214 #define TYPE_DIRECTOR 112 00215 #define TYPE_GIRDLE 113 00216 #define TYPE_FORCE 114 00217 #define TYPE_POTION_EFFECT 115 00218 #define TYPE_CLOSE_CON 121 00219 #define TYPE_CONTAINER 122 00220 #define TYPE_ARMOUR_IMPROVER 123 00221 #define TYPE_WEAPON_IMPROVER 124 00222 #define TYPE_SKILLSCROLL 130 00223 #define TYPE_DEEP_SWAMP 138 00224 #define TYPE_IDENTIFY_ALTAR 139 00225 #define TYPE_CANCELLATION 141 00226 #define TYPE_MENU 150 00227 #define TYPE_BALL_LIGHTNING 151 00228 #define TYPE_SWARM_SPELL 153 00229 #define TYPE_RUNE 154 00230 #define TYPE_POWER_CRYSTAL 156 00231 #define TYPE_CORPSE 157 00232 #define TYPE_DISEASE 158 00233 #define TYPE_SYMPTOM 159 00234 00235 #define F_ETHEREAL 0x0080 00236 #define F_INVISIBLE 0x0100 00237 00239 #define delete_object(tag) object_remove(object_find(tag)) 00240 00241 #endif
1.7.4