diff options
author | Subv <s.v.h21@hotmail.com> | 2012-10-15 11:15:25 -0500 |
---|---|---|
committer | Subv <s.v.h21@hotmail.com> | 2012-10-15 11:15:25 -0500 |
commit | c757f811f265752f2e4dfe1921ace9d7aaf80983 (patch) | |
tree | 14b467a51cf38d5e2bc243c78a90102eda6d656f /src/server/shared/Utilities/Util.cpp | |
parent | 963aa5a159c5541b6c794b42a5f5809bc7a36192 (diff) | |
parent | 6f0a8040d8d363064c7d4aa65d3b3d6f40796009 (diff) |
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into 4.3.4
Conflicts:
src/server/scripts/Commands/cs_modify.cpp
Diffstat (limited to 'src/server/shared/Utilities/Util.cpp')
-rwxr-xr-x | src/server/shared/Utilities/Util.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/server/shared/Utilities/Util.cpp b/src/server/shared/Utilities/Util.cpp index 0897c8814ab..b3176beb50b 100755 --- a/src/server/shared/Utilities/Util.cpp +++ b/src/server/shared/Utilities/Util.cpp @@ -150,6 +150,37 @@ std::string secsToTimeString(uint64 timeInSecs, bool shortText, bool hoursOnly) return ss.str(); } +int64 MoneyStringToMoney(const std::string& moneyString) +{ + int64 money = 0; + + if (!(std::count(moneyString.begin(), moneyString.end(), 'g') == 1 || + std::count(moneyString.begin(), moneyString.end(), 's') == 1 || + std::count(moneyString.begin(), moneyString.end(), 'c') == 1)) + return 0; // Bad format + + Tokenizer tokens(moneyString, ' '); + for (Tokenizer::const_iterator itr = tokens.begin(); itr != tokens.end(); ++itr) + { + std::string tokenString(*itr); + uint32 gCount = std::count(tokenString.begin(), tokenString.end(), 'g'); + uint32 sCount = std::count(tokenString.begin(), tokenString.end(), 's'); + uint32 cCount = std::count(tokenString.begin(), tokenString.end(), 'c'); + if (gCount + sCount + cCount != 1) + return 0; + + uint64 amount = atol(*itr); + if (gCount == 1) + money += amount * 100 * 100; + else if (sCount == 1) + money += amount * 100; + else if (cCount == 1) + money += amount; + } + + return money; +} + uint32 TimeStringToSecs(const std::string& timestring) { uint32 secs = 0; |