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_CCLASSES_FIGHTER_H
00026 # define OGS_CCLASSES_FIGHTER_H
00027
00028 # include <ogs/core/CClass.h>
00029 # include <ogs/core/Die.h>
00030 # include <ogs/core/Experience.h>
00031 # include <ogs/core/Skill.h>
00032 # include <ogs/core/Types.h>
00033 # include <ogs/cclasses/Namespace.h>
00034
00035 OGS_BEGIN_CCLASSES_NAMESPACE
00036
00052 class Fighter: public ogs::core::CClass {
00053 public:
00057 static const ogs::core::Die::Sides HIT_DIE = ogs::core::Die::d10;
00058
00063 static const ogs::core::Skill::Points SKILL_RATE = 2;
00064
00065 Fighter (ogs::core::XP::Level xpLevel = 1);
00066
00067 private:
00068 ogs::core::Feats _bonusFeats;
00069
00070 ogs::core::Modifier::Value getBaseAttack () const;
00071 ogs::core::Modifier::Value getBaseFortSave () const;
00072 };
00073
00079 inline Fighter::Fighter (ogs::core::XP::Level xpLevel):
00080 CClass (HIT_DIE, SKILL_RATE, xpLevel,
00081 ogs::core::XP::getStrongAttack (xpLevel),
00082 ogs::core::Saves::getStrongBonus (xpLevel),
00083 ogs::core::Saves::getWeakBonus (xpLevel),
00084 ogs::core::Saves::getWeakBonus (xpLevel)),
00085 _bonusFeats () {
00086
00087 }
00088
00095 inline ogs::core::Modifier::Value
00096 Fighter::getBaseAttack () const {
00097 return (ogs::core::XP::getStrongAttack (getLevel ()));
00098 }
00099
00107 inline ogs::core::Modifier::Value
00108 Fighter::getBaseFortSave () const {
00109 return (ogs::core::Saves::getStrongBonus (getLevel ()));
00110 }
00111
00112 OGS_END_CCLASSES_NAMESPACE
00113
00114 # endif
00115
00116 #endif
00117