Хотелось бы знать какие пути решения без использования отдельных массивов/хэштэйбла видит кто-либо для разрешения ситуации следующего характера:
Скилл поражает цели в выбранной зоне и оставляет даммика, находясь возле которого юниты, задетые заклинанием, получают урон. В один момент времени может существовать хоть с десяток таких даммиков, но они должны наносить повреждения лишь целям, задетыми заклинанием их создателя. Проверка на бафф не актуальна, поскольку два таких кастера будут перебивать баффы друг друга.
В данный момент под каждый каст скилла выделяется перерабатываемая группа на время жизни этого скилла, которая содержит юнитов, задетых этим конкретным кастом, а также группа, содержащие все цели, пораженные этими же заклинаниями кастера. Поскольку нельзя добавить в группу юнита, который уже содержится в ней, нерешенным остается вопрос о том, как же удалять юнита из второй группы, только когда он не содержится в первых группах. Сейчас на ум приходит только выделение, скажем, 64 перерабатываемых элементов параллельных массивов юнит+интегер, куда в интегер записывается число групп, в которых содержится юнит. Солюшн весьма хреновый, поскольку придется каждый раз искать этого юнита в 64 элементах массива...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
22
7 лет назад
0
А зачем? И что к чему, собственно?
0
26
7 лет назад
0
которая содержит юнитов, задетых этим конкретным кастом, а также группа, содержащие все цели, пораженные этими же заклинаниями кастера
и зачем тебе 2 группы? храни одну на каждого игрока
0
28
7 лет назад
0
немного не понял по поводу того что должно быть
1 каст спелла - 1 даммик?
если 2 спела одновременно попали на 1 юнита то они оба дамажат или только 1 из них?
0
18
7 лет назад
0
nvc123, Стакающийся эффект.
разве баффы нельзя разбить на лвлы? Тогда и лвл баффа юзать как множитель.
0
22
7 лет назад
0
Если урон от одного игрока складывается при нескольких применениях скила, то:
КОгда кастуется эта способность, делам переменную типа integer cast count = cast count +1
Юнит кастер[cast count] = GetSpellAbilityUnit()
Группа юнитов[cast count] = юниты которых надо дамажить
И в триггере с переодиком через цикл перебираем от 1 до cast count
в нём перебираем юнитов в определённой группе и в каждой группе наносим урон от кастера всем юнитам в этой группе.
В итоге: способность можно кастовать любое количество раз, разными героями, а также складывается урон от 1 перса.
Если нужно, чтобы урон не складывался, то тогда для одного героя 1 группа, или проще для игрока, так как герой такой у игрока будет 1 скорее всего
Hate:
храни одну на каждого игрока
0
20
7 лет назад
Отредактирован Diaboliko
0
немного не понял по поводу того что должно быть
1 каст спелла - 1 даммик?
если 2 спела одновременно попали на 1 юнита то они оба дамажат или только 1 из них?
Тогда дамажат с течением времени оба даммика. Если было бы скастованно в одну точку 2 таких скилла и лишь один из них задел бы цель - цель бы получала урон от обоих даммиков. Если ни одного - могла бы спокойно гулять возле даммиков. Если бы два разных кастера скастовали скилл в одну точку и только один из них задел бы цель - цель получала бы урон от даммика кастера, который ее задел.
Proshel_Doty:
Если урон от одного игрока складывается при нескольких применениях скила, то:
КОгда кастуется эта способность, делам переменную типа integer cast count = cast count +1
Юнит кастер[cast count] = GetSpellAbilityUnit()
Группа юнитов[cast count] = юниты которых надо дамажить
И в триггере с переодиком через цикл перебираем от 1 до cast count
в нём перебираем юнитов в определённой группе и в каждой группе наносим урон от кастера всем юнитам в этой группе.
В итоге: способность можно кастовать любое количество раз, разными героями, а также складывается урон от 1 перса.
Если нужно, чтобы урон не складывался, то тогда для одного героя 1 группа, или проще для игрока, так как герой такой у игрока будет 1 скорее всего
Hate:
храни одну на каждого игрока
Во-первых, я с тем же успехом наношу урон от даммиков через ForGroup внутри ForGroup.
Во-вторых, суть именно том, чтобы попав под бафф такого каста юнит старался избегать созданных даммиков до окончания времени действия мнимого баффа. Мнимого - поскольку реальный бафф будет перебиваться, например, таким же юнитом союзника. Если желаемого адекватного решения возникшей проблемы не возникнет - скорее всего прибегну к этому решению.
mishanka122:
nvc123, Стакающийся эффект.
разве баффы нельзя разбить на лвлы? Тогда и лвл баффа юзать как множитель.
Как упоминалось в этом посте - такой вариант реализации не желателен.
0
22
7 лет назад
Отредактирован PROSHELDOTU
0
Во-вторых, суть именно том, чтобы попав под бафф такого каста юнит старался избегать созданных даммиков до окончания времени действия мнимого баффа. Мнимого - поскольку реальный бафф будет перебиваться, например, таким же юнитом союзника. Если желаемого адекватного решения возникшей проблемы не возникнет - скорее всего прибегну к этому решению.
Честно, ничего не понял
Особенно сути этих даммиков, ты бы хоть способность описал, что она делает...
Diaboliko:
наношу урон от даммиков
Я бы так не делал, хотя бы потому, что тогда такой предмет как Octarine Core как в доте2 (ну суть понятна - хилит от способностей) не будет просто хилить героя из-за того, что не он наносит урон.
Это на всякий, а пока ещё раз скажу, что вообще не понятно, что за способность ты делаешь и суть этих даммиков
Кинь описание
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.