diff options
author | Clyne Sullivan <tullivan99@gmail.com> | 2017-01-13 10:42:55 -0500 |
---|---|---|
committer | Clyne Sullivan <tullivan99@gmail.com> | 2017-01-13 10:42:55 -0500 |
commit | f91e95eed85bdd74b219b20a435fa6f297069da1 (patch) | |
tree | bb22c40e618932c3aaef5b8d62e7305d4895a998 /src/old/quest.cpp.bak | |
parent | 620311fb15953984c2fe37917d678f9b3aaa00b6 (diff) |
vector2 stuff, other things
Diffstat (limited to 'src/old/quest.cpp.bak')
-rw-r--r-- | src/old/quest.cpp.bak | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/old/quest.cpp.bak b/src/old/quest.cpp.bak new file mode 100644 index 0000000..f19359e --- /dev/null +++ b/src/old/quest.cpp.bak @@ -0,0 +1,65 @@ +#include <algorithm>
+
+#include <quest.hpp>
+
+int QuestHandler::assign(std::string title,std::string desc,std::string req) {
+ Quest tmp;
+ char *tok;
+
+ tmp.title = title;
+ tmp.desc = desc;
+
+ tok = strtok(&req[0], "\n\r\t,");
+ tmp.need.emplace_back("", 0);
+
+ while (tok) {
+ if (!tmp.need.back().first.empty()) {
+ tmp.need.back().second = atoi(tok);
+ tmp.need.emplace_back("", 0);
+ } else
+ tmp.need.back().first = tok;
+
+ tok = strtok(NULL, "\n\r\t,");
+ }
+
+ tmp.need.pop_back();
+ current.push_back(tmp);
+
+ return 0;
+}
+
+int QuestHandler::drop(std::string title) {
+ current.erase(std::remove_if (current.begin(),
+ current.end(),
+ [&](Quest q) { return q.title == title; }),
+ current.end());
+
+ return 0;
+}
+
+int QuestHandler::finish(std::string t) {
+ for (auto c = current.begin(); c != current.end(); c++) {
+ if ((*c).title == t) {
+ //for (auto &n : (*c).need) {
+ //if (player->inv->hasItem(n.first) < n.second)
+ return 0;
+ //}
+
+ //for (auto &n : (*c).need)
+ //player->inv->takeItem(n.first, n.second);
+ //current.erase(c);
+ //return 1;
+ }
+ }
+
+ return 0;
+}
+
+bool QuestHandler::hasQuest(std::string t) {
+ for (auto &c : current) {
+ if (c.title == t)
+ return true;
+ }
+
+ return false;
+}
|