2021-12-05 17:54:36 +00:00
|
|
|
#pragma once
|
|
|
|
#include "CppScripts.h"
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Information about pets regarding which effect to play when a skill is cast
|
|
|
|
*/
|
|
|
|
struct PetInfo {
|
|
|
|
const std::vector<uint32_t> effect;
|
|
|
|
const std::string skill;
|
|
|
|
};
|
|
|
|
|
|
|
|
class DamagingPets : public CppScripts::Script {
|
|
|
|
public:
|
|
|
|
void OnStartup(Entity* self) override;
|
|
|
|
void OnTimerDone(Entity* self, std::string message) override;
|
2023-05-02 22:39:21 +00:00
|
|
|
void OnNotifyPetTamingMinigame(Entity* self, Entity* tamer, ePetTamingNotifyType type) override;
|
2021-12-05 17:54:36 +00:00
|
|
|
void OnSkillEventFired(Entity* self, Entity* target, const std::string& message) override;
|
|
|
|
void OnPlayerLoaded(Entity* self, Entity* player) override;
|
|
|
|
private:
|
|
|
|
static void MakeUntamable(Entity* self);
|
|
|
|
static PetInfo GetPetInfo(Entity* self);
|
|
|
|
static void ClearEffects(Entity* self);
|
|
|
|
static const std::map<LOT, PetInfo> petInfo;
|
|
|
|
};
|