void Pokemon::SetStatsForLevel() { setHP(round(ceil(2 * getBaseHP() + 31) * getLevel() / 100 + getLevel() + 10)); setAtt(round(ceil(2 * getBaseAtt() + 31) * getLevel() / 100 + 5)); setDef(round(ceil(2 * getBaseDef() + 31) * getLevel() / 100 + 5)); setSpeed(round(ceil(2 * getBaseSpeed() + 31) * getLevel() / 100 + 5)); setCurrentHP(getHP()); setCurrentAtt(getAtt()); setCurrentDef(getDef()); setCurrentSpeed(getSpeed()); }
QMap<QString, pokemonStruct> accessAllCaughtPokemon(QString trainerName) { QMap<QString, pokemonStruct> data; QSqlQuery query(Dynamic); QString statement = "SELECT * FROM CaughtPokemon WHERE trainer='" + trainerName + "'"; if( !query.exec(statement) ) { qDebug() << query.lastError().databaseText(); return data; } while( query.next() ) { pokemonStruct saved; saved.PID = query.record().field("PID").value().toInt(); saved.attEV = query.record().field("AtEV").value().toInt(); saved.CPID = query.record().field("CPID").value().toInt(); saved.defEV = query.record().field("DefEV").value().toInt(); saved.EXP = query.record().field("EXP").value().toInt(); saved.HPEV = query.record().field("HPEV").value().toInt(); saved.speedEV = query.record().field("speedEV").value().toInt(); saved.HP = query.record().field("HP").value().toInt(); saved.level = getLevel(saved.EXP); saved.name = getPokemonName(QString::number(saved.PID)); saved.attack = getStat(saved.attEV, getBaseAtt(saved.name), saved.level); saved.defense = getStat(saved.defEV, getBaseDef(saved.name), saved.level); saved.speed = getStat(saved.speedEV, getBaseSpeed(saved.name), saved.level); saved.HP = getHP(saved.HPEV, getBaseHP(saved.name), saved.level); QString moves = query.record().field("Moves").value().toString(); QStringList l = moves.split("|"); for(int i = 0; i < l.size(); i++) { QStringList m = l[i].split("."); moveStruct move; move.name = m[0]; move.pp = m[1].toInt(); move.accuracy = getAccuracy(move.name); move.damage = getDamage(move.name); move.type = getMoveType(move.name); saved.moves.append(move); } data.insert(saved.name, saved); } return data; }