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_WIZARD_H
00026 # define OGS_CCLASSES_WIZARD_H
00027
00028 # include <vector>
00029
00030 # include <ogs/core/CClass.h>
00031 # include <ogs/core/Die.h>
00032 # include <ogs/core/Saves.h>
00033 # include <ogs/magic/Types.h>
00034 # include <ogs/cclasses/Namespace.h>
00035
00036 OGS_BEGIN_CCLASSES_NAMESPACE
00037
00067 class Wizard: public ogs::core::CClass {
00068 public:
00072 static const ogs::core::Die::Sides HIT_DIE = ogs::core::Die::d4;
00073
00078 static const ogs::core::Skill::Points SKILL_RATE = 2;
00079
00080 Wizard (ogs::core::XP::Level xpLevel = 1);
00081
00082 ogs::magic::SpellCounts getSpellsPerDay () const;
00083
00084 protected:
00085 ogs::core::Modifier::Value getBaseAttackValue () const;
00086 ogs::core::Modifier::Value getBaseWillSaveValue () const;
00087
00088 private:
00089
00090 };
00091
00097 inline Wizard::Wizard (ogs::core::XP::Level xpLevel):
00098 CClass (HIT_DIE, SKILL_RATE, xpLevel,
00099 ogs::core::XP::getAverageAttack (xpLevel),
00100 ogs::core::Saves::getWeakBonus (xpLevel),
00101 ogs::core::Saves::getWeakBonus (xpLevel),
00102 ogs::core::Saves::getWeakBonus (xpLevel)) {
00103
00104 }
00105
00112 inline ogs::core::Modifier::Value
00113 Wizard::getBaseAttackValue () const {
00114 return (ogs::core::XP::getWeakAttack (getLevel ()));
00115 }
00116
00123 inline ogs::core::Modifier::Value
00124 Wizard::getBaseWillSaveValue () const {
00125 return (ogs::core::Saves::getStrongBonus (getLevel ()));
00126 }
00127
00128 OGS_END_CCLASSES_NAMESPACE
00129
00130 # endif
00131
00132 #endif
00133