From 7980f4d21956314e284448f7dcedd58f9c23b355 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 3 Apr 2023 01:58:15 +0000 Subject: Item mode --- src/mmo/enums.hpp | 15 +++++++++++++++ src/mmo/extract_enums.hpp | 3 +++ 2 files changed, 18 insertions(+) (limited to 'src/mmo') diff --git a/src/mmo/enums.hpp b/src/mmo/enums.hpp index 2564ec9..12c82ca 100644 --- a/src/mmo/enums.hpp +++ b/src/mmo/enums.hpp @@ -107,6 +107,20 @@ enum class ItemLook : uint16_t COUNT = 17, }; +namespace e +{ +enum class ItemMode : uint8_t +{ + NONE = 0, + NO_DROP = 1, + NO_TRADE = 2, + NO_SELL_TO_NPC = 4, + NO_STORAGE = 8, +}; +ENUM_BITWISE_OPERATORS(ItemMode) +} +using e::ItemMode; + enum class SEX : uint8_t { FEMALE = 0, @@ -117,6 +131,7 @@ enum class SEX : uint8_t NEUTRAL = 3, __OTHER = 4, // used in ManaPlus only }; + inline char sex_to_char(SEX sex) { diff --git a/src/mmo/extract_enums.hpp b/src/mmo/extract_enums.hpp index 0e8ac4c..14e7b17 100644 --- a/src/mmo/extract_enums.hpp +++ b/src/mmo/extract_enums.hpp @@ -35,6 +35,7 @@ enum class EPOS : uint16_t; enum class Opt1 : uint16_t; enum class Opt2 : uint16_t; enum class Opt0 : uint16_t; +enum class ItemMode : uint8_t; inline bool impl_extract(XString str, EPOS *iv) { return extract_as_int(str, iv); } @@ -44,6 +45,8 @@ inline bool impl_extract(XString str, Opt2 *iv) { return extract_as_int(str, iv); } inline bool impl_extract(XString str, Opt0 *iv) { return extract_as_int(str, iv); } +inline +bool impl_extract(XString str, ItemMode *iv) { return extract_as_int(str, iv); } } // namespace e enum class ItemLook : uint16_t; -- cgit v1.2.3-70-g09d2