finsihed oktoberfest for now

This commit is contained in:
LaptopmanMann 2025-09-18 16:54:50 +02:00
parent ae30f91abb
commit 8ada8dcbda
15 changed files with 1087 additions and 149 deletions

Binary file not shown.

View file

@ -46,12 +46,16 @@ animations = [{
"speed": 3.0 "speed": 3.0
}] }]
[node name="AnimatedSprite3D" type="AnimatedSprite3D"] [node name="Accor" type="AnimatedSprite3D"]
pixel_size = 0.05
shaded = true shaded = true
alpha_cut = 2 alpha_cut = 2
texture_filter = 0 texture_filter = 0
sprite_frames = SubResource("SpriteFrames_80p6a") sprite_frames = SubResource("SpriteFrames_80p6a")
autoplay = "default"
[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_worth = 50
points_name = "Accordion" points_name = "Accordion"
points_multiplier = 1.5

View file

@ -1,9 +1,9 @@
[gd_scene load_steps=3 format=3 uid="uid://chnnth68vivc0"] [gd_scene load_steps=3 format=3 uid="uid://bb7tbf4brakvg"]
[ext_resource type="Script" path="res://npc_path_follower.gd" id="1_tpf6l"] [ext_resource type="Script" uid="uid://bgolfgrq66diw" path="res://npc_path_follower.gd" id="1_tpf6l"]
[ext_resource type="PackedScene" uid="uid://bfq21ks4r8gma" path="res://Florian/Entity/People/accor.tscn" id="2_tpf6l"] [ext_resource type="PackedScene" uid="uid://c4fw8rjct7vms" path="res://Florian/Entity/People/accor.tscn" id="2_tpf6l"]
[node name="SaxophonePath" type="PathFollow3D"] [node name="AccorPath" type="PathFollow3D"]
script = ExtResource("1_tpf6l") script = ExtResource("1_tpf6l")
[node name="Accor" parent="." instance=ExtResource("2_tpf6l")] [node name="Accor" parent="." instance=ExtResource("2_tpf6l")]

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,13 @@
extends AnimationPlayer
var already_played = false
func _ready():
#_play_animation()
pass
func _play_animation():
if already_played:
return
already_played = true
self.play("accordGoesOnStage")

View file

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

View file

@ -0,0 +1,87 @@
[gd_scene load_steps=12 format=3 uid="uid://v86q0i25q2dj"]
[ext_resource type="Script" uid="uid://g0sldpbn2yiu" path="res://Florian/PhysicsProps/drunk_follow.gd" id="1_m5yqb"]
[ext_resource type="Texture2D" uid="uid://dkt1ynydnm1k5" path="res://Amanda/Sprite assets/guy_drink-2.png" id="2_1cami"]
[ext_resource type="PackedScene" uid="uid://c8gnb0kut2n5h" path="res://Florian/PointsLogic/point_thing.tscn" id="3_1cami"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_fwpe3"]
radius = 4.0
[sub_resource type="AtlasTexture" id="AtlasTexture_63ekj"]
atlas = ExtResource("2_1cami")
region = Rect2(0, 0, 50, 50)
[sub_resource type="AtlasTexture" id="AtlasTexture_1wlxe"]
atlas = ExtResource("2_1cami")
region = Rect2(0, 50, 50, 50)
[sub_resource type="AtlasTexture" id="AtlasTexture_yp4i5"]
atlas = ExtResource("2_1cami")
region = Rect2(50, 0, 50, 50)
[sub_resource type="AtlasTexture" id="AtlasTexture_rsn4b"]
atlas = ExtResource("2_1cami")
region = Rect2(50, 50, 50, 50)
[sub_resource type="AtlasTexture" id="AtlasTexture_sq3k7"]
atlas = ExtResource("2_1cami")
region = Rect2(0, 100, 50, 50)
[sub_resource type="SpriteFrames" id="SpriteFrames_vjsfa"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_63ekj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1wlxe")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_yp4i5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_rsn4b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sq3k7")
}],
"loop": true,
"name": &"default",
"speed": 3.0
}]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_1cami"]
height = 2.4
[node name="DrunkFollow" type="RigidBody3D"]
axis_lock_angular_x = true
axis_lock_angular_z = true
mass = 30.0
script = ExtResource("1_m5yqb")
speed = 1
[node name="SeeArea" type="Area3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="SeeArea"]
shape = SubResource("CylinderShape3D_fwpe3")
[node name="guy_drinking" type="AnimatedSprite3D" parent="."]
modulate = Color(1, 0.972549, 0, 1)
pixel_size = 0.07
billboard = 2
shaded = true
alpha_cut = 2
texture_filter = 0
sprite_frames = SubResource("SpriteFrames_vjsfa")
autoplay = "default"
frame_progress = 0.372896
[node name="PointThing2" parent="guy_drinking" instance=ExtResource("3_1cami")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
points_worth = 100
points_name = "Golden Drunk Guy"
points_multiplier = 3.0
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
shape = SubResource("CylinderShape3D_1cami")

View file

@ -0,0 +1,35 @@
extends RigidBody3D
@export var item_want : RigidBody3D = null
@export var speed : int = 10
@onready var see_area: Area3D = $SeeArea
var following_item : RigidBody3D = null
func _ready() -> void:
see_area.body_entered.connect(check_for_item_want)
see_area.body_exited.connect(check_for_item_want)
assert(item_want)
func _process(delta: float) -> void:
_follow_item_want()
func check_for_item_want(obj):
print("Checking for item")
var bodies = see_area.get_overlapping_bodies()
for body in bodies:
if body == item_want:
following_item = body
return
following_item = null # Reset if no valid item is found
func _follow_item_want():
if not following_item:
return
print("Checking for item")
var wish_dir = (following_item.global_position - self.global_position).normalized()
var velocity = wish_dir * speed
self.linear_velocity = velocity

View file

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

View file

@ -3,8 +3,8 @@
[ext_resource type="PackedScene" uid="uid://d3ynlus2dwtle" path="res://Florian/Entity/People/beer.tscn" id="1_aypp7"] [ext_resource type="PackedScene" uid="uid://d3ynlus2dwtle" path="res://Florian/Entity/People/beer.tscn" id="1_aypp7"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_aypp7"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_aypp7"]
height = 0.682813 height = 1.13535
radius = 0.3 radius = 0.7
[node name="PhysicsBeer" type="RigidBody3D"] [node name="PhysicsBeer" type="RigidBody3D"]
axis_lock_angular_x = true axis_lock_angular_x = true

View file

@ -53,7 +53,7 @@ func _calculate_picture_objects():
var points = takeable.points_worth var points = takeable.points_worth
if duplicates.get(takeable.points_name): if duplicates.get(takeable.points_name):
points = int(points * 0.5) points = int(points * 0.2)
points_string += "Duplicate: {name} {points}\n".format( points_string += "Duplicate: {name} {points}\n".format(
{"name" : takeable.points_name, "points": points} {"name" : takeable.points_name, "points": points}
) )

46
Florian/Props/door.gd Normal file
View file

@ -0,0 +1,46 @@
extends Node3D
@onready var animation_player:AnimationPlayer = $AnimationPlayer
@onready var interactable = $DoorHinge/Interactable
@export var locked : bool = false
signal door_interact
signal door_opened
signal door_closed
signal door_tried_open
@onready var door_hinge = $DoorHinge
func _ready():
door_hinge.top_level = true #Damit das nicht so komisch warped idk wie ich sont fixe
if animation_player:
multiplayer.peer_connected.connect(_on_player_connected)
interactable.interact.connect(try_open_door)
func _on_player_connected(_id):
if not multiplayer.is_server():
animation_player.stop()
animation_player.set_active(false)
var is_open = false
func open_door():
door_interact.emit()
if is_open:
door_opened.emit()
is_open = false
animation_player.play_backwards("door_open")
else:
door_closed.emit()
is_open = true
animation_player.play("door_open")
print("Opening")
func try_open_door():
door_tried_open.emit()
if not locked:
open_door()

View file

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

83
Florian/Props/door.tscn Normal file
View file

@ -0,0 +1,83 @@
[gd_scene load_steps=10 format=3 uid="uid://b85ujwx0p8gvn"]
[ext_resource type="PackedScene" uid="uid://byhsp6ujjsh8m" path="res://Florian/Entity/interactable.tscn" id="1_ba8gm"]
[ext_resource type="Script" uid="uid://cs286n0kwgm4l" path="res://Florian/Props/door.gd" id="1_f758y"]
[sub_resource type="BoxShape3D" id="BoxShape3D_v6xrn"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_emhi6"]
albedo_color = Color(0.64319, 0.418889, 0.248661, 1)
[sub_resource type="BoxMesh" id="BoxMesh_0phs7"]
material = SubResource("StandardMaterial3D_emhi6")
[sub_resource type="Animation" id="Animation_0phs7"]
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("DoorHinge:rotation")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(0, 1.5708, 0)]
}
[sub_resource type="Animation" id="Animation_v6xrn"]
resource_name = "door_open"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("DoorHinge:rotation")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(0, 1.5708, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_50cdl"]
_data = {
&"RESET": SubResource("Animation_0phs7"),
&"door_open": SubResource("Animation_v6xrn")
}
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_yrqr4"]
properties/0/path = NodePath(".:rotation")
properties/0/spawn = true
properties/0/replication_mode = 1
[node name="Door" type="Node3D"]
script = ExtResource("1_f758y")
[node name="DoorHinge" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 2, 0, 0, 0, 0.1, 0, 1, 0)
[node name="Interactable" parent="DoorHinge" instance=ExtResource("1_ba8gm")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0, -0.5)
visible = false
[node name="StaticBody3D" type="StaticBody3D" parent="DoorHinge"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="DoorHinge/StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0, -0.5)
shape = SubResource("BoxShape3D_v6xrn")
[node name="MeshInstance3D" type="MeshInstance3D" parent="DoorHinge/StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0, -0.5)
mesh = SubResource("BoxMesh_0phs7")
skeleton = NodePath("")
[node name="Rotator" type="Node3D" parent="DoorHinge"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_50cdl")
}
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
replication_config = SubResource("SceneReplicationConfig_yrqr4")

BIN
Florian/Textures/bush.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 KiB