diff options
Diffstat (limited to 'src/artifact_type.hpp')
-rw-r--r-- | src/artifact_type.hpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/artifact_type.hpp b/src/artifact_type.hpp new file mode 100644 index 00000000..7a4340aa --- /dev/null +++ b/src/artifact_type.hpp @@ -0,0 +1,60 @@ +#pragma once + +#include "h-basic.h" + +/** + * Artifact descriptor. + * + * Note that the save-file only writes "cur_num" to the savefile. + * + * Note that "max_num" is always "1" (if that artifact "exists") + */ +struct artifact_type +{ + char const *name; /* Artifact name */ + char *text; /* Artifact description */ + + byte tval; /* Artifact type */ + byte sval; /* Artifact sub type */ + + s16b pval; /* Artifact extra info */ + + s16b to_h; /* Bonus to hit */ + s16b to_d; /* Bonus to damage */ + s16b to_a; /* Bonus to armor */ + + s16b activate; /* Activation Number */ + + s16b ac; /* Base armor */ + + byte dd, ds; /* Damage when hits */ + + s16b weight; /* Weight */ + + s32b cost; /* Artifact "cost" */ + + u32b flags1; /* Artifact Flags, set 1 */ + u32b flags2; /* Artifact Flags, set 2 */ + u32b flags3; /* Artifact Flags, set 3 */ + u32b flags4; /* Artifact Flags, set 4 */ + u32b flags5; /* Artifact Flags, set 5 */ + + u32b oflags1; /* Obvious Flags, set 1 */ + u32b oflags2; /* Obvious Flags, set 2 */ + u32b oflags3; /* Obvious Flags, set 3 */ + u32b oflags4; /* Obvious Flags, set 4 */ + u32b oflags5; /* Obvious Flags, set 5 */ + + byte level; /* Artifact level */ + byte rarity; /* Artifact rarity */ + + byte cur_num; /* Number created (0 or 1) */ + byte max_num; /* Unused (should be "1") */ + + u32b esp; /* ESP flags */ + u32b oesp; /* ESP flags */ + + s16b power; /* Power granted(if any) */ + + s16b set; /* Does it belongs to a set ?*/ +}; |