nw::kernel::Rules
-
struct Rules : public nw::kernel::Service
Public Functions
-
Rules(MemoryResource *memory)
-
virtual ~Rules() = default
-
virtual void initialize(ServiceInitTime time) override
Initializes rules system.
-
const AttackFuncs &attack_functions() const noexcept
Gets attack functions.
-
CombatModeFuncs combat_mode(CombatMode mode)
Gets combat mode functions.
-
inline size_t maximum_spell_levels() const noexcept
Gets maximum spell levels.
-
bool meets_requirement(const Requirement &req, const ObjectBase *obj) const
Meets requirements.
-
void register_combat_mode(CombatModeFuncs callbacks, std::initializer_list<CombatMode> modes)
Registers a combat mode callbacks.
-
void register_special_attack(SpecialAttack type, SpecialAttackFuncs funcs)
Registers a special attack callbacks.
-
void set_attack_functions(AttackFuncs cbs)
Sets attack callbacks.
-
void set_qualifier(ReqType type, bool (*qualifier)(const Qualifier&, const ObjectBase*))
Sets a qualifier for a particular requirement type.
-
SpecialAttackFuncs special_attack(SpecialAttack type)
Gets special attack functions.
-
virtual nlohmann::json stats() const override
Get service stats.
-
MemoryResource *allocator() const noexcept
Gets the memory allocator for the servce.
Public Members
-
BaseItemArray baseitems
-
ClassArray classes
-
MetaMagicArray metamagic
-
SpellArray spells
-
SpellSchoolArray spellschools
-
SkillArray skills
-
MasterFeatRegistry master_feats
-
ModifierRegistry modifiers
-
PhenotypeArray phenotypes
-
AppearanceArray appearances
-
PlaceableArray placeables
-
TrapArray traps
-
Rules(MemoryResource *memory)