DarkflameServer/dScripts/NtFactionSpyServer.h
David Markowitz c1e8546d48
fix: add Nexus Tower missing scripts (#1349)
add final missing scripts for nt

also fix the turnin for the breadcrumb missions not showing the completion window.

Fix another missing script

Add another script

fix include guards

Fix dirt clouds not appearing on mission accept
2023-12-22 23:53:21 -08:00

33 lines
1.2 KiB
C++

#pragma once
#include "CppScripts.h"
struct SpyDialogue {
std::string token;
uint32_t conversationID;
};
struct SpyData {
int32_t flagID;
LOT itemID;
uint32_t missionID;
};
class NtFactionSpyServer : public virtual CppScripts::Script {
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";
};