--- deliantra/server/common/treasure.C 2008/09/29 10:31:32 1.81 +++ deliantra/server/common/treasure.C 2009/01/01 11:41:17 1.84 @@ -250,14 +250,14 @@ //TODO: flag such as objects... as such (no drop, anybody?) if (op->type == SPELL) { - op->destroy (true); + op->destroy (); return; } op->expand_tail (); if (!creator->is_on_map () || op->blocked (creator->map, creator->x, creator->y)) - op->destroy (true); + op->destroy (); else { SET_FLAG (op, FLAG_OBJ_ORIGINAL); @@ -442,7 +442,7 @@ if (ob->inv) LOG (llevError, "In generate treasure, created multiple objects.\n"); - ob->destroy (true); + ob->destroy (); return tmp; } @@ -1568,9 +1568,11 @@ #endif return; } - if (!strcmp (art->item->name, "NONE")) + + if (art->item->name == shstr_NONE) return; - if (FABS (op->magic) < art->item->magic) + + if (fabs (op->magic) < art->item->magic) continue; /* Not magic enough to be this item */ /* Map difficulty not high enough */ @@ -1631,8 +1633,10 @@ /* if donor has some attacktypes, the flesh is poisonous */ if (donor->attacktype & AT_POISON) item->type = POISON; + if (donor->attacktype & AT_ACID) item->stats.hp = -1 * item->stats.food; + SET_FLAG (item, FLAG_NO_STEAL); } } @@ -1679,7 +1683,7 @@ if (at->next) free_artifact (at->next); if (at->allowed) free_charlinks (at->allowed); - at->item->destroy (true); + at->item->destroy (); sfree (at); }