- 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());
+ switch (u.GetType()) {
+ case Upgrade::LEVEL_UP:
+ s << u.Name() << " levels up.";
+ break;
+ case Upgrade::MAX_HEALTH:
+ s << "Max. HP increases by " << u.Amount();
+ break;
+ case Upgrade::MAX_MAGIC:
+ s << "Max. MP increases by " << u.Amount();
+ break;
+ case Upgrade::ATTACK:
+ s << "ATK increases by " << u.Amount();
+ break;
+ case Upgrade::DEFENSE:
+ s << "DFP increases by " << u.Amount();
+ break;
+ case Upgrade::STRENGTH:
+ s << "STR increases by " << u.Amount();
+ break;
+ case Upgrade::AGILITY:
+ s << "AGL increases by " << u.Amount();
+ break;
+ case Upgrade::INTELLIGENCE:
+ s << "INT increases by " << u.Amount();
+ break;
+ case Upgrade::GUT:
+ s << "GUT increases by " << u.Amount();
+ break;
+ case Upgrade::MAGIC_RSISTANCE:
+ s << "MGR increases by " << u.Amount();
+ break;
+ case Upgrade::LEVEL_NEXT:
+ s << u.Name() << " next level " << u.Amount();
+ break;
+ default:
+ s << "unknown upgrade type " << u.GetType();