#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