X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2Fstates%2FVictoryState.cpp;fp=src%2Fbattle%2Fstates%2FVictoryState.cpp;h=59d4495f68c5d4c0c4ef7349b229016235dc83f2;hb=77b070e782e664f9906487d6ee71010f659ce8b5;hp=e2cc99fb27cc3e7799d0dde3728958c4a1f45538;hpb=b9e715649b41cb69ea1b2d2a588522541eb87b46;p=l2e.git diff --git a/src/battle/states/VictoryState.cpp b/src/battle/states/VictoryState.cpp index e2cc99f..59d4495 100644 --- a/src/battle/states/VictoryState.cpp +++ b/src/battle/states/VictoryState.cpp @@ -3,6 +3,7 @@ #include "../Battle.h" #include "../BattleState.h" #include "../Hero.h" +#include "../Resources.h" #include "../../app/Application.h" #include "../../app/Input.h" #include "../../common/Capsule.h" @@ -13,6 +14,7 @@ #include "../../graphics/Font.h" #include "../../graphics/Frame.h" +#include #include using app::Application; @@ -22,7 +24,12 @@ using common::Upgrade; using graphics::Font; using graphics::Frame; using math::Vector; +using std::left; +using std::right; +using std::setfill; +using std::setw; using std::string; +using std::stringstream; using std::vector; namespace battle { @@ -33,15 +40,19 @@ void VictoryState::OnEnterState(SDL_Surface *screen) { } void VictoryState::LoadResults() { - // TODO: localization + const Resources &res = parent->Res(); lines.clear(); - std::stringstream s; - s << "Gets " << battle->ExpReward() << " EXP"; + stringstream s; + s << res.victoryGetsText << ' ' + << battle->ExpReward() << ' ' + << res.victoryExpText << '.'; lines.push_back(s.str()); s.str(""); - s << "Gets " << battle->GoldReward() << " gold"; + s << res.victoryGetsText << ' ' + << battle->GoldReward() << ' ' + << res.victoryGoldText << '.'; lines.push_back(s.str()); lines.push_back(""); @@ -49,55 +60,82 @@ void VictoryState::LoadResults() { GameState &state = *parent->Game().state; vector upgrade; battle->ApplyRewards(state, upgrade); - for (std::vector::const_iterator + for (vector::const_iterator i(upgrade.begin()), end(upgrade.end()); i != end; ++i) { LoadResult(*i, lines); } + s.str(""); + s << state.money << ' ' << res.victoryGoldText; + string goldStr = s.str(); + lines.push_back(""); s.str(""); - s << state.money << " gold"; + s << right << setw(28) << setfill(' ') << goldStr; lines.push_back(s.str()); } void VictoryState::LoadResult( const Upgrade &u, vector &lines) { - std::stringstream s; + const Resources &res = parent->Res(); + stringstream s; switch (u.GetType()) { case Upgrade::LEVEL_UP: - s << u.Name() << " levels up."; + s << left << setw(6) << setfill(' ') << u.Name() + << res.victoryLevelUpText << '.'; break; case Upgrade::MAX_HEALTH: - s << "Max. HP increases by " << u.Amount(); + s << res.victoryMHPText << ' ' + << res.victoryUpgradeText << ' ' + << u.Amount() << '.'; break; case Upgrade::MAX_MAGIC: - s << "Max. MP increases by " << u.Amount(); + s << res.victoryMMPText << ' ' + << res.victoryUpgradeText << ' ' + << u.Amount() << '.'; break; case Upgrade::ATTACK: - s << "ATP increases by " << u.Amount(); + s << res.victoryATPText << ' ' + << res.victoryUpgradeText << ' ' + << u.Amount() << '.'; break; case Upgrade::DEFENSE: - s << "DFP increases by " << u.Amount(); + s << res.victoryDFPText << ' ' + << res.victoryUpgradeText << ' ' + << u.Amount() << '.'; break; case Upgrade::STRENGTH: - s << "STR increases by " << u.Amount(); + s << res.victorySTRText << ' ' + << res.victoryUpgradeText << ' ' + << u.Amount() << '.'; break; case Upgrade::AGILITY: - s << "AGL increases by " << u.Amount(); + s << res.victoryAGLText << ' ' + << res.victoryUpgradeText << ' ' + << u.Amount() << '.'; break; case Upgrade::INTELLIGENCE: - s << "INT increases by " << u.Amount(); + s << res.victoryINTText << ' ' + << res.victoryUpgradeText << ' ' + << u.Amount() << '.'; break; case Upgrade::GUT: - s << "GUT increases by " << u.Amount(); + s << res.victoryGUTText << ' ' + << res.victoryUpgradeText << ' ' + << u.Amount() << '.'; break; case Upgrade::MAGIC_RESISTANCE: - s << "MGR increases by " << u.Amount(); + s << res.victoryMGRText << ' ' + << res.victoryUpgradeText << ' ' + << u.Amount() << '.'; break; case Upgrade::LEVEL_NEXT: - s << u.Name() << " next level " << u.Amount(); + s << setw(7) << setfill(' ') + << left << u.Name() << ' ' + << res.victoryNextLevelText + << ' ' << u.Amount(); break; default: s << "unknown upgrade type " << u.GetType();