TrinityCore
spell_covenant.cpp
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#include "ScriptMgr.h"
19#include "SpellAuraEffects.h"
20#include "SpellMgr.h"
21#include "SpellScript.h"
22#include "Unit.h"
23
24// 323916 - Sulfuric Emission
26{
28
29 bool Validate(SpellInfo const* /*spellInfo*/) override
30 {
32 }
33
34 bool CheckProc(AuraEffect const* aurEff, ProcEventInfo& procInfo)
35 {
36 if (!procInfo.GetProcTarget()->HealthBelowPct(aurEff->GetAmount()))
37 return false;
38
40 return false;
41
42 return true;
43 }
44
45 void Register() override
46 {
48 }
49};
50
51// 332753 - Superior Tactics
53{
55
56 bool Validate(SpellInfo const* /*spellInfo*/) override
57 {
59 }
60
61 bool CheckProc(AuraEffect const* /*aurEff*/, ProcEventInfo& procInfo)
62 {
64 return false;
65
66 // only dispels from friendly targets count
68 return false;
69
70 return true;
71 }
72
73 void Register() override
74 {
76 }
77};
78
80{
83}
uint32_t uint32
Definition: Define.h:142
#define RegisterSpellScript(spell_script)
Definition: ScriptMgr.h:1369
@ EFFECT_0
Definition: SharedDefines.h:30
@ SPELL_AURA_PROC_TRIGGER_SPELL
@ PROC_FLAG_DEAL_HELPFUL_ABILITY
Definition: SpellMgr.h:152
@ PROC_FLAG_DEAL_HELPFUL_SPELL
Definition: SpellMgr.h:158
@ PROC_FLAG_DEAL_HELPFUL_PERIODIC
Definition: SpellMgr.h:169
@ PROC_HIT_DISPEL
Definition: SpellMgr.h:288
#define AuraCheckEffectProcFn(F, I, N)
Definition: SpellScript.h:2136
int32 GetAmount() const
HookList< CheckEffectProcHandler > DoCheckEffectProc
Definition: SpellScript.h:2135
Unit * GetTarget() const
ProcFlagsHit GetHitMask() const
Definition: Unit.h:500
ProcFlagsInit GetTypeMask() const
Definition: Unit.h:497
Unit * GetProcTarget() const
Definition: Unit.h:495
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Definition: SpellScript.h:162
bool HealthBelowPct(int32 pct) const
Definition: Unit.h:780
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
Definition: Unit.cpp:4664
bool CheckProc(AuraEffect const *aurEff, ProcEventInfo &procInfo)
static constexpr uint32 SPELL_SULFURIC_EMISSION_COOLDOWN_AURA
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
static constexpr uint32 SPELL_SUPERIOR_TACTICS_COOLDOWN_AURA
bool CheckProc(AuraEffect const *, ProcEventInfo &procInfo)
void AddSC_covenant_spell_scripts()