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

67 lines
2.9 KiB
C++

#pragma once
#include "BasePropertyServer.h"
class ZoneAgProperty : public BasePropertyServer {
public:
void SetGameVariables(Entity* self) override;
void OnStartup(Entity* self) override;
void OnPlayerLoaded(Entity* self, Entity* player) override;
void OnZoneLoadedInfo(Entity* self);
void OnZonePropertyRented(Entity* self, Entity* player) override;
void OnZonePropertyModelPlaced(Entity* self, Entity* player) override;
void OnZonePropertyModelPickedUp(Entity* self, Entity* player) override;
void OnZonePropertyModelRemoved(Entity* self, Entity* player) override;
void OnZonePropertyModelRemovedWhileEquipped(Entity* self, Entity* player) override;
void OnZonePropertyModelRotated(Entity* self, Entity* player) override;
void OnZonePropertyEditBegin(Entity* self) override;
void OnZonePropertyModelEquipped(Entity* self) override;
void OnZonePropertyEditEnd(Entity* self) override;
void OnPlayerExit(Entity* self);
void OnFireEventServerSide(Entity* self, Entity* sender, std::string args, int32_t param1, int32_t param2,
int32_t param3) override {
BaseOnFireEventServerSide(self, sender, args);
}
virtual void BaseOnFireEventServerSide(Entity* self, Entity* sender, std::string args);
void OnTimerDone(Entity* self, std::string timerName) override;
void BaseTimerDone(Entity* self, const std::string& timerName) override;
void PropGuardCheck(Entity* self, Entity* player) override;
void LoadInstance(Entity* self);
void LoadProperty(Entity* self);
void ProcessGroupObjects(Entity* self, std::string group);
void SpawnSpots(Entity* self) override;
void KillSpots(Entity* self) override;
void StartMaelstrom(Entity* self, Entity* player) override;
void SpawnCrashedRocket(Entity* self);
void KillCrashedRocket(Entity* self);
uint32_t RetrieveSpawnerId(Entity* self, const std::string& spawner);
void NotifyDie(Entity* self);
void RemovePlayerRef(Entity* self);
protected:
std::string destroyedCinematic = "DestroyMaelstrom";
std::vector<uint32_t> ROFTargetGroupIdTable{};
std::u16string LandTargetGroup = u"LandTargetGroup";
std::u16string SpiderScreamGroup = u"SpiderScreamGroup";
std::u16string ROFTargetsGroup = u"ROFTargetsGroup";
std::u16string SpiderEggsGroup = u"SpiderEggsGroup";
std::u16string RocksGroup = u"RocksGroup";
std::u16string ZoneVolumesGroup = u"ZoneVolumesGroup";
std::u16string EnemiesSpawner = u"EnemiesSpawner";
std::u16string BossSensorSpawner = u"BossSensorSpawner";
std::u16string LandTargetSpawner = u"LandTargetSpawner";
std::u16string SpiderScreamSpawner = u"SpiderScreamSpawner";
std::u16string ROFTargetsSpawner = u"ROFTargetsSpawner";
std::u16string SpiderEggsSpawner = u"SpiderEggsSpawner";
std::u16string RocksSpawner = u"RocksSpawner";
std::u16string SpiderRocketSpawner = u"SpiderRocketSpawner";
std::u16string MailboxSpawner = u"MailboxSpawner";
std::u16string LauncherSpawner = u"LauncherSpawner";
std::u16string InstancerSpawner = u"InstancerSpawner";
};