--- deliantra/server/random_maps/treasure.C 2007/01/27 02:19:37 1.24 +++ deliantra/server/random_maps/treasure.C 2007/07/01 05:00:19 1.30 @@ -1,25 +1,24 @@ /* - * CrossFire, A Multiplayer game - * - * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team - * Copyright (C) 2001 Mark Wedel & Crossfire Development Team - * Copyright (C) 1992 Frank Tore Johansen - * - * This program is free software; you can redistribute it and/or modify + * This file is part of Crossfire TRT, the Roguelike Realtime MORPG. + * + * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team + * Copyright (©) 2001,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 + * 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 */ /* placing treasure in maps, where appropriate. */ @@ -61,8 +60,8 @@ if (OUT_OF_REAL_MAP (m, x, y)) return 1; - int r = GET_MAP_MOVE_BLOCK (m, x, y) & ~MOVE_BLOCK_DEFAULT; - return r; + m->at (x, y).update (); + return GET_MAP_MOVE_BLOCK (m, x, y) & MOVE_WALK; } /* place treasures in the map, given the @@ -241,7 +240,7 @@ if (tlist != NULL) for (ti = 0; ti < n_treasures; ti++) { /* use the treasure list */ - object *new_treasure = pick_random_object (style_map); + object *new_treasure = style_map->pick_random_object (); insert_ob_in_ob (arch_to_object (new_treasure->arch), the_chest); } @@ -252,7 +251,7 @@ } #endif { /* neither style_map no treasure list given */ - treasurelist *tlist = find_treasurelist ("chest"); + treasurelist *tlist = treasurelist::find ("chest"); the_chest->randomitems = tlist; the_chest->stats.hp = n_treasures; @@ -266,7 +265,7 @@ if (trap_map) { - the_trap = pick_random_object (trap_map); + the_trap = trap_map->pick_random_object (); the_trap->stats.Cha = 10 + RP->difficulty; the_trap->level = bc_random ((3 * RP->difficulty) / 2); if (the_trap) @@ -660,7 +659,7 @@ } } /* give up and return the closest free spot. */ - i = find_free_spot (&archetype::find ("chest")->clone, map, x, y, 1, SIZEOFFREE1 + 1); + i = find_free_spot (archetype::find ("chest"), map, x, y, 1, SIZEOFFREE1 + 1); if (i != -1) { @@ -700,7 +699,7 @@ surround_by_doors (maptile *map, char **layout, int x, int y, int opts) { int i; - char *doors[2]; + const char *doors[2]; object **doorlist; int ndoors_made = 0; doorlist = (object **) calloc (9, sizeof (object *)); /* 9 doors so we can hold termination null */