updated oktoberfest

This commit is contained in:
LaptopmanMann 2025-09-17 18:36:54 +02:00
parent 74548cf1f6
commit 50271a157d
20 changed files with 383 additions and 53 deletions

BIN
Florian/Decals/power.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View file

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cx783frd814e6"
path.s3tc="res://.godot/imported/power.png-8cfc4df1522afb91a6c231cf297317af.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Florian/Decals/power.png"
dest_files=["res://.godot/imported/power.png-8cfc4df1522afb91a6c231cf297317af.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=9 format=3 uid="uid://bfq21ks4r8gma"] [gd_scene load_steps=9 format=3 uid="uid://c4fw8rjct7vms"]
[ext_resource type="Texture2D" uid="uid://bwdlms684oaxg" path="res://Amanda/Sprite assets/accor.png" id="1_gqqs6"] [ext_resource type="Texture2D" uid="uid://bwdlms684oaxg" path="res://Amanda/Sprite assets/accor.png" id="1_gqqs6"]
[ext_resource type="PackedScene" uid="uid://c8gnb0kut2n5h" path="res://Florian/PointsLogic/point_thing.tscn" id="2_rc5w7"] [ext_resource type="PackedScene" uid="uid://c8gnb0kut2n5h" path="res://Florian/PointsLogic/point_thing.tscn" id="2_rc5w7"]
@ -54,4 +54,4 @@ sprite_frames = SubResource("SpriteFrames_80p6a")
[node name="PointThing" parent="." instance=ExtResource("2_rc5w7")] [node name="PointThing" parent="." instance=ExtResource("2_rc5w7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.7, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.7, 0)
points_name = "Guitar" points_name = "Accordion"

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=9 format=3 uid="uid://ovrmixk51bsv"] [gd_scene load_steps=9 format=3 uid="uid://d3ynlus2dwtle"]
[ext_resource type="Texture2D" uid="uid://bf4mdirph5vwa" path="res://Amanda/Sprite assets/beer.png" id="1_4cb43"] [ext_resource type="Texture2D" uid="uid://bf4mdirph5vwa" path="res://Amanda/Sprite assets/beer.png" id="1_4cb43"]
[ext_resource type="PackedScene" uid="uid://c8gnb0kut2n5h" path="res://Florian/PointsLogic/point_thing.tscn" id="2_1b8ry"] [ext_resource type="PackedScene" uid="uid://c8gnb0kut2n5h" path="res://Florian/PointsLogic/point_thing.tscn" id="2_1b8ry"]
@ -47,11 +47,15 @@ animations = [{
}] }]
[node name="beer" type="AnimatedSprite3D"] [node name="beer" type="AnimatedSprite3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1, -0.7, 0)
pixel_size = 0.1
shaded = true shaded = true
alpha_cut = 2 alpha_cut = 2
texture_filter = 0 texture_filter = 0
sprite_frames = SubResource("SpriteFrames_8do5l") sprite_frames = SubResource("SpriteFrames_8do5l")
autoplay = "default"
frame_progress = 0.539534
[node name="PointThing" parent="." instance=ExtResource("2_1b8ry")] [node name="PointThing" parent="." instance=ExtResource("2_1b8ry")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.7, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, 1, 0)
points_name = "Guitar" points_name = "Beer"

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=11 format=3 uid="uid://trvl3oxmfnpb"] [gd_scene load_steps=11 format=3 uid="uid://dk05y5r50lmm2"]
[ext_resource type="Texture2D" uid="uid://b6x0516k2r07" path="res://Amanda/Sprite assets/dudes_2.png" id="1_85p31"] [ext_resource type="Texture2D" uid="uid://b6x0516k2r07" path="res://Amanda/Sprite assets/dudes_2.png" id="1_85p31"]
[ext_resource type="PackedScene" uid="uid://c8gnb0kut2n5h" path="res://Florian/PointsLogic/point_thing.tscn" id="2_cauvc"] [ext_resource type="PackedScene" uid="uid://c8gnb0kut2n5h" path="res://Florian/PointsLogic/point_thing.tscn" id="2_cauvc"]

