aboutsummaryrefslogtreecommitdiff
path: root/src/spellcasting.h
diff options
context:
space:
mode:
authorYour Name <you@example.com>2021-04-16 11:23:27 -0400
committerYour Name <you@example.com>2021-04-16 11:23:27 -0400
commit4618763c0e3a723bf4bb43c7b9edbce87240e0af (patch)
treea18aa4bf7da05ac02b4e37b199aeeb82da977aea /src/spellcasting.h
parentdfce4d0398a8bafbb7ad7a31345af181c0269c09 (diff)
downloaddmtool-4618763c0e3a723bf4bb43c7b9edbce87240e0af.tar.gz
dmtool-4618763c0e3a723bf4bb43c7b9edbce87240e0af.tar.bz2
dmtool-4618763c0e3a723bf4bb43c7b9edbce87240e0af.zip
Rebased feature/item on entry
Diffstat (limited to 'src/spellcasting.h')
-rw-r--r--src/spellcasting.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/spellcasting.h b/src/spellcasting.h
index f996322..0ea235c 100644
--- a/src/spellcasting.h
+++ b/src/spellcasting.h
@@ -6,7 +6,7 @@
typedef nlohmann::json json;
-namespace feature {
+namespace entry {
struct SlotLevel : public Jsonable {
SlotLevel(const json& data) : numSlots(data["slots"]), spells(jsonList2vec<spell::Spell>("spellcasting", data["spells"])) {}
virtual ~SlotLevel() {}
@@ -29,11 +29,12 @@ namespace feature {
bool isInnate(void) const {return innate;}
std::string getAbility(void) const {return ability;}
std::vector<SlotLevel> getSpellsBySlot(void) const {return spellsBySlot;}
+ virtual std::string getText(const creature::Creature& c) const;
virtual json toJson(void) const {
auto data = Feature::toJson();
data["innate"] = innate;
- data["ability"] = ability;
+ data["spellcasting_ability"] = ability;
data["levels"] = spellsBySlot;
return data;
}
@@ -43,4 +44,6 @@ namespace feature {
const std::string ability;
const std::vector<SlotLevel> spellsBySlot;
};
+
+ std::string genText(const Spellcasting& s, const creature::Creature& c);
}