3 * Iter Vehemens ad Necem (IVAN)
4 * Copyright (C) Timo Kiviluoto
5 * Released under the GNU General
8 * See LICENSING which should be included
9 * along with this file for more details
16 #include "ivancommon.h"
24 #define CHAR_NAME(Case) GetName(Case).CStr()
25 #define CHAR_DESCRIPTION(Case) GetDescription(Case).CStr()
32 virtual void AddName (festring
&, int, int) const;
33 virtual festring
GetName (int, int) const;
34 virtual void AddName (festring
&, int) const;
35 virtual festring
GetName (int) const;
36 cchar
*GetArticle () const { return UsesLongArticle() ? "an" : "a"; }
39 virtual cfestring
&GetNameSingular () const = 0;
40 virtual void AddNameSingular (festring
&, truth
) const;
41 virtual cfestring
& GetNamePlural () const = 0;
42 virtual truth
UsesLongArticle () const = 0;
43 virtual truth
AddRustLevelDescription (festring
&, truth
) const { return false; }
44 virtual truth
AddStateDescription (festring
&, truth
) const { return false; }
45 virtual truth
AddAdjective (festring
&, truth
) const;
46 virtual cfestring
&GetAdjective () const = 0;
47 virtual truth
UsesLongAdjectiveArticle () const = 0;
48 virtual truth
AddMaterialDescription (festring
&, truth
) const { return false; }
49 virtual cfestring
& GetPostFix () const = 0;
50 virtual void AddPostFix (festring
&, int) const;
51 virtual int GetArticleMode () const { return 0; }
52 virtual truth
ShowMaterial () const { return false; }
53 virtual truth
AddActiveAdjective (festring
&, truth
) const;