mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-12-23 14:03:34 +00:00
28 lines
798 B
C++
28 lines
798 B
C++
|
#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);
|
||
|
});
|
||
|
}
|
||
|
}
|