#include "Ability.h"

#include <stdint.h>

#include "BattleAbility.h"
#include "PlayerAbility.h"
#include "EnemyAbility.h"
#include "BuffAbility.h"

#include "../util/fileUtils.h"
#include <libxml/parser.h>
#include <libxml/tree.h>
#include <libxml/xpath.h>
#include <libxml/xpathInternals.h>

using namespace std;

Ability :: Ability ()
{
  setEquipped (false);

  string blank = "";
  setAbilityName ("NULL_INDEX");

  setQuantity (-1);
}

Ability :: ~Ability ()
{
  clearAbility ();
}

void Ability :: clearAbility ()
{
}

bool Ability :: getEquipped ()
{
  return equipped;
}

void Ability :: setEquipped (bool g)
{
  equipped = g;
}

const string & Ability :: getAbilityName ()
{
  return id;
}

void Ability :: setAbilityName (const string & x)
{
  id = x;
}

int16_t Ability :: getQuantity ()
{
  return quantity;
}

void Ability :: setQuantity (int16_t a)
{
  quantity = a;
}

void Ability :: incQuantity ()
{
  if (quantity >= 0)
    quantity ++;
}

void Ability :: decQuantity ()
{
  if (quantity > 0)
    quantity --;
}
