aboutsummaryrefslogtreecommitdiff
path: root/src/creature.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/creature.h')
-rw-r--r--src/creature.h10
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);
}