- std::stringstream s;
- for (vector<common::Hero::UpgradeInfo>::const_iterator
- i(upgrade.begin()), end(upgrade.end());
- i != end; ++i) {
- s.str("");
- switch (i->type) {
- case common::Hero::UPGRADE_LVL:
- s << who << " levels up.";
- break;
- case common::Hero::UPGRADE_MHP:
- s << "Max. HP increases by " << i->amount;
- break;
- case common::Hero::UPGRADE_MMP:
- s << "Max. MP increases by " << i->amount;
- break;
- case common::Hero::UPGRADE_ATK:
- s << "ATK increases by " << i->amount;
- break;
- case common::Hero::UPGRADE_DFP:
- s << "DFP increases by " << i->amount;
- break;
- case common::Hero::UPGRADE_STR:
- s << "STR increases by " << i->amount;
- break;
- case common::Hero::UPGRADE_AGL:
- s << "AGL increases by " << i->amount;
- break;
- case common::Hero::UPGRADE_INT:
- s << "INT increases by " << i->amount;
- break;
- case common::Hero::UPGRADE_GUT:
- s << "GUT increases by " << i->amount;
- break;
- case common::Hero::UPGRADE_MGR:
- s << "MGR increases by " << i->amount;
- break;
- default:
- s << "There's an error in common::Hero::"
- "AddExperience()";
- }
- lines.push_back(s.str());
+ const Resources &res = parent->Res();
+ stringstream s;
+ switch (u.GetType()) {
+ case Upgrade::LEVEL_UP:
+ s << left << setw(6) << setfill(' ') << u.Name()
+ << res.victoryLevelUpText << '.';
+ break;
+ case Upgrade::MAX_HEALTH:
+ s << res.victoryMHPText << ' '
+ << res.victoryUpgradeText << ' '
+ << u.Amount() << '.';
+ break;
+ case Upgrade::MAX_MAGIC:
+ s << res.victoryMMPText << ' '
+ << res.victoryUpgradeText << ' '
+ << u.Amount() << '.';
+ break;
+ case Upgrade::ATTACK:
+ s << res.victoryATPText << ' '
+ << res.victoryUpgradeText << ' '
+ << u.Amount() << '.';
+ break;
+ case Upgrade::DEFENSE:
+ s << res.victoryDFPText << ' '
+ << res.victoryUpgradeText << ' '
+ << u.Amount() << '.';
+ break;
+ case Upgrade::STRENGTH:
+ s << res.victorySTRText << ' '
+ << res.victoryUpgradeText << ' '
+ << u.Amount() << '.';
+ break;
+ case Upgrade::AGILITY:
+ s << res.victoryAGLText << ' '
+ << res.victoryUpgradeText << ' '
+ << u.Amount() << '.';
+ break;
+ case Upgrade::INTELLIGENCE:
+ s << res.victoryINTText << ' '
+ << res.victoryUpgradeText << ' '
+ << u.Amount() << '.';
+ break;
+ case Upgrade::GUT:
+ s << res.victoryGUTText << ' '
+ << res.victoryUpgradeText << ' '
+ << u.Amount() << '.';
+ break;
+ case Upgrade::MAGIC_RESISTANCE:
+ s << res.victoryMGRText << ' '
+ << res.victoryUpgradeText << ' '
+ << u.Amount() << '.';
+ break;
+ case Upgrade::LEVEL_NEXT:
+ s << setw(7) << setfill(' ')
+ << left << u.Name() << ' '
+ << res.victoryNextLevelText
+ << ' ' << u.Amount();
+ break;
+ default:
+ s << "unknown upgrade type " << u.GetType();