--- deliantra/server/common/loader.C 2007/07/31 17:33:14 1.93 +++ deliantra/server/common/loader.C 2007/08/01 20:07:06 1.98 @@ -642,7 +642,13 @@ case KW_sound: sound = sound_find (f.get_str ()); if (!sound) - sound = face_find (f.get_str ());//TODO: really fall back to face name? + f.parse_warn ("sound not found"); + break; + + case KW_sound_destroy: + sound_destroy = sound_find (f.get_str ()); + if (!sound_destroy) + f.parse_warn ("sound not found"); break; case KW_x: f.get (x); break; @@ -1279,8 +1285,9 @@ if (op->msg != tmp->msg ) f.put (KW_msg , KW_endmsg , op->msg ); if (op->lore != tmp->lore) f.put (KW_lore, KW_endlore, op->lore); - if (op->sound != tmp->sound) f.put (KW_sound, op->sound ? &faces [op->sound] : 0); - if (op->face != tmp->face ) f.put (KW_face , op->face ? &faces [op->face ] : 0); + if (op->face != tmp->face ) f.put (KW_face , op->face ? &faces [op->face ] : 0); + if (op->sound != tmp->sound ) f.put (KW_sound , op->sound ? &faces [op->sound ] : 0); + if (op->sound_destroy != tmp->sound_destroy) f.put (KW_sound_destroy, op->sound_destroy ? &faces [op->sound_destroy] : 0); if (op->animation_id != tmp->animation_id) if (op->animation_id)