Pol
Revision:cb584c9
|
#include <wornitems.h>
Public Member Functions | |
WornItemsContainer () | |
virtual | ~WornItemsContainer () |
virtual size_t | estimatedSize () const POL_OVERRIDE |
virtual void | for_each_item (void(*f)(Items::Item *item, void *a), void *arg) POL_OVERRIDE |
virtual Mobile::Character * | get_chr_owner () POL_OVERRIDE |
Items::Item * | GetItemOnLayer (unsigned idx) const |
virtual Bscript::BObjectImp * | make_ref () POL_OVERRIDE |
virtual UObject * | owner () POL_OVERRIDE |
virtual const UObject * | owner () const POL_OVERRIDE |
void | print (Clib::StreamWriter &sw_pc, Clib::StreamWriter &sw_equip) const |
void | PutItemOnLayer (Item *item) |
void | RemoveItemFromLayer (Item *item) |
virtual UObject * | self_as_owner () POL_OVERRIDE |
virtual const UObject * | self_as_owner () const POL_OVERRIDE |
Public Member Functions inherited from Pol::Core::UContainer | |
virtual | ~UContainer () |
virtual void | add (Items::Item *item) |
void | add_at_random_location (Items::Item *item) |
virtual void | add_bulk (int item_count_delta, int weight_delta) |
void | add_bulk (const Items::Item *item) |
iterator | begin () |
const_iterator | begin () const |
virtual void | builtin_on_use (Network::Client *client) POL_OVERRIDE |
virtual bool | can_add (const Items::Item &item) const |
virtual bool | can_add (unsigned short more_weight) const |
bool | can_add_bulk (int tli_diff, int item_count_diff, int weight_diff) const |
bool | can_add_to_slot (u8 &slotIndex) |
bool | can_insert_add_item (Mobile::Character *mob, MoveType move, Items::Item *new_item) |
bool | can_insert_increase_stack (Mobile::Character *mob, MoveType move, Items::Item *existing_item, unsigned short amt_to_add, Items::Item *adding_item) |
bool | can_swap (const UContainer &cont) const |
bool | check_can_remove_script (Mobile::Character *chr, Items::Item *item, MoveType move=MT_PLAYER) |
virtual Items::Item * | clone () const POL_OVERRIDE |
void | consume_sumof_objtype_noninuse (u32 objtype, unsigned int amount) |
unsigned | count () const |
bool | default_no_drop_exception () const |
const Items::ContainerDesc & | descriptor () const |
virtual void | destroy () POL_OVERRIDE |
void | destroy_contents () |
DYN_PROPERTY (max_items_mod, s16, Core::PROP_MAX_ITEMS_MOD, 0) | |
DYN_PROPERTY (max_slots_mod, s8, Core::PROP_MAX_SLOTS_MOD, 0) | |
DYN_PROPERTY (max_weight_mod, s16, Core::PROP_MAX_WEIGHT_MOD, 0) | |
iterator | end () |
const_iterator | end () const |
void | enumerate_contents (Bscript::ObjArray *arr, int flags) |
void | extract (Contents &cnt) |
Items::Item * | find (u32 serial) const |
Items::Item * | find_addable_stack (const Items::Item *adding_item) const |
UContainer * | find_container (u32 serial) const |
bool | find_empty_slot (u8 &slotIndex) |
Items::Item * | find_objtype (u32 objtype, int flags) const |
Items::Item * | find_objtype_noninuse (u32 objtype) const |
unsigned int | find_sumof_objtype_noninuse (u32 objtype) const |
unsigned int | find_sumof_objtype_noninuse (u32 objtype, u32 amtToGet, Contents &saveItemsTo, int flags) const |
Items::Item * | find_toplevel (u32 serial) const |
Items::Item * | find_toplevel_objtype (u32 objtype) const |
Items::Item * | find_toplevel_objtype (u32 objtype, unsigned short maxamount) const |
Items::Item * | find_toplevel_objtype_noninuse (u32 objtype) const |
Items::Item * | find_toplevel_objtype_noninuse (u32 objtype, unsigned short maxamount) const |
Items::Item * | find_toplevel_polclass (unsigned int polclass) const |
void | get_random_location (u16 *px, u16 *py) const |
virtual Bscript::BObjectImp * | get_script_member (const char *membername) const POL_OVERRIDE |
virtual Bscript::BObjectImp * | get_script_member_id (const int id) const POL_OVERRIDE |
u16 | gump () const |
bool | is_legal_posn (const Items::Item *item, u16 x, u16 y) const |
bool | is_slot_empty (u8 &slotIndex) |
virtual unsigned int | item_count () const POL_OVERRIDE |
unsigned short | max_items () const |
u8 | max_slots () const |
unsigned short | max_weight () const |
bool | no_drop_exception () const |
void | no_drop_exception (bool newvalue) |
virtual void | on_insert_add_item (Mobile::Character *mob, MoveType move, Items::Item *new_item) |
void | on_insert_increase_stack (Mobile::Character *mob, MoveType move, Items::Item *existing_item, unsigned short amt_added) |
void | on_remove (Mobile::Character *chr, Items::Item *item, MoveType move=MT_PLAYER) |
virtual void | printProperties (Clib::StreamWriter &sw) const POL_OVERRIDE |
virtual void | readProperties (Clib::ConfigElem &elem) POL_OVERRIDE |
virtual Items::Item * | remove (u32 serial, UContainer **found_in=nullptr) |
virtual void | remove (Items::Item *item) |
virtual void | remove (iterator itr) |
void | remove_bulk (const Items::Item *item) |
virtual bool | script_isa (unsigned isatype) const POL_OVERRIDE |
virtual Bscript::BObjectImp * | set_script_member (const char *membername, int value) POL_OVERRIDE |
id test More... | |
virtual Bscript::BObjectImp * | set_script_member_id (const int id, int value) POL_OVERRIDE |
id test More... | |
virtual void | spill_contents (Multi::UMulti *supporting_multi) POL_OVERRIDE |
void | swap (UContainer &cont) |
Items::Item * | system_find (u32 serial) const |
virtual unsigned int | weight () const POL_OVERRIDE |
Public Member Functions inherited from Pol::Core::ULockable | |
bool | locked () const |
Public Member Functions inherited from Pol::Items::Item | |
virtual | ~Item () |
void | add_to_self (Item *&item) |
bool | amount_to_remove_is_partial (u16 amount_to_remove) const |
u32 | buyprice () const |
void | buyprice (u32) |
Bscript::BObject | call_custom_method (const char *methodname, Bscript::BObjectImpRefVec &pmore) |
Bscript::BObject | call_custom_method (const char *methodname) |
bool | can_add_to_self (unsigned short amount, bool force_stacking) const |
bool | can_add_to_self (const Item &item, bool force_stacking) const |
bool | can_decay () const |
bool | check_equip_script (Mobile::Character *chr, bool startup) |
bool | check_equiptest_scripts (Mobile::Character *chr, bool startup=false) |
bool | check_test_scripts (Mobile::Character *chr, const std::string &script_ecl, bool startup) |
bool | check_unequip_script () |
bool | check_unequiptest_scripts (Mobile::Character *chr) |
bool | check_unequiptest_scripts () |
virtual const char * | classname () const POL_OVERRIDE |
virtual Bscript::BObjectImp * | custom_script_method (const char *methodname, Bscript::Executor &ex) POL_OVERRIDE |
bool | default_insured () const |
bool | default_invisible () const |
bool | default_movable () const |
bool | default_newbie () const |
bool | default_no_drop () const |
virtual std::string | description () const POL_OVERRIDE |
void | disable_decay () |
virtual void | double_click (Network::Client *client) |
DYN_PROPERTY (maxhp_mod, s16, Core::PROP_MAXHP_MOD, 0) | |
DYN_PROPERTY (name_suffix, std::string, Core::PROP_NAME_SUFFIX,"") | |
DYN_PROPERTY_POINTER (gotten_by, Mobile::Character *, Core::PROP_GOTTEN_BY) | |
DYN_PROPERTY_POINTER (process, Module::UOExecutorModule *, Core::PROP_PROCESS) | |
DYN_PROPERTY_POINTER (house, Multi::UHouse *, Core::PROP_HOUSE) | |
void | extricate () |
virtual u16 | get_senditem_amount () const |
std::string | get_use_script_name () const |
u16 | getamount () const |
bool | getbuyprice (u32 &buyprice) const |
Mobile::Character * | GetCharacterOwner () |
virtual double | getQuality () const |
bool | has_equip_script () const |
bool | has_only_default_cprops (const ItemDesc *compare=nullptr) const |
bool | insured () const |
void | insured (bool newvalue) |
bool | inuse () const |
void | inuse (bool newvalue) |
bool | invisible () const |
void | invisible (bool newvalue) |
const ItemDesc & | itemdesc () const |
unsigned short | maxhp () const |
std::string | merchant_description () const |
bool | movable () const |
void | movable (bool newvalue) |
virtual std::string | name () const POL_OVERRIDE |
bool | newbie () const |
void | newbie (bool newvalue) |
bool | no_drop () const |
void | no_drop (bool newvalue) |
virtual void | on_color_changed () POL_OVERRIDE |
virtual void | on_facing_changed () POL_OVERRIDE |
void | on_invisible_changed () |
void | on_movable_changed () |
Item * | remove_part_of_stack (u16 amount_to_remove) |
void | reset_slot () |
void | restart_decay_timer () |
Bscript::BObjectImp * | run_equip_script (Mobile::Character *chr, bool startup) |
Bscript::BObjectImp * | run_unequip_script (Mobile::Character *who) |
virtual Bscript::BObjectImp * | script_method (const char *methodname, Bscript::Executor &ex) POL_OVERRIDE |
virtual Bscript::BObjectImp * | script_method_id (const int id, Bscript::Executor &ex) POL_OVERRIDE |
u32 | sellprice () const |
void | sellprice (u32) |
void | set_decay_after (unsigned int seconds) |
virtual Bscript::BObjectImp * | set_script_member (const char *membername, const std::string &value) POL_OVERRIDE |
id test More... | |
virtual Bscript::BObjectImp * | set_script_member_double (const char *membername, double value) POL_OVERRIDE |
id test More... | |
virtual Bscript::BObjectImp * | set_script_member_id (const int id, const std::string &value) POL_OVERRIDE |
virtual Bscript::BObjectImp * | set_script_member_id_double (const int id, double value) POL_OVERRIDE |
void | set_use_script (const std::string &scriptname) |
void | setamount (u16 amount) |
virtual bool | setcolor (u16 newcolor) POL_OVERRIDE |
virtual void | setfacing (u8 newfacing) POL_OVERRIDE |
virtual bool | setgraphic (u16 newobjtype) POL_OVERRIDE |
bool | setlayer (unsigned char layer) |
virtual void | setQuality (double value) |
bool | should_decay (unsigned int gameclock) const |
Item * | slice_stacked_item (u16 this_item_new_amount) |
u8 | slot_index () const |
bool | slot_index (u8 newvalue) |
bool | stackable () const |
void | subamount (u16 amount_subtract) |
virtual const char * | target_tag () const POL_OVERRIDE |
virtual UObject * | toplevel_owner () POL_OVERRIDE |
virtual const UObject * | toplevel_owner () const POL_OVERRIDE |
bool | use_insurance () |
Returns current insurance value and resets it to false. More... | |
virtual void | walk_on (Mobile::Character *chr) |
unsigned int | weight_of (unsigned short amount) const |
Public Member Functions inherited from Pol::Core::UObject | |
ref_counted * | as_ref_counted () |
void | clear_dirty () const |
void | copyprops (const UObject &obj) |
void | copyprops (const PropertyList &proplist) |
bool | dirty () const |
DYN_PROPERTY (maxhp_mod, s16, PROP_MAXHP_MOD, 0) | |
DYN_PROPERTY (fire_resist, ValueModPack, PROP_RESIST_FIRE, ValueModPack::DEFAULT) | |
DYN_PROPERTY (cold_resist, ValueModPack, PROP_RESIST_COLD, ValueModPack::DEFAULT) | |
DYN_PROPERTY (energy_resist, ValueModPack, PROP_RESIST_ENERGY, ValueModPack::DEFAULT) | |
DYN_PROPERTY (poison_resist, ValueModPack, PROP_RESIST_POISON, ValueModPack::DEFAULT) | |
DYN_PROPERTY (physical_resist, ValueModPack, PROP_RESIST_PHYSICAL, ValueModPack::DEFAULT) | |
DYN_PROPERTY (fire_damage, ValueModPack, PROP_DAMAGE_FIRE, ValueModPack::DEFAULT) | |
DYN_PROPERTY (cold_damage, ValueModPack, PROP_DAMAGE_COLD, ValueModPack::DEFAULT) | |
DYN_PROPERTY (energy_damage, ValueModPack, PROP_DAMAGE_ENERGY, ValueModPack::DEFAULT) | |
DYN_PROPERTY (poison_damage, ValueModPack, PROP_DAMAGE_POISON, ValueModPack::DEFAULT) | |
DYN_PROPERTY (physical_damage, ValueModPack, PROP_DAMAGE_PHYSICAL, ValueModPack::DEFAULT) | |
void | eraseprop (const std::string &propname) |
virtual void | fixInvalidGraphic () |
Fixes invalid graphic, moving here to allow it to be overridden in subclass (see Multi) More... | |
bool | getprop (const std::string &propname, std::string &propvalue) const |
void | getpropnames (std::vector< std::string > &propnames) const |
const PropertyList & | getprops () const |
void | increv () |
virtual void | printOnDebug (Clib::StreamWriter &sw) const |
void | ref_counted_add_ref () |
unsigned | ref_counted_count () const |
void | ref_counted_release () |
u32 | rev () const |
bool | saveonexit () const |
void | saveonexit (bool newvalue) |
void | set_dirty () |
void | setname (const std::string &) |
void | setprop (const std::string &propname, const std::string &propvalue) |
bool | specific_name () const |
Public Member Functions inherited from Pol::Core::ULWObject | |
bool | isa (UOBJ_CLASS uobj_class) const |
bool | isitem () const |
bool | ismobile () const |
bool | ismulti () const |
u8 | look_height () const |
bool | orphan () const |
Public Member Functions inherited from Pol::Core::DynamicPropsHolder | |
DynamicPropsHolder () | |
size_t | estimateSizeDynProps () const |
template<typename V > | |
bool | getmember (DynPropTypes member, V *value) const |
bool | hasmember (DynPropTypes member) const |
template<typename V > | |
void | setmember (DynPropTypes member, const V &value, const V &defaultvalue) |
template<typename V > | |
void | setmemberPointer (DynPropTypes member, V value) |
Public Attributes | |
Mobile::Character * | chr_owner |
Public Attributes inherited from Pol::Items::Item | |
Core::UContainer * | container |
unsigned short | hp_ |
u8 | layer |
u8 | tile_layer |
Public Attributes inherited from Pol::Core::UObject | |
u16 | color |
u8 | facing |
const u32 | objtype_ |
u32 | serial_ext |
Public Attributes inherited from Pol::Core::ULWObject | |
u16 | graphic |
u8 | height |
Realms::Realm * | realm |
u32 | serial |
u16 | x |
u16 | y |
s8 | z |
Private Types | |
typedef UContainer | base |
Additional Inherited Members | |
Public Types inherited from Pol::Core::UContainer | |
typedef ULockable | base |
typedef Contents::const_iterator | const_iterator |
typedef std::vector< Items::Item * > | Contents |
typedef Contents::iterator | iterator |
enum | MoveType { MT_PLAYER = 0, MT_CORE_MOVED = 1, MT_CORE_CREATED = 2 } |
Static Public Member Functions inherited from Pol::Items::Item | |
static Item * | create (u32 objtype, u32 serial=0) |
static Item * | create (const ItemDesc &itemdesc, u32 serial=0) |
Static Public Attributes inherited from Pol::Core::UObject | |
static std::atomic< unsigned int > | clean_writes |
static std::atomic< unsigned int > | dirty_writes |
Protected Member Functions inherited from Pol::Core::UContainer | |
UContainer (const Items::ContainerDesc &descriptor) | |
UContainer (u32 objtype, UOBJ_CLASS pol_class) | |
Items::Item * | find (u32 serial, iterator &where_in_container) |
Items::Item * | operator[] (unsigned idx) const |
void | printContents (Clib::StreamWriter &sw) const |
virtual void | printOn (Clib::StreamWriter &sw) const POL_OVERRIDE |
virtual void | printSelfOn (Clib::StreamWriter &sw) const POL_OVERRIDE |
Protected Member Functions inherited from Pol::Core::ULockable | |
ULockable (const Items::ItemDesc &itemdesc, UOBJ_CLASS uobj_class) | |
virtual | ~ULockable () |
void | locked (bool newvalue) |
Protected Member Functions inherited from Pol::Items::Item | |
Item (const ItemDesc &itemdesc, Core::UOBJ_CLASS uobj_class) | |
virtual void | printDebugProperties (Clib::StreamWriter &sw) const POL_OVERRIDE |
Protected Member Functions inherited from Pol::Core::UObject | |
UObject (u32 objtype, UOBJ_CLASS uobj_class) | |
virtual | ~UObject () |
Protected Member Functions inherited from ref_counted | |
ref_counted () | |
~ref_counted ()=default | |
unsigned int | add_ref () |
unsigned int | count () const |
unsigned int | release () |
Protected Member Functions inherited from Pol::Core::ULWObject | |
ULWObject (UOBJ_CLASS uobj_class) | |
ULWObject (const ULWObject &)=delete | |
~ULWObject ()=default | |
ULWObject & | operator= (const ULWObject &)=delete |
bool | isa (UOBJ_CLASS uobj_class) const |
bool | isitem () const |
bool | ismobile () const |
bool | ismulti () const |
u8 | look_height () const |
bool | orphan () const |
Protected Member Functions inherited from Pol::Core::DynamicPropsHolder | |
~DynamicPropsHolder ()=default | |
DynamicPropsHolder () | |
size_t | estimateSizeDynProps () const |
template<typename V > | |
bool | getmember (DynPropTypes member, V *value) const |
bool | hasmember (DynPropTypes member) const |
template<typename V > | |
void | setmember (DynPropTypes member, const V &value, const V &defaultvalue) |
template<typename V > | |
void | setmemberPointer (DynPropTypes member, V value) |
Protected Attributes inherited from Pol::Core::UContainer | |
Contents | contents_ |
const Items::ContainerDesc & | desc |
unsigned int | held_item_count_ |
u16 | held_weight_ |
Protected Attributes inherited from Pol::Items::Item | |
const ItemDesc * | _itemdesc |
u16 | amount_ |
unsigned int | decayat_gameclock_ |
boost_utils::script_name_flystring | equip_script_ |
boost_utils::script_name_flystring | on_use_script_ |
u8 | slot_index_ |
boost_utils::script_name_flystring | unequip_script_ |
Protected Attributes inherited from Pol::Core::UObject | |
AttributeFlags< OBJ_FLAGS > | flags_ |
boost_utils::object_name_flystring | name_ |
Protected Attributes inherited from ref_counted | |
std::atomic< unsigned int > | _count |
Protected Attributes inherited from Pol::Core::ULWObject | |
const UOBJ_CLASS | uobj_class_ |
u16 | graphic |
u8 | height |
Realms::Realm * | realm |
u32 | serial |
u16 | x |
u16 | y |
s8 | z |
Static Protected Attributes inherited from Pol::Items::Item | |
static const u32 | BUYPRICE_DEFAULT = UINT_MAX |
static const u32 | SELLPRICE_DEFAULT = UINT_MAX |
Definition at line 37 of file wornitems.h.
|
private |
Definition at line 39 of file wornitems.h.
Pol::Core::WornItemsContainer::WornItemsContainer | ( | ) |
Definition at line 20 of file wornitems.cpp.
References Pol::Core::UContainer::contents_, EMPTY_ELEM, and Pol::Core::HIGHEST_LAYER.
|
inlinevirtual |
Definition at line 43 of file wornitems.h.
References POL_OVERRIDE.
|
virtual |
Reimplemented from Pol::Core::UContainer.
Definition at line 27 of file wornitems.cpp.
References Pol::Core::UContainer::estimatedSize().
|
virtual |
Reimplemented from Pol::Core::UContainer.
Definition at line 33 of file wornitems.cpp.
References Pol::Core::CLASS_CONTAINER, Pol::Core::UContainer::contents_, Pol::Core::UContainer::for_each_item(), and Pol::Core::ULWObject::isa().
|
inlinevirtual |
Reimplemented from Pol::Core::UContainer.
Definition at line 72 of file wornitems.h.
|
inline |
Definition at line 64 of file wornitems.h.
References ITEM_ELEM_PTR, and Pol::Items::valid_equip_layer().
|
virtual |
Reimplemented from Pol::Items::Item.
Definition at line 113 of file wornitems.cpp.
References chr_owner, Pol::Mobile::Character::make_offline_ref(), and passert_always.
|
virtual |
Reimplemented from Pol::Items::Item.
Definition at line 119 of file wornitems.cpp.
References chr_owner.
|
virtual |
Reimplemented from Pol::Items::Item.
Definition at line 124 of file wornitems.cpp.
References chr_owner.
void Pol::Core::WornItemsContainer::print | ( | Clib::StreamWriter & | sw_pc, |
Clib::StreamWriter & | sw_equip | ||
) | const |
Definition at line 75 of file wornitems.cpp.
References Pol::Core::UObject::clear_dirty(), Pol::Core::UContainer::contents_, Pol::Items::Item::itemdesc(), Pol::Core::LAYER_BACKPACK, Pol::Core::LAYER_BEARD, Pol::Core::LAYER_FACE, Pol::Core::LAYER_HAIR, Pol::Core::LAYER_ROBE_DRESS, Pol::Core::UObject::objtype_, Pol::Core::UContainer::printContents(), Pol::Core::UContainer::printSelfOn(), Pol::Items::ItemDesc::save_on_exit, Pol::Core::UObject::saveonexit(), and UOBJ_DEATH_SHROUD.
void Pol::Core::WornItemsContainer::PutItemOnLayer | ( | Items::Item * | item | ) |
Definition at line 49 of file wornitems.cpp.
References Pol::Core::UContainer::add_bulk(), Pol::Items::Item::container, Pol::Core::UContainer::contents_, Pol::Items::Item::layer, passert, Pol::Core::ULWObject::realm, Pol::Core::UObject::set_dirty(), Pol::Items::Item::tile_layer, and Pol::Items::valid_equip_layer().
void Pol::Core::WornItemsContainer::RemoveItemFromLayer | ( | Items::Item * | item | ) |
Definition at line 62 of file wornitems.cpp.
References Pol::Items::Item::container, Pol::Core::UContainer::contents_, EMPTY_ELEM, Pol::Items::Item::layer, passert, Pol::Core::UContainer::remove_bulk(), Pol::Core::UObject::set_dirty(), Pol::Items::Item::tile_layer, and Pol::Items::valid_equip_layer().
|
virtual |
Reimplemented from Pol::Core::UObject.
Definition at line 129 of file wornitems.cpp.
References chr_owner.
|
virtual |
Reimplemented from Pol::Core::UObject.
Definition at line 134 of file wornitems.cpp.
References chr_owner.
Mobile::Character* Pol::Core::WornItemsContainer::chr_owner |
Definition at line 48 of file wornitems.h.
Referenced by make_ref(), owner(), and self_as_owner().