farming-simulator/scenes/prologue/act1_room.tscn
Dmitrii Bykov c3190ad058
Some checks failed
Godot CI / Import + smoke test (push) Failing after 29s
prologue: целиком Акт 1 (комната+кухня) + Акт 2 (установка)
ИНФРАСТРУКТУРА:
- GameState autoload: player_name, прогресс актов, ачивки.
- SceneManager autoload: change_scene с deferred переключением,
  shortcuts go_room/go_kitchen/go_install.
- TextureGen autoload: процедурные pixel-art ImageTexture через
  Image.set_pixel, кешируются в Dictionary. Текстуры: wallpaper
  (бежевая с растительным узором), linoleum (полосы паркета),
  ceiling (побелка с шумом), wall_carpet (бордовый с ромбами),
  blanket (тёмно-синее со звёздами), poster_csgo (жёлтый с
  силуэтом AWP), poster_morgen (тёмно-красный с головой),
  door (дерево с волокном), desk_white, book_color(0-4).

АКТ 1 КОМНАТА (act1_room.tscn / act1.gd):
- Все стены/пол/потолок/ковёр/одеяло/постеры/стол/дверь теперь
  с процедурными текстурами через TextureGen.apply_to_material с
  правильным uv1_scale. Texture filter NEAREST для пиксель-арта.
- Door interactable добавлен в east-wall (рядом с DoorPanel).
  Включается после ухода отца. Клик → переход на кухню.
- GameState persists прогресс — возврат из кухни не повторяет интро.
- _setup_post_intro_state восстанавливает SEEK_DRIVE после кухни.
- После подбора флешки — переход на act2_install.

АКТ 1 КУХНЯ (act1_kitchen.tscn / act1_kitchen.gd):
- 3×3м комнатка с холодильником «Атлант», плитой (4 ручки красные),
  столешницей+раковиной, чайником, столом+2 стула, окном+радиатором.
- Wi-Fi записка приклеена на холодильнике, читается → ачивка
  «Wi-Fi разведчик» + GameState.wifi_password_found = true.
- Дверь обратно в комнату — SceneManager.go_room().
- Текстуры через TextureGen.

АКТ 2 УСТАНОВКА ШИНДОВС (act2_install.tscn / act2_install.gd):
- Полная 2D-сцена с 7 шагами state machine:
  BOOT (4 квадратика логотипа 1.6 сек) → LICENSE_INTRO →
  LICENSE_FULL (по «Читать») → DISK → USERNAME → PASSWORD →
  TIMEZONE → INSTALLING (5 фаз прогресс-бара 3 сек) → COMPLETE.
- ШИЗО-пункты лицензионки: 7.3.2, 11.4, 12.1, 15.7, 18.0, 21.3,
  23.9, 27.1 (полный текст из канона Пролог Акт 2).
- Ввод имени с валидацией: 2-24 символа, regex буквы+цифры,
  ban-list титулов (повелитель/владыка/бог/лорд/царь) и мата.
- Подсказка-плейсхолдеры из канона: bossiara13, fr3sh_n3kit и т.п.
- Пароль с чекбоксом «Без пароля» + ачивки «Главное чтоб удобно»
  (123/qwerty/empty) и «Параноик» (12+ символов со спец).
- Часовой пояс OptionButton с 7 регионами страны Р, UTC+3 default.
- Welcome-экран после установки: «Добро пожаловать, {playerName}».
- Кнопка «Запустить стеме» — заглушка Акта 3.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:50:26 +03:00

583 lines
19 KiB
Text

