Files
gamedev-the-steward/main.tscn
T

403 lines
16 KiB
Plaintext

[gd_scene format=3 uid="uid://rs3hv73svbpa"]
[ext_resource type="Script" uid="uid://4mg67crlim53" path="res://player/player.gd" id="1_h2yge"]
[ext_resource type="Script" uid="uid://ii8ai801jur2" path="res://player/camera_rig.gd" id="2_1bvp3"]
[ext_resource type="Script" uid="uid://dbb25ttlyogqr" path="res://simulation/SimulationManager.gd" id="3_lquwl"]
[ext_resource type="Script" uid="uid://c1f3b26n4yntf" path="res://world/world_view_manager.gd" id="4_1bvp3"]
[ext_resource type="PackedScene" uid="uid://dhxxyprqflotq" path="res://player/npc/NpcVisual.tscn" id="5_lquwl"]
[ext_resource type="Script" uid="uid://cjvbgqx8rao0t" path="res://world/ui/ui.gd" id="6_7mycd"]
[ext_resource type="Script" uid="uid://bbwol3mrjgn2x" path="res://world/active_world_adapter.gd" id="9_adapter"]
[ext_resource type="Script" uid="uid://cwvdljsh148wh" path="res://simulation/persistence/SaveSlotController.gd" id="10_save"]
[ext_resource type="PackedScene" path="res://world/jajce/JajceWorld.tscn" id="11_jajce"]
[ext_resource type="Script" uid="uid://cascjhf8lsvay" path="res://world/ui/time_dial.gd" id="12_timedial"]
[ext_resource type="Script" uid="uid://bivrsk5ukgnoo" path="res://world/demo/DemoController.gd" id="13_demo"]
[ext_resource type="PackedScene" path="res://player/PlayerVisual.tscn" id="14_player_visual"]
[ext_resource type="Script" uid="uid://dwwxux24jc6yq" path="res://world/ui/village_whisper_hud.gd" id="15_whisper"]
[ext_resource type="Script" path="res://world/ui/player_interaction_hud.gd" id="16_interaction"]
[ext_resource type="Script" path="res://world/ui/villager_field_note_hud.gd" id="17_villager_note"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_o5qli"]
radius = 0.4
height = 1.7
[node name="Main" type="Node3D" unique_id=1850341560]
[node name="JajceWorld" parent="." unique_id=1023795383 instance=ExtResource("11_jajce")]
[node name="Player" type="CharacterBody3D" parent="." unique_id=2022843760 node_paths=PackedStringArray("camera_rig", "simulation_manager", "world_view_manager", "pantry_storage", "guard_site", "study_site")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0)
script = ExtResource("1_h2yge")
camera_rig = NodePath("../CameraRig")
simulation_manager = NodePath("../SimulationManager")
world_view_manager = NodePath("../WorldViewManager")
pantry_storage = NodePath("../JajceWorld/WorldObjects/StorageSites/VillagePantry")
guard_site = NodePath("../JajceWorld/WorldObjects/ActivitySites/GuardPost")
study_site = NodePath("../JajceWorld/WorldObjects/ActivitySites/StudyDesk")
stomach_capacity_for_food = 10
[node name="CollisionShape3D" type="CollisionShape3D" parent="Player" unique_id=1249497228]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.85, 0)
shape = SubResource("CapsuleShape3D_o5qli")
[node name="Visual" parent="Player" instance=ExtResource("14_player_visual")]
[node name="CameraRig" type="Node3D" parent="." unique_id=81378719 node_paths=PackedStringArray("target")]
transform = Transform3D(1, 0, 0, 0, 0.57357645, 0.81915206, 0, -0.81915206, 0.57357645, 0, 10, 8)
script = ExtResource("2_1bvp3")
target = NodePath("../Player")
follow_speed = 8.0
deadzone_right = 2.0
deadzone_forward = 2.0
max_zoom_offset = Vector3(0, 20, 15)
[node name="Camera3D" type="Camera3D" parent="CameraRig" unique_id=1992528776]
current = true
fov = 65.0
[node name="ActiveWorldAdapter" type="Node" parent="." unique_id=1773902505 node_paths=PackedStringArray("pantry_storage", "woodpile_storage")]
script = ExtResource("9_adapter")
pantry_storage = NodePath("../JajceWorld/WorldObjects/StorageSites/VillagePantry")
woodpile_storage = NodePath("../JajceWorld/WorldObjects/StorageSites/VillageWoodpile")
[node name="SimulationManager" type="Node" parent="." unique_id=1099676814 node_paths=PackedStringArray("active_world_adapter")]
script = ExtResource("3_lquwl")
active_world_adapter = NodePath("../ActiveWorldAdapter")
home_positions = Array[Vector3]([Vector3(-15, 2, 8.5), Vector3(-13.5, 2, 6.5), Vector3(-8.5, 2, 3), Vector3(-6.5, 2, 1.5), Vector3(-15, 2, -2.5), Vector3(-13.5, 2, -5)])
[node name="SaveSlotController" type="Node" parent="." unique_id=1281154019 node_paths=PackedStringArray("simulation_manager")]
script = ExtResource("10_save")
simulation_manager = NodePath("../SimulationManager")
[node name="WorldViewManager" type="Node" parent="." unique_id=763982891 node_paths=PackedStringArray("simulation_manager", "active_npcs_parent", "pantry_visual")]
script = ExtResource("4_1bvp3")
npc_visual_scene = ExtResource("5_lquwl")
simulation_manager = NodePath("../SimulationManager")
active_npcs_parent = NodePath("../ActiveNPCs")
pantry_visual = NodePath("../JajceWorld/WorldObjects/StorageSites/VillagePantry/PantryPresentation")
[node name="ActiveNPCs" type="Node3D" parent="." unique_id=88374680]
[node name="UI" type="CanvasLayer" parent="." unique_id=875790201 node_paths=PackedStringArray("simulation_manager")]
script = ExtResource("6_7mycd")
simulation_manager = NodePath("../SimulationManager")
[node name="VillagePanel" type="PanelContainer" parent="UI" unique_id=482126250]
offset_left = 20.0
offset_top = 20.0
offset_right = 280.0
offset_bottom = 140.0
[node name="MarginContainer" type="MarginContainer" parent="UI/VillagePanel" unique_id=60382506]
layout_mode = 2
theme_override_constants/margin_left = 12
theme_override_constants/margin_top = 4
theme_override_constants/margin_right = 12
theme_override_constants/margin_bottom = 4
[node name="VillageStatsLabel" type="Label" parent="UI/VillagePanel/MarginContainer" unique_id=1554319259]
layout_mode = 2
theme_override_font_sizes/font_size = 10
[node name="NpcInspectorPanel" type="PanelContainer" parent="UI" unique_id=1165556983]
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -370.0
offset_top = 20.0
offset_right = -20.0
offset_bottom = 330.0
grow_horizontal = 0
[node name="MarginContainer" type="MarginContainer" parent="UI/NpcInspectorPanel" unique_id=1227722850]
layout_mode = 2
theme_override_constants/margin_left = 16
theme_override_constants/margin_top = 12
theme_override_constants/margin_right = 16
theme_override_constants/margin_bottom = 12
[node name="NpcInspectorLabel" type="Label" parent="UI/NpcInspectorPanel/MarginContainer" unique_id=1036784952]
layout_mode = 2
theme_override_colors/font_color = Color(0.96, 0.91, 0.78, 1)
theme_override_font_sizes/font_size = 15
text = "Villager inspector"
[node name="TimeDial" type="Control" parent="UI" unique_id=191345668]
layout_mode = 3
anchors_preset = 0
offset_left = 880.0
offset_top = 6.0
offset_right = 940.0
offset_bottom = 66.0
script = ExtResource("12_timedial")
[node name="PlayerInteractionLayer" type="CanvasLayer" parent="."]
layer = 2
[node name="PlayerInteractionHud" type="Control" parent="PlayerInteractionLayer" node_paths=PackedStringArray("player", "simulation_manager")]
visible = false
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -290.0
offset_top = -108.0
offset_right = 290.0
offset_bottom = -42.0
grow_horizontal = 2
grow_vertical = 0
mouse_filter = 2
script = ExtResource("16_interaction")
player = NodePath("../../Player")
simulation_manager = NodePath("../../SimulationManager")
[node name="Accent" type="ColorRect" parent="PlayerInteractionLayer/PlayerInteractionHud"]
layout_mode = 1
anchors_preset = 10
anchor_right = 1.0
offset_bottom = 2.0
grow_horizontal = 2
mouse_filter = 2
color = Color(0.9, 0.63, 0.28, 0.95)
[node name="Copy" type="VBoxContainer" parent="PlayerInteractionLayer/PlayerInteractionHud"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = 8.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
theme_override_constants/separation = 2
alignment = 1
[node name="Action" type="Label" parent="PlayerInteractionLayer/PlayerInteractionHud/Copy"]
layout_mode = 2
mouse_filter = 2
theme_override_colors/font_color = Color(0.98, 0.92, 0.79, 1)
theme_override_colors/font_outline_color = Color(0.07, 0.045, 0.025, 0.94)
theme_override_colors/font_shadow_color = Color(0.02, 0.01, 0.005, 0.7)
theme_override_constants/outline_size = 7
theme_override_constants/shadow_offset_x = 1
theme_override_constants/shadow_offset_y = 2
theme_override_font_sizes/font_size = 20
text = "E · Interact"
horizontal_alignment = 1
[node name="Detail" type="Label" parent="PlayerInteractionLayer/PlayerInteractionHud/Copy"]
layout_mode = 2
mouse_filter = 2
theme_override_colors/font_color = Color(0.85, 0.77, 0.64, 1)
theme_override_colors/font_outline_color = Color(0.07, 0.045, 0.025, 0.9)
theme_override_constants/outline_size = 5
theme_override_font_sizes/font_size = 13
text = "Context"
horizontal_alignment = 1
[node name="VillagerInspectionLayer" type="CanvasLayer" parent="."]
layer = 2
[node name="VillagerFieldNote" type="Control" parent="VillagerInspectionLayer" node_paths=PackedStringArray("player", "simulation_manager")]
visible = false
anchors_preset = 2
anchor_top = 1.0
anchor_bottom = 1.0
offset_left = 34.0
offset_top = -246.0
offset_right = 430.0
offset_bottom = -46.0
grow_vertical = 0
mouse_filter = 2
script = ExtResource("17_villager_note")
player = NodePath("../../Player")
simulation_manager = NodePath("../../SimulationManager")
[node name="Accent" type="ColorRect" parent="VillagerInspectionLayer/VillagerFieldNote"]
layout_mode = 1
anchors_preset = 9
anchor_bottom = 1.0
offset_right = 2.0
grow_vertical = 2
mouse_filter = 2
color = Color(0.9, 0.63, 0.28, 0.92)
[node name="Copy" type="VBoxContainer" parent="VillagerInspectionLayer/VillagerFieldNote"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 14.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
theme_override_constants/separation = 1
alignment = 1
[node name="Kicker" type="Label" parent="VillagerInspectionLayer/VillagerFieldNote/Copy"]
layout_mode = 2
mouse_filter = 2
theme_override_colors/font_color = Color(0.9, 0.63, 0.28, 1)
theme_override_colors/font_outline_color = Color(0.07, 0.045, 0.025, 0.92)
theme_override_constants/outline_size = 4
theme_override_font_sizes/font_size = 10
text = "NEARBY VILLAGER"
[node name="Name" type="Label" parent="VillagerInspectionLayer/VillagerFieldNote/Copy"]
layout_mode = 2
mouse_filter = 2
theme_override_colors/font_color = Color(0.98, 0.92, 0.79, 1)
theme_override_colors/font_outline_color = Color(0.07, 0.045, 0.025, 0.94)
theme_override_constants/outline_size = 6
theme_override_font_sizes/font_size = 24
text = "Villager"
[node name="Activity" type="Label" parent="VillagerInspectionLayer/VillagerFieldNote/Copy"]
layout_mode = 2
mouse_filter = 2
theme_override_colors/font_color = Color(0.9, 0.84, 0.7, 1)
theme_override_colors/font_outline_color = Color(0.07, 0.045, 0.025, 0.9)
theme_override_constants/outline_size = 5
theme_override_font_sizes/font_size = 15
text = "Current activity"
[node name="Target" type="Label" parent="VillagerInspectionLayer/VillagerFieldNote/Copy"]
layout_mode = 2
mouse_filter = 2
theme_override_colors/font_color = Color(0.82, 0.75, 0.63, 1)
theme_override_colors/font_outline_color = Color(0.07, 0.045, 0.025, 0.9)
theme_override_constants/outline_size = 4
theme_override_font_sizes/font_size = 13
text = "Target · None recorded"
[node name="Carrying" type="Label" parent="VillagerInspectionLayer/VillagerFieldNote/Copy"]
layout_mode = 2
mouse_filter = 2
theme_override_colors/font_color = Color(0.82, 0.75, 0.63, 1)
theme_override_colors/font_outline_color = Color(0.07, 0.045, 0.025, 0.9)
theme_override_constants/outline_size = 4
theme_override_font_sizes/font_size = 13
text = "Carrying · nothing"
[node name="Reason" type="Label" parent="VillagerInspectionLayer/VillagerFieldNote/Copy"]
custom_minimum_size = Vector2(380, 0)
layout_mode = 2
mouse_filter = 2
theme_override_colors/font_color = Color(0.88, 0.78, 0.6, 1)
theme_override_colors/font_outline_color = Color(0.07, 0.045, 0.025, 0.9)
theme_override_constants/outline_size = 4
theme_override_font_sizes/font_size = 13
text = "Why · Awaiting the next decision"
autowrap_mode = 2
[node name="Need" type="Label" parent="VillagerInspectionLayer/VillagerFieldNote/Copy"]
custom_minimum_size = Vector2(380, 0)
layout_mode = 2
mouse_filter = 2
theme_override_colors/font_color = Color(0.93, 0.7, 0.32, 1)
theme_override_colors/font_outline_color = Color(0.07, 0.045, 0.025, 0.94)
theme_override_constants/outline_size = 5
theme_override_font_sizes/font_size = 14
text = "Need · "
autowrap_mode = 2
visible = false
[node name="VillageWhisperLayer" type="CanvasLayer" parent="."]
layer = 3
[node name="VillageWhisper" type="Control" parent="VillageWhisperLayer" node_paths=PackedStringArray("simulation_manager")]
anchors_preset = 10
anchor_left = 0.5
anchor_right = 0.5
offset_left = -310.0
offset_top = 76.0
offset_right = 310.0
offset_bottom = 142.0
grow_horizontal = 2
mouse_filter = 2
script = ExtResource("15_whisper")
simulation_manager = NodePath("../../SimulationManager")
[node name="Accent" type="ColorRect" parent="VillageWhisperLayer/VillageWhisper"]
layout_mode = 1
anchors_preset = 10
anchor_right = 1.0
offset_bottom = 2.0
grow_horizontal = 2
mouse_filter = 2
color = Color(0.86, 0.61, 0.25, 0.92)
[node name="Copy" type="VBoxContainer" parent="VillageWhisperLayer/VillageWhisper"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = 8.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
theme_override_constants/separation = 1
alignment = 1
[node name="Kicker" type="Label" parent="VillageWhisperLayer/VillageWhisper/Copy"]
layout_mode = 2
mouse_filter = 2
theme_override_colors/font_color = Color(0.93, 0.7, 0.36, 1)
theme_override_colors/font_outline_color = Color(0.07, 0.045, 0.025, 0.9)
theme_override_constants/outline_size = 5
theme_override_font_sizes/font_size = 11
text = "VILLAGE NEED"
horizontal_alignment = 1
[node name="Message" type="Label" parent="VillageWhisperLayer/VillageWhisper/Copy"]
layout_mode = 2
mouse_filter = 2
theme_override_colors/font_color = Color(0.98, 0.92, 0.79, 1)
theme_override_colors/font_outline_color = Color(0.07, 0.045, 0.025, 0.94)
theme_override_colors/font_shadow_color = Color(0.02, 0.01, 0.005, 0.7)
theme_override_constants/outline_size = 7
theme_override_constants/shadow_offset_x = 1
theme_override_constants/shadow_offset_y = 2
theme_override_font_sizes/font_size = 18
text = "A village need has surfaced."
horizontal_alignment = 1
[node name="CrisisCaptionLayer" type="CanvasLayer" parent="."]
layer = 4
[node name="CrisisCaption" type="Label" parent="CrisisCaptionLayer"]
visible = false
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -560.0
offset_top = -112.0
offset_right = 560.0
offset_bottom = -54.0
grow_horizontal = 2
grow_vertical = 0
mouse_filter = 2
theme_override_colors/font_color = Color(0.98, 0.92, 0.78, 1)
theme_override_colors/font_outline_color = Color(0.08, 0.055, 0.035, 0.92)
theme_override_colors/font_shadow_color = Color(0.02, 0.015, 0.01, 0.7)
theme_override_constants/outline_size = 9
theme_override_constants/shadow_offset_x = 2
theme_override_constants/shadow_offset_y = 3
theme_override_font_sizes/font_size = 26
text = "The pantry is empty."
horizontal_alignment = 1
vertical_alignment = 1
[node name="DemoController" type="Node" parent="." unique_id=644713371 node_paths=PackedStringArray("ui", "active_npcs_parent", "simulation_manager", "world_view_manager", "camera_rig", "player", "pantry_storage", "crisis_caption")]
script = ExtResource("13_demo")
ui = NodePath("../UI")
active_npcs_parent = NodePath("../ActiveNPCs")
simulation_manager = NodePath("../SimulationManager")
world_view_manager = NodePath("../WorldViewManager")
camera_rig = NodePath("../CameraRig")
player = NodePath("../Player")
pantry_storage = NodePath("../JajceWorld/WorldObjects/StorageSites/VillagePantry")
crisis_caption = NodePath("../CrisisCaptionLayer/CrisisCaption")