DarkflameServer/dScripts/ai/NS/NsConcertQuickBuild.h

28 lines
912 B
C
Raw Normal View History

#pragma once
#include "CppScripts.h"
struct QuickBuildSet {
2022-07-28 13:39:57 +00:00
std::string name;
std::vector<std::string> effects;
};
class NsConcertQuickBuild : public CppScripts::Script {
public:
2022-07-28 13:39:57 +00:00
void OnStartup(Entity* self) override;
void OnQuickBuildComplete(Entity* self, Entity* target) override;
2022-07-28 13:39:57 +00:00
void OnDie(Entity* self, Entity* killer) override;
private:
2022-07-28 13:39:57 +00:00
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);
};