#pragma once #include #include "ModifierName.h" #include "ModifierInstance.h" #include "json.hpp" class Item; namespace nejlika { class AdditionalItemData { public: AdditionalItemData() = default; AdditionalItemData(Item* item); AdditionalItemData(const nlohmann::json& json); nlohmann::json ToJson() const; void Load(const nlohmann::json& json); void Save(Item* item); void RollModifiers(Item* item, int32_t level); const std::vector& GetModifierNames() const { return modifierNames; } const std::vector& GetModifierInstances() const { return modifierInstances; } private: std::vector modifierNames; std::vector modifierInstances; }; }