diff options
author | megamage <none@none> | 2009-01-05 14:34:32 -0600 |
---|---|---|
committer | megamage <none@none> | 2009-01-05 14:34:32 -0600 |
commit | f7646029442151a3955db849bf0eb680bc8540da (patch) | |
tree | afeddeef5a63e85533e22102a5cf371d5eb4152d /src/game/Unit.cpp | |
parent | fbc82ae631a37e81efdcaef1f4a2d63b28e9b0a4 (diff) |
*Mangos [7032] Remove unused field from realm structure in realmd. By zhenya.
*Mangos [7033] Add some dummy triggers. By DiSlord.
DK - 49015 and ranks, 51459 and ranks, 48979 and ranks
Druid - 48516 and ranks, 48496 and ranks
Shaman - 55440 glyph
Also fix send AttackStateUpdate on block
Add some spell_proc_event data
Fix sql update for 7031
--HG--
branch : trunk
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r-- | src/game/Unit.cpp | 81 |
1 files changed, 80 insertions, 1 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index e5a87fa6efa..c5c779812bf 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -4257,7 +4257,7 @@ void Unit::SendAttackStateUpdate(CalcDamageInfo *damageInfo) data << (uint32)damageInfo->resist; // Resist } - data << (uint32)damageInfo->TargetState; + data << (uint8)damageInfo->TargetState; data << (uint32)0; data << (uint32)0; @@ -4767,6 +4767,14 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu } return false; } + // Living Seed + case 48504: + { + triggered_spell_id = 48503; + basepoints0 = triggeredByAura->GetModifier()->m_amount; + target = this; + break; + } } break; } @@ -5156,6 +5164,39 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu break; } } + // Eclipse + if (dummySpell->SpellIconID == 2856) + { + if (!procSpell) + return false; + // Only 0 aura can proc + if (triggeredByAura->GetEffIndex()!=0) + return true; + // Wrath crit + if (procSpell->SpellFamilyFlags & 0x0000000000000001LL) + { + if (!roll_chance_i(60)) + return false; + triggered_spell_id = 48518; + target = this; + break; + } + // Starfire crit + if (procSpell->SpellFamilyFlags & 0x0000000000000004LL) + { + triggered_spell_id = 48517; + target = this; + break; + } + return false; + } + // Living Seed + else if (dummySpell->SpellIconID == 2860) + { + triggered_spell_id = 48504; + basepoints0 = triggeredByAura->GetModifier()->m_amount * damage / 100; + break; + } break; } case SPELLFAMILY_ROGUE: @@ -5605,6 +5646,44 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu return true; } + // Glyph of Healing Wave + case 55440: + { + // Not proc from self heals + if (this==pVictim) + return false; + basepoints0 = triggeredByAura->GetModifier()->m_amount * damage / 100; + target = this; + triggered_spell_id = 55533; + break; + } + break; + } + case SPELLFAMILY_DEATHKNIGHT: + { + // Vendetta + if (dummySpell->SpellFamilyFlags & 0x0000000000010000LL) + { + basepoints0 = triggeredByAura->GetModifier()->m_amount * GetMaxHealth() / 100; + triggered_spell_id = 50181; + target = this; + break; + } + // Necrosis + else if (dummySpell->SpellIconID == 2709) + { + basepoints0 = triggeredByAura->GetModifier()->m_amount * damage / 100; + triggered_spell_id = 51460; + break; + } + // Butchery + else if (dummySpell->SpellIconID == 2664) + { + basepoints0 = triggeredByAura->GetModifier()->m_amount; + triggered_spell_id = 50163; + target = this; + break; + } break; } default: |