farming-simulator/canon/NAMING.md
Dmitrii Bykov 48a90d290f
All checks were successful
Godot CI / Import + smoke test (push) Successful in 13s
canon: применил TBD-локи юзера + расширил эпилог реальными событиями 2022-2026
ИМЕНА (закрыто):
- Отец = Сергей (но в речи 'батя/отец')
- Майор = Шкалин (любые совпадения случайны)
- Толик/Толян — листовочник, исчезает 21.09.2022 (мобилизация, в каноне 'уехал в Тверь')
- Одноклассники: Сергий (через 'и') + Эдуард (не Эдик) + Андрюха
- Андрюхина фамилия — раскрывается в военкомате (эпилог 2023)

ПРОЛОГ-комменты юзера:
- Wi-Fi пароль qwerty + механика взлома (5 попыток Mastermind с другого устройства, easy-mode)
- 9 ШИЗО-пунктов лицензионного соглашения (юмор про душу/svchost/ИИ)
- Placeholder-имена в инпуте: bossiara13, fr3sh, neoLich, КошкоПовелитель (последний вычеркнут — отсылка к фильтру титулов)

ЭПИЛОГ:
- 30+ реальных событий 2022-2026 с точными датами: мобилизация 21.09.2022, FTX 11.11.2022, LBC закрытие 16.02.2023, Wagner марш 23-24.06.2023, ставка ЦБ скачки (7.5->12->16->21), CS2 27.09.2023, Spot BTC ETF 10.01.2024, теракт Крокус 22.03.2024, halving 20.04.2024, OFAC Мосбиржа 12.06.2024, YouTube блок 22.07.2024, ФЗ-221 майнинг 08.08.2024, Discord 10.2024, цифровой рубль 2025
- Параллельные тренды: тарифы ЖКХ +9% ежегодно с 1 июля, метро +5-10₽ ежегодно, иноагенты, военный сбор слухи
- Толик: 4 уровня оплаты засева (от 'хреново все' до 'другой мужик у шавермы')
2026-05-24 16:07:04 +03:00

