version 1.78 | | version 1.79 |
---|
| | |
/* | | /* |
* static char *rcsid_apply_c = | | * static char *rcsid_apply_c = |
* "$Id: apply.c,v 1.78 2003/01/30 00:07:09 garbled Exp $"; | | * "$Id: apply.c,v 1.79 2003/02/12 05:40:24 mwedel Exp $"; |
*/ | | */ |
/* | | /* |
CrossFire, A Multiplayer game for X-windows | | CrossFire, A Multiplayer game for X-windows |
| | |
for (tmp=who->inv; tmp; tmp=tmp->below) { | | for (tmp=who->inv; tmp; tmp=tmp->below) { |
if (QUERY_FLAG(tmp, FLAG_APPLIED) && tmp->type == op->type) { | | if (QUERY_FLAG(tmp, FLAG_APPLIED) && tmp->type == op->type) { |
if ((aflags & AP_IGNORE_CURSE) || (aflags & AP_PRINT) || | | if ((aflags & AP_IGNORE_CURSE) || (aflags & AP_PRINT) || |
(!(QUERY_FLAG(op, FLAG_CURSED) && !QUERY_FLAG(tmp, FLAG_DAMNED)))) { | | (!(QUERY_FLAG(tmp, FLAG_CURSED) && !QUERY_FLAG(tmp, FLAG_DAMNED)))) { |
if (aflags & AP_PRINT) | | if (aflags & AP_PRINT) |
new_draw_info(NDI_UNIQUE, 0, who, query_name(tmp)); | | new_draw_info(NDI_UNIQUE, 0, who, query_name(tmp)); |
else | | else |
unapply_special(who, tmp, aflags); | | unapply_special(who, tmp, aflags); |
} | | } |
| | else { |
| | /* In this case, we want to try and remove a cursed item. |
| | * While we know it won't work, we want unapply_special to |
| | * at least generate the message. |
| | */ |
| | new_draw_info_format(NDI_UNIQUE, 0, who, |
| | "No matter how hard you try, you just can't\nremove %s.", |
| | query_name(tmp)); |
| | return 1; |
| | } |
| | |
} | | } |
} | | } |
} | | } |