--- deliantra/server/common/treasure.C 2007/04/21 22:05:52 1.55 +++ deliantra/server/common/treasure.C 2007/04/21 22:12:59 1.56 @@ -232,13 +232,20 @@ static void put_treasure (object *op, object *creator, int flags) { - /* Bit of a hack - spells should never be put onto the map. The entire - * treasure stuff is a problem - there is no clear idea of knowing - * this is the original object, or if this is an object that should be created - * by another object. - */ - if (flags & GT_ENVIRONMENT && op->type != SPELL) + if (flags & GT_ENVIRONMENT) { + /* Bit of a hack - spells should never be put onto the map. The entire + * treasure stuff is a problem - there is no clear idea of knowing + * this is the original object, or if this is an object that should be created + * by another object. + */ + //TODO: flag such as objects... as such (no drop, anybody?) + if (op->type == SPELL) + { + op->destroy (); + return; + } + op->expand_tail (); if (ob_blocked (op, creator->map, creator->x, creator->y))