mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 08:28:32 +01:00
Script/Spells: Implemented Chaos Strike energize proc (#20840)
Thx @Ovahlord
This commit is contained in:
8
sql/updates/world/master/2017_11_18_02_world.sql
Normal file
8
sql/updates/world/master/2017_11_18_02_world.sql
Normal file
@@ -0,0 +1,8 @@
|
||||
-- Proc Chaos Strike only by its two damage spells and only if they are critical hits
|
||||
DELETE FROM `spell_proc` WHERE `SpellId`= 197125;
|
||||
INSERT INTO `spell_proc` (`SpellId`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `SpellFamilyMask3`, `ProcFlags`, `SpellPhaseMask`, `HitMask`, `AttributesMask`, `Chance`, `Cooldown`, `Charges`) VALUES
|
||||
(197125, 0x0, 107, 0x4000, 0x0, 0x0, 0x80000000, 0x0, 0x2, 0x2, 0x2, 0, 0, 0);
|
||||
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id`= 197125;
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(197125, 'spell_dh_chaos_strike');
|
||||
@@ -16,11 +16,55 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* Scripts for spells with SPELLFAMILY_DEMONHUNTER and SPELLFAMILY_GENERIC spells used by deathknight players.
|
||||
* Scripts for spells with SPELLFAMILY_DEMONHUNTER and SPELLFAMILY_GENERIC spells used by demon hunter players.
|
||||
* Ordered alphabetically using scriptname.
|
||||
* Scriptnames of files in this file should be prefixed with "spell_dh_".
|
||||
*/
|
||||
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellMgr.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum DemonHunterSpells
|
||||
{
|
||||
SPELL_CHAOS_STRIKE_ENERGIZE = 193840,
|
||||
};
|
||||
|
||||
// 197125 - Chaos Strike
|
||||
class spell_dh_chaos_strike : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_dh_chaos_strike() : SpellScriptLoader("spell_dh_chaos_strike") { }
|
||||
|
||||
class spell_dh_chaos_strike_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_dh_chaos_strike_AuraScript);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_CHAOS_STRIKE_ENERGIZE });
|
||||
}
|
||||
|
||||
void HandleEffectProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
|
||||
{
|
||||
PreventDefaultAction();
|
||||
GetTarget()->CastCustomSpell(SPELL_CHAOS_STRIKE_ENERGIZE, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetTarget(), true, nullptr, aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectProc += AuraEffectProcFn(spell_dh_chaos_strike_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_dh_chaos_strike_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_demon_hunter_spell_scripts()
|
||||
{
|
||||
new spell_dh_chaos_strike();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user