1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#include <iostream>
#include <vector>
#include <string>
#include <memory>
#include "CardAbilitiesAndEffects.h"
#include "Cards.h"
#include "Player.h"
#include "Sorcery.h"
#include "Enchantment.h"
using namespace std;
class Creature : public Cards
{
protected:
int AttackPower;
int HP;
CardAbilitiesAndEffects* Trigger;
Sorcery* Sorcerized;
vector<Enchantment*> enchantment;
//Not a Type Name
public:
Creature(string name, string Type, string manacost, int attack, CardAbilitiesAndEffects* ability, Sorcery* sorcerized);
Creature(string name, string Type, string manacost, int attack, CardAbilitiesAndEffects* ability);
Creature(string name, string Type, string manacost, int attack, Sorcery* sorcerized); //Not a Type Name
Creature(string name, string Type, string manacost, int attack);
Creature(Creature* other);
virtual ~Creature();
void clearEnchantments();
CardAbilitiesAndEffects& getAbility();
Sorcery& getReallySorcerized();
//Not a Type Name
void setAbility(CardAbilitiesAndEffects* ptr);
void setSorcery(Sorcery* ptr);
CardAbilitiesAndEffects* AbilityUsed();
Sorcery* GetSorcerized();
//Not a Type Name
void attackPlayer(Player* player);
bool attackCreature(Player* opponent, int Creature2Attack);
bool ChangeHP(int newHP);
int GetHP();
int GetAP(int ap);
void printEnchantments();
bool addEnchantment(int pos, Player* p, int Target);
void removeEnchantment();
vector<string> displayCard();
void useCardonCard(Player* Attacker, Player* Attacked, int pos);
};
| |