11 #include "../../clib/cfgelem.h" 12 #include "../../clib/passert.h" 13 #include "../../plib/pkg.h" 14 #include "../globals/settings.h" 15 #include "../globals/uvars.h" 16 #include "../syshook.h" 26 return ( *citr ).second;
47 unhides( elem.remove_bool(
"UNHIDES", true ) ),
50 elem.remove_ushort(
"DefaultCap", Core::
settingsManager.ssopt.default_attribute_cap ) ),
51 script_( elem.remove_string(
"SCRIPT",
"" ), pkg,
"scripts/skills/" )
58 if ( elem.
remove_prop(
"GetIntrinsicModFunction", &tmp ) )
72 size +=
name.capacity();
73 for (
const auto& alias :
aliases )
74 size += alias.capacity();
87 elem.
throw_error(
"Attribute " + attr->name +
" already defined by " + existing->
pkg->
desc() );
93 for (
unsigned i = 0; i < attr->aliases.size(); ++i )
void load_packaged_cfgs(const char *cfgname, const char *taglist, void(*loadentry)(const Package *, Clib::ConfigElem &))
const Mobile::Attribute * pAttrParry
size_t estimatedSize() const
AttributesByName attributes_byname
const Mobile::Attribute * pAttrTactics
POL_NORETURN void throw_error(const std::string &errmsg) const
const Mobile::Attribute * pAttrStrength
Core::ExportedFunction * getintrinsicmod_func
std::vector< Mobile::Attribute * > attributes
void load_attributes_cfg()
const Plib::Package * pkg
SettingsManager settingsManager
std::vector< std::string > aliases
bool remove_prop(const char *propname, std::string *value)
const Mobile::Attribute * pAttrIntelligence
size_t estimateSize() const
ExportedFunction * FindExportedFunction(Clib::ConfigElem &elem, const Plib::Package *pkg, const std::string &descriptor, unsigned nargs, bool complain_if_missing)
void load_attribute_entry(const Plib::Package *pkg, Clib::ConfigElem &elem)
const Mobile::Attribute * pAttrDexterity
#define passert_always(exp)
Attribute(const Plib::Package *pkg, Clib::ConfigElem &elem)
static Attribute * FindAttribute(const std::string &str)
unsigned short default_cap