nw::Creature

struct Creature : public nw::ObjectBase

Subclassed by nw::Player

Public Functions

Creature()
Creature(nw::MemoryResource *allocator)
inline virtual Common *as_common() override
inline virtual const Common *as_common() const override
inline virtual Creature *as_creature() override
inline virtual const Creature *as_creature() const override
virtual void clear() override
virtual bool instantiate() override
inline virtual InternedString tag() const override
virtual Versus versus_me() const override
AlignmentFlags alignment_flags() const noexcept

Gets alignment flags.

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’.

void update_appearance(Appearance id)

Update creatures appearance.

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 Area *as_area()
inline virtual const Area *as_area() 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 Item *as_item()
inline virtual const Item *as_item() 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
CreatureAppearance appearance
CombatInfo combat_info
Equips equipment
Inventory inventory
LevelStats levels
LevelHistory history
CreatureScripts scripts
CreatureStats stats
Resref conversation
String deity
LocString description
LocString name_first
LocString name_last
String subrace
float cr = 0.0
int32_t cr_adjust = 0
uint32_t decay_time
Race race = Race::invalid()
int32_t walkrate = 0
uint32_t starting_package = 0
uint16_t faction_id = 0
int16_t hp = 0
int16_t hp_current = 0
int16_t hp_max = 0
int16_t hp_temp = 0
uint16_t soundset
int32_t hasted = 0
int32_t size = 0
uint8_t bodybag = 0
uint8_t chunk_death = 0
uint8_t disarmable = 0
uint8_t gender = 0
uint8_t good_evil = 50
uint8_t interruptable = 0
uint8_t immortal = 0
uint8_t lawful_chaotic = 50
uint8_t lootable = 0
uint8_t pc = 0
uint8_t perception_range = 0
bool plot = false
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::creature
static constexpr ResourceType::type restype = ResourceType::utc
static constexpr StringView serial_id = {"UTC"}