#include "fighter.h" fighter::fighter(string name, int max_hp, int strength, int speed, int magic) : name(name), max_hp(max_hp), hp(max_hp), strength(strength), speed(speed), magic(magic) {} string fighter::getName() { return name; } int fighter::getMaximumHP() { return max_hp; } int fighter::getCurrentHP() { return hp; } int fighter::getStrength() { return strength; } int fighter::getSpeed() { return speed; } int fighter::getMagic() { return magic; } void fighter::regenerate() { int increase = strength / 6; if(increase < 0) { increase = 0; } else if(increase == 0) { increase = 1; } if(hp + increase <= max_hp) { hp += increase; } else { hp = max_hp; } } void fighter::takeDamage(int damage) { int hurt = damage - (speed / 4); if (hurt <= 0) { hurt = 1; } hp -= hurt; } bool fighter::isSimplified() { return false; } ostream & operator<<(ostream & os, fighter & f) { os << "{\n" << " \"name\": \"" << f.name << "\",\n" << " \"type\": \"" << f.get_type() << "\",\n" << " \"hp\": " << f.hp << ",\n" << " \"max hp\": " << f.max_hp << ",\n" << " \"strength\": " << f.strength << ",\n" << " \"speed\": " << f.speed << ",\n" << " \"magic\": " << f.magic << ",\n" << "}"; return os; }