|
Pol
Revision:cb584c9
|
#include <equipmnt.h>
Inheritance diagram for Pol::Items::Equipment:Public Member Functions | |
| virtual | ~Equipment () |
| virtual double | getQuality () const POL_OVERRIDE |
| bool | is_intrinsic () const |
| Tells eather an equipment is intrinsic or not Intrinsic equipment is, by example, NPCs "natural" weapon and shield or the PCs wrestling weapon. More... | |
| void | reduce_hp_from_hit () |
| virtual void | setQuality (double value) POL_OVERRIDE |
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 |
| 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 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 () |
| 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 |
| 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_id (const int id, const std::string &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) |
| 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 |
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) |
| 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 |
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 | |
| Equipment (const ItemDesc &itemdesc, Core::UOBJ_CLASS uobj_class, const Core::EquipDesc *permanent_descriptor) | |
| virtual Item * | clone () const POL_OVERRIDE |
| virtual size_t | estimatedSize () const POL_OVERRIDE |
| 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 void | printProperties (Clib::StreamWriter &sw) const POL_OVERRIDE |
| virtual void | readProperties (Clib::ConfigElem &elem) POL_OVERRIDE |
| 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_double (const char *membername, double value) POL_OVERRIDE |
| id test More... | |
| 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 |
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 | |
| const Core::EquipDesc * | tmpl |
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 |
Private Types | |
| typedef Item | base |
Private Attributes | |
| double | _quality |
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 |
Definition at line 50 of file equipmnt.h.
|
private |
Definition at line 52 of file equipmnt.h.
|
virtual |
Definition at line 44 of file equipmnt.cpp.
References is_intrinsic(), Pol::Core::EquipDesc::is_pc_intrinsic, tmpl, and Pol::Items::ItemDesc::unload_scripts().
|
protected |
Definition at line 38 of file equipmnt.cpp.
|
protectedvirtual |
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::Items::Item.
Reimplemented in Pol::Items::UWeapon, and Pol::Items::UArmor.
Definition at line 63 of file equipmnt.cpp.
References Pol::Items::Item::clone().
Referenced by Pol::Items::UArmor::clone(), and Pol::Items::UWeapon::clone().
|
protectedvirtual |
Reimplemented from Pol::Items::Item.
Reimplemented in Pol::Items::UWeapon, and Pol::Items::UArmor.
Definition at line 109 of file equipmnt.cpp.
References Pol::Core::EquipDesc::estimatedSize(), Pol::Items::Item::estimatedSize(), is_intrinsic(), Pol::Core::EquipDesc::is_pc_intrinsic, and tmpl.
Referenced by Pol::Items::UArmor::estimatedSize(), and Pol::Items::UWeapon::estimatedSize().
|
protectedvirtual |
Reimplemented from Pol::Items::Item.
Reimplemented in Pol::Items::UWeapon, and Pol::Items::UArmor.
Definition at line 3989 of file uoscrobj.cpp.
References Pol::Bscript::getKnownObjMember(), and Pol::Bscript::ObjMember::id.
|
protectedvirtual |
Reimplemented from Pol::Items::Item.
Reimplemented in Pol::Items::UWeapon, and Pol::Items::UArmor.
Definition at line 3974 of file uoscrobj.cpp.
References Pol::Items::Item::get_script_member_id(), and Pol::Bscript::MBR_INTRINSIC.
Referenced by Pol::Items::UArmor::get_script_member_id(), and Pol::Items::UWeapon::get_script_member_id().
|
virtual |
Reimplemented from Pol::Items::Item.
Definition at line 118 of file equipmnt.cpp.
References _quality.
| bool Pol::Items::Equipment::is_intrinsic | ( | ) | const |
Tells eather an equipment is intrinsic or not Intrinsic equipment is, by example, NPCs "natural" weapon and shield or the PCs wrestling weapon.
Definition at line 104 of file equipmnt.cpp.
References Pol::Core::EquipDesc::is_intrinsic, and tmpl.
Referenced by Pol::Mobile::Character::damage_weapon(), Pol::Mobile::Character::equippable(), estimatedSize(), Pol::Items::insert_intrinsic_equipment(), and ~Equipment().
|
protectedvirtual |
Reimplemented from Pol::Items::Item.
Reimplemented in Pol::Items::UWeapon, and Pol::Items::UArmor.
Definition at line 70 of file equipmnt.cpp.
References Pol::Items::Item::printProperties().
Referenced by Pol::Items::UArmor::printProperties(), and Pol::Items::UWeapon::printProperties().
|
protectedvirtual |
Reimplemented from Pol::Items::Item.
Reimplemented in Pol::Items::UWeapon, and Pol::Items::UArmor.
Definition at line 75 of file equipmnt.cpp.
References Pol::Items::Item::readProperties().
Referenced by Pol::Items::UArmor::readProperties(), and Pol::Items::UWeapon::readProperties().
| void Pol::Items::Equipment::reduce_hp_from_hit | ( | ) |
Definition at line 80 of file equipmnt.cpp.
References Pol::Core::CLASS_ARMOR, Pol::Items::Item::GetCharacterOwner(), Pol::Items::Item::hp_, Pol::Core::UObject::increv(), Pol::Core::EquipDesc::is_intrinsic, Pol::Core::ULWObject::isa(), Pol::Clib::random_int(), Pol::Mobile::Character::refresh_ar(), Pol::Core::send_object_cache_to_inrange(), Pol::Core::UObject::set_dirty(), and tmpl.
Referenced by Pol::Mobile::Character::armor_absorb_damage(), and Pol::Mobile::Character::damage_weapon().
|
protectedvirtual |
Reimplemented from Pol::Items::Item.
Reimplemented in Pol::Items::UWeapon, and Pol::Items::UArmor.
Definition at line 4609 of file uoscrobj.cpp.
References Pol::Core::POLCLASS_EQUIPMENT.
|
protectedvirtual |
id test
Reimplemented from Pol::Items::Item.
Reimplemented in Pol::Items::UWeapon, and Pol::Items::UArmor.
Definition at line 4012 of file uoscrobj.cpp.
References Pol::Bscript::getKnownObjMember(), and Pol::Bscript::ObjMember::id.
|
protectedvirtual |
id test
Reimplemented from Pol::Items::Item.
Reimplemented in Pol::Items::UWeapon.
Definition at line 4035 of file uoscrobj.cpp.
References Pol::Bscript::getKnownObjMember(), and Pol::Bscript::ObjMember::id.
|
protectedvirtual |
id test
Reimplemented from Pol::Items::Item.
Reimplemented in Pol::Items::UWeapon, and Pol::Items::UArmor.
Definition at line 3998 of file uoscrobj.cpp.
References Pol::Items::Item::set_script_member_id().
Referenced by Pol::Items::UArmor::set_script_member_id(), and Pol::Items::UWeapon::set_script_member_id().
|
protectedvirtual |
Reimplemented from Pol::Items::Item.
Reimplemented in Pol::Items::UWeapon.
Definition at line 4021 of file uoscrobj.cpp.
References Pol::Items::Item::set_script_member_id_double().
|
virtual |
Reimplemented from Pol::Items::Item.
Definition at line 122 of file equipmnt.cpp.
References _quality.
|
private |
Definition at line 87 of file equipmnt.h.
Referenced by getQuality(), and setQuality().
|
protected |
Definition at line 84 of file equipmnt.h.
Referenced by Pol::Items::UWeapon::anim(), Pol::Items::UArmor::clone(), Pol::Items::UWeapon::consume_projectile(), Pol::Items::UArmor::covers(), Pol::Items::create_intrinsic_shield(), Pol::Items::UWeapon::descriptor(), estimatedSize(), Pol::Items::UWeapon::hit_sound(), is_intrinsic(), Pol::Items::UWeapon::is_projectile(), Pol::Items::UWeapon::miss_sound(), Pol::Items::UWeapon::mounted_anim(), Pol::Items::UArmor::printProperties(), Pol::Items::UWeapon::printProperties(), Pol::Items::UWeapon::projectile_anim(), Pol::Items::UWeapon::projectile_sound(), reduce_hp_from_hit(), Pol::Items::UWeapon::set_hit_script(), Pol::Items::UArmor::tmplzones(), and ~Equipment().