View file

@ -1,23 +1,29 @@
[gd_scene load_steps=18 format=3 uid="uid://by5cq6m32hbor"] [gd_scene load_steps=27 format=3 uid="uid://by5cq6m32hbor"]
[ext_resource type="Texture2D" uid="uid://dv401srtwuvtg" path="res://icon.svg" id="1_6v0xc"] [ext_resource type="Texture2D" uid="uid://dv401srtwuvtg" path="res://icon.svg" id="1_6v0xc"]
[ext_resource type="Texture2D" uid="uid://cd1v04y3nf1dv" path="res://Amanda/furni/Images/table_diffuse.jpg" id="1_tre0f"] [ext_resource type="Texture2D" uid="uid://cd1v04y3nf1dv" path="res://Amanda/furni/Images/table_diffuse.jpg" id="1_tre0f"]
[ext_resource type="PackedScene" uid="uid://crrco762ow56c" path="res://Florian/Player/PlayerRigidbody.tscn" id="2_82wr0"] [ext_resource type="PackedScene" uid="uid://crrco762ow56c" path="res://Florian/Player/PlayerRigidbody.tscn" id="2_82wr0"]
[ext_resource type="PackedScene" uid="uid://bobfhgsydmmr2" path="res://Florian/pyro.tscn" id="4_h8052"] [ext_resource type="PackedScene" uid="uid://bobfhgsydmmr2" path="res://Florian/pyro.tscn" id="4_h8052"]
[ext_resource type="PackedScene" uid="uid://byhsp6ujjsh8m" path="res://Florian/Entity/interactable.tscn" id="5_ygtpi"] [ext_resource type="PackedScene" uid="uid://byhsp6ujjsh8m" path="res://Florian/Entity/interactable.tscn" id="5_ygtpi"]
[ext_resource type="Script" uid="uid://ddwcbl3nbt6j4" path="res://Florian/Map/lights.gd" id="6_g561u"]
[ext_resource type="PackedScene" uid="uid://c8gnb0kut2n5h" path="res://Florian/PointsLogic/point_thing.tscn" id="6_miqpv"] [ext_resource type="PackedScene" uid="uid://c8gnb0kut2n5h" path="res://Florian/PointsLogic/point_thing.tscn" id="6_miqpv"]
[ext_resource type="PackedScene" uid="uid://bk4djtjemu7we" path="res://Florian/Entity/People/guitar.tscn" id="6_ptxqs"] [ext_resource type="PackedScene" uid="uid://bk4djtjemu7we" path="res://Florian/Entity/People/guitar.tscn" id="6_ptxqs"]
[ext_resource type="PackedScene" uid="uid://c5552lenumx2j" path="res://Florian/Entity/People/saxophone.tscn" id="7_miqpv"] [ext_resource type="PackedScene" uid="uid://c5552lenumx2j" path="res://Florian/Entity/People/saxophone.tscn" id="7_miqpv"]
[ext_resource type="PackedScene" uid="uid://bybsn53hd1mge" path="res://Florian/Entity/People/guys.tscn" id="9_3box6"] [ext_resource type="PackedScene" uid="uid://bybsn53hd1mge" path="res://Florian/Entity/People/guys.tscn" id="9_3box6"]
[ext_resource type="PackedScene" uid="uid://bw73kprk7ptvn" path="res://Florian/PointsLogic/PictureSpot.tscn" id="10_28ddj"]
[ext_resource type="Script" uid="uid://cu3fdbo1lelob" path="res://Florian/Map/dancing_people.gd" id="10_mbtuy"]
[ext_resource type="PackedScene" uid="uid://k3ij7wrtwpms" path="res://Florian/table_0.tscn" id="10_ubr03"] [ext_resource type="PackedScene" uid="uid://k3ij7wrtwpms" path="res://Florian/table_0.tscn" id="10_ubr03"]
[ext_resource type="PackedScene" uid="uid://oxm6ufgip22u" path="res://Florian/Props/tent.tscn" id="11_4etk5"]
[ext_resource type="Texture2D" uid="uid://cx783frd814e6" path="res://Florian/Decals/power.png" id="11_bsfgy"]
[ext_resource type="PackedScene" uid="uid://lrf6ltd1wwg1" path="res://Florian/Entity/People/waitress_path.tscn" id="12_g561u"] [ext_resource type="PackedScene" uid="uid://lrf6ltd1wwg1" path="res://Florian/Entity/People/waitress_path.tscn" id="12_g561u"]
[ext_resource type="PackedScene" uid="uid://ctcspqlxrw22q" path="res://Florian/PhysicsProps/PhysicsBarrel.tscn" id="13_ijkca"]
[ext_resource type="PackedScene" uid="uid://ow35tpunk744" path="res://Florian/PhysicsProps/physics_beer.tscn" id="18_3uiso"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_g561u"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_g561u"]
albedo_texture = ExtResource("1_tre0f") albedo_texture = ExtResource("1_tre0f")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_eral8"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_eral8"]
albedo_texture = ExtResource("1_6v0xc") albedo_texture = ExtResource("1_6v0xc")
uv1_scale = Vector3(50, 50, 50)
[sub_resource type="PlaneMesh" id="PlaneMesh_82wr0"] [sub_resource type="PlaneMesh" id="PlaneMesh_82wr0"]
material = SubResource("StandardMaterial3D_eral8") material = SubResource("StandardMaterial3D_eral8")
@ -25,6 +31,12 @@ size = Vector2(500, 500)
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_tw6g5"] [sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_tw6g5"]
[sub_resource type="BoxShape3D" id="BoxShape3D_ijkca"]
size = Vector3(33, 7, 29)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4etk5"]
albedo_color = Color(0.51859, 0.210826, 0.0712605, 1)
[sub_resource type="Curve3D" id="Curve3D_4etk5"] [sub_resource type="Curve3D" id="Curve3D_4etk5"]
closed = true closed = true
_data = { _data = {
@ -48,7 +60,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.378755, 0)
shape = SubResource("WorldBoundaryShape3D_tw6g5") shape = SubResource("WorldBoundaryShape3D_tw6g5")
[node name="PlayerRigidbody" parent="." instance=ExtResource("2_82wr0")] [node name="PlayerRigidbody" parent="." instance=ExtResource("2_82wr0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 2) transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -20, 1, -9)
[node name="Stage" type="Node3D" parent="."] [node name="Stage" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -8) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -8)
@ -61,22 +73,33 @@ radius = 4.0
[node name="Pyro" parent="Stage" instance=ExtResource("4_h8052")] [node name="Pyro" parent="Stage" instance=ExtResource("4_h8052")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.6, 0.9, 2.6) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.6, 0.9, 2.6)
visible = false
[node name="Pyro2" parent="Stage" instance=ExtResource("4_h8052")] [node name="Pyro2" parent="Stage" instance=ExtResource("4_h8052")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.4, 0.9, 2.6) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.4, 0.9, 2.6)
visible = false
[node name="Pyro3" parent="Stage" instance=ExtResource("4_h8052")] [node name="Pyro3" parent="Stage" instance=ExtResource("4_h8052")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.6, 0.9, -2.4) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.6, 0.9, -2.4)
visible = false
[node name="Pyro4" parent="Stage" instance=ExtResource("4_h8052")] [node name="Pyro4" parent="Stage" instance=ExtResource("4_h8052")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.4, 0.9, -2.4) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.4, 0.9, -2.4)
visible = false
[node name="Interactable" parent="Stage" instance=ExtResource("5_ygtpi")] [node name="Interactable" parent="Stage" instance=ExtResource("5_ygtpi")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.4, 0.9, 1) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.4, 0.9, 1)
[node name="guitar" parent="Stage" instance=ExtResource("6_ptxqs")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0)
[node name="saxophone" parent="Stage" instance=ExtResource("7_miqpv")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 2, 0)
[node name="Truss" type="Node3D" parent="Stage"] [node name="Truss" type="Node3D" parent="Stage"]
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="Stage/Truss"] [node name="CSGCombiner3D" type="CSGCombiner3D" parent="Stage/Truss"]
use_collision = true
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Stage/Truss/CSGCombiner3D"] [node name="CSGCylinder3D" type="CSGCylinder3D" parent="Stage/Truss/CSGCombiner3D"]
radius = 15.0 radius = 15.0
@ -93,6 +116,8 @@ radius = 15.0
height = 14.0 height = 14.0
[node name="Lights" type="Node3D" parent="Stage/Truss/CSGCombiner3D"] [node name="Lights" type="Node3D" parent="Stage/Truss/CSGCombiner3D"]
visible = false
script = ExtResource("6_g561u")
[node name="SpotLight3D" type="SpotLight3D" parent="Stage/Truss/CSGCombiner3D/Lights"] [node name="SpotLight3D" type="SpotLight3D" parent="Stage/Truss/CSGCombiner3D/Lights"]
transform = Transform3D(1, 0, 0, 0, 0.866025, 0.5, 0, -0.5, 0.866025, 0, 7, 14) transform = Transform3D(1, 0, 0, 0, 0.866025, 0.5, 0, -0.5, 0.866025, 0, 7, 14)
@ -124,14 +149,21 @@ points_worth = 50
points_name = "Stage Lights" points_name = "Stage Lights"
points_multiplier = 1.5 points_multiplier = 1.5
[node name="guitar" parent="Stage/Truss/CSGCombiner3D" instance=ExtResource("6_ptxqs")] [node name="CSGBox3D" type="CSGBox3D" parent="Stage/Truss/CSGCombiner3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0) transform = Transform3D(0.965926, -0.258819, 0, 0.258819, 0.965926, 0, 0, 0, 1, -19.1421, 5.96001, -0.5)
size = Vector3(11, 0.6, 2)
[node name="saxophone" parent="Stage/Truss/CSGCombiner3D" instance=ExtResource("7_miqpv")] [node name="PictureSpot" parent="Stage/Truss" instance=ExtResource("10_28ddj")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 2, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9, 0)
points_multiplier = 2
[node name="CollisionShape3D" type="CollisionShape3D" parent="Stage/Truss/PictureSpot"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, -1)
shape = SubResource("BoxShape3D_ijkca")
[node name="DancingPeople" type="Node3D" parent="Stage"] [node name="DancingPeople" type="Node3D" parent="Stage"]
transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 0, 0, 0) transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, 0, 0, 0)
script = ExtResource("10_mbtuy")
[node name="guys" parent="Stage/DancingPeople" instance=ExtResource("9_3box6")] [node name="guys" parent="Stage/DancingPeople" instance=ExtResource("9_3box6")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0.9, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0.9, 0)
@ -139,14 +171,96 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0.9, 0)
[node name="guys2" parent="Stage/DancingPeople" instance=ExtResource("9_3box6")] [node name="guys2" parent="Stage/DancingPeople" instance=ExtResource("9_3box6")]
transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -4.24264, 0.9, 4.24264) transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -4.24264, 0.9, 4.24264)
[node name="guys3" parent="Stage/DancingPeople" instance=ExtResource("9_3box6")]
transform = Transform3D(-5.96046e-08, 0, 1, 0, 1, 0, -1, 0, -5.96046e-08, 9.53674e-07, 0.9, 6)
[node name="guys4" parent="Stage/DancingPeople" instance=ExtResource("9_3box6")]
transform = Transform3D(-0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, -0.707107, 4.24264, 0.9, 4.24264)
[node name="guys5" parent="Stage/DancingPeople" instance=ExtResource("9_3box6")]
transform = Transform3D(-1, 0, -5.96046e-08, 0, 1, 0, 5.96046e-08, 0, -1, 6, 0.9, 4.76837e-07)
[node name="guys6" parent="Stage/DancingPeople" instance=ExtResource("9_3box6")]
transform = Transform3D(-0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, -0.707107, 4.24264, 0.9, -4.24264)
[node name="guys7" parent="Stage/DancingPeople" instance=ExtResource("9_3box6")]
transform = Transform3D(1.49012e-07, 0, -1, 0, 1, 0, 1, 0, 1.49012e-07, -1.43051e-06, 0.9, -6)
[node name="guys8" parent="Stage/DancingPeople" instance=ExtResource("9_3box6")]
transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, -4.24264, 0.9, -4.24264)
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0) transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0)
shadow_enabled = true shadow_enabled = true
[node name="Backstage" type="Node3D" parent="."] [node name="Backstage" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -23, 0, -2)
[node name="Powerhouse" type="CSGCombiner3D" parent="Backstage"]
use_collision = true
[node name="CSGBox3D" type="CSGBox3D" parent="Backstage/Powerhouse"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1.5, -6)
size = Vector3(1, 4, 12)
[node name="CSGBox3D" type="CSGBox3D" parent="Backstage/Powerhouse/CSGBox3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.5)
operation = 2
size = Vector3(1, 3, 2)
[node name="CSGBox3D2" type="CSGBox3D" parent="Backstage/Powerhouse"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 1.5, -6)
size = Vector3(1, 4, 12)
[node name="CSGBox3D3" type="CSGBox3D" parent="Backstage/Powerhouse"]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -4.5, 1.5, -0.5)
size = Vector3(1, 4, 12)
[node name="CSGBox3D4" type="CSGBox3D" parent="Backstage/Powerhouse"]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -4.5, 1.5, -11.5)
size = Vector3(1, 4, 12)
[node name="CSGBox3D5" type="CSGBox3D" parent="Backstage/Powerhouse"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 4, -6)
size = Vector3(12, 1, 12)
material = SubResource("StandardMaterial3D_4etk5")
[node name="Decal" type="Decal" parent="Backstage/Powerhouse"]
transform = Transform3D(-4.37114e-08, -1, 0, -4.37114e-08, 1.91069e-15, -1, 1, -4.37114e-08, -4.37114e-08, 1, 2, -3)
texture_albedo = ExtResource("11_bsfgy")
[node name="OmniLight3D" type="OmniLight3D" parent="Backstage"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.2, 2.8, -6)
[node name="Interactable" parent="Backstage" instance=ExtResource("5_ygtpi")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 2, -11)
[node name="Tables" type="Node3D" parent="."] [node name="Tables" type="Node3D" parent="."]
[node name="merchant_tent3" parent="Tables" instance=ExtResource("11_4etk5")]
transform = Transform3D(2.07, 0, 0, 0, 2.07, 0, 0, 0, 2.07, 4.965, 0, 1.863)
[node name="OmniLight3D" type="OmniLight3D" parent="Tables/merchant_tent3"]
transform = Transform3D(0.483092, 0, 0, 0, 0.483092, 0, 0, 0, 0.483092, 0.821256, 1.44928, 1.01449)
[node name="merchant_tent4" parent="Tables" instance=ExtResource("11_4etk5")]
transform = Transform3D(2.07, 0, 0, 0, 2.07, 0, 0, 0, 2.07, 4.965, 0, 5.796)
[node name="OmniLight3D" type="OmniLight3D" parent="Tables/merchant_tent4"]
transform = Transform3D(0.483092, 0, 0, 0, 0.483092, 0, 0, 0, 0.483092, 0.821256, 1.44928, 1.01449)
[node name="merchant_tent5" parent="Tables" instance=ExtResource("11_4etk5")]
transform = Transform3D(2.07, 0, 0, 0, 2.07, 0, 0, 0, 2.07, -0.845, 0.1, 1.863)
[node name="OmniLight3D" type="OmniLight3D" parent="Tables/merchant_tent5"]
transform = Transform3D(0.483092, 0, 0, 0, 0.483092, 0, 0, 0, 0.483092, 0.821256, 1.44928, 1.01449)
[node name="merchant_tent6" parent="Tables" instance=ExtResource("11_4etk5")]
transform = Transform3D(2.07, 0, 0, 0, 2.07, 0, 0, 0, 2.07, -0.845, 0.1, 5.796)
[node name="OmniLight3D" type="OmniLight3D" parent="Tables/merchant_tent6"]
transform = Transform3D(0.483092, 0, 0, 0, 0.483092, 0, 0, 0, 0.483092, 0.821256, 1.44928, 1.01449)
[node name="table0" parent="Tables" instance=ExtResource("10_ubr03")] [node name="table0" parent="Tables" instance=ExtResource("10_ubr03")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 3) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 3)
@ -222,17 +336,57 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0,
path = NodePath("..") path = NodePath("..")
[node name="CSGBox3D" type="CSGBox3D" parent="."] [node name="CSGBox3D" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 3, 6) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12, 3, 17)
use_collision = true use_collision = true
size = Vector3(1, 7, 13) size = Vector3(79, 7, 1)
material = SubResource("StandardMaterial3D_tre0f") material = SubResource("StandardMaterial3D_tre0f")
[node name="Decal" type="Decal" parent="CSGBox3D"] [node name="CSGBox3D2" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, -1) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12, 3, -59)
size = Vector3(2, 4, 6) use_collision = true
texture_albedo = ExtResource("1_6v0xc") size = Vector3(79, 7, 1)
material = SubResource("StandardMaterial3D_tre0f")
[node name="CSGBox3D3" type="CSGBox3D" parent="."]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -50, 3, -21)
use_collision = true
size = Vector3(79, 7, 1)
material = SubResource("StandardMaterial3D_tre0f")
[node name="CSGBox3D4" type="CSGBox3D" parent="."]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 26, 3, -21)
use_collision = true
size = Vector3(79, 7, 1)
material = SubResource("StandardMaterial3D_tre0f")
[node name="Physics" type="Node3D" parent="."]
[node name="PhysicsBarrel" parent="Physics" instance=ExtResource("13_ijkca")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -23, 0.751997, -14.7)
[node name="PhysicsBarrel2" parent="Physics" instance=ExtResource("13_ijkca")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 0.751997, -14.7)
[node name="PhysicsBarrel5" parent="Physics" instance=ExtResource("13_ijkca")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -24.5, 0.751997, -14.7)
[node name="PhysicsBarrel3" parent="Physics" instance=ExtResource("13_ijkca")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -23, 2.252, -14.7)
[node name="PhysicsBarrel4" parent="Physics" instance=ExtResource("13_ijkca")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 2.252, -14.7)
[node name="Barrels" type="Node3D" parent="Physics"]
[node name="Beer" type="Node3D" parent="Physics"]
[node name="PhysicsBeer" parent="Physics/Beer" instance=ExtResource("18_3uiso")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
[node name="Node3D2" type="Node3D" parent="."]
[connection signal="interact" from="Stage/Interactable" to="Stage/Pyro" method="_turn_on_off"] [connection signal="interact" from="Stage/Interactable" to="Stage/Pyro" method="_turn_on_off"]
[connection signal="interact" from="Stage/Interactable" to="Stage/Pyro2" method="_turn_on_off"] [connection signal="interact" from="Stage/Interactable" to="Stage/Pyro2" method="_turn_on_off"]
[connection signal="interact" from="Stage/Interactable" to="Stage/Pyro3" method="_turn_on_off"] [connection signal="interact" from="Stage/Interactable" to="Stage/Pyro3" method="_turn_on_off"]
[connection signal="interact" from="Stage/Interactable" to="Stage/Pyro4" method="_turn_on_off"] [connection signal="interact" from="Stage/Interactable" to="Stage/Pyro4" method="_turn_on_off"]
[connection signal="interact" from="Backstage/Interactable" to="Stage/Truss/CSGCombiner3D/Lights" method="_turn_on_off_lights"]

View file

@ -0,0 +1,4 @@
extends Node3D
func _process(delta: float) -> void:
rotate_y(1 * delta)

View file

@ -0,0 +1 @@
uid://cu3fdbo1lelob

7
Florian/Map/lights.gd Normal file
View file

@ -0,0 +1,7 @@
extends Node3D
func _turn_on_off_lights():
if visible:
hide()
else:
show()

View file

@ -0,0 +1 @@
uid://ddwcbl3nbt6j4

View file

@ -0,0 +1,20 @@
[gd_scene load_steps=4 format=3 uid="uid://ctcspqlxrw22q"]
[ext_resource type="PackedScene" uid="uid://djm4egh3lh3nj" path="res://Florian/Props/barrel_2.tscn" id="1_cseio"]
[ext_resource type="PackedScene" uid="uid://c8gnb0kut2n5h" path="res://Florian/PointsLogic/point_thing.tscn" id="2_4hgdl"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_4hgdl"]
height = 1.44609
[node name="PhysicsBarrel" type="RigidBody3D"]
[node name="barrel2" parent="." instance=ExtResource("1_cseio")]
transform = Transform3D(4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0)
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0121093, 0)
shape = SubResource("CylinderShape3D_4hgdl")
[node name="PointThing" parent="." instance=ExtResource("2_4hgdl")]
points_worth = 5
points_name = "Barrel"

View file

@ -0,0 +1,16 @@
[gd_scene load_steps=3 format=3 uid="uid://ow35tpunk744"]
[ext_resource type="PackedScene" uid="uid://d3ynlus2dwtle" path="res://Florian/Entity/People/beer.tscn" id="1_aypp7"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_aypp7"]
height = 1.125
[node name="PhysicsBeer" type="RigidBody3D"]
axis_lock_angular_x = true
axis_lock_angular_z = true
[node name="beer" parent="." instance=ExtResource("1_aypp7")]
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0875, 0)
shape = SubResource("CylinderShape3D_aypp7")

View file

@ -1,7 +1,8 @@
[gd_scene load_steps=6 format=3 uid="uid://crrco762ow56c"] [gd_scene load_steps=7 format=3 uid="uid://crrco762ow56c"]
[ext_resource type="Script" uid="uid://c35h32dniya44" path="res://Florian/Player/playerRigidbody.gd" id="1_7u3v3"] [ext_resource type="Script" uid="uid://c35h32dniya44" path="res://Florian/Player/playerRigidbody.gd" id="1_7u3v3"]
[ext_resource type="PackedScene" uid="uid://4hac7s0wvoye" path="res://Florian/Player/cool_camera.tscn" id="2_leq5j"] [ext_resource type="PackedScene" uid="uid://4hac7s0wvoye" path="res://Florian/Player/cool_camera.tscn" id="2_leq5j"]
[ext_resource type="PackedScene" uid="uid://nkeb217f5ont" path="res://Florian/Player/pickup.tscn" id="3_ir482"]
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_jbuyh"] [sub_resource type="PhysicsMaterial" id="PhysicsMaterial_jbuyh"]
friction = 0.0 friction = 0.0
@ -41,6 +42,9 @@ debug_shape_thickness = 1
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
player = NodePath("../../..") player = NodePath("../../..")
[node name="Pickup" parent="BoundingBox/RotationHelper" instance=ExtResource("3_ir482")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="ThirdPerson" type="Node3D" parent="BoundingBox"] [node name="ThirdPerson" type="Node3D" parent="BoundingBox"]
transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 1.94907, 3) transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 1.94907, 3)
@ -48,6 +52,7 @@ transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926,
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="FloorChecks" type="Node3D" parent="BoundingBox"] [node name="FloorChecks" type="Node3D" parent="BoundingBox"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.1, 0)
[node name="Diagonals" type="Node3D" parent="BoundingBox/FloorChecks"] [node name="Diagonals" type="Node3D" parent="BoundingBox/FloorChecks"]
transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 0, 0, 0) transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 0, 0, 0)

