replace with multiplayer-coop files

This commit is contained in:
2026-01-08 16:47:52 +01:00
parent 1725c615ce
commit 22c7025ac4
1230 changed files with 20555 additions and 17232 deletions

View File

@@ -0,0 +1,28 @@
[gd_scene format=3 uid="uid://cjv34dxmi1fje"]
[ext_resource type="Script" uid="uid://coukcjucg7e3q" path="res://scripts/blood_clot.gd" id="1_s6bhv"]
[sub_resource type="Gradient" id="Gradient_yyyio"]
offsets = PackedFloat32Array(0)
colors = PackedColorArray(0.983734, 0.952478, 1, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_s6bhv"]
gradient = SubResource("Gradient_yyyio")
width = 3
height = 3
[sub_resource type="RectangleShape2D" id="RectangleShape2D_s6bhv"]
size = Vector2(1, 1)
[node name="BloodClot" type="CharacterBody2D"]
collision_layer = 0
collision_mask = 64
script = ExtResource("1_s6bhv")
[node name="Sprite2D" type="Sprite2D" parent="."]
modulate = Color(0.585938, 0, 0.0793956, 1)
scale = Vector2(0.5, 0.5)
texture = SubResource("GradientTexture2D_s6bhv")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_s6bhv")

View File

@@ -0,0 +1,20 @@
[gd_scene format=3 uid="uid://cbobah2ptwqh7"]
[ext_resource type="FontFile" uid="uid://cbmcfue0ek0tk" path="res://assets/fonts/dmg_numbers.png" id="1_q3q3r"]
[ext_resource type="Script" uid="uid://d0pan7uclj871" path="res://scripts/damage_number.gd" id="2_l584u"]
[sub_resource type="Theme" id="Theme_rmltq"]
default_font = ExtResource("1_q3q3r")
default_font_size = 8
[node name="DamageNumber" type="Label"]
light_mask = 262144
visibility_layer = 262144
z_index = 19
size_flags_horizontal = 6
size_flags_vertical = 6
theme = SubResource("Theme_rmltq")
text = "1"
horizontal_alignment = 1
vertical_alignment = 1
script = ExtResource("2_l584u")

37
src/scenes/door.tscn Normal file
View File

@@ -0,0 +1,37 @@
[gd_scene format=3 uid="uid://02opigrv0qff"]
[ext_resource type="Texture2D" uid="uid://cckiqfs0kwuuh" path="res://assets/gfx/door_barred.png" id="1_hpvv5"]
[ext_resource type="Script" uid="uid://do4062ppepheo" path="res://scripts/door.gd" id="1_uvdjg"]
[ext_resource type="AudioStream" uid="uid://dfolu80c534j4" path="res://assets/audio/sfx/environment/keydoor/unlock.mp3" id="3_la1wf"]
[ext_resource type="AudioStream" uid="uid://2w73l4k3704x" path="res://assets/audio/sfx/environment/pot/pot_drag1.mp3" id="4_18pbm"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_uvdjg"]
size = Vector2(26, 14)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_la1wf"]
size = Vector2(22, 18)
[node name="Door" type="StaticBody2D" unique_id=371155975]
collision_layer = 64
script = ExtResource("1_uvdjg")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1520856168]
texture = ExtResource("1_hpvv5")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1691515105]
shape = SubResource("RectangleShape2D_uvdjg")
[node name="SfxOpenKeyDoor" type="AudioStreamPlayer2D" parent="." unique_id=47303726]
stream = ExtResource("3_la1wf")
[node name="SfxOpenStoneDoor" type="AudioStreamPlayer2D" parent="." unique_id=885417421]
stream = ExtResource("4_18pbm")
[node name="SfxOpenGateDoor" type="AudioStreamPlayer2D" parent="." unique_id=442358170]
stream = ExtResource("4_18pbm")
[node name="KeyInteractionArea" type="Area2D" parent="." unique_id=982067740]
[node name="CollisionShape2D" type="CollisionShape2D" parent="KeyInteractionArea" unique_id=1640987231]
shape = SubResource("RectangleShape2D_la1wf")
debug_color = Color(0.70196074, 0.67558956, 0.17869899, 0.41960785)

31
src/scenes/enemy_bat.tscn Normal file
View File

@@ -0,0 +1,31 @@
[gd_scene format=3 uid="uid://bnv4p7vdmg8n7"]
[ext_resource type="Script" uid="uid://c0wywibyp77c" path="res://scripts/enemy_bat.gd" id="1"]
[ext_resource type="Texture2D" uid="uid://bipt58n2ggxu5" path="res://assets/gfx/enemies/Bat.png" id="2"]
[sub_resource type="CircleShape2D" id="CircleShape2D_bat"]
radius = 6.0
[node name="EnemyBat" type="CharacterBody2D" unique_id=909833829]
collision_layer = 2
script = ExtResource("1")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1235333211]
y_sort_enabled = true
texture = ExtResource("2")
hframes = 3
vframes = 4
frame = 2
[node name="Shadow" type="Sprite2D" parent="." unique_id=646224983]
modulate = Color(0, 0, 0, 0.5)
z_index = -1
y_sort_enabled = true
scale = Vector2(0.8, 0.4)
texture = ExtResource("2")
hframes = 3
vframes = 4
frame = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=897277405]
shape = SubResource("CircleShape2D_bat")

View File

@@ -0,0 +1,160 @@
[gd_scene format=3 uid="uid://dpcgbphkq86lf"]
[ext_resource type="Script" uid="uid://cp3be4swhhwep" path="res://scripts/enemy_humanoid.gd" id="1"]
[ext_resource type="Script" uid="uid://cpxabh3uq1kl4" path="res://scripts/create_shadow_sprite.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://bkninujaqqvb1" path="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human1_1.png" id="3"]
[ext_resource type="Texture2D" uid="uid://bloqx3mibftjn" path="res://assets/gfx/Puny-Characters/WeaponOverlayer.png" id="4"]
[ext_resource type="Texture2D" uid="uid://cwklipebg6eyp" path="res://assets/gfx/enemies/_utropstecken.png" id="5"]
[ext_resource type="Texture2D" uid="uid://c4jkxpv3objot" path="res://assets/gfx/enemies/_questionmark.png" id="6"]
[ext_resource type="AudioStream" uid="uid://dtydo3gymnrcv" path="res://assets/audio/sfx/enemies/goblin/die1.mp3" id="7_fikv0"]
[ext_resource type="AudioStream" uid="uid://c3fqe3i3qbl8x" path="res://assets/audio/sfx/enemies/goblin/die2.mp3" id="8_d7cbf"]
[ext_resource type="AudioStream" uid="uid://dlgavklpnx0rs" path="res://assets/audio/sfx/enemies/goblin/raargh.mp3" id="9_68ox0"]
[ext_resource type="AudioStream" uid="uid://cvh7dfc4hshsb" path="res://assets/audio/sfx/enemies/goblin/raargh2.mp3" id="10_r7ul0"]
[ext_resource type="AudioStream" uid="uid://cbvxokqp1bxar" path="res://assets/audio/sfx/enemies/goblin/raargh3.mp3" id="11_5x2ph"]
[ext_resource type="AudioStream" uid="uid://dscx61fdkejlt" path="res://assets/audio/sfx/enemies/goblin/ive_been_waiting_for_this.mp3" id="12_oynfq"]
[ext_resource type="AudioStream" uid="uid://ban8uv8hifsgc" path="res://assets/audio/sfx/enemies/goblin/stay_back_if_you_wanna_keep_your_head.mp3" id="13_b0veo"]
[sub_resource type="Gradient" id="Gradient_1"]
colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_1"]
gradient = SubResource("Gradient_1")
width = 14
height = 8
fill = 1
fill_from = Vector2(0.51304346, 0.46086955)
fill_to = Vector2(0, 0)
[sub_resource type="CircleShape2D" id="CircleShape2D_1"]
radius = 5.0
[sub_resource type="CircleShape2D" id="CircleShape2D_2"]
radius = 150.0
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_fikv0"]
playback_mode = 1
random_pitch = 1.0059091
streams_count = 2
stream_0/stream = ExtResource("7_fikv0")
stream_1/stream = ExtResource("8_d7cbf")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_37mja"]
playback_mode = 1
random_pitch = 1.0059091
streams_count = 5
stream_0/stream = ExtResource("9_68ox0")
stream_1/stream = ExtResource("10_r7ul0")
stream_2/stream = ExtResource("11_5x2ph")
stream_3/stream = ExtResource("12_oynfq")
stream_4/stream = ExtResource("13_b0veo")
[node name="EnemyHumanoid" type="CharacterBody2D" unique_id=285357386]
collision_layer = 2
collision_mask = 65
motion_mode = 1
script = ExtResource("1")
[node name="Shadow" type="Sprite2D" parent="." unique_id=468462304]
z_index = -1
position = Vector2(0, 7)
texture = SubResource("GradientTexture2D_1")
script = ExtResource("2")
[node name="Sprite2DBody" type="Sprite2D" parent="." unique_id=855871821]
y_sort_enabled = true
texture = ExtResource("3")
hframes = 35
vframes = 8
[node name="Sprite2DBoots" type="Sprite2D" parent="." unique_id=460958943]
y_sort_enabled = true
hframes = 35
vframes = 8
[node name="Sprite2DArmour" type="Sprite2D" parent="." unique_id=6790482]
y_sort_enabled = true
hframes = 35
vframes = 8
[node name="Sprite2DFacialHair" type="Sprite2D" parent="." unique_id=31110906]
y_sort_enabled = true
hframes = 35
vframes = 8
[node name="Sprite2DHair" type="Sprite2D" parent="." unique_id=425592986]
y_sort_enabled = true
hframes = 35
vframes = 8
[node name="Sprite2DEyes" type="Sprite2D" parent="." unique_id=496437887]
y_sort_enabled = true
hframes = 35
vframes = 8
[node name="Sprite2DEyeLashes" type="Sprite2D" parent="." unique_id=1799398723]
y_sort_enabled = true
hframes = 35
vframes = 8
[node name="Sprite2DAddons" type="Sprite2D" parent="." unique_id=1702763725]
y_sort_enabled = true
hframes = 35
vframes = 8
[node name="Sprite2DHeadgear" type="Sprite2D" parent="." unique_id=164186416]
y_sort_enabled = true
hframes = 35
vframes = 8
[node name="Sprite2DWeapon" type="Sprite2D" parent="." unique_id=1718282928]
y_sort_enabled = true
texture = ExtResource("4")
hframes = 35
vframes = 8
[node name="AlertIndicator" type="Sprite2D" parent="." unique_id=1697001148]
visible = false
z_index = 100
position = Vector2(0, -20)
texture = ExtResource("5")
hframes = 3
[node name="QuestionIndicator" type="Sprite2D" parent="." unique_id=144158765]
visible = false
z_index = 100
position = Vector2(0, -20)
texture = ExtResource("6")
hframes = 3
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=189217716]
position = Vector2(0, 4)
shape = SubResource("CircleShape2D_1")
[node name="AttackArea" type="Area2D" parent="." unique_id=1923132385]
collision_layer = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="AttackArea" unique_id=1597070641]
position = Vector2(0, 4)
shape = SubResource("CircleShape2D_1")
[node name="AggroArea" type="Area2D" parent="." unique_id=1234567890]
collision_layer = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="AggroArea" unique_id=1286608618]
shape = SubResource("CircleShape2D_2")
[node name="SfxDie" type="AudioStreamPlayer2D" parent="." unique_id=693933783]
stream = SubResource("AudioStreamRandomizer_fikv0")
max_distance = 930.0
attenuation = 8.282114
max_polyphony = 4
panning_strength = 1.3
bus = &"Sfx"
[node name="SfxAlertFoundPlayer" type="AudioStreamPlayer2D" parent="." unique_id=815591859]
stream = SubResource("AudioStreamRandomizer_37mja")
max_distance = 1146.0
attenuation = 8.57418
max_polyphony = 4
panning_strength = 1.04
bus = &"Sfx"

32
src/scenes/enemy_rat.tscn Normal file
View File

@@ -0,0 +1,32 @@
[gd_scene format=3 uid="uid://ctodgo15rqt5w"]
[ext_resource type="Script" uid="uid://buro2p1le1anc" path="res://scripts/enemy_rat.gd" id="1"]
[ext_resource type="Texture2D" uid="uid://djxvjajxxoh4b" path="res://assets/gfx/enemies/Rat1.png" id="2"]
[sub_resource type="CircleShape2D" id="CircleShape2D_rat"]
radius = 8.0
[node name="EnemyRat" type="CharacterBody2D" unique_id=1515436562]
collision_layer = 2
collision_mask = 65
script = ExtResource("1")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=662505453]
y_sort_enabled = true
texture = ExtResource("2")
hframes = 3
vframes = 4
frame = 2
[node name="Shadow" type="Sprite2D" parent="." unique_id=2123332711]
modulate = Color(0, 0, 0, 0.5)
z_index = -1
y_sort_enabled = true
scale = Vector2(0.8, 0.4)
texture = ExtResource("2")
hframes = 3
vframes = 4
frame = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=290658194]
shape = SubResource("CircleShape2D_rat")

