OSDN Git Service

Re-fix naming in Dungeon class.
[deeangband/Deeangband-new.git] / Deeangband / Karma.h
index 6462cec..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"
 
-/*! 
- * @brief \83J\83\8b\83}\82Ì\88ê\97\97\97ñ\8b\93
- */
-enum KARMA_TYPE
+namespace Deeangband
 {
-       KARMA_IDEAL,       //!< \83J\83\8b\83}:\97\9d\91z
-       KARMA_PRAGMATIC,   //!< \83J\83\8b\83}:\8eÀ\97\98
-       KARMA_HARMONY,     //!< \83J\83\8b\83}:\92²\98a
-       KARMA_ALOOFNESS,   //!< \83J\83\8b\83}:\8cÇ\8d\82
-       KARMA_TEMPERATE,   //!< \83J\83\8b\83}:\90ß\90§
-       KARMA_INDULGENT,   //!< \83J\83\8b\83}:\96z\95ú
-       KARMA_CHASTE,      //!< \83J\83\8b\83}:\92å\90ß
-       KARMA_PASSION,     //!< \83J\83\8b\83}:\8fî\97~
-       KARMA_MERCY,       //!< \83J\83\8b\83}:\8e\9c\94ß
-       KARMA_CRUELTY,     //!< \83J\83\8b\83}:\97â\8d\93
-       KARMA_HONEST,      //!< \83J\83\8b\83}:\90½\8eÀ
-       KARMA_CLEVER,      //!< \83J\83\8b\83}:àÂàÏ
-       KARMA_FORGIVING,   //!< \83J\83\8b\83}:\8a°\91å
-       KARMA_AVENGE,      //!< \83J\83\8b\83}:\8e·\94O
-       KARMA_GENEROUS,    //!< \83J\83\8b\83}:\9c\97\92W
-       KARMA_GREED,       //!< \83J\83\8b\83}:æÃ\97~
-       KARMA_MODEST,      //!< \83J\83\8b\83}:\8cª\8b\95
-       KARMA_PROUD,       //!< \83J\83\8b\83}:\98ü\96\9d
-       KARMA_TRSUTING,    //!< \83J\83\8b\83}:\8f\83\96p
-       KARMA_SUSPICION,   //!< \83J\83\8b\83}:àÈ\8b^
-       KARMA_ZEALOTRY,    //!< \83J\83\8b\83}:\94M\90S
-       KARMA_SCEPTICISM,  //!< \83J\83\8b\83}:\89ù\8b^
-       KARMA_DELIGENT,    //!< \83J\83\8b\83}:\8bÎ\95×
-       KARMA_IDLENESS,    //!< \83J\83\8b\83}:\96³\88×
-       KARMA_CREATION,    //!< \83J\83\8b\83}:\91n\91¢
-       KARMA_DESTRUCTION, //!< \83J\83\8b\83}:\94j\89ó
-       KARMA_PLEASURE,    //!< \83J\83\8b\83}:\89õ\8ay
-       KARMA_PAIN,        //!< \83J\83\8b\83}:\8bê\92É
-       KARMA_WEALTH,      //!< \83J\83\8b\83}:\95x\97T
-       KARMA_PRESITIGE,   //!< \83J\83\8b\83}:\91¸\8cµ
-       KARMA_ERUDITION,   //!< \83J\83\8b\83}:\94\8e\8e¯
-       KARMA_BRAVE,       //!< \83J\83\8b\83}:\97E\96Ò
-       KARMA_DISCRETION,  //!< \83J\83\8b\83}:\8ev\97
-       KARMA_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
- */
-class Karma : public CreatureTemplate
-{
-private:
-       Discipline desciplinePlus; //!< \8fC\97{\92l\8fC\90³
+       /*! 
+       * @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
+       };
 
-       /*!
-        * @brief \83N\83\89\83X\82Ì\83V\83\8a\83A\83\89\83C\83Y\89»\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 fileVersion \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 fileVersion) 
+       /*! 
+       * @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
        {
-               archive & BOOST_SERIALIZATION_NVP(desciplinePlus);
-       }
+       private:
 
-public:
+               Discipline desciplinePlus; //!< \8fC\97{\92l\8fC\90³
+               TAG antiKarma; //!< \91Î\97§\83J\83\8b\83}
 
-       /*! 
-        * @brief Karma\83N\83\89\83X\83R\83\93\83X\83g\83\89\83N\83^(GameElement\83\81\83\93\83o\91Î\89\9e)
-        * @param id GameElement\82ÌID
-        * @param tag GameElement\82Ì\83^\83O
-        * @param gameWorld \8f\8a\91®\8c³gameWorld\8eQ\8fÆ\83|\83C\83\93\83^
-        */
-       Karma::Karma(ID id, TAG tag, GameWorld *gameWorld);
+               friend class boost::serialization::access;
 
-       /*! 
-        * @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 \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);
+                       }
+               }
 
-       /*! 
-        * @brief Karma\83N\83\89\83X\83f\83X\83g\83\89\83N\83^
-        */
-       Karma::~Karma(void);
+       public:
 
-       /*! 
-        * @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);
-};
+               /*! 
+               * @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);