diff options
Diffstat (limited to 'engines/dm/dungeonman.h')
-rw-r--r-- | engines/dm/dungeonman.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/engines/dm/dungeonman.h b/engines/dm/dungeonman.h index 93705721f6..f5943cd6be 100644 --- a/engines/dm/dungeonman.h +++ b/engines/dm/dungeonman.h @@ -8,6 +8,25 @@ namespace DM { + +enum ArmourAttribute { + kArmourAttributeIsAShield = 0x0080, // @ MASK0x0080_IS_A_SHIELD + kArmourAttributeSharpDefense = 0x0007, // @ MASK0x0007_SHARP_DEFENSE +}; + +class ArmourInfo { +public: + uint16 _weight; + uint16 _defense; +private: + uint16 _attributes; +public: + ArmourInfo(uint16 weight, uint16 defense) + :_weight(weight), _defense(defense) {} + + uint16 getAttribute(ArmourAttribute attribute) { return _attributes & attribute; } + void setAttribute(ArmourAttribute attribute) { _attributes |= attribute; } +}; // @ ARMOUR_INFO enum WeaponClass { /* Class 0: SWING weapons */ |