#ifndef OPENMW_ESM_NPCSTATS_H #define OPENMW_ESM_NPCSTATS_H #include "loadskil.hpp" #include "statstate.hpp" #include #include #include #include #include #include namespace ESM { class ESMReader; class ESMWriter; // format 0, saved games only struct NpcStats { struct Faction { bool mExpelled; int32_t mRank; int32_t mReputation; Faction(); }; bool mIsWerewolf; std::map mFactions; int32_t mDisposition; int32_t mCrimeDispositionModifier; std::array, ESM::Skill::Length> mSkills; int32_t mBounty; int32_t mReputation; int32_t mWerewolfKills; int32_t mLevelProgress; std::array mSkillIncrease; std::array mSpecIncreases; std::vector mUsedIds; float mTimeToStartDrowning; int32_t mCrimeId; /// Initialize to default state void blank(); void load(ESMReader& esm); void save(ESMWriter& esm) const; }; } #endif