nw::Item

struct Item : public nw::ObjectBase

Public Functions

Item()
Item(nw::MemoryResource *allocator)
inline virtual Common *as_common() override
inline virtual const Common *as_common() const override
inline virtual Item *as_item() override
inline virtual const Item *as_item() const override
virtual void clear() override
virtual bool instantiate() override
inline virtual InternedString tag() const override
Image get_icon_by_part(ItemModelParts::type part = ItemModelParts::model1, bool female = false) const

Gets image by item model part.

Note

Merging icons is also the responsibility of the caller.

PltColors model_to_plt_colors() const noexcept

Converts model colors to Plt colors.

PltColors part_to_plt_colors(ItemModelParts::type part) const noexcept

Converts model colors to Plt colors.

bool save(const std::filesystem::path &path, std::string_view format = "json")

Saves an object to the specified path, format can be either ‘json’ or ‘gff’.

inline nw::MemoryResource *allocator() const noexcept
inline ObjectHandle handle() const noexcept
inline void set_handle(ObjectHandle handle)
const EffectArray &effects() const
EffectArray &effects()
inline Vector<VisualTransform> &visual_transform() noexcept
inline const Vector<VisualTransform> &visual_transform() const noexcept
void add_visual_transform(VisualTransform value)
inline virtual Versus versus_me() const
inline virtual Area *as_area()
inline virtual const Area *as_area() const
inline virtual Creature *as_creature()
inline virtual const Creature *as_creature() const
inline virtual Door *as_door()
inline virtual const Door *as_door() const
inline virtual Encounter *as_encounter()
inline virtual const Encounter *as_encounter() const
inline virtual Module *as_module()
inline virtual const Module *as_module() const
inline virtual Placeable *as_placeable()
inline virtual const Placeable *as_placeable() const
inline virtual Player *as_player()
inline virtual const Player *as_player() const
inline virtual Sound *as_sound()
inline virtual const Sound *as_sound() const
inline virtual Store *as_store()
inline virtual const Store *as_store() const
inline virtual Trigger *as_trigger()
inline virtual const Trigger *as_trigger() const
inline virtual Waypoint *as_waypoint()
inline virtual const Waypoint *as_waypoint() const

Public Members

Common common
Inventory inventory
LocString description
LocString description_id
Vector<ItemProperty> properties
int armor_id = -1
uint32_t cost = 0
uint32_t additional_cost = 0
nw::BaseItem baseitem
uint16_t stacksize = 1
uint8_t charges = 0
bool cursed = false
bool identified = false
bool plot = false
bool stolen = false
ItemModelType model_type = ItemModelType::simple
std::array<uint8_t, 6> model_colors
std::array<uint16_t, 19> model_parts
std::array<std::array<uint8_t, 6>, 19> part_colors
bool instantiated_ = false

Public Static Functions

static String get_name_from_file(const std::filesystem::path &path)

Public Static Attributes

static constexpr int json_archive_version = 1
static constexpr ObjectType object_type = ObjectType::item
static constexpr ResourceType::type restype = ResourceType::uti
static constexpr StringView serial_id = {"UTI"}