/* * This file is part of Crossfire TRT, the Multiplayer Online Role Playing Game. * * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team * Copyright (©) 1992,2007 Frank Tore Johansen * * 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. * * 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 */ /* 'recipe' and 'recipelist' are used by the alchemy code */ typedef struct recipestruct { shstr title; /* distinguishing name of product */ size_t arch_names; /* the size of the arch_name[] array */ char **arch_name; /* the possible archetypes of the final product made */ int chance; /* chance that recipe for this item will appear * in an alchemical grimore */ int diff; /* alchemical dfficulty level */ int exp; /* how much exp to give for this formulae */ int index; /* an index value derived from formula ingredients */ int transmute; /* if defined, one of the formula ingredients is * used as the basis for the product object */ int yield; /* The maximum number of items produced by the recipe */ linked_char *ingred; /* comma delimited list of ingredients */ struct recipestruct *next; shstr keycode; /* keycode needed to use the recipe */ shstr skill; /* skill name used to make this recipe */ shstr cauldron; /* the arch of the cauldron/workbench used to house the * formulae. */ } recipe; typedef struct recipeliststruct { int total_chance; int number; /* number of recipes in this list */ struct recipestruct *items; /* pointer to first recipe in this list */ struct recipeliststruct *next; /* pointer to next recipe list */ } recipelist;