Skip to content

Instantly share code, notes, and snippets.

@saqirmdev
Created December 2, 2012 16:35
Show Gist options
  • Save saqirmdev/4189665 to your computer and use it in GitHub Desktop.
Save saqirmdev/4189665 to your computer and use it in GitHub Desktop.
Early Frost
@@ 1,0 && spell_script_names
-- Early Frost Spell_Script_Name.sql
INSERT INTO `spell_script_names` VALUES (116, 'spell_mage_frost_bolt');
@@ 49,1 && enum MageSpells spell_mage.cpp
SPELL_MAGE_CAUTERIZE_DOT = 87023,
SPELL_MAGE_GLYPH_OF_BLAST_WAVE = 62126,
+
+ //early frost
+ SPELL_MAGE_EARLY_FROST_R1_T = 83049,
+ SPELL_MAGE_EARLY_FROST_R2_T = 83050,
+ SPELL_MAGE_EARLY_FROST_R1_CD = 83162,
+ SPELL_MAGE_EARLY_FROST_R2_CD = 83239,
+
SPELL_MAGE_CONJURE_REFRESHMENT = 42955,
};
@@ 622,1 && spell_mage.cpp
SpellScript* GetSpellScript() const
{
return new spell_mage_conjure_refreshment_SpellScript();
}
};
+class spell_mage_frost_bolt : public SpellScriptLoader
+{
+public:
+ spell_mage_frost_bolt() : SpellScriptLoader("spell_mage_frost_bolt") { }
+
+ class spell_mage_frost_bolt_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_mage_frost_bolt_SpellScript);
+
+ void HandleFrostBoltScript(SpellEffIndex /*effIndex*/)
+ {
+
+ Unit* caster = GetCaster();
+
+ if (!caster->HasAura(SPELL_MAGE_EARLY_FROST_R1_CD)) // Check Trigger
+ {
+ if (caster->HasAura(SPELL_MAGE_EARLY_FROST_R1_T)) // Check Talent
+ caster->CastSpell(caster, SPELL_MAGE_EARLY_FROST_R1_CD, true); // Cast Trigger - 15 Sec Cooldown
+ }
+ else if (!caster->HasAura(SPELL_MAGE_EARLY_FROST_R2_CD)) // Check Trigger (R2)
+ {
+ if (caster->HasAura(SPELL_MAGE_EARLY_FROST_R2_T)) // Check Talent (R2)
+ caster->CastSpell(caster, SPELL_MAGE_EARLY_FROST_R2_CD, true); // Cast Trigger (R2) - 15Sec Cooldown
+ }
+
+ }
+ void Register()
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_mage_frost_bolt_SpellScript::HandleFrostBoltScript, EFFECT_0, SPELL_EFFECT_APPLY_AURA);
+ }
+ };
+
+ SpellScript* GetSpellScript() const
+ {
+ return new spell_mage_frost_bolt_SpellScript();
+ }
+};
void AddSC_mage_spell_scripts()
{
@@ 674,49 && void AddSC_mage_spell_scripts() spell_mage.cpp
new spell_mag_cauterize();
new spell_mage_conjure_refreshment();
+ new spell_mage_frost_bolt();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment