From c324d26c3bd0ad01a40c20b6aca8b7d1605b4606 Mon Sep 17 00:00:00 2001 From: Dmitrii Bykov Date: Sun, 24 May 2026 15:22:59 +0300 Subject: [PATCH] =?UTF-8?q?canon:=20=D0=B7=D0=B0=D0=BA=D1=80=D1=8B=D0=BB?= =?UTF-8?q?=20TBD=20=D0=BF=D0=BE=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B8=20=D0=BE?= =?UTF-8?q?=D1=82=D1=86=D0=B0=20=D0=B8=20=D0=BF=D0=BE=D0=BB=D0=B8=D1=82?= =?UTF-8?q?=D0=B8=D0=BA=D0=B5=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B8=20=D0=B8?= =?UTF-8?q?=D0=B3=D1=80=D0=BE=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CHARACTERS.md: имя отца — НЕ называется в каноне ('Отец'), Wi-Fi пароль Sergey1975 теперь намеренная двусмысленность (отец или сосед?) - NAMING.md: политика ввода имени игрока — фильтр на мат RU/EN/транслит + ban титулов (повелитель/владыка/бог/king/lord/god) + ban брендов (valve/steam) + длина 2-24 + только буквы/цифры. После 3 запрещённых попыток — реплика отца за дверью. - Закрыты TBD: мать (разведена, Псков), регион (С./СПб), отец (Отец без имени). Остались только Андрюхина фамилия (раскрыть в финале) и мужик-листовочник (опц). --- canon/CHARACTERS.md | 4 ++-- canon/NAMING.md | 34 +++++++++++++++++++++++++++------- 2 files changed, 29 insertions(+), 9 deletions(-) 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)