DarkflameServer/dScripts/ai/AG/ActSharkPlayerDeathTrigger.cpp

21 lines
717 B
C++
Raw Normal View History

#include "ActSharkPlayerDeathTrigger.h"
#include "MissionComponent.h"
#include "eMissionTaskType.h"
#include "Entity.h"
2022-07-28 13:39:57 +00:00
void ActSharkPlayerDeathTrigger::OnFireEventServerSide(Entity* self, Entity* sender, std::string args, int32_t param1,
int32_t param2, int32_t param3) {
if (args == "achieve") {
auto* missionComponent = sender->GetComponent<MissionComponent>();
if (!missionComponent) return;
missionComponent->Progress(eMissionTaskType::SCRIPT, 8419);
if (sender->GetIsDead() || !sender->GetPlayerReadyForUpdates()) return; //Don't kill already dead players or players not ready
if (sender->GetCharacter()) {
sender->Smash(self->GetObjectID(), eKillType::VIOLENT, u"big-shark-death");
}
}
}