#include "AgShipPlayerShockServer.h"
#include "GameMessages.h"
#include "RenderComponent.h"
#include "Entity.h"
#include "eTerminateType.h"

void AgShipPlayerShockServer::OnUse(Entity* self, Entity* user) {
	GameMessages::SendTerminateInteraction(user->GetObjectID(), eTerminateType::FROM_INTERACTION, self->GetObjectID());
	if (active) {
		return;
	}
	active = true;
	RenderComponent::PlayAnimation(user, shockAnim);
	GameMessages::SendKnockback(user->GetObjectID(), self->GetObjectID(), self->GetObjectID(), 0, NiPoint3(-20, 10, -20));

	GameMessages::SendPlayFXEffect(self, 1430, u"create", "console_sparks", LWOOBJID_EMPTY, 1.0, 1.0, true);
	self->AddTimer("FXTime", fxTime);
}

void AgShipPlayerShockServer::OnTimerDone(Entity* self, std::string timerName) {
	GameMessages::SendStopFXEffect(self, true, "console_sparks");
	active = false;
}