Pol
Revision:cb584c9
|
#include <armor.h>
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 () |
![]() | |
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 |
![]() | |
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 |
![]() | |
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) |
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... | |
![]() | |
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 |
![]() | |
Item (const ItemDesc &itemdesc, Core::UOBJ_CLASS uobj_class) | |
virtual void | printDebugProperties (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) |
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().