Initial scaffold: Godot 4.3 scenes, systems, and placeholders.
Wire all twelve levels with billboard prefabs, autoload systems (inventory, achievements, mock shop, DE/EN/BY), and satire audio locks so the Title→End flow is playable with placeholder assets.
This commit is contained in:
commit
938cc4bc82
114 changed files with 4819 additions and 0 deletions
73
scenes/death_screen.tscn
Normal file
73
scenes/death_screen.tscn
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
[gd_scene load_steps=2 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/levels/death_screen.gd" id="1"]
|
||||
|
||||
[node name="DeathScreen" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Bg" type="ColorRect" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
color = Color(0.7, 0.1, 0.5, 1)
|
||||
|
||||
[node name="Title" type="Label" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -300.0
|
||||
offset_top = 120.0
|
||||
offset_right = 300.0
|
||||
offset_bottom = 180.0
|
||||
theme_override_font_sizes/font_size = 36
|
||||
horizontal_alignment = 1
|
||||
text = "DU BIST GESTORBEN"
|
||||
|
||||
[node name="Cause" type="Label" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -300.0
|
||||
offset_top = 200.0
|
||||
offset_right = 300.0
|
||||
offset_bottom = 250.0
|
||||
horizontal_alignment = 1
|
||||
text = "..."
|
||||
|
||||
[node name="Skull" type="ColorRect" parent="."]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -40.0
|
||||
offset_top = -40.0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
color = Color(1, 1, 1, 1)
|
||||
|
||||
[node name="ContinueButton" type="Button" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 7
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -160.0
|
||||
offset_top = -120.0
|
||||
offset_right = 160.0
|
||||
offset_bottom = -70.0
|
||||
text = "Continue"
|
||||
|
||||
[connection signal="pressed" from="ContinueButton" to="." method="_on_continue_pressed"]
|
||||
58
scenes/end_screen.tscn
Normal file
58
scenes/end_screen.tscn
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
[gd_scene load_steps=8 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/levels/end_screen.gd" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/player.tscn" id="2"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/exit_trigger.tscn" id="3"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/npc.tscn" id="4"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/enemy.tscn" id="5"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/hazard.tscn" id="6"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="Mat_ground"]
|
||||
albedo_color = Color(0.4, 0.7, 0.45, 1)
|
||||
shading_mode = 0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[node name="end_screen" 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)
|
||||
shadow_enabled = false
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707, 0.707, 0, -0.707, 0.707, 0, 12, 12)
|
||||
current = true
|
||||
fov = 50.0
|
||||
|
||||
[node name="Ground" type="StaticBody3D" parent="."]
|
||||
collision_layer = 1
|
||||
|
||||
[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="Player" parent="." instance=ExtResource("2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 4)
|
||||
|
||||
|
||||
[node name="BearEnd" parent="." instance=ExtResource("4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.1, 0)
|
||||
dialog_key = "dialog_bear_end"
|
||||
texture_path = "res://assets/sprites/placeholders/bear.png"
|
||||
|
||||
[node name="HouseSpot" parent="." instance=ExtResource("4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0.1, -2)
|
||||
dialog_key = "build_house"
|
||||
texture_path = "res://assets/sprites/placeholders/house.png"
|
||||
quest_flag = "house_built"
|
||||
|
||||
75
scenes/farm.tscn
Normal file
75
scenes/farm.tscn
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
[gd_scene load_steps=8 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/levels/farm.gd" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/player.tscn" id="2"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/exit_trigger.tscn" id="3"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/npc.tscn" id="4"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/enemy.tscn" id="5"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/hazard.tscn" id="6"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="Mat_ground"]
|
||||
albedo_color = Color(0.45, 0.35, 0.2, 1)
|
||||
shading_mode = 0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[node name="farm" 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)
|
||||
shadow_enabled = false
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707, 0.707, 0, -0.707, 0.707, 0, 12, 12)
|
||||
current = true
|
||||
fov = 50.0
|
||||
|
||||
[node name="Ground" type="StaticBody3D" parent="."]
|
||||
collision_layer = 1
|
||||
|
||||
[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="Player" parent="." instance=ExtResource("2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 4)
|
||||
|
||||
|
||||
[node name="Farmer" parent="." instance=ExtResource("4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0.1, 0)
|
||||
dialog_key = "dialog_farmer"
|
||||
texture_path = "res://assets/sprites/placeholders/farmer.png"
|
||||
give_item_id = "chicken"
|
||||
|
||||
[node name="Urhahn" parent="." instance=ExtResource("5")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0.1, -2)
|
||||
max_hp = 6
|
||||
texture_path = "res://assets/sprites/placeholders/rooster.png"
|
||||
defeat_flag = "urhahn_defeated"
|
||||
|
||||
[node name="RoosterHazard" parent="." instance=ExtResource("6")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0.1, -4)
|
||||
death_cause_key = "death_rooster"
|
||||
|
||||
|
||||
[node name="Dressler" parent="." instance=ExtResource("5")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0.1, -4)
|
||||
max_hp = 5
|
||||
texture_path = "res://assets/sprites/placeholders/apple.png"
|
||||
defeat_flag = "dressler_defeated"
|
||||
achievement_on_defeat = "dressler_apples"
|
||||
|
||||
[node name="Exit" parent="." instance=ExtResource("3")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, -12)
|
||||
require_flag = "urhahn_defeated"
|
||||
|
||||
57
scenes/farm_path.tscn
Normal file
57
scenes/farm_path.tscn
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
[gd_scene load_steps=8 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/levels/farm_path.gd" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/player.tscn" id="2"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/exit_trigger.tscn" id="3"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/npc.tscn" id="4"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/enemy.tscn" id="5"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/hazard.tscn" id="6"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="Mat_ground"]
|
||||
albedo_color = Color(0.55, 0.5, 0.3, 1)
|
||||
shading_mode = 0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[node name="farm_path" 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)
|
||||
shadow_enabled = false
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707, 0.707, 0, -0.707, 0.707, 0, 12, 12)
|
||||
current = true
|
||||
fov = 50.0
|
||||
|
||||
[node name="Ground" type="StaticBody3D" parent="."]
|
||||
collision_layer = 1
|
||||
|
||||
[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="Player" parent="." instance=ExtResource("2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 4)
|
||||
|
||||
|
||||
[node name="Mage" parent="." instance=ExtResource("4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, -3)
|
||||
dialog_key = "dialog_mage"
|
||||
texture_path = "res://assets/sprites/placeholders/mage.png"
|
||||
quest_flag = "mage_talked"
|
||||
|
||||
[node name="Exit" parent="." instance=ExtResource("3")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0.1, -10)
|
||||
require_flag = "mage_talked"
|
||||
|
||||
62
scenes/final_boss.tscn
Normal file
62
scenes/final_boss.tscn
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
[gd_scene load_steps=8 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/levels/final_boss.gd" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/player.tscn" id="2"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/exit_trigger.tscn" id="3"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/npc.tscn" id="4"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/enemy.tscn" id="5"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/hazard.tscn" id="6"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="Mat_ground"]
|
||||
albedo_color = Color(0.15, 0.05, 0.2, 1)
|
||||
shading_mode = 0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[node name="final_boss" 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)
|
||||
shadow_enabled = false
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707, 0.707, 0, -0.707, 0.707, 0, 12, 12)
|
||||
current = true
|
||||
fov = 50.0
|
||||
|
||||
[node name="Ground" type="StaticBody3D" parent="."]
|
||||
collision_layer = 1
|
||||
|
||||
[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="Player" parent="." instance=ExtResource("2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 4)
|
||||
|
||||
|
||||
[node name="Hongkong" parent="." instance=ExtResource("5")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, -3)
|
||||
max_hp = 12
|
||||
texture_path = "res://assets/sprites/placeholders/hongkong.png"
|
||||
defeat_flag = "hongkong_defeated"
|
||||
achievement_on_defeat = "beat_hongkong"
|
||||
|
||||
[node name="QuirxelHazard" parent="." instance=ExtResource("6")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0.1, -2)
|
||||
death_cause_key = "death_quirxel"
|
||||
|
||||
[node name="Exit" parent="." instance=ExtResource("3")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, -12)
|
||||
require_flag = "hongkong_defeated"
|
||||
|
||||
73
scenes/intro_cutscene.tscn
Normal file
73
scenes/intro_cutscene.tscn
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
[gd_scene load_steps=2 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/levels/intro_cutscene.gd" id="1"]
|
||||
|
||||
[node name="IntroCutscene" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Bg" type="ColorRect" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
color = Color(0.12, 0.1, 0.08, 1)
|
||||
|
||||
[node name="Desk" type="ColorRect" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -200.0
|
||||
offset_top = -40.0
|
||||
offset_right = 200.0
|
||||
offset_bottom = 80.0
|
||||
color = Color(0.45, 0.28, 0.12, 1)
|
||||
|
||||
[node name="Console" type="ColorRect" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -60.0
|
||||
offset_top = -100.0
|
||||
offset_right = 60.0
|
||||
offset_bottom = -40.0
|
||||
color = Color(0.2, 0.2, 0.25, 1)
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -400.0
|
||||
offset_top = 40.0
|
||||
offset_right = 400.0
|
||||
offset_bottom = 120.0
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 3
|
||||
text = "..."
|
||||
|
||||
[node name="SkipButton" type="Button" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 7
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -80.0
|
||||
offset_top = -80.0
|
||||
offset_right = 80.0
|
||||
offset_bottom = -40.0
|
||||
text = "Skip / Weiter"
|
||||
|
||||
[connection signal="pressed" from="SkipButton" to="." method="_on_skip_pressed"]
|
||||
59
scenes/massage_studio.tscn
Normal file
59
scenes/massage_studio.tscn
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
[gd_scene load_steps=8 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/levels/massage_studio.gd" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/player.tscn" id="2"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/exit_trigger.tscn" id="3"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/npc.tscn" id="4"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/enemy.tscn" id="5"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/hazard.tscn" id="6"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="Mat_ground"]
|
||||
albedo_color = Color(0.7, 0.55, 0.5, 1)
|
||||
shading_mode = 0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[node name="massage_studio" 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)
|
||||
shadow_enabled = false
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707, 0.707, 0, -0.707, 0.707, 0, 12, 12)
|
||||
current = true
|
||||
fov = 50.0
|
||||
|
||||
[node name="Ground" type="StaticBody3D" parent="."]
|
||||
collision_layer = 1
|
||||
|
||||
[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="Player" parent="." instance=ExtResource("2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 4)
|
||||
|
||||
|
||||
[node name="CowMasseur" parent="." instance=ExtResource("4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, -2)
|
||||
dialog_key = "dialog_cow"
|
||||
texture_path = "res://assets/sprites/placeholders/cow.png"
|
||||
require_item_id = "snake"
|
||||
consume_required = true
|
||||
quest_flag = "snake_massaged"
|
||||
achievement_id = "snake_massage"
|
||||
|
||||
[node name="Exit" parent="." instance=ExtResource("3")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, -10)
|
||||
|
||||
65
scenes/meadow.tscn
Normal file
65
scenes/meadow.tscn
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
[gd_scene load_steps=8 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/levels/meadow.gd" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/player.tscn" id="2"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/exit_trigger.tscn" id="3"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/npc.tscn" id="4"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/enemy.tscn" id="5"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/hazard.tscn" id="6"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="Mat_ground"]
|
||||
albedo_color = Color(0.4, 0.75, 0.3, 1)
|
||||
shading_mode = 0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[node name="meadow" 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)
|
||||
shadow_enabled = false
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707, 0.707, 0, -0.707, 0.707, 0, 12, 12)
|
||||
current = true
|
||||
fov = 50.0
|
||||
|
||||
[node name="Ground" type="StaticBody3D" parent="."]
|
||||
collision_layer = 1
|
||||
|
||||
[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="Player" parent="." instance=ExtResource("2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 4)
|
||||
|
||||
|
||||
[node name="Glitzo" parent="." instance=ExtResource("5")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.1, -1)
|
||||
max_hp = 4
|
||||
texture_path = "res://assets/sprites/placeholders/glitzo.png"
|
||||
achievement_on_defeat = "first_glitzo"
|
||||
|
||||
[node name="Bear" parent="." instance=ExtResource("4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0.1, -3)
|
||||
dialog_key = "dialog_bear"
|
||||
texture_path = "res://assets/sprites/placeholders/bear.png"
|
||||
|
||||
[node name="MowerHazard" parent="." instance=ExtResource("6")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, -5)
|
||||
death_cause_key = "death_mower"
|
||||
|
||||
[node name="Exit" parent="." instance=ExtResource("3")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, -12)
|
||||
|
||||
70
scenes/moon.tscn
Normal file
70
scenes/moon.tscn
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
[gd_scene load_steps=8 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/levels/moon.gd" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/player.tscn" id="2"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/exit_trigger.tscn" id="3"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/npc.tscn" id="4"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/enemy.tscn" id="5"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/hazard.tscn" id="6"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="Mat_ground"]
|
||||
albedo_color = Color(0.75, 0.75, 0.7, 1)
|
||||
shading_mode = 0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[node name="moon" 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)
|
||||
shadow_enabled = false
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707, 0.707, 0, -0.707, 0.707, 0, 12, 12)
|
||||
current = true
|
||||
fov = 50.0
|
||||
|
||||
[node name="Ground" type="StaticBody3D" parent="."]
|
||||
collision_layer = 1
|
||||
|
||||
[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="Player" parent="." instance=ExtResource("2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 4)
|
||||
|
||||
|
||||
[node name="CheeseSeller" parent="." instance=ExtResource("4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0.1, -1)
|
||||
dialog_key = "dialog_cheese"
|
||||
texture_path = "res://assets/sprites/placeholders/cheese.png"
|
||||
give_item_id = "cheese"
|
||||
|
||||
[node name="SwordStone" parent="." instance=ExtResource("4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0.1, -1)
|
||||
dialog_key = "dialog_cheese"
|
||||
texture_path = "res://assets/sprites/placeholders/apple.png"
|
||||
give_item_id = "moon_sword"
|
||||
|
||||
[node name="FakeBowser" parent="." instance=ExtResource("5")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, -4)
|
||||
max_hp = 8
|
||||
texture_path = "res://assets/sprites/placeholders/bowser.png"
|
||||
defeat_flag = "bowser_defeated"
|
||||
achievement_on_defeat = "beat_bowser"
|
||||
|
||||
[node name="Exit" parent="." instance=ExtResource("3")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, -12)
|
||||
require_flag = "bowser_defeated"
|
||||
|
||||
8
scenes/prefabs/billboard_sprite.tscn
Normal file
8
scenes/prefabs/billboard_sprite.tscn
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
[gd_scene load_steps=2 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/billboard/billboard_sprite.gd" id="1"]
|
||||
|
||||
[node name="BillboardSprite" type="Node3D"]
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
11
scenes/prefabs/enemy.tscn
Normal file
11
scenes/prefabs/enemy.tscn
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
[gd_scene load_steps=3 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/combat/hittable.gd" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/billboard_sprite.tscn" id="2"]
|
||||
|
||||
[node name="Enemy" type="Node3D"]
|
||||
script = ExtResource("1")
|
||||
max_hp = 4
|
||||
|
||||
[node name="BillboardSprite" parent="." instance=ExtResource("2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6, 0)
|
||||
15
scenes/prefabs/exit_trigger.tscn
Normal file
15
scenes/prefabs/exit_trigger.tscn
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
[gd_scene load_steps=3 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/combat/exit_trigger.gd" id="1"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_1"]
|
||||
size = Vector3(2.5, 2, 2.5)
|
||||
|
||||
[node name="ExitTrigger" type="Area3D"]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
shape = SubResource("BoxShape3D_1")
|
||||
15
scenes/prefabs/hazard.tscn
Normal file
15
scenes/prefabs/hazard.tscn
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
[gd_scene load_steps=3 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/combat/hazard_zone.gd" id="1"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_1"]
|
||||
size = Vector3(2.0, 2, 2.0)
|
||||
|
||||
[node name="HazardZone" type="Area3D"]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
shape = SubResource("BoxShape3D_1")
|
||||
10
scenes/prefabs/npc.tscn
Normal file
10
scenes/prefabs/npc.tscn
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
[gd_scene load_steps=3 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/combat/interactable_npc.gd" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/billboard_sprite.tscn" id="2"]
|
||||
|
||||
[node name="NPC" type="Node3D"]
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="BillboardSprite" parent="." instance=ExtResource("2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6, 0)
|
||||
20
scenes/prefabs/player.tscn
Normal file
20
scenes/prefabs/player.tscn
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
[gd_scene load_steps=4 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/player/player_controller.gd" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/billboard_sprite.tscn" id="2"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_1"]
|
||||
radius = 0.35
|
||||
height = 1.0
|
||||
|
||||
[node name="Player" type="CharacterBody3D"]
|
||||
collision_layer = 2
|
||||
collision_mask = 1
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
shape = SubResource("CapsuleShape3D_1")
|
||||
|
||||
[node name="BillboardSprite" parent="." instance=ExtResource("2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6, 0)
|
||||
57
scenes/shoe_boss.tscn
Normal file
57
scenes/shoe_boss.tscn
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
[gd_scene load_steps=8 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/levels/shoe_boss.gd" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/player.tscn" id="2"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/exit_trigger.tscn" id="3"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/npc.tscn" id="4"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/enemy.tscn" id="5"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/hazard.tscn" id="6"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="Mat_ground"]
|
||||
albedo_color = Color(0.25, 0.2, 0.15, 1)
|
||||
shading_mode = 0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[node name="shoe_boss" 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)
|
||||
shadow_enabled = false
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707, 0.707, 0, -0.707, 0.707, 0, 12, 12)
|
||||
current = true
|
||||
fov = 50.0
|
||||
|
||||
[node name="Ground" type="StaticBody3D" parent="."]
|
||||
collision_layer = 1
|
||||
|
||||
[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="Player" parent="." instance=ExtResource("2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 4)
|
||||
|
||||
|
||||
[node name="Reif" parent="." instance=ExtResource("5")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, -2)
|
||||
max_hp = 5
|
||||
texture_path = "res://assets/sprites/placeholders/shoe.png"
|
||||
defeat_flag = "reif_defeated"
|
||||
|
||||
[node name="Exit" parent="." instance=ExtResource("3")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, -12)
|
||||
require_flag = "reif_defeated"
|
||||
|
||||
84
scenes/title_screen.tscn
Normal file
84
scenes/title_screen.tscn
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
[gd_scene load_steps=2 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/levels/title_screen.gd" id="1"]
|
||||
|
||||
[node name="TitleScreen" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Bg" type="ColorRect" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0.08, 0.05, 0.12, 1)
|
||||
|
||||
[node name="Rain" type="Node2D" parent="."]
|
||||
|
||||
[node name="Title" type="Label" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -360.0
|
||||
offset_top = 80.0
|
||||
offset_right = 360.0
|
||||
offset_bottom = 140.0
|
||||
grow_horizontal = 2
|
||||
theme_override_font_sizes/font_size = 40
|
||||
horizontal_alignment = 1
|
||||
text = "Explosion der Spiele"
|
||||
|
||||
[node name="Subtitle" type="Label" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -360.0
|
||||
offset_top = 140.0
|
||||
offset_right = 360.0
|
||||
offset_bottom = 180.0
|
||||
grow_horizontal = 2
|
||||
horizontal_alignment = 1
|
||||
text = "Pay2Win"
|
||||
|
||||
[node name="Bubble" type="Label" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 40.0
|
||||
offset_top = 500.0
|
||||
offset_right = 420.0
|
||||
offset_bottom = 620.0
|
||||
autowrap_mode = 3
|
||||
text = "..."
|
||||
|
||||
[node name="Disturbed" type="ColorRect" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 40.0
|
||||
offset_top = 620.0
|
||||
offset_right = 120.0
|
||||
offset_bottom = 700.0
|
||||
color = Color(0.7, 0.7, 0.7, 1)
|
||||
|
||||
[node name="StartButton" type="Button" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 7
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -120.0
|
||||
offset_top = -120.0
|
||||
offset_right = 120.0
|
||||
offset_bottom = -70.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
text = "Starten"
|
||||
|
||||
[connection signal="pressed" from="StartButton" to="." method="_on_start_pressed"]
|
||||
197
scenes/ui/ui_root.tscn
Normal file
197
scenes/ui/ui_root.tscn
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
[gd_scene load_steps=2 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/ui/ui_root.gd" id="1"]
|
||||
|
||||
[node name="UIRoot" type="CanvasLayer"]
|
||||
process_mode = 3
|
||||
layer = 100
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="HUD" type="Control" parent="."]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="HpLabel" type="Label" parent="HUD"]
|
||||
layout_mode = 0
|
||||
offset_left = 16.0
|
||||
offset_top = 12.0
|
||||
offset_right = 200.0
|
||||
offset_bottom = 40.0
|
||||
text = "HP 5/5"
|
||||
|
||||
[node name="ToastLabel" type="Label" parent="."]
|
||||
visible = false
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -280.0
|
||||
offset_top = 48.0
|
||||
offset_right = 280.0
|
||||
offset_bottom = 88.0
|
||||
grow_horizontal = 2
|
||||
horizontal_alignment = 1
|
||||
text = "Achievement"
|
||||
|
||||
[node name="DialogPanel" type="PanelContainer" parent="."]
|
||||
visible = false
|
||||
anchors_preset = 7
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -420.0
|
||||
offset_top = -140.0
|
||||
offset_right = 420.0
|
||||
offset_bottom = -24.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
|
||||
[node name="Margin" type="MarginContainer" parent="DialogPanel"]
|
||||
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="DialogLabel" type="Label" parent="DialogPanel/Margin"]
|
||||
layout_mode = 2
|
||||
autowrap_mode = 3
|
||||
text = "..."
|
||||
|
||||
[node name="BurgerOverlay" type="ColorRect" parent="."]
|
||||
visible = false
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0.05, 0.02, 0.02, 0.85)
|
||||
|
||||
[node name="BurgerLabel" type="Label" parent="BurgerOverlay"]
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -320.0
|
||||
offset_top = -40.0
|
||||
offset_right = 320.0
|
||||
offset_bottom = 40.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
text = "Burger!"
|
||||
|
||||
[node name="PausePanel" type="PanelContainer" parent="."]
|
||||
process_mode = 3
|
||||
visible = false
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -280.0
|
||||
offset_top = -300.0
|
||||
offset_right = 280.0
|
||||
offset_bottom = 300.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Margin" type="MarginContainer" parent="PausePanel"]
|
||||
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="VBox" type="VBoxContainer" parent="PausePanel/Margin"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 6
|
||||
|
||||
[node name="TitleLabel" type="Label" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
text = "Einstellungen"
|
||||
|
||||
[node name="ResumeButton" type="Button" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
text = "Zurück"
|
||||
|
||||
[node name="PointsLabel" type="Label" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
text = "Dresslerpunkte: 0"
|
||||
|
||||
[node name="ShopTitle" type="Label" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
text = "Shop"
|
||||
|
||||
[node name="BuyPointButton" type="Button" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
text = "1€"
|
||||
|
||||
[node name="BuySunglassesButton" type="Button" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
text = "Sunglasses"
|
||||
|
||||
[node name="BuyTicketButton" type="Button" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
text = "Ticket"
|
||||
|
||||
[node name="BuyMilkButton" type="Button" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
text = "Milk"
|
||||
|
||||
[node name="BuyTiramisuButton" type="Button" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
text = "Tiramisu"
|
||||
|
||||
[node name="SfxLabel" type="Label" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
text = "SFX"
|
||||
|
||||
[node name="SfxSlider" type="HSlider" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
max_value = 1.0
|
||||
step = 0.05
|
||||
value = 1.0
|
||||
|
||||
[node name="MusicLabel" type="Label" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
text = "Music locked"
|
||||
|
||||
[node name="MusicSlider" type="HSlider" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
editable = false
|
||||
max_value = 1.0
|
||||
value = 1.0
|
||||
|
||||
[node name="LangLabel" type="Label" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
text = "Language"
|
||||
|
||||
[node name="LangOption" type="OptionButton" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="InventoryLabel" type="Label" parent="PausePanel/Margin/VBox"]
|
||||
layout_mode = 2
|
||||
text = "Inventar"
|
||||
|
||||
[node name="InventoryList" type="ItemList" parent="PausePanel/Margin/VBox"]
|
||||
custom_minimum_size = Vector2(0, 100)
|
||||
layout_mode = 2
|
||||
|
||||
[connection signal="pressed" from="PausePanel/Margin/VBox/ResumeButton" to="." method="_on_resume_pressed"]
|
||||
[connection signal="pressed" from="PausePanel/Margin/VBox/BuyPointButton" to="." method="_on_buy_point"]
|
||||
[connection signal="pressed" from="PausePanel/Margin/VBox/BuySunglassesButton" to="." method="_on_buy_sunglasses"]
|
||||
[connection signal="pressed" from="PausePanel/Margin/VBox/BuyTicketButton" to="." method="_on_buy_ticket"]
|
||||
[connection signal="pressed" from="PausePanel/Margin/VBox/BuyMilkButton" to="." method="_on_buy_milk"]
|
||||
[connection signal="pressed" from="PausePanel/Margin/VBox/BuyTiramisuButton" to="." method="_on_buy_tiramisu"]
|
||||
[connection signal="value_changed" from="PausePanel/Margin/VBox/SfxSlider" to="." method="_on_sfx_changed"]
|
||||
[connection signal="value_changed" from="PausePanel/Margin/VBox/MusicSlider" to="." method="_on_music_changed"]
|
||||
[connection signal="item_selected" from="PausePanel/Margin/VBox/LangOption" to="." method="_on_lang_selected"]
|
||||
[connection signal="item_activated" from="PausePanel/Margin/VBox/InventoryList" to="." method="_on_inventory_activated"]
|
||||
70
scenes/village.tscn
Normal file
70
scenes/village.tscn
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
[gd_scene load_steps=8 format=3]
|
||||
|
||||
[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/exit_trigger.tscn" id="3"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/npc.tscn" id="4"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/enemy.tscn" id="5"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/hazard.tscn" id="6"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="Mat_ground"]
|
||||
albedo_color = Color(0.35, 0.7, 0.35, 1)
|
||||
shading_mode = 0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape_ground"]
|
||||
size = Vector3(40, 0.2, 40)
|
||||
|
||||
[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)
|
||||
shadow_enabled = false
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707, 0.707, 0, -0.707, 0.707, 0, 12, 12)
|
||||
current = true
|
||||
fov = 50.0
|
||||
|
||||
[node name="Ground" type="StaticBody3D" parent="."]
|
||||
collision_layer = 1
|
||||
|
||||
[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="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)
|
||||
dialog_key = "dialog_hongkong_npc"
|
||||
texture_path = "res://assets/sprites/placeholders/npc.png"
|
||||
give_item_id = "snake"
|
||||
|
||||
[node name="House" parent="." instance=ExtResource("4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0.1, -2)
|
||||
dialog_key = "dialog_hongkong_npc"
|
||||
texture_path = "res://assets/sprites/placeholders/house.png"
|
||||
|
||||
|
||||
[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_hongkong_npc"
|
||||
texture_path = "res://assets/sprites/placeholders/npc.png"
|
||||
give_item_id = "tooth"
|
||||
quest_flag = "teeth_stolen"
|
||||
achievement_id = "tooth_millionaire"
|
||||
|
||||
[node name="Exit" parent="." instance=ExtResource("3")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, -10)
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue