diff options
| author | kandera <kanderacutie@hotmail.com> | 2012-01-04 11:50:31 -0500 |
|---|---|---|
| committer | kandera <kanderacutie@hotmail.com> | 2012-01-04 11:50:31 -0500 |
| commit | 34c437e973567717c12d6d171ec957b987d7e41f (patch) | |
| tree | a7547db1e4e6d6c83d63bcb0ca87214f57d398da /src/server/game/Spells/SpellEffects.cpp | |
| parent | 9c5637a35f52550ceb3ff8cd4dd98708c1845ec6 (diff) | |
[Core/Spells] Fix Blood Tap (finally fixes full spell)
ignore removal of aura provided by Souler thanks!
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
| -rwxr-xr-x | src/server/game/Spells/SpellEffects.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index c3c73598af7..5fd1c788c7f 100755 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -7003,10 +7003,35 @@ void Spell::EffectActivateRune(SpellEffIndex effIndex) { if (player->GetRuneCooldown(j) && player->GetCurrentRune(j) == RuneType(m_spellInfo->Effects[effIndex].MiscValue)) { + if (m_spellInfo->Id == 45529) + if (player->GetBaseRune(j) != RuneType(m_spellInfo->Effects[effIndex].MiscValueB)) + continue; player->SetRuneCooldown(j, 0); --count; } } + + // Blood Tap + if (m_spellInfo->Id == 45529 && count > 0) + { + for (uint32 l = 0; l < MAX_RUNES && count > 0; ++l) + { + // Check if both runes are on cd as that is the only time when this needs to come into effect + if ((player->GetRuneCooldown(l) && player->GetCurrentRune(l) == RuneType(m_spellInfo->Effects[effIndex].MiscValueB)) && (player->GetRuneCooldown(l+1) && player->GetCurrentRune(l+1) == RuneType(m_spellInfo->Effects[effIndex].MiscValueB))) + { + // Should always update the rune with the lowest cd + if (player->GetRuneCooldown(l) >= player->GetRuneCooldown(l+1)) + l++; + player->SetRuneCooldown(l, 0); + --count; + // is needed to push through to the client that the rune is active + player->ResyncRunes(MAX_RUNES); + } + else + break; + } + } + // Empower rune weapon if (m_spellInfo->Id == 47568) { |