View file

@ -23,7 +23,7 @@ func _calculate_points():
_calculate_picture_spots() _calculate_picture_spots()
label.text = "%s\nTotal points: %d x %.2f = %.2f" % [points_string, total_points, total_points_multipliers, total_points * total_points_multipliers] label.text = "%s\nTotal points: %d x %.2f = %.2f" % [points_string, total_points, total_points_multipliers, total_points * total_points_multipliers]
var acceptable_length = 0.1 var acceptable_length = 1
func _calculate_picture_objects(): func _calculate_picture_objects():
for takeable in PictureTakeablesArray.picture_takables: for takeable in PictureTakeablesArray.picture_takables:
@ -41,8 +41,8 @@ func _calculate_picture_objects():
if raycast.is_colliding(): if raycast.is_colliding():
print("raycast hit") print("raycast hit")
var raycast_hit = raycast.get_collision_point() var raycast_hit = raycast.get_collision_point()
print(str((raycast_hit - self.global_position).length())) print(str((raycast_hit - takeable.global_position).length()))
if (raycast_hit - self.global_position).length() > acceptable_length: if (raycast_hit - takeable.global_position).length() > acceptable_length:
print("Not in range!") print("Not in range!")
raycast.queue_free() raycast.queue_free()
continue continue

51
Florian/Player/pickup.gd Normal file
View file

