diff options
author | Clyne Sullivan <tullivan99@gmail.com> | 2016-10-20 08:44:58 -0400 |
---|---|---|
committer | Clyne Sullivan <tullivan99@gmail.com> | 2016-10-20 08:44:58 -0400 |
commit | cb408a63a0f03ccb0b0ce7c338527a3b4964aff9 (patch) | |
tree | c373f7f74d0c1b5c834dccf47b7f3b343a0b870b /src/quest.cpp.bak | |
parent | 4f838cdf582f0ace6d7de8cb376dfce7100fbea3 (diff) |
removed all old entity stuff
Diffstat (limited to 'src/quest.cpp.bak')
-rw-r--r-- | src/quest.cpp.bak | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/quest.cpp.bak b/src/quest.cpp.bak new file mode 100644 index 0000000..f19359e --- /dev/null +++ b/src/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;
+}
|