#pragma once #include #include #include "AttributeT.h" class SpellT { public: virtual SpellT(std::string spellName, std::string spellDescription, std::string spellResult); virtual void AddEffect(AttributeT a, int power); virtual int GetEffect(AttributeT a) const; virtual void SetDuration(int givenDuration); virtual void Tick(); virtual bool Active() const; virtual std::string GetSpellName() const; virtual std::string GetDescription() const; virtual std::string GetResult() const; private: std::string name; std::string description; std::string result; std::vector effects; int duration{0}; };