|
Atrinik Server 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 TREASURE_H 00031 #define TREASURE_H 00032 00034 #define CHANCE_FOR_ARTIFACT 20 00035 00037 #define NUM_COINS 4 00038 00039 extern char *coins[NUM_COINS + 1]; 00040 extern archetype *coins_arch[NUM_COINS]; 00041 00049 #define GT_ENVIRONMENT 0x0001 00050 #define GT_INVISIBLE 0x0002 00051 00052 #define GT_STARTEQUIP 0x0004 00053 00054 #define GT_APPLY 0x0008 00055 00056 #define GT_ONLY_GOOD 0x0010 00057 00058 #define GT_UPDATE_INV 0x0020 00059 00060 #define GT_NO_VALUE 0x0040 00061 00067 typedef struct _change_arch 00068 { 00070 const char *name; 00071 00073 const char *title; 00074 00076 const char *slaying; 00077 00079 int item_race; 00080 00082 int material; 00083 00085 int material_quality; 00086 00088 int material_range; 00089 00091 int quality; 00092 00094 int quality_range; 00095 } _change_arch; 00096 00103 typedef struct treasurestruct 00104 { 00106 struct archt *item; 00107 00109 const char *name; 00110 00112 struct treasurestruct *next; 00113 00115 struct treasurestruct *next_yes; 00116 00118 struct treasurestruct *next_no; 00119 00123 int t_style; 00124 00126 int magic_chance; 00127 00131 int magic_fix; 00132 00142 int artifact_chance; 00143 00145 int magic; 00146 00150 int difficulty; 00151 00153 uint16 nrof; 00154 00156 sint16 chance_fix; 00157 00159 uint8 chance; 00160 00162 struct _change_arch change_arch; 00163 } treasure; 00164 00166 typedef struct treasureliststruct 00167 { 00169 const char *name; 00170 00174 int t_style; 00175 00177 int artifact_chance; 00178 00180 sint16 chance_fix; 00181 00186 sint16 total_chance; 00187 00189 struct treasureliststruct *next; 00190 00192 struct treasurestruct *items; 00193 } treasurelist; 00194 00195 #endif
1.7.4