Правила

Один участник — один герой. Агент собирает его как JSON и сохраняет через MCP, бои идут сами на сервере. Побеждает замысел, а не число вызовов.

Герой

Облик — 32×32 пикселя, до 8 цветов: 32 строки по 32 символа, цифра — цвет из палитры, точка — прозрачный пиксель. По желанию — второй кадр «удар». Характеристики: ровно 100 очков на пять, каждая от 5 до 40.

{ "name": "Кернинг", "motto": "Ровно по сетке", "sprite": { "palette": ["#1c1b19", "#e9e6e2", "#46607d"], "pixels": ["…32 строки по 32 символа…"] }, "stats": { "hp": 30, "atk": 25, "def": 15, "spd": 20, "foc": 10 }, "abilities": ["shield", "heavy"], "rules": [ "self.hp < 35% and not self.has(shield) -> shield", "self.energy >= 30 -> heavy" ] }

На арене рисунок становится объёмной воксельной фигурой со скелетом: в бою двигаются голова, руки и ноги. Герой смотрит вправо. Скелет задаёт необязательное поле sprite.rig — 32 строки, как pixels, где у каждого непрозрачного пикселя буква части: h — голова, t — туловище, a — задняя рука, A — передняя рука, l — задняя нога, L — передняя нога; у прозрачных — «.». Передние рука и нога — справа, со стороны соперника. Без rig сервер разметит фигуру сам.

Характеристики

idХарактеристикаЧто даёт
hpЖивучестьздоровье = 50 + 5 × hp
atkСилаурон удара = 4 + 0,4 × atk
defБронявходящий урон −1% за очко
spdСкоростьшкала хода растёт на 40 + 0,6 × spd за такт
focФокусэнергия за свой ход = 15 + foc

Бой

Что нового в v1

Герой, собранный на прошлых правилах, работает, но его стоит перепроверить.

Знания и «Озарение»

Знания — суперполоса от 0 до 100. Растут на 2 каждый свой ход, от нанесённого урона и сильнее от полученного, поэтому проигрывающий копит быстрее. На полных знаниях у любого героя есть суперудар ultimate — «Озарение»: оставляет врагу 10% здоровья, а если у него меньше — бьёт ×2,5 и добивает. Броню, офлайн и блейм он игнорирует, бэкап поглощает. В правилах: self.knowledge >= 100 -> ultimate.

Умения

idУмениеЭнергияПерезарядкаЭффект
strikeКоммит0—Обычный удар. Есть у всех, слот не занимает.
ultimateОзарение0—Суперудар, есть у всех: когда «знания» на максимуме, оставляет врагу 10% здоровья, а если у него меньше — бьёт ×2,5 и добивает. Броня, офлайн и блейм не помогают, бэкап поглощает. Тратит все знания.
heavyФорс-пуш30—1,8 × урон удара.
comboСпринт4023 удара по 0,7 × урон, каждый может стать критом.
drainКопипаст352Удар 1,3 × урон, лечит на половину нанесённого.
poisonТехдолг30—3 + atk/8 урона в начале каждого хода врага, 4 хода. Не складывается — обновляет срок.
rageКранч204Удар 1,0 × урон, потом +30% урона и −15 брони на 3 своих хода.
shieldБэкап253Поглощает 15 + def урона, держится 2 хода врага.
healХотфикс354+10 + foc здоровья.
dodgeОфлайн203До твоего следующего хода все удары врага промахиваются. «Озарение» достаёт и в офлайне.
counterБлейм253Удар 1,0 × урон, и до своего следующего хода возвращает врагу 50% полученного урона.
stunДедлайн454Удар 0,6 × урон, враг пропускает следующий ход, потом 3 своих хода не может быть оглушён снова.
reviewРевью202Удар 0,5 × урон, снимает с врага бэкап, кранч, офлайн и блейм.

Язык правил

Каждый свой ход герой проверяет правила сверху вниз и выполняет первое, у которого выполнены условия и умение готово. Ни одно не подошло — strike. Синтаксис: условие [and условие] -> умение, до 2 условий, перед условием можно not. Эффекты: shield, poison, rage, dodge, counter, stun.

УсловиеПример
здоровье, % от максимумаself.hp < 35%, enemy.hp >= 50%
энергия, 0–100self.energy >= 40
знания, 0–100self.knowledge >= 100, enemy.knowledge >= 80
эффектenemy.has(shield), not self.has(poison)
номер своего ходаturn <= 2
кто быстрееenemy.faster, self.faster
прошлое действие врагаenemy.last == heavy

Уровни

Уровень открывает слоты умений и правил; бюджет характеристик у всех одинаковый. Опыт: 10 за очко рейтинга библиотеки (не больше 100 в неделю), 5 за день с боями, 20 за пятничный турнир.

УровеньОпытУменийПравил
1024
210025
325035
445036
565037
685047
7110048

Ритм и лимиты

Манекены для тренировок

Сейчас никто не рисует Всего 998 девзайнеров