Pol  Revision:cb584c9
Pol::Core::UContainer Class Reference

#include <containr.h>

+ Inheritance diagram for Pol::Core::UContainer:

Public Types

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 }
 

Public Member Functions

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)
 
virtual size_t estimatedSize () const POL_OVERRIDE
 
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
 
virtual void for_each_item (void(*f)(Item *item, void *a), void *arg)
 
virtual Mobile::Character * get_chr_owner ()
 
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
 
virtual Bscript::BObjectImp * make_ref () POL_OVERRIDE
 
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 ()
 
virtual UObject * owner () POL_OVERRIDE
 
virtual const UObject * owner () const POL_OVERRIDE
 
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)
 
virtual UObject * self_as_owner ()
 
virtual const UObject * self_as_owner () const
 
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)
 

Protected Member Functions

 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

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
 

Friends

Items::Item * Items::Item::create (const Items::ItemDesc &itemdesc, u32 serial)
 
bool Module::send_vendorwindow_contents (Network::Client *client, UContainer *for_sale, bool send_aos_tooltip)
 
bool send_vendorsell (Network::Client *client, Mobile::NPC *merchant, UContainer *sellfrom, bool send_aos_tooltip)
 
class UContainerIterator
 
class WornItemsContainer
 

Additional Inherited Members

- 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)
 
- 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
 
- Static Public Attributes inherited from Pol::Core::UObject
static std::atomic< unsigned int > clean_writes
 
static std::atomic< unsigned int > dirty_writes
 
- Static Protected Attributes inherited from Pol::Items::Item
static const u32 BUYPRICE_DEFAULT = UINT_MAX
 
static const u32 SELLPRICE_DEFAULT = UINT_MAX
 

Detailed Description

Definition at line 104 of file containr.h.

Member Typedef Documentation

Definition at line 107 of file containr.h.

typedef Contents::const_iterator Pol::Core::UContainer::const_iterator

Definition at line 115 of file containr.h.

Definition at line 113 of file containr.h.

typedef Contents::iterator Pol::Core::UContainer::iterator

Definition at line 114 of file containr.h.

Member Enumeration Documentation

Enumerator
MT_PLAYER 
MT_CORE_MOVED 
MT_CORE_CREATED 

Definition at line 171 of file containr.h.

Constructor & Destructor Documentation

Pol::Core::UContainer::~UContainer ( )
virtual

Definition at line 62 of file containr.cpp.

References contents_, and passert_always.

Pol::Core::UContainer::UContainer ( const Items::ContainerDesc &  descriptor)
explicitprotected

Definition at line 54 of file containr.cpp.

References Pol::Core::CLASS_CONTAINER.

Pol::Core::UContainer::UContainer ( u32  objtype,
UOBJ_CLASS  pol_class 
)
protected

Member Function Documentation

void Pol::Core::UContainer::add_bulk ( int  item_count_delta,
int  weight_delta 
)
virtual
void Pol::Core::UContainer::add_bulk ( const Items::Item *  item)

Definition at line 206 of file containr.cpp.

References add_bulk(), and Pol::Items::Item::weight().

UContainer::const_iterator Pol::Core::UContainer::begin ( ) const

Definition at line 672 of file containr.cpp.

References contents_.

bool Pol::Core::UContainer::can_add ( unsigned short  more_weight) const
virtual

Definition at line 173 of file containr.cpp.

References can_add_bulk().

bool Pol::Core::UContainer::can_swap ( const UContainer &  cont) const

Definition at line 328 of file containr.cpp.

References can_add_bulk(), item_count(), and weight().

Referenced by Pol::Core::change_trade_status(), and swap().

Items::Item * Pol::Core::UContainer::clone ( ) const
virtual

This is a pretty good clone. Somewhat inefficient, but does work for derived classes that do not have data. (since it calls Item::create, virtual tables are copied)

Reimplemented from Pol::Core::ULockable.

Definition at line 921 of file containr.cpp.

References Pol::Core::ULockable::clone(), and no_drop_exception().

void Pol::Core::UContainer::consume_sumof_objtype_noninuse ( u32  objtype,
unsigned int  amount 
)
unsigned Pol::Core::UContainer::count ( void  ) const
inline
bool Pol::Core::UContainer::default_no_drop_exception ( ) const

Definition at line 969 of file containr.cpp.

References desc, and Pol::Items::ContainerDesc::no_drop_exception.

Referenced by printProperties(), and readProperties().

const Items::ContainerDesc & Pol::Core::UContainer::descriptor ( ) const
inline

