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_MAGIC_ABILITIES_CHARISMA_H
00026 #    define OGS_MAGIC_ABILITIES_CHARISMA_H
00027 
00028 #    include <ogs/core/Ability.h>
00029 #    include <ogs/magic/Ability.h>
00030 #    include <ogs/magic/Types.h>
00031 #    include <ogs/magic/abilities/Namespace.h>
00032 
00033 OGS_BEGIN_MAGIC_ABILITIES_NAMESPACE
00034 
00041 class Charisma: public ogs::core::Ability,
00042                 public ogs::magic::Ability {
00043   public:
00044     Charisma ();
00045     Charisma (ogs::core::Ability::Method& method);
00046 
00047     int getHighestSpellLevel () const;
00048     SpellCounts getBonusSpells () const;
00049 };
00050 
00055 inline Charisma::Charisma ():
00056   ogs::core::Ability (ogs::core::Ability::CHA) {
00057   
00058 }
00059 
00065 inline Charisma::Charisma (ogs::core::Ability::Method& method):
00066   ogs::core::Ability (ogs::core::Ability::STR, method) {
00067   
00068 }
00069 
00076 inline int
00077 Charisma::getHighestSpellLevel () const {
00078   return (Ability::getHighestSpellLevel (getCurrentScore ()));
00079 }
00080 
00086 inline SpellCounts
00087 Charisma::getBonusSpells () const {
00088   return (Ability::getBonusSpells ((getModifier ()).getValue ()));
00089 }
00090 
00091 OGS_END_MAGIC_ABILITIES_NAMESPACE
00092 
00093 #  endif 
00094 
00095 #endif 
00096