--- deliantra/server/random_maps/standalone.C 2006/12/30 18:45:28 1.11 +++ deliantra/server/random_maps/standalone.C 2007/11/08 19:43:25 1.16 @@ -1,25 +1,25 @@ /* - CrossFire, A Multiplayer game for X-windows - - Copyright (C) 2002 Mark Wedel & Crossfire Development Team - Copyright (C) 1992 Frank Tore Johansen - - This program 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 this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - The authors can be reached via e-mail at -*/ + * This file is part of Deliantra, the Roguelike Realtime MMORPG. + * + * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Deliantra team + * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team + * Copyright (©) 1992,2007 Frank Tore Johansen + * + * Deliantra 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 3 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 this program. If not, see . + * + * The authors can be reached via e-mail to + */ #define LO_NEWFILE 2 @@ -90,38 +90,38 @@ switch (op->type) { - case SHOP_FLOOR: - if (!op->has_random_items ()) - return 0; - do - { - i = 10; /* let's give it 10 tries */ - while ((tmp = generate_treasure (op->randomitems, op->stats.exp ? op->stats.exp : 5)) == NULL && --i); - if (tmp == NULL) - return 0; - if (QUERY_FLAG (tmp, FLAG_CURSED) || QUERY_FLAG (tmp, FLAG_DAMNED)) - { - tmp->destroy (); - tmp = NULL; - } - } - while (!tmp); - - tmp->x = op->x, tmp->y = op->y; - SET_FLAG (tmp, FLAG_UNPAID); - insert_ob_in_map (tmp, op->map, NULL, 0); - CLEAR_FLAG (op, FLAG_AUTO_APPLY); - identify (tmp); - break; - - case TREASURE: - if (op->has_random_items ()) - while ((op->stats.hp--) > 0) - create_treasure (op->randomitems, op, GT_ENVIRONMENT, - op->stats.exp ? op->stats.exp : op->map == NULL ? 14 : op->map->difficulty, 0); - op->remove (); - op->destroy (); - break; + case SHOP_FLOOR: + if (!op->has_random_items ()) + return 0; + do + { + i = 10; /* let's give it 10 tries */ + while ((tmp = generate_treasure (op->randomitems, op->stats.exp ? op->stats.exp : 5)) == NULL && --i); + if (tmp == NULL) + return 0; + if (QUERY_FLAG (tmp, FLAG_CURSED) || QUERY_FLAG (tmp, FLAG_DAMNED)) + { + tmp->destroy (); + tmp = NULL; + } + } + while (!tmp); + + tmp->x = op->x, tmp->y = op->y; + SET_FLAG (tmp, FLAG_UNPAID); + insert_ob_in_map (tmp, op->map, NULL, 0); + CLEAR_FLAG (op, FLAG_AUTO_APPLY); + identify (tmp); + break; + + case TREASURE: + if (op->has_random_items ()) + while ((op->stats.hp--) > 0) + create_treasure (op->randomitems, op, GT_ENVIRONMENT, + op->stats.exp ? op->stats.exp : op->map == NULL ? 14 : op->map->difficulty, 0); + op->remove (); + op->destroy (); + break; } return tmp ? 1 : 0;