#include "AmSkeletonEngineer.h"
#include "DestroyableComponent.h"
#include "SkillComponent.h"

void AmSkeletonEngineer::OnHit(Entity* self, Entity* attacker) {
	auto* destroyableComponent = self->GetComponent<DestroyableComponent>();
	auto* skillComponent = self->GetComponent<SkillComponent>();

	if (destroyableComponent == nullptr || skillComponent == nullptr) {
		return;
	}

	if (destroyableComponent->GetHealth() < 12 && !self->GetVar<bool>(u"injured")) {
		self->SetVar(u"injured", true);

		skillComponent->CalculateBehavior(953, 19864, self->GetObjectID(), true);

		const auto attackerID = attacker->GetObjectID();

		self->AddCallbackTimer(4.5f, [this, self, attackerID]() {
			self->Smash(attackerID);
			});
	}
}