#include "system/system-variables.h"
#include "util/flag-group.h"
#include <optional>
+#include <string>
+#include <vector>
enum class FixedArtifactId : short;
enum class ItemKindType : short;
class ArtifactType;
class EgoItemDefinition;
class BaseitemInfo;
+struct activation_type;
class ItemEntity {
public:
ItemEntity();
bool is_armour() const;
bool is_cross_bow() const;
bool is_inscribed() const;
+ std::vector<activation_type>::const_iterator find_activation_info() const;
+ bool has_activation() const;
BaseitemInfo &get_baseitem() const;
EgoItemDefinition &get_ego() const;
ArtifactType &get_fixed_artifact() const;
TrFlags get_flags() const;
TrFlags get_flags_known() const;
+ std::string build_activation_description(const activation_type &act) const;
+ std::string build_timeout_description(const activation_type &act) const;
void mark_as_known();
void mark_as_tried();
int calc_figurine_value() const;
int calc_capture_value() const;
void modify_ego_lite_flags(TrFlags &flags) const;
+ RandomArtActType get_activation_index() const;
+ std::string build_activation_description_dragon_breath() const;
};