OSDN Git Service

Re-fix naming in Dungeon class.
[deeangband/Deeangband-new.git] / Deeangband / Karma.h
index 95c5d9b..6fee3a1 100644 (file)
 /*!
- * @file Karma.h
- * @brief \83J\83\8b\83}\82Ì\83v\83\8d\83g\83^\83C\83v\90é\8c¾
- * @date 2014/02/01
- * @author Deskull
- * 2014 Sikabane Works.
- */
+* @file Karma.h
+* @brief \83J\83\8b\83}\82Ì\83v\83\8d\83g\83^\83C\83v\90é\8c¾
+* @date 2014/02/01
+* @author Deskull
+* 2014 Sikabane Works.
+*/
 
 #pragma once
 
 #include "stdafx.h"
 #include "CreatureTemplate.h"
+#include "Discipline.h"
+#include "Deeangband.h"
 
-/*! 
- * @class Karma
- * @brief \83J\83\8b\83}\82Ì\83N\83\89\83X
- */
-class Karma : public CreatureTemplate
+namespace Deeangband
 {
-private:
-public:
-};
+
+       /*! 
+       * @brief \83J\83\8b\83}\82Ì\88ê\97\97\97ñ\8b\93
+       */
+       enum KARMA_TYPE
+       {
+               VANILLA_IDEAL,       //!< \83J\83\8b\83}:\97\9d\91z
+               VANILLA_PRAGMATIC,   //!< \83J\83\8b\83}:\8eÀ\97\98
+               VANILLA_HARMONY,     //!< \83J\83\8b\83}:\92²\98a
+               VANILLA_ALOOFNESS,   //!< \83J\83\8b\83}:\8cÇ\8d\82
+               VANILLA_TEMPERATE,   //!< \83J\83\8b\83}:\90ß\90§
+               VANILLA_INDULGENT,   //!< \83J\83\8b\83}:\96z\95ú
+               VANILLA_CHASTE,      //!< \83J\83\8b\83}:\92å\90ß
+               VANILLA_PASSION,     //!< \83J\83\8b\83}:\8fî\97~
+               VANILLA_MERCY,       //!< \83J\83\8b\83}:\8e\9c\94ß
+               VANILLA_CRUELTY,     //!< \83J\83\8b\83}:\97â\8d\93
+               VANILLA_HONEST,      //!< \83J\83\8b\83}:\90½\8eÀ
+               VANILLA_CLEVER,      //!< \83J\83\8b\83}:àÂàÏ
+               VANILLA_FORGIVING,   //!< \83J\83\8b\83}:\8a°\91å
+               VANILLA_AVENGE,      //!< \83J\83\8b\83}:\8e·\94O
+               VANILLA_GENEROUS,    //!< \83J\83\8b\83}:\9c\97\92W
+               VANILLA_GREED,       //!< \83J\83\8b\83}:æÃ\97~
+               VANILLA_MODEST,      //!< \83J\83\8b\83}:\8cª\8b\95
+               VANILLA_PROUD,       //!< \83J\83\8b\83}:\98ü\96\9d
+               VANILLA_TRSUTING,    //!< \83J\83\8b\83}:\8f\83\96p
+               VANILLA_SUSPICION,   //!< \83J\83\8b\83}:àÈ\8b^
+               VANILLA_ZEALOTRY,    //!< \83J\83\8b\83}:\94M\90S
+               VANILLA_SCEPTICISM,  //!< \83J\83\8b\83}:\89ù\8b^
+               VANILLA_DELIGENT,    //!< \83J\83\8b\83}:\8bÎ\95×
+               VANILLA_IDLENESS,    //!< \83J\83\8b\83}:\96³\88×
+               VANILLA_CREATION,    //!< \83J\83\8b\83}:\91n\91¢
+               VANILLA_DESTRUCTION, //!< \83J\83\8b\83}:\94j\89ó
+               VANILLA_PLEASURE,    //!< \83J\83\8b\83}:\89õ\8ay
+               VANILLA_PAIN,        //!< \83J\83\8b\83}:\8bê\92É
+               VANILLA_WEALTH,      //!< \83J\83\8b\83}:\95x\97T
+               VANILLA_PRESITIGE,   //!< \83J\83\8b\83}:\91¸\8cµ
+               VANILLA_ERUDITION,   //!< \83J\83\8b\83}:\94\8e\8e¯
+               VANILLA_BRAVE,       //!< \83J\83\8b\83}:\97E\96Ò
+               VANILLA_DISCRETION,  //!< \83J\83\8b\83}:\8ev\97
+               VANILLA_FORTUNE,     //!< \83J\83\8b\83}:\93V\89^
+               MAX_KARMAS,        //!< \83J\83\8b\83}\90\94
+       };
+
+       /*! 
+       * @class Karma
+       * @brief \83J\83\8b\83}\82Ì\83N\83\89\83X
+       * @details 
+       * <H1>\8aT\97v</H1>
+       * <p>Karma\83N\83\89\83X\82Í\81A\96¼\91O\92Ê\82è\83N\83\8a\81[\83`\83\83\81[\82Ì\8bÆ(\83J\83\8b\83})\82Ì\8eí\95Ê\82ð\92è\8b`\82·\82é\82à\82Ì\82Å\82 \82é\81B</p>
+       * <p>\81u\83J\83\8b\83}\81v\82Í\95Ï\8bð\82Ì\81u\93¿\81v\82Ì\83V\83X\83e\83\80\82Ì\94­\93W\82ð\96Ú\8ew\82µ\82½\82à\82Ì\82Å\81A\83N\83\8a\81[\83`\83\83\81[\82ª\8ds\82Á\82½\8ds\88×\82É\8aî\82Ã\82¢\82Ä\81A
+       * \92l\82ª\91\9d\8c¸\82µ\81A\82»\82Ì\8fó\91Ô\97Ê\82É\89\9e\82\82Ä\91P\81A\88«\81A\92\81\8f\98\81A\8d¬\93×\81A\93V\94\89\82Å\8d\\90¬\82³\82ê\82½\8fC\97{\92l\82à\95Ï\89»\82µ\82Ä\82¢\82­\81B</p>
+       * <p>\83J\83\8b\83}\82Ì\92\86\82É\82Í\82»\82ê\82¼\82ê\91Î\82É\82È\82Á\82Ä\82¢\82é\82à\82Ì\93¯\8em\82ª\82 \82è\81A\82±\82Ì\8fê\8d\87\91o\95û\82Ì\83J\83\8b\83}\92l\82Í\8fí\82É\90³\95\89\82ð\88á\82¦\82Ä\81A
+       * \90â\91Î\92l\82ª\93¯\82\82É\82È\82é\81B</p>
+       */
+       class Karma : public CreatureTemplate
+       {
+       private:
+
+               Discipline desciplinePlus; //!< \8fC\97{\92l\8fC\90³
+               TAG antiKarma; //!< \91Î\97§\83J\83\8b\83}
+
+               friend class boost::serialization::access;
+
+               /*!
+               * @brief \83N\83\89\83X\82Ì\83V\83\8a\83A\83\89\83C\83Y\82ð\90Ý\92è\82·\82é
+               * @param archive \83A\81[\83J\83C\83u\89»\82·\82é\83N\83\89\83X\82Ì\83A\83h\83\8c\83X
+               * @param version \83t\83@\83C\83\8b\83o\81[\83W\83\87\83\93
+               * @return XMLSerialize\83e\83\93\83v\83\8c\81[\83g
+               */
+               template<class Archive> void serialize(Archive &archive, const unsigned int version) 
+               {
+                       if(version >= 0)
+                       {
+                               archive & boost::serialization::make_nvp("descipline_plus", desciplinePlus);
+                       }
+               }
+
+       public:
+
+               /*! 
+               * @brief Karma\83N\83\89\83X\83R\83\93\83X\83g\83\89\83N\83^(\8f\89\8aú\92l\91ã\93ü)
+               */
+               Karma::Karma(void);
+
+               /*! 
+               * @brief Karma\83N\83\89\83X\83f\83X\83g\83\89\83N\83^
+               */
+               Karma::~Karma(void);
+
+               /*! 
+               * @brief Karma\83N\83\89\83X\82Ì\83f\81[\83^\8fÁ\8b\8e
+               */
+               void Karma::WipeData(void);
+
+               /*! 
+               * @brief \8fC\97{\92l\8fC\90³\82ð\95Ô\82·
+               * @return \8fC\97{\92l\82Ì\8eQ\8fÆ\83|\83C\83\93\83^
+               */
+               const Discipline* Karma::GetDiscipline(void);
+       };
+
+}
+
+BOOST_CLASS_VERSION(Deeangband::Karma, 10);