YAPOG  0.0.1
Yet Another Pokemon Online Game
PokemonStat.hpp
Go to the documentation of this file.
1 #ifndef YAPOG_POKEMONSTAT_HPP
2 # define YAPOG_POKEMONSTAT_HPP
3 
4 # include "YAPOG/Macros.hpp"
14 
15 namespace yap
16 {
18  {
19  public:
20  PokemonStat ();
21 
22  PokemonStat (
23  const HitPoint& hp,
24  const Attack& atk,
25  const Defense& def,
26  const SpecialAttack& speAtk,
27  const SpecialDefense& speDef,
28  const Speed& speed);
29 
30  PokemonStat (const PokemonStat& copy);
31 
34  const HitPoint& GetHitPoint () const;
35  const Attack& GetAttack () const;
36  const Defense& GetDefense () const;
37  const SpecialAttack& GetSpecialAttack () const;
38  const SpecialDefense& GetSpecialDefense () const;
39  const Speed& GetSpeed () const;
41 
44  void LoadFromPokemonStat (const PokemonStat& stats);
46 
47  void SetCurrentHP (const yap::UInt16& value);
48 
49  void ModifyHitPoint (int value);
50 
56  void ComputeStats (
57  const PokemonInfo& pokeInfo,
58  const UInt16& level,
59  const NatureInfo& natureInfo);
60 
61  void RestoreHP ();
62 
63  private:
70  };
71 } // namespace yap
72 
73 #endif // YAPOG_POKEMONSTAT_HPP