aboutsummaryrefslogtreecommitdiffstats
path: root/src/quest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quest.cpp')
-rw-r--r--src/quest.cpp68
1 files changed, 0 insertions, 68 deletions
diff --git a/src/quest.cpp b/src/quest.cpp
deleted file mode 100644
index aa0bb2e..0000000
--- a/src/quest.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-#include <algorithm>
-
-#include <quest.hpp>
-#include <entities.hpp>
-
-extern Player *player;
-
-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;
-}