1 #ifndef CORE_PEOPLEMON_PEOPLEMON_HPP
2 #define CORE_PEOPLEMON_PEOPLEMON_HPP
5 #include <unordered_map>
6 #include <unordered_set>
50 static Id cast(
unsigned int id);
57 static const std::vector<Id>&
validIds();
65 static const std::string&
name(
Id id);
165 static unsigned int levelUpXp(
Id id,
unsigned int level);
232 static std::unordered_map<Id, std::string>* names;
233 static std::unordered_map<Id, std::string>* descriptions;
234 static std::unordered_map<Id, Type>* types;
235 static std::unordered_map<Id, SpecialAbility>* abilities;
236 static std::unordered_map<Id, Stats>* stats;
237 static std::unordered_map<Id, std::unordered_set<MoveId>>* validMoves;
238 static std::unordered_map<Id, std::unordered_map<unsigned int, MoveId>>* learnedMoves;
239 static std::unordered_map<Id, unsigned int>* evolveLevels;
240 static std::unordered_map<Id, Id>* evolveIds;
241 static std::unordered_map<Id, Stats>* evAwards;
242 static std::unordered_map<Id, unsigned int>* xpGroups;
243 static std::unordered_map<Id, int>* xpMults;
244 static std::unordered_map<Id, int>* catchRates;
Ailment
Represents an ailment that a Peoplemon can have.
Type
Represents a type that a move or Peoplemon can be. Types may be combined.
SpecialAbility
Represents a special ability that a Peoplemon may have.
Core classes and functionality for both the editor and game.
Data structure that holds the underlaying data for all the peoplemon.
Serves as the primary store of all Peoplemon information.
static bool canClone(Id id)
Returns whether or not the given Peoplemon may be cloned.
static unsigned int evolveLevel(Id id)
Returns the minimum level that the given peoplemon will evolve at.
static std::string playerImage(Id id)
Returns the full path to the image to use in battle for the player peoplemon.
static void setDataSource(file::PeoplemonDB &data)
Sets the data source for all peoplemon. Must remain in scope.
static MoveId moveLearnedAtLevel(Id ppl, unsigned int level)
Returns the move the peoplemon learns at the given level, if any.
static float catchRate(Id id)
Returns the base catch rate for the given peoplemon.
static SpecialAbility specialAbility(Id id)
Returns the ability of the given peoplemon, if any.
static std::string opponentImage(Id id)
Returns the full path to the image to use in battle for the opponent peoplemon.
static int xpYieldMultiplier(Id id)
Returns the multiplier used when computing the XP award for defeating the given peoplemon.
static const std::string & abilityDescription(SpecialAbility ability)
Returns the description of the given special ability.
static Id evolvesInto(Id orig)
Returns what the given peoplemon will evolve into.
static Id evolvesFrom(Id evolved)
Returns what the given Peoplemon evolved from. This is expensive.
static const std::string & description(Id id)
Returns the description of the given Peoplemon.
static bool canLearnMove(Id ppl, MoveId move)
Returns whether or not the given Peoplemon can learn the given move.
static std::string ailmentString(Ailment ailment)
Returns the name of the given ailment as a string.
static unsigned int levelUpXp(Id id, unsigned int level)
Returns the XP required to level up the given peoplemon.
static const std::vector< Id > & validIds()
Returtns the list of all valid ids.
static const Stats & baseStats(Id id)
Returns the base stats for the given peoplemon.
static const std::string & name(Id id)
Returns the name of the given Peoplemon.
static const Stats & evAward(Id id)
Returns the ev points awarded for defeating the given peoplemon.
static Type type(Id id)
Returns the type of the Peoplemon.
static const std::string & abilityName(SpecialAbility ability)
Returns the name of the given special ability.
static Id cast(unsigned int id)
Casts an integer to a validated id. Returns Unknown if the id is invalid.
static std::string thumbnailImage(Id id)
Returns the path of the image to render as the peoplemon thumbnail.
Stats for Peoplemon. This struct is used for base stats, EVs, IVs, battle increases/decreases,...