Core/Spells: Gouge will now have a chance of not being canceled by bleeding effects when having learned Sanguinary Vein
closes #263
This commit is contained in:
1 parent
8011d2de29
commit
ab405f6935
3 files changed
+41
-1
No files matched your search
@@ -0,0 +1,7 @@
|
||||
DELETE FROM `spell_proc` WHERE `SpellId`= 1776;
|
||||
INSERT INTO `spell_proc` (`SpellId`, `SpellTypeMask`, `Charges`) VALUES
|
||||
(1776, 1, 1);
|
||||
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName`= 'spell_rog_gouge';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(1776, 'spell_rog_gouge');
|
||||
@@ -5916,6 +5916,15 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
spellInfo->Effects[EFFECT_1].MiscValue = 3;
|
||||
});
|
||||
|
||||
// Sanguinary Vein
|
||||
ApplySpellFix({
|
||||
79146,
|
||||
79147,
|
||||
},[](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->SpellFamilyName = SPELLFAMILY_ROGUE;
|
||||
});
|
||||
|
||||
for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i)
|
||||
{
|
||||
SpellInfo* spellInfo = mSpellInfoMap[i];
|
||||
|
||||
@@ -82,7 +82,8 @@ enum RogueSpells
|
||||
enum RogueSpellIcons
|
||||
{
|
||||
ICON_ROGUE_IMPROVED_RECUPERATE = 4819,
|
||||
ROGUE_ICON_ID_SERRATED_BLADES = 2004
|
||||
ROGUE_ICON_ID_SERRATED_BLADES = 2004,
|
||||
ROGUE_ICON_ID_SANGUINARY_VEIN = 4821
|
||||
};
|
||||
|
||||
// 13877, 33735, (check 51211, 65956) - Blade Flurry
|
||||
@@ -1489,6 +1490,28 @@ class spell_rog_relentless_strikes : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
// 1776 - Gouge
|
||||
class spell_rog_gouge : public AuraScript
|
||||
{
|
||||
bool CheckProc(ProcEventInfo& eventInfo)
|
||||
{
|
||||
// Only the caster's bleed effects may cancel the effect
|
||||
if (Unit* actor = eventInfo.GetActor())
|
||||
if (actor == GetCaster() && eventInfo.GetSpellInfo())
|
||||
if (eventInfo.GetSpellInfo()->SpellFamilyName == SPELLFAMILY_ROGUE && eventInfo.GetSpellInfo()->Mechanic == MECHANIC_BLEED)
|
||||
if (AuraEffect const* aurEff = actor->GetDummyAuraEffect(SPELLFAMILY_ROGUE, ROGUE_ICON_ID_SANGUINARY_VEIN, EFFECT_1))
|
||||
if (roll_chance_i(aurEff->GetAmount()))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoCheckProc.Register(&spell_rog_gouge::CheckProc);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_rogue_spell_scripts()
|
||||
{
|
||||
RegisterSpellScript(spell_rog_bandits_guile);
|
||||
@@ -1502,6 +1525,7 @@ void AddSC_rogue_spell_scripts()
|
||||
RegisterSpellScript(spell_rog_envenom);
|
||||
RegisterSpellScript(spell_rog_eviscerate);
|
||||
RegisterSpellScript(spell_rog_glyph_of_hemorrhage);
|
||||
RegisterSpellScript(spell_rog_gouge);
|
||||
RegisterSpellScript(spell_rog_improved_expose_armor);
|
||||
new spell_rog_killing_spree();
|
||||
RegisterSpellScript(spell_rog_main_gauche);
|
||||
|
||||
Reference in new issue
Block a user