46 lines
618 B
C++
46 lines
618 B
C++
#ifndef ATARGET_HPP
|
|
# define ATARGET_HPP
|
|
|
|
# include <iostream>
|
|
# include <string>
|
|
|
|
class ASpell;
|
|
|
|
class ATarget {
|
|
|
|
private:
|
|
std::string type;
|
|
|
|
public:
|
|
ATarget()
|
|
{};
|
|
ATarget(ATarget const & other)
|
|
{
|
|
*this = other;
|
|
};
|
|
ATarget & operator=(ATarget const & other)
|
|
{
|
|
this->type = other.type;
|
|
return (*this);
|
|
};
|
|
ATarget(std::string const & type)
|
|
{
|
|
this->type = type;
|
|
};
|
|
~ATarget()
|
|
{};
|
|
|
|
std::string const & getType() const
|
|
{
|
|
return (this->type);
|
|
};
|
|
|
|
void getHitBySpell(ASpell const & aspell) const;
|
|
|
|
virtual ATarget * clone() const = 0;
|
|
};
|
|
|
|
#include "ASpell.hpp"
|
|
|
|
#endif
|