DarkflameServer/dScripts/NtCombatChallengeServer.h
2022-07-28 08:39:57 -05:00

48 lines
1.6 KiB
C++

#pragma once
#include "CppScripts.h"
class NtCombatChallengeServer : public CppScripts::Script
{
public:
void OnUse(Entity* self, Entity* user) override;
void OnDie(Entity* self, Entity* killer) override;
void OnHitOrHealResult(Entity* self, Entity* attacker, int32_t damage) override;
void OnFireEventServerSide(Entity* self, Entity* sender, std::string args, int32_t param1, int32_t param2,
int32_t param3) override;
void OnMessageBoxResponse(Entity* self, Entity* sender, int32_t button, const std::u16string& identifier, const std::u16string& userData) override;
void SpawnTargetDummy(Entity* self);
void SetAttackImmunity(LWOOBJID objID, bool bTurnOn);
void OnChildLoaded(Entity* self, Entity* child);
void ResetGame(Entity* self);
void OnActivityTimerUpdate(Entity* self, float timeRemaining);
void OnTimerDone(Entity* self, std::string timerName) override;
private:
float gameTime = 30.0f;
std::string startSound = "{a477f897-30da-4b15-8fce-895c6547adae}";
std::string stopSound = "{a832b9c5-b000-4c97-820a-2a7d1e68dd9d}";
std::string timerSound = "{79b38431-4fc7-403b-8ede-eaff700a7ab0}";
std::string timerLowSound = "{0e1f1284-e1c4-42ed-8ef9-93e8756948f8}";
std::string scoreSound = "{cfdade40-3d97-4cf5-b53c-862e0b84c1a1}";
std::vector<LOT> tTargets = {
13556, 13556, 13764, 13764, 13765, 13765,
13766, 13766, 13767, 13767, 13768, 13768,
13830, 13769, 13769, 13770, 13830, 13770,
13771, 13771, 13830, 13772
};
struct MissionRequirements
{
int32_t mission;
int32_t damage;
};
std::vector<MissionRequirements> tMissions = {
{1010, 25},
{1340, 100},
{1341, 240},
{1342, 290}
};
};