version 1.84 | | version 1.85 |
---|
| | |
/* | | /* |
* static char *rcsid_object_c = | | * static char *rcsid_object_c = |
* "$Id: object.c,v 1.84 2004/02/13 07:42:09 mwedel Exp $"; | | * "$Id: object.c,v 1.85 2004/02/23 06:06:29 mwedel Exp $"; |
*/ | | */ |
| | |
/* | | /* |
| | |
) | | ) |
return 0; | | return 0; |
| | |
| | /* Don't merge objects that are applied. With the new 'body' code, |
| | * it is possible for most any character to have more than one of |
| | * some items equipped, and we don't want those to merge. |
| | */ |
| | if (QUERY_FLAG(ob1, FLAG_APPLIED) || QUERY_FLAG(ob2, FLAG_APPLIED)) |
| | return 0; |
| | |
switch (ob1->type) { | | switch (ob1->type) { |
case SCROLL: | | case SCROLL: |
if (ob1->level != ob2->level) return 0; | | if (ob1->level != ob2->level) return 0; |
break; | | break; |
| | |
case RING: | | |
/* Don't merge applied rings - easier to keep them seperate, and | | |
* it makes more sense (can easily unapply one ring). Rings are | | |
* the only objects that need this special code, as they are the | | |
* only objects of the same type in which more than 1 can be | | |
* applied at a time. | | |
* | | |
* Note - there is no break so we fall into the POTION/AMULET | | |
* check below. | | |
*/ | | |
if (QUERY_FLAG(ob1, FLAG_APPLIED) || QUERY_FLAG(ob2, FLAG_APPLIED)) | | |
return 0; | | |
| | |
case POTION: | | case POTION: |
case AMULET: | | case AMULET: |
/* This should compare the value of the stats, and not the pointer | | /* This should compare the value of the stats, and not the pointer |