View File

@@ -0,0 +1,28 @@
[gd_scene format=3 uid="uid://vsi6nwdalm8e"]
[ext_resource type="Script" uid="uid://id0s5um3dac1" path="res://scripts/enemy_slime.gd" id="1"]
[ext_resource type="Texture2D" uid="uid://csr5k0etreqbf" path="res://assets/gfx/enemies/Slime.png" id="2"]
[sub_resource type="CircleShape2D" id="CircleShape2D_slime"]
radius = 6.0
[node name="EnemySlime" type="CharacterBody2D" unique_id=1524884071]
collision_layer = 2
collision_mask = 65
script = ExtResource("1")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=2147267064]
y_sort_enabled = true
texture = ExtResource("2")
hframes = 15
[node name="Shadow" type="Sprite2D" parent="." unique_id=1898723381]
modulate = Color(0, 0, 0, 0.5)
z_index = -1
y_sort_enabled = true
scale = Vector2(0.5, 0.25)
texture = ExtResource("2")
hframes = 15
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=521937817]
shape = SubResource("CircleShape2D_slime")

View File

@@ -0,0 +1,10 @@
[gd_scene format=3 uid="uid://dj8y2jqn5t"]
[ext_resource type="Script" uid="uid://f5h1crx3hl28" path="res://scripts/enemy_spawner.gd" id="1"]
[node name="EnemySpawner" type="Node2D" unique_id=108356421]
script = ExtResource("1")
enemy_scenes = null
spawn_on_ready = null
respawn_time = null
max_enemies = null

View File

@@ -0,0 +1,17 @@
[gd_scene format=3 uid="uid://floating_text"]
[ext_resource type="Script" path="res://scripts/floating_text.gd" id="1"]
[node name="FloatingText" type="Node2D"]
script = ExtResource("1")
[node name="Label" type="Label" parent="."]
offset_right = 64.0
offset_bottom = 24.0
theme_override_font_sizes/font_size = 18
text = "+1 coin"
horizontal_alignment = 1
vertical_alignment = 1
outline_size = 2
outline_color = Color(0, 0, 0, 1)

View File

@@ -0,0 +1,77 @@
[gd_scene format=3 uid="uid://c8dvya03mpq4t"]
[ext_resource type="Script" uid="uid://bax7e73v836nx" path="res://scripts/player_manager.gd" id="1"]
[ext_resource type="PackedScene" uid="uid://cxfvw8y7jqn2p" path="res://scenes/player.tscn" id="2"]
[ext_resource type="PackedScene" uid="uid://b7qx8y2jqn3r" path="res://scenes/interactable_object.tscn" id="3"]
[ext_resource type="Script" uid="uid://db58xcyo4cjk" path="res://scripts/game_world.gd" id="4"]
[ext_resource type="Script" uid="uid://wff5063ctp7g" path="res://scripts/debug_overlay.gd" id="5"]
[ext_resource type="TileSet" uid="uid://dqem5tbvooxrg" path="res://assets/gfx/RPG DUNGEON VOL 3.tres" id="9"]
[node name="GameWorld" type="Node2D" unique_id=430665106]
script = ExtResource("4")
[node name="PlayerManager" type="Node" parent="." unique_id=949073050]
script = ExtResource("1")
player_scene = ExtResource("2")
[node name="Camera2D" type="Camera2D" parent="." unique_id=785067123]
zoom = Vector2(3, 3)
[node name="Environment" type="Node2D" parent="." unique_id=1877699223]
[node name="DungeonLayer0" type="TileMapLayer" parent="Environment" unique_id=1234567891]
z_index = -1
tile_set = ExtResource("9")
[node name="TileMapLayerAbove" type="TileMapLayer" parent="Environment" unique_id=1234567892]
modulate = Color(1, 1, 1, 0.77254903)
z_index = 1
tile_set = ExtResource("9")
[node name="Floor" type="Polygon2D" parent="Environment" unique_id=1715441485]
visible = false
color = Color(0.3, 0.3, 0.3, 1)
polygon = PackedVector2Array(-1000, -1000, 1000, -1000, 1000, 1000, -1000, 1000)
metadata/_edit_lock_ = true
[node name="Walls" type="StaticBody2D" parent="Environment" unique_id=336033150]
collision_layer = 4
collision_mask = 3
[node name="WallTop" type="CollisionPolygon2D" parent="Environment/Walls" unique_id=1311846641]
polygon = PackedVector2Array(-1020, -1020, 1020, -1020, 1020, -980, -1020, -980)
[node name="WallBottom" type="CollisionPolygon2D" parent="Environment/Walls" unique_id=902776066]
polygon = PackedVector2Array(-1020, 980, 1020, 980, 1020, 1020, -1020, 1020)
[node name="WallLeft" type="CollisionPolygon2D" parent="Environment/Walls" unique_id=1762713816]
polygon = PackedVector2Array(-1020, -980, -980, -980, -980, 980, -1020, 980)
[node name="WallRight" type="CollisionPolygon2D" parent="Environment/Walls" unique_id=540990153]
polygon = PackedVector2Array(980, -980, 1020, -980, 1020, 980, 980, 980)
[node name="Entities" type="Node2D" parent="." unique_id=1447395523]
y_sort_enabled = true
[node name="Box1" parent="Entities" unique_id=2016646819 instance=ExtResource("3")]
position = Vector2(101, 66)
[node name="Box2" parent="Entities" unique_id=219568153 instance=ExtResource("3")]
position = Vector2(100, 133)
[node name="Box3" parent="Entities" unique_id=1831798906 instance=ExtResource("3")]
position = Vector2(113, 9)
[node name="Box4" parent="Entities" unique_id=140447274 instance=ExtResource("3")]
position = Vector2(198, 58)
[node name="Box5" parent="Entities" unique_id=284709248 instance=ExtResource("3")]
position = Vector2(74, 12)
[node name="DebugOverlay" type="CanvasLayer" parent="." unique_id=1325005956]
script = ExtResource("5")
[node name="CanvasModulate" type="CanvasModulate" parent="." unique_id=948490815]
light_mask = 1048575
visibility_layer = 1048575
color = Color(0.671875, 0.671875, 0.671875, 1)

View File

