#ifndef EXCHANGE_H
#define EXCHANGE_H
void exchange(object ob1, object ob2) {
  string *fn;
  int i;
  fn = ({  /* base_obj */
              
           "name", "alias_name", "alt_name", "short", "alt_short",
           "inv_short", "long", "alt_long", "extra_long", 
           "alt_extra_long", "info", "extra_info", 
           "read", "listen", "smell", "weight", "value",
           "light_value", "enchanted", "modified", "quest_item",
           "domain_safe", "sell_destruct",
           /* armour */
             
           "ac", "max_strength", "current_strength", "repair",
           "armour_material", "type", 
           /* weapon */
           "wc", "length", "weapon_strength", "attack_msg",
           /* wand + magic_armour + magic_weapon */
           "charges", "spells", "class", "cast_level",
           "protection",
  });
  for(i = 0; i < sizeof(fn); i++) {
    if(ob1->query_wc() && fn[i] == "class") continue;
    call_other(ob2,"set_"+ fn[i], (mixed)call_other(ob1,"query_"+ fn[i]));
  }
}
#endif