/* ************************************************************************** */ /* */ /* :::::::: */ /* AMateria.hpp :+: :+: */ /* +:+ */ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/04/14 22:12:51 by whaffman #+# #+# */ /* Updated: 2025/04/17 13:41:47 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #pragma once #include #include "ICharacter.hpp" class ICharacter; class AMateria { protected: std::string type; public: AMateria(); AMateria(AMateria const &other); AMateria(std::string const &type); virtual ~AMateria(); AMateria &operator=(AMateria const &other); std::string const &getType() const; // Returns the materia type virtual AMateria *clone() const = 0; virtual void use(ICharacter &target); };