mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 21:01:29 +00:00
38 lines
966 B
C++
38 lines
966 B
C++
#ifndef EQEMU_TASK_GOAL_LIST_MANAGER_H
|
|
#define EQEMU_TASK_GOAL_LIST_MANAGER_H
|
|
|
|
#include "tasks.h"
|
|
#include "../common/types.h"
|
|
#include <list>
|
|
#include <vector>
|
|
#include <string>
|
|
#include <algorithm>
|
|
|
|
struct TaskGoalList_Struct {
|
|
int ListID;
|
|
int Min, Max;
|
|
std::vector<int> GoalItemEntries;
|
|
};
|
|
|
|
// This is used for handling lists, loading them from the database, searching them.
|
|
// Used for lists of NPCs to kill, items to loot, etc, as well as lists of items to
|
|
// reward the player with on completion of the task.
|
|
class TaskGoalListManager {
|
|
|
|
public:
|
|
TaskGoalListManager();
|
|
~TaskGoalListManager();
|
|
bool LoadLists();
|
|
int GetListByID(int list_id);
|
|
bool IsInList(int list_id, int entry);
|
|
int GetFirstEntry(int list_id);
|
|
std::vector<int> GetListContents(int list_index);
|
|
|
|
private:
|
|
std::vector<TaskGoalList_Struct> m_task_goal_lists;
|
|
int m_goal_lists_count;
|
|
};
|
|
|
|
|
|
#endif //EQEMU_TASK_GOAL_LIST_MANAGER_H
|