Как создать ульт, как у миппо из доты. Чтоб при изучении способности создавался такой же подконтрольный юнит с такими же предметами, уровнем и т.д с их последующей синхронизацией, кроме, например, расходников до конца игры

Механика непростая, в любом случае, реализация может быть любой. Вот как пример
  1. При изучении пассики на клона
сохраняем кастера;
дабавляем кастера в группу клонов, если он не в ней;
создаём копию;
создаём эффект появления;
заносим в общую группу с кастером;
устанавливаем уровень равный уровню кастера;
блокируем получения опыта;
удаляем абилку, которая спавнит клонов;
Устанавливаем все абилки, которые есть у кастера, клону на тот же уровень (это я пропустил, впиши свои абилки просто)
копируем все итемы
  1. Если умирает любой юнит из группы, то убиваем всю группу
  1. Когда главный клон повышает уровень, то повышаем его у всей группы
  1. Синхронизируем предметы
когда любой из группы получает предмет, проверяем, что это не расходник (класс не равен "имеющий заряды");
что бы не делать велосипед, запрещаем клонам подбирать любые предметы, кроме расходнив, если юнит подобравший итем не главный кастер, то сразу его выбрасываем;
иначе просто пересоздаем заново все предметы для клонов;
при этом, если у клона есть расходники, то вместо удаления, выбрасываем его, и заставляем подобрать после копирования предметов кастера;
таким образом, если у клона останется слоты после копирования итемов главного клона, то он подберет все свои расходники, иначе они просто будут лежать под ним.
П.с. не мешало бы ещё итемы, которые мы добавляем клонам, сделать невыбрасываемыми этой строчкой. Таким образом, клоны смогут подбирать и выбрасывать только расходники, а основные предметы будут синхронизированы с главным клоном
п.с.2. ещё надо сделать триггер, когда главный клон изучает абилку (или повышает её уровень), то устанавливать уровень способности клонов на уровень абилки главного клона.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
12
Механика непростая, в любом случае, реализация может быть любой. Вот как пример
  1. При изучении пассики на клона
сохраняем кастера;
дабавляем кастера в группу клонов, если он не в ней;
создаём копию;
создаём эффект появления;
заносим в общую группу с кастером;
устанавливаем уровень равный уровню кастера;
блокируем получения опыта;
удаляем абилку, которая спавнит клонов;
Устанавливаем все абилки, которые есть у кастера, клону на тот же уровень (это я пропустил, впиши свои абилки просто)
копируем все итемы
  1. Если умирает любой юнит из группы, то убиваем всю группу
  1. Когда главный клон повышает уровень, то повышаем его у всей группы
  1. Синхронизируем предметы
когда любой из группы получает предмет, проверяем, что это не расходник (класс не равен "имеющий заряды");
что бы не делать велосипед, запрещаем клонам подбирать любые предметы, кроме расходнив, если юнит подобравший итем не главный кастер, то сразу его выбрасываем;
иначе просто пересоздаем заново все предметы для клонов;
при этом, если у клона есть расходники, то вместо удаления, выбрасываем его, и заставляем подобрать после копирования предметов кастера;
таким образом, если у клона останется слоты после копирования итемов главного клона, то он подберет все свои расходники, иначе они просто будут лежать под ним.
П.с. не мешало бы ещё итемы, которые мы добавляем клонам, сделать невыбрасываемыми этой строчкой. Таким образом, клоны смогут подбирать и выбрасывать только расходники, а основные предметы будут синхронизированы с главным клоном
п.с.2. ещё надо сделать триггер, когда главный клон изучает абилку (или повышает её уровень), то устанавливать уровень способности клонов на уровень абилки главного клона.
Загруженные файлы
Принятый ответ
32
Там код достаточно муторный, создается при изучении ульта триггер который следит за смертями, опытом и сапогами, остальное там в левых системах реализовано.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.