Houses ~8.5 m; chimps capped ~0.85 m with safer axis fitting. Large GLB/PBR packs stay local until Git LFS (Forgejo HTTP 413). Co-authored-by: Cursor <cursoragent@cursor.com>
224 lines
7.7 KiB
Text
224 lines
7.7 KiB
Text
[gd_scene load_steps=20 format=3 uid="uid://bfx8nn1gncmvd"]
|
|
|
|
[ext_resource type="Script" path="res://scripts/levels/village.gd" id="1"]
|
|
[ext_resource type="PackedScene" path="res://scenes/prefabs/player.tscn" id="2"]
|
|
[ext_resource type="PackedScene" path="res://scenes/prefabs/npc.tscn" id="4"]
|
|
[ext_resource type="PackedScene" path="res://scenes/prefabs/model_prop.tscn" id="5"]
|
|
[ext_resource type="PackedScene" path="res://scenes/prefabs/enemy.tscn" id="6"]
|
|
[ext_resource type="PackedScene" path="res://scenes/prefabs/hazard.tscn" id="7"]
|
|
[ext_resource type="Script" path="res://scripts/levels/meadow_zone.gd" id="8"]
|
|
|
|
[sub_resource type="BoxMesh" id="BoxMesh_ground"]
|
|
size = Vector3(40, 0.2, 40)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="Mat_ground"]
|
|
shading_mode = 0
|
|
albedo_color = Color(0.35, 0.7, 0.35, 1)
|
|
|
|
[sub_resource type="BoxShape3D" id="BoxShape_ground"]
|
|
size = Vector3(40, 0.2, 40)
|
|
|
|
[sub_resource type="BoxMesh" id="BoxMesh_meadow"]
|
|
size = Vector3(40, 0.2, 40)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="Mat_meadow"]
|
|
shading_mode = 0
|
|
albedo_color = Color(0.42, 0.78, 0.32, 1)
|
|
|
|
[sub_resource type="BoxShape3D" id="BoxShape_meadow"]
|
|
size = Vector3(40, 0.2, 40)
|
|
|
|
[sub_resource type="BoxMesh" id="BoxMesh_fence"]
|
|
size = Vector3(0.35, 2.4, 16)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="Mat_fence"]
|
|
shading_mode = 0
|
|
albedo_color = Color(0.45, 0.32, 0.18, 1)
|
|
|
|
[sub_resource type="BoxShape3D" id="BoxShape_fence"]
|
|
size = Vector3(0.35, 2.4, 16)
|
|
|
|
[sub_resource type="BoxMesh" id="BoxMesh_gate"]
|
|
size = Vector3(0.4, 2.5, 5)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="Mat_gate"]
|
|
shading_mode = 0
|
|
albedo_color = Color(0.55, 0.28, 0.12, 1)
|
|
|
|
[sub_resource type="BoxShape3D" id="BoxShape_gate"]
|
|
size = Vector3(0.4, 2.5, 5)
|
|
|
|
[node name="village" type="Node3D"]
|
|
script = ExtResource("1")
|
|
|
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
|
|
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
|
transform = Transform3D(0.866, -0.354, 0.354, 0, 0.707, 0.707, -0.5, -0.612, 0.612, 0, 8, 0)
|
|
|
|
[node name="Ground" type="StaticBody3D" parent="."]
|
|
|
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="Ground"]
|
|
mesh = SubResource("BoxMesh_ground")
|
|
surface_material_override/0 = SubResource("Mat_ground")
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Ground"]
|
|
shape = SubResource("BoxShape_ground")
|
|
|
|
[node name="MeadowGround" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 38, 0, 0)
|
|
|
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="MeadowGround"]
|
|
mesh = SubResource("BoxMesh_meadow")
|
|
surface_material_override/0 = SubResource("Mat_meadow")
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeadowGround"]
|
|
shape = SubResource("BoxShape_meadow")
|
|
|
|
[node name="FenceNorth" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 1.2, -10.5)
|
|
|
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="FenceNorth"]
|
|
mesh = SubResource("BoxMesh_fence")
|
|
surface_material_override/0 = SubResource("Mat_fence")
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="FenceNorth"]
|
|
shape = SubResource("BoxShape_fence")
|
|
|
|
[node name="FenceSouth" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 1.2, 10.5)
|
|
|
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="FenceSouth"]
|
|
mesh = SubResource("BoxMesh_fence")
|
|
surface_material_override/0 = SubResource("Mat_fence")
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="FenceSouth"]
|
|
shape = SubResource("BoxShape_fence")
|
|
|
|
[node name="MeadowGate" type="StaticBody3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 1.25, 0)
|
|
|
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="MeadowGate"]
|
|
mesh = SubResource("BoxMesh_gate")
|
|
surface_material_override/0 = SubResource("Mat_gate")
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeadowGate"]
|
|
shape = SubResource("BoxShape_gate")
|
|
|
|
[node name="GateLabel" type="Label3D" parent="MeadowGate"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 1.6, 0)
|
|
billboard = 1
|
|
modulate = Color(1, 0.92, 0.6, 1)
|
|
text = "ZU"
|
|
font_size = 48
|
|
|
|
[node name="Player" parent="." instance=ExtResource("2")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 4)
|
|
|
|
[node name="NPC_HongkongFan" parent="." instance=ExtResource("4")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0.1, 0)
|
|
|
|
[node name="Dentist" parent="." instance=ExtResource("4")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0.1, 2)
|
|
dialog_key = "dialog_villager_snake"
|
|
|
|
[node name="Table" parent="." instance=ExtResource("5")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.2)
|
|
model_path = "res://assets/3DModelle/props/table/table.glb"
|
|
fit_height = 0.75
|
|
fit_max_width = 1.4
|
|
|
|
[node name="TableButton" parent="Table" instance=ExtResource("5")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.04, 0.1)
|
|
model_path = "res://assets/3DModelle/props/button/Button.glb"
|
|
fit_height = 0.05
|
|
fit_max_width = 0.1
|
|
add_collision = false
|
|
can_interact = true
|
|
prompt_key = "prompt_press_button"
|
|
|
|
[node name="Reif" parent="." instance=ExtResource("6")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, -1.5)
|
|
visible = false
|
|
max_hp = 8
|
|
texture_path = "res://assets/sprites/placeholders/reif.png"
|
|
billboard_height = 2.15
|
|
defeat_flag = "reif_defeated"
|
|
ai_enabled = false
|
|
move_speed = 3.4
|
|
death_cause_key = "death_shoe"
|
|
shout_key = "dialog_reif"
|
|
|
|
[node name="MeadowZone" type="Node3D" parent="."]
|
|
script = ExtResource("8")
|
|
|
|
[node name="Glitzo" parent="MeadowZone" instance=ExtResource("6")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0.1, -1)
|
|
texture_path = "res://assets/sprites/placeholders/glitzo.png"
|
|
billboard_height = 1.0
|
|
achievement_on_defeat = "first_glitzo"
|
|
move_speed = 2.6
|
|
death_cause_key = "death_glitzo"
|
|
glitzo_mode = true
|
|
|
|
[node name="Bear" parent="MeadowZone" instance=ExtResource("4")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 39, 0.1, -3)
|
|
dialog_key = "dialog_bear"
|
|
texture_path = "res://assets/sprites/placeholders/bear.png"
|
|
|
|
[node name="MowerHazard" parent="MeadowZone" instance=ExtResource("7")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40.2, 0.1, -3.6)
|
|
death_cause_key = "death_mower"
|
|
texture_path = "res://assets/sprites/placeholders/snake_mower.png"
|
|
billboard_height = 2.0
|
|
|
|
[node name="SnakePickup" parent="MeadowZone" instance=ExtResource("4")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 37.6, 0.1, -2.4)
|
|
dialog_key = ""
|
|
texture_path = "res://assets/sprites/placeholders/snake.png"
|
|
billboard_height = 0.85
|
|
billboard_max_width = 1.4
|
|
give_item_id = "snake"
|
|
give_once = true
|
|
despawn_after_give = true
|
|
|
|
[node name="ChoiceUI" type="CanvasLayer" parent="."]
|
|
layer = 50
|
|
visible = false
|
|
|
|
[node name="Panel" type="PanelContainer" parent="ChoiceUI"]
|
|
anchors_preset = 8
|
|
anchor_left = 0.5
|
|
anchor_top = 0.5
|
|
anchor_right = 0.5
|
|
anchor_bottom = 0.5
|
|
offset_left = -220.0
|
|
offset_top = -100.0
|
|
offset_right = 220.0
|
|
offset_bottom = 100.0
|
|
|
|
[node name="Margin" type="MarginContainer" parent="ChoiceUI/Panel"]
|
|
layout_mode = 2
|
|
theme_override_constants/margin_left = 12
|
|
theme_override_constants/margin_top = 10
|
|
theme_override_constants/margin_right = 12
|
|
theme_override_constants/margin_bottom = 10
|
|
|
|
[node name="VBox" type="VBoxContainer" parent="ChoiceUI/Panel/Margin"]
|
|
layout_mode = 2
|
|
|
|
[node name="Label" type="Label" parent="ChoiceUI/Panel/Margin/VBox"]
|
|
layout_mode = 2
|
|
text = "Kuh"
|
|
autowrap_mode = 3
|
|
|
|
[node name="MassageBtn" type="Button" parent="ChoiceUI/Panel/Margin/VBox"]
|
|
layout_mode = 2
|
|
text = "Massage"
|
|
|
|
[node name="DrinkBtn" type="Button" parent="ChoiceUI/Panel/Margin/VBox"]
|
|
layout_mode = 2
|
|
text = "Trinken"
|
|
|
|
[connection signal="pressed" from="ChoiceUI/Panel/Margin/VBox/MassageBtn" to="." method="_on_massage_pressed"]
|
|
[connection signal="pressed" from="ChoiceUI/Panel/Margin/VBox/DrinkBtn" to="." method="_on_drink_pressed"]
|