mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-12-23 05:53:34 +00:00
aa7c3b9061
tested that vanity npcs now chat when close, and then on a cooldown
39 lines
831 B
C++
39 lines
831 B
C++
#pragma once
|
|
|
|
#include "dCommonVars.h"
|
|
#include "Entity.h"
|
|
#include <map>
|
|
#include <set>
|
|
|
|
struct VanityObjectLocation {
|
|
float m_Chance = 1.0f;
|
|
NiPoint3 m_Position;
|
|
NiQuaternion m_Rotation;
|
|
float m_Scale = 1.0f;
|
|
};
|
|
|
|
struct VanityObject {
|
|
LWOOBJID m_ID = LWOOBJID_EMPTY;
|
|
std::string m_Name;
|
|
LOT m_LOT = LOT_NULL;
|
|
std::vector<LOT> m_Equipment;
|
|
std::vector<std::string> m_Phrases;
|
|
std::map<uint32_t, std::vector<VanityObjectLocation>> m_Locations;
|
|
std::vector<LDFBaseData*> m_Config;
|
|
};
|
|
|
|
|
|
namespace VanityUtilities {
|
|
void SpawnVanity();
|
|
|
|
VanityObject* GetObject(const std::string& name);
|
|
|
|
std::string ParseMarkdown(
|
|
const std::string& file
|
|
);
|
|
|
|
void OnProximityUpdate(Entity* entity, Entity* other, const std::string& proxName, const std::string& name);
|
|
|
|
void OnTimerDone(Entity* entity, const std::string& name);
|
|
};
|