|
Принятые патчи Иногда выкладывают патчи, которые потом в итоге все-таки принимают в ядро.
Повод для гордости. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
04.06.2011, 08:38 | #1 |
Ученый
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
|
[11594][fix] Glyph of Salvation
Код:
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index a08c2e8..ca6c3d1 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -137,7 +137,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]= &Aura::HandleModRegen, // 84 SPELL_AURA_MOD_REGEN &Aura::HandleModPowerRegen, // 85 SPELL_AURA_MOD_POWER_REGEN &Aura::HandleChannelDeathItem, // 86 SPELL_AURA_CHANNEL_DEATH_ITEM - &Aura::HandleNoImmediateEffect, // 87 SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN implemented in Unit::MeleeDamageBonusTaken and Unit::SpellDamageBonusTaken + &Aura::HandleDamagePercentTaken, // 87 SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN implemented in Unit::MeleeDamageBonusTaken and Unit::SpellDamageBonusTaken &Aura::HandleNoImmediateEffect, // 88 SPELL_AURA_MOD_HEALTH_REGEN_PERCENT implemented in Player::RegenerateHealth &Aura::HandlePeriodicDamagePCT, // 89 SPELL_AURA_PERIODIC_DAMAGE_PERCENT &Aura::HandleUnused, // 90 unused (3.0.8a-3.2.2a) old SPELL_AURA_MOD_RESIST_CHANCE @@ -5255,6 +5255,29 @@ void Aura::HandlePeriodicHeal(bool apply, bool /*Real*/) } } +void Aura::HandleDamagePercentTaken(bool apply, bool Real) +{ + m_isPeriodic = apply; + + Unit* target = GetTarget(); + Unit* caster = GetCaster(); + + if (!Real) + return; + + if (apply) + { + // Hand of Salvation + if (GetSpellProto()->SpellFamilyName == SPELLFAMILY_PALADIN && GetSpellProto()->SpellFamilyFlags & UI64LIT(0x0000000000000100)) + { + // Glyph of Salvation + if (caster == target) + if (Aura* aur = caster->GetAura(63225, EFFECT_INDEX_0)) + m_modifier.m_amount = -aur->GetModifier()->m_amount; + } + } +} + void Aura::HandlePeriodicDamage(bool apply, bool Real) { // spells required only Real aura add/remove diff --git a/src/game/SpellAuras.h b/src/game/SpellAuras.h index 3713e4c..acb36d7 100644 --- a/src/game/SpellAuras.h +++ b/src/game/SpellAuras.h @@ -302,6 +302,7 @@ class MANGOS_DLL_SPEC Aura void HandleModPowerRegen(bool Apply, bool Real); void HandleModPowerRegenPCT(bool Apply, bool Real); void HandleChannelDeathItem(bool Apply, bool Real); + void HandleDamagePercentTaken(bool Apply, bool Real); void HandlePeriodicDamagePCT(bool Apply, bool Real); void HandleAuraModAttackPower(bool Apply, bool Real); void HandleAuraTransform(bool Apply, bool Real); diff --git a/src/game/UnitAuraProcHandler.cpp b/src/game/UnitAuraProcHandler.cpp |
Пользователь сказал cпасибо: | Vladimir (04.06.2011) |
04.06.2011, 12:28 | #2 |
MaNGOS Dev
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
|
Требуется всегда защита от двойного применения при загрузке ауры при логине
(да я заменитил что вы явно присваиваете значение и накрутки не будет, но мне кажется что более правильно изменять значение - вдруго будет еще какой эффект влияющий на данное значение кроме глифа). Также рекомендую использовать spellEntry->IsFitFamily/IsFitFamilyMask вместо явных обращения к полям - это сокращает проблемы при мерже в 400 Для проверкт if (caster == target) совсем не требуется получать указатель кастера по таблице играковб проще сравнить guid-ы [added]В [11594] c этими измнениями, спасибо.
__________________
Так как устал объяснять знайте ICQ не пользуюсь Последний раз редактировалось Vladimir; 04.06.2011 в 13:21. |
Пользователь сказал cпасибо: | Den (04.06.2011) |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[11676][fix] Glyph of Icy Veins | Den | Принятые патчи | 1 | 26.06.2011 01:20 |
[11673][fix] Glyph of Raptor Strike | Den | Принятые патчи | 1 | 25.06.2011 05:32 |
[11605][fix] Glyph of Desperation | Den | Принятые патчи | 1 | 05.06.2011 18:42 |
[fix] Glyph of Rejuvenation | Den | Отвергнутые патчи | 11 | 05.06.2011 17:47 |
Glyph of Chains of Ice | VENOM | Баг-репорты | 3 | 19.12.2010 01:17 |