2021-12-05 17:54:36 +00:00
|
|
|
#include "ActSharkPlayerDeathTrigger.h"
|
2022-07-05 06:00:10 +00:00
|
|
|
#include "MissionComponent.h"
|
|
|
|
#include "eMissionTaskType.h"
|
2021-12-05 17:54:36 +00:00
|
|
|
#include "Entity.h"
|
|
|
|
|
|
|
|
void ActSharkPlayerDeathTrigger::OnFireEventServerSide(Entity* self, Entity* sender, std::string args, int32_t param1,
|
|
|
|
int32_t param2, int32_t param3) {
|
|
|
|
if (args == "achieve") {
|
2023-06-09 08:27:05 +00:00
|
|
|
auto* missionComponent = sender->GetComponent<MissionComponent>();
|
2022-07-05 06:00:10 +00:00
|
|
|
if (!missionComponent) return;
|
2021-12-05 17:54:36 +00:00
|
|
|
|
2022-07-05 06:00:10 +00:00
|
|
|
missionComponent->Progress(eMissionTaskType::SCRIPT, 8419);
|
2021-12-05 17:54:36 +00:00
|
|
|
|
2023-06-16 08:56:02 +00:00
|
|
|
if (sender->IsDead() || !sender->GetPlayerReadyForUpdates()) return; //Don't kill already dead players or players not ready
|
2021-12-05 17:54:36 +00:00
|
|
|
|
|
|
|
if (sender->GetCharacter()) {
|
|
|
|
sender->Smash(self->GetObjectID(), eKillType::VIOLENT, u"big-shark-death");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|