void Pokemon::setLevel(int level, bool printLevelUp) { auto iv = 10; auto ev = 22850; auto newValueHP = ((((base_hitpoints_ + iv) * 2 + (sqrt(ev) / 4)) * level) / 100) + level + 10; auto newValueAP = ((((base_attackpoints_ + iv) * 2 + (sqrt(ev) / 4)) * level) / 100) + 5; auto newValueDP = ((((base_defensepoints_ + iv) * 2 + (sqrt(ev) / 4) ) * level ) / 100 ) + 5; setBaseHP(base_hitpoints_ + static_cast<int>(newValueHP)); setAP(attackpoints_ + static_cast<int>(newValueAP)); setDP(defensepoints_ + static_cast<int>(newValueDP)); Unit::setLevel(level, printLevelUp); }
Pokemon::Pokemon(int ID, string name, double lvl, PokeType pokeType, double baseHP, double baseAtt, double baseDef, double baseSpeed, double mana, string sprite, Move* move1, Move* move2, Move* move3, Move* move4) { setPokemonID(ID); setName(name); setLevel(lvl); setPokeType(pokeType); setBaseHP(baseHP); setBaseAtt(baseAtt); setBaseDef(baseDef); setBaseSpeed(baseSpeed); SetStatsForLevel(); setMana(mana); setCurrentMana(mana); setSprite(sprite); setMoves(move1, move2, move3, move4); }