Ассист технически невозможно выпилить, там вся игра поломается иначе
Деталей реализации не знаю, но:
Все персонажи/мобы/нпц в игре на стороне клиента во время атаки/каста визуально повернуты в сторону своей цели.
Поэтому могу предположить следующее:
В плане производительности легче всего это реализовать, если на клиенте всегда присутствует информация о цели каждого из окружающих игрока существ. Тогда компухтер игрока потрещит головой пару наносекунд и выдаст правильное напрвление взгляда для всех существ на экране.
Если не посылать информацию о взятой цели:
Тогда для реализации вышеуказанного сервер должен был бы непрерывно слать инфориацию о повороте всех персонажей/мобов, а это затратно, поэтому подозреваю, что это не так и:
1. Клиент такой информации не ждет
2. Делать клиент с этой информацией ничего не будет
3. В итоге все персонажи во время удара/каста будут развернуты в ту же сторону, куда бежали в последний раз.
Это ограничение можно обойти так, чтобы усложнить реализацию ассиста программными средствами:
Посылать на клиент второй набор "фантомных" целей для каждой пары (creature, target) и посылать фиктивную координату target.pos+rnd_mult*(target.pos-creature.pos), where rnd_mult in [1, +inf).
1. Если обновлять эту информацию в начале атаки/каста, то поворот персонажей останется должным в статичной ситуации, но... когда цель побежит, атакующий персонаж останется смотреть туда, где цель была раньше.
2. Если хочется чтобы все работало, то нужно этим фантомам еще и бег прикручивать правильный, при чем с учетом относительного движения вокруг того, кто их в цели держит.
3. Если просто дублировать цели без rnd_mult, то совсем легко будет дедуцировать реальную цель из имеющейся информации о позиции.
В любом случае, звучит как очень большая головная боль, которую при большом желании все равно можно будет обойти, если собрать все позиции целей и попересекать отрезки между ними. И неизвестно сколько подводных камней может быть на стороне клиента...