--- deliantra/server/random_maps/standalone.C 2007/01/15 21:06:19 1.14 +++ deliantra/server/random_maps/standalone.C 2008/09/29 09:04:51 1.18 @@ -1,25 +1,24 @@ /* - * CrossFire, A Multiplayer game for X-windows + * This file is part of Deliantra, the Roguelike Realtime MMORPG. * - * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team - * Copyright (C) 2002 Mark Wedel & Crossfire Development Team - * Copyright (C) 1992 Frank Tore Johansen + * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team + * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team + * Copyright (©) 1992,2007 Frank Tore Johansen * - * This program is free software; you can redistribute it and/or modify + * 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 2 of the License, or + * 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 + * 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 + * along with this program. If not, see . + * + * The authors can be reached via e-mail to */ #define LO_NEWFILE 2 @@ -47,6 +46,7 @@ printf ("\nUsage: %s inputfile outputfile\n", argv[0]); exit (0); } + strcpy (InFileName, argv[1]); strcpy (OutFileName, argv[2]); @@ -80,7 +80,6 @@ #include - /* some plagarized code from apply.c--I needed just these two functions without all the rest of the junk, so.... */ int @@ -97,12 +96,17 @@ do { i = 10; /* let's give it 10 tries */ - while ((tmp = generate_treasure (op->randomitems, op->stats.exp ? op->stats.exp : 5)) == NULL && --i); + + while (!(tmp = generate_treasure (op->randomitems, op->stats.exp ? op->stats.exp : 5)) + && --i) + ; + if (tmp == NULL) return 0; + if (QUERY_FLAG (tmp, FLAG_CURSED) || QUERY_FLAG (tmp, FLAG_DAMNED)) { - tmp->destroy (); + tmp->destroy (true); tmp = NULL; } } @@ -120,8 +124,8 @@ 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 (); + + op->destroy (true); break; } @@ -133,7 +137,6 @@ * certain objects (most initialization of chests and creation of * treasures and stuff). Calls auto_apply if appropriate. */ - void fix_auto_apply (maptile *m) { @@ -276,3 +279,4 @@ trap_adjust (object *ob, int x) { } +