version 1.51 | | version 1.52 |
---|
| | |
/* | | /* |
* static char *rcsid_object_c = | | * static char *rcsid_object_c = |
* "$Id: object.c,v 1.51 2002/01/01 23:37:54 garbled Exp $"; | | * "$Id: object.c,v 1.52 2002/01/14 06:03:31 mwedel Exp $"; |
*/ | | */ |
| | |
/* | | /* |
| | |
if(QUERY_FLAG(op,FLAG_NO_APPLY)) | | if(QUERY_FLAG(op,FLAG_NO_APPLY)) |
return 0; | | return 0; |
| | |
#if 0 | | |
*/ | | |
| | |
#endif | | |
| | |
tag = op->count; | | tag = op->count; |
| | |
/* The objects have to be checked from top to bottom. | | /* The objects have to be checked from top to bottom. |
* Hence, we first go to the top: */ | | * Hence, we first go to the top: */ |
for (tmp=GET_MAP_OB(op->map, op->x, op->y); tmp!=NULL && | | for (tmp=GET_MAP_OB(op->map, op->x, op->y); tmp!=NULL && |
tmp->above!=NULL; tmp=tmp->above); | | tmp->above!=NULL; tmp=tmp->above) { |
| | |
for(;tmp!=NULL; tmp=tmp->below) { | | |
if (tmp == op) continue; /* Can't apply yourself */ | | |
| | |
/* Trim the search when we find the first other spell effect | | /* Trim the search when we find the first other spell effect |
* this helps performance so that if a space has 50 spell objects, | | * this helps performance so that if a space has 50 spell objects, |
* we don't need to check all of them. | | * we don't need to check all of them. |
*/ | | */ |
if (QUERY_FLAG(tmp, FLAG_FLYING) && QUERY_FLAG(tmp, FLAG_NO_PICK)) return 0; | | if (QUERY_FLAG(tmp, FLAG_FLYING) && QUERY_FLAG(tmp, FLAG_NO_PICK)) break; |
| | } |
| | |
| | for(;tmp!=NULL; tmp=tmp->below) { |
| | if (tmp == op) continue; /* Can't apply yourself */ |
| | |
/* Slow down creatures moving over rough terrain */ | | /* Slow down creatures moving over rough terrain */ |
if(QUERY_FLAG(tmp,FLAG_SLOW_MOVE)&&!QUERY_FLAG(op,FLAG_FLYING)) { | | if(QUERY_FLAG(tmp,FLAG_SLOW_MOVE)&&!QUERY_FLAG(op,FLAG_FLYING)) { |