YAPOG  0.0.1
Yet Another Pokemon Online Game
PokemonMove.hpp
Go to the documentation of this file.
1 #ifndef YAPOG_POKEMONMOVE_HPP
2 # define YAPOG_POKEMONMOVE_HPP
3 
4 # include "YAPOG/Macros.hpp"
5 # include "YAPOG/Game/ID.hpp"
6 # include "YAPOG/System/String.hpp"
10 
11 namespace yap
12 {
14  {
16  public:
17  PokemonMove ();
18  PokemonMove (const ID& skillID);
19  PokemonMove (const PokemonMove& copy);
20 
21  void SetSkillInfo (const ID& skillID);
22 
24  const ID& GetStaticID () const;
25  const String& GetName () const;
26  const UInt16& GetPower () const;
27  const UInt16& GetCurrentPP () const;
28  const UInt16& GetMaxPP () const;
29  const TypeInfo& GetType () const;
30  const UInt16& GetCategory () const;
31 
33  void SetPP (const UInt16& value);
34  void SetMaxPP (const UInt16& value);
35 
37  void Refill ();
39  void Use ();
42  void AddPP (int value);
44  void RaiseToMaxPP ();
45  private:
46  const UInt16& GetLimitPPMax () const;
47 
52 
53  static const ID DEFAULT_STATIC_ID;
54  static const UInt16 DEFAULT_PP_VALUE;
56  };
57 
58 } // namespace yap
59 
60 #endif // YAPOG_POKEMONMOVE_HPP