version 1.6 | | version 1.7 |
---|
| | |
/* | | /* |
* static char *rcsid_c_object_c = | | * static char *rcsid_c_object_c = |
* "$Id: c_object.c,v 1.6 2000/06/08 16:08:41 jec Exp $"; | | * "$Id: c_object.c,v 1.7 2000/06/09 12:01:47 jec Exp $"; |
*/ | | */ |
/* | | /* |
CrossFire, A Multiplayer game for X-windows | | CrossFire, A Multiplayer game for X-windows |
| | |
return 0; | | return 0; |
} | | } |
else { | | else { |
int aflag=0; | | enum apply_flag aflag = 0; |
object *inv; | | object *inv; |
| | |
while (*params==' ') params++; | | while (*params==' ') params++; |
| | |
if (! sack_can_hold (op, sack, tmp,(nrof?nrof:tmp->nrof))) | | if (! sack_can_hold (op, sack, tmp,(nrof?nrof:tmp->nrof))) |
return; | | return; |
| | |
/* Small hack to avoid autojoining in apply_special(): */ | | |
if(QUERY_FLAG(tmp, FLAG_APPLIED)) { | | if(QUERY_FLAG(tmp, FLAG_APPLIED)) { |
int nrof = tmp->nrof, a; | | if (apply_special (op, tmp, AP_UNAPPLY | AP_NO_MERGE)) |
tmp->nrof = 0; | | |
a = apply_special(op,tmp,0); | | |
tmp->nrof = nrof; | | |
if (a) | | |
return; | | return; |
} | | } |
| | |
| | |
return; | | return; |
} | | } |
| | |
/* Small hack to avoid autojoining in apply_special(): */ | | |
if(QUERY_FLAG(tmp, FLAG_APPLIED)) { | | if(QUERY_FLAG(tmp, FLAG_APPLIED)) { |
int nrof = tmp->nrof,a; | | if (apply_special (op, tmp, AP_UNAPPLY | AP_NO_MERGE)) |
tmp->nrof = 0; | | return; /* can't unapply it */ |
a = apply_special (op, tmp,0); | | |
tmp->nrof = nrof; | | |
if (a) /* can't unapply it */ | | |
return; | | |
} | | } |
| | |
/* We are only dropping some of the items. We split the current objec | | /* We are only dropping some of the items. We split the current objec |