Всем привет,
вопрос: есть ли функция в Jass, которая возвращала бы true, если способность можно использовать, и false, если способность нельзя использовать. Если да, то можно ли разграничить эту невозможность использования, т.е. отслеживать причину невозможности каста (не хватает маны, способность в кулдауне, сам кастер в стане, нет в наличии способности и т.д.)
Если нет, какие мысли по поводу создания такой функции?

Принятый ответ

А вот с кд я не знаю.
Привязываешь к определённому типу способности срок её кд. Когда способность применяется, это значит, что способность ушла в кд и устанавливаешь таймер на время её кд. Когда таймер истёк, это значит, что с этого момента способность больше не в кд.
Ambruziy:
не хватает маны
Привязываешь к определённому типу способности количество маны, которую она требует для применения. Если требуемое количество маны больше или равно текущему количеству маны самого кастера, значит маны для применения достаточно.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
7
9 лет назад
0
naxim, в общем "база данных в помощь") Да, видимо только так и можно.
0
28
9 лет назад
0
Ambruziy, что за бред ты несёшь
считаем что юнит может применить способность
если ии решил что юнит должен её применить то применяем
если скил не кастанулся то запускаем другую ветку
2
7
9 лет назад
2
nvc123, мне нужно узнать возможность каста способности не только в данный момент времени, но например через N секунд, т.е. через БД это можно узнать, как сказал naxim. Нужно, чтобы ИИ прогнозировал наперед свои возможности. Например в цепочке решений у него могут быть несколько действий, а ля "каст огненный шар" - "бежать к цели" - "удар с ноги", если он заведомо не сможет кастануть "удар с ноги" через определенное время (пока кастует огненный шар + пока бежит к цели), то ему имеет смысл пересмотреть свою логику, и выбрать, к примеру, "каст огненный шар" - "отступать" - "хил". И т.д. Поэтому и нужны источники невозможности каста (если маны мало - путь развития с восстановлением маны, если в параличе - снять паралич и т.д.) Надеюсь теперь описал понятно для чего. Суть не в этом, для чего использовать, это дело второе, сначала надо понять как это получить.
0
25
9 лет назад
0
Всякие параличи/сайленсы/станы - проверка на уровень бафа (способности).
Остальное сказали выше.
0
7
9 лет назад
0
Ancient, в общем, да, ответ на вопрос есть. Можно тему закрывать. Если кто-то найдет еще альтернативные способы БД, прошу писать в личку)
0
28
9 лет назад
0
Ambruziy, ну так закрой ты же афтар
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.