00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifdef __cplusplus
00024
00025 # ifndef OGS_CREATURES_HUMANOIDS_HALF_ELF_H
00026 # define OGS_CREATURES_HUMANOIDS_HALF_ELF_H
00027
00028 # include <ogs/core/details/Maturity.h>
00029 # include <ogs/creatures/Humanoid.h>
00030 # include <ogs/creatures/humanoids/Namespace.h>
00031
00032 OGS_BEGIN_CREATURES_HUMANOIDS_NAMESPACE
00033
00039 class HalfElf: public ogs::creatures::Humanoid,
00040 public ogs::core::details::Maturity {
00041 public:
00042
00043 unsigned getAdultAge () const;
00044 unsigned getMiddleAge () const;
00045 unsigned getOldAge () const;
00046 unsigned getVenerableAge () const;
00047 const Die& getMaximumAge () const;
00048
00049 private:
00050 static Die _maximumAge;
00051 };
00052
00059 inline unsigned HalfElf::getAdultAge () const {
00060 return (20);
00061 }
00062
00069 inline unsigned HalfElf::getMiddleAge () const {
00070 return (62);
00071 }
00072
00079 inline unsigned HalfElf::getOldAge () const {
00080 return (93);
00081 }
00082
00089 inline unsigned HalfElf::getVenerableAge () const {
00090 return (125);
00091 }
00092
00099 inline const Die& HalfElf::getMaximumAge () const {
00100 return (_maximumAge);
00101 }
00102
00103 OGS_END_CREATURES_HUMANOIDS_NAMESPACE
00104
00105 # endif
00106
00107 #endif
00108