|
Патчи Если кто-то хочет выложить не свой готовый патч - не забудьте указать автора и источник.
Если кто-то хочет задать вопрос по патчу - велкам. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
22.06.2010, 22:08 | #1 |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
|
[patch/dev] Anti-Magic zone (Зона антимагии)
Суть проблемы:
Не учитывался бонус силы атаки для заклинания. Предположительный фикс Код:
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 5668769..13ea8b9 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -7410,6 +7410,12 @@ void Aura::HandleSchoolAbsorb(bool apply, bool Real) DoneActualBenefit = caster->SpellBaseHealingBonusDone(GetSpellSchoolMask(spellProto)) * 0.75f; } break; + case SPELLFAMILY_DEATHKNIGHT: + // Anti-magic shield + if (spellProto->Id == 50461) + if (Unit *owner = caster->GetOwner()) + DoneActualBenefit += caster->GetOwner()->GetTotalAttackPowerValue(BASE_ATTACK) * 2; + break; default: break; } Возможно также потребуется проверка на то, игрок ли caster Патч вообще не тестировался, жду комментариев Последний раз редактировалось Insider42; 22.06.2010 в 22:10. |
22.06.2010, 23:40 | #2 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
|
Код:
+ // Anti-magic shield + if (spellProto->Id == 50461) + if (Unit *owner = caster->GetOwner()) + DoneActualBenefit += caster->GetOwner()->GetTotalAttackPowerValue(BASE_ATTACK) * 2; |
23.06.2010, 11:02 | #3 |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
|
всё там учитывается, между прочим там += стоит. Гляньте ниже по коду и поймёте о чем я. Как я уже говорил, вопрос в том, должен ли быть LevelPenalty для него?
|
23.06.2010, 11:09 | #4 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
|
Не нашел, где вычисляется базовый абсорб.
Идет: Код:
float DoneActualBenefit = 0.0f; Код:
case SPELLFAMILY_WARLOCK: // Shadow Ward if (spellProto->SpellFamilyFlags2 & 0x00000040) //+30% from +spell bonus DoneActualBenefit = caster->SpellBaseDamageBonusDone(GetSpellSchoolMask(spellProto)) * 0.30f; break; Код:
m_modifier.m_amount += (int32)DoneActualBenefit; 10000 в данном случае хранится в спелле суммона. |
23.06.2010, 11:15 | #5 |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
|
Вообще это дело нада в игре теститЬ, чего я сейчас сделать не могу. Игроки говорят что он абсорбит сейчас (без патча), но не учитывает АП. Т.е. сумма абсорба сейчас статична.
|
Пользователь сказал cпасибо: | Lightunit (23.06.2010) |
23.06.2010, 14:40 | #6 |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
|
Кто-нибудь уже протестил?
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Зона ДК | Gen1us2k | Скрипты | 2 | 31.01.2011 15:23 |
[patch] Magic Rooster Egg (Яйцо волшебного петуха) | xex | Патчи | 7 | 05.10.2010 05:49 |
[Mod] Anti-Farming (разработка) | Hantet | Запросы | 37 | 08.09.2010 08:57 |
[10210] Do unmount at expire restricted flight zone debuf if still in restricted zone/etc. | newsbot | CMaNGOS Commits | 0 | 17.07.2010 20:50 |
[patch] Magic Broom (Волшебная метла) | Insider42 | Патчи на рассмотрении | 6 | 17.05.2010 18:00 |