Fixes issue 152. Now Improved Water Shield works as intended.
1. Removed hardcoded proc chance for Lesser Healing Wave (all ranks had equal proc chance). 2. Added proc chance for Chain Heal (patch 3.2). 3. Fixed bug with Lesser Healing Wave and Chain Heal rolled default spell proc chance at first and then correct chance in dummy proc. So they have never ever proced for low ranks of the talent. 4. Removed consumption of charges (patch 3.2). --HG-- branch : trunk
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
UPDATE spell_proc_event SET spellFamilyMask0 = spellFamilyMask0 | 0x100, customChance = 100 WHERE entry IN (16198, 16180, 16196);
|
||||||
+3
-3
@@ -5788,9 +5788,9 @@ INSERT INTO `spell_proc_event` (`entry`,`SchoolMask`,`SpellFamilyName`,`SpellFam
|
|||||||
( 16086, 0x04, 11, 0x00000000, 0x00040000, 0x00000000, 0x00030000, 0x00000000, 0, 0, 0), -- Improved Fire Nova Totem (Rank 1)
|
( 16086, 0x04, 11, 0x00000000, 0x00040000, 0x00000000, 0x00030000, 0x00000000, 0, 0, 0), -- Improved Fire Nova Totem (Rank 1)
|
||||||
( 16544, 0x04, 11, 0x00000000, 0x00040000, 0x00000000, 0x00030000, 0x00000000, 0, 0, 0), -- Improved Fire Nova Totem (Rank 2)
|
( 16544, 0x04, 11, 0x00000000, 0x00040000, 0x00000000, 0x00030000, 0x00000000, 0, 0, 0), -- Improved Fire Nova Totem (Rank 2)
|
||||||
( 16176, 0x00, 11, 0x000001C0, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Ancestral Healing (Rank 1)
|
( 16176, 0x00, 11, 0x000001C0, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Ancestral Healing (Rank 1)
|
||||||
( 16180, 0x00, 11, 0x000000C0, 0x00000000, 0x00000010, 0x00000000, 0x00000002, 0, 0, 0), -- Improved Water Shield (Rank 1)
|
( 16180, 0x00, 11, 0x000001C0, 0x00000000, 0x00000010, 0x00000000, 0x00000002, 0, 100, 0), -- Improved Water Shield (Rank 1)
|
||||||
( 16196, 0x00, 11, 0x000000C0, 0x00000000, 0x00000010, 0x00000000, 0x00000002, 0, 0, 0), -- Improved Water Shield (Rank 2)
|
( 16196, 0x00, 11, 0x000001C0, 0x00000000, 0x00000010, 0x00000000, 0x00000002, 0, 100, 0), -- Improved Water Shield (Rank 2)
|
||||||
( 16198, 0x00, 11, 0x000000C0, 0x00000000, 0x00000010, 0x00000000, 0x00000002, 0, 0, 0), -- Improved Water Shield (Rank 3)
|
( 16198, 0x00, 11, 0x000001C0, 0x00000000, 0x00000010, 0x00000000, 0x00000002, 0, 100, 0), -- Improved Water Shield (Rank 3)
|
||||||
( 16235, 0x00, 11, 0x000001C0, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Ancestral Healing (Rank 2)
|
( 16235, 0x00, 11, 0x000001C0, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Ancestral Healing (Rank 2)
|
||||||
( 16240, 0x00, 11, 0x000001C0, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Ancestral Healing (Rank 3)
|
( 16240, 0x00, 11, 0x000001C0, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Ancestral Healing (Rank 3)
|
||||||
( 16256, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Flurry (Rank 1)
|
( 16256, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Flurry (Rank 1)
|
||||||
|
|||||||
+12
-3
@@ -6918,15 +6918,24 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
|
|||||||
// Improved Water Shield
|
// Improved Water Shield
|
||||||
if (dummySpell->SpellIconID == 2287)
|
if (dummySpell->SpellIconID == 2287)
|
||||||
{
|
{
|
||||||
// Lesser Healing Wave need aditional 60% roll
|
// Default chance for Healing Wave and Riptide
|
||||||
if (procSpell->SpellFamilyFlags[0] & 0x80 && !roll_chance_i(60))
|
float chance = triggeredByAura->GetAmount();
|
||||||
|
|
||||||
|
if (procSpell->SpellFamilyFlags[0] & 0x80)
|
||||||
|
// Lesser Healing Wave - 0.6 of default
|
||||||
|
chance *= 0.6f;
|
||||||
|
else if (procSpell->SpellFamilyFlags[0] & 0x100)
|
||||||
|
// Chain heal - 0.3 of default
|
||||||
|
chance *= 0.3f;
|
||||||
|
|
||||||
|
if (!roll_chance_f(chance))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Water Shield
|
// Water Shield
|
||||||
if (AuraEffect const * aurEff = GetAura(SPELL_AURA_PROC_TRIGGER_SPELL, SPELLFAMILY_SHAMAN, 0, 0x00000020))
|
if (AuraEffect const * aurEff = GetAura(SPELL_AURA_PROC_TRIGGER_SPELL, SPELLFAMILY_SHAMAN, 0, 0x00000020))
|
||||||
{
|
{
|
||||||
uint32 spell = aurEff->GetSpellProto()->EffectTriggerSpell[aurEff->GetEffIndex()];
|
uint32 spell = aurEff->GetSpellProto()->EffectTriggerSpell[aurEff->GetEffIndex()];
|
||||||
CastSpell(this, spell, true, castItem, triggeredByAura);
|
CastSpell(this, spell, true, castItem, triggeredByAura);
|
||||||
aurEff->GetParentAura()->DropAuraCharge();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
Reference in New Issue
Block a user