Но лучше разделить NPC как персонажей для общения и мобов как боевые сущности. Они могут быть связаны, но технически это разные роли.
Самый практичный вариант:
1. NPC в ролевой
NPC живёт в локации: бармен, страж, разбойник, зверь, патрульный. С ним можно говорить, он может выдать миссию, предупредить, напасть или вызвать бой.
2. Моб в бою
Когда начинается драка, система создаёт “боевую копию” NPC: имя, аватар, характеристики, HP, чакра, техники, поведение. Эта копия добавляется в бой как участник, но без пользователя-владельца.
3. Где происходит бой
Есть два варианта:
`В ролевой теме`: красиво для простых сцен, но сложно считать боёвку.
`В модуле боёв`: правильнее для механики, статов, HP, чакры, техник и судейства.
Я бы делал так: встреча и агрессия происходят в ролевой, а сам бой создаётся в модуле боёв. В теме появляется пост: “Разбойник напал”, кнопка `Начать бой`, и открывается бой с мобом.
Возможные уровни реализации:
1. Простой моб
Админ создаёт моба: имя, аватар, уровень, статы, HP/чакра, набор техник, награда. Игрок жмёт “сразиться”, создаётся бой. Ходы моба пишет админ/экзаменатор вручную. Это самый надёжный старт.
2. Полуавтоматический моб
Моб имеет шаблон поведения: агрессивный, осторожный, защитный, зверь, ниндзя. Система предлагает действие моба, но экзаменатор подтверждает. Это хороший баланс: меньше нагрузки, но без хаоса от ИИ.
3. Автобой с мобом
Система сама выбирает действия и считает результат. Это сложно и рискованно, потому что у вас ролевая боёвка текстовая, с судейством и контекстом. Я бы не начинал с этого.
4. NPC через ИИ
NPC может писать реплики и описывать намерение атаки, но финальное боевое действие лучше всё равно подтверждать экзаменатором. ИИ можно использовать как “режиссёр постов”, а не как судью.
Как встроить в текущую систему:
- Добавить сущность `roleplay_mobs` или расширить NPC: `can_fight`, `mob_level`, `stats`, `hp`, `chakra`, `techniques`, `reward`.
- В локациях добавить “возможные встречи”: какие мобы могут появиться в этой теме/разделе.
- В теме сделать кнопку/событие `Встретить противника` или автоматический шанс после поста.
- При встрече создаётся `battle` с участником типа `mob`.
- В бою участник-моб отображается рядом с персонажами, но без пользователя.
- После победы выдаётся награда: опыт, рё, предмет, прогресс миссии.
- Если моб связан с миссией, победа засчитывает этап задания.
Главная развилка:
Если нужны сюжетные бои с красивыми постами, моб должен жить в ролевой, а бой идти через экзаменатора.
Если нужны фарм/прокачка/активности, нужен отдельный слой мобов в боёвке: быстро создать бой, победить, получить награду.
Я бы делал поэтапно:
1. Сначала “моб как участник боя” вручную управляемый админом/экзаменатором.
2. Потом привязка мобов к локациям.
3. Потом награды и связь с миссиями.
4. Потом ИИ-реплики/полуавтоматические действия.
общедоступный
Комментарии
Чтобы оставить комментарий, войдите в аккаунт.