@ -0,0 +1,51 @@
extends Node3D
@onready var pickup_ray: RayCast3D = $PickupRay
@export var max_heaviness: float = 30.0 # max object mass allowed
@export var hold_distance: float = 3.0 # how far in front of player to hold
@export var hold_strength: float = 8.0 # how strongly we pull the object toward target
@export var damping: float = 20.0 # smoothness of movement
var held_object: RigidBody3D = null
func _physics_process(delta: float) -> void:
# --- Pickup / Drop toggle ---
if Input.is_action_just_pressed("interact"):
print("pickup")
if held_object:
_drop_object()
else:
_try_pickup()
# --- If holding an object, move it toward the target point ---
if held_object:
_move_held_object(delta)
func _try_pickup() -> void:
if pickup_ray.is_colliding():
var obj = pickup_ray.get_collider()
if obj is RigidBody3D and obj.mass <= max_heaviness:
held_object = obj
# disable gravity while held (optional)
held_object.gravity_scale = 0
func _drop_object() -> void:
if held_object:
held_object.gravity_scale = 1
held_object = null
func _move_held_object(delta: float) -> void:
if not held_object: return
var target_pos = pickup_ray.global_transform.origin + pickup_ray.global_transform.basis.z * -hold_distance
var to_target = target_pos - held_object.global_transform.origin
# Smooth velocity-based pulling
held_object.linear_velocity = held_object.linear_velocity.lerp(to_target * hold_strength, damping * delta)
# Optional: dampen angular spin so object is stable
held_object.angular_velocity = held_object.angular_velocity.lerp(Vector3.ZERO, damping * delta)

