#pragma once #ifndef GUARD_WILDMONINFO_H #define GUARD_WILDMONINFO_H #include #include "orderedmap.h" class WildPokemon { public: WildPokemon(); WildPokemon(int minLevel, int maxLevel, const QString &species); int minLevel; int maxLevel; QString species; }; struct WildMonInfo { bool active = false; int encounterRate = 0; QVector wildPokemon; }; struct WildPokemonHeader { tsl::ordered_map wildMons; }; struct EncounterField { QString name; // Ex: "fishing_mons" QVector encounterRates; tsl::ordered_map> groups; // Ex: "good_rod", {2, 3, 4} }; typedef QVector EncounterFields; void setDefaultEncounterRate(QString fieldName, int rate); WildMonInfo getDefaultMonInfo(const EncounterField &field); QVector getWildEncounterPercentages(const EncounterField &field); void combineEncounters(WildMonInfo &to, WildMonInfo from); #endif // GUARD_WILDMONINFO_H