Definition at line 273 of file containr.h.

void Pol::Core::UContainer::destroy ( )
virtual

Reimplemented from Pol::Core::UObject.

Definition at line 91 of file containr.cpp.

References Pol::Core::UObject::destroy(), and destroy_contents().

void Pol::Core::UContainer::destroy_contents ( )

Definition at line 76 of file containr.cpp.

References contents_, and ITEM_ELEM_PTR.

Referenced by destroy().

Pol::Core::UContainer::DYN_PROPERTY ( max_items_mod  ,
s16  ,
Core::PROP_MAX_ITEMS_MOD  ,
0   
)
Pol::Core::UContainer::DYN_PROPERTY ( max_slots_mod  ,
s8  ,
Core::PROP_MAX_SLOTS_MOD  ,
0   
)
Pol::Core::UContainer::DYN_PROPERTY ( max_weight_mod  ,
s16  ,
Core::PROP_MAX_WEIGHT_MOD  ,
0   
)
UContainer::const_iterator Pol::Core::UContainer::end ( ) const

Definition at line 676 of file containr.cpp.

References contents_.

size_t Pol::Core::UContainer::estimatedSize ( ) const
virtual
void Pol::Core::UContainer::extract ( Contents &  cnt)
Items::Item * Pol::Core::UContainer::find ( u32  serial,
iterator &  where_in_container 
)
protected
UContainer * Pol::Core::UContainer::find_container ( u32  serial) const
bool Pol::Core::UContainer::find_empty_slot ( u8 &  slotIndex)

Definition at line 255 of file containr.cpp.

References contents_, held_item_count_, max_items(), and max_slots().

Referenced by can_add_to_slot().

unsigned int Pol::Core::UContainer::find_sumof_objtype_noninuse ( u32  objtype,
u32  amtToGet,
Contents &  saveItemsTo,
int  flags 
) const
Items::Item * Pol::Core::UContainer::find_toplevel ( u32  serial) const

Definition at line 645 of file containr.cpp.

References contents_, and passert.

Referenced by Pol::Module::oldSellHandler(), and Pol::Module::sellhandler().

Items::Item * Pol::Core::UContainer::find_toplevel_objtype ( u32  objtype) const

Definition at line 363 of file containr.cpp.

References contents_.

Referenced by find_objtype().

Items::Item * Pol::Core::UContainer::find_toplevel_objtype ( u32  objtype,
unsigned short  maxamount 
) const

Definition at line 382 of file containr.cpp.

References contents_.

Items::Item * Pol::Core::UContainer::find_toplevel_objtype_noninuse ( u32  objtype) const

Definition at line 372 of file containr.cpp.

References contents_.

Referenced by find_objtype_noninuse().

Items::Item * Pol::Core::UContainer::find_toplevel_objtype_noninuse ( u32  objtype,
unsigned short  maxamount 
) const

Definition at line 391 of file containr.cpp.

References contents_.

Items::Item * Pol::Core::UContainer::find_toplevel_polclass ( unsigned int  polclass) const

Definition at line 353 of file containr.cpp.

References contents_.

Referenced by Pol::Core::handle_open_spellbook().

virtual Mobile::Character* Pol::Core::UContainer::get_chr_owner ( )
inlinevirtual
BObjectImp * Pol::Core::UContainer::get_script_member ( const char *  membername) const
virtual

Reimplemented from Pol::Core::ULockable.

Reimplemented in Pol::Core::UCorpse.

Definition at line 3350 of file uoscrobj.cpp.

References Pol::Bscript::getKnownObjMember(), and Pol::Bscript::ObjMember::id.

BObjectImp * Pol::Core::UContainer::get_script_member_id ( const int  id) const
virtual
u16 Pol::Core::UContainer::gump ( ) const

Definition at line 707 of file containr.cpp.

References desc, and Pol::Items::ContainerDesc::gump.

Referenced by Pol::Core::send_open_gump().

bool Pol::Core::UContainer::is_legal_posn ( const Items::Item *  item,
u16  x,
u16  y 
) const
bool Pol::Core::UContainer::is_slot_empty ( u8 &  slotIndex)

Definition at line 240 of file containr.cpp.

References contents_, and held_item_count_.

Referenced by can_add_to_slot().

unsigned int Pol::Core::UContainer::item_count ( ) const
virtual

Reimplemented from Pol::Items::Item.

Definition at line 235 of file containr.cpp.

References held_item_count_, and Pol::Items::Item::item_count().

Referenced by can_swap(), Pol::Core::change_trade_status(), and swap().