View file

@ -0,0 +1 @@
uid://cjrrd28as06ws

View file

@ -0,0 +1,10 @@
[gd_scene load_steps=2 format=3 uid="uid://nkeb217f5ont"]
[ext_resource type="Script" uid="uid://cjrrd28as06ws" path="res://Florian/Player/pickup.gd" id="1_iqk3k"]
[node name="Pickup" type="Node3D"]
script = ExtResource("1_iqk3k")
[node name="PickupRay" type="RayCast3D" parent="."]
target_position = Vector3(0, 0, -4)
debug_shape_thickness = 1

View file

@ -14,8 +14,8 @@ var max_air_speed = 1
var air_acceleration = max_speed * 20 var air_acceleration = max_speed * 20
var friction = 16 var friction = 16
var jump_velocity = 6
var jump_velocity = 5
var currentSpeed = 0 var currentSpeed = 0
@ -85,7 +85,7 @@ func _physics_process(delta):
var lR = 0 - Input.get_action_strength("left", 1) + Input.get_action_strength("right", 1) var lR = 0 - Input.get_action_strength("left", 1) + Input.get_action_strength("right", 1)
# Get the input direction and handle the movement/deceleration. # Get the input direction and handle the movement/deceleration.
# As good practice, you should replace UI actions with custom gameplay actions. # As good practice, you should replace UI actions with custom gameplay actions.
var input_dir : Vector3 = Vector3(lR, 0, fB).rotated(Vector3.UP, bounding_box.rotation.y) var input_dir : Vector3 = Vector3(lR, 0, fB).rotated(Vector3.UP, bounding_box.global_rotation.y)
var wishDir = input_dir.normalized() var wishDir = input_dir.normalized()

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long