1 | /* |
1 | /* |
2 | * static char *rcsid_map_c = |
2 | * static char *rcsid_map_c = |
3 | * "$Id: map.C,v 1.27 2006/09/08 12:56:42 root Exp $"; |
3 | * "$Id: map.C,v 1.28 2006/09/08 18:26:22 root 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 | |
… | |
… | |
255 | if (mp != oldmap) |
255 | if (mp != oldmap) |
256 | retval |= P_NEW_MAP; |
256 | retval |= P_NEW_MAP; |
257 | if (newmap) *newmap = mp; |
257 | if (newmap) *newmap = mp; |
258 | if (nx) *nx = newx; |
258 | if (nx) *nx = newx; |
259 | if (ny) *ny = newy; |
259 | if (ny) *ny = newy; |
|
|
260 | |
260 | retval |= mp->spaces[newx + mp->width * newy].flags; |
261 | retval |= mp->spaces[newx + mp->width * newy].flags; |
261 | |
|
|
262 | if (retval & P_SAFE) |
|
|
263 | retval |= P_NO_MAGIC | P_NO_CLERIC; // P_SAFE does imply these |
|
|
264 | |
262 | |
265 | return retval; |
263 | return retval; |
266 | } |
264 | } |
267 | |
265 | |
268 | |
266 | |
… | |
… | |
1805 | if (QUERY_FLAG(tmp,FLAG_NO_MAGIC)) |
1803 | if (QUERY_FLAG(tmp,FLAG_NO_MAGIC)) |
1806 | flags |= P_NO_MAGIC; |
1804 | flags |= P_NO_MAGIC; |
1807 | if (QUERY_FLAG(tmp,FLAG_DAMNED)) |
1805 | if (QUERY_FLAG(tmp,FLAG_DAMNED)) |
1808 | flags |= P_NO_CLERIC; |
1806 | flags |= P_NO_CLERIC; |
1809 | if (tmp->type == SAFE_GROUND) |
1807 | if (tmp->type == SAFE_GROUND) |
1810 | flags |= P_SAFE | P_NO_CLERIC | P_NO_MAGIC; |
1808 | flags |= P_SAFE; |
1811 | |
1809 | |
1812 | if (QUERY_FLAG(tmp,FLAG_BLOCKSVIEW)) |
1810 | if (QUERY_FLAG(tmp,FLAG_BLOCKSVIEW)) |
1813 | flags |= P_BLOCKSVIEW; |
1811 | flags |= P_BLOCKSVIEW; |
1814 | } /* for stack of objects */ |
1812 | } /* for stack of objects */ |
1815 | |
1813 | |