[gd_scene load_steps=77 format=3]
[ext_resource type="Script" path="res://scripts/prologue/act1.gd" id="1_act1"]
[ext_resource type="Script" path="res://scripts/interactables/interactable.gd" id="2_int"]
[ext_resource type="PackedScene" path="res://scenes/components/player_fpv.tscn" id="3_player"]
[sub_resource type="BoxMesh" id="mesh_floor"]
size = Vector3(4, 0.1, 4)
[sub_resource type="BoxShape3D" id="shape_floor"]
size = Vector3(4, 0.1, 4)
[sub_resource type="BoxMesh" id="mesh_wall_ns"]
size = Vector3(4, 2.5, 0.1)
[sub_resource type="BoxShape3D" id="shape_wall_ns"]
size = Vector3(4, 2.5, 0.1)
[sub_resource type="BoxMesh" id="mesh_wall_ew"]
size = Vector3(0.1, 2.5, 4)
[sub_resource type="BoxShape3D" id="shape_wall_ew"]
size = Vector3(0.1, 2.5, 4)
[sub_resource type="BoxMesh" id="mesh_window"]
size = Vector3(1.5, 1.0, 0.06)
[sub_resource type="BoxMesh" id="mesh_window_frame_h"]
size = Vector3(1.6, 0.06, 0.08)
[sub_resource type="BoxMesh" id="mesh_window_frame_v"]
size = Vector3(0.06, 1.1, 0.08)
[sub_resource type="BoxMesh" id="mesh_windowsill"]
size = Vector3(1.7, 0.06, 0.18)
[sub_resource type="BoxMesh" id="mesh_radiator"]
size = Vector3(1.0, 0.5, 0.1)
[sub_resource type="BoxMesh" id="mesh_door"]
size = Vector3(0.06, 2.0, 1.0)
[sub_resource type="BoxShape3D" id="shape_door"]
size = Vector3(0.06, 2.0, 1.0)
[sub_resource type="BoxMesh" id="mesh_desk"]
size = Vector3(1.5, 0.7, 0.6)
[sub_resource type="BoxShape3D" id="shape_desk"]
size = Vector3(1.5, 0.7, 0.6)
[sub_resource type="BoxMesh" id="mesh_old_pc"]
size = Vector3(0.25, 0.4, 0.3)
[sub_resource type="BoxMesh" id="mesh_keyboard"]
size = Vector3(0.4, 0.03, 0.15)
[sub_resource type="BoxMesh" id="mesh_bed"]
size = Vector3(2.0, 0.4, 1.0)
[sub_resource type="BoxShape3D" id="shape_bed"]
size = Vector3(2.0, 0.4, 1.0)
[sub_resource type="BoxMesh" id="mesh_blanket"]
size = Vector3(1.95, 0.06, 0.95)
[sub_resource type="BoxMesh" id="mesh_pillow"]
size = Vector3(0.5, 0.1, 0.25)
[sub_resource type="BoxMesh" id="mesh_wall_carpet"]
size = Vector3(1.4, 1.0, 0.02)
[sub_resource type="BoxMesh" id="mesh_poster"]
size = Vector3(0.4, 0.5, 0.02)
[sub_resource type="BoxMesh" id="mesh_shelf"]
size = Vector3(0.3, 1.7, 1.0)
[sub_resource type="BoxShape3D" id="shape_shelf"]
size = Vector3(0.3, 1.7, 1.0)
[sub_resource type="BoxMesh" id="mesh_book"]
size = Vector3(0.22, 0.04, 0.18)
[sub_resource type="BoxMesh" id="mesh_book_thick"]
size = Vector3(0.22, 0.08, 0.18)
[sub_resource type="BoxMesh" id="mesh_gift"]
size = Vector3(0.5, 0.4, 0.5)
[sub_resource type="BoxShape3D" id="shape_gift"]
size = Vector3(0.5, 0.4, 0.5)
[sub_resource type="BoxMesh" id="mesh_sys"]
size = Vector3(0.35, 0.5, 0.45)
[sub_resource type="BoxMesh" id="mesh_note"]
size = Vector3(0.18, 0.012, 0.12)
[sub_resource type="BoxShape3D" id="shape_note"]
size = Vector3(0.18, 0.012, 0.12)
[sub_resource type="BoxMesh" id="mesh_flash"]
size = Vector3(0.06, 0.02, 0.025)
[sub_resource type="BoxShape3D" id="shape_flash"]
size = Vector3(0.06, 0.02, 0.025)
[sub_resource type="BoxMesh" id="mesh_father"]
size = Vector3(0.4, 1.7, 0.4)
[sub_resource type="BoxMesh" id="mesh_p4"]
size = Vector3(0.25, 0.42, 0.4)
[sub_resource type="BoxShape3D" id="shape_p4"]
size = Vector3(0.25, 0.42, 0.4)
[sub_resource type="BoxMesh" id="mesh_sock"]
size = Vector3(0.15, 0.03, 0.08)
[sub_resource type="BoxMesh" id="mesh_lays"]
size = Vector3(0.15, 0.01, 0.1)
[sub_resource type="BoxMesh" id="mesh_can"]
size = Vector3(0.06, 0.13, 0.06)
[sub_resource type="BoxMesh" id="mesh_plant"]
size = Vector3(0.09, 0.13, 0.09)
[sub_resource type="BoxMesh" id="mesh_cup"]
size = Vector3(0.07, 0.08, 0.07)
[sub_resource type="StandardMaterial3D" id="mat_floor"]
shading_mode = 0
albedo_color = Color(0.72, 0.6, 0.41, 1)
[sub_resource type="StandardMaterial3D" id="mat_wall"]
shading_mode = 0
albedo_color = Color(0.83, 0.72, 0.55, 1)
[sub_resource type="StandardMaterial3D" id="mat_ceiling"]
shading_mode = 0
albedo_color = Color(0.92, 0.9, 0.85, 1)
[sub_resource type="StandardMaterial3D" id="mat_window"]
shading_mode = 0
albedo_color = Color(0.6, 0.85, 1.0, 1)
emission_enabled = true
emission = Color(0.6, 0.85, 1.0, 1)
emission_energy_multiplier = 0.6
[sub_resource type="StandardMaterial3D" id="mat_window_frame"]
shading_mode = 0
albedo_color = Color(0.95, 0.95, 0.95, 1)
[sub_resource type="StandardMaterial3D" id="mat_windowsill"]
shading_mode = 0
albedo_color = Color(0.96, 0.95, 0.92, 1)
[sub_resource type="StandardMaterial3D" id="mat_radiator"]
shading_mode = 0
albedo_color = Color(0.96, 0.94, 0.88, 1)
[sub_resource type="StandardMaterial3D" id="mat_door"]
shading_mode = 0
albedo_color = Color(0.85, 0.82, 0.75, 1)
[sub_resource type="StandardMaterial3D" id="mat_desk"]
shading_mode = 0
albedo_color = Color(0.96, 0.95, 0.93, 1)
[sub_resource type="StandardMaterial3D" id="mat_old_pc"]
shading_mode = 0
albedo_color = Color(0.55, 0.55, 0.5, 1)
[sub_resource type="StandardMaterial3D" id="mat_keyboard"]
shading_mode = 0
albedo_color = Color(0.85, 0.82, 0.74, 1)
[sub_resource type="StandardMaterial3D" id="mat_bed_frame"]
shading_mode = 0
albedo_color = Color(0.36, 0.23, 0.11, 1)
[sub_resource type="StandardMaterial3D" id="mat_blanket"]
shading_mode = 0
albedo_color = Color(0.13, 0.16, 0.32, 1)
[sub_resource type="StandardMaterial3D" id="mat_pillow"]
shading_mode = 0
albedo_color = Color(0.92, 0.88, 0.78, 1)
[sub_resource type="StandardMaterial3D" id="mat_wall_carpet"]
shading_mode = 0
albedo_color = Color(0.36, 0.12, 0.13, 1)
[sub_resource type="StandardMaterial3D" id="mat_poster_csgo"]
shading_mode = 0
albedo_color = Color(0.94, 0.71, 0.1, 1)
emission_enabled = true
emission = Color(0.94, 0.71, 0.1, 1)
emission_energy_multiplier = 0.25
[sub_resource type="StandardMaterial3D" id="mat_poster_morgen"]
shading_mode = 0
albedo_color = Color(0.7, 0.13, 0.13, 1)
[sub_resource type="StandardMaterial3D" id="mat_shelf"]
shading_mode = 0
albedo_color = Color(0.93, 0.91, 0.88, 1)
[sub_resource type="StandardMaterial3D" id="mat_book_a"]
shading_mode = 0
albedo_color = Color(0.36, 0.18, 0.15, 1)
[sub_resource type="StandardMaterial3D" id="mat_book_b"]
shading_mode = 0
albedo_color = Color(0.2, 0.35, 0.5, 1)
[sub_resource type="StandardMaterial3D" id="mat_book_c"]
shading_mode = 0
albedo_color = Color(0.13, 0.13, 0.15, 1)
[sub_resource type="StandardMaterial3D" id="mat_gift"]
shading_mode = 0
albedo_color = Color(0.1, 0.1, 0.12, 1)
[sub_resource type="StandardMaterial3D" id="mat_sys"]
shading_mode = 0
albedo_color = Color(0.3, 0.32, 0.38, 1)
emission_enabled = true
emission = Color(0.2, 0.5, 0.9, 1)
emission_energy_multiplier = 0.7
[sub_resource type="StandardMaterial3D" id="mat_note"]
shading_mode = 0
albedo_color = Color(0.95, 0.95, 0.9, 1)
emission_enabled = true
emission = Color(0.95, 0.95, 0.7, 1)
emission_energy_multiplier = 0.3
[sub_resource type="StandardMaterial3D" id="mat_flash"]
shading_mode = 0
albedo_color = Color(0.78, 0.18, 0.18, 1)
emission_enabled = true
emission = Color(0.78, 0.18, 0.18, 1)
emission_energy_multiplier = 0.4
[sub_resource type="StandardMaterial3D" id="mat_father"]
shading_mode = 0
albedo_color = Color(0.18, 0.22, 0.4, 1)
[sub_resource type="StandardMaterial3D" id="mat_p4"]
shading_mode = 0
albedo_color = Color(0.45, 0.44, 0.4, 1)
[sub_resource type="StandardMaterial3D" id="mat_sock"]
shading_mode = 0
albedo_color = Color(0.18, 0.22, 0.32, 1)
[sub_resource type="StandardMaterial3D" id="mat_lays"]
shading_mode = 0
albedo_color = Color(0.96, 0.84, 0.34, 1)
[sub_resource type="StandardMaterial3D" id="mat_can"]
shading_mode = 0
albedo_color = Color(0.13, 0.32, 0.68, 1)
[sub_resource type="StandardMaterial3D" id="mat_plant"]
shading_mode = 0
albedo_color = Color(0.25, 0.45, 0.2, 1)
[sub_resource type="StandardMaterial3D" id="mat_cup"]
shading_mode = 0
albedo_color = Color(0.85, 0.83, 0.78, 1)
[node name="Act1Room" type="Node3D"]
script = ExtResource("1_act1")
[node name="Floor" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0)
[node name="Mesh" type="MeshInstance3D" parent="Floor"]
mesh = SubResource("mesh_floor")
material_override = SubResource("mat_floor")
[node name="Coll" type="CollisionShape3D" parent="Floor"]
shape = SubResource("shape_floor")
[node name="Ceiling" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.55, 0)
[node name="Mesh" type="MeshInstance3D" parent="Ceiling"]
mesh = SubResource("mesh_floor")
material_override = SubResource("mat_ceiling")
[node name="Coll" type="CollisionShape3D" parent="Ceiling"]
shape = SubResource("shape_floor")
[node name="WallN" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.25, -2.05)
[node name="Mesh" type="MeshInstance3D" parent="WallN"]
mesh = SubResource("mesh_wall_ns")
material_override = SubResource("mat_wall")
[node name="Coll" type="CollisionShape3D" parent="WallN"]
shape = SubResource("shape_wall_ns")
[node name="Window" type="MeshInstance3D" parent="WallN"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, 0.06)
mesh = SubResource("mesh_window")
material_override = SubResource("mat_window")
[node name="WindowFrameTop" type="MeshInstance3D" parent="WallN"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.82, 0.08)
mesh = SubResource("mesh_window_frame_h")
material_override = SubResource("mat_window_frame")
[node name="WindowFrameBot" type="MeshInstance3D" parent="WallN"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.22, 0.08)
mesh = SubResource("mesh_window_frame_h")
material_override = SubResource("mat_window_frame")
[node name="WindowFrameLeft" type="MeshInstance3D" parent="WallN"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.78, 0.3, 0.08)
mesh = SubResource("mesh_window_frame_v")
material_override = SubResource("mat_window_frame")
[node name="WindowFrameRight" type="MeshInstance3D" parent="WallN"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.78, 0.3, 0.08)
mesh = SubResource("mesh_window_frame_v")
material_override = SubResource("mat_window_frame")
[node name="WindowFrameMid" type="MeshInstance3D" parent="WallN"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, 0.08)
mesh = SubResource("mesh_window_frame_v")
material_override = SubResource("mat_window_frame")
[node name="Windowsill" type="MeshInstance3D" parent="WallN"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0.18)
mesh = SubResource("mesh_windowsill")
material_override = SubResource("mat_windowsill")
[node name="Plant" type="MeshInstance3D" parent="WallN"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, -0.11, 0.18)
mesh = SubResource("mesh_plant")
material_override = SubResource("mat_plant")
[node name="Cup" type="MeshInstance3D" parent="WallN"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, -0.13, 0.18)
mesh = SubResource("mesh_cup")
material_override = SubResource("mat_cup")
[node name="Radiator" type="MeshInstance3D" parent="WallN"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.0, 0.1)
mesh = SubResource("mesh_radiator")
material_override = SubResource("mat_radiator")
[node name="PosterCSGO" type="MeshInstance3D" parent="WallN"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1, 0.45, 0.06)
mesh = SubResource("mesh_poster")
material_override = SubResource("mat_poster_csgo")
[node name="PosterMorgen" type="MeshInstance3D" parent="WallN"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1, 0.45, 0.06)
mesh = SubResource("mesh_poster")
material_override = SubResource("mat_poster_morgen")
[node name="WallS" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.25, 2.05)
[node name="Mesh" type="MeshInstance3D" parent="WallS"]
mesh = SubResource("mesh_wall_ns")
material_override = SubResource("mat_wall")
[node name="Coll" type="CollisionShape3D" parent="WallS"]
shape = SubResource("shape_wall_ns")
[node name="WallCarpet" type="MeshInstance3D" parent="WallS"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0.0, -0.06)
mesh = SubResource("mesh_wall_carpet")
material_override = SubResource("mat_wall_carpet")
[node name="WallE" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.05, 1.25, 0)
[node name="Mesh" type="MeshInstance3D" parent="WallE"]
mesh = SubResource("mesh_wall_ew")
material_override = SubResource("mat_wall")
[node name="Coll" type="CollisionShape3D" parent="WallE"]
shape = SubResource("shape_wall_ew")
[node name="DoorPanel" type="MeshInstance3D" parent="WallE"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.06, -0.25, 0)
mesh = SubResource("mesh_door")
material_override = SubResource("mat_door")
[node name="Door" type="StaticBody3D" parent="WallE"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.1, -0.25, 0)
script = ExtResource("2_int")
prompt = "выйти на кухню"
[node name="Mesh" type="MeshInstance3D" parent="WallE/Door"]
visible = false
mesh = SubResource("mesh_door")
[node name="Coll" type="CollisionShape3D" parent="WallE/Door"]
shape = SubResource("shape_door")
[node name="WallW" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.05, 1.25, 0)
[node name="Mesh" type="MeshInstance3D" parent="WallW"]
mesh = SubResource("mesh_wall_ew")
material_override = SubResource("mat_wall")
[node name="Coll" type="CollisionShape3D" parent="WallW"]
shape = SubResource("shape_wall_ew")
[node name="Shelf" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.85, 0.85, -1.0)
[node name="Mesh" type="MeshInstance3D" parent="Shelf"]
mesh = SubResource("mesh_shelf")
material_override = SubResource("mat_shelf")
[node name="Coll" type="CollisionShape3D" parent="Shelf"]
shape = SubResource("shape_shelf")
[node name="BookA" type="MeshInstance3D" parent="Shelf"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.05, 0.4, 0)
mesh = SubResource("mesh_book")
material_override = SubResource("mat_book_a")
[node name="BookB" type="MeshInstance3D" parent="Shelf"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.05, 0.46, 0)
mesh = SubResource("mesh_book")
material_override = SubResource("mat_book_b")
[node name="BookC" type="MeshInstance3D" parent="Shelf"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.05, 0.54, 0)
mesh = SubResource("mesh_book_thick")
material_override = SubResource("mat_book_c")
[node name="BookD" type="MeshInstance3D" parent="Shelf"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.05, -0.2, 0.2)
mesh = SubResource("mesh_book_thick")
material_override = SubResource("mat_book_a")
[node name="BookE" type="MeshInstance3D" parent="Shelf"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.05, -0.12, 0.2)
mesh = SubResource("mesh_book")
material_override = SubResource("mat_book_b")
[node name="OldP4" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.75, 0.21, -1.7)
[node name="Mesh" type="MeshInstance3D" parent="OldP4"]
mesh = SubResource("mesh_p4")
material_override = SubResource("mat_p4")
[node name="Coll" type="CollisionShape3D" parent="OldP4"]
shape = SubResource("shape_p4")
[node name="Desk" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.35, -1.5)
[node name="Mesh" type="MeshInstance3D" parent="Desk"]
mesh = SubResource("mesh_desk")
material_override = SubResource("mat_desk")
[node name="Coll" type="CollisionShape3D" parent="Desk"]
shape = SubResource("shape_desk")
[node name="OldPC" type="MeshInstance3D" parent="Desk"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0.55, -0.1)
mesh = SubResource("mesh_old_pc")
material_override = SubResource("mat_old_pc")
[node name="Keyboard" type="MeshInstance3D" parent="Desk"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0.37, 0.18)
mesh = SubResource("mesh_keyboard")
material_override = SubResource("mat_keyboard")
[node name="AdrenalineCan" type="MeshInstance3D" parent="Desk"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.1, 0.42, 0.1)
mesh = SubResource("mesh_can")
material_override = SubResource("mat_can")
[node name="LaysWrapper" type="MeshInstance3D" parent="Desk"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.1, 0.36, 0.0)
mesh = SubResource("mesh_lays")
material_override = SubResource("mat_lays")
[node name="FlashDrive" type="StaticBody3D" parent="Desk"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0.36, 0.15)
script = ExtResource("2_int")
prompt = "взять флешку"
[node name="Mesh" type="MeshInstance3D" parent="Desk/FlashDrive"]
mesh = SubResource("mesh_flash")
material_override = SubResource("mat_flash")
[node name="Coll" type="CollisionShape3D" parent="Desk/FlashDrive"]
shape = SubResource("shape_flash")
[node name="Bed" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0.2, 1.4)
[node name="Mesh" type="MeshInstance3D" parent="Bed"]
mesh = SubResource("mesh_bed")
material_override = SubResource("mat_bed_frame")
[node name="Coll" type="CollisionShape3D" parent="Bed"]
shape = SubResource("shape_bed")
[node name="Blanket" type="MeshInstance3D" parent="Bed"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.23, 0)
mesh = SubResource("mesh_blanket")
material_override = SubResource("mat_blanket")
[node name="Pillow" type="MeshInstance3D" parent="Bed"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.31, 0)
mesh = SubResource("mesh_pillow")
material_override = SubResource("mat_pillow")
[node name="Sock1" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.015, 0.9)
mesh = SubResource("mesh_sock")
material_override = SubResource("mat_sock")
[node name="Sock2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.85, 0.015, 0.2)
mesh = SubResource("mesh_sock")
material_override = SubResource("mat_sock")
[node name="GiftBox" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, -0.3)
script = ExtResource("2_int")
prompt = "открыть коробку"
[node name="Mesh" type="MeshInstance3D" parent="GiftBox"]
mesh = SubResource("mesh_gift")
material_override = SubResource("mat_gift")
[node name="Coll" type="CollisionShape3D" parent="GiftBox"]
shape = SubResource("shape_gift")
[node name="SystemUnit" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, -0.3)
visible = false
[node name="Mesh" type="MeshInstance3D" parent="SystemUnit"]
mesh = SubResource("mesh_sys")
material_override = SubResource("mat_sys")
[node name="Note" type="StaticBody3D" parent="SystemUnit"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.26, 0)
script = ExtResource("2_int")
prompt = "прочитать записку"
[node name="Mesh" type="MeshInstance3D" parent="SystemUnit/Note"]
mesh = SubResource("mesh_note")
material_override = SubResource("mat_note")
[node name="Coll" type="CollisionShape3D" parent="SystemUnit/Note"]
shape = SubResource("shape_note")
[node name="FatherNPC" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.7, 0.85, 0)
[node name="Mesh" type="MeshInstance3D" parent="FatherNPC"]
mesh = SubResource("mesh_father")
material_override = SubResource("mat_father")
[node name="PlayerFPV" parent="." instance=ExtResource("3_player")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.5)
[connection signal="interacted" from="Desk/FlashDrive" to="." method="_on_drive_interacted"]
[connection signal="interacted" from="GiftBox" to="." method="_on_gift_interacted"]
[connection signal="interacted" from="SystemUnit/Note" to="." method="_on_note_interacted"]
[connection signal="interacted" from="WallE/Door" to="." method="_on_door_interacted"]