finished game 👍

This commit is contained in:
2026-05-05 10:02:41 +02:00
commit a297c5775c
61 changed files with 13951 additions and 0 deletions
+59
View File
@@ -0,0 +1,59 @@
[gd_scene format=3 uid="uid://cahryip7wkm78"]
[ext_resource type="Script" uid="uid://dwbxgtss31a7h" path="res://src/audience.gd" id="1_b7u11"]
[ext_resource type="Texture2D" uid="uid://c3c8uan5nr1co" path="res://textures/audience_1.png" id="2_2xap8"]
[ext_resource type="Texture2D" uid="uid://pm5v4rb2gm2r" path="res://textures/audience_2.png" id="3_ildya"]
[sub_resource type="Animation" id="Animation_b7u11"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Anchor:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
}
[sub_resource type="Animation" id="Animation_2xap8"]
resource_name = "bounce"
length = 2.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Anchor:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.25, 0.5),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, -20), Vector2(0, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ildya"]
_data = {
&"RESET": SubResource("Animation_b7u11"),
&"bounce": SubResource("Animation_2xap8")
}
[node name="Audience" type="Node2D" unique_id=1893641320]
script = ExtResource("1_b7u11")
[node name="Anchor" type="Node2D" parent="." unique_id=741657461]
[node name="Audience1" type="Sprite2D" parent="Anchor" unique_id=1827484278]
scale = Vector2(0.4, 0.4)
texture = ExtResource("2_2xap8")
[node name="Audience2" type="Sprite2D" parent="Anchor" unique_id=344814557]
scale = Vector2(0.4, 0.4)
texture = ExtResource("3_ildya")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1972811129]
libraries/ = SubResource("AnimationLibrary_ildya")
+105
View File
@@ -0,0 +1,105 @@
[gd_scene format=3 uid="uid://cbsfqukshbpn3"]
[ext_resource type="Script" uid="uid://k468mwx8avg5" path="res://src/bull.gd" id="1_lj6xb"]
[ext_resource type="Texture2D" uid="uid://1pxq2uigiymi" path="res://textures/bull/stick.png" id="2_8ywxu"]
[ext_resource type="PackedScene" uid="uid://suhlxvis8mdv" path="res://objects/limb_joint.tscn" id="3_8i6ne"]
[ext_resource type="Texture2D" uid="uid://cu8o8dmby7x2d" path="res://textures/bull/bull.png" id="3_x3r0w"]
[sub_resource type="Animation" id="Animation_prlga"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Bull:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.2617994]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Bull:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(-18, 0)]
}
[sub_resource type="Animation" id="Animation_jfkb0"]
resource_name = "sway"
length = 2.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Bull:rotation")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.4, 1, 1.4, 2, 2.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 0,
"values": [0.2617994, 0.2617994, -0.34906584, -0.34906584, 0.2617994, 0.2617994]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Bull:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.4, 1, 1.4, 2, 2.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(10, 0), Vector2(10, 0), Vector2(-18, 0), Vector2(-18, 0), Vector2(10, 0), Vector2(10, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ysasw"]
_data = {
&"RESET": SubResource("Animation_prlga"),
&"sway": SubResource("Animation_jfkb0")
}
[node name="Bull" type="CharacterBody2D" unique_id=1103151286]
script = ExtResource("1_lj6xb")
[node name="Stick" type="Node2D" parent="." unique_id=1801664749]
[node name="Sprite2D" type="Sprite2D" parent="Stick" unique_id=765414509]
scale = Vector2(2, 2)
texture = ExtResource("2_8ywxu")
[node name="Bull" type="Node2D" parent="." unique_id=609070031]
position = Vector2(-18, 0)
rotation = 0.2617994
[node name="Sprite2D" type="Sprite2D" parent="Bull" unique_id=491727802]
scale = Vector2(2, 2)
texture = ExtResource("3_x3r0w")
offset = Vector2(6, -80)
[node name="LimbJoint_RightLeg" parent="Bull" unique_id=782151775 instance=ExtResource("3_8i6ne")]
position = Vector2(-2.1757002, -51.811314)
scale = Vector2(2, 2)
[node name="LimbJoint_LeftLeg" parent="Bull" unique_id=23462902 instance=ExtResource("3_8i6ne")]
position = Vector2(-76.175705, -59.811314)
scale = Vector2(2, 2)
[node name="LimbJoint_RightArm" parent="Bull" unique_id=1589432018 instance=ExtResource("3_8i6ne")]
position = Vector2(127.824295, -226.81133)
scale = Vector2(2, 2)
[node name="LimbJoint_LeftArm" parent="Bull" unique_id=1505460773 instance=ExtResource("3_8i6ne")]
position = Vector2(53.824303, -260.8113)
scale = Vector2(2, 2)
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=522845634]
libraries/ = SubResource("AnimationLibrary_ysasw")
speed_scale = 9.69
+21
View File
@@ -0,0 +1,21 @@
[gd_scene format=3 uid="uid://suhlxvis8mdv"]
[ext_resource type="Texture2D" uid="uid://tmv7nge0pitn" path="res://textures/joint_highlighter.png" id="1_4e1y0"]
[ext_resource type="Script" uid="uid://b1jqfxhbkdbjc" path="res://src/limb_joint.gd" id="2_mkqxy"]
[sub_resource type="CircleShape2D" id="CircleShape2D_mkqxy"]
radius = 12.0415945
[node name="LimbJoint" type="Marker2D" unique_id=782151775]
script = ExtResource("2_mkqxy")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1455277054]
z_index = 1
texture = ExtResource("1_4e1y0")
[node name="Area2D" type="Area2D" parent="." unique_id=1388523205]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=529384875]
shape = SubResource("CircleShape2D_mkqxy")
[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"]
+258
View File
@@ -0,0 +1,258 @@
[gd_scene format=3 uid="uid://dnkurgmvsraog"]
[ext_resource type="Texture2D" uid="uid://xrovxihoa6y" path="res://textures/disposable/torso.png" id="1_pprhf"]
[ext_resource type="Texture2D" uid="uid://kj7vfpgm52tu" path="res://textures/disposable/head.png" id="2_junom"]
[ext_resource type="Script" uid="uid://dls3kam5cig67" path="res://src/rider.gd" id="2_ykyjo"]
[ext_resource type="Script" uid="uid://c78x72xskyxw8" path="res://src/grabbable_rb.gd" id="3_g3mg6"]
[ext_resource type="Texture2D" uid="uid://cl1dq8odm8ua8" path="res://textures/disposable/arm1.png" id="4_dwajs"]
[ext_resource type="Texture2D" uid="uid://cbsp2iv0tfre" path="res://textures/disposable/arm2.png" id="5_dt3rm"]
[ext_resource type="Texture2D" uid="uid://b34p8b020h7l5" path="res://textures/disposable/leg1.png" id="6_atfka"]
[ext_resource type="Texture2D" uid="uid://dgcvaqn8j5ach" path="res://textures/disposable/leg2.png" id="7_be4wm"]
[ext_resource type="Texture2D" uid="uid://cg3ymuxihmxj0" path="res://textures/particle_ball.png" id="9_atfka"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_7m3ko"]
radius = 16.0
height = 69.0
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_f46kd"]
radius = 34.0
height = 91.0
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_nmc1l"]
radius = 19.5
height = 96.0
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_atfka"]
radius = 31.0
height = 62.0
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ykyjo"]
radius = 53.0
height = 154.0
[sub_resource type="CircleShape2D" id="CircleShape2D_uxov2"]
radius = 52.23983
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_atfka"]
particle_flag_disable_z = true
direction = Vector3(0, 0, 0)
spread = 180.0
initial_velocity_min = 57.44
initial_velocity_max = 581.0
gravity = Vector3(0, 98, 0)
scale_min = 0.5
scale_max = 2.0
[node name="Rider" type="Node2D" unique_id=1530408668]
script = ExtResource("2_ykyjo")
[node name="Joints" type="Node2D" parent="." unique_id=307528054]
[node name="Body_ArmL1" type="PinJoint2D" parent="Joints" unique_id=1489962566]
position = Vector2(-5, -33)
node_a = NodePath("../../Body")
node_b = NodePath("../../ArmL1")
[node name="Body_ArmR1" type="PinJoint2D" parent="Joints" unique_id=1841028804]
position = Vector2(-5, -33)
node_a = NodePath("../../Body")
node_b = NodePath("../../ArmR1")
[node name="ArmL1_ArmL2" type="PinJoint2D" parent="Joints" unique_id=315784318]
position = Vector2(-5, 12)
node_a = NodePath("../../ArmL1")
node_b = NodePath("../../ArmL2")
[node name="ArmR1_ArmR2" type="PinJoint2D" parent="Joints" unique_id=933491866]
position = Vector2(-5, 12)
node_a = NodePath("../../ArmR1")
node_b = NodePath("../../ArmR2")
[node name="Body_LegL1" type="PinJoint2D" parent="Joints" unique_id=1183756693]
position = Vector2(-23, 56)
node_a = NodePath("../../Body")
node_b = NodePath("../../LegL1")
[node name="Body_LegR1" type="PinJoint2D" parent="Joints" unique_id=282700607]
position = Vector2(25, 54)
node_a = NodePath("../../Body")
node_b = NodePath("../../LegR1")
[node name="LegL1_LegL2" type="PinJoint2D" parent="Joints" unique_id=2088261543]
position = Vector2(-26, 118)
node_a = NodePath("../../LegL1")
node_b = NodePath("../../LegL2")
[node name="LegR1_LegR2" type="PinJoint2D" parent="Joints" unique_id=1140031286]
position = Vector2(22, 119)
node_a = NodePath("../../LegR1")
node_b = NodePath("../../LegR2")
[node name="ArmL1" type="RigidBody2D" parent="." unique_id=54703381]
position = Vector2(-5, -19)
collision_layer = 0
collision_mask = 0
input_pickable = true
gravity_scale = -2.0
[node name="Sprite2D" type="Sprite2D" parent="ArmL1" unique_id=30482702]
scale = Vector2(2, 2)
texture = ExtResource("4_dwajs")
flip_h = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="ArmL1" unique_id=1629411574]
shape = SubResource("CapsuleShape2D_7m3ko")
[node name="ArmL2" type="RigidBody2D" parent="." unique_id=1412036889 node_paths=PackedStringArray("particles", "rider")]
position = Vector2(-6, 48)
collision_mask = 0
input_pickable = true
gravity_scale = -2.0
script = ExtResource("3_g3mg6")
particles = NodePath("../GrabParticles")
rider = NodePath("..")
[node name="Sprite2D" type="Sprite2D" parent="ArmL2" unique_id=1400612921]
scale = Vector2(2, 2)
texture = ExtResource("5_dt3rm")
[node name="CollisionShape2D" type="CollisionShape2D" parent="ArmL2" unique_id=493656644]
position = Vector2(0, 0.5)
shape = SubResource("CapsuleShape2D_f46kd")
[node name="LegL1" type="RigidBody2D" parent="." unique_id=309377611]
position = Vector2(-25.5, 85)
collision_layer = 0
collision_mask = 0
input_pickable = true
gravity_scale = -2.0
[node name="Sprite2D" type="Sprite2D" parent="LegL1" unique_id=1019461552]
scale = Vector2(2, 2)
texture = ExtResource("6_atfka")
[node name="CollisionShape2D" type="CollisionShape2D" parent="LegL1" unique_id=940864507]
shape = SubResource("CapsuleShape2D_nmc1l")
[node name="LegL2" type="RigidBody2D" parent="." unique_id=1389267610 node_paths=PackedStringArray("particles", "rider")]
position = Vector2(-26, 158)
collision_mask = 0
input_pickable = true
gravity_scale = -2.0
script = ExtResource("3_g3mg6")
particles = NodePath("../GrabParticles")
rider = NodePath("..")
[node name="Sprite2D" type="Sprite2D" parent="LegL2" unique_id=726944599]
position = Vector2(19, 0)
scale = Vector2(2, 2)
texture = ExtResource("7_be4wm")
[node name="CollisionShape2D" type="CollisionShape2D" parent="LegL2" unique_id=462059019]
position = Vector2(0, 0.5)
shape = SubResource("CapsuleShape2D_f46kd")
[node name="CollisionShape2D2" type="CollisionShape2D" parent="LegL2" unique_id=2077384668]
position = Vector2(31, 27)
rotation = 1.5707964
shape = SubResource("CapsuleShape2D_atfka")
[node name="Body" type="RigidBody2D" parent="." unique_id=968710059]
collision_layer = 2
collision_mask = 2
input_pickable = true
gravity_scale = -2.0
[node name="BodySprite" type="Sprite2D" parent="Body" unique_id=875329166]
scale = Vector2(2, 2)
texture = ExtResource("1_pprhf")
[node name="HeadSprite" type="Sprite2D" parent="Body" unique_id=2016205781]
position = Vector2(4.6499996, -115)
scale = Vector2(2, 2)
texture = ExtResource("2_junom")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Body" unique_id=1696066280]
shape = SubResource("CapsuleShape2D_ykyjo")
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Body" unique_id=1110202535]
position = Vector2(-4, -115)
shape = SubResource("CircleShape2D_uxov2")
[node name="ArmR1" type="RigidBody2D" parent="." unique_id=1807627002]
position = Vector2(-5, -19)
collision_layer = 0
collision_mask = 0
input_pickable = true
gravity_scale = -2.0
[node name="Sprite2D" type="Sprite2D" parent="ArmR1" unique_id=918786376]
scale = Vector2(2, 2)
texture = ExtResource("4_dwajs")
flip_h = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="ArmR1" unique_id=268562670]
shape = SubResource("CapsuleShape2D_nmc1l")
[node name="ArmR2" type="RigidBody2D" parent="." unique_id=1216721292 node_paths=PackedStringArray("particles", "rider")]
position = Vector2(-6, 48)
collision_mask = 0
input_pickable = true
gravity_scale = -2.0
script = ExtResource("3_g3mg6")
particles = NodePath("../GrabParticles")
rider = NodePath("..")
[node name="Sprite2D" type="Sprite2D" parent="ArmR2" unique_id=2019278228]
scale = Vector2(2, 2)
texture = ExtResource("5_dt3rm")
[node name="CollisionShape2D" type="CollisionShape2D" parent="ArmR2" unique_id=1641640167]
shape = SubResource("CapsuleShape2D_f46kd")
[node name="LegR1" type="RigidBody2D" parent="." unique_id=573639371]
position = Vector2(22.5, 86)
collision_layer = 0
collision_mask = 0
input_pickable = true
gravity_scale = -2.0
[node name="Sprite2D" type="Sprite2D" parent="LegR1" unique_id=1241423109]
scale = Vector2(2, 2)
texture = ExtResource("6_atfka")
[node name="CollisionShape2D" type="CollisionShape2D" parent="LegR1" unique_id=1685317904]
shape = SubResource("CapsuleShape2D_nmc1l")
[node name="LegR2" type="RigidBody2D" parent="." unique_id=2124550904 node_paths=PackedStringArray("particles", "rider")]
position = Vector2(22, 159)
collision_mask = 0
input_pickable = true
gravity_scale = -2.0
script = ExtResource("3_g3mg6")
particles = NodePath("../GrabParticles")
rider = NodePath("..")
[node name="Sprite2D" type="Sprite2D" parent="LegR2" unique_id=1959053105]
position = Vector2(19, 0)
scale = Vector2(2, 2)
texture = ExtResource("7_be4wm")
[node name="CollisionShape2D" type="CollisionShape2D" parent="LegR2" unique_id=373640385]
position = Vector2(0, 0.5)
shape = SubResource("CapsuleShape2D_f46kd")
[node name="CollisionShape2D2" type="CollisionShape2D" parent="LegR2" unique_id=726579927]
position = Vector2(31, 27)
rotation = 1.5707964
shape = SubResource("CapsuleShape2D_atfka")
[node name="GrabParticles" type="GPUParticles2D" parent="." unique_id=838176858]
position = Vector2(-359, 282)
emitting = false
amount = 16
texture = ExtResource("9_atfka")
lifetime = 0.2
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_atfka")