From 4618763c0e3a723bf4bb43c7b9edbce87240e0af Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 16 Apr 2021 11:23:27 -0400 Subject: Rebased feature/item on entry --- src/armor.cc | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/armor.cc (limited to 'src/armor.cc') diff --git a/src/armor.cc b/src/armor.cc new file mode 100644 index 0000000..e7ed323 --- /dev/null +++ b/src/armor.cc @@ -0,0 +1,34 @@ +#include "armor.h" +#include "creature.h" +#include "entry.h" +#include +#include + +using namespace std; + +namespace entry{ + string Armor::getText(const creature::Creature& c) const { + return genText(*this, c); + } + + string genText(const Armor& a, const creature::Creature& c) { + stringstream text; + text << genText(static_cast(a), c); + text << ": AC: " << a.getACBonus(); + if(a.getArmorType() == "light") { + text << " + dex (i.e., " << (a.getACBonus() + c.getBonus("dex")) << ")"; + } else if(a.getArmorType() == "medium") { + int actualBonus = a.getACBonus(); + actualBonus += (c.getBonus("dex") > 2)? 2 : c.getBonus("dex"); + text << " + dex max 2 (i.e., " << actualBonus << ")"; + } + if(a.getStrRequirement() > 0) { + text << ", Mininum str: " << a.getStrRequirement(); + } + if(a.stealthDisadvantage()) { + text << ", Imposes stealth disadvantage"; + } + text << ". " << genText(static_cast(a)); + return text.str(); + } +} -- cgit v1.2.3