Pol
Revision:cb584c9
|
#include <item.h>
Public Member Functions | |
virtual | ~Item () |
void | add_to_self (Item *&item) |
bool | amount_to_remove_is_partial (u16 amount_to_remove) const |
virtual void | builtin_on_use (Network::Client *client) |
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 Item * | clone () const |
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) | |
virtual size_t | estimatedSize () const POL_OVERRIDE |
void | extricate () |
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 |
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) |
virtual unsigned int | item_count () const |
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 |
virtual void | readProperties (Clib::ConfigElem &elem) 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 bool | script_isa (unsigned isatype) const POL_OVERRIDE |
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 (const char *membername, int value) POL_OVERRIDE |
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 (const int id, int value) POL_OVERRIDE |
id test More... | |
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) |
virtual void | spill_contents (Multi::UMulti *supporting_multi) |
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) |
virtual unsigned int | weight () const POL_OVERRIDE |
unsigned int | weight_of (unsigned short amount) const |
![]() | |
ref_counted * | as_ref_counted () |
void | clear_dirty () const |
void | copyprops (const UObject &obj) |
void | copyprops (const PropertyList &proplist) |
virtual void | destroy () |
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 | printOn (Clib::StreamWriter &) const |
virtual void | printOnDebug (Clib::StreamWriter &sw) const |
virtual void | printSelfOn (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 |
![]() | |
bool | isa (UOBJ_CLASS uobj_class) const |
bool | isitem () const |
bool | ismobile () const |
bool | ismulti () const |
u8 | look_height () const |
bool | orphan () const |
![]() | |
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) |
Static Public Member Functions | |
static Item * | create (u32 objtype, u32 serial=0) |
static Item * | create (const ItemDesc &itemdesc, u32 serial=0) |
Public Attributes | |
Core::UContainer * | container |
unsigned short | hp_ |
u8 | layer |
u8 | tile_layer |
![]() | |
u16 | color |
u8 | facing |
const u32 | objtype_ |
u32 | serial_ext |
![]() | |
u16 | graphic |
u8 | height |
Realms::Realm * | realm |
u32 | serial |
u16 | x |
u16 | y |
s8 | z |
Protected Member Functions | |
Item (const ItemDesc &itemdesc, Core::UOBJ_CLASS uobj_class) | |
virtual void | printDebugProperties (Clib::StreamWriter &sw) const POL_OVERRIDE |
virtual void | printProperties (Clib::StreamWriter &sw) const POL_OVERRIDE |
![]() | |
UObject (u32 objtype, UOBJ_CLASS uobj_class) | |
virtual | ~UObject () |
![]() | |
ref_counted () | |
~ref_counted ()=default | |
unsigned int | add_ref () |
unsigned int | count () const |
unsigned int | release () |
![]() | |
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 |
![]() | |
~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 | |
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_ |
![]() | |
AttributeFlags< OBJ_FLAGS > | flags_ |
boost_utils::object_name_flystring | name_ |
![]() | |
std::atomic< unsigned int > | _count |
![]() | |
const UOBJ_CLASS | uobj_class_ |
u16 | graphic |
u8 | height |
Realms::Realm * | realm |
u32 | serial |
u16 | x |
u16 | y |
s8 | z |
Static Protected Attributes | |
static const u32 | BUYPRICE_DEFAULT = UINT_MAX |
static const u32 | SELLPRICE_DEFAULT = UINT_MAX |
Private Types | |
typedef Core::UObject | base |
Private Member Functions | |
DYN_PROPERTY (sellprice_, u32, Core::PROP_SELLPRICE, SELLPRICE_DEFAULT) | |
sell and buyprice generated functions only private! (additional logic needed) More... | |
DYN_PROPERTY (buyprice_, u32, Core::PROP_BUYPRICE, BUYPRICE_DEFAULT) | |
DYN_PROPERTY (quality, double, Core::PROP_QUALITY, getItemdescQuality()) | |
equipment has a fixed member see get/setQuality More... | |
double | getItemdescQuality () const |
Additional Inherited Members | |
![]() | |
static std::atomic< unsigned int > | clean_writes |
static std::atomic< unsigned int > | dirty_writes |
|
private |
|
virtual |
Definition at line 52 of file item00.cpp.
References amount_, Pol::Core::UObject::objtype_, Pol::Items::return_resources(), Pol::Core::stateManager, Pol::Core::UObjCount::uitem_count, and Pol::Core::StateManager::uobjcount.
|
protected |
Definition at line 25 of file item00.cpp.
References Pol::Core::UObject::color, decayat_gameclock_, default_movable(), equip_script_, Pol::Core::UObject::facing, Pol::Core::ULWObject::graphic, insured(), inuse(), invisible(), movable(), newbie(), Pol::Core::read_gameclock(), setfacing(), Pol::Core::stateManager, Pol::Core::UObjCount::uitem_count, unequip_script_, and Pol::Core::StateManager::uobjcount.
Referenced by create().
void Pol::Items::Item::add_to_self | ( | Item *& | item | ) |
Definition at line 600 of file item.cpp.
References amount_, Pol::Clib::decint(), Pol::Core::UObject::destroy(), Pol::Core::UObject::getprop(), Pol::Bscript::BObject::impptr(), Pol::Core::UObject::increv(), insured(), Pol::Bscript::BObjectImp::isa(), newbie(), Pol::Bscript::BObjectImp::OTLong, Pol::Core::read_gameclock(), setamount(), Pol::Core::UObject::setprop(), and Pol::Bscript::BObjectImp::unpack().
Referenced by Pol::Core::add_item_to_stack(), Pol::Core::drop_item_on_object(), Pol::Module::UOExecutorModule::mf_MoveItemToContainer(), Pol::Module::oldBuyHandler(), Pol::Module::oldSellHandler(), and script_method_id().
bool Pol::Items::Item::amount_to_remove_is_partial | ( | u16 | amount_to_remove | ) | const |
Definition at line 768 of file item.cpp.
References amount_.
Referenced by Pol::Core::get_item(), Pol::Module::oldBuyHandler(), and Pol::Module::oldSellHandler().
|
virtual |
Reimplemented in Pol::Core::UContainer, Pol::Core::Map, and Pol::Core::UDoor.
Definition at line 505 of file item.cpp.
References Pol::Core::send_sysmessage().
Referenced by double_click(), and Pol::Module::UOExecutorModule::mf_UseItem().
u32 Pol::Items::Item::buyprice | ( | ) | const |
Definition at line 214 of file item.cpp.
References BUYPRICE_DEFAULT, itemdesc(), and Pol::Items::ItemDesc::vendor_buys_for.
Referenced by getbuyprice().
BObject Pol::Items::Item::call_custom_method | ( | const char * | methodname, |
Bscript::BObjectImpRefVec & | pmore | ||
) |
Definition at line 1605 of file uoscrobj.cpp.
References Pol::Clib::decint().
Referenced by Pol::Module::UOExecutorModule::mf_SendOpenBook(), Pol::Module::open_book_handler(), and Pol::Module::read_book_page_handler().
BObject Pol::Items::Item::call_custom_method | ( | const char * | methodname | ) |
Definition at line 1599 of file uoscrobj.cpp.
bool Pol::Items::Item::can_add_to_self | ( | unsigned short | amount, |
bool | force_stacking | ||
) | const |
Definition at line 703 of file item.cpp.
References amount_, Pol::Core::UContainer::can_add(), container, itemdesc(), Pol::Items::ItemDesc::stack_limit, stackable(), and weight_of().
Referenced by Pol::Module::_create_item_in_container(), Pol::Core::add_item_to_stack(), can_add_to_self(), Pol::Core::drop_item_on_object(), Pol::Module::UOExecutorModule::mf_AddAmount(), and Pol::Module::UOExecutorModule::mf_IsStackable().
bool Pol::Items::Item::can_add_to_self | ( | const Item & | item, |
bool | force_stacking | ||
) | const |
Definition at line 725 of file item.cpp.
References can_add_to_self(), Pol::Core::UObject::color, Pol::Core::gamestate, Pol::Core::UObject::getprops(), Pol::Core::GameState::Global_Ignore_CProps, Pol::Core::ULWObject::graphic, Pol::Items::ItemDesc::ignore_cprops, insured(), inuse(), itemdesc(), newbie(), and Pol::Core::UObject::objtype_.
bool Pol::Items::Item::can_decay | ( | ) | const |
Definition at line 964 of file item.cpp.
References decayat_gameclock_, inuse(), movable(), Pol::Core::UObject::objtype_, and UOBJ_CORPSE.
Referenced by Pol::Core::decay_worldzone(), and should_decay().
bool Pol::Items::Item::check_equip_script | ( | Mobile::Character * | chr, |
bool | startup | ||
) |
Definition at line 1051 of file item.cpp.
References has_equip_script(), Pol::Bscript::BObject::isTrue(), and run_equip_script().
Referenced by Pol::Core::equip_item(), Pol::Core::equip_loaded_item(), and Pol::Core::undo_get_item().
bool Pol::Items::Item::check_equiptest_scripts | ( | Mobile::Character * | chr, |
bool | startup = false |
||
) |
Definition at line 1137 of file item.cpp.
References check_test_scripts().
Referenced by Pol::Core::equip_item(), Pol::Core::equip_loaded_item(), Pol::Module::UOExecutorModule::mf_EquipItem(), and Pol::Core::undo_get_item().
bool Pol::Items::Item::check_test_scripts | ( | Mobile::Character * | chr, |
const std::string & | script_ecl, | ||
bool | startup | ||
) |
Definition at line 1105 of file item.cpp.
References Pol::Core::call_script(), inuse(), Pol::Core::ScriptDef::quickconfig(), Pol::Core::script_loaded(), and Pol::Plib::systemstate.
Referenced by check_equiptest_scripts(), and check_unequiptest_scripts().
bool Pol::Items::Item::check_unequip_script | ( | ) |
Definition at line 1064 of file item.cpp.
References Pol::Core::chr_from_wornitems(), container, Pol::Mobile::Character::is_equipped(), Pol::Core::IsCharacter(), passert_always, run_unequip_script(), Pol::Core::ULWObject::serial, and unequip_script_.
Referenced by Pol::Mobile::Character::die(), Pol::Core::get_item(), Pol::Module::UOExecutorModule::internal_MoveItem(), Pol::Module::UOExecutorModule::mf_MoveItemToContainer(), Pol::Module::UOExecutorModule::mf_MoveItemToSecureTradeWin(), and Pol::Core::UpdateCharacterOnDestroyItem().
bool Pol::Items::Item::check_unequiptest_scripts | ( | Mobile::Character * | chr | ) |
Definition at line 1142 of file item.cpp.
References check_test_scripts().
Referenced by Pol::Mobile::Character::die(), Pol::Core::get_item(), Pol::Module::UOExecutorModule::internal_MoveItem(), Pol::Module::UOExecutorModule::mf_MoveItemToContainer(), Pol::Module::UOExecutorModule::mf_MoveItemToSecureTradeWin(), and Pol::Core::UpdateCharacterOnDestroyItem().
bool Pol::Items::Item::check_unequiptest_scripts | ( | ) |
Definition at line 1147 of file item.cpp.
References Pol::Core::chr_from_wornitems(), container, Pol::Mobile::Character::is_equipped(), Pol::Core::IsCharacter(), passert_always, and Pol::Core::ULWObject::serial.
|
virtual |
Implements Pol::Core::UObject.
Reimplemented in Pol::Multi::UMulti.
Definition at line 270 of file item.cpp.
Referenced by Pol::Core::destroy_item().
|
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 in Pol::Core::UContainer, Pol::Items::UWeapon, Pol::Items::Equipment, Pol::Core::Map, Pol::Items::UArmor, and Pol::Core::ULockable.
Definition at line 56 of file item.cpp.
References amount_, Pol::Core::UObject::color, container, Pol::Core::UObject::copyprops(), create(), equip_script_, Pol::Core::UObject::facing, getQuality(), Pol::Core::ULWObject::graphic, hp_, Pol::Core::UObject::increv(), insured(), invisible(), layer, movable(), Pol::Core::UObject::name_, newbie(), no_drop(), Pol::Core::UObject::objtype_, on_use_script_, Pol::Core::ULWObject::realm, Pol::Core::UObject::saveonexit(), setamount(), setQuality(), tile_layer, unequip_script_, Pol::Core::ULWObject::x, Pol::Core::ULWObject::y, and Pol::Core::ULWObject::z.
Referenced by Pol::Core::ULockable::clone(), Pol::Items::Equipment::clone(), Pol::Core::Map::clone(), Pol::Mobile::Character::die(), Pol::Module::UOExecutorModule::mf_CreateItemCopyAtLocation(), remove_part_of_stack(), and slice_stacked_item().
I'm using the named constructor idiom for creation, so that the right kind of object gets created and so that object serial numbers get generated. If no serial passed, one will be generated.
Definition at line 53 of file itemcr.cpp.
References ERROR_PRINT, Pol::Items::find_itemdesc(), Pol::Core::gamestate, Pol::Plib::systemstate, and Pol::Core::GameState::temp_itemdesc.
Referenced by Pol::Module::_create_item_in_container(), Pol::Testing::add_item(), Pol::Module::character_race_changer_handler(), Pol::Core::ClientCreateChar(), Pol::Core::ClientCreateChar70160(), Pol::Core::ClientCreateCharKR(), clone(), Pol::Mobile::create_backpack(), Pol::Multi::UHouse::create_components(), Pol::Multi::UBoat::create_components(), Pol::Mobile::create_death_robe(), Pol::Mobile::create_death_shroud(), Pol::Mobile::Character::create_trade_container(), Pol::Module::NPCExecutorModule::CreateBackpack(), Pol::Module::NPCExecutorModule::CreateItem(), Pol::Mobile::Character::die(), Pol::Core::equip_from_template(), Pol::Multi::CustomHouseDesign::FillComponents(), Pol::Core::find_giveitem_container(), Pol::Core::Map::get_ysouth(), Pol::Core::import(), Pol::Testing::los_test(), Pol::Module::UOExecutorModule::mf_CreateItemAtLocation(), Pol::Module::StorageExecutorModule::mf_CreateRootItemInStorageArea(), Pol::Core::read_item(), Pol::Multi::UPlank::~UPlank(), and Pol::Core::USpellScroll::~USpellScroll().
Definition at line 81 of file itemcr.cpp.
References Pol::Items::ItemDesc::ARMORDESC, Pol::Items::ItemDesc::BOATDESC, Pol::Core::CLASS_ITEM, Pol::Core::UObject::clear_dirty(), Pol::Items::ItemDesc::CONTAINERDESC, Pol::Core::UObject::copyprops(), ctBEu32, Pol::Clib::decint(), Pol::Items::ItemDesc::desc, Pol::Items::ItemDesc::DOORDESC, Pol::Core::ELEMENTAL_COLD, Pol::Core::ELEMENTAL_ENERGY, Pol::Core::ELEMENTAL_FIRE, Pol::Core::ELEMENTAL_PHYSICAL, Pol::Core::ELEMENTAL_POISON, Pol::Core::ELEMENTAL_TYPE_MAX, Pol::Core::SettingsManager::extobj, Pol::Core::UObject::facing, Pol::Items::find_itemdesc(), Pol::Core::gamestate, Pol::Core::GetNewItemSerialNumber(), Pol::Core::UObject::getprop(), Pol::Core::ULWObject::graphic, Pol::Items::ItemDesc::HOUSEDESC, Pol::Core::ObjectHash::Insert(), Item(), make_ref(), Pol::Items::ItemDesc::MAPDESC, Pol::Core::ObjectStorageManager::objecthash, Pol::Core::objStorageManager, Pol::Core::UObject::objtype_, Pol::Items::objtype_is_lockable(), passert, POLLOG, Pol::Core::read_gameclock(), Pol::Items::remove_resources(), restart_decay_timer(), Pol::Core::ULWObject::serial, Pol::Core::UObject::serial_ext, Pol::Core::UObject::set_dirty(), Pol::Core::UObject::setname(), Pol::Core::UObject::setprop(), Pol::Core::settingsManager, Pol::Items::ItemDesc::SPELLBOOKDESC, Pol::Core::ExternalObject::starboard_plank, Pol::Core::start_script(), tile_layer, Pol::Core::tilelayer(), UOBJ_CORPSE, Pol::Core::UseItemSerialNumber(), and Pol::Items::ItemDesc::WEAPONDESC.
|
virtual |
Reimplemented from Pol::Core::UObject.
Definition at line 1586 of file uoscrobj.cpp.
References Pol::Bscript::Executor::fparams, and Pol::Bscript::Executor::numParams().
Referenced by Pol::Module::EItemRefObjImp::call_method(), Pol::Module::EMultiRefObjImp::call_method(), and Pol::Module::EMultiRefObjImp::call_method_id().
bool Pol::Items::Item::default_insured | ( | ) | const |
Definition at line 293 of file item.cpp.
References Pol::Items::ItemDesc::insured, and itemdesc().
Referenced by printProperties(), and readProperties().
bool Pol::Items::Item::default_invisible | ( | ) | const |
Definition at line 283 of file item.cpp.
References Pol::Items::ItemDesc::invisible, and itemdesc().
Referenced by printProperties(), and readProperties().
bool Pol::Items::Item::default_movable | ( | ) | const |
Definition at line 275 of file item.cpp.
References Pol::Items::ItemDesc::DEFAULT, Pol::Core::ULWObject::graphic, itemdesc(), Pol::Plib::FLAG::MOVABLE, movable(), Pol::Items::ItemDesc::movable, and Pol::Core::tile_flags().
Referenced by Item(), printProperties(), and readProperties().
bool Pol::Items::Item::default_newbie | ( | ) | const |
Definition at line 288 of file item.cpp.
References itemdesc(), and Pol::Items::ItemDesc::newbie.
Referenced by printProperties(), and readProperties().
bool Pol::Items::Item::default_no_drop | ( | ) | const |
Definition at line 320 of file item.cpp.
References itemdesc(), and Pol::Items::ItemDesc::no_drop.
Referenced by printProperties(), and readProperties().
|
virtual |
there are four forms of 'name' in objinfo:
Some examples:
Known bugs:
Reimplemented from Pol::Core::UObject.
Definition at line 150 of file item.cpp.
References amount_, Pol::Core::format_description(), Pol::Core::ULWObject::graphic, itemdesc(), name(), Pol::Core::UObject::specific_name(), Pol::Core::tile_desc(), and Pol::Core::tile_flags().
Referenced by Pol::Core::destroy_item(), and Pol::Core::send_objdesc().
void Pol::Items::Item::disable_decay | ( | ) |
Definition at line 987 of file item.cpp.
References decayat_gameclock_, and Pol::Core::UObject::set_dirty().
Referenced by Pol::Multi::UHouse::add_component(), and Pol::Multi::UBoat::create_components().
|
virtual |
Reimplemented in Pol::Core::Spellbook, and Pol::Multi::UMulti.
Definition at line 510 of file item.cpp.
References builtin_on_use(), Pol::Core::PolConfig::cache_interactive_scripts, Pol::Mobile::Character::casting_spell(), Pol::Network::Client::chr, Pol::Plib::SystemState::config, Pol::Core::ScriptDef::empty(), Pol::Core::find_script2(), ref_ptr< T >::get(), Pol::Mobile::Character::hidden(), itemdesc(), Pol::Items::ItemDesc::on_use_script, on_use_script_, Pol::Items::ItemDesc::requires_attention, Pol::Core::send_sysmessage(), Pol::Mobile::Character::skill_ex_active(), Pol::Mobile::Character::start_itemuse_script(), Pol::Plib::systemstate, and Pol::Mobile::Character::unhide().
Referenced by Pol::Core::doubleclick(), Pol::Core::handle_open_spellbook(), and Pol::Module::UOExecutorModule::mf_SendOpenSpecialContainer().
Pol::Items::Item::DYN_PROPERTY | ( | maxhp_mod | , |
s16 | , | ||
Core::PROP_MAXHP_MOD | , | ||
0 | |||
) |
Pol::Items::Item::DYN_PROPERTY | ( | name_suffix | , |
std::string | , | ||
Core::PROP_NAME_SUFFIX | , | ||
"" | |||
) |
|
private |
sell and buyprice generated functions only private! (additional logic needed)
|
private |
|
private |
equipment has a fixed member see get/setQuality
Pol::Items::Item::DYN_PROPERTY_POINTER | ( | gotten_by | , |
Mobile::Character * | , | ||
Core::PROP_GOTTEN_BY | |||
) |
Pol::Items::Item::DYN_PROPERTY_POINTER | ( | process | , |
Module::UOExecutorModule * | , | ||
Core::PROP_PROCESS | |||
) |
Pol::Items::Item::DYN_PROPERTY_POINTER | ( | house | , |
Multi::UHouse * | , | ||
Core::PROP_HOUSE | |||
) |
Tells of which house this item is a component, if any
|
virtual |
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Multi::UBoat, Pol::Core::UContainer, Pol::Multi::UHouse, Pol::Core::USpellScroll, Pol::Items::UWeapon, Pol::Multi::UMulti, Pol::Items::Equipment, Pol::Core::Map, Pol::Core::ULockable, Pol::Items::UArmor, Pol::Core::Spellbook, Pol::Core::UCorpse, Pol::Multi::UPlank, Pol::Core::UDoor, and Pol::Core::WornItemsContainer.
Definition at line 58 of file item00.cpp.
References Pol::Core::UObject::estimatedSize().
Referenced by Pol::Core::ULockable::estimatedSize(), Pol::Core::Map::estimatedSize(), Pol::Items::Equipment::estimatedSize(), Pol::Multi::UMulti::estimatedSize(), and Pol::Core::USpellScroll::estimatedSize().
void Pol::Items::Item::extricate | ( | ) |
Definition at line 906 of file item.cpp.
References Pol::Core::chr_from_wornitems(), container, Pol::Mobile::Character::is_equipped(), Pol::Core::IsCharacter(), passert_always, Pol::Core::UContainer::remove(), Pol::Core::ULWObject::serial, and Pol::Mobile::Character::unequip().
Referenced by Pol::Core::destroy_item(), Pol::Core::get_item(), Pol::Module::UOExecutorModule::internal_MoveItem(), and Pol::Module::true_extricate().
|
virtual |
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Multi::UBoat, Pol::Core::UContainer, Pol::Multi::UHouse, Pol::Items::UWeapon, Pol::Core::Map, Pol::Multi::UMulti, Pol::Core::UCorpse, Pol::Items::UArmor, Pol::Items::Equipment, Pol::Multi::UPlank, Pol::Core::UDoor, and Pol::Core::ULockable.
Definition at line 1074 of file uoscrobj.cpp.
References Pol::Bscript::getKnownObjMember(), and Pol::Bscript::ObjMember::id.
|
virtual |
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Multi::UBoat, Pol::Core::UContainer, Pol::Multi::UHouse, Pol::Items::UWeapon, Pol::Core::Map, Pol::Multi::UMulti, Pol::Core::UCorpse, Pol::Items::UArmor, Pol::Items::Equipment, Pol::Multi::UPlank, Pol::Core::UDoor, and Pol::Core::ULockable.
Definition at line 898 of file uoscrobj.cpp.
References Pol::Items::ItemDesc::doubleclick_range, Pol::Bscript::ExecutorModule::exec, Pol::Bscript::MBR_AMOUNT, Pol::Bscript::MBR_BUYPRICE, Pol::Bscript::MBR_COLD_DAMAGE, Pol::Bscript::MBR_COLD_DAMAGE_MOD, Pol::Bscript::MBR_COLD_RESIST, Pol::Bscript::MBR_COLD_RESIST_MOD, Pol::Bscript::MBR_CONTAINER, Pol::Bscript::MBR_DECAYAT, Pol::Bscript::MBR_DESC, Pol::Bscript::MBR_DOUBLECLICKRANGE, Pol::Bscript::MBR_ENERGY_DAMAGE, Pol::Bscript::MBR_ENERGY_DAMAGE_MOD, Pol::Bscript::MBR_ENERGY_RESIST, Pol::Bscript::MBR_ENERGY_RESIST_MOD, Pol::Bscript::MBR_EQUIPSCRIPT, Pol::Bscript::MBR_FIRE_DAMAGE, Pol::Bscript::MBR_FIRE_DAMAGE_MOD, Pol::Bscript::MBR_FIRE_RESIST, Pol::Bscript::MBR_FIRE_RESIST_MOD, Pol::Bscript::MBR_GETGOTTENBY, Pol::Bscript::MBR_HOUSE, Pol::Bscript::MBR_HP, Pol::Bscript::MBR_INSURED, Pol::Bscript::MBR_INVISIBLE, Pol::Bscript::MBR_ITEM_COUNT, Pol::Bscript::MBR_LAYER, Pol::Bscript::MBR_MAXHP, Pol::Bscript::MBR_MAXHP_MOD, Pol::Bscript::MBR_MOVABLE, Pol::Bscript::MBR_NAME_SUFFIX, Pol::Bscript::MBR_NEWBIE, Pol::Bscript::MBR_NO_DROP, Pol::Bscript::MBR_PHYSICAL_DAMAGE, Pol::Bscript::MBR_PHYSICAL_DAMAGE_MOD, Pol::Bscript::MBR_PHYSICAL_RESIST, Pol::Bscript::MBR_PHYSICAL_RESIST_MOD, Pol::Bscript::MBR_POISON_DAMAGE, Pol::Bscript::MBR_POISON_DAMAGE_MOD, Pol::Bscript::MBR_POISON_RESIST, Pol::Bscript::MBR_POISON_RESIST_MOD, Pol::Bscript::MBR_PROCESS, Pol::Bscript::MBR_QUALITY, Pol::Bscript::MBR_SAVEONEXIT, Pol::Bscript::MBR_SELLPRICE, Pol::Bscript::MBR_STACKABLE, Pol::Bscript::MBR_TILE_LAYER, Pol::Bscript::MBR_UNEQUIPSCRIPT, and Pol::Bscript::MBR_USESCRIPT.
Referenced by Pol::Core::ULockable::get_script_member_id(), Pol::Items::Equipment::get_script_member_id(), and Pol::Multi::UMulti::get_script_member_id().
|
virtual |
Reimplemented in Pol::Core::USpellScroll, and Pol::Core::UCorpse.
Definition at line 552 of file item.cpp.
References amount_.
Referenced by Pol::Core::send_container_contents(), Pol::Core::send_corpse_contents(), Pol::Multi::UBoat::send_display_boat(), Pol::Core::send_item(), Pol::Core::send_item_to_inrange(), Pol::Core::send_put_in_container(), and Pol::Core::send_put_in_container_to_inrange().
std::string Pol::Items::Item::get_use_script_name | ( | ) | const |
Definition at line 172 of file item.cpp.
References on_use_script_.
Referenced by Pol::Module::UOExecutorModule::mf_UseItem().
|
inline |
Definition at line 295 of file item.h.
Referenced by Pol::Module::_create_item_in_container(), Pol::Core::add_item_to_stack(), Pol::Module::buyhandler(), Pol::Core::UContainer::consume_sumof_objtype_noninuse(), Pol::Core::drop_item_on_object(), Pol::Core::UContainer::find_addable_stack(), Pol::Module::UOExecutorModule::mf_AddAmount(), Pol::Module::UOExecutorModule::mf_GetAmount(), Pol::Module::UOExecutorModule::mf_MoveItemToContainer(), Pol::Module::oldBuyHandler(), Pol::Module::oldSellHandler(), Pol::Core::UContainer::on_insert_add_item(), Pol::Core::UContainer::on_remove(), script_method_id(), Pol::Module::sellhandler(), Pol::Module::send_vendorsell(), and Pol::Core::subtract_amount_from_item().
bool Pol::Items::Item::getbuyprice | ( | u32 & | buyprice | ) | const |
Definition at line 227 of file item.cpp.
References buyprice().
Referenced by Pol::Module::oldSellHandler(), and Pol::Module::send_vendorsell().
Mobile::Character * Pol::Items::Item::GetCharacterOwner | ( | ) |
Shortcut function to get a pointer to the owner character
Shortcut function to get a pointer to the owner character
Definition at line 1168 of file item.cpp.
References Pol::Core::chr_from_wornitems(), Pol::Core::CLASS_CONTAINER, Pol::Core::ULWObject::isa(), and toplevel_owner().
Referenced by Pol::Module::_create_item_in_container(), Pol::Module::UOExecutorModule::internal_MoveItem(), Pol::Module::UOExecutorModule::mf_MoveItemToContainer(), Pol::Module::UOExecutorModule::mf_MoveItemToSecureTradeWin(), Pol::Items::Equipment::reduce_hp_from_hit(), Pol::Core::UContainer::remove(), Pol::Core::UpdateCharacterOnDestroyItem(), and Pol::Core::UpdateCharacterWeight().
|
private |
Definition at line 1191 of file item.cpp.
References itemdesc(), and Pol::Items::ItemDesc::quality.
Referenced by printProperties().
|
virtual |
Reimplemented in Pol::Items::Equipment.
Definition at line 1196 of file item.cpp.
Referenced by clone(), and printProperties().
bool Pol::Items::Item::has_equip_script | ( | ) | const |
Definition at line 996 of file item.cpp.
References equip_script_.
Referenced by check_equip_script(), and Pol::Module::UOExecutorModule::mf_EquipItem().
bool Pol::Items::Item::has_only_default_cprops | ( | const ItemDesc * | compare = nullptr | ) | const |
Definition at line 752 of file item.cpp.
References Pol::Core::gamestate, Pol::Core::UObject::getprops(), Pol::Core::GameState::Global_Ignore_CProps, Pol::Items::ItemDesc::ignore_cprops, itemdesc(), and Pol::Items::ItemDesc::props.
Referenced by Pol::Module::_create_item_in_container().
|
inline |
Definition at line 348 of file item.h.
References Pol::Core::INSURED.
Referenced by Pol::Module::_create_item_in_container(), add_to_self(), can_add_to_self(), clone(), Pol::Mobile::Character::die(), Item(), printProperties(), readProperties(), and use_insurance().
|
inline |
Definition at line 353 of file item.h.
References Pol::Core::INSURED.
|
inline |
Definition at line 314 of file item.h.
References Pol::Core::IN_USE.
Referenced by Pol::Module::_create_item_in_container(), can_add_to_self(), can_decay(), check_test_scripts(), Pol::Core::decay_worldzone(), Pol::Core::drop_item(), Pol::Core::drop_item_v2(), Pol::Core::equip_item(), Pol::Core::get_item(), Pol::Core::StorageArea::insert_root_item(), Pol::Module::UOExecutorModule::internal_MoveItem(), Item(), Pol::Core::load_intrinsic_weapons(), Pol::Module::UOExecutorModule::mf_AddAmount(), Pol::Module::UOExecutorModule::mf_DestroyItem(), Pol::Module::UOExecutorModule::mf_EquipItem(), Pol::Module::UOExecutorModule::mf_FindSubstance(), Pol::Module::UOExecutorModule::mf_MoveItemToContainer(), Pol::Module::UOExecutorModule::mf_MoveItemToSecureTradeWin(), Pol::Module::UOExecutorModule::mf_ReleaseItem(), Pol::Module::UOExecutorModule::mf_ReserveItem(), Pol::Module::UOExecutorModule::mf_SubtractAmount(), Pol::Module::oldSellHandler(), Pol::Items::register_intrinsic_equipment(), Pol::Module::sellhandler(), and Pol::Module::UOExecutorModule::~UOExecutorModule().
|
inline |
Definition at line 319 of file item.h.
References Pol::Core::IN_USE.
|
inline |
Definition at line 324 of file item.h.
References Pol::Core::INVISIBLE.
Referenced by Pol::Core::can_see_on_corpse(), clone(), Pol::Mobile::Character::die(), Pol::Mobile::PrivUpdater::disable_see_invis_items(), Pol::Mobile::PrivUpdater::enable_see_invis_items(), Pol::Multi::CustomHouseDesign::isEditableItem(), Item(), printProperties(), readProperties(), Pol::Core::send_container_contents(), Pol::Multi::UBoat::send_display_boat(), Pol::Core::send_item(), and Pol::Core::send_item_to_inrange().
|
inline |
Definition at line 329 of file item.h.
References Pol::Core::INVISIBLE.
|
virtual |
Reimplemented in Pol::Core::UContainer.
Definition at line 944 of file item.cpp.
Referenced by Pol::Core::StorageAreaImp::get_member(), and Pol::Core::UContainer::item_count().
const ItemDesc & Pol::Items::Item::itemdesc | ( | ) | const |
Definition at line 127 of file item.cpp.
References _itemdesc, Pol::Items::find_itemdesc(), and Pol::Core::UObject::objtype_.
Referenced by buyprice(), can_add_to_self(), Pol::Core::decay_worldzone(), default_insured(), default_invisible(), default_movable(), default_newbie(), default_no_drop(), description(), double_click(), Pol::Core::doubleclick(), Pol::Mobile::Character::equippable(), Pol::Core::UContainer::find_addable_stack(), Pol::Core::find_walkon_item(), getItemdescQuality(), Pol::Core::handle_request_tooltip(), Pol::Core::hands_are_free(), has_only_default_cprops(), Pol::Core::UDoor::is_open(), maxhp(), merchant_description(), Pol::Module::UOExecutorModule::mf_SubtractAmount(), name(), Pol::Core::WornItemsContainer::print(), printProperties(), readProperties(), restart_decay_timer(), run_equip_script(), run_unequip_script(), sellprice(), Pol::Items::UArmor::set_onhitscript(), setgraphic(), Pol::Mobile::Character::strong_enough_to_equip(), Pol::Core::UDoor::toggle(), Pol::Multi::UHouse::walk_on(), and weight_of().
|
virtual |
Implements Pol::Core::UObject.
Reimplemented in Pol::Multi::UBoat, Pol::Multi::UMulti, and Pol::Core::WornItemsContainer.
Definition at line 1628 of file uoscrobj.cpp.
References Pol::Core::Mobile.
Referenced by Pol::Module::buyhandler(), Pol::Core::UContainer::can_insert_add_item(), Pol::Core::UContainer::can_insert_increase_stack(), Pol::Core::UContainer::check_can_remove_script(), create(), Pol::Core::decay_worldzone(), Pol::Mobile::Character::get_script_member_id(), Pol::Core::handle_msg_BF(), Pol::Module::UOExecutorModule::mf_SystemFindObjectBySerial(), Pol::Core::UContainer::on_insert_add_item(), Pol::Core::UContainer::on_insert_increase_stack(), and Pol::Module::sellhandler().
unsigned short Pol::Items::Item::maxhp | ( | ) | const |
Definition at line 325 of file item.cpp.
References itemdesc(), and Pol::Items::ItemDesc::maxhp.
Referenced by Pol::Items::UArmor::ar(), Pol::Items::UWeapon::get_random_damage(), printProperties(), and readProperties().
std::string Pol::Items::Item::merchant_description | ( | ) | const |
Definition at line 177 of file item.cpp.
References Pol::Core::format_description(), Pol::Core::ULWObject::graphic, itemdesc(), name(), Pol::Core::UObject::specific_name(), and Pol::Core::tile_desc().
Referenced by Pol::Module::send_vendorsell(), Pol::Module::send_vendorwindow_contents(), and Pol::Core::SendAOSTooltip().
|
inline |
Definition at line 300 of file item.h.
References Pol::Core::MOVABLE.
Referenced by Pol::Multi::UHouse::add_component(), can_decay(), Pol::Mobile::Character::can_move(), clone(), Pol::Multi::UBoat::create_components(), default_movable(), Pol::Mobile::Character::die(), Pol::Module::UOExecutorModule::internal_MoveItem(), Item(), Pol::Module::UOExecutorModule::mf_EquipItem(), Pol::Module::UOExecutorModule::mf_MoveItemToContainer(), Pol::Module::UOExecutorModule::mf_MoveItemToSecureTradeWin(), Pol::Multi::move_to_ground(), printProperties(), Pol::Core::UCorpse::readProperties(), readProperties(), Pol::Core::UCorpse::spill_contents(), Pol::Core::UContainer::spill_contents(), and Pol::Core::UCorpse::UCorpse().
|
inline |
Definition at line 305 of file item.h.
References Pol::Core::MOVABLE.
|
virtual |
Reimplemented from Pol::Core::UObject.
Definition at line 110 of file item.cpp.
References Pol::Core::ULWObject::graphic, itemdesc(), Pol::Core::UObject::name_, and Pol::Core::tile_desc().
Referenced by description(), Pol::Core::StorageArea::insert_root_item(), and merchant_description().
|
inline |
Definition at line 338 of file item.h.
References Pol::Core::NEWBIE.
Referenced by Pol::Module::_create_item_in_container(), add_to_self(), can_add_to_self(), Pol::Core::ClientCreateChar(), Pol::Core::ClientCreateChar70160(), Pol::Core::ClientCreateCharKR(), clone(), Pol::Mobile::Character::die(), Item(), Pol::Module::oldSellHandler(), printProperties(), readProperties(), Pol::Module::sellhandler(), and Pol::Module::send_vendorsell().
|
inline |
Definition at line 343 of file item.h.
References Pol::Core::NEWBIE.
bool Pol::Items::Item::no_drop | ( | ) | const |
Definition at line 310 of file item.cpp.
References Pol::Core::UObject::flags_, Pol::Core::AttributeFlags< ENUM, std::enable_if< std::is_enum< ENUM >::value &&!std::is_convertible< ENUM, int >::value, int >::type >::get(), and Pol::Core::NO_DROP.
Referenced by clone(), Pol::Mobile::Character::die(), Pol::Core::drop_item_on_ground(), Pol::Core::drop_item_on_mobile(), Pol::Core::drop_item_on_object(), Pol::Core::place_item(), printProperties(), and readProperties().
void Pol::Items::Item::no_drop | ( | bool | newvalue | ) |
Definition at line 315 of file item.cpp.
References Pol::Core::AttributeFlags< ENUM, std::enable_if< std::is_enum< ENUM >::value &&!std::is_convertible< ENUM, int >::value, int >::type >::change(), Pol::Core::UObject::flags_, and Pol::Core::NO_DROP.
|
virtual |
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Multi::UBoat.
Definition at line 873 of file item.cpp.
References Pol::Core::update_item_to_inrange().
Referenced by setcolor().
|
virtual |
Reimplemented from Pol::Core::UObject.
Definition at line 901 of file item.cpp.
References Pol::Core::update_item_to_inrange().
Referenced by setfacing().
void Pol::Items::Item::on_invisible_changed | ( | ) |
Definition at line 883 of file item.cpp.
References Pol::Core::update_item_to_inrange().
void Pol::Items::Item::on_movable_changed | ( | ) |
Definition at line 878 of file item.cpp.
References Pol::Core::update_item_to_inrange().
|
virtual |
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Core::WornItemsContainer.
Definition at line 236 of file item.cpp.
References container, and Pol::Core::UObject::self_as_owner().
|
virtual |
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Core::WornItemsContainer.
Definition at line 244 of file item.cpp.
References container, and Pol::Core::UObject::self_as_owner().
|
protectedvirtual |
Reimplemented from Pol::Core::UObject.
Definition at line 429 of file item.cpp.
References Pol::Core::UObject::printDebugProperties().
|
protectedvirtual |
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Multi::UBoat, Pol::Core::UContainer, Pol::Multi::UHouse, Pol::Core::Map, Pol::Items::UWeapon, Pol::Core::UCorpse, Pol::Items::UArmor, Pol::Items::Equipment, Pol::Core::Spellbook, and Pol::Core::ULockable.
Definition at line 337 of file item.cpp.
References amount_, container, decayat_gameclock_, default_insured(), default_invisible(), default_movable(), default_newbie(), default_no_drop(), equip_script_, getItemdescQuality(), getQuality(), hp_, insured(), invisible(), itemdesc(), layer, maxhp(), movable(), newbie(), no_drop(), on_use_script_, pf_endl, Pol::Core::UObject::printProperties(), Pol::Core::ULWObject::serial, and unequip_script_.
Referenced by Pol::Core::ULockable::printProperties(), Pol::Items::Equipment::printProperties(), Pol::Core::Map::printProperties(), Pol::Multi::UHouse::printProperties(), and Pol::Multi::UBoat::printProperties().
|
virtual |
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Multi::UBoat, Pol::Core::UContainer, Pol::Multi::UHouse, Pol::Core::Map, Pol::Items::UWeapon, Pol::Core::UCorpse, Pol::Items::UArmor, Pol::Items::Equipment, Pol::Core::Spellbook, and Pol::Core::ULockable.
Definition at line 434 of file item.cpp.
References amount_, BUYPRICE_DEFAULT, Pol::Core::UObject::color, decayat_gameclock_, default_insured(), default_invisible(), default_movable(), default_newbie(), default_no_drop(), equip_script_, hp_, insured(), invisible(), Pol::Core::ServSpecOpt::item_color_mask, itemdesc(), layer, maxhp(), movable(), newbie(), no_drop(), on_use_script_, Pol::Core::UObject::readProperties(), Pol::Clib::ConfigElem::remove_bool(), Pol::Clib::ConfigElem::remove_double(), Pol::Clib::ConfigElem::remove_int(), Pol::Clib::ConfigElem::remove_string(), Pol::Clib::ConfigElem::remove_ulong(), Pol::Clib::ConfigElem::remove_ushort(), SELLPRICE_DEFAULT, setQuality(), Pol::Core::settingsManager, Pol::Core::SettingsManager::ssopt, and unequip_script_.
Referenced by Pol::Core::import(), Pol::Core::ULockable::readProperties(), Pol::Items::Equipment::readProperties(), Pol::Core::Map::readProperties(), Pol::Multi::UHouse::readProperties(), and Pol::Multi::UBoat::readProperties().
Definition at line 801 of file item.cpp.
References clone(), setamount(), and subamount().
Referenced by Pol::Module::oldBuyHandler().
|
inline |
Definition at line 363 of file item.h.
Referenced by Pol::Core::drop_item_on_ground(), and Pol::Core::UContainer::remove().
void Pol::Items::Item::restart_decay_timer | ( | ) |
Definition at line 974 of file item.cpp.
References Pol::Items::ItemDesc::decay_time, decayat_gameclock_, itemdesc(), Pol::Core::read_gameclock(), set_decay_after(), and should_decay().
Referenced by Pol::Core::add_item_to_stack(), create(), Pol::Mobile::Character::die(), Pol::Core::drop_item_on_ground(), Pol::Core::get_item(), Pol::Core::move_item(), Pol::Multi::move_to_ground(), Pol::Multi::UBoat::move_travellers(), Pol::Core::place_item_in_container(), Pol::Multi::UBoat::turn_travellers(), and Pol::Core::undo_get_item().
Bscript::BObjectImp * Pol::Items::Item::run_equip_script | ( | Mobile::Character * | chr, |
bool | startup | ||
) |
Definition at line 1001 of file item.cpp.
References Pol::Core::ScriptDef::config(), equip_script_, itemdesc(), and Pol::Core::run_script_to_completion().
Referenced by check_equip_script(), and Pol::Module::UOExecutorModule::mf_EquipItem().
Bscript::BObjectImp * Pol::Items::Item::run_unequip_script | ( | Mobile::Character * | who | ) |
Definition at line 1026 of file item.cpp.
References Pol::Core::ScriptDef::config(), itemdesc(), Pol::Core::run_script_to_completion(), and unequip_script_.
Referenced by check_unequip_script().
|
virtual |
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Multi::UBoat, Pol::Core::UContainer, Pol::Multi::UHouse, Pol::Items::UWeapon, Pol::Core::Map, Pol::Items::Equipment, Pol::Items::UArmor, Pol::Core::UCorpse, Pol::Multi::UMulti, Pol::Core::Spellbook, Pol::Core::UDoor, and Pol::Core::ULockable.
Definition at line 4604 of file uoscrobj.cpp.
References Pol::Core::POLCLASS_ITEM.
Referenced by Pol::Mobile::Character::attack(), Pol::Core::find_legal_container(), Pol::Mobile::Character::find_wornitem(), Pol::Core::knows_spell(), Pol::Module::UOExecutorModule::mf_CreateItemCopyAtLocation(), and Pol::Mobile::Character::spellbook().
|
virtual |
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Multi::UBoat, Pol::Multi::UHouse, Pol::Core::Map, Pol::Core::Spellbook, and Pol::Core::UDoor.
Definition at line 1577 of file uoscrobj.cpp.
References Pol::Bscript::getKnownObjMethod(), and Pol::Bscript::ObjMethod::id.
Referenced by Pol::Core::Map::script_method().
|
virtual |
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Multi::UBoat, Pol::Multi::UHouse, Pol::Core::Map, Pol::Core::Spellbook, and Pol::Core::UDoor.
Definition at line 1325 of file uoscrobj.cpp.
References Pol::Core::UContainer::add_at_random_location(), Pol::Core::add_item_to_world(), add_to_self(), Pol::Core::UContainer::can_insert_add_item(), Pol::Core::UContainer::can_insert_increase_stack(), Pol::Core::CLASS_CONTAINER, Pol::Core::destroy_item(), Pol::Core::UContainer::find_addable_stack(), Pol::Core::find_realm(), getamount(), Pol::Core::getItemParam(), Pol::Bscript::Executor::getParam(), Pol::Bscript::Executor::getStringParam(), Pol::Bscript::Executor::hasParams(), Pol::Core::ULWObject::isa(), Pol::Core::move_item(), Pol::Core::UContainer::MT_CORE_MOVED, Pol::Bscript::MTH_HAS_EXISTING_STACK, Pol::Bscript::MTH_SPLITSTACK_AT, Pol::Bscript::MTH_SPLITSTACK_INTO, Pol::Core::UContainer::on_insert_add_item(), Pol::Core::UContainer::on_insert_increase_stack(), Pol::Core::ULWObject::realm, setamount(), stackable(), Pol::Core::update_item_to_inrange(), Pol::Core::UpdateCharacterWeight(), Pol::Realms::Realm::valid(), Pol::Bscript::String::value(), Pol::Core::ULWObject::x, Pol::Core::ULWObject::y, and Pol::Core::ULWObject::z.
Referenced by Pol::Module::EMultiRefObjImp::call_method_id(), Pol::Core::Map::script_method_id(), and Pol::Multi::UHouse::script_method_id().
u32 Pol::Items::Item::sellprice | ( | ) | const |
Definition at line 198 of file item.cpp.
References itemdesc(), SELLPRICE_DEFAULT, and Pol::Items::ItemDesc::vendor_sells_for.
Referenced by Pol::Module::calculate_cost(), Pol::Module::oldBuyHandler(), and Pol::Module::send_vendorwindow_contents().
void Pol::Items::Item::set_decay_after | ( | unsigned int | seconds | ) |
Definition at line 954 of file item.cpp.
References decayat_gameclock_, Pol::Core::read_gameclock(), and Pol::Core::UObject::set_dirty().
Referenced by Pol::Core::get_item(), Pol::Multi::move_to_ground(), and restart_decay_timer().
|
virtual |
id test
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Items::UWeapon, and Pol::Items::UArmor.
Definition at line 1112 of file uoscrobj.cpp.
References Pol::Bscript::getKnownObjMember(), and Pol::Bscript::ObjMember::id.
|
virtual |
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Core::UContainer, Pol::Items::UWeapon, Pol::Core::Map, Pol::Items::UArmor, Pol::Items::Equipment, and Pol::Core::ULockable.
Definition at line 1292 of file uoscrobj.cpp.
References Pol::Bscript::getKnownObjMember(), and Pol::Bscript::ObjMember::id.
|
virtual |
id test
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Items::UWeapon, and Pol::Items::Equipment.
Definition at line 1316 of file uoscrobj.cpp.
References Pol::Bscript::getKnownObjMember(), and Pol::Bscript::ObjMember::id.
|
virtual |
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Items::UWeapon, and Pol::Items::UArmor.
Definition at line 1083 of file uoscrobj.cpp.
References Pol::Bscript::MBR_EQUIPSCRIPT, Pol::Bscript::MBR_NAME_SUFFIX, Pol::Bscript::MBR_UNEQUIPSCRIPT, Pol::Bscript::MBR_USESCRIPT, and Pol::Core::send_object_cache_to_inrange().
Referenced by Pol::Core::ULockable::set_script_member_id(), Pol::Items::UArmor::set_script_member_id(), Pol::Items::Equipment::set_script_member_id(), and Pol::Items::UWeapon::set_script_member_id().
|
virtual |
id test
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Core::UContainer, Pol::Items::UWeapon, Pol::Core::Map, Pol::Items::UArmor, Pol::Items::Equipment, and Pol::Core::ULockable.
Definition at line 1121 of file uoscrobj.cpp.
References Pol::Core::chr_from_wornitems(), Pol::Core::CLASS_ARMOR, Pol::Core::IsCharacter(), Pol::Bscript::MBR_BUYPRICE, Pol::Bscript::MBR_COLD_DAMAGE_MOD, Pol::Bscript::MBR_COLD_RESIST_MOD, Pol::Bscript::MBR_DECAYAT, Pol::Bscript::MBR_ENERGY_DAMAGE_MOD, Pol::Bscript::MBR_ENERGY_RESIST_MOD, Pol::Bscript::MBR_FACING, Pol::Bscript::MBR_FIRE_DAMAGE_MOD, Pol::Bscript::MBR_FIRE_RESIST_MOD, Pol::Bscript::MBR_HP, Pol::Bscript::MBR_INSURED, Pol::Bscript::MBR_INVISIBLE, Pol::Bscript::MBR_MAXHP_MOD, Pol::Bscript::MBR_MOVABLE, Pol::Bscript::MBR_NEWBIE, Pol::Bscript::MBR_NO_DROP, Pol::Bscript::MBR_PHYSICAL_DAMAGE_MOD, Pol::Bscript::MBR_PHYSICAL_RESIST_MOD, Pol::Bscript::MBR_POISON_DAMAGE_MOD, Pol::Bscript::MBR_POISON_RESIST_MOD, Pol::Bscript::MBR_QUALITY, Pol::Bscript::MBR_SAVEONEXIT, Pol::Bscript::MBR_SELLPRICE, and Pol::Mobile::Character::refresh_ar().
|
virtual |
Reimplemented from Pol::Core::UObject.
Reimplemented in Pol::Items::UWeapon, and Pol::Items::Equipment.
Definition at line 1301 of file uoscrobj.cpp.
References Pol::Bscript::MBR_QUALITY.
Referenced by Pol::Items::Equipment::set_script_member_id_double().
void Pol::Items::Item::set_use_script | ( | const std::string & | scriptname | ) |
Definition at line 813 of file item.cpp.
References on_use_script_, and Pol::Core::UObject::set_dirty().
void Pol::Items::Item::setamount | ( | u16 | amount | ) |
Definition at line 575 of file item.cpp.
References Pol::Core::UContainer::add_bulk(), amount_, container, Pol::Core::UObject::increv(), Pol::Core::UObject::objtype_, Pol::Items::remove_resources(), Pol::Items::return_resources(), Pol::Core::send_object_cache_to_inrange(), Pol::Core::UObject::set_dirty(), and weight().
Referenced by Pol::Module::_create_item_in_container(), add_to_self(), Pol::Core::ClientCreateChar(), Pol::Core::ClientCreateChar70160(), Pol::Core::ClientCreateCharKR(), clone(), Pol::Module::UOExecutorModule::mf_AddAmount(), Pol::Module::UOExecutorModule::mf_CreateItemAtLocation(), remove_part_of_stack(), script_method_id(), slice_stacked_item(), and subamount().
|
virtual |
return false if the color is invalid (high nibble set)
Reimplemented from Pol::Core::UObject.
Definition at line 853 of file item.cpp.
References Pol::Core::UObject::color, on_color_changed(), Pol::Core::UObject::set_dirty(), and Pol::Core::settingsManager.
|
virtual |
allow 0-127 (all but MSB)
Implements Pol::Core::UObject.
Definition at line 888 of file item.cpp.
References Pol::Core::UObject::facing, and on_facing_changed().
Referenced by Item().
|
virtual |
Can't set the graphic of an equipped item, unless the new graphic has the same layer
Update facing on graphic change
Reimplemented from Pol::Core::UObject.
Definition at line 819 of file item.cpp.
References Pol::Plib::SystemState::config, Pol::Core::UObject::facing, Pol::Core::ULWObject::graphic, Pol::Core::ULWObject::height, Pol::Core::UObject::increv(), itemdesc(), layer, Pol::Core::PolConfig::max_tile_id, Pol::Core::UObject::set_dirty(), Pol::Plib::systemstate, tile_layer, Pol::Core::tileheight(), Pol::Core::tilelayer(), and Pol::Core::update_item_to_inrange().
bool Pol::Items::Item::setlayer | ( | unsigned char | layer | ) |
Definition at line 557 of file item.cpp.
References Pol::Core::ULWObject::graphic, layer, and Pol::Core::tilelayer().
|
virtual |
Reimplemented in Pol::Items::Equipment.
Definition at line 1200 of file item.cpp.
Referenced by clone(), and readProperties().
bool Pol::Items::Item::should_decay | ( | unsigned int | gameclock | ) | const |
Definition at line 969 of file item.cpp.
References can_decay(), and decayat_gameclock_.
Referenced by Pol::Core::decay_worldzone(), and restart_decay_timer().
this_item_new_amount | is the amount that this item will have. |
Slice_stacked_item
Used when a portion of a stack is dragged. Given ITEM1, with, for example, amount 75. If 25 units are dragged off, this function will get called with 25. What happens then:
In short, we go from: ITEM1 (Amount:75) TO ITEM1 (Amount:25) -under cursor, ITEM2(Amount:50) where ITEM1 was.
Definition at line 790 of file item.cpp.
References amount_, clone(), and setamount().
Referenced by Pol::Core::get_item(), and Pol::Module::oldSellHandler().
|
inline |
Definition at line 358 of file item.h.
Referenced by Pol::Module::_create_item_in_container(), Pol::Core::add_loaded_item(), Pol::Core::ClientCreateChar(), Pol::Core::ClientCreateChar70160(), Pol::Core::ClientCreateCharKR(), Pol::Mobile::Character::die(), Pol::Core::drop_item_on_mobile(), Pol::Core::equip_loaded_item(), Pol::Core::find_giveitem_container(), Pol::Core::get_item(), Pol::Module::UOExecutorModule::mf_MoveItemToContainer(), Pol::Core::place_item_in_container(), Pol::Core::return_traded_items(), Pol::Core::send_container_contents(), Pol::Core::send_corpse_contents(), Pol::Core::send_put_in_container(), Pol::Core::send_put_in_container_to_inrange(), Pol::Core::send_trade_container(), Pol::Core::undo_get_item(), and Pol::Module::ItemGivenEvent::~ItemGivenEvent().
|
inline |
Definition at line 368 of file item.h.
References Pol::Core::settingsManager.
|
virtual |
Reimplemented in Pol::Core::UContainer, and Pol::Core::UCorpse.
Definition at line 926 of file item.cpp.
Referenced by Pol::Core::decay_worldzone().
bool Pol::Items::Item::stackable | ( | ) | const |
Definition at line 570 of file item.cpp.
References Pol::Core::ULWObject::graphic, Pol::Plib::FLAG::STACKABLE, and Pol::Core::tile_flags().
Referenced by Pol::Core::add_item_to_stack(), can_add_to_self(), Pol::Core::drop_item_on_object(), Pol::Core::UContainer::find_addable_stack(), Pol::Module::UOExecutorModule::mf_IsStackable(), Pol::Module::oldBuyHandler(), and script_method_id().
void Pol::Items::Item::subamount | ( | u16 | amount_subtract | ) |
Definition at line 594 of file item.cpp.
References amount_, Pol::Core::UObject::increv(), and setamount().
Referenced by remove_part_of_stack(), and Pol::Core::subtract_amount_from_item().
|
virtual |
Reimplemented from Pol::Core::UObject.
|
virtual |
Reimplemented from Pol::Core::UObject.
Definition at line 252 of file item.cpp.
References container.
Referenced by Pol::Core::doubleclick(), Pol::Core::drop_item_on_object(), Pol::Core::get_item(), GetCharacterOwner(), Pol::Module::UOExecutorModule::internal_MoveItem(), and Pol::Core::place_item().
|
virtual |
Reimplemented from Pol::Core::UObject.
Definition at line 261 of file item.cpp.
References container.
bool Pol::Items::Item::use_insurance | ( | ) |
Returns current insurance value and resets it to false.
Definition at line 299 of file item.cpp.
References insured(), and Pol::Core::UObject::set_dirty().
Referenced by Pol::Mobile::Character::die().
|
virtual |
Reimplemented in Pol::Multi::UHouse.
Definition at line 90 of file chrituse.cpp.
References Pol::Core::PolConfig::cache_interactive_scripts, Pol::Plib::SystemState::config, Pol::Core::create_script_executor(), Pol::Core::ScriptDef::empty(), Pol::Core::find_script2(), ref_ptr< T >::get(), Pol::Mobile::Character::lastx, Pol::Mobile::Character::lasty, Pol::Mobile::Character::lastz, Pol::Core::schedule_executor(), Pol::Plib::systemstate, and Pol::Items::ItemDesc::walk_on_script.
Referenced by Pol::Mobile::Character::move(), and Pol::Core::move_character_to().
|
virtual |
Implements Pol::Core::UObject.
Reimplemented in Pol::Core::UContainer.
Definition at line 940 of file item.cpp.
References amount_, and weight_of().
Referenced by Pol::Core::UContainer::add_bulk(), Pol::Core::UContainer::can_add(), Pol::Core::UContainer::remove_bulk(), setamount(), and Pol::Core::UContainer::weight().
unsigned int Pol::Items::Item::weight_of | ( | unsigned short | amount | ) | const |
Definition at line 928 of file item.cpp.
References itemdesc().
Referenced by can_add_to_self(), and weight().
|
mutableprotected |
Definition at line 266 of file item.h.
Referenced by itemdesc().
|
protected |
Definition at line 260 of file item.h.
Referenced by add_to_self(), amount_to_remove_is_partial(), can_add_to_self(), clone(), description(), Pol::Core::USpellScroll::get_senditem_amount(), get_senditem_amount(), printProperties(), readProperties(), setamount(), slice_stacked_item(), subamount(), weight(), and ~Item().
|
staticprotected |
Definition at line 292 of file item.h.
Referenced by buyprice(), and readProperties().
Core::UContainer* Pol::Items::Item::container |
Definition at line 256 of file item.h.
Referenced by Pol::Core::UContainer::add(), Pol::Core::UContainer::add_bulk(), Pol::Core::add_item_to_stack(), Pol::Core::UContainer::can_add_bulk(), can_add_to_self(), check_unequip_script(), check_unequiptest_scripts(), clone(), Pol::Core::destroy_item(), Pol::Mobile::Character::die(), Pol::Core::Spellbook::double_click(), Pol::Core::drop_item_on_ground(), Pol::Core::drop_item_on_mobile(), Pol::Core::equip_item(), extricate(), Pol::Core::find_toplevel_item(), Pol::Core::get_item(), Pol::Core::USpellScroll::get_senditem_amount(), Pol::Module::UOExecutorModule::internal_MoveItem(), Pol::Core::is_a_parent(), Pol::Module::ItemGivenEvent::ItemGivenEvent(), Pol::Module::UOExecutorModule::mf_MoveItemToContainer(), Pol::Module::UOExecutorModule::mf_MoveItemToSecureTradeWin(), Pol::Mobile::Character::mightsee(), Pol::Multi::UBoat::move_components(), Pol::Multi::UBoat::on_ship(), owner(), Pol::Core::place_item(), printProperties(), Pol::Core::WornItemsContainer::PutItemOnLayer(), Pol::Core::register_with_supporting_multi(), Pol::Core::UContainer::remove(), Pol::Core::remove_item_from_world(), Pol::Core::WornItemsContainer::RemoveItemFromLayer(), Pol::Core::return_traded_items(), Pol::Core::send_put_in_container(), Pol::Core::send_put_in_container_to_inrange(), setamount(), Pol::Core::UContainer::spill_contents(), toplevel_owner(), Pol::Multi::UBoat::transform_components(), Pol::Module::true_extricate(), Pol::Core::undo_get_item(), Pol::Mobile::Character::unequip(), Pol::Core::update_item_to_inrange(), and Pol::Module::ItemGivenEvent::~ItemGivenEvent().
|
protected |
Definition at line 259 of file item.h.
Referenced by can_decay(), disable_decay(), Item(), printProperties(), readProperties(), restart_decay_timer(), set_decay_after(), and should_decay().
|
protected |
Definition at line 264 of file item.h.
Referenced by clone(), has_equip_script(), Item(), printProperties(), readProperties(), and run_equip_script().
unsigned short Pol::Items::Item::hp_ |
Definition at line 271 of file item.h.
Referenced by Pol::Items::UArmor::ar(), clone(), Pol::Items::UWeapon::get_random_damage(), printProperties(), readProperties(), and Pol::Items::Equipment::reduce_hp_from_hit().
u8 Pol::Items::Item::layer |
Definition at line 269 of file item.h.
Referenced by Pol::Core::can_see_on_corpse(), Pol::Module::character_race_changer_handler(), Pol::Core::ClientCreateChar(), Pol::Core::ClientCreateChar70160(), Pol::Core::ClientCreateCharKR(), clone(), Pol::Mobile::create_backpack(), Pol::Mobile::create_death_robe(), Pol::Mobile::create_death_shroud(), Pol::Mobile::Character::die(), Pol::Mobile::Character::equip(), Pol::Core::equip_from_template(), Pol::Core::equip_item(), Pol::Core::equip_loaded_item(), Pol::Core::find_legal_container(), Pol::Items::insert_intrinsic_equipment(), Pol::Core::load_intrinsic_weapons(), Pol::Module::UOExecutorModule::mf_EquipItem(), Pol::Module::UOExecutorModule::mf_SendBuyWindow(), Pol::Module::UOExecutorModule::mf_SendOpenSpecialContainer(), Pol::Module::UOExecutorModule::mf_SendSellWindow(), printProperties(), Pol::Core::WornItemsContainer::PutItemOnLayer(), Pol::Core::UCorpse::PutItemOnLayer(), readProperties(), Pol::Core::WornItemsContainer::RemoveItemFromLayer(), Pol::Core::UCorpse::RemoveItemFromLayer(), Pol::Core::return_traded_items(), Pol::Core::send_corpse_equip(), Pol::Core::send_wornitem(), Pol::Core::send_wornitem_to_inrange(), setgraphic(), setlayer(), Pol::Core::UContainer::spill_contents(), Pol::Core::undo_get_item(), Pol::Core::update_wornitem_to_inrange(), and Pol::Core::UpdateCharacterOnDestroyItem().
|
protected |
Definition at line 263 of file item.h.
Referenced by clone(), double_click(), get_use_script_name(), printProperties(), readProperties(), and set_use_script().
|
staticprotected |
Definition at line 291 of file item.h.
Referenced by readProperties(), and sellprice().
u8 Pol::Items::Item::tile_layer |
Definition at line 270 of file item.h.
Referenced by Pol::Core::UCorpse::add(), clone(), create(), Pol::Core::equip_item(), Pol::Core::equip_loaded_item(), Pol::Mobile::Character::equippable(), Pol::Mobile::Character::is_equipped(), Pol::Core::UCorpse::on_insert_add_item(), Pol::Core::WornItemsContainer::PutItemOnLayer(), Pol::Core::UCorpse::PutItemOnLayer(), Pol::Core::UCorpse::remove(), Pol::Core::WornItemsContainer::RemoveItemFromLayer(), Pol::Core::UCorpse::RemoveItemFromLayer(), setgraphic(), Pol::Core::UCorpse::spill_contents(), and Pol::Items::valid_equip_layer().
|
protected |
Definition at line 265 of file item.h.
Referenced by check_unequip_script(), clone(), Item(), printProperties(), readProperties(), and run_unequip_script().