DarkflameServer/dScripts/AmSkeletonEngineer.cpp

28 lines
798 B
C++
Raw Normal View History

#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);
});
}
}