Artifact armors are not loading with the values listed in artifacts.gsav (at least if you edit the values). They are probably not being generated correctly either. The it_artifact_armor constructor calls the it_armor constructor with an extra argument (“SOLID,” presumably equal to 1) causing all armor artifacts to have a volume of 1 and bumping all its other stats over.
it_artifact_armor(std::string pid, unsigned int pprice, std::string pname, std::string pdes, char psym, nc_color pcolor, material pm1, material pm2, unsigned short pvolume, unsigned short pweight, signed char pmelee_dam, signed char pmelee_cut, signed char pm_to_hit, unsigned pitem_flags,unsigned char pcovers, signed char pencumber, unsigned char pdmg_resist, unsigned char pcut_resist, unsigned char penv_resist, signed char pwarmth, unsigned char pstorage)
:it_armor(pid, 0, pprice, pname, pdes, psym, pcolor, pm1, pm2, SOLID,
pvolume, pweight, pmelee_dam, pmelee_cut, pm_to_hit, pitem_flags,
pcovers, pencumber, pdmg_resist, pcut_resist, penv_resist, pwarmth,
pstorage)
Removing the offending argument from the constructor seems to fix it.