*Implement AURA_STATE_BLEEDING

*Correct proc requirements for: Decimation, Impact Juggernaut
*Fix Hunger For Blood.

--HG--
branch : trunk
This commit is contained in:
QAston
2009-06-16 13:24:42 +02:00
parent 8f8bc70afb
commit 5640864845
6 changed files with 31 additions and 5 deletions
@@ -0,0 +1,9 @@
DELETE FROM `spell_proc_event` WHERE `entry` IN (64976,64343, 63158, 63156, 51698, 51700, 51701);
INSERT INTO `spell_proc_event` VALUES
( 51698, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 1), -- Honor Among Thieves (Rank 1)
( 51700, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 1), -- Honor Among Thieves (Rank 2)
( 51701, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0, 0, 1), -- Honor Among Thieves (Rank 3)
( 64976, 0x00, 4, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Juggernaut
( 64343, 0x00, 3, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Impact
( 63158, 0x00, 5, 0x00000001, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Decimation
( 63156, 0x00, 5, 0x00000001, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0); -- Decimation
+5 -4
View File
@@ -1231,9 +1231,6 @@ INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `Spell
( 51667, 0x00, 8, 0x00020000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Cut to the Chase (Rank 3) ( 51667, 0x00, 8, 0x00020000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Cut to the Chase (Rank 3)
( 51668, 0x00, 8, 0x00020000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Cut to the Chase (Rank 4) ( 51668, 0x00, 8, 0x00020000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Cut to the Chase (Rank 4)
( 51669, 0x00, 8, 0x00020000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Cut to the Chase (Rank 5) ( 51669, 0x00, 8, 0x00020000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Cut to the Chase (Rank 5)
( 51698, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 1), -- Honor Among Thieves
( 51700, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 1), -- Honor Among Thieves
( 51701, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 1), -- Honor Among Thieves
( 51672, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0, 0, 1), -- Unfair Advantage (Rank 1) ( 51672, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0, 0, 1), -- Unfair Advantage (Rank 1)
( 51674, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0, 0, 1), -- Unfair Advantage (Rank 2) ( 51674, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0, 0, 1), -- Unfair Advantage (Rank 2)
( 51679, 0x00, 8, 0x00000001, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Throwing Specialization (Rank 2) ( 51679, 0x00, 8, 0x00000001, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Throwing Specialization (Rank 2)
@@ -1449,7 +1446,11 @@ INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `Spell
( 61848, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0, 0, 0), -- Aspect of the Dragonhawk ( 61848, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0, 0, 0), -- Aspect of the Dragonhawk
( 62147, 0x00, 15, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Icy Touch Defense Increase ( 62147, 0x00, 15, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Icy Touch Defense Increase
( 62459, 0x00, 15, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Chains of Ice Frost Rune Refresh (Rank 3) ( 62459, 0x00, 15, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Chains of Ice Frost Rune Refresh (Rank 3)
( 63108, 0x00, 5, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0); -- Siphon Life ( 63108, 0x00, 5, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Siphon Life
( 63158, 0x00, 5, 0x00000001, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Decimation
( 63156, 0x00, 5, 0x00000001, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Decimation
( 64343, 0x00, 3, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Impact
( 64976, 0x00, 4, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0); -- Juggernaut
-- -------- -- --------
-- ENCHANT PROC -- ENCHANT PROC
+1 -1
View File
@@ -911,7 +911,7 @@ enum AuraState
AURA_STATE_SWIFTMEND = 15, // T | AURA_STATE_SWIFTMEND = 15, // T |
AURA_STATE_DEADLY_POISON = 16, // T | AURA_STATE_DEADLY_POISON = 16, // T |
AURA_STATE_ENRAGE = 17, // C | AURA_STATE_ENRAGE = 17, // C |
//AURA_STATE_UNKNOWN18 = 18, // C t| AURA_STATE_BLEEDING = 18, // T|
//AURA_STATE_UNKNOWN19 = 19, // | not used //AURA_STATE_UNKNOWN19 = 19, // | not used
//AURA_STATE_UNKNOWN20 = 20, // c | only (45317 Suicide) //AURA_STATE_UNKNOWN20 = 20, // c | only (45317 Suicide)
//AURA_STATE_UNKNOWN21 = 21, // | not used //AURA_STATE_UNKNOWN21 = 21, // | not used
+4
View File
@@ -1129,6 +1129,10 @@ void Aura::_AddAura()
if(m_spellProto->Dispel == DISPEL_ENRAGE) if(m_spellProto->Dispel == DISPEL_ENRAGE)
SetAuraState(AURA_STATE_ENRAGE); SetAuraState(AURA_STATE_ENRAGE);
// Bleeding aura state
if (GetAllSpellMechanicMask(m_spellProto) & 1<<MECHANIC_BLEED)
SetAuraState(AURA_STATE_BLEEDING);
if(GetSpellSchoolMask(m_spellProto) & SPELL_SCHOOL_MASK_FROST) if(GetSpellSchoolMask(m_spellProto) & SPELL_SCHOOL_MASK_FROST)
{ {
for (uint8 i = 0;i<MAX_SPELL_EFFECTS;++i) for (uint8 i = 0;i<MAX_SPELL_EFFECTS;++i)
+6
View File
@@ -1549,6 +1549,12 @@ void Spell::EffectDummy(uint32 i)
} }
break; break;
case SPELLFAMILY_ROGUE: case SPELLFAMILY_ROGUE:
// Hunger for Blood
if (m_spellInfo->SpellFamilyFlags[1] & 0x1000000)
{
m_caster->CastSpell(m_caster, 63848, true);
break;
}
switch(m_spellInfo->Id ) switch(m_spellInfo->Id )
{ {
case 5938: // Shiv case 5938: // Shiv
+6
View File
@@ -7687,6 +7687,12 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig
return false; return false;
break; break;
} }
// Decimation
case 63156:
case 63158:
// Can proc only if target has hp below 35%
if(!pVictim->HasAuraState(AURA_STATE_HEALTHLESS_35_PERCENT, procSpell, this))
return false;
} }
// Custom basepoints/target for exist spell // Custom basepoints/target for exist spell