|
Pol
Revision:cb584c9
|
#include <armor.h>
Inheritance diagram for Pol::Items::UArmor:Public Member Functions | |
| virtual | ~UArmor () |
| virtual unsigned short | ar () const |
| virtual unsigned short | ar_base () const |
| virtual Item * | clone () const POL_OVERRIDE |
| virtual bool | covers (unsigned short zlayer) const |
| DYN_PROPERTY (ar_mod, s16, Core::PROP_AR_MOD, 0) | |
| virtual size_t | estimatedSize () const POL_OVERRIDE |
| void | set_onhitscript (const std::string &scriptname) |
| std::set< unsigned short > | tmplzones () |
Public Member Functions inherited from Pol::Items::Equipment | |
| 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) |
| 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 | |
| UArmor (const ArmorDesc &descriptor, const ArmorDesc *permanent_descriptor) | |
| const ArmorDesc & | descriptor () 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 |
| const Core::ScriptDef & | onhitscript () const |
| 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, const std::string &value) POL_OVERRIDE |
| id test More... | |
| 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, const std::string &value) POL_OVERRIDE |
| virtual Bscript::BObjectImp * | set_script_member_id (const int id, int value) POL_OVERRIDE |
| id test More... | |
Protected Member Functions inherited from Pol::Items::Equipment | |
| Equipment (const ItemDesc &itemdesc, Core::UOBJ_CLASS uobj_class, const Core::EquipDesc *permanent_descriptor) | |
| virtual Bscript::BObjectImp * | set_script_member_double (const char *membername, double 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) |
Private Types | |
| typedef Equipment | base |
Private Attributes | |
| Core::ScriptDef | onhitscript_ |
Friends | |
| UArmor * | create_intrinsic_shield (const char *name, Clib::ConfigElem &elem, const Plib::Package *pkg) |
| Creates a new intrinsic shield and returns it. More... | |
| class | Item |
| void | load_weapon_templates () |
|
private |
|
inlinevirtual |
Definition at line 52 of file armor.h.
References DYN_PROPERTY, POL_OVERRIDE, and Pol::Core::PROP_AR_MOD.
|
protected |
Definition at line 125 of file armor.cpp.
References Pol::Core::CLASS_ARMOR.
Referenced by Pol::Items::create_intrinsic_shield().
|
virtual |
Definition at line 131 of file armor.cpp.
References ar_base(), Pol::Items::Item::hp_, and Pol::Items::Item::maxhp().
Referenced by Pol::Mobile::Character::armor_absorb_damage(), Pol::Mobile::Character::attack(), Pol::Mobile::Character::get_hitscript_params(), and Pol::Mobile::Character::refresh_ar().
|
virtual |
|
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::Items::Equipment.
Definition at line 159 of file armor.cpp.
References Pol::Items::Equipment::clone(), onhitscript_, and Pol::Items::Equipment::tmpl.
|
virtual |
Definition at line 153 of file armor.cpp.
References ARMOR_TMPL, passert, and Pol::Items::Equipment::tmpl.
|
protected |
| Pol::Items::UArmor::DYN_PROPERTY | ( | ar_mod | , |
| s16 | , | ||
| Core::PROP_AR_MOD | , | ||
| 0 | |||
| ) |
|
virtual |
Reimplemented from Pol::Items::Equipment.
Definition at line 270 of file armor.cpp.
References Pol::Core::ScriptDef::estimatedSize(), Pol::Items::Equipment::estimatedSize(), and onhitscript_.
|
protectedvirtual |
Reimplemented from Pol::Items::Equipment.
Definition at line 4181 of file uoscrobj.cpp.
References Pol::Bscript::getKnownObjMember(), and Pol::Bscript::ObjMember::id.
|
protectedvirtual |
Reimplemented from Pol::Items::Equipment.
Definition at line 4156 of file uoscrobj.cpp.
References Pol::Items::Equipment::get_script_member_id(), Pol::Bscript::MBR_AR, Pol::Bscript::MBR_AR_BASE, Pol::Bscript::MBR_AR_MOD, and Pol::Bscript::MBR_ONHIT_SCRIPT.
|
protected |
|
protectedvirtual |
Reimplemented from Pol::Items::Equipment.
Definition at line 168 of file armor.cpp.
References ARMOR_TMPL, onhitscript_, pf_endl, Pol::Items::ItemDesc::pkg, Pol::Items::Equipment::printProperties(), Pol::Core::ScriptDef::relativename(), and Pol::Items::Equipment::tmpl.
|
protectedvirtual |
Reimplemented from Pol::Items::Equipment.
Definition at line 177 of file armor.cpp.
References Pol::Items::Equipment::readProperties(), Pol::Clib::ConfigElem::remove_int(), Pol::Clib::ConfigElem::remove_string(), and set_onhitscript().
|
protectedvirtual |
Reimplemented from Pol::Items::Equipment.
Definition at line 4614 of file uoscrobj.cpp.
References Pol::Core::POLCLASS_ARMOR.
| void Pol::Items::UArmor::set_onhitscript | ( | const std::string & | scriptname | ) |
Definition at line 184 of file armor.cpp.
References Pol::Core::ScriptDef::clear(), Pol::Core::ScriptDef::config(), Pol::Items::Item::itemdesc(), and onhitscript_.
Referenced by readProperties().
|
protectedvirtual |
id test
Reimplemented from Pol::Items::Item.
Definition at line 4205 of file uoscrobj.cpp.
References Pol::Bscript::getKnownObjMember(), and Pol::Bscript::ObjMember::id.
|
protectedvirtual |
id test
Reimplemented from Pol::Items::Equipment.
Definition at line 4239 of file uoscrobj.cpp.
References Pol::Bscript::getKnownObjMember(), and Pol::Bscript::ObjMember::id.
|
protectedvirtual |
Reimplemented from Pol::Items::Item.
Definition at line 4190 of file uoscrobj.cpp.
References Pol::Bscript::MBR_ONHIT_SCRIPT, and Pol::Items::Item::set_script_member_id().
|
protectedvirtual |
id test
Reimplemented from Pol::Items::Equipment.
Definition at line 4214 of file uoscrobj.cpp.
References Pol::Core::chr_from_wornitems(), Pol::Core::IsCharacter(), Pol::Bscript::MBR_AR_MOD, Pol::Mobile::ARUpdater::on_change(), and Pol::Items::Equipment::set_script_member_id().
| std::set< unsigned short > Pol::Items::UArmor::tmplzones | ( | ) |
Definition at line 195 of file armor.cpp.
References ARMOR_TMPL, passert, and Pol::Items::Equipment::tmpl.
Referenced by Pol::Mobile::Character::refresh_ar().
|
friend |
Creates a new intrinsic shield and returns it.
| name | the unique shield's name |
| elem | the config element to create from |
| pkg | the package |
Definition at line 219 of file armor.cpp.
Referenced by Pol::Items::create_intrinsic_shield_from_npctemplate().
|
friend |
|
private |
Definition at line 90 of file armor.h.
Referenced by clone(), estimatedSize(), printProperties(), and set_onhitscript().