ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/random_maps/treasure.C
(Generate patch)

Comparing deliantra/server/random_maps/treasure.C (file contents):
Revision 1.26 by root, Sun Mar 18 03:05:40 2007 UTC vs.
Revision 1.30 by root, Sun Jul 1 05:00:19 2007 UTC

1/* 1/*
2 * CrossFire, A Multiplayer game 2 * This file is part of Crossfire TRT, the Roguelike Realtime MORPG.
3 * 3 *
4 * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team 4 * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team
5 * Copyright (C) 2001 Mark Wedel & Crossfire Development Team 5 * Copyright (©) 2001,2007 Mark Wedel & Crossfire Development Team
6 * Copyright (C) 1992 Frank Tore Johansen 6 * Copyright (©) 1992,2007 Frank Tore Johansen
7 * 7 *
8 * This program is free software; you can redistribute it and/or modify 8 * Crossfire TRT is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by 9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or 10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version. 11 * (at your option) any later version.
12 * 12 *
13 * This program is distributed in the hope that it will be useful, 13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details. 16 * GNU General Public License for more details.
17 * 17 *
18 * You should have received a copy of the GNU General Public License 18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software 19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 * 20 *
22 * The authors can be reached via e-mail at <crossfire@schmorp.de> 21 * The authors can be reached via e-mail to <crossfire@schmorp.de>
23 */ 22 */
24 23
25/* placing treasure in maps, where appropriate. */ 24/* placing treasure in maps, where appropriate. */
26 25
27#include <global.h> 26#include <global.h>
59wall_blocked (maptile *m, int x, int y) 58wall_blocked (maptile *m, int x, int y)
60{ 59{
61 if (OUT_OF_REAL_MAP (m, x, y)) 60 if (OUT_OF_REAL_MAP (m, x, y))
62 return 1; 61 return 1;
63 62
63 m->at (x, y).update ();
64 int r = GET_MAP_MOVE_BLOCK (m, x, y) & ~MOVE_BLOCK_DEFAULT; 64 return GET_MAP_MOVE_BLOCK (m, x, y) & MOVE_WALK;
65 return r;
66} 65}
67 66
68/* place treasures in the map, given the 67/* place treasures in the map, given the
69map, (required) 68map, (required)
70layout, (required) 69layout, (required)
250 the_chest->randomitems = tlist; 249 the_chest->randomitems = tlist;
251 the_chest->stats.hp = n_treasures; 250 the_chest->stats.hp = n_treasures;
252 } 251 }
253#endif 252#endif
254 { /* neither style_map no treasure list given */ 253 { /* neither style_map no treasure list given */
255 treasurelist *tlist = find_treasurelist ("chest"); 254 treasurelist *tlist = treasurelist::find ("chest");
256 255
257 the_chest->randomitems = tlist; 256 the_chest->randomitems = tlist;
258 the_chest->stats.hp = n_treasures; 257 the_chest->stats.hp = n_treasures;
259 } 258 }
260 259
658 *cy = ly; 657 *cy = ly;
659 return; 658 return;
660 } 659 }
661 } 660 }
662 /* give up and return the closest free spot. */ 661 /* give up and return the closest free spot. */
663 i = find_free_spot (&archetype::find ("chest")->clone, map, x, y, 1, SIZEOFFREE1 + 1); 662 i = find_free_spot (archetype::find ("chest"), map, x, y, 1, SIZEOFFREE1 + 1);
664 663
665 if (i != -1) 664 if (i != -1)
666 { 665 {
667 *cx = x + freearr_x[i]; 666 *cx = x + freearr_x[i];
668 *cy = y + freearr_y[i]; 667 *cy = y + freearr_y[i];

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines