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_ELF_H
00026 # define OGS_CREATURES_HUMANOIDS_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
00063 class Elf: public ogs::creatures::Humanoid,
00064 public ogs::core::details::Maturity {
00065 public:
00066
00067 unsigned getAdultAge () const;
00068 unsigned getMiddleAge () const;
00069 unsigned getOldAge () const;
00070 unsigned getVenerableAge () const;
00071 const Die& getMaximumAge () const;
00072
00073 private:
00074 static Die _maximumAge;
00075 };
00076
00083 inline unsigned Elf::getAdultAge () const {
00084 return (110);
00085 }
00086
00093 inline unsigned Elf::getMiddleAge () const {
00094 return (175);
00095 }
00096
00103 inline unsigned Elf::getOldAge () const {
00104 return (263);
00105 }
00106
00113 inline unsigned Elf::getVenerableAge () const {
00114 return (350);
00115 }
00116
00123 inline const Die& Elf::getMaximumAge () const {
00124 return (_maximumAge);
00125 }
00126
00127 OGS_END_CREATURES_HUMANOIDS_NAMESPACE
00128
00129 # endif
00130
00131 #endif
00132