mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-10-19 22:08:08 +00:00
Public release of the DLU server code!
Have fun!
This commit is contained in:
40
dScripts/NtSleepingGuard.cpp
Normal file
40
dScripts/NtSleepingGuard.cpp
Normal file
@@ -0,0 +1,40 @@
|
||||
#include "NtSleepingGuard.h"
|
||||
#include "GameMessages.h"
|
||||
#include "MissionComponent.h"
|
||||
|
||||
void NtSleepingGuard::OnStartup(Entity* self)
|
||||
{
|
||||
self->SetNetworkVar<bool>(u"asleep", true);
|
||||
}
|
||||
|
||||
void NtSleepingGuard::OnEmoteReceived(Entity* self, const int32_t emote, Entity* target)
|
||||
{
|
||||
if (!self->GetNetworkVar<bool>(u"asleep"))
|
||||
return;
|
||||
|
||||
// Check if emote is in m_ValidEmotes
|
||||
if (std::find(m_ValidEmotes.begin(), m_ValidEmotes.end(), emote) == m_ValidEmotes.end())
|
||||
return;
|
||||
|
||||
// Set asleep to false
|
||||
self->SetNetworkVar<bool>(u"asleep", false);
|
||||
|
||||
GameMessages::SendPlayAnimation(self, u"greet");
|
||||
|
||||
auto* missionComponent = target->GetComponent<MissionComponent>();
|
||||
|
||||
if (missionComponent != nullptr)
|
||||
{
|
||||
missionComponent->CompleteMission(1346);
|
||||
}
|
||||
|
||||
self->AddTimer("AsleepAgain", 5.0f);
|
||||
}
|
||||
|
||||
void NtSleepingGuard::OnTimerDone(Entity* self, std::string timerName)
|
||||
{
|
||||
if (timerName == "AsleepAgain")
|
||||
{
|
||||
self->SetNetworkVar<bool>(u"asleep", true);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user