Skip to content
Permalink
Browse files
Fixed vector containing base hero stats
  • Loading branch information
faraha11 committed Mar 13, 2019
1 parent 7866935 commit 1bdade0669bd895d2a3dc1870dfde14660846b20
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 41 deletions.
@@ -18,7 +18,7 @@ class Hero
private:
int base_HP, base_SP, base_MP, base_SPD, base_DEF;
int current_HP, current_SP, current_MP, current_SPD, current_DEF;
// vector<int> vector_Hero; //fix BaseHero and then undo comment
vector<int> vector_Hero;
vector<int> ability_ids;
vector<Ability> abilities;
map<string, vector<tuple<float, int>>> buffs;
@@ -27,7 +27,6 @@ public:
string hero_name, hero_desc;

Hero(int _id);
vector<int> vector_Hero; // Don't forget
vector<int> BaseHero() const;

vector<Ability> GetAbilities() const;
@@ -37,14 +36,12 @@ public:
vector<string> GetDescs() const;
vector<int> GetAvailable() const;

int GetBaseHP();
int GetHP() const;
int GetSP() const;
int GetMP() const;
int GetSPD() const;
int GetDEF() const;

int ReceiveDMG(int dmg);
int ReceiveDMG(Ability ability);
int HealHero(Ability ability);
void TakeSP(int amount);
@@ -39,7 +39,7 @@ Hero::Hero(int _id)
current_SPD = base_SPD;
current_DEF = base_DEF;

vector<int> vector_Hero = {base_HP, base_SP, base_MP, base_SPD, base_DEF};
vector_Hero = {base_HP, base_SP, base_MP, base_SPD, base_DEF};

cur->reset();
cur->set_sql("SELECT Ability_ID FROM Hero_Abilities WHERE Hero_ID = ?;");
@@ -62,11 +62,6 @@ Hero::Hero(int _id)
Ability hero_ability(ability_ids[i]);
abilities.push_back(hero_ability);
}
/**tuple<string, int> Hero_details = make_tuple(Hero_Name, Hero_Description, HP, MP, SP, SPD, DEF);
for(int i=0; i<tuple_size<decltype(Hero_details)>; ++i)
{
cout << get<i>(Hero_details) << endl;
}**/
}

// Returns a vector with the hero's base stats
@@ -120,22 +115,13 @@ vector<string> Hero::GetDescs() const
}

// Getters for all the heroes stats
int Hero::GetBaseHP() {return base_HP;}
int Hero::GetHP() const {return current_HP;}
int Hero::GetSP() const {return current_SP;}
int Hero::GetMP() const {return current_MP;}
int Hero::GetSPD() const {return current_SPD;}
int Hero::GetDEF() const {return current_DEF;}

// Reduces HP from hero
int Hero::ReceiveDMG(int dmg)
{
int damage_dealt = round(dmg * (100-current_DEF) / 100);
current_HP -= damage_dealt;
if (current_HP < 0) current_HP = 0;
return damage_dealt;
}

int Hero::ReceiveDMG(Ability ability)
{
int damage_dealt = round(ability.GetDamage() * (100-current_DEF) / 100);
@@ -205,37 +191,22 @@ ostream& operator<<( ostream& os, const Hero& hero )
}
return os;
}
/*
ostream& operator<<( ostream& os, const Ability& ability )
{
os << ability.Ability_Name << ":\n"
<< "Deals " << ability.Damage_Min << "-" << ability.Damage_Max << " damage\n"
<< "Heals for " << ability.Heal_Min << "-" << ability.Heal_Max << " points\n"
<< "Costs " << ability.Mana_Cost << " mana and " << ability.Stamina_Cost << " stamina\n"
<< "Have the following effects:\n";
return os;
}

ostream& operator<<( ostream& os, const Effect& effect )
{
os << effect.Effect_Name << "affects the " << effect.Target_Stat << " of the targeted hero for "
<< effect.Duration << " turns and have an impact of " << effect.Impact << "." << endl;
return os;
}
*/
/*
int main()
{
Hero Natalie(1);
cout << Natalie << endl;
Hero Herp(7);
cout << Natalie;
cout << "-------------------------------------------------" << endl;
// cout << Natalie.GetAbilities(1).Ability_Name << endl;
Natalie.ReceiveDMG(Natalie.GetAbilities()[2]);
cout << Natalie << endl;
Natalie.HealHero(100);
cout << Natalie << endl;
cout << Natalie;
cout << "-------------------------------------------------" << endl;
Natalie.HealHero(Herp.GetAbilities(1));
cout << Natalie;
cout << "-------------------------------------------------" << endl;
cout << Natalie.GetHP() << endl;
cout << Natalie.BaseHero()[0] << endl;
//Ability_Effects(1);
}
*/

0 comments on commit 1bdade0

Please sign in to comment.