1 #ifndef CORE_PEOPLEMON_MOVE_HPP
2 #define CORE_PEOPLEMON_MOVE_HPP
4 #include <unordered_map>
36 static const std::vector<MoveId>&
validIds();
164 static std::unordered_map<MoveId, std::string>* names;
165 static std::unordered_map<MoveId, std::string>* descriptions;
166 static std::unordered_map<MoveId, std::string>* animationPaths;
167 static std::unordered_map<MoveId, Type>* types;
168 static std::unordered_map<MoveId, int>* damages;
169 static std::unordered_map<MoveId, int>* accuracies;
170 static std::unordered_map<MoveId, int>* priorities;
171 static std::unordered_map<MoveId, unsigned int>* pps;
172 static std::unordered_map<MoveId, bool>* contactors;
173 static std::unordered_map<MoveId, bool>* specials;
174 static std::unordered_map<MoveId, MoveEffect>* effects;
175 static std::unordered_map<MoveId, int>* effectChances;
176 static std::unordered_map<MoveId, int>* effectIntensities;
177 static std::unordered_map<MoveId, bool>* effectSelves;
Type
Represents a type that a move or Peoplemon can be. Types may be combined.
MoveEffect
Represents an effect that a move can have. Copied verbatim from Peoplemon 2, may refactor later when ...
Core classes and functionality for both the editor and game.
Stores the metadata of all peoplemon moves.
Encapsulates the move datastore.
static unsigned int pp(MoveId move)
Returns the max pp of the given move.
static int damage(MoveId move)
Returns the damage of the given move.
static const std::string & description(MoveId move)
Returns the description of the given move.
static int accuracy(MoveId move)
Returns the accuracy of the given move.
static std::string playerAnimationBackground(MoveId move)
Returns the path to the animation for when the local player uses the move.
static const std::vector< MoveId > & validIds()
Returns the list of all valid move ids.
static int priority(MoveId move)
Returns the priority of the given move.
static bool makesContact(MoveId move)
Returns whether or not the given move makes physical contact when used.
static int effectIntensity(MoveId move)
Returns the effect intensity of the given move.
static std::string playerAnimationForeground(MoveId move)
Returns the path to the animation for when the local player uses the move.
static void setDataSource(file::MoveDB &source)
Set the data source for each method.
static MoveEffect effect(MoveId move)
Returns the effect of the given move.
static MoveId getRandomMove(bool allowRandomEffect=false)
Returns a random, valid move. Optionally filters moves that have the Random effect.
static const std::string & name(MoveId move)
Returns the name of the given move.
static Type type(MoveId move)
Returns the type of the given move.
static int effectChance(MoveId move)
Returns the effect chance of the given move.
static bool isSpecial(MoveId move)
Returns whether or not the given move is special.
static std::string opponentAnimationForeground(MoveId move)
Returns the path to the animation for when the opponent uses the move.
static std::string opponentAnimationBackground(MoveId move)
Returns the path to the animation for when the opponent uses the move.
static MoveId cast(unsigned int id)
Converts the given raw id to a move id, or Unknown if invalid.
static bool affectsUser(MoveId move)
Returns whether or not the given move affects the user or the opponent.