fix: auto-flow подарок, отец 180°, спавн кухни, лицензия, меню «ДРОП»
Some checks failed
Godot CI / Import + smoke test (push) Failing after 13s
Some checks failed
Godot CI / Import + smoke test (push) Failing after 13s
1. ОТЕЦ (поворот по фидбеку):
- Initial Transform3D повёрнут на 180° от предыдущего — теперь
лицом к игроку во время диалога.
- При уходе ещё +180° поворот → спиной к игроку → шагает к двери
не пятясь.
2. AUTO-FLOW КЛИКА ПО ПОДАРКУ:
- Раньше: клик подарок → молча появляется системник → клик
записку → overlay → клик дальше → монолог → ... Игрок терялся
между кликами, думал что баг (тёмный экран).
- Теперь: ОДИН клик подарка запускает ЦЕПОЧКУ:
«Системник. И записка сверху.» → overlay записки → «Бать ну
ты красавчик» → отец прощается → отец уходит → флешка готова.
Игрок просто кликает «дальше» на каждой реплике.
- note.set_interactable(false) — клик отдельно не нужен.
- _on_note_interacted остался как пустой callback для совместимости.
3. КУХНЯ — СПАВН:
- Был (0.5, 0, 1.0) — попадал внутрь стола (z=0.35..1.05).
Игрок застревал.
- Теперь (-0.5, 0, 1.2) — у двери возврата в комнату, далеко от
стола. Спавнится свободно.
4. КУХНЯ — 2-Я ДВЕРЬ:
- User спросил «куда отец ушёл — нет других дверей». Добавил
визуальную не-интерактивную дверь на северной стене
(Label3D «← прихожая»). Логически отец вышел через коридор.
5. ЛИЦЕНЗИЯ — НАЧАЛО:
- User: «начинается с п.7, а где 1-6». Добавил 7 нормально-
юридических пунктов 1.1-6.8 (про лицензию, неисключительные
права, дизассемблирование, «как есть», ответственность,
обязательства Пользователя) — ПЕРЕД ШИЗО-пунктами.
- Теперь читается как настоящее ЛС: нормальное-нормальное-
нормальное-ШИЗО-ШИЗО-ШИЗО, нарастающий абсурд.
6. HUD-ПОДСКАЗКА АВТО-ФЕЙД:
- Timer в DialogManager (one_shot, 8 сек по умолчанию).
- set_controls_hint() запускает таймер.
- По истечении — tween modulate.a 0.8 → 0.0 за 1.5 сек.
- Подсказка управления больше не висит вечно.
7. ГЛАВНОЕ МЕНЮ — НАЗВАНИЕ:
- Было: «FARMING SIMULATOR / Подросток-фермер CS/TF2/PUBG
кейсов · 2020-2026» (рабочее, пресно).
- Стало: «ДРОП» (32px, жёлтый акцент) / «Лето двадцатого года.»
(12px, серый). Лаконично, поэтично.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
d6acefdfa8
commit
7bda9c6ca1
7 changed files with 125 additions and 67 deletions
|
|
@ -125,28 +125,20 @@ func _on_player_unfocused() -> void:
|
|||
func _on_gift_interacted(_p: Node) -> void:
|
||||
if state != State.EXPLORE_GIFT:
|
||||
return
|
||||
state = State.INSIDE_GIFT
|
||||
state = State.NOTE_READ
|
||||
GameState.act1_gift_opened = true
|
||||
GameState.act1_note_read = true
|
||||
gift_box.set_interactable(false)
|
||||
gift_box.visible = false
|
||||
system_unit.visible = true
|
||||
note.visible = true
|
||||
DialogManager.clear_prompt()
|
||||
|
||||
# Обратная связь на клик — иначе игрок жмёт в пустоту и не понимает что произошло
|
||||
await DialogManager.think("Системник. И записка сверху.")
|
||||
note.set_interactable(true)
|
||||
DialogManager.set_objective("Прочитай записку")
|
||||
|
||||
|
||||
func _on_note_interacted(_p: Node) -> void:
|
||||
if state != State.INSIDE_GIFT:
|
||||
return
|
||||
state = State.NOTE_READ
|
||||
GameState.act1_note_read = true
|
||||
note.set_interactable(false)
|
||||
DialogManager.clear_prompt()
|
||||
DialogManager.set_objective("Прочитай записку")
|
||||
|
||||
# Авто-цепочка: системник → записка → монолог → отец прощается → уходит
|
||||
# Без отдельных кликов на записку — это путало игрока
|
||||
await DialogManager.think("Системник. И записка сверху.")
|
||||
await DialogManager.show_note("«Не сожги. Пароль от Wi-Fi на холодильнике. — Бать»")
|
||||
await DialogManager.think("Бать ну ты красавчик конечно.")
|
||||
|
||||
|
|
@ -163,6 +155,12 @@ func _on_note_interacted(_p: Node) -> void:
|
|||
DialogManager.set_objective("Возьми флешку с Шиндовс")
|
||||
|
||||
|
||||
func _on_note_interacted(_p: Node) -> void:
|
||||
# Auto-flow в _on_gift_interacted делает записку автоматически.
|
||||
# Эта callback оставлена для совместимости signal connections.
|
||||
pass
|
||||
|
||||
|
||||
func _walk_father_out() -> void:
|
||||
# Отец поворачивается лицом к двери (восток = +X) и шагает в неё
|
||||
var leg_l: Node3D = father.get_node("LegL")
|
||||
|
|
@ -170,9 +168,10 @@ func _walk_father_out() -> void:
|
|||
var arm_l: Node3D = father.get_node("ArmL")
|
||||
var arm_r: Node3D = father.get_node("ArmR")
|
||||
|
||||
# Поворот корпуса к двери (Y rotation -90° → лицом на восток)
|
||||
# Поворот корпуса спиной к игроку (180° от текущего лица-к-игроку)
|
||||
# Игрок видит как отец отворачивается и идёт к двери
|
||||
var turn_tween: Tween = create_tween()
|
||||
turn_tween.tween_property(father, "rotation:y", -PI / 2.0, 0.3)
|
||||
turn_tween.tween_property(father, "rotation:y", PI / 2.0, 0.3)
|
||||
await turn_tween.finished
|
||||
|
||||
# Шагание: 4 шага по 0.35 сек, общий путь 1.0 м на восток
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ const TIMEZONES: Array[String] = [
|
|||
|
||||
const LICENSE_SHORT: String = "[center][b]Лицензионное соглашение Шиндовс 9[/b][/center]\n\nНажимая «Принять», Вы соглашаетесь с условиями использования операционной системы Шиндовс-Корп.\n\nДля просмотра полного текста нажмите «Читать»."
|
||||
|
||||
const LICENSE_FULL: String = "[center][b]Лицензионное соглашение Шиндовс 9 (полная версия)[/b][/center]\n\n[i]п. 7.3.2[/i] Этот персональный компьютер, на который Вы устанавливаете ПО, формально остаётся собственностью корпорации Шиндовс-Корп до момента окончательной выплаты Вашей души (далее — Душа).\n\n[i]п. 11.4[/i] Корпорация оставляет за собой право в любой момент запустить процесс «svchost.exe» с приоритетом «realtime». Жалобы не принимаются.\n\n[i]п. 12.1[/i] Все ваши скриншоты могут быть использованы в обучении ИИ, который заменит Вас на работе к 2027 году. Согласие подразумевается.\n\n[i]п. 15.7[/i] Корпорация молча переустановит Защитник раз в сутки, если установлен сторонний антивирус.\n\n[i]п. 18.0[/i] Раз в год Ваш рабочий стол может быть перемещён в облако. Восстановление платное.\n\n[i]п. 21.3[/i] Корпорация не несёт ответственности за случаи, когда после обновления у Вас перестаёт работать звук, мышь или Wi-Fi. Это нормально. Перезагрузитесь.\n\n[i]п. 23.9[/i] Все приложения могут наблюдать друг за другом и отправлять телеметрию в Облако. Облако — это не место, а состояние ума.\n\n[i]п. 27.1[/i] Нажав «Принять», Вы соглашаетесь не читать это соглашение. Если Вы дочитали до этого пункта — Вы нарушили условия."
|
||||
const LICENSE_FULL: String = "[center][b]Лицензионное соглашение Шиндовс 9 (полная версия)[/b][/center]\n\n[i]п. 1.1[/i] Настоящее Лицензионное соглашение является обязывающим юридическим документом между Вами (далее — Пользователь) и корпорацией Шиндовс-Корп (далее — Корпорация).\n\n[i]п. 1.2[/i] Установив, скопировав, загрузив или иным образом используя ПО Шиндовс 9, Пользователь подтверждает согласие с условиями настоящего соглашения в полном объёме.\n\n[i]п. 2.1[/i] Корпорация предоставляет Пользователю неисключительную, непередаваемую, отзываемую лицензию на использование ПО на одном персональном устройстве.\n\n[i]п. 3.4[/i] Запрещается дизассемблировать, декомпилировать или иным образом изучать внутреннюю работу ПО, кроме случаев, прямо разрешённых законодательством.\n\n[i]п. 4.2[/i] Корпорация оставляет за собой право обновлять, модифицировать или прекращать поддержку ПО в любое время без предварительного уведомления.\n\n[i]п. 5.1[/i] ПО предоставляется «как есть». Корпорация не несёт ответственности за любые прямые, косвенные или сопутствующие убытки, возникшие в результате использования ПО.\n\n[i]п. 6.8[/i] Пользователь обязуется не использовать ПО для деятельности, противоречащей законодательству страны проживания Пользователя.\n\n[i]п. 7.3.2[/i] Этот персональный компьютер, на который Вы устанавливаете ПО, формально остаётся собственностью корпорации Шиндовс-Корп до момента окончательной выплаты Вашей души (далее — Душа).\n\n[i]п. 11.4[/i] Корпорация оставляет за собой право в любой момент запустить процесс «svchost.exe» с приоритетом «realtime». Жалобы не принимаются.\n\n[i]п. 12.1[/i] Все ваши скриншоты могут быть использованы в обучении ИИ, который заменит Вас на работе к 2027 году. Согласие подразумевается.\n\n[i]п. 15.7[/i] Корпорация молча переустановит Защитник раз в сутки, если установлен сторонний антивирус.\n\n[i]п. 18.0[/i] Раз в год Ваш рабочий стол может быть перемещён в облако. Восстановление платное.\n\n[i]п. 21.3[/i] Корпорация не несёт ответственности за случаи, когда после обновления у Вас перестаёт работать звук, мышь или Wi-Fi. Это нормально. Перезагрузитесь.\n\n[i]п. 23.9[/i] Все приложения могут наблюдать друг за другом и отправлять телеметрию в Облако. Облако — это не место, а состояние ума.\n\n[i]п. 27.1[/i] Нажав «Принять», Вы соглашаетесь не читать это соглашение. Если Вы дочитали до этого пункта — Вы нарушили условия."
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue