mirror of
https://github.com/DarkflameUniverse/DarkflameServer
synced 2024-08-30 18:43:58 +00:00
fixed wrong stun removal
Apes no longer stack their attacks Apes no longer stack their attacks and excess comments removed
This commit is contained in:
parent
a49f9dc586
commit
f83ad8bbe4
@ -8,11 +8,6 @@
|
|||||||
void BaseEnemyApe::OnStartup(Entity *self) {
|
void BaseEnemyApe::OnStartup(Entity *self) {
|
||||||
self->SetVar<uint32_t>(u"timesStunned", 2);
|
self->SetVar<uint32_t>(u"timesStunned", 2);
|
||||||
self->SetVar<bool>(u"knockedOut", false);
|
self->SetVar<bool>(u"knockedOut", false);
|
||||||
|
|
||||||
auto* combatAIComponent = self->GetComponent<BaseCombatAIComponent>();
|
|
||||||
if (combatAIComponent != nullptr) {
|
|
||||||
combatAIComponent->SetStunImmune(true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BaseEnemyApe::OnDie(Entity *self, Entity *killer) {
|
void BaseEnemyApe::OnDie(Entity *self, Entity *killer) {
|
||||||
@ -23,10 +18,8 @@ void BaseEnemyApe::OnDie(Entity *self, Entity *killer) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void BaseEnemyApe::OnSkillCast(Entity *self, uint32_t skillID) {
|
void BaseEnemyApe::OnSkillCast(Entity *self, uint32_t skillID) {
|
||||||
const auto groundPoundSkill = self->GetVar<uint32_t>(u"GroundPoundSkill") != 0
|
const auto groundPoundSkill = self->GetVar<uint32_t>(u"GroundPoundSkill") != 0 ? self->GetVar<uint32_t>(u"GroundPoundSkill") : 725;
|
||||||
? self->GetVar<uint32_t>(u"GroundPoundSkill") : 725;
|
const auto spawnQuickBuildTime = self->GetVar<float_t>(u"spawnQBTime") != 0.0f ? self->GetVar<float_t>(u"spawnQBTime") : 5.0f;
|
||||||
const auto spawnQuickBuildTime = self->GetVar<float_t>(u"spawnQBTime") != 0.0f
|
|
||||||
? self->GetVar<float_t>(u"spawnQBTime") : 5.0f;
|
|
||||||
|
|
||||||
if (skillID == groundPoundSkill && self->GetVar<LWOOBJID>(u"QB") == LWOOBJID_EMPTY) {
|
if (skillID == groundPoundSkill && self->GetVar<LWOOBJID>(u"QB") == LWOOBJID_EMPTY) {
|
||||||
self->AddTimer("spawnQBTime", spawnQuickBuildTime);
|
self->AddTimer("spawnQBTime", spawnQuickBuildTime);
|
||||||
@ -61,9 +54,7 @@ void BaseEnemyApe::OnTimerDone(Entity *self, std::string timerName) {
|
|||||||
StunApe(self, false);
|
StunApe(self, false);
|
||||||
|
|
||||||
} else if (timerName == "spawnQBTime" && self->GetVar<LWOOBJID>(u"QB") == LWOOBJID_EMPTY) {
|
} else if (timerName == "spawnQBTime" && self->GetVar<LWOOBJID>(u"QB") == LWOOBJID_EMPTY) {
|
||||||
|
// Spawn QB in front of ape.
|
||||||
// Spawns the QB, which can insta kill the ape
|
|
||||||
// Quick mafs to spawn the QB in the correct spot
|
|
||||||
const auto position = self->GetPosition();
|
const auto position = self->GetPosition();
|
||||||
const auto rotation = self->GetRotation();
|
const auto rotation = self->GetRotation();
|
||||||
|
|
||||||
@ -107,8 +98,6 @@ void BaseEnemyApe::OnTimerDone(Entity *self, std::string timerName) {
|
|||||||
|
|
||||||
auto* skillComponent = self->GetComponent<SkillComponent>();
|
auto* skillComponent = self->GetComponent<SkillComponent>();
|
||||||
if (skillComponent != nullptr) {
|
if (skillComponent != nullptr) {
|
||||||
// We use a different behavior than the script here, the original one contains a TargetCaster behavior
|
|
||||||
// but as of writing we can't pass an optional originated to give the loot to the player
|
|
||||||
skillComponent->CalculateBehavior(1273, 29446, self->GetObjectID(), true, false, player->GetObjectID());
|
skillComponent->CalculateBehavior(1273, 29446, self->GetObjectID(), true, false, player->GetObjectID());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,8 +109,7 @@ void BaseEnemyApe::OnFireEventServerSide(Entity *self, Entity *sender, std::stri
|
|||||||
int32_t param3) {
|
int32_t param3) {
|
||||||
if (args == "rebuildDone" && sender != nullptr) {
|
if (args == "rebuildDone" && sender != nullptr) {
|
||||||
self->SetVar<LWOOBJID>(u"smasher", sender->GetObjectID());
|
self->SetVar<LWOOBJID>(u"smasher", sender->GetObjectID());
|
||||||
const auto anchorDamageDelayTime = self->GetVar<float_t>(u"AnchorDamageDelayTime") != 0.0f
|
const auto anchorDamageDelayTime = self->GetVar<float_t>(u"AnchorDamageDelayTime") != 0.0f ? self->GetVar<float_t>(u"AnchorDamageDelayTime") : 0.5f;
|
||||||
? self->GetVar<float_t>(u"AnchorDamageDelayTime") : 0.5f;
|
|
||||||
self->AddTimer("anchorDamageTimer", anchorDamageDelayTime);
|
self->AddTimer("anchorDamageTimer", anchorDamageDelayTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ void WaveBossApe::OnFireEventServerSide(Entity *self, Entity *sender, std::strin
|
|||||||
auto* combatAIComponent = self->GetComponent<BaseCombatAIComponent>();
|
auto* combatAIComponent = self->GetComponent<BaseCombatAIComponent>();
|
||||||
if (combatAIComponent != nullptr) {
|
if (combatAIComponent != nullptr) {
|
||||||
combatAIComponent->SetDisabled(false);
|
combatAIComponent->SetDisabled(false);
|
||||||
|
combatAIComponent->SetStunImmune(false);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
BaseEnemyApe::OnFireEventServerSide(self, sender, args, param1, param2, param3);
|
BaseEnemyApe::OnFireEventServerSide(self, sender, args, param1, param2, param3);
|
||||||
|
Loading…
Reference in New Issue
Block a user