DarkflameServer/dScripts/NsConcertQuickBuild.h
2021-12-05 18:54:36 +01:00

28 lines
960 B
C++

#pragma once
#include "CppScripts.h"
struct QuickBuildSet {
std::string name;
std::vector<std::string> effects;
};
class NsConcertQuickBuild : public CppScripts::Script {
public:
void OnStartup(Entity* self) override;
void OnRebuildComplete(Entity* self, Entity* target) override;
void OnDie(Entity* self, Entity* killer) override;
private:
static std::vector<LWOOBJID> finishedQuickBuilds;
static const float resetBlinkTime;
static const float resetStageTime;
static const float resetActivatorTime;
static const float resetTime;
static const std::map<std::string, std::string> quickBuildFX;
static const std::map<LOT, QuickBuildSet> quickBuildSets;
static float GetBlinkTime(float time);
static void ProgressStageCraft(Entity* self, Entity* player);
static void ProgressLicensedTechnician(Entity* self);
static void UpdateEffects(Entity* self);
static void CancelEffects(Entity* self);
};