#pragma once #include "item.h" #include namespace entry { class Armor; class Armor : public Item , public Substantial { public: int getACBonus(void) const {return ac;} std::string getArmorType(void) const {return armor_type;} int getStrRequirement(void) const {return strength;} bool stealthDisadvantage(void) const {return disadvantage;} int getCost(void) const {return cost;} double getWeight(void) const {return weight;} virtual std::string getText() const override; virtual std::string getText(const creature::Creature& c) const override; NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE(Item, Armor, ac, armor_type, strength, disadvantage, cost, weight); private: int ac; std::string armor_type; int strength; bool disadvantage; int cost; double weight; }; }