YAPOG  0.0.1
Yet Another Pokemon Online Game
Pokemon.hpp
Go to the documentation of this file.
1 #ifndef YAPOG_CLIENT_POKEMON_HPP
2 # define YAPOG_CLIENT_POKEMON_HPP
3 
4 # include "YAPOG/Macros.hpp"
6 
7 namespace yap
8 {
9  struct ISprite;
10  class PokemonMoveSet;
11 }
12 
13 namespace ycl
14 {
15  class PokemonInfo;
16 
17  class Pokemon : public yap::Pokemon
18  {
20 
21  public:
22  Pokemon (const yap::ID& staticID);
23 
24  Pokemon (
25  const yap::ID& staticID,
26  const yap::UInt16& level,
27  const bool& shiny);
28 
29  Pokemon (
30  const yap::ID& uniqueID,
31  const yap::ID& staticID,
32  const yap::String& trainerName,
33  const yap::String& nickname,
34  const yap::PokemonStat& stats,
35  const yap::Gender& gender,
36  const yap::PokemonStatus& status,
37  const bool shiny,
38  const yap::Int16& loyalty,
39  const yap::PokemonMoveSet& moveSet,
40  const yap::ID& natureID,
41  const yap::uint& exp,
42  const yap::UInt8& boxNumber,
43  const yap::ID& boxIndex,
44  const yap::String& catchDate);
45 
46  virtual ~Pokemon ();
47 
49  yap::ISprite& GetIcon () const;
50  yap::ISprite& GetGenderIcon () const;
51  yap::ISprite& GetBattleBack () const;
52  yap::ISprite& GetBattleFront () const;
53  yap::ISprite& GetType1Icon () const;
54  yap::ISprite& GetType2Icon () const;
55 
56  void PlayCry ();
57 
58  private:
59  void Init ();
60  void LoadSprites ();
61 
68 
70 
71  };
72 } // namespace ycl
73 
74 #endif // YAPOG_CLIENT_POKEMON_HPP
75