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

Comparing deliantra/server/common/map.C (file contents):
Revision 1.2 by elmex, Tue Aug 15 15:00:20 2006 UTC vs.
Revision 1.5 by elmex, Sun Aug 20 20:57:34 2006 UTC

1/* 1/*
2 * static char *rcsid_map_c = 2 * static char *rcsid_map_c =
3 * "$Id: map.C,v 1.2 2006/08/15 15:00:20 elmex Exp $"; 3 * "$Id: map.C,v 1.5 2006/08/20 20:57:34 elmex Exp $";
4 */ 4 */
5 5
6/* 6/*
7 CrossFire, A Multiplayer game for X-windows 7 CrossFire, A Multiplayer game for X-windows
8 8
268 retval |= P_NEW_MAP; 268 retval |= P_NEW_MAP;
269 if (newmap) *newmap = mp; 269 if (newmap) *newmap = mp;
270 if (nx) *nx = newx; 270 if (nx) *nx = newx;
271 if (ny) *ny = newy; 271 if (ny) *ny = newy;
272 retval |= mp->spaces[newx + mp->width * newy].flags; 272 retval |= mp->spaces[newx + mp->width * newy].flags;
273 if (mp->safe_map) 273
274 if (retval & P_SAFE)
274 retval |= P_NO_MAGIC | P_NO_CLERIC | P_SAFE_MAP; 275 retval |= P_NO_MAGIC | P_NO_CLERIC; // P_SAFE does imply these
276
275 return retval; 277 return retval;
276} 278}
277 279
278 280
279/* 281/*
1328 * player) 1330 * player)
1329 */ 1331 */
1330 fp2 = fp; /* save unique items into fp2 */ 1332 fp2 = fp; /* save unique items into fp2 */
1331 if ((flag == 0 || flag == 2) && !m->unique && !m->templatemap) { 1333 if ((flag == 0 || flag == 2) && !m->unique && !m->templatemap) {
1332 sprintf (buf,"%s.v00",create_items_path (m->path)); 1334 sprintf (buf,"%s.v00",create_items_path (m->path));
1335 unlink (buf); // unlink here too, so that we have backups when using hard links
1333 if ((fp2 = fopen (buf, "w")) == NULL) { 1336 if ((fp2 = fopen (buf, "w")) == NULL) {
1334 LOG(llevError, "Can't open unique items file %s\n", buf); 1337 LOG(llevError, "Can't open unique items file %s\n", buf);
1335 } 1338 }
1336 if (flag == 2) 1339 if (flag == 2)
1337 save_objects(m, fp, fp2, 2); 1340 save_objects(m, fp, fp2, 2);
1824 flags |= P_IS_ALIVE; 1827 flags |= P_IS_ALIVE;
1825 if (QUERY_FLAG(tmp,FLAG_NO_MAGIC)) 1828 if (QUERY_FLAG(tmp,FLAG_NO_MAGIC))
1826 flags |= P_NO_MAGIC; 1829 flags |= P_NO_MAGIC;
1827 if (QUERY_FLAG(tmp,FLAG_DAMNED)) 1830 if (QUERY_FLAG(tmp,FLAG_DAMNED))
1828 flags |= P_NO_CLERIC; 1831 flags |= P_NO_CLERIC;
1832 if (tmp->type == SAFE_GROUND)
1833 flags |= P_SAFE;
1829 1834
1830 if (QUERY_FLAG(tmp,FLAG_BLOCKSVIEW)) 1835 if (QUERY_FLAG(tmp,FLAG_BLOCKSVIEW))
1831 flags |= P_BLOCKSVIEW; 1836 flags |= P_BLOCKSVIEW;
1832 } /* for stack of objects */ 1837 } /* for stack of objects */
1833 1838

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines