mirror of
https://github.com/mod-playerbots/mod-playerbots
synced 2025-11-29 15:58:20 +08:00
137 lines
3.7 KiB
C++
137 lines
3.7 KiB
C++
/*
|
|
* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU GPL v2 license, you may redistribute it and/or modify it under version 2 of the License, or (at your option), any later version.
|
|
*/
|
|
|
|
#ifndef _PLAYERBOT_MAGETRIGGERS_H
|
|
#define _PLAYERBOT_MAGETRIGGERS_H
|
|
|
|
#include "CureTriggers.h"
|
|
#include "SharedDefines.h"
|
|
|
|
class PlayerbotAI;
|
|
|
|
DEFLECT_TRIGGER(FireWardTrigger, "fire ward");
|
|
DEFLECT_TRIGGER(FrostWardTrigger, "frost ward");
|
|
|
|
class ArcaneIntellectOnPartyTrigger : public BuffOnPartyTrigger
|
|
{
|
|
public:
|
|
ArcaneIntellectOnPartyTrigger(PlayerbotAI* botAI) : BuffOnPartyTrigger(botAI, "arcane intellect", 2) { }
|
|
|
|
bool IsActive() override;
|
|
};
|
|
|
|
class ArcaneIntellectTrigger : public BuffTrigger
|
|
{
|
|
public:
|
|
ArcaneIntellectTrigger(PlayerbotAI* botAI) : BuffTrigger(botAI, "arcane intellect", 2) { }
|
|
|
|
bool IsActive() override;
|
|
};
|
|
|
|
class MageArmorTrigger : public BuffTrigger
|
|
{
|
|
public:
|
|
MageArmorTrigger(PlayerbotAI* botAI) : BuffTrigger(botAI, "mage armor", 5) { }
|
|
|
|
bool IsActive() override;
|
|
};
|
|
|
|
class LivingBombTrigger : public DebuffTrigger
|
|
{
|
|
public:
|
|
LivingBombTrigger(PlayerbotAI* botAI) : DebuffTrigger(botAI, "living bomb") { }
|
|
};
|
|
|
|
class FireballTrigger : public DebuffTrigger
|
|
{
|
|
public:
|
|
FireballTrigger(PlayerbotAI* botAI) : DebuffTrigger(botAI, "fireball") { }
|
|
};
|
|
|
|
class PyroblastTrigger : public DebuffTrigger
|
|
{
|
|
public:
|
|
PyroblastTrigger(PlayerbotAI* botAI) : DebuffTrigger(botAI, "pyroblast") { }
|
|
};
|
|
|
|
class HotStreakTrigger : public HasAuraTrigger
|
|
{
|
|
public:
|
|
HotStreakTrigger(PlayerbotAI* botAI) : HasAuraTrigger(botAI, "hot streak") { }
|
|
};
|
|
|
|
class MissileBarrageTrigger : public HasAuraTrigger
|
|
{
|
|
public:
|
|
MissileBarrageTrigger(PlayerbotAI* botAI) : HasAuraTrigger(botAI, "missile barrage") { }
|
|
};
|
|
|
|
class ArcaneBlastTrigger : public BuffTrigger
|
|
{
|
|
public:
|
|
ArcaneBlastTrigger(PlayerbotAI* botAI) : BuffTrigger(botAI, "arcane blast") { }
|
|
};
|
|
|
|
class CounterspellInterruptSpellTrigger : public InterruptSpellTrigger
|
|
{
|
|
public:
|
|
CounterspellInterruptSpellTrigger(PlayerbotAI* botAI) : InterruptSpellTrigger(botAI, "counterspell") { }
|
|
};
|
|
|
|
class CombustionTrigger : public BoostTrigger
|
|
{
|
|
public:
|
|
CombustionTrigger(PlayerbotAI* botAI) : BoostTrigger(botAI, "combustion") { }
|
|
};
|
|
|
|
class IcyVeinsTrigger : public BoostTrigger
|
|
{
|
|
public:
|
|
IcyVeinsTrigger(PlayerbotAI* botAI) : BoostTrigger(botAI, "icy veins") { }
|
|
};
|
|
|
|
class PolymorphTrigger : public HasCcTargetTrigger
|
|
{
|
|
public:
|
|
PolymorphTrigger(PlayerbotAI* botAI) : HasCcTargetTrigger(botAI, "polymorph") { }
|
|
};
|
|
|
|
class RemoveCurseTrigger : public NeedCureTrigger
|
|
{
|
|
public:
|
|
RemoveCurseTrigger(PlayerbotAI* botAI) : NeedCureTrigger(botAI, "remove curse", DISPEL_CURSE) { }
|
|
};
|
|
|
|
class PartyMemberRemoveCurseTrigger : public PartyMemberNeedCureTrigger
|
|
{
|
|
public:
|
|
PartyMemberRemoveCurseTrigger(PlayerbotAI* botAI) : PartyMemberNeedCureTrigger(botAI, "remove curse", DISPEL_CURSE) { }
|
|
};
|
|
|
|
class SpellstealTrigger : public TargetAuraDispelTrigger
|
|
{
|
|
public:
|
|
SpellstealTrigger(PlayerbotAI* botAI) : TargetAuraDispelTrigger(botAI, "spellsteal", DISPEL_MAGIC) { }
|
|
};
|
|
|
|
class CounterspellEnemyHealerTrigger : public InterruptEnemyHealerTrigger
|
|
{
|
|
public:
|
|
CounterspellEnemyHealerTrigger(PlayerbotAI* botAI) : InterruptEnemyHealerTrigger(botAI, "counterspell") { }
|
|
};
|
|
|
|
class ArcanePowerTrigger : public BuffTrigger
|
|
{
|
|
public:
|
|
ArcanePowerTrigger(PlayerbotAI* botAI) : BuffTrigger(botAI, "arcane power") { }
|
|
};
|
|
|
|
class PresenceOfMindTrigger : public BuffTrigger
|
|
{
|
|
public:
|
|
PresenceOfMindTrigger(PlayerbotAI* botAI) : BuffTrigger(botAI, "presence of mind") { }
|
|
};
|
|
|
|
#endif
|