#include "attr.hpp" #include #include #include namespace ESM { const Attribute::AttributeID Attribute::Strength("Strength"); const Attribute::AttributeID Attribute::Intelligence("Intelligence"); const Attribute::AttributeID Attribute::Willpower("Willpower"); const Attribute::AttributeID Attribute::Agility("Agility"); const Attribute::AttributeID Attribute::Speed("Speed"); const Attribute::AttributeID Attribute::Endurance("Endurance"); const Attribute::AttributeID Attribute::Personality("Personality"); const Attribute::AttributeID Attribute::Luck("Luck"); static const RefId sAttributes[Attribute::Length] = { Attribute::Strength, Attribute::Intelligence, Attribute::Willpower, Attribute::Agility, Attribute::Speed, Attribute::Endurance, Attribute::Personality, Attribute::Luck, }; RefId Attribute::indexToRefId(int index) { if (index < 0 || index >= Length) return RefId(); return sAttributes[index]; } int Attribute::refIdToIndex(RefId id) { for (int i = 0; i < Length; ++i) { if (sAttributes[i] == id) return i; } return -1; } void Attribute::load(ESMReader& esm, bool& isDeleted) { throw std::runtime_error("Attribute loading not yet implemented"); } void Attribute::save(ESMWriter& esm, bool isDeleted) const { throw std::runtime_error("Attribute saving not yet implemented"); } }