diff options
Diffstat (limited to 'src/spellcasting.cc')
| -rw-r--r-- | src/spellcasting.cc | 32 | 
1 files changed, 7 insertions, 25 deletions
| diff --git a/src/spellcasting.cc b/src/spellcasting.cc index e36fd5b..9b39741 100644 --- a/src/spellcasting.cc +++ b/src/spellcasting.cc @@ -12,47 +12,29 @@ namespace entry {          return genText(*this, c);      } -    string toOrdinal(size_t number) { -        string suffix = "th"; -        if (number % 100 < 11 || number % 100 > 13) { -            switch (number % 10) { -                case 1: -                    suffix = "st"; -                    break; -                case 2: -                    suffix = "nd"; -                    break; -                case 3: -                    suffix = "rd"; -                    break; -            } -        } -        return to_string(number) + suffix; -    } -      string genText(const Spellcasting& s, const creature::Creature& c) {          stringstream text;          text << genText(static_cast<const Feature&>(s), c); -        text << ": Spellcasting ability: " << s.getAbility().getFull(); +        text << ": The " << c.getCreatureName() << "'s spellcasting ability is " << s.getAbility().getFull();          text << " (spell save DC " << 8 + c.getBonus(s.getAbility()) + c.getProficiency();          text << ", +" << c.getBonus(s.getAbility()) + c.getProficiency() << " to hit with spell attacks).";          if(s.isInnate()) { -            text << " (spellcasting is innate)."; +            text << " Spellcasting is innate.";          }          int levelNumber = 0;          for(auto level : s.getSpellsBySlot()) { -            text << "\n"; +            text << endl;              if(level.numSlots == 0) {                  if(s.isInnate()) { -                    text << "At will: "; +                    text << "    At will: ";                  } else { -                    text << "Cantrips: "; +                    text << "    Cantrips: ";                  }              } else {                  if(s.isInnate()) { -                    text << level.numSlots << "/day each: "; +                    text << "    " << level.numSlots << "/day each: ";                  } else { -                    text << toOrdinal(levelNumber) << " level (" << level.numSlots << " slots): "; +                    text << "    " << utils::toOrdinal(levelNumber) << " level (" << level.numSlots << " slots): ";                  }              }              vector<string> names; | 
