--- deliantra/server/common/loader.C 2007/09/04 05:43:20 1.100 +++ deliantra/server/common/loader.C 2007/09/30 20:22:13 1.103 @@ -31,6 +31,8 @@ ///////////////////////////////////////////////////////////////////////////// +extern archetype *loading_arch; + /* This table is only necessary to convert objects that existed before the * spell object conversion to the new object. It was not practical * to go through every mapping looking for every potion, rod, wand, etc @@ -251,8 +253,6 @@ NULL }; -extern bool loading_arch; - /* This function checks the object after it has been loaded (when we * get the 'end' in the input stream). This function can be used to * deal with legacy objects where fields may have changed. It can also be used @@ -396,7 +396,7 @@ /* POTIONS and ALTARS don't always cast spells, but if they do, update them */ ((type == POTION || type == ALTAR) && stats.sp)) && !inv && !loading_arch) { - /* Fireall is bizarre in that spell type was stored in dam. Rest are 'normal' + /* Firewall is bizarre in that spell type was stored in dam. Rest are 'normal' * in that spell was stored in sp. */ object *tmp = get_archetype (spell_mapping[type == FIREWALL ? stats.dam : stats.sp]); @@ -558,6 +558,7 @@ case KW_skill: f.get_ornull (skill); break; case KW_race: f.get_ornull (race); break; case KW_slaying: f.get_ornull (slaying); break; + case KW_tag: f.get_ornull (tag); break; case KW_arch: { @@ -569,6 +570,7 @@ // but manually adding it can improve map loading times a lot // also, appending instead of prepending keeps the // save ordering the same between repeated load/saves. + // and finally we do not want any funny effects CLEAR_FLAG (tmp, FLAG_OBJ_ORIGINAL); CLEAR_FLAG (tmp, FLAG_REMOVED); @@ -1286,6 +1288,7 @@ CMP_OUT (title); CMP_OUT (race); CMP_OUT (slaying); + CMP_OUT (tag); CMP_OUT (other_arch); if (op->msg != tmp->msg ) f.put (KW_msg , KW_endmsg , op->msg );