@@ -0,0 +1,112 @@
[gd_scene format=3 uid="uid://b7qx8y2jqn3r"]
[ext_resource type="Script" uid="uid://dq1uk8djmdt6a" path="res://scripts/interactable_object.gd" id="1"]
[ext_resource type="Script" uid="uid://b51gx0vv01plt" path="res://scripts/create_rect_sprite.gd" id="2"]
[ext_resource type="Script" uid="uid://cpxabh3uq1kl4" path="res://scripts/create_shadow_sprite.gd" id="3"]
[ext_resource type="Texture2D" uid="uid://dvqo05l1wrjmx" path="res://assets/gfx/interactive_objects.png" id="3_nyc8x"]
[ext_resource type="AudioStream" uid="uid://x0hhwyr2e1u7" path="res://assets/audio/sfx/environment/pot/pot_sweep_move_01.mp3" id="4_gpwir"]
[ext_resource type="AudioStream" uid="uid://fl0rfi4in3n4" path="res://assets/audio/sfx/environment/pot/Drunk lad destroys plant pot.mp3" id="4_hemwc"]
[ext_resource type="AudioStream" uid="uid://bxsowyqt7v637" path="res://assets/audio/sfx/environment/pot/pot_place_01.mp3" id="4_s4q4n"]
[ext_resource type="AudioStream" uid="uid://b8x1clggitcoa" path="res://assets/audio/sfx/environment/pot/pot_place_02.mp3" id="5_fodll"]
[ext_resource type="AudioStream" uid="uid://cc6clnct61uk7" path="res://assets/audio/sfx/environment/pot/pot_sweep_move_02.mp3" id="5_nb01e"]
[ext_resource type="AudioStream" uid="uid://dejjc0uqthi1b" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound1.mp3" id="5_nyc8x"]
[ext_resource type="AudioStream" uid="uid://iuxunaogc8xr" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound2.mp3" id="6_bkyka"]
[ext_resource type="AudioStream" uid="uid://bgfvvwyvn128g" path="res://assets/audio/sfx/environment/pot/pot_place_03.mp3" id="6_dcamv"]
[ext_resource type="AudioStream" uid="uid://cdjtqf2gbagra" path="res://assets/audio/sfx/environment/pot/pot_sweep_move_03.mp3" id="6_vfa4w"]
[ext_resource type="AudioStream" uid="uid://67u74sfddmd6" path="res://assets/audio/sfx/environment/pot/pot_place_04.mp3" id="7_ilgh4"]
[ext_resource type="AudioStream" uid="uid://bfqusej0pbxem" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound3.mp3" id="7_sy22g"]
[ext_resource type="AudioStream" uid="uid://cy740ysgtt5n7" path="res://assets/audio/sfx/environment/pot/pot_place_05.mp3" id="8_l2h6q"]
[ext_resource type="AudioStream" uid="uid://dq461vpiih3lc" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound4.mp3" id="8_oso25"]
[ext_resource type="AudioStream" uid="uid://cg1ndvx4t7xtd" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound5.mp3" id="9_r4pxp"]
[ext_resource type="AudioStream" uid="uid://co7i1f4t8qtqp" path="res://assets/audio/sfx/environment/pot/pot_place_06.mp3" id="9_ylwml"]
[ext_resource type="AudioStream" uid="uid://bt5npaenq15h2" path="res://assets/audio/sfx/environment/pot/smaller_pot_crash.mp3" id="10_ygcel"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_nyc8x"]
radius = 4.0
height = 12.0
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_1u1k0"]
playback_mode = 1
streams_count = 7
stream_0/stream = ExtResource("4_hemwc")
stream_1/stream = ExtResource("5_nyc8x")
stream_2/stream = ExtResource("6_bkyka")
stream_3/stream = ExtResource("7_sy22g")
stream_4/stream = ExtResource("8_oso25")
stream_5/stream = ExtResource("9_r4pxp")
stream_6/stream = ExtResource("10_ygcel")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_3jf32"]
playback_mode = 1
streams_count = 6
stream_0/stream = ExtResource("4_s4q4n")
stream_1/stream = ExtResource("5_fodll")
stream_2/stream = ExtResource("6_dcamv")
stream_3/stream = ExtResource("7_ilgh4")
stream_4/stream = ExtResource("8_l2h6q")
stream_5/stream = ExtResource("9_ylwml")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_6o6ha"]
playback_mode = 1
random_pitch = 1.005793
streams_count = 3
stream_0/stream = ExtResource("4_gpwir")
stream_1/stream = ExtResource("5_nb01e")
stream_2/stream = ExtResource("6_vfa4w")
[node name="InteractableObject" type="CharacterBody2D" unique_id=1472163831]
collision_layer = 2
collision_mask = 71
motion_mode = 1
script = ExtResource("1")
[node name="Shadow" type="Sprite2D" parent="." unique_id=686217060]
z_index = -1
y_sort_enabled = true
scale = Vector2(0.25, 0.25)
script = ExtResource("3")
[node name="Sprite2DAbove" type="Sprite2D" parent="." unique_id=2110610080]
modulate = Color(0.7625, 0.725, 0.8, 1)
y_sort_enabled = true
position = Vector2(0, -16)
texture = ExtResource("3_nyc8x")
hframes = 19
vframes = 19
script = ExtResource("2")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1834631023]
modulate = Color(0.7625, 0.725, 0.8, 1)
y_sort_enabled = true
texture = ExtResource("3_nyc8x")
hframes = 19
vframes = 19
frame = 4
script = ExtResource("2")
[node name="PotCollision" type="CollisionShape2D" parent="." unique_id=1724772539]
position = Vector2(0, 2)
rotation = -1.5707964
shape = SubResource("CapsuleShape2D_nyc8x")
[node name="SfxShatter" type="AudioStreamPlayer2D" parent="." unique_id=785438237]
stream = SubResource("AudioStreamRandomizer_1u1k0")
max_distance = 1187.0
attenuation = 9.8491335
panning_strength = 1.46
bus = &"Sfx"
[node name="SfxLand" type="AudioStreamPlayer2D" parent="." unique_id=1532707111]
stream = SubResource("AudioStreamRandomizer_3jf32")
attenuation = 6.964396
panning_strength = 1.25
bus = &"Sfx"
[node name="SfxDrag" type="AudioStreamPlayer2D" parent="." unique_id=1350700388]
stream = SubResource("AudioStreamRandomizer_6o6ha")
volume_db = -9.7
pitch_scale = 0.77
max_distance = 750.0
attenuation = 10.556063
panning_strength = 1.5
bus = &"Sfx"

75
src/scenes/loot.tscn Normal file
View File

@@ -0,0 +1,75 @@
[gd_scene format=3 uid="uid://c1g0ss0n0duaj"]
[ext_resource type="Script" uid="uid://jk7o0itmiwp6" path="res://scripts/loot.gd" id="1"]
[ext_resource type="Script" uid="uid://cpxabh3uq1kl4" path="res://scripts/create_shadow_sprite.gd" id="2"]
[ext_resource type="AudioStream" uid="uid://b60bke4f5uw4v" path="res://assets/audio/sfx/pickups/coin_pickup.mp3" id="3_30m34"]
[ext_resource type="AudioStream" uid="uid://brl8ivwb1l5i7" path="res://assets/audio/sfx/pickups/coin_drop_01.wav.mp3" id="4_rtp8m"]
[ext_resource type="AudioStream" uid="uid://umoxmryvbm01" path="res://assets/audio/sfx/cloth/leather_cloth_01.wav.mp3" id="5_vl55g"]
[ext_resource type="AudioStream" uid="uid://d1qqsganlqnwh" path="res://assets/audio/sfx/pickups/key.mp3" id="6_gyjv8"]
[ext_resource type="AudioStream" uid="uid://b5xbv7s85sy5o" path="res://assets/audio/sfx/pickups/potion.mp3" id="7_eeo7l"]
[sub_resource type="Gradient" id="Gradient_1"]
colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_1"]
gradient = SubResource("Gradient_1")
width = 14
height = 8
fill = 1
fill_from = Vector2(0.51304346, 0.46086955)
fill_to = Vector2(0, 0)
[sub_resource type="CircleShape2D" id="CircleShape2D_2"]
radius = 3.0
[sub_resource type="CircleShape2D" id="CircleShape2D_1"]
radius = 8.0
[node name="Loot" type="CharacterBody2D" unique_id=1373758515]
collision_layer = 0
collision_mask = 64
motion_mode = 1
script = ExtResource("1")
[node name="Shadow" type="Sprite2D" parent="." unique_id=254158592]
z_index = -1
position = Vector2(0, 7)
texture = SubResource("GradientTexture2D_1")
script = ExtResource("2")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1501367665]
y_sort_enabled = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=265450649]
shape = SubResource("CircleShape2D_2")
[node name="PickupArea" type="Area2D" parent="." unique_id=154474645]
collision_layer = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="PickupArea" unique_id=265450650]
shape = SubResource("CircleShape2D_1")
debug_color = Color(0.70196074, 0.6179641, 0.06898428, 0.41960785)
[node name="SfxCoinBounce" type="AudioStreamPlayer2D" parent="." unique_id=1867176790]
stream = ExtResource("3_30m34")
max_distance = 803.0
attenuation = 7.727487
max_polyphony = 6
[node name="SfxCoinCollect" type="AudioStreamPlayer2D" parent="." unique_id=1619201311]
stream = ExtResource("4_rtp8m")
max_distance = 919.0
attenuation = 7.209997
panning_strength = 1.2
[node name="SfxLootCollect" type="AudioStreamPlayer2D" parent="." unique_id=1035409974]
stream = ExtResource("5_vl55g")
max_distance = 951.0
attenuation = 7.2099924
panning_strength = 1.23
[node name="SfxKeyCollect" type="AudioStreamPlayer2D" parent="." unique_id=1502893545]
stream = ExtResource("6_gyjv8")
[node name="SfxPotionCollect" type="AudioStreamPlayer2D" parent="." unique_id=1615824668]
stream = ExtResource("7_eeo7l")

7
src/scenes/main.tscn Normal file
View File

@@ -0,0 +1,7 @@
[gd_scene format=3 uid="uid://mwn0p7r0um6m"]
[ext_resource type="PackedScene" uid="uid://d4fgxay8kqp5u" path="res://scenes/main_menu.tscn" id="1"]
[node name="Main" type="Node2D" unique_id=1048352583]
[node name="GameUI" parent="." unique_id=412195695 instance=ExtResource("1")]

111
src/scenes/main_menu.tscn Normal file
View File

@@ -0,0 +1,111 @@
[gd_scene format=3 uid="uid://d4fgxay8kqp5u"]
[ext_resource type="Script" path="res://scripts/game_ui.gd" id="1"]
[node name="GameUI" type="CanvasLayer"]
script = ExtResource("1")
[node name="Control" type="Control" parent="."]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="MainMenu" type="Panel" parent="Control"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -250.0
offset_top = -250.0
offset_right = 250.0
offset_bottom = 250.0
grow_horizontal = 2
grow_vertical = 2
[node name="VBoxContainer" type="VBoxContainer" parent="Control/MainMenu"]
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 = -180.0
offset_right = 200.0
offset_bottom = 180.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 20
[node name="Title" type="Label" parent="Control/MainMenu/VBoxContainer"]
layout_mode = 2
text = "Multiplayer Coop RPG"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="Spacer1" type="Control" parent="Control/MainMenu/VBoxContainer"]
custom_minimum_size = Vector2(0, 20)
layout_mode = 2
[node name="LocalPlayersContainer" type="HBoxContainer" parent="Control/MainMenu/VBoxContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="Control/MainMenu/VBoxContainer/LocalPlayersContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Local Players:"
vertical_alignment = 1
[node name="SpinBox" type="SpinBox" parent="Control/MainMenu/VBoxContainer/LocalPlayersContainer"]
layout_mode = 2
min_value = 1.0
max_value = 4.0
value = 1.0
[node name="AddressContainer" type="HBoxContainer" parent="Control/MainMenu/VBoxContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="Control/MainMenu/VBoxContainer/AddressContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Server Address:"
vertical_alignment = 1
[node name="AddressInput" type="LineEdit" parent="Control/MainMenu/VBoxContainer/AddressContainer"]
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "127.0.0.1"
expand_to_text_length = true
[node name="Spacer2" type="Control" parent="Control/MainMenu/VBoxContainer"]
custom_minimum_size = Vector2(0, 20)
layout_mode = 2
[node name="HostButton" type="Button" parent="Control/MainMenu/VBoxContainer"]
layout_mode = 2
text = "Host Game"
[node name="JoinButton" type="Button" parent="Control/MainMenu/VBoxContainer"]
layout_mode = 2
text = "Join Game"
[node name="Spacer3" type="Control" parent="Control/MainMenu/VBoxContainer"]
custom_minimum_size = Vector2(0, 20)
layout_mode = 2
size_flags_vertical = 3
[node name="Instructions" type="Label" parent="Control/MainMenu/VBoxContainer"]
layout_mode = 2
text = "Controls:
WASD/Arrows - Move (P1) | Gamepad (P2+)
E/A (Tap) - Lift/Throw
E/A (Hold) - Push/Pull"
horizontal_alignment = 1
autowrap_mode = 2

198
src/scenes/player.tscn Normal file
View File

@@ -0,0 +1,198 @@
[gd_scene format=3 uid="uid://cxfvw8y7jqn2p"]
[ext_resource type="Script" uid="uid://ck72vhkja7nbo" path="res://scripts/player.gd" id="1"]
[ext_resource type="Script" uid="uid://cpxabh3uq1kl4" path="res://scripts/create_shadow_sprite.gd" id="3"]
[ext_resource type="Texture2D" uid="uid://bkninujaqqvb1" path="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human1_1.png" id="4"]
[ext_resource type="Texture2D" uid="uid://dx1fovugabbwc" path="res://assets/gfx/Puny-Characters/Layer 1 - Shoes/IronBoots.png" id="5"]
[ext_resource type="Texture2D" uid="uid://bbqk2lcs772q3" path="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/BronzeArmour.png" id="6"]
[ext_resource type="Texture2D" uid="uid://bkiexfnpcaxwa" path="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Mustache1White.png" id="7"]
[ext_resource type="Texture2D" uid="uid://ccu5cpyo7jpdr" path="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle8White.png" id="8"]
[ext_resource type="Texture2D" uid="uid://0lmhxwt7k3e4" path="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorLightLime.png" id="9"]
[ext_resource type="Texture2D" uid="uid://b4vh2v0x58v2f" path="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash1.png" id="10"]
[ext_resource type="Texture2D" uid="uid://jxo0e2x145rs" path="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars3.png" id="11"]
[ext_resource type="Texture2D" uid="uid://cu5fkio3ajr5i" path="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/French/MusketeerHatPurple.png" id="12"]
[ext_resource type="Texture2D" uid="uid://bloqx3mibftjn" path="res://assets/gfx/Puny-Characters/WeaponOverlayer.png" id="13"]
[ext_resource type="AudioStream" uid="uid://cbio6f0ssxvd6" path="res://assets/audio/sfx/walk/stone/walk_stone_1.wav.mp3" id="13_fulsm"]
[ext_resource type="AudioStream" uid="uid://dq1va2882v23v" path="res://assets/audio/sfx/walk/stone/walk_stone_2.wav.mp3" id="14_4r5pv"]
[ext_resource type="AudioStream" uid="uid://dsuf4oa710gi8" path="res://assets/audio/sfx/walk/stone/walk_stone_3.wav.mp3" id="15_60mlk"]
[ext_resource type="AudioStream" uid="uid://fvhvmxtcq018" path="res://assets/audio/sfx/walk/stone/walk_stone_4.wav.mp3" id="16_i4ail"]
[ext_resource type="AudioStream" uid="uid://cw74evef8fm0t" path="res://assets/audio/sfx/walk/stone/walk_stone_5.wav.mp3" id="17_a38lo"]
[ext_resource type="AudioStream" uid="uid://c43fyqtos11fd" path="res://assets/audio/sfx/walk/stone/walk_stone_6.wav.mp3" id="18_4ni07"]
[ext_resource type="AudioStream" uid="uid://b4ng0o2en2hkm" path="res://assets/audio/sfx/player/fall_out/player_fall_infinitely-02.wav.mp3" id="19_4r5pv"]
[ext_resource type="AudioStream" uid="uid://bi546r2d771yg" path="res://assets/audio/sfx/player/take_damage/player_damaged_01.wav.mp3" id="20_ujl30"]
[ext_resource type="AudioStream" uid="uid://b8trgc0pbomud" path="res://assets/audio/sfx/player/take_damage/player_damaged_02.wav.mp3" id="21_31cv2"]
[ext_resource type="AudioStream" uid="uid://dsnvagvhs152x" path="res://assets/audio/sfx/player/take_damage/player_damaged_03.wav.mp3" id="22_pf23h"]
[ext_resource type="AudioStream" uid="uid://ce51n4tvvflro" path="res://assets/audio/sfx/player/take_damage/player_damaged_04.wav.mp3" id="23_dt7fs"]
[ext_resource type="AudioStream" uid="uid://caclaiagfnr2o" path="res://assets/audio/sfx/player/take_damage/player_damaged_05.wav.mp3" id="24_wqfne"]
[ext_resource type="AudioStream" uid="uid://dighi525ty7sl" path="res://assets/audio/sfx/player/take_damage/player_damaged_06.wav.mp3" id="25_wnwbv"]
[ext_resource type="AudioStream" uid="uid://bdhmel5vyixng" path="res://assets/audio/sfx/player/take_damage/player_damaged_07.wav.mp3" id="26_gl8cc"]
[sub_resource type="Gradient" id="Gradient_jej6c"]
offsets = PackedFloat32Array(0.7710843, 0.77710843)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_f1ej7"]
gradient = SubResource("Gradient_jej6c")
fill = 1
fill_from = Vector2(0.51304346, 0.51304346)
fill_to = Vector2(0.9391304, 0.08260869)
[sub_resource type="Gradient" id="Gradient_3v2ag"]
colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_jej6c"]
gradient = SubResource("Gradient_3v2ag")
width = 14
height = 8
fill = 1
fill_from = Vector2(0.51304346, 0.46086955)
fill_to = Vector2(0, 0)
[sub_resource type="CircleShape2D" id="CircleShape2D_1"]
radius = 5.0
[sub_resource type="CircleShape2D" id="CircleShape2D_2"]
radius = 8.0
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_l71n6"]
playback_mode = 1
random_pitch = 1.0059091
streams_count = 6
stream_0/stream = ExtResource("13_fulsm")
stream_1/stream = ExtResource("14_4r5pv")
stream_2/stream = ExtResource("15_60mlk")
stream_3/stream = ExtResource("16_i4ail")
stream_4/stream = ExtResource("17_a38lo")
stream_5/stream = ExtResource("18_4ni07")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_487ah"]
playback_mode = 1
random_pitch = 1.0059091
streams_count = 7
stream_0/stream = ExtResource("20_ujl30")
stream_1/stream = ExtResource("21_31cv2")
stream_2/stream = ExtResource("22_pf23h")
stream_3/stream = ExtResource("23_dt7fs")
stream_4/stream = ExtResource("24_wqfne")
stream_5/stream = ExtResource("25_wnwbv")
stream_6/stream = ExtResource("26_gl8cc")
[node name="Player" type="CharacterBody2D" unique_id=937429705]
collision_mask = 67
motion_mode = 1
script = ExtResource("1")
[node name="PointLight2D" type="PointLight2D" parent="." unique_id=1250823818]
blend_mode = 2
texture = SubResource("GradientTexture2D_f1ej7")
[node name="Shadow" type="Sprite2D" parent="." unique_id=937683521]
z_index = -1
position = Vector2(0, 7)
texture = SubResource("GradientTexture2D_jej6c")
script = ExtResource("3")
[node name="Sprite2DBody" type="Sprite2D" parent="." unique_id=2113577699]
y_sort_enabled = true
texture = ExtResource("4")
hframes = 35
vframes = 8
[node name="Sprite2DBoots" type="Sprite2D" parent="." unique_id=598174931]
y_sort_enabled = true
texture = ExtResource("5")
hframes = 35
vframes = 8
[node name="Sprite2DArmour" type="Sprite2D" parent="." unique_id=2130297502]
y_sort_enabled = true
texture = ExtResource("6")
hframes = 35
vframes = 8
[node name="Sprite2DFacialHair" type="Sprite2D" parent="." unique_id=1050766722]
y_sort_enabled = true
texture = ExtResource("7")
hframes = 35
vframes = 8
[node name="Sprite2DHair" type="Sprite2D" parent="." unique_id=927492041]
y_sort_enabled = true
texture = ExtResource("8")
hframes = 35
vframes = 8
[node name="Sprite2DEyes" type="Sprite2D" parent="." unique_id=2054421939]
y_sort_enabled = true
texture = ExtResource("9")
hframes = 35
vframes = 8
[node name="Sprite2DEyeLashes" type="Sprite2D" parent="." unique_id=1437938522]
y_sort_enabled = true
texture = ExtResource("10")
hframes = 35
vframes = 8
[node name="Sprite2DAddons" type="Sprite2D" parent="." unique_id=962307958]
y_sort_enabled = true
texture = ExtResource("11")
hframes = 35
vframes = 8
[node name="Sprite2DHeadgear" type="Sprite2D" parent="." unique_id=526463008]
y_sort_enabled = true
texture = ExtResource("12")
hframes = 35
vframes = 8
[node name="Sprite2DWeapon" type="Sprite2D" parent="." unique_id=1889932388]
y_sort_enabled = true
texture = ExtResource("13")
hframes = 35
vframes = 8
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=989315141]
position = Vector2(0, 4)
shape = SubResource("CircleShape2D_1")
[node name="GrabArea" type="Area2D" parent="." unique_id=518653365]
position = Vector2(0, 4)
collision_layer = 0
collision_mask = 3
[node name="CollisionShape2D" type="CollisionShape2D" parent="GrabArea" unique_id=432299400]
shape = SubResource("CircleShape2D_2")
debug_color = Color(0.70196074, 0.6126261, 0.19635464, 0.41960785)
[node name="InteractionIndicator" type="Sprite2D" parent="." unique_id=1661043470]
visible = false
modulate = Color(1, 1, 0, 0.5)
position = Vector2(0, -12)
scale = Vector2(4, 4)
[node name="Label" type="Label" parent="." unique_id=227628720]
offset_left = -10.0
offset_top = -15.0
offset_right = 10.0
offset_bottom = -9.0
horizontal_alignment = 1
[node name="SfxWalk" type="AudioStreamPlayer2D" parent="." unique_id=1693322702]
stream = SubResource("AudioStreamRandomizer_l71n6")
volume_db = -12.0
attenuation = 8.282109
[node name="TimerWalk" type="Timer" parent="SfxWalk" unique_id=590325386]
wait_time = 0.3
one_shot = true
[node name="SfxDie" type="AudioStreamPlayer2D" parent="." unique_id=1173215688]
stream = ExtResource("19_4r5pv")
attenuation = 8.876548
bus = &"Sfx"
[node name="SfxTakeDamage" type="AudioStreamPlayer2D" parent="." unique_id=322150091]
stream = SubResource("AudioStreamRandomizer_487ah")
attenuation = 7.7274756
bus = &"Sfx"

View File

@@ -0,0 +1,14 @@
[gd_scene load_steps=3 format=3 uid="uid://bqvx8y2jqn4s"]
[ext_resource type="Script" path="res://scripts/smoke_puff.gd" id="1_puff"]
[ext_resource type="Texture2D" uid="uid://bknascfv4twmi" path="res://assets/gfx/smoke_puffs.png" id="2_smoke"]
[node name="SmokePuff" type="Node2D"]
script = ExtResource("1_puff")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("2_smoke")
hframes = 4
vframes = 2
frame = 0

View File

@@ -0,0 +1,56 @@
[gd_scene format=3 uid="uid://c4f8lam3n2p1q"]
[ext_resource type="Script" uid="uid://b007hs3cximxp" path="res://scripts/sword_projectile.gd" id="1_projectile"]
[ext_resource type="Texture2D" uid="uid://bwxpic53sluul" path="res://assets/gfx/sword_slash.png" id="2_texture"]
[ext_resource type="AudioStream" uid="uid://4vulahdsj4i2" path="res://assets/audio/sfx/swoosh/throw_01.wav.mp3" id="3_fp4be"]
[ext_resource type="AudioStream" uid="uid://uerx5rib87a6" path="res://assets/audio/sfx/weapons/bone_hit_wall_01.wav.mp3" id="4_eu0kt"]
[ext_resource type="AudioStream" uid="uid://dc7nt8gnjt5u5" path="res://assets/audio/sfx/weapons/melee_attack_12.wav.mp3" id="4_un5tg"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_projectile"]
size = Vector2(10, 12)
[node name="SwordProjectile" type="Node2D" unique_id=357652785]
y_sort_enabled = true
script = ExtResource("1_projectile")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=993464285]
rotation = 4.71239
scale = Vector2(0.75, 0.75)
texture = ExtResource("2_texture")
[node name="Area2D" type="Area2D" parent="." unique_id=556563628]
collision_layer = 4
collision_mask = 3
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=520125159]
position = Vector2(-0.25, 0)
shape = SubResource("RectangleShape2D_projectile")
debug_color = Color(0.70196074, 0, 0.09064378, 0.41960785)
[node name="SfxSwosh" type="AudioStreamPlayer2D" parent="." unique_id=1006342489]
stream = ExtResource("3_fp4be")
pitch_scale = 1.4
max_distance = 983.0
attenuation = 7.999991
panning_strength = 1.1
bus = &"Sfx"
[node name="SfxImpact" type="AudioStreamPlayer2D" parent="." unique_id=1627987809]
stream = ExtResource("4_un5tg")
volume_db = -5.622
pitch_scale = 1.43
max_distance = 983.0
attenuation = 7.999991
max_polyphony = 4
panning_strength = 1.16
bus = &"Sfx"
[node name="SfxImpactWall" type="AudioStreamPlayer2D" parent="." unique_id=77775229]
stream = ExtResource("4_eu0kt")
volume_db = -4.0
pitch_scale = 1.3
max_distance = 951.0
attenuation = 8.282115
max_polyphony = 4
panning_strength = 1.15
bus = &"Sfx"

View File

@@ -0,0 +1,28 @@
[gd_scene format=3 uid="uid://bvxp7yw8q1k2l"]
[ext_resource type="Script" path="res://scripts/sword_slash.gd" id="1_sword"]
[ext_resource type="Texture2D" uid="uid://hib38y541eog" path="res://assets/gfx/items_n_shit.png" id="2_texture"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_slash"]
size = Vector2(120, 60)
[node name="SwordSlash" type="Node2D"]
script = ExtResource("1_sword")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("2_texture")
rotation = 3.14159
scale = Vector2(3, 3)
hframes = 20
vframes = 14
frame = 60
region_enabled = false
[node name="Area2D" type="Area2D" parent="."]
collision_layer = 4
collision_mask = 3
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(60, 0)
shape = SubResource("RectangleShape2D_slash")

View File

@@ -0,0 +1,24 @@
[gd_scene format=3 uid="uid://cpm56ajvbkjar"]
[ext_resource type="Script" uid="uid://nhh6gjryrn8" path="res://scripts/tile_particle.gd" id="1_2gfs2"]
[ext_resource type="Texture2D" uid="uid://dvqo05l1wrjmx" path="res://assets/gfx/interactive_objects.png" id="2_n08ba"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_l644m"]
size = Vector2(15, 15)
[node name="TileParticle" type="CharacterBody2D" unique_id=1521936803]
z_index = 17
z_as_relative = false
y_sort_enabled = true
collision_layer = 0
collision_mask = 0
script = ExtResource("1_2gfs2")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1229085539]
position = Vector2(-0.5, -0.5)
shape = SubResource("RectangleShape2D_l644m")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1708485507]
texture = ExtResource("2_n08ba")
region_enabled = true
region_rect = Rect2(0, 0, 16, 16)

146
src/scenes/torch_wall.tscn Normal file
View File

@@ -0,0 +1,146 @@
[gd_scene format=3 uid="uid://cxk4tjias8r18"]
[ext_resource type="Texture2D" uid="uid://bbvdtm5iqv7a" path="res://assets/gfx/props/wall_torch.png" id="1_wyl82"]
[ext_resource type="AudioStream" uid="uid://y4632vubgvmk" path="res://assets/audio/sfx/environment/torch/torch_burn_02.wav.mp3" id="3_hab2u"]
[ext_resource type="AudioStream" uid="uid://r55n3trjpluy" path="res://assets/audio/sfx/environment/torch/torch_burn_01.wav.mp3" id="3_slct4"]
[sub_resource type="Gradient" id="Gradient_wyl82"]
colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_hab2u"]
gradient = SubResource("Gradient_wyl82")
[sub_resource type="Gradient" id="Gradient_272bh"]
offsets = PackedFloat32Array(0.603819, 0.673031)
colors = PackedColorArray(1, 0.843137, 0.603922, 0.337255, 1, 1, 1, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_5vw27"]
gradient = SubResource("Gradient_272bh")
width = 22
height = 22
fill = 1
fill_from = Vector2(0.512821, 0.461538)
[sub_resource type="Animation" id="Animation_272bh"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("FireGlow:scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1, 1)]
}
[sub_resource type="Animation" id="Animation_7mycd"]
resource_name = "torch"
length = 1.6
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 1, 0, 1, 2, 1, 0, 1, 2, 1, 0, 1, 2, 1]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("FireGlow:scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.199912, 0.401399, 0.601311, 0.794927, 0.994839, 1.19633, 1.39624),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [Vector2(1, 1), Vector2(1.1, 1.1), Vector2(1, 1), Vector2(1.1, 1.1), Vector2(1, 1), Vector2(1.1, 1.1), Vector2(1, 1), Vector2(1.1, 1.1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("TorchLight:scale")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.3, 0.4, 0.7, 0.8, 1.1, 1.2, 1.5),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [Vector2(1, 1), Vector2(1.05, 1.05), Vector2(1.1, 1.1), Vector2(1.05, 1.05), Vector2(1, 1), Vector2(1.05, 1.05), Vector2(1.1, 1.1), Vector2(1.05, 1.05)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_5vw27"]
_data = {
&"RESET": SubResource("Animation_272bh"),
&"torch": SubResource("Animation_7mycd")
}
[sub_resource type="Gradient" id="Gradient_lquwl"]
offsets = PackedFloat32Array(0.743, 0.74418604)
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_lt5sp"]
gradient = SubResource("Gradient_lquwl")
fill = 1
fill_from = Vector2(0.508547, 0.487179)
fill_to = Vector2(0.974359, 0.0470085)
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_1wp5x"]
random_pitch = 1.0175972
streams_count = 2
stream_0/stream = ExtResource("3_hab2u")
stream_1/stream = ExtResource("3_slct4")
[node name="TorchWall" type="Sprite2D" unique_id=677875879]
y_sort_enabled = true
texture = ExtResource("1_wyl82")
hframes = 3
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=643410971]
visible = false
texture = SubResource("GradientTexture2D_hab2u")
[node name="FireGlow" type="Sprite2D" parent="." unique_id=2035776649]
position = Vector2(0, -2)
texture = SubResource("GradientTexture2D_5vw27")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=899365305]
libraries/ = SubResource("AnimationLibrary_5vw27")
autoplay = &"torch"
[node name="TorchLight" type="PointLight2D" parent="." unique_id=484638939]
z_index = 10
position = Vector2(0, -1)
blend_mode = 2
range_layer_max = 2
texture = SubResource("GradientTexture2D_lt5sp")
[node name="SfxTorch" type="AudioStreamPlayer2D" parent="." unique_id=171010221]
stream = SubResource("AudioStreamRandomizer_1wp5x")
volume_db = -13.974
autoplay = true
max_distance = 509.0
attenuation = 16.5642
max_polyphony = 2
panning_strength = 1.89
bus = &"Sfx"