finsihed oktoberfest for now
This commit is contained in:
parent
ae30f91abb
commit
8ada8dcbda
15 changed files with 1087 additions and 149 deletions
BIN
Florian/Audio/oktoberfestambience.mp3.ogg
Normal file
BIN
Florian/Audio/oktoberfestambience.mp3.ogg
Normal file
Binary file not shown.
|
|
@ -46,12 +46,16 @@ animations = [{
|
|||
"speed": 3.0
|
||||
}]
|
||||
|
||||
[node name="AnimatedSprite3D" type="AnimatedSprite3D"]
|
||||
[node name="Accor" type="AnimatedSprite3D"]
|
||||
pixel_size = 0.05
|
||||
shaded = true
|
||||
alpha_cut = 2
|
||||
texture_filter = 0
|
||||
sprite_frames = SubResource("SpriteFrames_80p6a")
|
||||
autoplay = "default"
|
||||
|
||||
[node name="PointThing" parent="." instance=ExtResource("2_rc5w7")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.7, 0)
|
||||
points_worth = 50
|
||||
points_name = "Accordion"
|
||||
points_multiplier = 1.5
|
||||
|
|
|
|||
|
|
@ -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="PackedScene" uid="uid://bfq21ks4r8gma" path="res://Florian/Entity/People/accor.tscn" id="2_tpf6l"]
|
||||
[ext_resource type="Script" uid="uid://bgolfgrq66diw" path="res://npc_path_follower.gd" id="1_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")
|
||||
|
||||
[node name="Accor" parent="." instance=ExtResource("2_tpf6l")]
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
13
Florian/Map/accor_animation.gd
Normal file
13
Florian/Map/accor_animation.gd
Normal 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")
|
||||
1
Florian/Map/accor_animation.gd.uid
Normal file
1
Florian/Map/accor_animation.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://btok1rqmtms4o
|
||||
87
Florian/PhysicsProps/DrunkFollow.tscn
Normal file
87
Florian/PhysicsProps/DrunkFollow.tscn
Normal 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")
|
||||
35
Florian/PhysicsProps/drunk_follow.gd
Normal file
35
Florian/PhysicsProps/drunk_follow.gd
Normal 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
|
||||
1
Florian/PhysicsProps/drunk_follow.gd.uid
Normal file
1
Florian/PhysicsProps/drunk_follow.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://g0sldpbn2yiu
|
||||
|
|
@ -3,8 +3,8 @@
|
|||
[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 = 0.682813
|
||||
radius = 0.3
|
||||
height = 1.13535
|
||||
radius = 0.7
|
||||
|
||||
[node name="PhysicsBeer" type="RigidBody3D"]
|
||||
axis_lock_angular_x = true
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ func _calculate_picture_objects():
|
|||
|
||||
var points = takeable.points_worth
|
||||
if duplicates.get(takeable.points_name):
|
||||
points = int(points * 0.5)
|
||||
points = int(points * 0.2)
|
||||
points_string += "Duplicate: {name} {points}\n".format(
|
||||
{"name" : takeable.points_name, "points": points}
|
||||
)
|
||||
|
|
|
|||
46
Florian/Props/door.gd
Normal file
46
Florian/Props/door.gd
Normal 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()
|
||||
|
||||
1
Florian/Props/door.gd.uid
Normal file
1
Florian/Props/door.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://cs286n0kwgm4l
|
||||
83
Florian/Props/door.tscn
Normal file
83
Florian/Props/door.tscn
Normal 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
BIN
Florian/Textures/bush.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 390 KiB |
Loading…
Add table
Reference in a new issue