Форумы-->Проблемы с боями-->
Автор | Не сработала стремительная атака |
https://www.heroeswm.ru/war.php?warid=722956174<
Из описания умения "Стремительная атака":
Это существо не могут контратаковать враги, находящиеся под действием заклинания Замедление.
Ситуация: в середине боя 12 дочек земли бьют вампа. Срабатывает "Колдовской удар": дочки кастуют медлю на вампа. Вамп замедлен, однако все равно контратакует дочек. | все правильно, до атаки дочек вамп же не был замедлен, а замедлился уже в процесе, поэтому и последовал ответ | до атаки дочек вамп же не был замедлен и что?
Это существо не могут контратаковать враги, находящиеся под действием заклинания Замедление.
Когда вамп контратаковал, он уже был замедлен, следовательно налицо прямое противоречие описанию. | фича | фича
Ну да, тебе-то лучше знать:) | актуально | актуально | Ну походу реально фича, не успел замедлиться | для Маг-Лесник:
Фича - это нечто специально задуманное. Сильно сомневаюсь, что админы специально предусмотрели эту ситуацию, в силу ее редкости. А так как при этом нарушается описание способности, то это явный баг. | для yakman:
его не могут контраковать враги которые УЖЕ НАХОДИЛИСЬ под медлей.. | для yakman:
Смотря как на это смотреть.
Если проверка на контратаку идет перед атакой, то бага нет.
Если после, то да, баг.
Так вот, почему проверка на контратаку должна идти после, а не перед? Или наоборот: почему проверка должна идти перед атакой, а не после ее? Ответ очень прост: первый способ (который сейчас) гораздо легче в реализации, т.к. не нужна еще одна проверка на условия после атаки атакующего стэка. То есть подсчет условий идет 1 раз и все.
Например: А атакует Б, если А выбивает оглушение или ослеп или урона больше, чем хп у цели с учетом доп. хп от крови и резистов или еще что-то, что не даст Б контратакавать, то Б не отвечает, иначе отвечает.
В случае #2 сначала будет проверка выживет ли Б от удара и %всяких вероятностых абилок. А потом после удара еще проверка может ли он ответить после всего этого. Итого двойная нагрузка на машину, где сервер. Мб и мелочь в единочном случае, но представь, что машине, где сервер, придется инициировать скрипты в 2 раза чаще, когда это касается нанесения урона и проверку на условия каждый раз, когда кто-то кого-то где бьет в каком-то бою из всех боев, которые происходят на сервере. И все это из-за 1 юнита.
Можно, конечно, обойти эту ошибку, а то есть изменить то, как работает колдовской удар. Сделать эту абилку как % того, что враг не ответит на атаку + наложится замедление. Таким образом стэк не будет отвечать, когда сработает колдовской удар, а после этого на него еще и замедление навесится. | * +конечно учесть всяких големов и других похожих юинтов, на них этот %безответки срабатывать не будет, т.к. у них игнор к замедлению. | для Маг-Лесник:
его не могут контраковать враги которые УЖЕ НАХОДИЛИСЬ под медлей..
Читайте внимательней описание - все, что могу сказать. Слов "уже находились" там и близко нет.
для Kemuri-Onna:
Что-то я не очень понимаю - можно же сделать так:
1)Идет удар+ срабатывание всяческих абилок.
2)Идет проверка: если стек не ослеплен, не оглушен, не отброшен, атакующий стек не имеет способности "враг не сопротивляется" итд..., то идет контратака. Если нет - то не идет.
По-моему, логично. | актуально | В связи со скорым (3-4 года максимум) запилом альта СВ, проблема более чем актуальна | актуально |
К списку тем
|