109 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# NAMING.md — Словарь слэнга и единых написаний
**Правило:** во всех текстах, диалогах, UI, новостях, файлах — пишется ТОЛЬКО как здесь. Никаких вариаций ("Виндовс" вместо "Шиндовс" и т.п.).
---
## Бренды и сервисы (альт-канон)
| Каноничное | Прототип | Заметки |
|---|---|---|
| **Шиндовс** | Windows | Игровая ОС. Текущая версия в каноне: **Шиндовс 9**. Лого: 4 цветных квадрата БЕЗ блика/градиента, плоский. |
| **стеме** | Steam | С маленькой буквы. Домен скачки: `steme.su`. Big Picture — режим по умолчанию для нового аккаунта. |
| **тефе2** | Team Fortress 2 | F2P в стеме всегда. Канон Mannco/Australium-предметы. |
| **кесе го** | CS:GO | Есть Nonprime (бесплатно, против ботов/казуал) и Prime (платно, матчмейкинг). |
| **кесе 2** | CS2 | Сиквел кесе го. Выходит позже в таймлайне (см TIMELINE.md). |
| **Пабаджи** | PUBG | Платная. Кейсы 4/нед/аккаунт, ~Z/2 руб. |
| **Тегелрам** | Telegram | Открывается клавишей `T`. До первого школьного дня иконка серая. |
| **митуб** | YouTube | Источник гайдов. Алгоритм агрессивный. |
| **Гмыло** | Gmail | 3 почты в день, ручная капча, бана нет. |
| **First mail** | First mail | 100 почт в день, групповая капча, +10% шанс бана стеме-акк. Имя пишется латиницей. |
| **ВиТ** | (внутриигр.) | Фастфуд. В каноне существует ВСЮ игру (2020+), это НЕ привязка к реальной "Вкусно и Точка" из 2022. Подработка 3-6ч смена. |
## Жаргон фарма
| Каноничное | Что значит |
|---|---|
| **пека** | компьютер (системник или весь сетап) |
| **листовки** | подработка раздачей рекламы, мужик у Шаурмы |
| **курьер** | пешая доставка, средний заработок, высокая усталость |
| **кейс** | лутбокс. Цена базовая = `Z` (динамическая в игре). |
| **дроп** | выпадение предмета из кейса/еженедельной раздачи |
| **скин** | внутриигровой предмет |
| **контракер** | в каноне = слэнг для редкого Mannco-предмета из **тефе2**. **Австралиевый контракер** = Australium-tier (НЕ из кесе го!). |
| **прайм / нонпрайм** | платный / бесплатный статус в кесе го |
| **ачивка** | достижение |
| **инвентарь** | клавиша `I`, окно с предметами |
| **склад** | дроп-аккаунт куда отправляют предметы на 7 дней (заморозка) |
| **дроп-аккаунт** | стеме-аккаунт-приёмник для безопасного хранения |
| **фарм** | процесс заработка скинов (ручной мини-играми или автоматический через панель) |
| **панель** | анти-детект софт. См FMS ниже. |
| **волна (банов)** | массовая блокировка аккаунтов |
| **мелкая волна** | задевает часть аккаунтов с шансом (раз в месяц, мин. интервал 21 день) |
| **крупная волна** | заденет ВСЁ кроме защищённого. Всего 2 за игру. |
## FMS
**FMS** (Farm Management System) — вымышленная анти-детект-панель. Пишется ЗАГЛАВНЫМИ латиницей. Логотип: <TBD нарисую процедурно>.
- Аренда: 1500₽/месяц, +20% к шансу бана
- Покупка навсегда: цена `X` руб (см LORE.md), 1 панель = 1 устр-во, +20% бан
- Своя разработка: `5X` руб, защита от мелких волн пропорциональна вложениям (`7X` = иммунитет к мелким)
## Юридические/мемные
| Каноничное | Откуда |
|---|---|
| **ст. 273 УК.РФ** | "Создание, использование и распространение вредоносных компьютерных программ". Триггер появления Майора. |
| **товарищ Майор** | Полицейский. Интернет-мем "товарищ Майор всё знает". Приходит когда герой продаёт свою панель в Тегелраме. Один из вариантов Game Over. |
| **Сэр да Сэр** | Эвфемизм армии (Yes Sir, No Sir). Триггер: провальное обучение → отчисление → армия = Game Over. |
## Имена-маркеры (все локи)
- **Андрюха** / **Андрей** — друг героя, NPC. Пишется в зависимости от контекста: "Андрюхино" на флешке, "Андрюха" в реплике, "Андрей" в формальном тексте. Полная фамилия — раскрывается в военкомате (эпилог).
- **Андрей М. (Мишурин)** — пасхалка-фермер в TG-чате "Свои". НЕ то же что Андрюха. Не двигатель сюжета.
- **Отец = Сергей** — но в речи 99% "батя/отец". Полное имя — только в формальных контекстах.
- **Мама** — живёт в Пскове, связь через Тегерлам. Имя в каноне НЕ называется (пишется как контакт "Мама").
- **Осминог** (`@osminog_2k20`) — TG-советчик-наставник. В концепт-доке = "Товарищ" — **РЕТИРОВАНО**. Везде в каноне — **только "Осминог"**.
- **тов. майор Шкалин** — полиция. В скаМ-эпилоге `@major_official`. **СОВЕРШЕННО ДРУГОЙ персонаж**, не связанный с Осминогом. "Любые совпадения с реальными лицами случайны."
- **Толик / Толян** — мужик с листовками у шавермы.
- **Сергий** *(именно через "и")* — одноклассник-ботаник.
- **Эдуард** *(не Эдик)* — одноклассник-крутой.
### ⚠️ КРИТИЧНО: НЕ ПУТАТЬ
**Осминог ≠ тов. Майор.** Это два разных персонажа из разных миров (друг из будущего vs полицейский). Слово "товарищ" применительно к Осминогу — **не использовать**, чтобы избежать визуального слипания с "товарищ Майор".
## Стилистика реплик
- Внутренний монолог героя — `**жирный**` в md, **жирный полусеро-зелёный** в UI игры (TBD цвет).
- Диалоги — обычным шрифтом, формат `ПЕРСОНАЖ: — текст` (с длинным тире после двоеточия).
- Все реплики живые, без книжного русского. Сленг, многоточия, "ну", "ваще", "ё".
- Имя героя в диалогах — переменная `{playerName}`. Если NPC не знает имя — обращается "пацан", "слышь", "брат", "эй". После знакомства — по имени.
## Политика имени игрока (Акт 2 пролога) — ЗАЛОЧЕНО
При вводе `{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)