OSDN Git Service

[Modify] 色々怪しいがビルドは通るところまで。 / Various suspicious but the build passes...
[deeangband/Deeangband-new.git] / Deeangband / CreatureTemplate.h
1 /*!
2 * @file CreatureTemplate.h
3 * @brief CreatureTemplate\83N\83\89\83X\82Æ\82»\82Ì\91¼\95t\90\8f\97v\91f\82Ì\83v\83\8d\83g\83^\83C\83v
4 * @date 2013/12/11
5 * @author Deskull
6 * 2013 Sikabane Works.
7 */
8
9 #pragma once
10
11 #include "stdafx.h"
12 #include "Deeangband.h"
13
14 #include "BaseStatusTable.h"
15 #include "GameElement.h"
16 #include "HaveSize.h"
17 #include "Discipline.h"
18
19 namespace Deeangband
20 {
21
22         /*!
23         * @class CreatureTemplate
24         * @brief \8eí\91°\81A\90E\8bÆ\81A\91I\91ð\81A\93Á\90«\82È\82Ç\81A\83N\83\8a\81[\83`\83\83\81[\82É\95ï\8a\87\93I\8fC\90³\82ð\97^\82¦\82é\97v\91f\82ð\82Ü\82Æ\82ß\82é\8aî\96{\83N\83\89\83X
25         */
26         class CreatureTemplate : public GameElement
27         {
28         private:
29
30                 /*!
31                 * @brief \83N\83\89\83X\82Ì\83V\83\8a\83A\83\89\83C\83Y\82ð\90Ý\92è\82·\82é
32                 * @param archive \83A\81[\83J\83C\83u\89»\82·\82é\83N\83\89\83X\82Ì\83A\83h\83\8c\83X
33                 * @param version \83t\83@\83C\83\8b\83o\81[\83W\83\87\83\93
34                 * @return XMLSerialize\83e\83\93\83v\83\8c\81[\83g
35                 */
36                 template<class Archive> void serialize(Archive &archive, const unsigned int version) 
37                 {
38                 }
39
40         protected:
41                 NAME name; //!<\83e\83\93\83v\83\8c\81[\83g\96¼\8fÌ
42                 DESCRIPTION description; //!<\8fÚ\8d×\8bL\8fq
43                 BaseStatusTable statusPlus; //!<\83X\83e\81[\83^\83X\8fC\90³
44                 Discipline disciplinePlus; //!<\8fC\97{\92l\8fC\90³
45
46         public:
47
48                 /*! 
49                 * @brief CreatureTemplate\83N\83\89\83X\83R\83\93\83X\83g\83\89\83N\83^(\83f\83t\83H\83\8b\83g\92l\93ü\97Í)
50                 */
51                 CreatureTemplate::CreatureTemplate(void);
52
53                 /*! 
54                 * @brief CreatureTemplate\83N\83\89\83X\83f\83X\83g\83\89\83N\83^
55                 */
56                 virtual CreatureTemplate::~CreatureTemplate(void);
57
58                 /*! 
59                 * @brief CreatureTemplate\82Ì\83f\81[\83^\8fÁ\8b\8e
60                 */
61                 void CreatureTemplate::WipeData(void);
62
63                 /*! 
64                 * @brief \8aî\96{\83X\83e\81[\83^\83X\8fC\90³\82ð\95Ô\82·
65                 * @return \8aî\96{\83X\83e\81[\83^\83X\8fC\90³\8d\\91¢\91Ì\82Ì\8eQ\8fÆ\83|\83C\83\93\83^
66                 */
67                 BaseStatusTable* CreatureTemplate::GetStatusPlus(void);
68
69                 /*! 
70                 * @brief \8aî\96{\8fC\97{\92l\8fC\90³\82ð\95Ô\82·
71                 * @return \8aî\96{\8fC\97{\92l\8fC\90³\8d\\91¢\91Ì\82Ì\8eQ\8fÆ\83|\83C\83\93\83^
72                 */
73                 Discipline* CreatureTemplate::GetDisciplinePlus(void);
74
75                 /*! 
76                 * @brief \8ew\92è\82Ì\83X\83L\83\8b\82ð\83N\83\8a\81[\83`\83\83\81[\82ª\95Û\8e\9d\82µ\82Ä\82¢\82é\82©\82ð\95Ô\82·
77                 * @param tag \83X\83L\83\8b\82Ì\83^\83O
78                 * @return \8f\8a\8e\9d\82µ\82Ä\82¢\82é\82È\82ç\82ÎTRUE\82ð\95Ô\82·
79                 */
80                 bool CreatureTemplate::HasSkill(TAG tag);
81
82         };
83
84 }
85