Хочу обратиться с просьбой ещё раз взглянуть на механику расчёта урона гибридных атак у Ретри Паладина (Seal of Blood, Seal of Command) под действием процентирующих баффов — Avenging Wrath (Крылья) и таланта Vengeance (Месть).
Я абсолютно понимаю вашу позицию: на первый взгляд ситуация, когда один и тот же бафф увеличивает урон дважды (Double Dip), выглядит как логическая ошибка или кастомный баг. Однако в архитектуре World of Warcraft версии 2.4.3 это не ошибка программирования ядра, а официальное и задокументированное следствие структуры базы данных Spell.dbc и движка обработки аур того времени.
Хотелось бы привести несколько фактов, ссылок и аргументов для пересмотра решения:
1. Архитектура баффов в Spell.dbc (Официальные данные Blizzard)
В клиенте 2.4.3 баффы Avenging Wrath (ID 31884) и Vengeance (ID 20055) не являются единым плоским множителем на весь урон. В базе данных Blizzard они прописаны как два отдельных аура-эффекта:
Effect #1: SPELL_AURA_MOD_DAMAGE_PERCENT_DONE с маской Physical (+15% / +30% к физике).
Effect #2: SPELL_AURA_MOD_DAMAGE_PERCENT_DONE с маской Holy (+15% / +30% к магии Свету).
Это легко проверить через просмотрщик Spell.dbc или на базе Wowhead TBC (Vengeance Rank 3), где четко видны два независимых Effect-блока.
2. Цепочка расчёта урона в ядре 2.4.3
Печать Seal of Blood рассчитывается как 35% от фактически нанесённого физического урона (Actual Physical Damage Dealt). Из-за этого обработка урона в ядре стандартно проходит два независимых этапа:
Обработчик физического урона (MeleeDamageBonusDone):
Урон оружия умножается на Effect #1 (физический бафф +30%).
Скрипт печати (Spell Script):
Берет 35% от уже увеличенного физического удара.
Обработчик Holy-магии (SpellDamageBonusDone):
Так как сработавший урон печати имеет школу Holy, движок проверяет ауры игрока на тип Holy, видит Effect #2 (+30% к Holy) и накладывает его второй раз.
Итоговый Holy Урон = (Базовый Урон Оружия * 1.30 Физика) * 0.35 * 1.30 Holy
3. Подтверждения на форумах и фикс в WotLK (3.0.2)
Подтверждение на официальном форуме Blizzard:
В разборах механики TBC Classic игроки и теориикрафтеры прямо ссылаются на эту официальную механику:
US Blizzard Forums — Ret paladin mechanics (Double Dipping Vengeance) (Цитата из ветки: "...even with double dipping Vengeance"). https://us.forums.blizzard.com/en/wow/t/ret-paladin-is-bad/862710/21?page=2&hl=ru-RU
Reddit r/classicwow — Discussion on Ret Paladin TBC Mechanics (Обсуждение механик двойного скалирования Physical + Holy).
https://www.wowhead.com/tbc/spell=20059/vengeance#comments
https://www.reddit.com/r/turtlewow/s/vl5wpdi2xi
Исправление механики в Wrath of the Lich King (Патч 3.0.2):
В патче 3.0.2 Blizzard полностью переписали формулы всех печатей, переведя их на скалирование от AP/SP. Сделано это было именно для того, чтобы убрать существовавший весь TBC Double Dip. В патче 2.4.3 этого исправления ещё не существовало, и математика перемножения аур являлась базовой.
4. Что ДОЛЖНО и что НЕ ДОЛЖНО скалироваться дважды (Разбор аур)
Double Dip в 2.4.3 происходит не для всех процентов в игре, а только для способностей с двойной структурой аур в Spell.dbc:
Скапливается дважды (Double Dip работает):
Avenging Wrath (Крылья): Содержит два раздельных эффекта (Phys % + Holy %). Физика увеличивается на 30%, а затем получившийся Holy-урон печати увеличивается ещё на 30%.
Vengeance (Месть): Содержит два раздельных эффекта (Phys % + Holy %). Физическая база раскачивается до +15%, а затем Holy-компонент получает свои +15%.
Sanctity Aura + Improved Sanctity Aura: Базовые +10% увеличивают только Holy-этап, но +2% от таланта (на весь урон) увеличивают физический замах, а затем повторно учитываются на Holy-этапе.
НЕ скалируется дважды (Работает ровно 1 раз):
Ferocious Inspiration (3% БМ Ханта): Имеет один единый эффект (SchoolMask: All Damage). Единый плоский процент накладывается один раз на итоговый физический удар и не дублируется на печать.
Blood Frenzy (4% дебафф Воина): Накладывает дебафф только на входящий физический урон. Увеличивает только первичный физический удар.
Misery (5% дебафф ШП): Увеличивает только входящий магический урон. Работает строго один раз на этапе нанесения Holy-урона печати.
Очень прошу тебя пересмотреть этот момент. Отмена Double Dipping для Крыльев и Мести требует кастомного вмешательства и вырезания проверки школьных аур (SpellDamageBonusDone), в то время как двухэтапное перемножение — это родная и задокументированная математика клиента 2.4.3.
Настоятельно прошу вернуть всё на место как было, и на будущее прошу учесть, что тех, кого что то не устраивает, должены САМИ сперва доказать свои сомнения, подкрепить слезы фактами. А не так как это получилось сейчас.
Заранее спасибо за Ваше время и вклад в работу над сервером!