mirror of
https://github.com/mod-playerbots/mod-playerbots
synced 2025-12-01 21:12:50 +08:00
Big update.
This commit is contained in:
136
src/strategy/mage/MageTriggers.h
Normal file
136
src/strategy/mage/MageTriggers.h
Normal file
@@ -0,0 +1,136 @@
|
||||
/*
|
||||
* 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
|
||||
Reference in New Issue
Block a user