DarkflameServer/dScripts/ai/NS/NsConcertQuickBuild.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

28 lines
912 B
C
Raw Permalink Normal View History

#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 OnQuickBuildComplete(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);
};