--- deliantra/server/common/loader.C 2007/07/31 17:33:14 1.93 +++ deliantra/server/common/loader.C 2007/08/01 01:07:42 1.95 @@ -641,8 +641,10 @@ case KW_sound: sound = sound_find (f.get_str ()); - if (!sound) - sound = face_find (f.get_str ());//TODO: really fall back to face name? + break; + + case KW_sound_die: + sound = sound_find (f.get_str ()); break; case KW_x: f.get (x); break; @@ -1279,8 +1281,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_die != tmp->sound_die) f.put (KW_sound_die, op->sound_die ? &faces [op->sound_die] : 0); if (op->animation_id != tmp->animation_id) if (op->animation_id)