diff --git a/canon/CHARACTERS.md b/canon/CHARACTERS.md index cf1cce1..241fbf8 100644 --- a/canon/CHARACTERS.md +++ b/canon/CHARACTERS.md @@ -26,9 +26,9 @@ ## Отец героя -**Имя:** +**Имя:** **"Отец"** — собственное имя НЕ называется. В диалогах он сам, мама в TG, Андрюха — все обращаются к нему обобщённо ("папа", "Сергей Иваныч" — со стороны учительницы, но без подтверждения, "ваш отец"). Канон-лок. Это абстрактная фигура — фокус на отношениях, не на персоналии. **Возраст:** 40-45 лет -**Профессия:** работа с железом / завод / автосервис — что объясняет умение собрать пек. +**Профессия:** работа с железом / завод / автосервис — что объясняет умение собрать пек. Конкретное место работы не указывается в каноне. (Wi-Fi пароль `Sergey1975` на холодильнике — намёк, можно интерпретировать или как отца, или как соседа/племянника. Намеренная двусмысленность.) **Манера речи:** лаконично, иронично, без сюсюканья. Длинные фразы редко. Любит подколы. **Образец реплики:** "Распаковывай давай. Сам собирал. Если запорешь — сам и переставляй." **Отношение к герою:** жёсткое, но любящее. Видит что сын "ищет себя", не лезет в подробности. diff --git a/canon/NAMING.md b/canon/NAMING.md index 55e957d..faa42ec 100644 --- a/canon/NAMING.md +++ b/canon/NAMING.md @@ -74,11 +74,31 @@ - Все реплики живые, без книжного русского. Сленг, многоточия, "ну", "ваще", "ё". - Имя героя в диалогах — переменная `{playerName}`. Если NPC не знает имя — обращается "пацан", "слышь", "брат", "эй". После знакомства — по имени. -## TBD (требует решения с юзером) +## Политика имени игрока (Акт 2 пролога) — ЗАЛОЧЕНО -- Полное имя/фамилия Андрюхи -- Имя отца героя (или оставить "Отец"?) -- Есть ли мать в каноне -- Имя мужика-листовочника -- Регион/город (безымянный областной центр / конкретный?) -- Цвет внутреннего монолога в UI +При вводе `{playerName}` в установке Шиндовс — **фильтрация на ходу**: + +### Запрещено +- **Мат и оскорбления** (русский + транслит + английский). Список base из общедоступных профанити-словарей + расширения по обнаруженным обходам. +- **Титулы/звания:** "повелитель", "владыка", "царь", "император", "бог", "святой", "лорд", "мастер", "boss", "king", "lord", "god", "master", "emperor". +- **Бренды:** "valve", "steam", "google" и т.п. — нельзя. +- **Длина:** мин 2, макс 24 символа. +- **Спец-символы:** только буквы (RU/EN) и цифры, без `<>!@#$%^&*()`. + +### Реализация +- Локальный blacklist regex в `scripts/input_filter.gd` +- При вводе — подсветка красным + tooltip "имя не подходит, попробуй другое" +- Не блокирует кнопку "Готово" пока имя не пройдёт фильтр + +### Юмор +Если игрок упорно вводит запрещённое 3 раза подряд — отец из-за двери: +> *"Слушай... выбери себе имя как нормальный человек уже."* + +## TBD (что осталось — не блокирует код) + +- Полное имя/фамилия Андрюхи (можно открыть в финале) +- ~~Имя отца~~ → **ЗАКРЫТО: остаётся "Отец"**, см CHARACTERS.md +- ~~Есть ли мать~~ → ЗАКРЫТО: есть, разведена, живёт в Пскове +- Имя мужика-листовочника (или оставить "Мужик в кепке" — тоже опция) +- ~~Регион/город~~ → ЗАКРЫТО: "С." = абстрактный СПБ +- Цвет внутреннего монолога в UI (решим при кодинге Акта 1)