--- deliantra/server/common/treasure.C 2008/04/20 00:44:12 1.72 +++ deliantra/server/common/treasure.C 2008/05/05 22:18:00 1.77 @@ -34,7 +34,6 @@ #include #include -#include #include extern char *spell_mapping[]; @@ -147,10 +146,11 @@ { case KW_arch: t->item = archetype::find (f.get_str ()); + if (!t->item) { f.parse_warn ("treasure references unknown archetype"); - goto error; + t->item = archetype::empty; } break; @@ -257,7 +257,7 @@ op->expand_tail (); - if (op->blocked (creator->map, creator->x, creator->y)) + if (!creator->is_on_map () || op->blocked (creator->map, creator->x, creator->y)) op->destroy (); else { @@ -271,10 +271,6 @@ if ((flags & GT_APPLY) && QUERY_FLAG (creator, FLAG_MONSTER)) monster_check_apply (creator, op); - - if (flags & GT_UPDATE_INV) - if (object *tmp = creator->in_player ()) - esrv_send_item (tmp, op); } }