unsigned short Pol::Core::UContainer::max_items ( ) const

Definition at line 933 of file containr.cpp.

References desc, MAX_CONTAINER_ITEMS, and Pol::Items::ContainerDesc::max_items.

Referenced by can_add_bulk(), and find_empty_slot().

u8 Pol::Core::UContainer::max_slots ( ) const

Definition at line 952 of file containr.cpp.

References desc, MAX_SLOTS, and Pol::Items::ContainerDesc::max_slots.

Referenced by can_add_bulk(), can_add_to_slot(), and find_empty_slot().

unsigned short Pol::Core::UContainer::max_weight ( ) const

Definition at line 940 of file containr.cpp.

References desc, and Pol::Items::ContainerDesc::max_weight.

Referenced by can_add_bulk().

Items::Item * Pol::Core::UContainer::operator[] ( unsigned  idx) const
inlineprotected

Definition at line 278 of file containr.h.

References ITEM_ELEM_PTR.

void Pol::Core::UContainer::printContents ( Clib::StreamWriter &  sw) const
protected

Definition at line 110 of file containr.cpp.

References contents_.

Referenced by Pol::Core::WornItemsContainer::print(), Pol::Core::Spellbook::printOn(), and printOn().

void Pol::Core::UContainer::printOn ( Clib::StreamWriter &  sw) const
protectedvirtual

Reimplemented from Pol::Core::UObject.

Reimplemented in Pol::Core::Spellbook.

Definition at line 99 of file containr.cpp.

References printContents(), and Pol::Core::UObject::printOn().

Referenced by Pol::Core::Spellbook::printOn(), and Pol::Core::Spellbook::printSelfOn().

void Pol::Core::UContainer::printProperties ( Clib::StreamWriter &  sw) const
virtual
void Pol::Core::UContainer::printSelfOn ( Clib::StreamWriter &  sw) const
protectedvirtual

Reimplemented from Pol::Core::UObject.

Reimplemented in Pol::Core::Spellbook.

Definition at line 105 of file containr.cpp.

References Pol::Core::UObject::printOn().

Referenced by Pol::Core::WornItemsContainer::print().

void Pol::Core::UContainer::remove ( iterator  itr)
virtual
void Pol::Core::UContainer::remove_bulk ( const Items::Item *  item)
bool Pol::Core::UContainer::script_isa ( unsigned  isatype) const
virtual
BObjectImp * Pol::Core::UContainer::set_script_member ( const char *  membername,
int  value 
)
virtual

id test

Reimplemented from Pol::Core::ULockable.

Definition at line 3384 of file uoscrobj.cpp.

References Pol::Bscript::getKnownObjMember(), and Pol::Bscript::ObjMember::id.

BObjectImp * Pol::Core::UContainer::set_script_member_id ( const int  id,
int  value 
)
virtual
void Pol::Core::UContainer::swap ( UContainer &  cont)

Definition at line 340 of file containr.cpp.

References add_bulk(), can_swap(), contents_, item_count(), and weight().

Referenced by Pol::Core::change_trade_status().

Items::Item* Pol::Core::UContainer::system_find ( u32  serial) const
unsigned int Pol::Core::UContainer::weight ( ) const
virtual

Reimplemented from Pol::Items::Item.

Definition at line 230 of file containr.cpp.

References held_weight_, and Pol::Items::Item::weight().

Referenced by can_add_bulk(), can_swap(), Pol::Core::change_trade_status(), and swap().

Friends And Related Function Documentation

Items::Item* Items::Item::create ( const Items::ItemDesc &  itemdesc,
u32  serial 
)
friend
bool Module::send_vendorwindow_contents ( Network::Client *  client,
UContainer *  for_sale,
bool  send_aos_tooltip 
)
friend
bool send_vendorsell ( Network::Client *  client,
Mobile::NPC *  merchant,
UContainer *  sellfrom,
bool  send_aos_tooltip 
)
friend
friend class UContainerIterator
friend

Definition at line 247 of file containr.h.

friend class WornItemsContainer
friend

Definition at line 254 of file containr.h.

Member Data Documentation

unsigned int Pol::Core::UContainer::held_item_count_
protected

Definition at line 238 of file containr.h.

Referenced by add_bulk(), can_add_bulk(), extract(), find_empty_slot(), is_slot_empty(), and item_count().

u16 Pol::Core::UContainer::held_weight_
protected

Definition at line 237 of file containr.h.

Referenced by add_bulk(), can_add_bulk(), extract(), and weight().


The documentation for this class was generated from the following files: