aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2014-08-24 14:04:54 +0200
committerjackpoz <giacomopoz@gmail.com>2014-08-24 14:04:54 +0200
commit54d28af46d09c0e2cbded1fd5fdfada2fd7b7441 (patch)
tree531ae9b794b35c54eb44f0529ff123628104babd /src
parent05d9dcd37f5a124eed5ee370fe59c224de6949a5 (diff)
parenta91851074e89e8c0a331bdcbd0ced2573ee20230 (diff)
Merge branch 'PortgasDAce/1' into 4.3.4
Close pull request #12731
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_rogue.cpp39
1 files changed, 38 insertions, 1 deletions
diff --git a/src/server/scripts/Spells/spell_rogue.cpp b/src/server/scripts/Spells/spell_rogue.cpp
index 1ae01daa5f5..e8546c4214e 100644
--- a/src/server/scripts/Spells/spell_rogue.cpp
+++ b/src/server/scripts/Spells/spell_rogue.cpp
@@ -48,7 +48,9 @@ enum RogueSpells
SPELL_ROGUE_SHIV_TRIGGERED = 5940,
SPELL_ROGUE_SILCE_AND_DICE = 5171,
SPELL_ROGUE_TRICKS_OF_THE_TRADE_DMG_BOOST = 57933,
- SPELL_ROGUE_TRICKS_OF_THE_TRADE_PROC = 59628
+ SPELL_ROGUE_TRICKS_OF_THE_TRADE_PROC = 59628,
+ SPELL_ROGUE_SERRATED_BLADES_R1 = 14171,
+ SPELL_ROGUE_RUPTURE = 1943,
};
enum RogueSpellIcons
@@ -961,6 +963,40 @@ class spell_rog_tricks_of_the_trade_proc : public SpellScriptLoader
}
};
+class spell_rog_serrated_blades : public SpellScriptLoader
+{
+public:
+ spell_rog_serrated_blades() : SpellScriptLoader("spell_rog_serrated_blades") { }
+
+ class spell_rog_serrated_blades_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_rog_serrated_blades_SpellScript);
+
+ void HandleHit()
+ {
+ if (AuraEffect* blade = GetCaster()->GetAuraEffectOfRankedSpell(SPELL_ROGUE_SERRATED_BLADES_R1, EFFECT_0))
+ {
+ uint8 combo = GetCaster()->ToPlayer()->GetComboPoints();
+
+ if (roll_chance_i(blade->GetAmount() * combo))
+ if (Aura* dot = GetHitUnit()->GetAura(SPELL_ROGUE_RUPTURE, GetCaster()->GetGUID()))
+ dot->RefreshDuration();
+
+ }
+ }
+
+ void Register()
+ {
+ OnHit += SpellHitFn(spell_rog_serrated_blades_SpellScript::HandleHit);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_rog_serrated_blades_SpellScript();
+ }
+};
+
void AddSC_rogue_spell_scripts()
{
new spell_rog_blade_flurry();
@@ -980,4 +1016,5 @@ void AddSC_rogue_spell_scripts()
new spell_rog_stealth();
new spell_rog_tricks_of_the_trade();
new spell_rog_tricks_of_the_trade_proc();
+ new spell_rog_serrated_blades();
}