2020-09-09 17:06:22 +00:00
|
|
|
#pragma once
|
2021-05-07 19:29:18 +00:00
|
|
|
|
2022-07-16 23:19:40 +00:00
|
|
|
#include "JSON.hpp"
|
|
|
|
|
|
|
|
#include "Entities.hpp"
|
|
|
|
#include "Transport.hpp"
|
2020-09-09 17:06:22 +00:00
|
|
|
|
2022-07-16 23:19:40 +00:00
|
|
|
#include <map>
|
|
|
|
#include <unordered_map>
|
|
|
|
#include <vector>
|
2020-09-17 09:04:00 +00:00
|
|
|
|
2021-04-29 17:34:53 +00:00
|
|
|
// these are added to the NPC's static key to avoid collisions
|
2021-05-02 00:42:34 +00:00
|
|
|
const int NPC_ID_OFFSET = 1;
|
2021-04-29 17:34:53 +00:00
|
|
|
const int MOB_ID_OFFSET = 10000;
|
|
|
|
const int MOB_GROUP_ID_OFFSET = 20000;
|
|
|
|
|
2021-04-29 15:01:44 +00:00
|
|
|
// typedef for JSON object because I don't want to type nlohmann::json every time
|
|
|
|
typedef nlohmann::json json;
|
|
|
|
|
2020-09-09 19:09:01 +00:00
|
|
|
namespace TableData {
|
2021-05-01 15:04:28 +00:00
|
|
|
extern std::map<int32_t, std::vector<Vec3>> RunningSkywayRoutes;
|
2020-10-06 21:59:12 +00:00
|
|
|
extern std::map<int32_t, int> RunningNPCRotations;
|
2020-10-12 01:53:01 +00:00
|
|
|
extern std::map<int32_t, int> RunningNPCMapNumbers;
|
2021-05-04 23:57:06 +00:00
|
|
|
extern std::unordered_map<int32_t, std::pair<BaseNPC*, std::vector<BaseNPC*>>> RunningNPCPaths; // player ID -> following NPC
|
|
|
|
extern std::vector<NPCPath> FinishedNPCPaths; // NPC ID -> path
|
2020-10-07 17:29:59 +00:00
|
|
|
extern std::map<int32_t, BaseNPC*> RunningMobs;
|
2020-11-25 15:41:10 +00:00
|
|
|
extern std::map<int32_t, BaseNPC*> RunningGroups;
|
2020-11-08 08:42:49 +00:00
|
|
|
extern std::map<int32_t, BaseNPC*> RunningEggs;
|
2020-10-03 02:05:20 +00:00
|
|
|
|
2020-09-09 17:06:22 +00:00
|
|
|
void init();
|
2020-10-06 19:53:21 +00:00
|
|
|
void flush();
|
2020-09-09 19:09:01 +00:00
|
|
|
}
|