1. https://wowroad.info/?spell=49067 (И остальные, ледяная, змеиная, обжигающая, замораживающая стрела)
2. Неверная формула для срабатывания, прямоугольные хитбоксы у противников по отношению к ловушкам
3. Должна быть верная
4. 09.08.2022, logon x5
5. Вся жизнь
6. -
7. -
8.
Начнем с нуля, вот так расчитывается может ли игрок бить цель мили атаками
Melee Range = max(5, COMBATREACH_PLAYER + COMBATREACH_TARGET + 4/3) - 100% проверено затестировано и совпадает и все четко у нас ! Отлично !
(Для хантов - когда не бьем мили - бьем ренджой, т.к. меньше 5 мили рендж быть не может (берется макс 5 в худшем), отсюда и ограничение на АА охотника от 5 метров)
Spell Range = spell_range_in_tooltip + COMBATREACH_PLAYER + COMBATREACH_TARGET - 100% проверено затестировано и совпадает, верно! например волна 40м + 1.5 + 1.5 (COMBATREACH мой и игрока), кастуется максимум с 43 метров
AoE Spell Range = aoe_range_in_tooltip + COMBATREACH_TARGET (для упрощения это если кастуем в точности из позиции персонажа, тут можно заметить что т.к. спелл вылетает не из персонажа, а аое, то комбат рич игрока не используется, а только цели, что логично, затрагивает ли его "фрейм" аое зону или нет)
Итак как мы видим UNIT_FIELD_COMBATREACH очень важный, а точнее основной дескриптор который и отвечает откуда мы достаем до цели и используется для АБСОЛЮТНО ВСЕХ атак без исключения, аое, мили, рендж, спеллы, но вот с ловушками беда
Для ловушек, радиус триггера равен 5 метрам (кажется)
https://wowpedia.fandom.com/wiki/Freezing_Trap
Hotfix (2015-01-08): Freezing Trap now has a trigger radius of 3 yards (down from 5 yards).
Отсюда осмелюсь предположить что раньше было 5 (ну об этом позже)
Очевидно что как и любой спелл или атака, она должна учитывать 'фрейм' противника (UNIT_FIELD_COMBATREACH)
Соответственно для ловушек, должна быть вот такая формула, комбат рич ловушки равен 0 (проверено на всякий случай), радиус триггера константа + дескриптор комбат рич противника, если полученное значение меньше дистанции, то она должна срабатывать, и все, достаточно
Что у Вас сейчас там написано я вообще не понимаю)) Я не пытаюсь нагрубить, но почему для ловушек используется не этот дескриптор, а не пойми что? Вы где нарыли какие то квадратные хитбоксы? почему у меня ловушка с одной стороны на манекене прокает с ренджа 7, отойдя на 90 градусов, уже с ренджы 5 она НЕ прокает, там что за прямоугольный хитбокс?) Фреймы должны быть круглые, используется радиус
Если вы считаете что пруф про 5метров недостаточный, или кто то предоставит пруф что он меньше, например 2, пусть будет так, 2 + UNIT_FIELD_COMBATREACH < distance_between(trap, potential_target), это все равно будет в разы лучше чем сейчас! А главное стабильнее для всех, и будет одинаково работать со всех сторон, как это и должно быть, и с драконами все ок будет, например у синдрагосы этот дескриптор 18.75 (метров, радиус), у халиона если не ошибаюсь 19, все будет нормально срабатывать, константа в основном создает отличие только в пвп —
Потому как с 2 + 1.5(комбат рич игрока) = 3.5 < 5 (макс ренджа мили) если игрок будет стоять на ловушке, то его можно будет бить не попав в ловушку, насколько я знаю такого быть не может (тут уже вопрос к гладиаторам), поэтому и склоняюсь к тому что радиус должен быть 5 ( + 1.5 комбат рич игрока) = 6.5 > 5 (макс рендж мили атак)
Я очень надеюсь что разработчикам не наплевать и они сделают круглые (как и наш сервер кста!) фреймы, а не прямоугольные, просто руководствуйтесь формулами как вы уже считаете для мили и спелл атак, которые выше, основа — это этот дескриптор, + триггер радиус (скорее всего либо 5 либо 2, надеюсь у вас есть источник, можно проверить на оффе)
Вот еще капля тестов, манекен 80 лвл и героический, дистанция от ловушки(!!! не от персонажа) до манекена и COMBATREACH манекена)
Обычный 80лвл
4.98 - 1.5 = не прок
4.96 - 1.5 = прок
Гер
5.53 - 2.5 = не прок (ну остановитесь и вдумайтесь как такое может быть? COMBATREACH радиус больше на 1 метр, соответственно как минимум все до 5.96 должно прокать)
Но после того как я отошел в другую сторону и у меня трапа прокнула с ренджи 7, я понял что записывать тут смысла 0
Скрытый текст
Есть еще небольшой баг (?), ловушка ставится на 2 метра вперед от персонажа, если поворачиваться стрелками, то ее позиция верно расcчитывается, а если крутить камеру мышкой, то она не до конца совпадает, после поворота ловушка будет чуть чуть левее или правее (смотря с какой стороны мы крутили), даже если просто подпрыгнуть, то все фиксится и она начинает ставиться четко прямо, тут уже не знаю баг у нас или особенность движка, мало заметно и некритично, но вдруг в разработчиках есть ocd перфекционист)
https://youtu.be/oWRKWGUMnv0?t=41 (второй раз лучше видно)
[свернуть]
- - - Updated - - -
В другой теме человек говорит что триггер радиус равен 3.5 @Gooldark (https://forum.wowcircle.com/showthre...=1#post7658801)
По сути фикс супер легкий и тривиальный, все что надо удалить то что там щас, и написать одну строчку
Код:
if UNIT_FIELD_COMBATREACH_enemy + TRAP_TRIGGER_RADIUS < distance_between(trap, enemy)
proc!
Вам лишь поставить корректную константу в триггер радиус, 3.5 и 5 по сути эквивалентны для пвп, так что доверюсь и скажу что 3.5, но ради бога уберите квадратные хитбоксы и просто юзайте этот дескриптор, он все исправит
@Animagus