--- deliantra/server/common/treasure.C 2007/04/19 16:36:00 1.51 +++ deliantra/server/common/treasure.C 2007/04/21 22:05:52 1.55 @@ -1,5 +1,5 @@ /* - * CrossFire, A Multiplayer game for X-windows + * CrossFire, A Multiplayer game * * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team * Copyright (C) 2002 Mark Wedel & Crossfire Development Team @@ -239,6 +239,8 @@ */ if (flags & GT_ENVIRONMENT && op->type != SPELL) { + op->expand_tail (); + if (ob_blocked (op, creator->map, creator->x, creator->y)) op->destroy (); else @@ -1572,14 +1574,15 @@ } static int -legal_artifact_combination (object *op, artifact * art) +legal_artifact_combination (object *op, artifact *art) { int neg, success = 0; linked_char *tmp; const char *name; - if (art->allowed == (linked_char *) NULL) + if (!art->allowed) return 1; /* Ie, "all" */ + for (tmp = art->allowed; tmp; tmp = tmp->next) { #ifdef TREASURE_VERBOSE @@ -1600,6 +1603,7 @@ else if (neg) success = 1; } + return success; }