Наверно каждое умения - будет отдельным классом (вскоре если овладею динамически-подключаемыми библиотеками то каждый скилл это отдельная библиотека, а пока только статика)
class <Название умения> {
...
}
Каждое умения имеет свой тип как универсальный параметр для всех скиллов:
- Пассивная способность.
- Ненаправляемая.
- Направвляемая
- в случайную клетку
- на врагов
- на союзников
- общая
- на пустые поля
От типа умения зависит не только структура самого класса умения, но и структура класса персонажа который использует его.
Кроме типа универсальными будут:
- Иконка.
- Описания скилла (описания считывается из файла, кроме того текст будет с атрибутами типа <red>Заблокировать удар<red>, то есть текст "Заблокировать удар" - будет подсвечиваться красным, иными словами, собственный мини-браузер, работает из собственным мини-HTML )
- Название умения.
- Размещение иконки, названия, описания.
- Функция рисования постоянных элементов (иконки, названия, описания).
Поскольку общих характеристик хватает, то позднее, если скиллов будет около 10 - сделаю родительский класс и унаследую от него. Пока только 2 умения.
Для начала мне нужно сделать пока этих два существующих скилла, потом буду от них отталкиваться.
Для анимации срабатывания скиллов, будет задействован не только персонаж (у каждого анимация для 1 и 2-го умения, не зависящая от самого умения), но и само умения (в центре экрана быстро появляется большая иконка умения, и чуть медленнее исчезает (если есть идеи получше - пишите!) все это сопровождается звуком).