mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-12-04 04:33:36 +00:00
e2dfa1809d
For components
25 lines
726 B
C++
25 lines
726 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);
|
|
});
|
|
}
|
|
}
|