mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-08-06 10:44:08 +00:00
Implements all the old pickup scripts
Testsed to make sure they work Tested to make sure existing script works still killing it immedialtely is live accurate, the timer was not accurate
This commit is contained in:
26
dScripts/ai/SPEC/SpecialPowerupSpawner.cpp
Normal file
26
dScripts/ai/SPEC/SpecialPowerupSpawner.cpp
Normal file
@@ -0,0 +1,26 @@
|
||||
#include "SpecialImaginePowerupSpawner.h"
|
||||
|
||||
#include "GameMessages.h"
|
||||
#include "SkillComponent.h"
|
||||
#include "EntityManager.h"
|
||||
#include "eReplicaComponentType.h"
|
||||
|
||||
void SpecialImaginePowerupSpawner::OnStartup(Entity* self) {
|
||||
self->SetProximityRadius(1.5f, "powerupEnter");
|
||||
self->SetVar(u"bIsDead", false);
|
||||
}
|
||||
|
||||
void SpecialImaginePowerupSpawner::OnProximityUpdate(Entity* self, Entity* entering, const std::string name, const std::string status) {
|
||||
if (name != "powerupEnter" && status != "ENTER") return;
|
||||
if (!entering->IsPlayer()) return;
|
||||
if (self->GetVar<bool>(u"bIsDead")) return;
|
||||
|
||||
GameMessages::SendPlayFXEffect(self, -1, u"pickup", "", LWOOBJID_EMPTY, 1, 1, true);
|
||||
|
||||
SkillComponent* skillComponent;
|
||||
if (!self->TryGetComponent(eReplicaComponentType::SKILL, skillComponent)) return;
|
||||
skillComponent->CastSkill(13, entering->GetObjectID());
|
||||
|
||||
self->SetVar(u"bIsDead", true);
|
||||
self->Smash(entering->GetObjectID(), eKillType::SILENT);
|
||||
}
|
Reference in New Issue
Block a user