diff --git a/Source/itemdat.cpp b/Source/itemdat.cpp index 621189864..55eeb07e2 100644 --- a/Source/itemdat.cpp +++ b/Source/itemdat.cpp @@ -6,6 +6,7 @@ #include "itemdat.h" +#include #include #include @@ -242,7 +243,11 @@ tl::expected ParseItemCursorGraphic(std::strin if (value == "DEMON_PLATE_ARMOR") return ICURS_DEMON_PLATE_ARMOR; if (value == "BOVINE") return ICURS_BOVINE; if (value == "") return ICURS_DEFAULT; - return tl::make_unexpected("Unknown enum value"); + + // also support providing the item cursor icon frame number directly + return ParseInt(value) + .map([](auto numericalValue) { return static_cast(numericalValue); }) + .map_error([](auto) { return std::string("Unknown enum value"); }); } tl::expected ParseItemType(std::string_view value)