void Stats::deserialise(LoadingState *state, data::IData *data) { base::Handle<data::Table> dataMap(data::Table::checkDataType(data, "stats")); if (!dataMap) { return; } base::Handle<data::Table> baseStats(dataMap->at<data::Table>("baseStats")); if (baseStats) { for (auto iter = baseStats->beginMap(); iter != baseStats->endMap(); ++iter) { Stat::StatType type = Stat::getStatType(iter->first.c_str()); if (type == Stat::MAX_STAT_LENGTH) { std::stringstream ss; ss << "Unknown stat '" << iter->first << '\''; am_log("LOADERR", ss); continue; } base::Handle<data::Number> num(dynamic_cast<data::Number *>(iter->second.get())); if (num) { setBaseStat(type, num->value<float>()); } else { std::stringstream ss; ss << "Cannot load base stat '" << iter->first << "' from a '"; ss << iter->second->typeName() << "'"; am_log("LOADERR", ss); continue; } } } base::Handle<data::IData> tempData(dataMap->at("modifiers")); if (tempData) { mModifiers->deserialise(state, tempData); } }
void PokeBaseStats::setBaseSpDefense(quint8 spDef) { setBaseStat(SpDefense, spDef); }
void PokeBaseStats::setBaseSpAttack(quint8 spAtt) { setBaseStat(SpAttack, spAtt); }
void PokeBaseStats::setBaseSpeed(quint8 speed) { setBaseStat(Speed, speed); }
void PokeBaseStats::setBaseDefense(quint8 def) { setBaseStat(Defense, def); }
void PokeBaseStats::setBaseAttack(quint8 att) { setBaseStat(Attack, att); }
void PokeBaseStats::setBaseHp(quint8 hp) { setBaseStat(Hp, hp); }