diff options
Diffstat (limited to 'src/creature.h')
-rw-r--r-- | src/creature.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/creature.h b/src/creature.h index de93b0e..621b397 100644 --- a/src/creature.h +++ b/src/creature.h @@ -80,11 +80,15 @@ namespace creature { void setScore(const rules::Ability& ability, int score); void setProfLevel(const rules::Skill& skill, int level); void setProficiency(int p); + void setProficientSave(const rules::Ability& ability); + void removeProficientSave(const rules::Ability& ability); void addInventoryItem(std::shared_ptr<entry::Item> item); void addSpellcasting(void); void addSpell(std::shared_ptr<entry::Spell> spell); void removeSpell(std::shared_ptr<entry::Spell> spell); void removeInventoryItem(std::shared_ptr<entry::Item> item); + void addFeature(std::shared_ptr<entry::Feature> feature); + void removeFeature(std::shared_ptr<entry::Feature> feature); // Events void longRest(void); @@ -107,4 +111,10 @@ namespace creature { // Helper function to get the best ability for this creature (chooses arbitrarily in case of ties) rules::Ability getBestAbility(const std::vector<rules::Ability>& abilities, const Creature& c); + + // Helper function to smartly add an entry. Returns true on success. + bool addEntry(std::shared_ptr<entry::Entry> entry, Creature& c); + + // Helper function to smartly remove an entry. Returns the removed entry on success, else a null shared_ptr + std::shared_ptr<entry::Entry> removeEntry(std::string entryName, Creature& c); } |