2021-12-05 17:54:36 +00:00
|
|
|
#pragma once
|
|
|
|
#include "CppScripts.h"
|
|
|
|
|
|
|
|
struct SpyDialogue {
|
|
|
|
std::string token;
|
|
|
|
uint32_t conversationID;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct SpyData {
|
2023-05-02 22:39:21 +00:00
|
|
|
int32_t flagID;
|
2021-12-05 17:54:36 +00:00
|
|
|
LOT itemID;
|
|
|
|
uint32_t missionID;
|
|
|
|
};
|
|
|
|
|
2023-12-23 07:53:21 +00:00
|
|
|
class NtFactionSpyServer : public virtual CppScripts::Script {
|
2021-12-05 17:54:36 +00:00
|
|
|
void OnStartup(Entity* self) override;
|
|
|
|
void OnProximityUpdate(Entity* self, Entity* entering, std::string name, std::string status) override;
|
|
|
|
void OnCinematicUpdate(Entity* self, Entity* sender, eCinematicEvent event, const std::u16string& pathName, float_t pathTime, float_t totalTime, int32_t waypoint) override;
|
|
|
|
protected:
|
|
|
|
virtual void SetVariables(Entity* self);
|
|
|
|
bool IsSpy(Entity* self, Entity* possibleSpy);
|
|
|
|
LWOOBJID ParamObjectForConversationID(Entity* self, uint32_t conversationID);
|
|
|
|
|
|
|
|
const std::string m_ProximityName = "SpyDistance";
|
|
|
|
const std::u16string m_SpyDialogueNotification = u"displayDialogueLine";
|
|
|
|
const std::u16string m_SpyCinematicVariable = u"SpyCinematic";
|
|
|
|
const std::u16string m_SpyCinematicObjectsVariable = u"SpyCinematicObjects";
|
|
|
|
const std::u16string m_CinematicRootVariable = u"CinematicRoot";
|
|
|
|
const std::u16string m_SpyProximityVariable = u"Proximity";
|
|
|
|
const std::u16string m_SpyDialogueTableVariable = u"SpyDialogueTable";
|
|
|
|
const std::u16string m_SpyDataVariable = u"SpyData";
|
|
|
|
};
|